jupyterlab 4.3.0b2__py3-none-any.whl → 4.3.0rc0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- jupyterlab/_version.py +1 -1
- jupyterlab/commands.py +3 -2
- jupyterlab/galata/@jupyterlab/galata-extension/build_log.json +99 -99
- jupyterlab/galata/@jupyterlab/galata-extension/package.json +14 -14
- jupyterlab/galata/@jupyterlab/galata-extension/static/{lib_extension_index_js.193465adc9aa81a6b29f.js → lib_extension_index_js.cc9baf28438ab1b21a09.js} +3 -3
- jupyterlab/galata/@jupyterlab/galata-extension/static/{remoteEntry.662629b60d770c9337fc.js → remoteEntry.bc27a2361ee1b724e6e1.js} +4 -4
- jupyterlab/schemas/@jupyterlab/application-extension/package.json.orig +15 -15
- jupyterlab/schemas/@jupyterlab/apputils-extension/package.json.orig +21 -21
- jupyterlab/schemas/@jupyterlab/cell-toolbar-extension/package.json.orig +6 -6
- jupyterlab/schemas/@jupyterlab/celltags-extension/package.json.orig +6 -6
- jupyterlab/schemas/@jupyterlab/codemirror-extension/package.json.orig +10 -10
- jupyterlab/schemas/@jupyterlab/completer-extension/package.json.orig +9 -9
- jupyterlab/schemas/@jupyterlab/console-extension/package.json.orig +18 -18
- jupyterlab/schemas/@jupyterlab/csvviewer-extension/package.json.orig +12 -12
- jupyterlab/schemas/@jupyterlab/debugger-extension/package.json.orig +18 -18
- jupyterlab/schemas/@jupyterlab/docmanager-extension/package.json.orig +18 -18
- jupyterlab/schemas/@jupyterlab/documentsearch-extension/package.json.orig +8 -8
- jupyterlab/schemas/@jupyterlab/extensionmanager-extension/package.json.orig +7 -7
- jupyterlab/schemas/@jupyterlab/filebrowser-extension/package.json.orig +16 -16
- jupyterlab/schemas/@jupyterlab/fileeditor-extension/package.json.orig +27 -27
- jupyterlab/schemas/@jupyterlab/help-extension/package.json.orig +12 -12
- jupyterlab/schemas/@jupyterlab/htmlviewer-extension/package.json.orig +9 -9
- jupyterlab/schemas/@jupyterlab/hub-extension/package.json.orig +6 -6
- jupyterlab/schemas/@jupyterlab/imageviewer-extension/package.json.orig +6 -6
- jupyterlab/schemas/@jupyterlab/inspector-extension/package.json.orig +10 -10
- jupyterlab/schemas/@jupyterlab/launcher-extension/package.json.orig +10 -10
- jupyterlab/schemas/@jupyterlab/logconsole-extension/package.json.orig +13 -13
- jupyterlab/schemas/@jupyterlab/lsp-extension/package.json.orig +11 -11
- jupyterlab/schemas/@jupyterlab/mainmenu-extension/package.json.orig +16 -16
- jupyterlab/schemas/@jupyterlab/markdownviewer-extension/package.json.orig +9 -9
- jupyterlab/schemas/@jupyterlab/mathjax-extension/package.json.orig +4 -4
- jupyterlab/schemas/@jupyterlab/metadataform-extension/package.json.orig +8 -8
- jupyterlab/schemas/@jupyterlab/notebook-extension/package.json.orig +37 -37
- jupyterlab/schemas/@jupyterlab/running-extension/package.json.orig +16 -16
- jupyterlab/schemas/@jupyterlab/settingeditor-extension/package.json.orig +12 -12
- jupyterlab/schemas/@jupyterlab/shortcuts-extension/package.json.orig +13 -13
- jupyterlab/schemas/@jupyterlab/statusbar-extension/package.json.orig +6 -6
- jupyterlab/schemas/@jupyterlab/terminal-extension/package.json.orig +12 -12
- jupyterlab/schemas/@jupyterlab/toc-extension/package.json.orig +6 -6
- jupyterlab/schemas/@jupyterlab/tooltip-extension/package.json.orig +14 -14
- jupyterlab/schemas/@jupyterlab/translation-extension/package.json.orig +6 -6
- jupyterlab/schemas/@jupyterlab/workspaces-extension/package.json.orig +11 -11
- jupyterlab/semver.py +1 -1
- jupyterlab/staging/package.json +152 -152
- jupyterlab/staging/yarn.lock +1621 -1619
- jupyterlab-4.3.0b2.data/data/share/jupyter/lab/static/1491.fe03d38a5654fc41e050.js → jupyterlab/static/1491.62ed4ab1f893d55a7df5.js +1 -1
- jupyterlab/static/{6571.b8ffc904a345172bd139.js → 1960.110f3774a5b0885a9153.js} +1 -1
- jupyterlab/static/{7229.8c5f16da4bc096632988.js → 1991.84fc123d7cfe8ae2948e.js} +1 -1
- jupyterlab-4.3.0b2.data/data/share/jupyter/lab/static/4606.0fa05b1ff0fff002204b.js → jupyterlab/static/4606.cba21bae1bd61d5466b4.js +1 -1
- jupyterlab/static/6180.321182cc2c5697436b87.js +1 -0
- jupyterlab-4.3.0b2.data/data/share/jupyter/lab/static/700.fd50b4a3b255187e3839.js → jupyterlab/static/700.f3db1bd22341e0bf0b74.js +2 -2
- jupyterlab/static/{1960.f8d8ef8a91360e60f0b9.js → 9579.050e84f74f32fab54da7.js} +1 -1
- jupyterlab-4.3.0b2.data/data/share/jupyter/lab/static/9582.997db702d818b42c0269.js → jupyterlab/static/9582.c10e0d8d04b7da1a22da.js +1 -1
- jupyterlab/static/build_log.json +98 -98
- jupyterlab/static/index.html +1 -1
- jupyterlab/static/jlab_core.05d5a44b1fe95b52889b.js +1 -0
- jupyterlab/static/main.52466de697ed7a6d25f3.js +1 -0
- jupyterlab/static/package.json +152 -152
- jupyterlab/static/third-party-licenses.json +112 -112
- jupyterlab/tests/mock_packages/extension/package.json +3 -3
- jupyterlab/tests/mock_packages/interop/consumer/package.json +3 -3
- jupyterlab/tests/mock_packages/interop/provider/package.json +3 -3
- jupyterlab/tests/mock_packages/interop/token/package.json +2 -2
- jupyterlab/tests/mock_packages/mimeextension/package.json +1 -1
- jupyterlab/themes/@jupyterlab/theme-dark-extension/index.css +1 -1
- jupyterlab/themes/@jupyterlab/theme-dark-high-contrast-extension/index.css +1 -1
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/application-extension/package.json.orig +15 -15
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/package.json.orig +21 -21
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/cell-toolbar-extension/package.json.orig +6 -6
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/celltags-extension/package.json.orig +6 -6
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/codemirror-extension/package.json.orig +10 -10
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/completer-extension/package.json.orig +9 -9
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/console-extension/package.json.orig +18 -18
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/csvviewer-extension/package.json.orig +12 -12
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/debugger-extension/package.json.orig +18 -18
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/docmanager-extension/package.json.orig +18 -18
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/documentsearch-extension/package.json.orig +8 -8
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/extensionmanager-extension/package.json.orig +7 -7
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/package.json.orig +16 -16
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/fileeditor-extension/package.json.orig +27 -27
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/help-extension/package.json.orig +12 -12
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/htmlviewer-extension/package.json.orig +9 -9
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/hub-extension/package.json.orig +6 -6
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/imageviewer-extension/package.json.orig +6 -6
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/inspector-extension/package.json.orig +10 -10
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/launcher-extension/package.json.orig +10 -10
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/logconsole-extension/package.json.orig +13 -13
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/lsp-extension/package.json.orig +11 -11
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/mainmenu-extension/package.json.orig +16 -16
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/markdownviewer-extension/package.json.orig +9 -9
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/mathjax-extension/package.json.orig +4 -4
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/metadataform-extension/package.json.orig +8 -8
- jupyterlab-4.3.0rc0.data/data/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/package.json.orig +91 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/running-extension/package.json.orig +16 -16
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/settingeditor-extension/package.json.orig +12 -12
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/shortcuts-extension/package.json.orig +13 -13
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/statusbar-extension/package.json.orig +6 -6
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/terminal-extension/package.json.orig +12 -12
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/toc-extension/package.json.orig +6 -6
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/tooltip-extension/package.json.orig +14 -14
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/translation-extension/package.json.orig +6 -6
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/workspaces-extension/package.json.orig +11 -11
- jupyterlab/static/1491.fe03d38a5654fc41e050.js → jupyterlab-4.3.0rc0.data/data/share/jupyter/lab/static/1491.62ed4ab1f893d55a7df5.js +1 -1
- jupyterlab-4.3.0b2.data/data/share/jupyter/lab/static/6571.b8ffc904a345172bd139.js → jupyterlab-4.3.0rc0.data/data/share/jupyter/lab/static/1960.110f3774a5b0885a9153.js +1 -1
- jupyterlab-4.3.0b2.data/data/share/jupyter/lab/static/7229.8c5f16da4bc096632988.js → jupyterlab-4.3.0rc0.data/data/share/jupyter/lab/static/1991.84fc123d7cfe8ae2948e.js +1 -1
- jupyterlab/static/4606.0fa05b1ff0fff002204b.js → jupyterlab-4.3.0rc0.data/data/share/jupyter/lab/static/4606.cba21bae1bd61d5466b4.js +1 -1
- jupyterlab-4.3.0rc0.data/data/share/jupyter/lab/static/6180.321182cc2c5697436b87.js +1 -0
- jupyterlab/static/700.fd50b4a3b255187e3839.js → jupyterlab-4.3.0rc0.data/data/share/jupyter/lab/static/700.f3db1bd22341e0bf0b74.js +2 -2
- jupyterlab-4.3.0b2.data/data/share/jupyter/lab/static/1960.f8d8ef8a91360e60f0b9.js → jupyterlab-4.3.0rc0.data/data/share/jupyter/lab/static/9579.050e84f74f32fab54da7.js +1 -1
- jupyterlab/static/9582.997db702d818b42c0269.js → jupyterlab-4.3.0rc0.data/data/share/jupyter/lab/static/9582.c10e0d8d04b7da1a22da.js +1 -1
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/build_log.json +98 -98
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/index.html +1 -1
- jupyterlab-4.3.0rc0.data/data/share/jupyter/lab/static/jlab_core.05d5a44b1fe95b52889b.js +1 -0
- jupyterlab-4.3.0rc0.data/data/share/jupyter/lab/static/main.52466de697ed7a6d25f3.js +1 -0
- jupyterlab-4.3.0rc0.data/data/share/jupyter/lab/static/package.json +357 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/third-party-licenses.json +112 -112
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/themes/@jupyterlab/theme-dark-extension/index.css +1 -1
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/themes/@jupyterlab/theme-dark-high-contrast-extension/index.css +1 -1
- {jupyterlab-4.3.0b2.dist-info → jupyterlab-4.3.0rc0.dist-info}/METADATA +4 -4
- jupyterlab-4.3.0rc0.dist-info/RECORD +886 -0
- jupyterlab/static/6180.d0e1ac49ceca4a0016d9.js +0 -1
- jupyterlab/static/jlab_core.5c90c15beb2385bd95e6.js +0 -1
- jupyterlab/static/main.0ff4c05c2a56ffee9bd0.js +0 -1
- jupyterlab-4.3.0b2.data/data/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/package.json.orig +0 -91
- jupyterlab-4.3.0b2.data/data/share/jupyter/lab/static/6180.d0e1ac49ceca4a0016d9.js +0 -1
- jupyterlab-4.3.0b2.data/data/share/jupyter/lab/static/jlab_core.5c90c15beb2385bd95e6.js +0 -1
- jupyterlab-4.3.0b2.data/data/share/jupyter/lab/static/main.0ff4c05c2a56ffee9bd0.js +0 -1
- jupyterlab-4.3.0b2.data/data/share/jupyter/lab/static/package.json +0 -357
- jupyterlab-4.3.0b2.dist-info/RECORD +0 -886
- /jupyterlab/static/{700.fd50b4a3b255187e3839.js.LICENSE.txt → 700.f3db1bd22341e0bf0b74.js.LICENSE.txt} +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/etc/jupyter/jupyter_notebook_config.d/jupyterlab.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/etc/jupyter/jupyter_server_config.d/jupyterlab.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/applications/jupyterlab.desktop +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/icons/hicolor/scalable/apps/jupyterlab.svg +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/application-extension/commands.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/application-extension/context-menu.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/application-extension/property-inspector.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/application-extension/shell.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/application-extension/top-bar.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/notification.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/palette.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/print.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/sanitizer.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/sessionDialogs.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/themes.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/utilityCommands.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/cell-toolbar-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/celltags-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/codemirror-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/completer-extension/inline-completer.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/completer-extension/manager.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/console-extension/completer.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/console-extension/foreign.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/console-extension/tracker.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/csvviewer-extension/csv.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/csvviewer-extension/tsv.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/debugger-extension/main.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/docmanager-extension/download.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/docmanager-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/documentsearch-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/extensionmanager-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/browser.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/download.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/open-browser-tab.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/open-with.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/widget.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/fileeditor-extension/completer.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/fileeditor-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/help-extension/about.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/help-extension/jupyter-forum.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/help-extension/launch-classic.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/htmlviewer-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/hub-extension/menu.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/imageviewer-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/inspector-extension/consoles.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/inspector-extension/inspector.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/inspector-extension/notebooks.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/launcher-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/logconsole-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/lsp-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/mainmenu-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/markdownviewer-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/mathjax-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/metadataform-extension/metadataforms.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/completer.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/export.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/panel.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/tools.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/tracker.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/running-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/settingeditor-extension/form-ui.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/settingeditor-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/shortcuts-extension/shortcuts.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/statusbar-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/terminal-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/toc-extension/registry.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/tooltip-extension/consoles.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/tooltip-extension/files.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/tooltip-extension/notebooks.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/translation-extension/plugin.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/workspaces-extension/menu.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/schemas/@jupyterlab/workspaces-extension/sidebar.json +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/100.1d14ca44a3cc8849349f.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1017.67e7fc6c0221ce9cbeb7.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1039.3fe94e87219c0ed159d3.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1096.dd4c563e0483cbbeb9c9.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1162.9eab2d3a6a73e2cd3b63.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1189.c1482e88f0e949753db6.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1208.4b9ab7b231d39ebdbc3f.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1219.b5630aa3a46050fddc27.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1268.e75d8a6dd557ac8957ca.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1423.c662e4e18c51217c3fa7.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1436.2c11d9dee0ad6f49e968.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1445.a0e099c27d073217031a.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1449.7026e8748d2a77e15d5b.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1456.396bed90b4c5c24ebca9.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1495.13603dd823bbf5eb08b3.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1510.f5643744900a492cca08.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1548.7dbae8434428103f50b4.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1673.b0ee25168543434bdbca.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1737.a5fc97075f693ec36fe6.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1786.37675c1099a3e0f0e18d.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1832.b1ede2fe899bdec88938.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1834.7445ad0c82371ac40737.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1887.56f83f163a18c61efb16.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1909.7487a09fefbe7f9eabb6.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1909.7487a09fefbe7f9eabb6.js.LICENSE.txt +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1954.f1c519cb1415c7da3e8c.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1962.f2e82dd21240eba50714.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1969.86e3168e52802569d650.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1986.26029e99ef54a5652df8.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/1cb1c39ea642f26a4dfe.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2280.6614699f54522fffbc00.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/232.5419cbec68e3fd0cf431.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/232.5419cbec68e3fd0cf431.js.LICENSE.txt +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2337.50f794e5c2bde01decab.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2353.ab70488f07a7c0a7a3fd.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/246.326a6482593e8a7bcd58.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2467.4227742ac4b60289f222.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/247.84259ab142dd8c151fc2.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2574.7d463f2a193d49883bdc.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2576.b98b7b23adeec4cb6932.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2590.99e505d19b964439aa31.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2624.388e72c15e07152af2e5.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2633.ea053b40991eb5adbc69.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2641.8936f6ed5ba76336c942.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/265.6f9e37c0b72db64203b1.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2658.d1cae1b08b068d864368.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/26683bf201fb258a2237.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2681.a47f40e38ecd31ccd687.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2707.61050e600b0aa9624127.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2729.cafaf0caf2c0c83ac9fe.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2794.05495c139ed000b57598.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2823.0b6015b5e03c08281f41.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2880.8483d51b11998bfe8e4b.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/29.540aeb3a13cb59106872.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2957.bc5eb9549a0b15c44916.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2959.b24c9f67d639376f5ead.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2965.698cf1ac2623483351b2.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/2965.698cf1ac2623483351b2.js.LICENSE.txt +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/30e889b58cbc51adfbb0.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3111.33574d9124842f355bce.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3112.0757b31e24c5334fda73.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/321.0fb994fd384a54491584.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3257.30af681f0c294efb65f7.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3257.30af681f0c294efb65f7.js.LICENSE.txt +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/32792104b5ef69eded90.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3282.81fc10ff22608a9b5e5f.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3282.81fc10ff22608a9b5e5f.js.LICENSE.txt +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3293.45e37a0c8e23d360f5c6.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3303.b5596c0715d2d58332fb.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3330.a6d6a93bb012ea4f3589.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3372.8eeafd96de9a7a205f40.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/339.62fb1e5a084681d24bfa.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3415.a4a8c7afbbc19af6d014.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3450.499466688807e6e40372.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3489.7a81d2fa7123a8f139db.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3538.5ce64a6194b4409fce29.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/355254db9ca10a09a3b5.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3616.a4271ffcf2ac3b4c2338.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/36e0d72d8a7afc696a3e.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3709.e33bc30c83272aa85628.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/373c04fd2418f5c77eea.eot +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3763.a857fdcb9f31499444d0.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3780.c9294dc98ae926717741.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3788.df595483a01971a2b157.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3799.eaa0438bc5c41bad0516.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3824.5e23be1e37fce5b7c6b3.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3832.c6026c483bb46cc8e599.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3974.79f68bca9a02c92dab5e.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3991.ee9a327e63c1f7c8c890.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3bc6ecaae7ecf6f8d7f8.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3de784d07b9fa8f104c1.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/3f6d3488cf65374f6f67.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4001.80ab3ef5300d7ce2d1fe.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4050.dfaf4ace414ab9752223.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4053.4945facc348478fd59f4.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4068.9cc41f46f729f2c4369b.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4076.b4d803d8bf1bd6c97854.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4090.eec44f90a54aa383426c.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4266.155b468271987c81d948.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4296.721da424585874d0789e.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4323.b2bd8a329a81d30ed039.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4353.2fc2fc223680eaebc6cf.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4364.ee19f1b28fb1bebc3895.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4372.645626a2452c190dbb22.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4372.645626a2452c190dbb22.js.LICENSE.txt +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4408.f24dd0edf35e08548967.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4462.a1dfac2be4cef60e89de.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4484.0c7c43754e97c96f0f89.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4486.8d2f41ae787607b7bf31.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4528.77904f4c3e3d458f55e4.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4611.bd2b768223b0cd570834.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4616.04cfbd55593c51921cc7.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4701.ceb0e0f9fc8a3b4aaccd.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4728.b5a1c080d13a8d15602a.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4728.b5a1c080d13a8d15602a.js.LICENSE.txt +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4735.7731d551ca68bcb58e9f.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4797.cc42a6dd4442057422aa.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/481e39042508ae313a60.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4838.8db4c61349bfba200547.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4855.29e8dc6982ba4873487d.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4878.f7557c5c99a54b40c49b.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/492.5f186062d2dcdf79c86c.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4928.6cb408e4def87534970d.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4958.7499f6a88cb80b756a65.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/4981.eed4ddb90566e90e3df4.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5085.a38923f36b551620798a.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5090.404be96d8a6eae1e719a.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5090.404be96d8a6eae1e719a.js.LICENSE.txt +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5211.5b71830476810a6188e4.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5224.8a6bbc774d20be66fdfb.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5244.eefac84704ad30f00af3.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5246.8992e5e0cc14a6b85a27.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5317.f4bba2e3d0f4fdd088f7.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5318.d5df5c275e925c22d780.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5338.38c32bdfb0695f9b501f.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5446.bdc12eba40091c1cc6c4.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5492.44728a640c37a4b4aa0c.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5521.cc7da8760b98f2dd2c18.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5566.c76ea61eb723ee84e2cf.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5606.e03dfa10c124a03f36ba.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5829.4cba6ac46014f4a4136c.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5846.eec92db7873f0c8534d6.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5847.930208c25e45ecf30657.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5862.be1ec453e8db6844c62d.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5877.72ab5a29e95ce21981e4.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5890.ee1e537ee61f811b444d.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5895.cda43bb9605deeb0d817.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5929.d561797f8259994ecdd8.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5942.05cbcd55c5f45ff7db43.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5987.7e967df5417044d337a4.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/5cda41563a095bd70c78.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6060.52dca011e9f2f279fc5e.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6095.6e79e3bad86e054aa8c8.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6145.c422868290460078c013.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6166.2bc9ac8e2156c0701a52.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6170.65d899f43342f1e34bf1.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6275.e99f9312900c481b467d.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6294.b3cb5e16527b9d09b4a2.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6372.25d926454a35e061a88b.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6412.ebdf8da40f1ba8272df9.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6460.d9aaa1e48da295c6035d.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6483.79f1ab5249584f984bf4.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6492.236d5001cdad5cc56624.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6540.51c00e890179a4832552.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6540.51c00e890179a4832552.js.LICENSE.txt +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6733.2d8d3e01d56d79a52e7e.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6733.2d8d3e01d56d79a52e7e.js.LICENSE.txt +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6767.4b82d96c237ca7e31bc6.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6831.1df8fa4cabb5b1c19803.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6843.dabcc3c9658bc6ded6d1.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6874.bb2f7fbc6ce56eecc800.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6896.af1d649e0efae70b7b1a.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6941.465bebbd3d8a024f5f15.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/6993.6175f20787993c74adde.js +0 -0
- /jupyterlab-4.3.0b2.data/data/share/jupyter/lab/static/700.fd50b4a3b255187e3839.js.LICENSE.txt → /jupyterlab-4.3.0rc0.data/data/share/jupyter/lab/static/700.f3db1bd22341e0bf0b74.js.LICENSE.txt +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7114.a44f4e4afe0f4cf18421.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7136.b312751fbb25b73f5e71.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/721921bab0d001ebff02.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7250.b88d0a5e237ff5ff1aad.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7260.b47dcaccbe7991104e8a.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7269.962f078e97afc4f68e79.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/72bc573386dd1d48c5bb.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/731.82a7b980b5b7f4b7a14f.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7318.7cc6b4b0b3151b205ecb.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7403.b747dcf7bd81025f084b.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7445.7c793c8e1720f8ec4f85.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7575.2e3e32236d5667bba43f.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7587.3112240b6b82407b0f16.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7642.b6cd0e20dd6a6b2a008c.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7694.1cbff84dccb512476b7c.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7756.93d0ab41829355a147ab.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7769.d39df7673ee2660a9ac4.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7803.3ecde1ce5c3db8db16d7.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7856.dd9523e57bed80f1f694.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7881.c5a234ce171f347c94e2.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7990.fc875753fcfcc9b4eebc.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/7990.fc875753fcfcc9b4eebc.js.LICENSE.txt +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/79d088064beb3826054f.eot +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8.4322fee36e778f503059.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8103.00fa0c157eb92e5cf3ba.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8217.801fbb0b549a74238760.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8232.76805a0a87d0f6bb62ad.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8258.c8c00e66a0bef38665f4.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8313.64e3db0b24dd1a70aecb.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8326.9dda93079a9e4f1b9be6.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8368.c75a4b32ae45ec88465d.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/84.fe0a55d7756c37585fb4.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8418.42e29778d4b49fb54e8e.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/867.e814bf26fbfc77fc4f16.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/870673df72e70f87c91a.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/874.5f20565dc761ebc32874.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8753.56da17175b663d61f9d3.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8768.77e44e6422514f0a02c7.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8778.3f97d9d872573f0ccd2f.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8779.6eebdb56785e3d38a457.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8816.d7ec52fb31e9c6749593.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8830.d5bb102ed8737ffe38cb.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8896.426656fa4c4a1021375e.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/88b98cad3688915e50da.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/89.933673451ca4a51053cb.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8ea8791754915a898a31.woff2 +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/8ea8dbb1b02e6f730f55.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9023.2ff687d7ff50df3719fc.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9046.99c477ea375dcbb8c7ca.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9085.5a959b5878e7afd8a878.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9085.5a959b5878e7afd8a878.js.LICENSE.txt +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9123.501219cd782693d6539f.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9137.179a3c47465e7fb8f067.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9296.176231372f63ddcb8e6c.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9311.46cc03d7b667d8413fec.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9400.90fd1d2212781c80b587.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9474.01b4e1d1e3376f4a5919.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9517.7056cafdf1da3a136d45.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/961.29c067b15a524e556eed.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/961.29c067b15a524e556eed.js.LICENSE.txt +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9635.8953d15dfdfc8308dfcf.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9652.a8d2e5854bcae4d40041.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9674eb1bd55047179038.svg +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9746.c7e86b432363dfd28caa.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9834b82ad26e2a37583d.woff2 +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9892.6d289e7baed8c64d88e2.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9892.6d289e7baed8c64d88e2.js.LICENSE.txt +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/9908.600b47cfa84ff9cdf6a7.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/a009bea404f7a500ded4.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/a3b9817780214caf01e8.svg +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/af04542b29eaac04550a.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/af6397503fcefbd61397.ttf +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/af96f67d7accf5fd2a4a.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/b418136e3b384baaadec.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/be0a084962d8066884f7.svg +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/bootstrap.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/c49810b53ecc0d87d802.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/c56da8d69f1a0208b8e0.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/cb9e9e693192413cde2b.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/cda59d6efffa685830fd.ttf +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/e4299464e7b012968eed.eot +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/e42a88444448ac3d6054.woff2 +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/e8711bbb871afd8e9dea.ttf +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/f9217f66874b0c01cd8c.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/fc6ddf5df402b263cfb1.woff +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/index.out.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/static/style.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/themes/@jupyterlab/theme-dark-extension/index.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/themes/@jupyterlab/theme-dark-high-contrast-extension/index.js +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/themes/@jupyterlab/theme-light-extension/index.css +0 -0
- {jupyterlab-4.3.0b2.data → jupyterlab-4.3.0rc0.data}/data/share/jupyter/lab/themes/@jupyterlab/theme-light-extension/index.js +0 -0
- {jupyterlab-4.3.0b2.dist-info → jupyterlab-4.3.0rc0.dist-info}/WHEEL +0 -0
- {jupyterlab-4.3.0b2.dist-info → jupyterlab-4.3.0rc0.dist-info}/entry_points.txt +0 -0
- {jupyterlab-4.3.0b2.dist-info → jupyterlab-4.3.0rc0.dist-info}/licenses/LICENSE +0 -0
@@ -1 +1 @@
|
|
1
|
-
"use strict";(self["webpackChunk_jupyterlab_application_top"]=self["webpackChunk_jupyterlab_application_top"]||[]).push([[9582],{99582:(t,e,n)=>{n.r(e);n.d(e,{Bounds:()=>ad,CanvasHandler:()=>Em,CanvasRenderer:()=>Cm,DATE:()=>it,DAY:()=>rt,DAYOFYEAR:()=>ot,Dataflow:()=>Oi,Debug:()=>p.y,Error:()=>p.$D,EventStream:()=>qn,Gradient:()=>Lc,GroupItem:()=>ld,HOURS:()=>at,Handler:()=>em,Info:()=>p.R2,Item:()=>sd,MILLISECONDS:()=>ut,MINUTES:()=>st,MONTH:()=>et,Marks:()=>qp,MultiPulse:()=>pi,None:()=>p.NV,Operator:()=>Tn,Parameters:()=>zn,Pulse:()=>ci,QUARTER:()=>tt,RenderType:()=>Bg,Renderer:()=>im,ResourceLoader:()=>ud,SECONDS:()=>lt,SVGHandler:()=>Fm,SVGRenderer:()=>vg,SVGStringRenderer:()=>Cg,Scenegraph:()=>Wp,TIME_UNITS:()=>ct,Transform:()=>Di,View:()=>aq,WEEK:()=>nt,Warn:()=>p.P$,YEAR:()=>J,accessor:()=>p.sY,accessorFields:()=>p.nS,accessorName:()=>p.N6,array:()=>p.YO,ascending:()=>p.V_,bandwidthNRD:()=>er,bin:()=>nr,bootstrapCI:()=>or,boundClip:()=>Kg,boundContext:()=>Rd,boundItem:()=>Fp,boundMark:()=>Bp,boundStroke:()=>dd,changeset:()=>Sn,clampRange:()=>p.BS,codegenExpression:()=>TD.Se,compare:()=>p.UD,constant:()=>p.dY,cumulativeLogNormal:()=>wr,cumulativeNormal:()=>mr,cumulativeUniform:()=>Ar,dayofyear:()=>yt,debounce:()=>p.sg,defaultLocale:()=>$e,definition:()=>Ni,densityLogNormal:()=>_r,densityNormal:()=>pr,densityUniform:()=>zr,domChild:()=>Kp,domClear:()=>Zp,domCreate:()=>Hp,domFind:()=>Vp,dotbin:()=>ar,error:()=>p.z3,expressionFunction:()=>eL,extend:()=>p.X$,extent:()=>p.Xx,extentIndex:()=>p.n,falsy:()=>p.me,fastmap:()=>p.nG,field:()=>p.ZZ,flush:()=>p.bX,font:()=>Ep,fontFamily:()=>Sp,fontSize:()=>yp,format:()=>an,formatLocale:()=>xe,formats:()=>sn,hasOwnProperty:()=>p.mQ,id:()=>p.id,identity:()=>p.D_,inferType:()=>Ke,inferTypes:()=>Ze,ingest:()=>bn,inherits:()=>p.B,inrange:()=>p.PK,interpolate:()=>Vu,interpolateColors:()=>Gu,interpolateRange:()=>Yu,intersect:()=>Yg,intersectBoxLine:()=>Ud,intersectPath:()=>qd,intersectPoint:()=>Fd,intersectRule:()=>Bd,isArray:()=>p.cy,isBoolean:()=>p.Lm,isDate:()=>p.$P,isFunction:()=>p.Tn,isIterable:()=>p.xZ,isNumber:()=>p.Et,isObject:()=>p.Gv,isRegExp:()=>p.gd,isString:()=>p.Kg,isTuple:()=>gn,key:()=>p.Eb,lerp:()=>p.Cc,lineHeight:()=>vp,loader:()=>fn,locale:()=>Ae,logger:()=>p.vF,lruCache:()=>p.EV,markup:()=>ug,merge:()=>p.h1,mergeConfig:()=>p.io,multiLineOffset:()=>_p,one:()=>p.xH,pad:()=>p.eV,panLinear:()=>p.VC,panLog:()=>p.KH,panPow:()=>p.co,panSymlog:()=>p.zy,parse:()=>zj,parseExpression:()=>TD.YK,parseSelector:()=>fq.P,path:()=>Vs.Ae,pathCurves:()=>qc,pathEqual:()=>Jg,pathParse:()=>Yc,pathRectangle:()=>bf,pathRender:()=>of,pathSymbols:()=>uf,pathTrail:()=>xf,peek:()=>p.se,point:()=>Jp,projection:()=>nM,quantileLogNormal:()=>kr,quantileNormal:()=>gr,quantileUniform:()=>$r,quantiles:()=>Ji,quantizeInterpolator:()=>Wu,quarter:()=>p.$G,quartiles:()=>tr,random:()=>ir,randomInteger:()=>ur,randomKDE:()=>br,randomLCG:()=>lr,randomLogNormal:()=>Mr,randomMixture:()=>Sr,randomNormal:()=>vr,randomUniform:()=>Or,read:()=>un,regressionExp:()=>Pr,regressionLinear:()=>Cr,regressionLoess:()=>Gr,regressionLog:()=>Lr,regressionPoly:()=>Ir,regressionPow:()=>qr,regressionQuad:()=>Fr,renderModule:()=>jg,repeat:()=>p.ux,resetDefaultLocale:()=>Oe,resetSVGClipId:()=>rd,resetSVGDefIds:()=>ey,responseType:()=>ln,runtimeContext:()=>DL,sampleCurve:()=>Kr,sampleLogNormal:()=>xr,sampleNormal:()=>hr,sampleUniform:()=>Er,scale:()=>Tu,sceneEqual:()=>Qg,sceneFromJSON:()=>Yp,scenePickVisit:()=>th,sceneToJSON:()=>jp,sceneVisit:()=>Jd,sceneZOrder:()=>Qd,scheme:()=>nc,serializeXML:()=>cg,setRandom:()=>rr,span:()=>p.Ln,splitAccessPath:()=>p.iv,stringValue:()=>p.r$,textMetrics:()=>fp,timeBin:()=>ce,timeFloor:()=>Nt,timeFormatLocale:()=>Ee,timeInterval:()=>It,timeOffset:()=>jt,timeSequence:()=>Wt,timeUnitSpecifier:()=>pt,timeUnits:()=>dt,toBoolean:()=>p.G4,toDate:()=>p.ay,toNumber:()=>p.Ro,toSet:()=>p.M1,toString:()=>p.dI,transform:()=>Ci,transforms:()=>Ti,truncate:()=>p.xv,truthy:()=>p.vN,tupleid:()=>yn,typeParsers:()=>Xe,utcFloor:()=>Pt,utcInterval:()=>Bt,utcOffset:()=>Yt,utcSequence:()=>Xt,utcdayofyear:()=>kt,utcquarter:()=>p.vu,utcweek:()=>Mt,version:()=>Aj,visitArray:()=>p.rt,week:()=>vt,writeConfig:()=>p.AU,zero:()=>p.v_,zoomLinear:()=>p.lL,zoomLog:()=>p.oV,zoomPow:()=>p.SW,zoomSymlog:()=>p.B2});var i={};n.r(i);n.d(i,{aggregate:()=>xo,bin:()=>wo,collect:()=>Mo,compare:()=>So,countpattern:()=>zo,cross:()=>$o,density:()=>Lo,dotbin:()=>jo,expression:()=>Go,extent:()=>Xo,facet:()=>Vo,field:()=>Ko,filter:()=>Qo,flatten:()=>Jo,fold:()=>ta,formula:()=>ea,generate:()=>na,impute:()=>oa,joinaggregate:()=>ua,kde:()=>ca,key:()=>fa,load:()=>ha,lookup:()=>ga,multiextent:()=>ya,multivalues:()=>ba,params:()=>_a,pivot:()=>wa,prefacet:()=>Ea,project:()=>za,proxy:()=>$a,quantile:()=>Oa,relay:()=>Da,sample:()=>Ta,sequence:()=>Na,sieve:()=>Ca,subflow:()=>Ho,timeunit:()=>La,tupleindex:()=>qa,values:()=>Fa,window:()=>Xa});var r={};n.r(r);n.d(r,{bound:()=>Fy,identifier:()=>Uy,mark:()=>Yy,overlap:()=>Wy,render:()=>tv,viewlayout:()=>Ov});var o={};n.r(o);n.d(o,{axisticks:()=>Cv,datajoin:()=>Lv,encode:()=>Fv,legendentries:()=>Iv,linkpath:()=>Gv,pie:()=>ob,scale:()=>cb,sortitems:()=>kb,stack:()=>Ab});var a={};n.r(a);n.d(a,{contour:()=>TM,geojson:()=>PM,geopath:()=>qM,geopoint:()=>IM,geoshape:()=>BM,graticule:()=>jM,heatmap:()=>YM,isocontour:()=>xM,kde2d:()=>$M,projection:()=>VM});var s={};n.r(s);n.d(s,{force:()=>ZS});var l={};n.r(l);n.d(l,{nest:()=>Bz,pack:()=>Vz,partition:()=>Zz,stratify:()=>Qz,tree:()=>eA,treelinks:()=>nA,treemap:()=>oA});var u={};n.r(u);n.d(u,{label:()=>GA});var c={};n.r(c);n.d(c,{loess:()=>XA,regression:()=>KA});var f={};n.r(f);n.d(f,{voronoi:()=>eD});var d={};n.r(d);n.d(d,{wordcloud:()=>bD});var h={};n.r(h);n.d(h,{crossfilter:()=>RD,resolvefilter:()=>DD});var p=n(26372);var m={},g={},y=34,v=10,b=13;function x(t){return new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+'] || ""'})).join(",")+"}")}function _(t,e){var n=x(t);return function(i,r){return e(n(i),r,t)}}function w(t){var e=Object.create(null),n=[];t.forEach((function(t){for(var i in t){if(!(i in e)){n.push(e[i]=i)}}}));return n}function k(t,e){var n=t+"",i=n.length;return i<e?new Array(e-i+1).join(0)+n:n}function M(t){return t<0?"-"+k(-t,6):t>9999?"+"+k(t,6):k(t,4)}function S(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),i=t.getUTCSeconds(),r=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":M(t.getUTCFullYear(),4)+"-"+k(t.getUTCMonth()+1,2)+"-"+k(t.getUTCDate(),2)+(r?"T"+k(e,2)+":"+k(n,2)+":"+k(i,2)+"."+k(r,3)+"Z":i?"T"+k(e,2)+":"+k(n,2)+":"+k(i,2)+"Z":n||e?"T"+k(e,2)+":"+k(n,2)+"Z":"")}function E(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function i(t,e){var n,i,o=r(t,(function(t,r){if(n)return n(t,r-1);i=t,n=e?_(t,e):x(t)}));o.columns=i||[];return o}function r(t,e){var i=[],r=t.length,o=0,a=0,s,l=r<=0,u=false;if(t.charCodeAt(r-1)===v)--r;if(t.charCodeAt(r-1)===b)--r;function c(){if(l)return g;if(u)return u=false,m;var e,i=o,a;if(t.charCodeAt(i)===y){while(o++<r&&t.charCodeAt(o)!==y||t.charCodeAt(++o)===y);if((e=o)>=r)l=true;else if((a=t.charCodeAt(o++))===v)u=true;else if(a===b){u=true;if(t.charCodeAt(o)===v)++o}return t.slice(i+1,e-1).replace(/""/g,'"')}while(o<r){if((a=t.charCodeAt(e=o++))===v)u=true;else if(a===b){u=true;if(t.charCodeAt(o)===v)++o}else if(a!==n)continue;return t.slice(i,e)}return l=true,t.slice(i,r)}while((s=c())!==g){var f=[];while(s!==m&&s!==g)f.push(s),s=c();if(e&&(f=e(f,a++))==null)continue;i.push(f)}return i}function o(e,n){return e.map((function(e){return n.map((function(t){return c(e[t])})).join(t)}))}function a(e,n){if(n==null)n=w(e);return[n.map(c).join(t)].concat(o(e,n)).join("\n")}function s(t,e){if(e==null)e=w(t);return o(t,e).join("\n")}function l(t){return t.map(u).join("\n")}function u(e){return e.map(c).join(t)}function c(t){return t==null?"":t instanceof Date?S(t):e.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}return{parse:i,parseRows:r,format:a,formatBody:s,formatRows:l,formatRow:u,formatValue:c}}function z(t,e){var n,i=t.length,r=i-e;while(r<--i)n=t[r],t[r++]=t[i],t[i]=n}function A(t){return t}function $(t){if(t==null)return A;var e,n,i=t.scale[0],r=t.scale[1],o=t.translate[0],a=t.translate[1];return function(t,s){if(!s)e=n=0;var l=2,u=t.length,c=new Array(u);c[0]=(e+=t[0])*i+o;c[1]=(n+=t[1])*r+a;while(l<u)c[l]=t[l],++l;return c}}function O(t,e){if(typeof e==="string")e=t.objects[e];return e.type==="GeometryCollection"?{type:"FeatureCollection",features:e.geometries.map((function(e){return R(t,e)}))}:R(t,e)}function R(t,e){var n=e.id,i=e.bbox,r=e.properties==null?{}:e.properties,o=D(t,e);return n==null&&i==null?{type:"Feature",properties:r,geometry:o}:i==null?{type:"Feature",id:n,properties:r,geometry:o}:{type:"Feature",id:n,bbox:i,properties:r,geometry:o}}function D(t,e){var n=$(t.transform),i=t.arcs;function r(t,e){if(e.length)e.pop();for(var r=i[t<0?~t:t],o=0,a=r.length;o<a;++o){e.push(n(r[o],o))}if(t<0)z(e,a)}function o(t){return n(t)}function a(t){var e=[];for(var n=0,i=t.length;n<i;++n)r(t[n],e);if(e.length<2)e.push(e[0]);return e}function s(t){var e=a(t);while(e.length<4)e.push(e[0]);return e}function l(t){return t.map(s)}function u(t){var e=t.type,n;switch(e){case"GeometryCollection":return{type:e,geometries:t.geometries.map(u)};case"Point":n=o(t.coordinates);break;case"MultiPoint":n=t.coordinates.map(o);break;case"LineString":n=a(t.arcs);break;case"MultiLineString":n=t.arcs.map(a);break;case"Polygon":n=l(t.arcs);break;case"MultiPolygon":n=t.arcs.map(l);break;default:return null}return{type:e,coordinates:n}}return u(e)}function T(t,e){var n={},i={},r={},o=[],a=-1;e.forEach((function(n,i){var r=t.arcs[n<0?~n:n],o;if(r.length<3&&!r[1][0]&&!r[1][1]){o=e[++a],e[a]=n,e[i]=o}}));e.forEach((function(t){var e=s(t),n=e[0],o=e[1],a,l;if(a=r[n]){delete r[a.end];a.push(t);a.end=o;if(l=i[o]){delete i[l.start];var u=l===a?a:a.concat(l);i[u.start=a.start]=r[u.end=l.end]=u}else{i[a.start]=r[a.end]=a}}else if(a=i[o]){delete i[a.start];a.unshift(t);a.start=n;if(l=r[n]){delete r[l.end];var c=l===a?a:l.concat(a);i[c.start=l.start]=r[c.end=a.end]=c}else{i[a.start]=r[a.end]=a}}else{a=[t];i[a.start=n]=r[a.end=o]=a}}));function s(e){var n=t.arcs[e<0?~e:e],i=n[0],r;if(t.transform)r=[0,0],n.forEach((function(t){r[0]+=t[0],r[1]+=t[1]}));else r=n[n.length-1];return e<0?[r,i]:[i,r]}function l(t,e){for(var i in t){var r=t[i];delete e[r.start];delete r.start;delete r.end;r.forEach((function(t){n[t<0?~t:t]=1}));o.push(r)}}l(r,i);l(i,r);e.forEach((function(t){if(!n[t<0?~t:t])o.push([t])}));return o}function N(t){return D(t,C.apply(this,arguments))}function C(t,e,n){var i,r,o;if(arguments.length>1)i=L(t,e,n);else for(r=0,i=new Array(o=t.arcs.length);r<o;++r)i[r]=r;return{type:"MultiLineString",arcs:T(t,i)}}function L(t,e,n){var i=[],r=[],o;function a(t){var e=t<0?~t:t;(r[e]||(r[e]=[])).push({i:t,g:o})}function s(t){t.forEach(a)}function l(t){t.forEach(s)}function u(t){t.forEach(l)}function c(t){switch(o=t,t.type){case"GeometryCollection":t.geometries.forEach(c);break;case"LineString":s(t.arcs);break;case"MultiLineString":case"Polygon":l(t.arcs);break;case"MultiPolygon":u(t.arcs);break}}c(e);r.forEach(n==null?function(t){i.push(t[0].i)}:function(t){if(n(t[0].g,t[t.length-1].g))i.push(t[0].i)});return i}var P=n(97119);var q=n(71688);var F=n(86093);var I=n(78209);var B=n(93391);var U=n(24626);var j=n(25216);var Y=n(20293);var G=n(61779);var W=n(42706);var X=n(77849);var H=n(9017);var V=n(23383);var K=n(61147);var Z=n(26530);var Q=n(9791);const J="year";const tt="quarter";const et="month";const nt="week";const it="date";const rt="day";const ot="dayofyear";const at="hours";const st="minutes";const lt="seconds";const ut="milliseconds";const ct=[J,tt,et,nt,it,rt,ot,at,st,lt,ut];const ft=ct.reduce(((t,e,n)=>(t[e]=1+n,t)),{});function dt(t){const e=(0,p.YO)(t).slice(),n={};if(!e.length)(0,p.z3)("Missing time unit.");e.forEach((t=>{if((0,p.mQ)(ft,t)){n[t]=1}else{(0,p.z3)(`Invalid time unit: ${t}.`)}}));const i=(n[nt]||n[rt]?1:0)+(n[tt]||n[et]||n[it]?1:0)+(n[ot]?1:0);if(i>1){(0,p.z3)(`Incompatible time units: ${t}`)}e.sort(((t,e)=>ft[t]-ft[e]));return e}const ht={[J]:"%Y ",[tt]:"Q%q ",[et]:"%b ",[it]:"%d ",[nt]:"W%U ",[rt]:"%a ",[ot]:"%j ",[at]:"%H:00",[st]:"00:%M",[lt]:":%S",[ut]:".%L",[`${J}-${et}`]:"%Y-%m ",[`${J}-${et}-${it}`]:"%Y-%m-%d ",[`${at}-${st}`]:"%H:%M"};function pt(t,e){const n=(0,p.X$)({},ht,e),i=dt(t),r=i.length;let o="",a=0,s,l;for(a=0;a<r;){for(s=i.length;s>a;--s){l=i.slice(a,s).join("-");if(n[l]!=null){o+=n[l];a=s;break}}}return o.trim()}const mt=new Date;function gt(t){mt.setFullYear(t);mt.setMonth(0);mt.setDate(1);mt.setHours(0,0,0,0);return mt}function yt(t){return bt(new Date(t))}function vt(t){return xt(new Date(t))}function bt(t){return Y.UA.count(gt(t.getFullYear())-1,t)}function xt(t){return G.YP.count(gt(t.getFullYear())-1,t)}function _t(t){return gt(t).getDay()}function wt(t,e,n,i,r,o,a){if(0<=t&&t<100){const s=new Date(-1,e,n,i,r,o,a);s.setFullYear(t);return s}return new Date(t,e,n,i,r,o,a)}function kt(t){return St(new Date(t))}function Mt(t){return Et(new Date(t))}function St(t){const e=Date.UTC(t.getUTCFullYear(),0,1);return Y.dA.count(e-1,t)}function Et(t){const e=Date.UTC(t.getUTCFullYear(),0,1);return G.Hl.count(e-1,t)}function zt(t){mt.setTime(Date.UTC(t,0,1));return mt.getUTCDay()}function At(t,e,n,i,r,o,a){if(0<=t&&t<100){const t=new Date(Date.UTC(-1,e,n,i,r,o,a));t.setUTCFullYear(n.y);return t}return new Date(Date.UTC(t,e,n,i,r,o,a))}function $t(t,e,n,i,r){const o=e||1,a=(0,p.se)(t),s=(t,e,r)=>{r=r||t;return Ot(n[r],i[r],t===a&&o,e)};const l=new Date,u=(0,p.M1)(t),c=u[J]?s(J):(0,p.dY)(2012),f=u[et]?s(et):u[tt]?s(tt):p.v_,d=u[nt]&&u[rt]?s(rt,1,nt+rt):u[nt]?s(nt,1):u[rt]?s(rt,1):u[it]?s(it,1):u[ot]?s(ot,1):p.xH,h=u[at]?s(at):p.v_,m=u[st]?s(st):p.v_,g=u[lt]?s(lt):p.v_,y=u[ut]?s(ut):p.v_;return function(t){l.setTime(+t);const e=c(l);return r(e,f(l),d(l,e),h(l),m(l),g(l),y(l))}}function Ot(t,e,n,i){const r=n<=1?t:i?(e,r)=>i+n*Math.floor((t(e,r)-i)/n):(e,i)=>n*Math.floor(t(e,i)/n);return e?(t,n)=>e(r(t,n),n):r}function Rt(t,e,n){return e+t*7-(n+6)%7}const Dt={[J]:t=>t.getFullYear(),[tt]:t=>Math.floor(t.getMonth()/3),[et]:t=>t.getMonth(),[it]:t=>t.getDate(),[at]:t=>t.getHours(),[st]:t=>t.getMinutes(),[lt]:t=>t.getSeconds(),[ut]:t=>t.getMilliseconds(),[ot]:t=>bt(t),[nt]:t=>xt(t),[nt+rt]:(t,e)=>Rt(xt(t),t.getDay(),_t(e)),[rt]:(t,e)=>Rt(1,t.getDay(),_t(e))};const Tt={[tt]:t=>3*t,[nt]:(t,e)=>Rt(t,0,_t(e))};function Nt(t,e){return $t(t,e||1,Dt,Tt,wt)}const Ct={[J]:t=>t.getUTCFullYear(),[tt]:t=>Math.floor(t.getUTCMonth()/3),[et]:t=>t.getUTCMonth(),[it]:t=>t.getUTCDate(),[at]:t=>t.getUTCHours(),[st]:t=>t.getUTCMinutes(),[lt]:t=>t.getUTCSeconds(),[ut]:t=>t.getUTCMilliseconds(),[ot]:t=>St(t),[nt]:t=>Et(t),[rt]:(t,e)=>Rt(1,t.getUTCDay(),zt(e)),[nt+rt]:(t,e)=>Rt(Et(t),t.getUTCDay(),zt(e))};const Lt={[tt]:t=>3*t,[nt]:(t,e)=>Rt(t,0,zt(e))};function Pt(t,e){return $t(t,e||1,Ct,Lt,At)}const qt={[J]:W.he,[tt]:X.Ui.every(3),[et]:X.Ui,[nt]:G.YP,[it]:Y.UA,[rt]:Y.UA,[ot]:Y.UA,[at]:H.Ag,[st]:V.wX,[lt]:K.R,[ut]:Z.y};const Ft={[J]:W.Mb,[tt]:X.R6.every(3),[et]:X.R6,[nt]:G.Hl,[it]:Y.dA,[rt]:Y.dA,[ot]:Y.dA,[at]:H.pz,[st]:V.vD,[lt]:K.R,[ut]:Z.y};function It(t){return qt[t]}function Bt(t){return Ft[t]}function Ut(t,e,n){return t?t.offset(e,n):undefined}function jt(t,e,n){return Ut(It(t),e,n)}function Yt(t,e,n){return Ut(Bt(t),e,n)}function Gt(t,e,n,i){return t?t.range(e,n,i):undefined}function Wt(t,e,n,i){return Gt(It(t),e,n,i)}function Xt(t,e,n,i){return Gt(Bt(t),e,n,i)}const Ht=1e3,Vt=Ht*60,Kt=Vt*60,Zt=Kt*24,Qt=Zt*7,Jt=Zt*30,te=Zt*365;const ee=[J,et,it,at,st,lt,ut],ne=ee.slice(0,-1),ie=ne.slice(0,-1),re=ie.slice(0,-1),oe=re.slice(0,-1),ae=[J,nt],se=[J,et],le=[J];const ue=[[ne,1,Ht],[ne,5,5*Ht],[ne,15,15*Ht],[ne,30,30*Ht],[ie,1,Vt],[ie,5,5*Vt],[ie,15,15*Vt],[ie,30,30*Vt],[re,1,Kt],[re,3,3*Kt],[re,6,6*Kt],[re,12,12*Kt],[oe,1,Zt],[ae,1,Qt],[se,1,Jt],[se,3,3*Jt],[le,1,te]];function ce(t){const e=t.extent,n=t.maxbins||40,i=Math.abs((0,p.Ln)(e))/n;let r=(0,Q.A)((t=>t[2])).right(ue,i),o,a;if(r===ue.length){o=le,a=(0,P.sG)(e[0]/te,e[1]/te,n)}else if(r){r=ue[i/ue[r-1][2]<ue[r][2]/i?r-1:r];o=r[0];a=r[1]}else{o=ee;a=Math.max((0,P.sG)(e[0],e[1],n),1)}return{units:o,step:a}}var fe=n(82692);var de=n(77613);function he(t){const e={};return n=>e[n]||(e[n]=t(n))}function pe(t,e){return n=>{const i=t(n),r=i.indexOf(e);if(r<0)return i;let o=me(i,r);const a=o<i.length?i.slice(o):"";while(--o>r)if(i[o]!=="0"){++o;break}return i.slice(0,o)+a}}function me(t,e){let n=t.lastIndexOf("e"),i;if(n>0)return n;for(n=t.length;--n>e;){i=t.charCodeAt(n);if(i>=48&&i<=57)return n+1}}function ge(t){const e=he(t.format),n=t.formatPrefix;return{format:e,formatPrefix:n,formatFloat(t){const n=(0,q.A)(t||",");if(n.precision==null){n.precision=12;switch(n.type){case"%":n.precision-=2;break;case"e":n.precision-=1;break}return pe(e(n),e(".1f")(1)[1])}else{return e(n)}},formatSpan(t,i,r,o){o=(0,q.A)(o==null?",f":o);const a=(0,P.sG)(t,i,r),s=Math.max(Math.abs(t),Math.abs(i));let l;if(o.precision==null){switch(o.type){case"s":{if(!isNaN(l=(0,F.A)(a,s))){o.precision=l}return n(o,s)}case"":case"e":case"g":case"p":case"r":{if(!isNaN(l=(0,I.A)(a,s))){o.precision=l-(o.type==="e")}break}case"f":case"%":{if(!isNaN(l=(0,B.A)(a))){o.precision=l-(o.type==="%")*2}break}}}return e(o)}}}let ye;ve();function ve(){return ye=ge({format:U.GP,formatPrefix:U.s})}function be(t){return ge((0,j.A)(t))}function xe(t){return arguments.length?ye=be(t):ye}function _e(t,e,n){n=n||{};if(!(0,p.Gv)(n)){(0,p.z3)(`Invalid time multi-format specifier: ${n}`)}const i=e(lt),r=e(st),o=e(at),a=e(it),s=e(nt),l=e(et),u=e(tt),c=e(J),f=t(n[ut]||".%L"),d=t(n[lt]||":%S"),h=t(n[st]||"%I:%M"),m=t(n[at]||"%I %p"),g=t(n[it]||n[rt]||"%a %d"),y=t(n[nt]||"%b %d"),v=t(n[et]||"%B"),b=t(n[tt]||"%B"),x=t(n[J]||"%Y");return t=>(i(t)<t?f:r(t)<t?d:o(t)<t?h:a(t)<t?m:l(t)<t?s(t)<t?g:y:c(t)<t?u(t)<t?v:b:x)(t)}function we(t){const e=he(t.format),n=he(t.utcFormat);return{timeFormat:t=>(0,p.Kg)(t)?e(t):_e(e,It,t),utcFormat:t=>(0,p.Kg)(t)?n(t):_e(n,Bt,t),timeParse:he(t.parse),utcParse:he(t.utcParse)}}let ke;Me();function Me(){return ke=we({format:fe.DC,parse:fe.T6,utcFormat:fe.aL,utcParse:fe.GY})}function Se(t){return we((0,de.A)(t))}function Ee(t){return arguments.length?ke=Se(t):ke}const ze=(t,e)=>(0,p.X$)({},t,e);function Ae(t,e){const n=t?be(t):xe();const i=e?Se(e):Ee();return ze(n,i)}function $e(t,e){const n=arguments.length;if(n&&n!==2){(0,p.z3)("defaultLocale expects either zero or two arguments.")}return n?ze(xe(t),Ee(e)):ze(xe(),Ee())}function Oe(){ve();Me();return $e()}const Re=/^(data:|([A-Za-z]+:)?\/\/)/;const De=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i;const Te=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g;const Ne="file://";function Ce(t,e){return n=>({options:n||{},sanitize:Pe,load:Le,fileAccess:!!e,file:qe(e),http:Ie(t)})}async function Le(t,e){const n=await this.sanitize(t,e),i=n.href;return n.localFile?this.file(i):this.http(i,e)}async function Pe(t,e){e=(0,p.X$)({},this.options,e);const n=this.fileAccess,i={href:null};let r,o,a;const s=De.test(t.replace(Te,""));if(t==null||typeof t!=="string"||!s){(0,p.z3)("Sanitize failure, invalid URI: "+(0,p.r$)(t))}const l=Re.test(t);if((a=e.baseURL)&&!l){if(!t.startsWith("/")&&!a.endsWith("/")){t="/"+t}t=a+t}o=(r=t.startsWith(Ne))||e.mode==="file"||e.mode!=="http"&&!l&&n;if(r){t=t.slice(Ne.length)}else if(t.startsWith("//")){if(e.defaultProtocol==="file"){t=t.slice(2);o=true}else{t=(e.defaultProtocol||"http")+":"+t}}Object.defineProperty(i,"localFile",{value:!!o});i.href=t;if(e.target){i.target=e.target+""}if(e.rel){i.rel=e.rel+""}if(e.context==="image"&&e.crossOrigin){i.crossOrigin=e.crossOrigin+""}return i}function qe(t){return t?e=>new Promise(((n,i)=>{t.readFile(e,((t,e)=>{if(t)i(t);else n(e)}))})):Fe}async function Fe(){(0,p.z3)("No file system access.")}function Ie(t){return t?async function(e,n){const i=(0,p.X$)({},this.options.http,n),r=n&&n.response,o=await t(e,i);return!o.ok?(0,p.z3)(o.status+""+o.statusText):(0,p.Tn)(o[r])?o[r]():o.text()}:Be}async function Be(){(0,p.z3)("No HTTP fetch method available.")}const Ue=t=>t!=null&&t===t;const je=t=>t==="true"||t==="false"||t===true||t===false;const Ye=t=>!Number.isNaN(Date.parse(t));const Ge=t=>!Number.isNaN(+t)&&!(t instanceof Date);const We=t=>Ge(t)&&Number.isInteger(+t);const Xe={boolean:p.G4,integer:p.Ro,number:p.Ro,date:p.ay,string:p.dI,unknown:p.D_};const He=[je,We,Ge,Ye];const Ve=["boolean","integer","number","date"];function Ke(t,e){if(!t||!t.length)return"unknown";const n=t.length,i=He.length,r=He.map(((t,e)=>e+1));for(let o=0,a=0,s,l;o<n;++o){l=e?t[o][e]:t[o];for(s=0;s<i;++s){if(r[s]&&Ue(l)&&!He[s](l)){r[s]=0;++a;if(a===He.length)return"string"}}}return Ve[r.reduce(((t,e)=>t===0?e:t),0)-1]}function Ze(t,e){return e.reduce(((e,n)=>{e[n]=Ke(t,n);return e}),{})}function Qe(t){const e=function(e,n){const i={delimiter:t};return Je(e,n?(0,p.X$)(n,i):i)};e.responseType="text";return e}function Je(t,e){if(e.header){t=e.header.map(p.r$).join(e.delimiter)+"\n"+t}return E(e.delimiter).parse(t+"")}Je.responseType="text";function tn(t){return typeof Buffer==="function"&&(0,p.Tn)(Buffer.isBuffer)?Buffer.isBuffer(t):false}function en(t,e){const n=e&&e.property?(0,p.ZZ)(e.property):p.D_;return(0,p.Gv)(t)&&!tn(t)?nn(n(t),e):n(JSON.parse(t))}en.responseType="json";function nn(t,e){if(!(0,p.cy)(t)&&(0,p.xZ)(t)){t=[...t]}return e&&e.copy?JSON.parse(JSON.stringify(t)):t}const rn={interior:(t,e)=>t!==e,exterior:(t,e)=>t===e};function on(t,e){let n,i,r,o;t=en(t,e);if(e&&e.feature){n=O;r=e.feature}else if(e&&e.mesh){n=N;r=e.mesh;o=rn[e.filter]}else{(0,p.z3)("Missing TopoJSON feature or mesh parameter.")}i=(i=t.objects[r])?n(t,i,o):(0,p.z3)("Invalid TopoJSON object: "+r);return i&&i.features||[i]}on.responseType="json";const an={dsv:Je,csv:Qe(","),tsv:Qe("\t"),json:en,topojson:on};function sn(t,e){if(arguments.length>1){an[t]=e;return this}else{return(0,p.mQ)(an,t)?an[t]:null}}function ln(t){const e=sn(t);return e&&e.responseType||"text"}function un(t,e,n,i){e=e||{};const r=sn(e.type||"json");if(!r)(0,p.z3)("Unknown data format type: "+e.type);t=r(t,e);if(e.parse)cn(t,e.parse,n,i);if((0,p.mQ)(t,"columns"))delete t.columns;return t}function cn(t,e,n,i){if(!t.length)return;const r=Ee();n=n||r.timeParse;i=i||r.utcParse;let o=t.columns||Object.keys(t[0]),a,s,l,u,c,f;if(e==="auto")e=Ze(t,o);o=Object.keys(e);const d=o.map((t=>{const r=e[t];let o,a;if(r&&(r.startsWith("date:")||r.startsWith("utc:"))){o=r.split(/:(.+)?/,2);a=o[1];if(a[0]==="'"&&a[a.length-1]==="'"||a[0]==='"'&&a[a.length-1]==='"'){a=a.slice(1,-1)}const t=o[0]==="utc"?i:n;return t(a)}if(!Xe[r]){throw Error("Illegal format pattern: "+t+":"+r)}return Xe[r]}));for(l=0,c=t.length,f=o.length;l<c;++l){a=t[l];for(u=0;u<f;++u){s=o[u];a[s]=d[u](a[s])}}}const fn=Ce(typeof fetch!=="undefined"&&fetch,null);function dn(t){const e=t||p.D_,n=[],i={};n.add=t=>{const r=e(t);if(!i[r]){i[r]=1;n.push(t)}return n};n.remove=t=>{const r=e(t);if(i[r]){i[r]=0;const e=n.indexOf(t);if(e>=0)n.splice(e,1)}return n};return n}async function hn(t,e){try{await e(t)}catch(n){t.error(n)}}const pn=Symbol("vega_id");let mn=1;function gn(t){return!!(t&&yn(t))}function yn(t){return t[pn]}function vn(t,e){t[pn]=e;return t}function bn(t){const e=t===Object(t)?t:{data:t};return yn(e)?e:vn(e,mn++)}function xn(t){return _n(t,bn({}))}function _n(t,e){for(const n in t)e[n]=t[n];return e}function wn(t,e){return vn(e,yn(t))}function kn(t,e){return!t?null:e?(n,i)=>t(n,i)||yn(e(n))-yn(e(i)):(e,n)=>t(e,n)||yn(e)-yn(n)}function Mn(t){return t&&t.constructor===Sn}function Sn(){const t=[],e=[],n=[],i=[],r=[];let o=null,a=false;return{constructor:Sn,insert(e){const n=(0,p.YO)(e),i=n.length;for(let r=0;r<i;++r)t.push(n[r]);return this},remove(t){const n=(0,p.Tn)(t)?i:e,r=(0,p.YO)(t),o=r.length;for(let e=0;e<o;++e)n.push(r[e]);return this},modify(t,e,i){const o={field:e,value:(0,p.dY)(i)};if((0,p.Tn)(t)){o.filter=t;r.push(o)}else{o.tuple=t;n.push(o)}return this},encode(t,e){if((0,p.Tn)(t))r.push({filter:t,field:e});else n.push({tuple:t,field:e});return this},clean(t){o=t;return this},reflow(){a=true;return this},pulse(s,l){const u={},c={};let f,d,h,p,m,g;for(f=0,d=l.length;f<d;++f){u[yn(l[f])]=1}for(f=0,d=e.length;f<d;++f){m=e[f];u[yn(m)]=-1}for(f=0,d=i.length;f<d;++f){p=i[f];l.forEach((t=>{if(p(t))u[yn(t)]=-1}))}for(f=0,d=t.length;f<d;++f){m=t[f];g=yn(m);if(u[g]){u[g]=1}else{s.add.push(bn(t[f]))}}for(f=0,d=l.length;f<d;++f){m=l[f];if(u[yn(m)]<0)s.rem.push(m)}function y(t,e,n){if(n){t[e]=n(t)}else{s.encode=e}if(!a)c[yn(t)]=t}for(f=0,d=n.length;f<d;++f){h=n[f];m=h.tuple;p=h.field;g=u[yn(m)];if(g>0){y(m,p,h.value);s.modifies(p)}}for(f=0,d=r.length;f<d;++f){h=r[f];p=h.filter;l.forEach((t=>{if(p(t)&&u[yn(t)]>0){y(t,h.field,h.value)}}));s.modifies(h.field)}if(a){s.mod=e.length||i.length?l.filter((t=>u[yn(t)]>0)):l.slice()}else{for(g in c)s.mod.push(c[g])}if(o||o==null&&(e.length||i.length)){s.clean(true)}return s}}}const En="_:mod:_";function zn(){Object.defineProperty(this,En,{writable:true,value:{}})}zn.prototype={set(t,e,n,i){const r=this,o=r[t],a=r[En];if(e!=null&&e>=0){if(o[e]!==n||i){o[e]=n;a[e+":"+t]=-1;a[t]=-1}}else if(o!==n||i){r[t]=n;a[t]=(0,p.cy)(n)?1+n.length:-1}return r},modified(t,e){const n=this[En];if(!arguments.length){for(const t in n){if(n[t])return true}return false}else if((0,p.cy)(t)){for(let e=0;e<t.length;++e){if(n[t[e]])return true}return false}return e!=null&&e>=0?e+1<n[t]||!!n[e+":"+t]:!!n[t]},clear(){this[En]={};return this}};let An=0;const $n="pulse",On=new zn;const Rn=1,Dn=2;function Tn(t,e,n,i){this.id=++An;this.value=t;this.stamp=-1;this.rank=-1;this.qrank=-1;this.flags=0;if(e){this._update=e}if(n)this.parameters(n,i)}function Nn(t){return function(e){const n=this.flags;if(arguments.length===0)return!!(n&t);this.flags=e?n|t:n&~t;return this}}Tn.prototype={targets(){return this._targets||(this._targets=dn(p.id))},set(t){if(this.value!==t){this.value=t;return 1}else{return 0}},skip:Nn(Rn),modified:Nn(Dn),parameters(t,e,n){e=e!==false;const i=this._argval=this._argval||new zn,r=this._argops=this._argops||[],o=[];let a,s,l,u;const c=(t,n,a)=>{if(a instanceof Tn){if(a!==this){if(e)a.targets().add(this);o.push(a)}r.push({op:a,name:t,index:n})}else{i.set(t,n,a)}};for(a in t){s=t[a];if(a===$n){(0,p.YO)(s).forEach((t=>{if(!(t instanceof Tn)){(0,p.z3)("Pulse parameters must be operator instances.")}else if(t!==this){t.targets().add(this);o.push(t)}}));this.source=s}else if((0,p.cy)(s)){i.set(a,-1,Array(l=s.length));for(u=0;u<l;++u)c(a,u,s[u])}else{c(a,-1,s)}}this.marshall().clear();if(n)r.initonly=true;return o},marshall(t){const e=this._argval||On,n=this._argops;let i,r,o,a;if(n){const s=n.length;for(r=0;r<s;++r){i=n[r];o=i.op;a=o.modified()&&o.stamp===t;e.set(i.name,i.index,o.value,a)}if(n.initonly){for(r=0;r<s;++r){i=n[r];i.op.targets().remove(this)}this._argops=null;this._update=null}}return e},detach(){const t=this._argops;let e,n,i,r;if(t){for(e=0,n=t.length;e<n;++e){i=t[e];r=i.op;if(r._targets){r._targets.remove(this)}}}this.pulse=null;this.source=null},evaluate(t){const e=this._update;if(e){const n=this.marshall(t.stamp),i=e.call(this,n,t);n.clear();if(i!==this.value){this.value=i}else if(!this.modified()){return t.StopPropagation}}},run(t){if(t.stamp<this.stamp)return t.StopPropagation;let e;if(this.skip()){this.skip(false);e=0}else{e=this.evaluate(t)}return this.pulse=e||t}};function Cn(t,e,n,i){let r=1,o;if(t instanceof Tn){o=t}else if(t&&t.prototype instanceof Tn){o=new t}else if((0,p.Tn)(t)){o=new Tn(null,t)}else{r=0;o=new Tn(t,e)}this.rank(o);if(r){i=n;n=e}if(n)this.connect(o,o.parameters(n,i));this.touch(o);return o}function Ln(t,e){const n=t.rank,i=e.length;for(let r=0;r<i;++r){if(n<e[r].rank){this.rerank(t);return}}}let Pn=0;function qn(t,e,n){this.id=++Pn;this.value=null;if(n)this.receive=n;if(t)this._filter=t;if(e)this._apply=e}function Fn(t,e,n){return new qn(t,e,n)}qn.prototype={_filter:p.vN,_apply:p.D_,targets(){return this._targets||(this._targets=dn(p.id))},consume(t){if(!arguments.length)return!!this._consume;this._consume=!!t;return this},receive(t){if(this._filter(t)){const e=this.value=this._apply(t),n=this._targets,i=n?n.length:0;for(let t=0;t<i;++t)n[t].receive(e);if(this._consume){t.preventDefault();t.stopPropagation()}}},filter(t){const e=Fn(t);this.targets().add(e);return e},apply(t){const e=Fn(null,t);this.targets().add(e);return e},merge(){const t=Fn();this.targets().add(t);for(let e=0,n=arguments.length;e<n;++e){arguments[e].targets().add(t)}return t},throttle(t){let e=-1;return this.filter((()=>{const n=Date.now();if(n-e>t){e=n;return 1}else{return 0}}))},debounce(t){const e=Fn();this.targets().add(Fn(null,null,(0,p.sg)(t,(t=>{const n=t.dataflow;e.receive(t);if(n&&n.run)n.run()}))));return e},between(t,e){let n=false;t.targets().add(Fn(null,null,(()=>n=true)));e.targets().add(Fn(null,null,(()=>n=false)));return this.filter((()=>n))},detach(){this._filter=p.vN;this._targets=null}};function In(t,e,n,i){const r=this,o=Fn(n,i),a=function(t){t.dataflow=r;try{o.receive(t)}catch(e){r.error(e)}finally{r.run()}};let s;if(typeof t==="string"&&typeof document!=="undefined"){s=document.querySelectorAll(t)}else{s=(0,p.YO)(t)}const l=s.length;for(let u=0;u<l;++u){s[u].addEventListener(e,a)}return o}function Bn(t,e){const n=this.locale();return un(t,e,n.timeParse,n.utcParse)}function Un(t,e,n){e=this.parse(e,n);return this.pulse(t,this.changeset().insert(e))}async function jn(t,e){const n=this;let i=0,r;try{r=await n.loader().load(t,{context:"dataflow",response:ln(e&&e.type)});try{r=n.parse(r,e)}catch(o){i=-2;n.warn("Data ingestion failed",t,o)}}catch(o){i=-1;n.warn("Loading failed",t,o)}return{data:r,status:i}}async function Yn(t,e,n){const i=this,r=i._pending||Gn(i);r.requests+=1;const o=await i.request(e,n);i.pulse(t,i.changeset().remove(p.vN).insert(o.data||[]));r.done();return o}function Gn(t){let e;const n=new Promise((t=>e=t));n.requests=0;n.done=()=>{if(--n.requests===0){t._pending=null;e(t)}};return t._pending=n}const Wn={skip:true};function Xn(t,e,n,i,r){const o=t instanceof Tn?Vn:Hn;o(this,t,e,n,i,r);return this}function Hn(t,e,n,i,r,o){const a=(0,p.X$)({},o,Wn);let s,l;if(!(0,p.Tn)(n))n=(0,p.dY)(n);if(i===undefined){s=e=>t.touch(n(e))}else if((0,p.Tn)(i)){l=new Tn(null,i,r,false);s=e=>{l.evaluate(e);const i=n(e),r=l.value;Mn(r)?t.pulse(i,r,o):t.update(i,r,a)}}else{s=e=>t.update(n(e),i,a)}e.apply(s)}function Vn(t,e,n,i,r,o){if(i===undefined){e.targets().add(n)}else{const a=o||{},s=new Tn(null,Kn(n,i),r,false);s.modified(a.force);s.rank=e.rank;e.targets().add(s);if(n){s.skip(true);s.value=n.value;s.targets().add(n);t.connect(n,[s])}}}function Kn(t,e){e=(0,p.Tn)(e)?e:(0,p.dY)(e);return t?function(n,i){const r=e(n,i);if(!t.skip()){t.skip(r!==this.value).value=r}return r}:e}function Zn(t){t.rank=++this._rank}function Qn(t){const e=[t];let n,i,r;while(e.length){this.rank(n=e.pop());if(i=n._targets){for(r=i.length;--r>=0;){e.push(n=i[r]);if(n===t)(0,p.z3)("Cycle detected in dataflow graph.")}}}}const Jn={};const ti=1<<0,ei=1<<1,ni=1<<2,ii=ti|ei,ri=ti|ni,oi=ti|ei|ni,ai=1<<3,si=1<<4,li=1<<5,ui=1<<6;function ci(t,e,n){this.dataflow=t;this.stamp=e==null?-1:e;this.add=[];this.rem=[];this.mod=[];this.fields=null;this.encode=n||null}function fi(t,e){const n=[];(0,p.rt)(t,e,(t=>n.push(t)));return n}function di(t,e){const n={};t.visit(e,(t=>{n[yn(t)]=1}));return t=>n[yn(t)]?null:t}function hi(t,e){return t?(n,i)=>t(n,i)&&e(n,i):e}ci.prototype={StopPropagation:Jn,ADD:ti,REM:ei,MOD:ni,ADD_REM:ii,ADD_MOD:ri,ALL:oi,REFLOW:ai,SOURCE:si,NO_SOURCE:li,NO_FIELDS:ui,fork(t){return new ci(this.dataflow).init(this,t)},clone(){const t=this.fork(oi);t.add=t.add.slice();t.rem=t.rem.slice();t.mod=t.mod.slice();if(t.source)t.source=t.source.slice();return t.materialize(oi|si)},addAll(){let t=this;const e=!t.source||t.add===t.rem||!t.rem.length&&t.source.length===t.add.length;if(e){return t}else{t=new ci(this.dataflow).init(this);t.add=t.source;t.rem=[];return t}},init(t,e){const n=this;n.stamp=t.stamp;n.encode=t.encode;if(t.fields&&!(e&ui)){n.fields=t.fields}if(e&ti){n.addF=t.addF;n.add=t.add}else{n.addF=null;n.add=[]}if(e&ei){n.remF=t.remF;n.rem=t.rem}else{n.remF=null;n.rem=[]}if(e&ni){n.modF=t.modF;n.mod=t.mod}else{n.modF=null;n.mod=[]}if(e&li){n.srcF=null;n.source=null}else{n.srcF=t.srcF;n.source=t.source;if(t.cleans)n.cleans=t.cleans}return n},runAfter(t){this.dataflow.runAfter(t)},changed(t){const e=t||oi;return e&ti&&this.add.length||e&ei&&this.rem.length||e&ni&&this.mod.length},reflow(t){if(t)return this.fork(oi).reflow();const e=this.add.length,n=this.source&&this.source.length;if(n&&n!==e){this.mod=this.source;if(e)this.filter(ni,di(this,ti))}return this},clean(t){if(arguments.length){this.cleans=!!t;return this}else{return this.cleans}},modifies(t){const e=this.fields||(this.fields={});if((0,p.cy)(t)){t.forEach((t=>e[t]=true))}else{e[t]=true}return this},modified(t,e){const n=this.fields;return!((e||this.mod.length)&&n)?false:!arguments.length?!!n:(0,p.cy)(t)?t.some((t=>n[t])):n[t]},filter(t,e){const n=this;if(t&ti)n.addF=hi(n.addF,e);if(t&ei)n.remF=hi(n.remF,e);if(t&ni)n.modF=hi(n.modF,e);if(t&si)n.srcF=hi(n.srcF,e);return n},materialize(t){t=t||oi;const e=this;if(t&ti&&e.addF){e.add=fi(e.add,e.addF);e.addF=null}if(t&ei&&e.remF){e.rem=fi(e.rem,e.remF);e.remF=null}if(t&ni&&e.modF){e.mod=fi(e.mod,e.modF);e.modF=null}if(t&si&&e.srcF){e.source=e.source.filter(e.srcF);e.srcF=null}return e},visit(t,e){const n=this,i=e;if(t&si){(0,p.rt)(n.source,n.srcF,i);return n}if(t&ti)(0,p.rt)(n.add,n.addF,i);if(t&ei)(0,p.rt)(n.rem,n.remF,i);if(t&ni)(0,p.rt)(n.mod,n.modF,i);const r=n.source;if(t&ai&&r){const t=n.add.length+n.mod.length;if(t===r.length);else if(t){(0,p.rt)(r,di(n,ri),i)}else{(0,p.rt)(r,n.srcF,i)}}return n}};function pi(t,e,n,i){const r=this;let o=0;this.dataflow=t;this.stamp=e;this.fields=null;this.encode=i||null;this.pulses=n;for(const a of n){if(a.stamp!==e)continue;if(a.fields){const t=r.fields||(r.fields={});for(const e in a.fields){t[e]=1}}if(a.changed(r.ADD))o|=r.ADD;if(a.changed(r.REM))o|=r.REM;if(a.changed(r.MOD))o|=r.MOD}this.changes=o}(0,p.B)(pi,ci,{fork(t){const e=new ci(this.dataflow).init(this,t&this.NO_FIELDS);if(t!==undefined){if(t&e.ADD)this.visit(e.ADD,(t=>e.add.push(t)));if(t&e.REM)this.visit(e.REM,(t=>e.rem.push(t)));if(t&e.MOD)this.visit(e.MOD,(t=>e.mod.push(t)))}return e},changed(t){return this.changes&t},modified(t){const e=this,n=e.fields;return!(n&&e.changes&e.MOD)?0:(0,p.cy)(t)?t.some((t=>n[t])):n[t]},filter(){(0,p.z3)("MultiPulse does not support filtering.")},materialize(){(0,p.z3)("MultiPulse does not support materialization.")},visit(t,e){const n=this,i=n.pulses,r=i.length;let o=0;if(t&n.SOURCE){for(;o<r;++o){i[o].visit(t,e)}}else{for(;o<r;++o){if(i[o].stamp===n.stamp){i[o].visit(t,e)}}}return n}});async function mi(t,e,n){const i=this,r=[];if(i._pulse)return bi(i);if(i._pending)await i._pending;if(e)await hn(i,e);if(!i._touched.length){i.debug("Dataflow invoked, but nothing to do.");return i}const o=++i._clock;i._pulse=new ci(i,o,t);i._touched.forEach((t=>i._enqueue(t,true)));i._touched=dn(p.id);let a=0,s,l,u;try{while(i._heap.size()>0){s=i._heap.pop();if(s.rank!==s.qrank){i._enqueue(s,true);continue}l=s.run(i._getPulse(s,t));if(l.then){l=await l}else if(l.async){r.push(l.async);l=Jn}if(l!==Jn){if(s._targets)s._targets.forEach((t=>i._enqueue(t)))}++a}}catch(c){i._heap.clear();u=c}i._input={};i._pulse=null;i.debug(`Pulse ${o}: ${a} operators`);if(u){i._postrun=[];i.error(u)}if(i._postrun.length){const t=i._postrun.sort(((t,e)=>e.priority-t.priority));i._postrun=[];for(let e=0;e<t.length;++e){await hn(i,t[e].callback)}}if(n)await hn(i,n);if(r.length){Promise.all(r).then((t=>i.runAsync(null,(()=>{t.forEach((t=>{try{t(i)}catch(c){i.error(c)}}))}))))}return i}async function gi(t,e,n){while(this._running)await this._running;const i=()=>this._running=null;(this._running=this.evaluate(t,e,n)).then(i,i);return this._running}function yi(t,e,n){return this._pulse?bi(this):(this.evaluate(t,e,n),this)}function vi(t,e,n){if(this._pulse||e){this._postrun.push({priority:n||0,callback:t})}else{try{t(this)}catch(i){this.error(i)}}}function bi(t){t.error("Dataflow already running. Use runAsync() to chain invocations.");return t}function xi(t,e){const n=t.stamp<this._clock;if(n)t.stamp=this._clock;if(n||e){t.qrank=t.rank;this._heap.push(t)}}function _i(t,e){const n=t.source,i=this._clock;return n&&(0,p.cy)(n)?new pi(this,i,n.map((t=>t.pulse)),e):this._input[t.id]||wi(this._pulse,n&&n.pulse)}function wi(t,e){if(e&&e.stamp===t.stamp){return e}t=t.fork();if(e&&e!==Jn){t.source=e.source}return t}const ki={skip:false,force:false};function Mi(t,e){const n=e||ki;if(this._pulse){this._enqueue(t)}else{this._touched.add(t)}if(n.skip)t.skip(true);return this}function Si(t,e,n){const i=n||ki;if(t.set(e)||i.force){this.touch(t,i)}return this}function Ei(t,e,n){this.touch(t,n||ki);const i=new ci(this,this._clock+(this._pulse?0:1)),r=t.pulse&&t.pulse.source||[];i.target=t;this._input[t.id]=e.pulse(i,r);return this}function zi(t){let e=[];return{clear:()=>e=[],size:()=>e.length,peek:()=>e[0],push:n=>{e.push(n);return Ai(e,0,e.length-1,t)},pop:()=>{const n=e.pop();let i;if(e.length){i=e[0];e[0]=n;$i(e,0,t)}else{i=n}return i}}}function Ai(t,e,n,i){let r,o;const a=t[n];while(n>e){o=n-1>>1;r=t[o];if(i(a,r)<0){t[n]=r;n=o;continue}break}return t[n]=a}function $i(t,e,n){const i=e,r=t.length,o=t[e];let a=(e<<1)+1,s;while(a<r){s=a+1;if(s<r&&n(t[a],t[s])>=0){a=s}t[e]=t[a];e=a;a=(e<<1)+1}t[e]=o;return Ai(t,i,e,n)}function Oi(){this.logger((0,p.vF)());this.logLevel(p.$D);this._clock=0;this._rank=0;this._locale=$e();try{this._loader=fn()}catch(t){}this._touched=dn(p.id);this._input={};this._pulse=null;this._heap=zi(((t,e)=>t.qrank-e.qrank));this._postrun=[]}function Ri(t){return function(){return this._log[t].apply(this,arguments)}}Oi.prototype={stamp(){return this._clock},loader(t){if(arguments.length){this._loader=t;return this}else{return this._loader}},locale(t){if(arguments.length){this._locale=t;return this}else{return this._locale}},logger(t){if(arguments.length){this._log=t;return this}else{return this._log}},error:Ri("error"),warn:Ri("warn"),info:Ri("info"),debug:Ri("debug"),logLevel:Ri("level"),cleanThreshold:1e4,add:Cn,connect:Ln,rank:Zn,rerank:Qn,pulse:Ei,touch:Mi,update:Si,changeset:Sn,ingest:Un,parse:Bn,preload:Yn,request:jn,events:In,on:Xn,evaluate:mi,run:yi,runAsync:gi,runAfter:vi,_enqueue:xi,_getPulse:_i};function Di(t,e){Tn.call(this,t,null,e)}(0,p.B)(Di,Tn,{run(t){if(t.stamp<this.stamp)return t.StopPropagation;let e;if(this.skip()){this.skip(false)}else{e=this.evaluate(t)}e=e||t;if(e.then){e=e.then((t=>this.pulse=t))}else if(e!==t.StopPropagation){this.pulse=e}return e},evaluate(t){const e=this.marshall(t.stamp),n=this.transform(e,t);e.clear();return n},transform(){}});const Ti={};function Ni(t){const e=Ci(t);return e&&e.Definition||null}function Ci(t){t=t&&t.toLowerCase();return(0,p.mQ)(Ti,t)?Ti[t]:null}var Li=n(82887);var Pi=n(21671);var qi=n(44317);function Fi(t,...e){if(typeof t[Symbol.iterator]!=="function")throw new TypeError("values is not iterable");t=Array.from(t);let[n]=e;if(n&&n.length!==2||e.length>1){const i=Uint32Array.from(t,((t,e)=>e));if(e.length>1){e=e.map((e=>t.map(e)));i.sort(((t,n)=>{for(const i of e){const e=Bi(i[t],i[n]);if(e)return e}}))}else{n=t.map(n);i.sort(((t,e)=>Bi(n[t],n[e])))}return permute(t,i)}return t.sort(Ii(n))}function Ii(t=Li.A){if(t===Li.A)return Bi;if(typeof t!=="function")throw new TypeError("compare is not a function");return(e,n)=>{const i=t(e,n);if(i||i===0)return i;return(t(n,n)===0)-(t(e,e)===0)}}function Bi(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(t<e?-1:t>e?1:0)}function Ui(t,e,n=0,i=Infinity,r){e=Math.floor(e);n=Math.floor(Math.max(0,n));i=Math.floor(Math.min(t.length-1,i));if(!(n<=e&&e<=i))return t;r=r===undefined?Bi:Ii(r);while(i>n){if(i-n>600){const o=i-n+1;const a=e-n+1;const s=Math.log(o);const l=.5*Math.exp(2*s/3);const u=.5*Math.sqrt(s*l*(o-l)/o)*(a-o/2<0?-1:1);const c=Math.max(n,Math.floor(e-a*l/o+u));const f=Math.min(i,Math.floor(e+(o-a)*l/o+u));Ui(t,e,c,f,r)}const o=t[e];let a=n;let s=i;ji(t,n,e);if(r(t[i],o)>0)ji(t,n,i);while(a<s){ji(t,a,s),++a,--s;while(r(t[a],o)<0)++a;while(r(t[s],o)>0)--s}if(r(t[n],o)===0)ji(t,n,s);else++s,ji(t,s,i);if(s<=e)n=s+1;if(e<=s)i=s-1}return t}function ji(t,e,n){const i=t[e];t[e]=t[n];t[n]=i}var Yi=n(40168);function Gi(t,e,n){t=Float64Array.from((0,Yi.n)(t,n));if(!(i=t.length)||isNaN(e=+e))return;if(e<=0||i<2)return(0,qi.A)(t);if(e>=1)return(0,Pi.A)(t);var i,r=(i-1)*e,o=Math.floor(r),a=(0,Pi.A)(Ui(t,o).subarray(0,o+1)),s=(0,qi.A)(t.subarray(o+1));return a+(s-a)*(r-o)}function Wi(t,e,n=Yi.A){if(!(i=t.length)||isNaN(e=+e))return;if(e<=0||i<2)return+n(t[0],0,t);if(e>=1)return+n(t[i-1],i-1,t);var i,r=(i-1)*e,o=Math.floor(r),a=+n(t[o],o,t),s=+n(t[o+1],o+1,t);return a+(s-a)*(r-o)}function Xi(t,e,n){t=Float64Array.from(numbers(t,n));if(!(i=t.length)||isNaN(e=+e))return;if(e<=0||i<2)return minIndex(t);if(e>=1)return maxIndex(t);var i,r=Math.floor((i-1)*e),o=(e,n)=>ascendingDefined(t[e],t[n]),a=quickselect(Uint32Array.from(t,((t,e)=>e)),r,0,i-1,o);return greatest(a.subarray(0,r+1),(e=>t[e]))}function Hi(t,e){let n=0;let i;let r=0;let o=0;if(e===undefined){for(let e of t){if(e!=null&&(e=+e)>=e){i=e-r;r+=i/++n;o+=i*(e-r)}}}else{let a=-1;for(let s of t){if((s=e(s,++a,t))!=null&&(s=+s)>=s){i=s-r;r+=i/++n;o+=i*(s-r)}}}if(n>1)return o/(n-1)}function Vi(t,e){const n=Hi(t,e);return n?Math.sqrt(n):n}function Ki(t,e){return Gi(t,.5,e)}function Zi(t,e){return quantileIndex(t,.5,e)}function*Qi(t,e){if(e==null){for(let e of t){if(e!=null&&e!==""&&(e=+e)>=e){yield e}}}else{let n=-1;for(let i of t){i=e(i,++n,t);if(i!=null&&i!==""&&(i=+i)>=i){yield i}}}}function Ji(t,e,n){const i=Float64Array.from(Qi(t,n));i.sort(Li.A);return e.map((t=>Wi(i,t)))}function tr(t,e){return Ji(t,[.25,.5,.75],e)}function er(t,e){const n=t.length,i=Vi(t,e),r=tr(t,e),o=(r[2]-r[0])/1.34,a=Math.min(i,o)||i||Math.abs(r[0])||1;return 1.06*a*Math.pow(n,-.2)}function nr(t){const e=t.maxbins||20,n=t.base||10,i=Math.log(n),r=t.divide||[5,2];let o=t.extent[0],a=t.extent[1],s,l,u,c,f,d;const h=t.span||a-o||Math.abs(o)||1;if(t.step){s=t.step}else if(t.steps){c=h/e;for(f=0,d=t.steps.length;f<d&&t.steps[f]<c;++f);s=t.steps[Math.max(0,f-1)]}else{l=Math.ceil(Math.log(e)/i);u=t.minstep||0;s=Math.max(u,Math.pow(n,Math.round(Math.log(h)/i)-l));while(Math.ceil(h/s)>e){s*=n}for(f=0,d=r.length;f<d;++f){c=s/r[f];if(c>=u&&h/c<=e)s=c}}c=Math.log(s);const p=c>=0?0:~~(-c/i)+1,m=Math.pow(n,-p-1);if(t.nice||t.nice===undefined){c=Math.floor(o/s+m)*s;o=o<c?c-s:c;a=Math.ceil(a/s)*s}return{start:o,stop:a===o?o+s:a,step:s}}var ir=Math.random;function rr(t){ir=t}function or(t,e,n,i){if(!t.length)return[undefined,undefined];const r=Float64Array.from(Qi(t,i)),o=r.length,a=e;let s,l,u,c;for(u=0,c=Array(a);u<a;++u){for(s=0,l=0;l<o;++l){s+=r[~~(ir()*o)]}c[u]=s/o}c.sort(Li.A);return[Gi(c,n/2),Gi(c,1-n/2)]}function ar(t,e,n,i){i=i||(t=>t);const r=t.length,o=new Float64Array(r);let a=0,s=1,l=i(t[0]),u=l,c=l+e,f;for(;s<r;++s){f=i(t[s]);if(f>=c){u=(l+u)/2;for(;a<s;++a)o[a]=u;c=f+e;l=f}u=f}u=(l+u)/2;for(;a<s;++a)o[a]=u;return n?sr(o,e+e/4):o}function sr(t,e){const n=t.length;let i=0,r=1,o,a;while(t[i]===t[r])++r;while(r<n){o=r+1;while(t[r]===t[o])++o;if(t[r]-t[r-1]<e){a=r+(i+o-r-r>>1);while(a<r)t[a++]=t[r];while(a>r)t[a--]=t[i]}i=r;r=o}return t}function lr(t){return function(){t=(1103515245*t+12345)%2147483647;return t/2147483647}}function ur(t,e){if(e==null){e=t;t=0}let n,i,r;const o={min(t){if(arguments.length){n=t||0;r=i-n;return o}else{return n}},max(t){if(arguments.length){i=t||0;r=i-n;return o}else{return i}},sample(){return n+Math.floor(r*ir())},pdf(t){return t===Math.floor(t)&&t>=n&&t<i?1/r:0},cdf(t){const e=Math.floor(t);return e<n?0:e>=i?1:(e-n+1)/r},icdf(t){return t>=0&&t<=1?n-1+Math.floor(t*r):NaN}};return o.min(t).max(e)}const cr=Math.sqrt(2*Math.PI);const fr=Math.SQRT2;let dr=NaN;function hr(t,e){t=t||0;e=e==null?1:e;let n=0,i=0,r,o;if(dr===dr){n=dr;dr=NaN}else{do{n=ir()*2-1;i=ir()*2-1;r=n*n+i*i}while(r===0||r>1);o=Math.sqrt(-2*Math.log(r)/r);n*=o;dr=i*o}return t+n*e}function pr(t,e,n){n=n==null?1:n;const i=(t-(e||0))/n;return Math.exp(-.5*i*i)/(n*cr)}function mr(t,e,n){e=e||0;n=n==null?1:n;const i=(t-e)/n,r=Math.abs(i);let o;if(r>37){o=0}else{const t=Math.exp(-r*r/2);let e;if(r<7.07106781186547){e=.0352624965998911*r+.700383064443688;e=e*r+6.37396220353165;e=e*r+33.912866078383;e=e*r+112.079291497871;e=e*r+221.213596169931;e=e*r+220.206867912376;o=t*e;e=.0883883476483184*r+1.75566716318264;e=e*r+16.064177579207;e=e*r+86.7807322029461;e=e*r+296.564248779674;e=e*r+637.333633378831;e=e*r+793.826512519948;e=e*r+440.413735824752;o=o/e}else{e=r+.65;e=r+4/e;e=r+3/e;e=r+2/e;e=r+1/e;o=t/e/2.506628274631}}return i>0?1-o:o}function gr(t,e,n){if(t<0||t>1)return NaN;return(e||0)+(n==null?1:n)*fr*yr(2*t-1)}function yr(t){let e=-Math.log((1-t)*(1+t)),n;if(e<6.25){e-=3.125;n=-364441206401782e-35;n=-16850591381820166e-35+n*e;n=128584807152564e-32+n*e;n=11157877678025181e-33+n*e;n=-1333171662854621e-31+n*e;n=20972767875968562e-33+n*e;n=6637638134358324e-30+n*e;n=-4054566272975207e-29+n*e;n=-8151934197605472e-29+n*e;n=26335093153082323e-28+n*e;n=-12975133253453532e-27+n*e;n=-5415412054294628e-26+n*e;n=1.0512122733215323e-9+n*e;n=-4.112633980346984e-9+n*e;n=-2.9070369957882005e-8+n*e;n=4.2347877827932404e-7+n*e;n=-13654692000834679e-22+n*e;n=-13882523362786469e-21+n*e;n=.00018673420803405714+n*e;n=-.000740702534166267+n*e;n=-.006033670871430149+n*e;n=.24015818242558962+n*e;n=1.6536545626831027+n*e}else if(e<16){e=Math.sqrt(e)-3.25;n=2.2137376921775787e-9;n=9.075656193888539e-8+n*e;n=-2.7517406297064545e-7+n*e;n=1.8239629214389228e-8+n*e;n=15027403968909828e-22+n*e;n=-4013867526981546e-21+n*e;n=29234449089955446e-22+n*e;n=12475304481671779e-21+n*e;n=-47318229009055734e-21+n*e;n=6828485145957318e-20+n*e;n=24031110387097894e-21+n*e;n=-.0003550375203628475+n*e;n=.0009532893797373805+n*e;n=-.0016882755560235047+n*e;n=.002491442096107851+n*e;n=-.003751208507569241+n*e;n=.005370914553590064+n*e;n=1.0052589676941592+n*e;n=3.0838856104922208+n*e}else if(Number.isFinite(e)){e=Math.sqrt(e)-5;n=-27109920616438573e-27;n=-2.555641816996525e-10+n*e;n=1.5076572693500548e-9+n*e;n=-3.789465440126737e-9+n*e;n=7.61570120807834e-9+n*e;n=-1.496002662714924e-8+n*e;n=2.914795345090108e-8+n*e;n=-6.771199775845234e-8+n*e;n=2.2900482228026655e-7+n*e;n=-9.9298272942317e-7+n*e;n=4526062597223154e-21+n*e;n=-1968177810553167e-20+n*e;n=7599527703001776e-20+n*e;n=-.00021503011930044477+n*e;n=-.00013871931833623122+n*e;n=1.0103004648645344+n*e;n=4.849906401408584+n*e}else{n=Infinity}return n*t}function vr(t,e){let n,i;const r={mean(t){if(arguments.length){n=t||0;return r}else{return n}},stdev(t){if(arguments.length){i=t==null?1:t;return r}else{return i}},sample:()=>hr(n,i),pdf:t=>pr(t,n,i),cdf:t=>mr(t,n,i),icdf:t=>gr(t,n,i)};return r.mean(t).stdev(e)}function br(t,e){const n=vr();let i=0;const r={data(n){if(arguments.length){t=n;i=n?n.length:0;return r.bandwidth(e)}else{return t}},bandwidth(n){if(!arguments.length)return e;e=n;if(!e&&t)e=er(t);return r},sample(){return t[~~(ir()*i)]+e*n.sample()},pdf(r){let o=0,a=0;for(;a<i;++a){o+=n.pdf((r-t[a])/e)}return o/e/i},cdf(r){let o=0,a=0;for(;a<i;++a){o+=n.cdf((r-t[a])/e)}return o/i},icdf(){throw Error("KDE icdf not supported.")}};return r.data(t)}function xr(t,e){t=t||0;e=e==null?1:e;return Math.exp(t+hr()*e)}function _r(t,e,n){if(t<=0)return 0;e=e||0;n=n==null?1:n;const i=(Math.log(t)-e)/n;return Math.exp(-.5*i*i)/(n*cr*t)}function wr(t,e,n){return mr(Math.log(t),e,n)}function kr(t,e,n){return Math.exp(gr(t,e,n))}function Mr(t,e){let n,i;const r={mean(t){if(arguments.length){n=t||0;return r}else{return n}},stdev(t){if(arguments.length){i=t==null?1:t;return r}else{return i}},sample:()=>xr(n,i),pdf:t=>_r(t,n,i),cdf:t=>wr(t,n,i),icdf:t=>kr(t,n,i)};return r.mean(t).stdev(e)}function Sr(t,e){let n=0,i;function r(t){const e=[];let i=0,r;for(r=0;r<n;++r){i+=e[r]=t[r]==null?1:+t[r]}for(r=0;r<n;++r){e[r]/=i}return e}const o={weights(t){if(arguments.length){i=r(e=t||[]);return o}return e},distributions(i){if(arguments.length){if(i){n=i.length;t=i}else{n=0;t=[]}return o.weights(e)}return t},sample(){const e=ir();let r=t[n-1],o=i[0],a=0;for(;a<n-1;o+=i[++a]){if(e<o){r=t[a];break}}return r.sample()},pdf(e){let r=0,o=0;for(;o<n;++o){r+=i[o]*t[o].pdf(e)}return r},cdf(e){let r=0,o=0;for(;o<n;++o){r+=i[o]*t[o].cdf(e)}return r},icdf(){throw Error("Mixture icdf not supported.")}};return o.distributions(t).weights(e)}function Er(t,e){if(e==null){e=t==null?1:t;t=0}return t+(e-t)*ir()}function zr(t,e,n){if(n==null){n=e==null?1:e;e=0}return t>=e&&t<=n?1/(n-e):0}function Ar(t,e,n){if(n==null){n=e==null?1:e;e=0}return t<e?0:t>n?1:(t-e)/(n-e)}function $r(t,e,n){if(n==null){n=e==null?1:e;e=0}return t>=0&&t<=1?e+t*(n-e):NaN}function Or(t,e){let n,i;const r={min(t){if(arguments.length){n=t||0;return r}else{return n}},max(t){if(arguments.length){i=t==null?1:t;return r}else{return i}},sample:()=>Er(n,i),pdf:t=>zr(t,n,i),cdf:t=>Ar(t,n,i),icdf:t=>$r(t,n,i)};if(e==null){e=t==null?1:t;t=0}return r.min(t).max(e)}function Rr(t,e,n,i){const r=i-t*t,o=Math.abs(r)<1e-24?0:(n-t*e)/r,a=e-o*t;return[a,o]}function Dr(t,e,n,i){t=t.filter((t=>{let i=e(t),r=n(t);return i!=null&&(i=+i)>=i&&r!=null&&(r=+r)>=r}));if(i){t.sort(((t,n)=>e(t)-e(n)))}const r=t.length,o=new Float64Array(r),a=new Float64Array(r);let s=0,l=0,u=0,c,f,d;for(d of t){o[s]=c=+e(d);a[s]=f=+n(d);++s;l+=(c-l)/s;u+=(f-u)/s}for(s=0;s<r;++s){o[s]-=l;a[s]-=u}return[o,a,l,u]}function Tr(t,e,n,i){let r=-1,o,a;for(const s of t){o=e(s);a=n(s);if(o!=null&&(o=+o)>=o&&a!=null&&(a=+a)>=a){i(o,a,++r)}}}function Nr(t,e,n,i,r){let o=0,a=0;Tr(t,e,n,((t,e)=>{const n=e-r(t),s=e-i;o+=n*n;a+=s*s}));return 1-o/a}function Cr(t,e,n){let i=0,r=0,o=0,a=0,s=0;Tr(t,e,n,((t,e)=>{++s;i+=(t-i)/s;r+=(e-r)/s;o+=(t*e-o)/s;a+=(t*t-a)/s}));const l=Rr(i,r,o,a),u=t=>l[0]+l[1]*t;return{coef:l,predict:u,rSquared:Nr(t,e,n,r,u)}}function Lr(t,e,n){let i=0,r=0,o=0,a=0,s=0;Tr(t,e,n,((t,e)=>{++s;t=Math.log(t);i+=(t-i)/s;r+=(e-r)/s;o+=(t*e-o)/s;a+=(t*t-a)/s}));const l=Rr(i,r,o,a),u=t=>l[0]+l[1]*Math.log(t);return{coef:l,predict:u,rSquared:Nr(t,e,n,r,u)}}function Pr(t,e,n){const[i,r,o,a]=Dr(t,e,n);let s=0,l=0,u=0,c=0,f=0,d,h,p;Tr(t,e,n,((t,e)=>{d=i[f++];h=Math.log(e);p=d*e;s+=(e*h-s)/f;l+=(p-l)/f;u+=(p*h-u)/f;c+=(d*p-c)/f}));const[m,g]=Rr(l/a,s/a,u/a,c/a),y=t=>Math.exp(m+g*(t-o));return{coef:[Math.exp(m-g*o),g],predict:y,rSquared:Nr(t,e,n,a,y)}}function qr(t,e,n){let i=0,r=0,o=0,a=0,s=0,l=0;Tr(t,e,n,((t,e)=>{const n=Math.log(t),u=Math.log(e);++l;i+=(n-i)/l;r+=(u-r)/l;o+=(n*u-o)/l;a+=(n*n-a)/l;s+=(e-s)/l}));const u=Rr(i,r,o,a),c=t=>u[0]*Math.pow(t,u[1]);u[0]=Math.exp(u[0]);return{coef:u,predict:c,rSquared:Nr(t,e,n,s,c)}}function Fr(t,e,n){const[i,r,o,a]=Dr(t,e,n),s=i.length;let l=0,u=0,c=0,f=0,d=0,h,p,m,g;for(h=0;h<s;){p=i[h];m=r[h++];g=p*p;l+=(g-l)/h;u+=(g*p-u)/h;c+=(g*g-c)/h;f+=(p*m-f)/h;d+=(g*m-d)/h}const y=c-l*l,v=l*y-u*u,b=(d*l-f*u)/v,x=(f*y-d*u)/v,_=-b*l,w=t=>{t=t-o;return b*t*t+x*t+_+a};return{coef:[_-x*o+b*o*o+a,x-2*b*o,b],predict:w,rSquared:Nr(t,e,n,a,w)}}function Ir(t,e,n,i){if(i===1)return Cr(t,e,n);if(i===2)return Fr(t,e,n);const[r,o,a,s]=Dr(t,e,n),l=r.length,u=[],c=[],f=i+1;let d,h,p,m,g;for(d=0;d<f;++d){for(p=0,m=0;p<l;++p){m+=Math.pow(r[p],d)*o[p]}u.push(m);g=new Float64Array(f);for(h=0;h<f;++h){for(p=0,m=0;p<l;++p){m+=Math.pow(r[p],d+h)}g[h]=m}c.push(g)}c.push(u);const y=Ur(c),v=t=>{t-=a;let e=s+y[0]+y[1]*t+y[2]*t*t;for(d=3;d<f;++d)e+=y[d]*Math.pow(t,d);return e};return{coef:Br(f,y,-a,s),predict:v,rSquared:Nr(t,e,n,s,v)}}function Br(t,e,n,i){const r=Array(t);let o,a,s,l;for(o=0;o<t;++o)r[o]=0;for(o=t-1;o>=0;--o){s=e[o];l=1;r[o]+=s;for(a=1;a<=o;++a){l*=(o+1-a)/a;r[o-a]+=s*Math.pow(n,a)*l}}r[0]+=i;return r}function Ur(t){const e=t.length-1,n=[];let i,r,o,a,s;for(i=0;i<e;++i){a=i;for(r=i+1;r<e;++r){if(Math.abs(t[i][r])>Math.abs(t[i][a])){a=r}}for(o=i;o<e+1;++o){s=t[o][i];t[o][i]=t[o][a];t[o][a]=s}for(r=i+1;r<e;++r){for(o=e;o>=i;o--){t[o][r]-=t[o][i]*t[i][r]/t[i][i]}}}for(r=e-1;r>=0;--r){s=0;for(o=r+1;o<e;++o){s+=t[o][r]*n[o]}n[r]=(t[e][r]-s)/t[r][r]}return n}const jr=2,Yr=1e-12;function Gr(t,e,n,i){const[r,o,a,s]=Dr(t,e,n,true),l=r.length,u=Math.max(2,~~(i*l)),c=new Float64Array(l),f=new Float64Array(l),d=new Float64Array(l).fill(1);for(let h=-1;++h<=jr;){const t=[0,u-1];for(let n=0;n<l;++n){const e=r[n],i=t[0],a=t[1],s=e-r[i]>r[a]-e?i:a;let l=0,u=0,h=0,p=0,m=0;const g=1/Math.abs(r[s]-e||1);for(let t=i;t<=a;++t){const n=r[t],i=o[t],a=Wr(Math.abs(e-n)*g)*d[t],s=n*a;l+=a;u+=s;h+=i*a;p+=i*s;m+=n*s}const[y,v]=Rr(u/l,h/l,p/l,m/l);c[n]=y+v*e;f[n]=Math.abs(o[n]-c[n]);Xr(r,n+1,t)}if(h===jr){break}const e=Ki(f);if(Math.abs(e)<Yr)break;for(let n=0,i,r;n<l;++n){i=f[n]/(6*e);d[n]=i>=1?Yr:(r=1-i*i)*r}}return Hr(r,c,a,s)}function Wr(t){return(t=1-t*t*t)*t*t}function Xr(t,e,n){const i=t[e];let r=n[0],o=n[1]+1;if(o>=t.length)return;while(e>r&&t[o]-i<=i-t[r]){n[0]=++r;n[1]=o;++o}}function Hr(t,e,n,i){const r=t.length,o=[];let a=0,s=0,l=[],u;for(;a<r;++a){u=t[a]+n;if(l[0]===u){l[1]+=(e[a]-l[1])/++s}else{s=0;l[1]+=i;l=[u,e[a]];o.push(l)}}l[1]+=i;return o}const Vr=.5*Math.PI/180;function Kr(t,e,n,i){n=n||25;i=Math.max(n,i||200);const r=e=>[e,t(e)],o=e[0],a=e[1],s=a-o,l=s/i,u=[r(o)],c=[];if(n===i){for(let t=1;t<i;++t){u.push(r(o+t/n*s))}u.push(r(a));return u}else{c.push(r(a));for(let t=n;--t>0;){c.push(r(o+t/n*s))}}let f=u[0];let d=c[c.length-1];const h=1/s;const p=Zr(f[1],c);while(d){const t=r((f[0]+d[0])/2);const e=t[0]-f[0]>=l;if(e&&Qr(f,t,d,h,p)>Vr){c.push(t)}else{f=d;u.push(d);c.pop()}d=c[c.length-1]}return u}function Zr(t,e){let n=t;let i=t;const r=e.length;for(let o=0;o<r;++o){const t=e[o][1];if(t<n)n=t;if(t>i)i=t}return 1/(i-n)}function Qr(t,e,n,i,r){const o=Math.atan2(r*(n[1]-t[1]),i*(n[0]-t[0])),a=Math.atan2(r*(e[1]-t[1]),i*(e[0]-t[0]));return Math.abs(o-a)}function Jr(t,e){let n=0;let i=0;if(e===undefined){for(let e of t){if(e!=null&&(e=+e)>=e){++n,i+=e}}}else{let r=-1;for(let o of t){if((o=e(o,++r,t))!=null&&(o=+o)>=o){++n,i+=o}}}if(n)return i/n}var to=n(18312);function eo(t){return e=>{const n=t.length;let i=1,r=String(t[0](e));for(;i<n;++i){r+="|"+t[i](e)}return r}}function no(t){return!t||!t.length?function(){return""}:t.length===1?t[0]:eo(t)}function io(t,e,n){return n||t+(!e?"":"_"+e)}const ro=()=>{};const oo={init:ro,add:ro,rem:ro,idx:0};const ao={values:{init:t=>t.cell.store=true,value:t=>t.cell.data.values(),idx:-1},count:{value:t=>t.cell.num},__count__:{value:t=>t.missing+t.valid},missing:{value:t=>t.missing},valid:{value:t=>t.valid},sum:{init:t=>t.sum=0,value:t=>t.sum,add:(t,e)=>t.sum+=+e,rem:(t,e)=>t.sum-=e},product:{init:t=>t.product=1,value:t=>t.valid?t.product:undefined,add:(t,e)=>t.product*=e,rem:(t,e)=>t.product/=e},mean:{init:t=>t.mean=0,value:t=>t.valid?t.mean:undefined,add:(t,e)=>(t.mean_d=e-t.mean,t.mean+=t.mean_d/t.valid),rem:(t,e)=>(t.mean_d=e-t.mean,t.mean-=t.valid?t.mean_d/t.valid:t.mean)},average:{value:t=>t.valid?t.mean:undefined,req:["mean"],idx:1},variance:{init:t=>t.dev=0,value:t=>t.valid>1?t.dev/(t.valid-1):undefined,add:(t,e)=>t.dev+=t.mean_d*(e-t.mean),rem:(t,e)=>t.dev-=t.mean_d*(e-t.mean),req:["mean"],idx:1},variancep:{value:t=>t.valid>1?t.dev/t.valid:undefined,req:["variance"],idx:2},stdev:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid-1)):undefined,req:["variance"],idx:2},stdevp:{value:t=>t.valid>1?Math.sqrt(t.dev/t.valid):undefined,req:["variance"],idx:2},stderr:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid*(t.valid-1))):undefined,req:["variance"],idx:2},distinct:{value:t=>t.cell.data.distinct(t.get),req:["values"],idx:3},ci0:{value:t=>t.cell.data.ci0(t.get),req:["values"],idx:3},ci1:{value:t=>t.cell.data.ci1(t.get),req:["values"],idx:3},median:{value:t=>t.cell.data.q2(t.get),req:["values"],idx:3},q1:{value:t=>t.cell.data.q1(t.get),req:["values"],idx:3},q3:{value:t=>t.cell.data.q3(t.get),req:["values"],idx:3},min:{init:t=>t.min=undefined,value:t=>t.min=Number.isNaN(t.min)?t.cell.data.min(t.get):t.min,add:(t,e)=>{if(e<t.min||t.min===undefined)t.min=e},rem:(t,e)=>{if(e<=t.min)t.min=NaN},req:["values"],idx:4},max:{init:t=>t.max=undefined,value:t=>t.max=Number.isNaN(t.max)?t.cell.data.max(t.get):t.max,add:(t,e)=>{if(e>t.max||t.max===undefined)t.max=e},rem:(t,e)=>{if(e>=t.max)t.max=NaN},req:["values"],idx:4},argmin:{init:t=>t.argmin=undefined,value:t=>t.argmin||t.cell.data.argmin(t.get),add:(t,e,n)=>{if(e<t.min)t.argmin=n},rem:(t,e)=>{if(e<=t.min)t.argmin=undefined},req:["min","values"],idx:3},argmax:{init:t=>t.argmax=undefined,value:t=>t.argmax||t.cell.data.argmax(t.get),add:(t,e,n)=>{if(e>t.max)t.argmax=n},rem:(t,e)=>{if(e>=t.max)t.argmax=undefined},req:["max","values"],idx:3}};const so=Object.keys(ao).filter((t=>t!=="__count__"));function lo(t,e){return n=>(0,p.X$)({name:t,out:n||t},oo,e)}[...so,"__count__"].forEach((t=>{ao[t]=lo(t,ao[t])}));function uo(t,e){return ao[t](e)}function co(t,e){return t.idx-e.idx}function fo(t){const e={};t.forEach((t=>e[t.name]=t));const n=t=>{if(!t.req)return;t.req.forEach((t=>{if(!e[t])n(e[t]=ao[t]())}))};t.forEach(n);return Object.values(e).sort(co)}function ho(){this.valid=0;this.missing=0;this._ops.forEach((t=>t.init(this)))}function po(t,e){if(t==null||t===""){++this.missing;return}if(t!==t)return;++this.valid;this._ops.forEach((n=>n.add(this,t,e)))}function mo(t,e){if(t==null||t===""){--this.missing;return}if(t!==t)return;--this.valid;this._ops.forEach((n=>n.rem(this,t,e)))}function go(t){this._out.forEach((e=>t[e.out]=e.value(this)));return t}function yo(t,e){const n=e||p.D_,i=fo(t),r=t.slice().sort(co);function o(t){this._ops=i;this._out=r;this.cell=t;this.init()}o.prototype.init=ho;o.prototype.add=po;o.prototype.rem=mo;o.prototype.set=go;o.prototype.get=n;o.fields=t.map((t=>t.out));return o}function vo(t){this._key=t?(0,p.ZZ)(t):yn;this.reset()}const bo=vo.prototype;bo.reset=function(){this._add=[];this._rem=[];this._ext=null;this._get=null;this._q=null};bo.add=function(t){this._add.push(t)};bo.rem=function(t){this._rem.push(t)};bo.values=function(){this._get=null;if(this._rem.length===0)return this._add;const t=this._add,e=this._rem,n=this._key,i=t.length,r=e.length,o=Array(i-r),a={};let s,l,u;for(s=0;s<r;++s){a[n(e[s])]=1}for(s=0,l=0;s<i;++s){if(a[n(u=t[s])]){a[n(u)]=0}else{o[l++]=u}}this._rem=[];return this._add=o};bo.distinct=function(t){const e=this.values(),n={};let i=e.length,r=0,o;while(--i>=0){o=t(e[i])+"";if(!(0,p.mQ)(n,o)){n[o]=1;++r}}return r};bo.extent=function(t){if(this._get!==t||!this._ext){const e=this.values(),n=(0,p.n)(e,t);this._ext=[e[n[0]],e[n[1]]];this._get=t}return this._ext};bo.argmin=function(t){return this.extent(t)[0]||{}};bo.argmax=function(t){return this.extent(t)[1]||{}};bo.min=function(t){const e=this.extent(t)[0];return e!=null?t(e):undefined};bo.max=function(t){const e=this.extent(t)[1];return e!=null?t(e):undefined};bo.quartile=function(t){if(this._get!==t||!this._q){this._q=tr(this.values(),t);this._get=t}return this._q};bo.q1=function(t){return this.quartile(t)[0]};bo.q2=function(t){return this.quartile(t)[1]};bo.q3=function(t){return this.quartile(t)[2]};bo.ci=function(t){if(this._get!==t||!this._ci){this._ci=or(this.values(),1e3,.05,t);this._get=t}return this._ci};bo.ci0=function(t){return this.ci(t)[0]};bo.ci1=function(t){return this.ci(t)[1]};function xo(t){Di.call(this,null,t);this._adds=[];this._mods=[];this._alen=0;this._mlen=0;this._drop=true;this._cross=false;this._dims=[];this._dnames=[];this._measures=[];this._countOnly=false;this._counts=null;this._prev=null;this._inputs=null;this._outputs=null}xo.Definition={type:"Aggregate",metadata:{generates:true,changes:true},params:[{name:"groupby",type:"field",array:true},{name:"ops",type:"enum",array:true,values:so},{name:"fields",type:"field",null:true,array:true},{name:"as",type:"string",null:true,array:true},{name:"drop",type:"boolean",default:true},{name:"cross",type:"boolean",default:false},{name:"key",type:"field"}]};(0,p.B)(xo,Di,{transform(t,e){const n=this,i=e.fork(e.NO_SOURCE|e.NO_FIELDS),r=t.modified();n.stamp=i.stamp;if(n.value&&(r||e.modified(n._inputs,true))){n._prev=n.value;n.value=r?n.init(t):{};e.visit(e.SOURCE,(t=>n.add(t)))}else{n.value=n.value||n.init(t);e.visit(e.REM,(t=>n.rem(t)));e.visit(e.ADD,(t=>n.add(t)))}i.modifies(n._outputs);n._drop=t.drop!==false;if(t.cross&&n._dims.length>1){n._drop=false;n.cross()}if(e.clean()&&n._drop){i.clean(true).runAfter((()=>this.clean()))}return n.changes(i)},cross(){const t=this,e=t.value,n=t._dnames,i=n.map((()=>({}))),r=n.length;function o(t){let e,o,a,s;for(e in t){a=t[e].tuple;for(o=0;o<r;++o){i[o][s=a[n[o]]]=s}}}o(t._prev);o(e);function a(o,s,l){const u=n[l],c=i[l++];for(const n in c){const i=o?o+"|"+n:n;s[u]=c[n];if(l<r)a(i,s,l);else if(!e[i])t.cell(i,s)}}a("",{},0)},init(t){const e=this._inputs=[],n=this._outputs=[],i={};function r(t){const n=(0,p.YO)((0,p.nS)(t)),r=n.length;let o=0,a;for(;o<r;++o){if(!i[a=n[o]]){i[a]=1;e.push(a)}}}this._dims=(0,p.YO)(t.groupby);this._dnames=this._dims.map((t=>{const e=(0,p.N6)(t);r(t);n.push(e);return e}));this.cellkey=t.key?t.key:no(this._dims);this._countOnly=true;this._counts=[];this._measures=[];const o=t.fields||[null],a=t.ops||["count"],s=t.as||[],l=o.length,u={};let c,f,d,h,m,g;if(l!==a.length){(0,p.z3)("Unmatched number of fields and aggregate ops.")}for(g=0;g<l;++g){c=o[g];f=a[g];if(c==null&&f!=="count"){(0,p.z3)("Null aggregate field specified.")}h=(0,p.N6)(c);m=io(f,h,s[g]);n.push(m);if(f==="count"){this._counts.push(m);continue}d=u[h];if(!d){r(c);d=u[h]=[];d.field=c;this._measures.push(d)}if(f!=="count")this._countOnly=false;d.push(uo(f,m))}this._measures=this._measures.map((t=>yo(t,t.field)));return{}},cellkey:no(),cell(t,e){let n=this.value[t];if(!n){n=this.value[t]=this.newcell(t,e);this._adds[this._alen++]=n}else if(n.num===0&&this._drop&&n.stamp<this.stamp){n.stamp=this.stamp;this._adds[this._alen++]=n}else if(n.stamp<this.stamp){n.stamp=this.stamp;this._mods[this._mlen++]=n}return n},newcell(t,e){const n={key:t,num:0,agg:null,tuple:this.newtuple(e,this._prev&&this._prev[t]),stamp:this.stamp,store:false};if(!this._countOnly){const t=this._measures,e=t.length;n.agg=Array(e);for(let i=0;i<e;++i){n.agg[i]=new t[i](n)}}if(n.store){n.data=new vo}return n},newtuple(t,e){const n=this._dnames,i=this._dims,r=i.length,o={};for(let a=0;a<r;++a){o[n[a]]=i[a](t)}return e?wn(e.tuple,o):bn(o)},clean(){const t=this.value;for(const e in t){if(t[e].num===0){delete t[e]}}},add(t){const e=this.cellkey(t),n=this.cell(e,t);n.num+=1;if(this._countOnly)return;if(n.store)n.data.add(t);const i=n.agg;for(let r=0,o=i.length;r<o;++r){i[r].add(i[r].get(t),t)}},rem(t){const e=this.cellkey(t),n=this.cell(e,t);n.num-=1;if(this._countOnly)return;if(n.store)n.data.rem(t);const i=n.agg;for(let r=0,o=i.length;r<o;++r){i[r].rem(i[r].get(t),t)}},celltuple(t){const e=t.tuple,n=this._counts;if(t.store){t.data.values()}for(let i=0,r=n.length;i<r;++i){e[n[i]]=t.num}if(!this._countOnly){const n=t.agg;for(let t=0,i=n.length;t<i;++t){n[t].set(e)}}return e},changes(t){const e=this._adds,n=this._mods,i=this._prev,r=this._drop,o=t.add,a=t.rem,s=t.mod;let l,u,c,f;if(i)for(u in i){l=i[u];if(!r||l.num)a.push(l.tuple)}for(c=0,f=this._alen;c<f;++c){o.push(this.celltuple(e[c]));e[c]=null}for(c=0,f=this._mlen;c<f;++c){l=n[c];(l.num===0&&r?a:s).push(this.celltuple(l));n[c]=null}this._alen=this._mlen=0;this._prev=null;return t}});const _o=1e-14;function wo(t){Di.call(this,null,t)}wo.Definition={type:"Bin",metadata:{modifies:true},params:[{name:"field",type:"field",required:true},{name:"interval",type:"boolean",default:true},{name:"anchor",type:"number"},{name:"maxbins",type:"number",default:20},{name:"base",type:"number",default:10},{name:"divide",type:"number",array:true,default:[5,2]},{name:"extent",type:"number",array:true,length:2,required:true},{name:"span",type:"number"},{name:"step",type:"number"},{name:"steps",type:"number",array:true},{name:"minstep",type:"number",default:0},{name:"nice",type:"boolean",default:true},{name:"name",type:"string"},{name:"as",type:"string",array:true,length:2,default:["bin0","bin1"]}]};(0,p.B)(wo,Di,{transform(t,e){const n=t.interval!==false,i=this._bins(t),r=i.start,o=i.step,a=t.as||["bin0","bin1"],s=a[0],l=a[1];let u;if(t.modified()){e=e.reflow(true);u=e.SOURCE}else{u=e.modified((0,p.nS)(t.field))?e.ADD_MOD:e.ADD}e.visit(u,n?t=>{const e=i(t);t[s]=e;t[l]=e==null?null:r+o*(1+(e-r)/o)}:t=>t[s]=i(t));return e.modifies(n?a:s)},_bins(t){if(this.value&&!t.modified()){return this.value}const e=t.field,n=nr(t),i=n.step;let r=n.start,o=r+Math.ceil((n.stop-r)/i)*i,a,s;if((a=t.anchor)!=null){s=a-(r+i*Math.floor((a-r)/i));r+=s;o+=s}const l=function(t){let n=(0,p.Ro)(e(t));return n==null?null:n<r?-Infinity:n>o?+Infinity:(n=Math.max(r,Math.min(n,o-i)),r+i*Math.floor(_o+(n-r)/i))};l.start=r;l.stop=n.stop;l.step=i;return this.value=(0,p.sY)(l,(0,p.nS)(e),t.name||"bin_"+(0,p.N6)(e))}});function ko(t,e,n){const i=t;let r=e||[],o=n||[],a={},s=0;return{add:t=>o.push(t),remove:t=>a[i(t)]=++s,size:()=>r.length,data:(t,e)=>{if(s){r=r.filter((t=>!a[i(t)]));a={};s=0}if(e&&t){r.sort(t)}if(o.length){r=t?(0,p.h1)(t,r,o.sort(t)):r.concat(o);o=[]}return r}}}function Mo(t){Di.call(this,[],t)}Mo.Definition={type:"Collect",metadata:{source:true},params:[{name:"sort",type:"compare"}]};(0,p.B)(Mo,Di,{transform(t,e){const n=e.fork(e.ALL),i=ko(yn,this.value,n.materialize(n.ADD).add),r=t.sort,o=e.changed()||r&&(t.modified("sort")||e.modified(r.fields));n.visit(n.REM,i.remove);this.modified(o);this.value=n.source=i.data(kn(r),o);if(e.source&&e.source.root){this.value.root=e.source.root}return n}});function So(t){Tn.call(this,null,Eo,t)}(0,p.B)(So,Tn);function Eo(t){return this.value&&!t.modified()?this.value:(0,p.UD)(t.fields,t.orders)}function zo(t){Di.call(this,null,t)}zo.Definition={type:"CountPattern",metadata:{generates:true,changes:true},params:[{name:"field",type:"field",required:true},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:true,length:2,default:["text","count"]}]};function Ao(t,e,n){switch(e){case"upper":t=t.toUpperCase();break;case"lower":t=t.toLowerCase();break}return t.match(n)}(0,p.B)(zo,Di,{transform(t,e){const n=e=>n=>{var i=Ao(s(n),t.case,o)||[],r;for(var l=0,u=i.length;l<u;++l){if(!a.test(r=i[l]))e(r)}};const i=this._parameterCheck(t,e),r=this._counts,o=this._match,a=this._stop,s=t.field,l=t.as||["text","count"],u=n((t=>r[t]=1+(r[t]||0))),c=n((t=>r[t]-=1));if(i){e.visit(e.SOURCE,u)}else{e.visit(e.ADD,u);e.visit(e.REM,c)}return this._finish(e,l)},_parameterCheck(t,e){let n=false;if(t.modified("stopwords")||!this._stop){this._stop=new RegExp("^"+(t.stopwords||"")+"$","i");n=true}if(t.modified("pattern")||!this._match){this._match=new RegExp(t.pattern||"[\\w']+","g");n=true}if(t.modified("field")||e.modified(t.field.fields)){n=true}if(n)this._counts={};return n},_finish(t,e){const n=this._counts,i=this._tuples||(this._tuples={}),r=e[0],o=e[1],a=t.fork(t.NO_SOURCE|t.NO_FIELDS);let s,l,u;for(s in n){l=i[s];u=n[s]||0;if(!l&&u){i[s]=l=bn({});l[r]=s;l[o]=u;a.add.push(l)}else if(u===0){if(l)a.rem.push(l);n[s]=null;i[s]=null}else if(l[o]!==u){l[o]=u;a.mod.push(l)}}return a.modifies(e)}});function $o(t){Di.call(this,null,t)}$o.Definition={type:"Cross",metadata:{generates:true},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:true,length:2,default:["a","b"]}]};(0,p.B)($o,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE),i=t.as||["a","b"],r=i[0],o=i[1],a=!this.value||e.changed(e.ADD_REM)||t.modified("as")||t.modified("filter");let s=this.value;if(a){if(s)n.rem=s;s=e.materialize(e.SOURCE).source;n.add=this.value=Oo(s,r,o,t.filter||p.vN)}else{n.mod=s}n.source=this.value;return n.modifies(i)}});function Oo(t,e,n,i){var r=[],o={},a=t.length,s=0,l,u;for(;s<a;++s){o[e]=u=t[s];for(l=0;l<a;++l){o[n]=t[l];if(i(o)){r.push(bn(o));o={};o[e]=u}}}return r}const Ro={kde:br,mixture:Sr,normal:vr,lognormal:Mr,uniform:Or};const Do="distributions",To="function",No="field";function Co(t,e){const n=t[To];if(!(0,p.mQ)(Ro,n)){(0,p.z3)("Unknown distribution function: "+n)}const i=Ro[n]();for(const r in t){if(r===No){i.data((t.from||e()).map(t[r]))}else if(r===Do){i[r](t[r].map((t=>Co(t,e))))}else if(typeof i[r]===To){i[r](t[r])}}return i}function Lo(t){Di.call(this,null,t)}const Po=[{key:{function:"normal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"lognormal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"uniform"},params:[{name:"min",type:"number",default:0},{name:"max",type:"number",default:1}]},{key:{function:"kde"},params:[{name:"field",type:"field",required:true},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}];const qo={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:true,params:Po},{name:"weights",type:"number",array:true}]};Lo.Definition={type:"Density",metadata:{generates:true},params:[{name:"extent",type:"number",array:true,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:Po.concat(qo)},{name:"as",type:"string",array:true,default:["value","density"]}]};(0,p.B)(Lo,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE|e.NO_FIELDS);if(!this.value||e.changed()||t.modified()){const i=Co(t.distribution,Fo(e)),r=t.steps||t.minsteps||25,o=t.steps||t.maxsteps||200;let a=t.method||"pdf";if(a!=="pdf"&&a!=="cdf"){(0,p.z3)("Invalid density method: "+a)}if(!t.extent&&!i.data){(0,p.z3)("Missing density extent parameter.")}a=i[a];const s=t.as||["value","density"],l=t.extent||(0,p.Xx)(i.data()),u=Kr(a,l,r,o).map((t=>{const e={};e[s[0]]=t[0];e[s[1]]=t[1];return bn(e)}));if(this.value)n.rem=this.value;this.value=n.add=n.source=u}return n}});function Fo(t){return()=>t.materialize(t.SOURCE).source}function Io(t,e){if(!t)return null;return t.map(((t,n)=>e[n]||(0,p.N6)(t)))}function Bo(t,e,n){const i=[],r=t=>t(l);let o,a,s,l,u,c;if(e==null){i.push(t.map(n))}else{for(o={},a=0,s=t.length;a<s;++a){l=t[a];u=e.map(r);c=o[u];if(!c){o[u]=c=[];c.dims=u;i.push(c)}c.push(n(l))}}return i}const Uo="bin";function jo(t){Di.call(this,null,t)}jo.Definition={type:"DotBin",metadata:{modifies:true},params:[{name:"field",type:"field",required:true},{name:"groupby",type:"field",array:true},{name:"step",type:"number"},{name:"smooth",type:"boolean",default:false},{name:"as",type:"string",default:Uo}]};const Yo=(t,e)=>(0,p.Ln)((0,p.Xx)(t,e))/30;(0,p.B)(jo,Di,{transform(t,e){if(this.value&&!(t.modified()||e.changed())){return e}const n=e.materialize(e.SOURCE).source,i=Bo(e.source,t.groupby,p.D_),r=t.smooth||false,o=t.field,a=t.step||Yo(n,o),s=kn(((t,e)=>o(t)-o(e))),l=t.as||Uo,u=i.length;let c=Infinity,f=-Infinity,d=0,h;for(;d<u;++d){const t=i[d].sort(s);h=-1;for(const e of ar(t,a,r,o)){if(e<c)c=e;if(e>f)f=e;t[++h][l]=e}}this.value={start:c,stop:f,step:a};return e.reflow(true).modifies(l)}});function Go(t){Tn.call(this,null,Wo,t);this.modified(true)}(0,p.B)(Go,Tn);function Wo(t){const e=t.expr;return this.value&&!t.modified("expr")?this.value:(0,p.sY)((n=>e(n,t)),(0,p.nS)(e),(0,p.N6)(e))}function Xo(t){Di.call(this,[undefined,undefined],t)}Xo.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:true}]};(0,p.B)(Xo,Di,{transform(t,e){const n=this.value,i=t.field,r=e.changed()||e.modified(i.fields)||t.modified("field");let o=n[0],a=n[1];if(r||o==null){o=+Infinity;a=-Infinity}e.visit(r?e.SOURCE:e.ADD,(t=>{const e=(0,p.Ro)(i(t));if(e!=null){if(e<o)o=e;if(e>a)a=e}}));if(!Number.isFinite(o)||!Number.isFinite(a)){let t=(0,p.N6)(i);if(t)t=` for field "${t}"`;e.dataflow.warn(`Infinite extent${t}: [${o}, ${a}]`);o=a=undefined}this.value=[o,a]}});function Ho(t,e){Tn.call(this,t);this.parent=e;this.count=0}(0,p.B)(Ho,Tn,{connect(t){this.detachSubflow=t.detachSubflow;this.targets().add(t);return t.source=this},add(t){this.count+=1;this.value.add.push(t)},rem(t){this.count-=1;this.value.rem.push(t)},mod(t){this.value.mod.push(t)},init(t){this.value.init(t,t.NO_SOURCE)},evaluate(){return this.value}});function Vo(t){Di.call(this,{},t);this._keys=(0,p.nG)();const e=this._targets=[];e.active=0;e.forEach=t=>{for(let n=0,i=e.active;n<i;++n){t(e[n],n,e)}}}(0,p.B)(Vo,Di,{activate(t){this._targets[this._targets.active++]=t},subflow(t,e,n,i){const r=this.value;let o=(0,p.mQ)(r,t)&&r[t],a,s;if(!o){s=i||(s=this._group[t])&&s.tuple;a=n.dataflow;o=new Ho(n.fork(n.NO_SOURCE),this);a.add(o).connect(e(a,t,s));r[t]=o;this.activate(o)}else if(o.value.stamp<n.stamp){o.init(n);this.activate(o)}return o},clean(){const t=this.value;let e=0;for(const n in t){if(t[n].count===0){const i=t[n].detachSubflow;if(i)i();delete t[n];++e}}if(e){const t=this._targets.filter((t=>t&&t.count>0));this.initTargets(t)}},initTargets(t){const e=this._targets,n=e.length,i=t?t.length:0;let r=0;for(;r<i;++r){e[r]=t[r]}for(;r<n&&e[r]!=null;++r){e[r]=null}e.active=i},transform(t,e){const n=e.dataflow,i=t.key,r=t.subflow,o=this._keys,a=t.modified("key"),s=t=>this.subflow(t,r,e);this._group=t.group||{};this.initTargets();e.visit(e.REM,(t=>{const e=yn(t),n=o.get(e);if(n!==undefined){o.delete(e);s(n).rem(t)}}));e.visit(e.ADD,(t=>{const e=i(t);o.set(yn(t),e);s(e).add(t)}));if(a||e.modified(i.fields)){e.visit(e.MOD,(t=>{const e=yn(t),n=o.get(e),r=i(t);if(n===r){s(r).mod(t)}else{o.set(e,r);s(n).rem(t);s(r).add(t)}}))}else if(e.changed(e.MOD)){e.visit(e.MOD,(t=>{s(o.get(yn(t))).mod(t)}))}if(a){e.visit(e.REFLOW,(t=>{const e=yn(t),n=o.get(e),r=i(t);if(n!==r){o.set(e,r);s(n).rem(t);s(r).add(t)}}))}if(e.clean()){n.runAfter((()=>{this.clean();o.clean()}))}else if(o.empty>n.cleanThreshold){n.runAfter(o.clean)}return e}});function Ko(t){Tn.call(this,null,Zo,t)}(0,p.B)(Ko,Tn);function Zo(t){return this.value&&!t.modified()?this.value:(0,p.cy)(t.name)?(0,p.YO)(t.name).map((t=>(0,p.ZZ)(t))):(0,p.ZZ)(t.name,t.as)}function Qo(t){Di.call(this,(0,p.nG)(),t)}Qo.Definition={type:"Filter",metadata:{changes:true},params:[{name:"expr",type:"expr",required:true}]};(0,p.B)(Qo,Di,{transform(t,e){const n=e.dataflow,i=this.value,r=e.fork(),o=r.add,a=r.rem,s=r.mod,l=t.expr;let u=true;e.visit(e.REM,(t=>{const e=yn(t);if(!i.has(e))a.push(t);else i.delete(e)}));e.visit(e.ADD,(e=>{if(l(e,t))o.push(e);else i.set(yn(e),1)}));function c(e){const n=yn(e),r=l(e,t),c=i.get(n);if(r&&c){i.delete(n);o.push(e)}else if(!r&&!c){i.set(n,1);a.push(e)}else if(u&&r&&!c){s.push(e)}}e.visit(e.MOD,c);if(t.modified()){u=false;e.visit(e.REFLOW,c)}if(i.empty>n.cleanThreshold)n.runAfter(i.clean);return r}});function Jo(t){Di.call(this,[],t)}Jo.Definition={type:"Flatten",metadata:{generates:true},params:[{name:"fields",type:"field",array:true,required:true},{name:"index",type:"string"},{name:"as",type:"string",array:true}]};(0,p.B)(Jo,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE),i=t.fields,r=Io(i,t.as||[]),o=t.index||null,a=r.length;n.rem=this.value;e.visit(e.SOURCE,(t=>{const e=i.map((e=>e(t))),s=e.reduce(((t,e)=>Math.max(t,e.length)),0);let l=0,u,c,f;for(;l<s;++l){c=xn(t);for(u=0;u<a;++u){c[r[u]]=(f=e[u][l])==null?null:f}if(o){c[o]=l}n.add.push(c)}}));this.value=n.source=n.add;if(o)n.modifies(o);return n.modifies(r)}});function ta(t){Di.call(this,[],t)}ta.Definition={type:"Fold",metadata:{generates:true},params:[{name:"fields",type:"field",array:true,required:true},{name:"as",type:"string",array:true,length:2,default:["key","value"]}]};(0,p.B)(ta,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE),i=t.fields,r=i.map(p.N6),o=t.as||["key","value"],a=o[0],s=o[1],l=i.length;n.rem=this.value;e.visit(e.SOURCE,(t=>{for(let e=0,o;e<l;++e){o=xn(t);o[a]=r[e];o[s]=i[e](t);n.add.push(o)}}));this.value=n.source=n.add;return n.modifies(o)}});function ea(t){Di.call(this,null,t)}ea.Definition={type:"Formula",metadata:{modifies:true},params:[{name:"expr",type:"expr",required:true},{name:"as",type:"string",required:true},{name:"initonly",type:"boolean"}]};(0,p.B)(ea,Di,{transform(t,e){const n=t.expr,i=t.as,r=t.modified(),o=t.initonly?e.ADD:r?e.SOURCE:e.modified(n.fields)||e.modified(i)?e.ADD_MOD:e.ADD;if(r){e=e.materialize().reflow(true)}if(!t.initonly){e.modifies(i)}return e.visit(o,(e=>e[i]=n(e,t)))}});function na(t){Di.call(this,[],t)}(0,p.B)(na,Di,{transform(t,e){const n=e.fork(e.ALL),i=t.generator;let r=this.value,o=t.size-r.length,a,s,l;if(o>0){for(a=[];--o>=0;){a.push(l=bn(i(t)));r.push(l)}n.add=n.add.length?n.materialize(n.ADD).add.concat(a):a}else{s=r.slice(0,-o);n.rem=n.rem.length?n.materialize(n.REM).rem.concat(s):s;r=r.slice(-o)}n.source=this.value=r;return n}});const ia={value:"value",median:Ki,mean:Jr,min:qi.A,max:Pi.A};const ra=[];function oa(t){Di.call(this,[],t)}oa.Definition={type:"Impute",metadata:{changes:true},params:[{name:"field",type:"field",required:true},{name:"key",type:"field",required:true},{name:"keyvals",array:true},{name:"groupby",type:"field",array:true},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]};function aa(t){var e=t.method||ia.value,n;if(ia[e]==null){(0,p.z3)("Unrecognized imputation method: "+e)}else if(e===ia.value){n=t.value!==undefined?t.value:0;return()=>n}else{return ia[e]}}function sa(t){const e=t.field;return t=>t?e(t):NaN}(0,p.B)(oa,Di,{transform(t,e){var n=e.fork(e.ALL),i=aa(t),r=sa(t),o=(0,p.N6)(t.field),a=(0,p.N6)(t.key),s=(t.groupby||[]).map(p.N6),l=la(e.source,t.groupby,t.key,t.keyvals),u=[],c=this.value,f=l.domain.length,d,h,m,g,y,v,b,x,_,w;for(y=0,x=l.length;y<x;++y){d=l[y];m=d.values;h=NaN;for(b=0;b<f;++b){if(d[b]!=null)continue;g=l.domain[b];w={_impute:true};for(v=0,_=m.length;v<_;++v)w[s[v]]=m[v];w[a]=g;w[o]=Number.isNaN(h)?h=i(d,r):h;u.push(bn(w))}}if(u.length)n.add=n.materialize(n.ADD).add.concat(u);if(c.length)n.rem=n.materialize(n.REM).rem.concat(c);this.value=u;return n}});function la(t,e,n,i){var r=t=>t(g),o=[],a=i?i.slice():[],s={},l={},u,c,f,d,h,p,m,g;a.forEach(((t,e)=>s[t]=e+1));for(d=0,m=t.length;d<m;++d){g=t[d];p=n(g);h=s[p]||(s[p]=a.push(p));c=(u=e?e.map(r):ra)+"";if(!(f=l[c])){f=l[c]=[];o.push(f);f.values=u}f[h-1]=g}o.domain=a;return o}function ua(t){xo.call(this,t)}ua.Definition={type:"JoinAggregate",metadata:{modifies:true},params:[{name:"groupby",type:"field",array:true},{name:"fields",type:"field",null:true,array:true},{name:"ops",type:"enum",array:true,values:so},{name:"as",type:"string",null:true,array:true},{name:"key",type:"field"}]};(0,p.B)(ua,xo,{transform(t,e){const n=this,i=t.modified();let r;if(n.value&&(i||e.modified(n._inputs,true))){r=n.value=i?n.init(t):{};e.visit(e.SOURCE,(t=>n.add(t)))}else{r=n.value=n.value||this.init(t);e.visit(e.REM,(t=>n.rem(t)));e.visit(e.ADD,(t=>n.add(t)))}n.changes();e.visit(e.SOURCE,(t=>{(0,p.X$)(t,r[n.cellkey(t)].tuple)}));return e.reflow(i).modifies(this._outputs)},changes(){const t=this._adds,e=this._mods;let n,i;for(n=0,i=this._alen;n<i;++n){this.celltuple(t[n]);t[n]=null}for(n=0,i=this._mlen;n<i;++n){this.celltuple(e[n]);e[n]=null}this._alen=this._mlen=0}});function ca(t){Di.call(this,null,t)}ca.Definition={type:"KDE",metadata:{generates:true},params:[{name:"groupby",type:"field",array:true},{name:"field",type:"field",required:true},{name:"cumulative",type:"boolean",default:false},{name:"counts",type:"boolean",default:false},{name:"bandwidth",type:"number",default:0},{name:"extent",type:"number",array:true,length:2},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"as",type:"string",array:true,default:["value","density"]}]};(0,p.B)(ca,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE|e.NO_FIELDS);if(!this.value||e.changed()||t.modified()){const i=e.materialize(e.SOURCE).source,r=Bo(i,t.groupby,t.field),o=(t.groupby||[]).map(p.N6),a=t.bandwidth,s=t.cumulative?"cdf":"pdf",l=t.as||["value","density"],u=[];let c=t.extent,f=t.steps||t.minsteps||25,d=t.steps||t.maxsteps||200;if(s!=="pdf"&&s!=="cdf"){(0,p.z3)("Invalid density method: "+s)}if(t.resolve==="shared"){if(!c)c=(0,p.Xx)(i,t.field);f=d=t.steps||d}r.forEach((e=>{const n=br(e,a)[s],i=t.counts?e.length:1,r=c||(0,p.Xx)(e);Kr(n,r,f,d).forEach((t=>{const n={};for(let i=0;i<o.length;++i){n[o[i]]=e.dims[i]}n[l[0]]=t[0];n[l[1]]=t[1]*i;u.push(bn(n))}))}));if(this.value)n.rem=this.value;this.value=n.add=n.source=u}return n}});function fa(t){Tn.call(this,null,da,t)}(0,p.B)(fa,Tn);function da(t){return this.value&&!t.modified()?this.value:(0,p.Eb)(t.fields,t.flat)}function ha(t){Di.call(this,[],t);this._pending=null}(0,p.B)(ha,Di,{transform(t,e){const n=e.dataflow;if(this._pending){return ma(this,e,this._pending)}if(pa(t))return e.StopPropagation;if(t.values){return ma(this,e,n.parse(t.values,t.format))}else if(t.async){const e=n.request(t.url,t.format).then((t=>{this._pending=(0,p.YO)(t.data);return t=>t.touch(this)}));return{async:e}}else{return n.request(t.url,t.format).then((t=>ma(this,e,(0,p.YO)(t.data))))}}});function pa(t){return t.modified("async")&&!(t.modified("values")||t.modified("url")||t.modified("format"))}function ma(t,e,n){n.forEach(bn);const i=e.fork(e.NO_FIELDS&e.NO_SOURCE);i.rem=t.value;t.value=i.source=i.add=n;t._pending=null;if(i.rem.length)i.clean(true);return i}function ga(t){Di.call(this,{},t)}ga.Definition={type:"Lookup",metadata:{modifies:true},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:true},{name:"key",type:"field",required:true}]},{name:"values",type:"field",array:true},{name:"fields",type:"field",array:true,required:true},{name:"as",type:"string",array:true},{name:"default",default:null}]};(0,p.B)(ga,Di,{transform(t,e){const n=t.fields,i=t.index,r=t.values,o=t.default==null?null:t.default,a=t.modified(),s=n.length;let l=a?e.SOURCE:e.ADD,u=e,c=t.as,f,d,h;if(r){d=r.length;if(s>1&&!c){(0,p.z3)('Multi-field lookup requires explicit "as" parameter.')}if(c&&c.length!==s*d){(0,p.z3)('The "as" parameter has too few output field names.')}c=c||r.map(p.N6);f=function(t){for(var e=0,a=0,l,u;e<s;++e){u=i.get(n[e](t));if(u==null)for(l=0;l<d;++l,++a)t[c[a]]=o;else for(l=0;l<d;++l,++a)t[c[a]]=r[l](u)}}}else{if(!c){(0,p.z3)("Missing output field names.")}f=function(t){for(var e=0,r;e<s;++e){r=i.get(n[e](t));t[c[e]]=r==null?o:r}}}if(a){u=e.reflow(true)}else{h=n.some((t=>e.modified(t.fields)));l|=h?e.MOD:0}e.visit(l,f);return u.modifies(c)}});function ya(t){Tn.call(this,null,va,t)}(0,p.B)(ya,Tn);function va(t){if(this.value&&!t.modified()){return this.value}const e=t.extents,n=e.length;let i=+Infinity,r=-Infinity,o,a;for(o=0;o<n;++o){a=e[o];if(a[0]<i)i=a[0];if(a[1]>r)r=a[1]}return[i,r]}function ba(t){Tn.call(this,null,xa,t)}(0,p.B)(ba,Tn);function xa(t){return this.value&&!t.modified()?this.value:t.values.reduce(((t,e)=>t.concat(e)),[])}function _a(t){Di.call(this,null,t)}(0,p.B)(_a,Di,{transform(t,e){this.modified(t.modified());this.value=t;return e.fork(e.NO_SOURCE|e.NO_FIELDS)}});function wa(t){xo.call(this,t)}wa.Definition={type:"Pivot",metadata:{generates:true,changes:true},params:[{name:"groupby",type:"field",array:true},{name:"field",type:"field",required:true},{name:"value",type:"field",required:true},{name:"op",type:"enum",values:so,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]};(0,p.B)(wa,xo,{_transform:xo.prototype.transform,transform(t,e){return this._transform(ka(t,e),e)}});function ka(t,e){const n=t.field,i=t.value,r=(t.op==="count"?"__count__":t.op)||"sum",o=(0,p.nS)(n).concat((0,p.nS)(i)),a=Sa(n,t.limit||0,e);if(e.changed())t.set("__pivot__",null,null,true);return{key:t.key,groupby:t.groupby,ops:a.map((()=>r)),fields:a.map((t=>Ma(t,n,i,o))),as:a.map((t=>t+"")),modified:t.modified.bind(t)}}function Ma(t,e,n,i){return(0,p.sY)((i=>e(i)===t?n(i):NaN),i,t+"")}function Sa(t,e,n){const i={},r=[];n.visit(n.SOURCE,(e=>{const n=t(e);if(!i[n]){i[n]=1;r.push(n)}}));r.sort(p.V_);return e?r.slice(0,e):r}function Ea(t){Vo.call(this,t)}(0,p.B)(Ea,Vo,{transform(t,e){const n=t.subflow,i=t.field,r=t=>this.subflow(yn(t),n,e,t);if(t.modified("field")||i&&e.modified((0,p.nS)(i))){(0,p.z3)("PreFacet does not support field modification.")}this.initTargets();if(i){e.visit(e.MOD,(t=>{const e=r(t);i(t).forEach((t=>e.mod(t)))}));e.visit(e.ADD,(t=>{const e=r(t);i(t).forEach((t=>e.add(bn(t))))}));e.visit(e.REM,(t=>{const e=r(t);i(t).forEach((t=>e.rem(t)))}))}else{e.visit(e.MOD,(t=>r(t).mod(t)));e.visit(e.ADD,(t=>r(t).add(t)));e.visit(e.REM,(t=>r(t).rem(t)))}if(e.clean()){e.runAfter((()=>this.clean()))}return e}});function za(t){Di.call(this,null,t)}za.Definition={type:"Project",metadata:{generates:true,changes:true},params:[{name:"fields",type:"field",array:true},{name:"as",type:"string",null:true,array:true}]};(0,p.B)(za,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE),i=t.fields,r=Io(t.fields,t.as||[]),o=i?(t,e)=>Aa(t,e,i,r):_n;let a;if(this.value){a=this.value}else{e=e.addAll();a=this.value={}}e.visit(e.REM,(t=>{const e=yn(t);n.rem.push(a[e]);a[e]=null}));e.visit(e.ADD,(t=>{const e=o(t,bn({}));a[yn(t)]=e;n.add.push(e)}));e.visit(e.MOD,(t=>{n.mod.push(o(t,a[yn(t)]))}));return n}});function Aa(t,e,n,i){for(let r=0,o=n.length;r<o;++r){e[i[r]]=n[r](t)}return e}function $a(t){Di.call(this,null,t)}(0,p.B)($a,Di,{transform(t,e){this.value=t.value;return t.modified("value")?e.fork(e.NO_SOURCE|e.NO_FIELDS):e.StopPropagation}});function Oa(t){Di.call(this,null,t)}Oa.Definition={type:"Quantile",metadata:{generates:true,changes:true},params:[{name:"groupby",type:"field",array:true},{name:"field",type:"field",required:true},{name:"probs",type:"number",array:true},{name:"step",type:"number",default:.01},{name:"as",type:"string",array:true,default:["prob","value"]}]};const Ra=1e-14;(0,p.B)(Oa,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=t.as||["prob","value"];if(this.value&&!t.modified()&&!e.changed()){n.source=this.value;return n}const r=e.materialize(e.SOURCE).source,o=Bo(r,t.groupby,t.field),a=(t.groupby||[]).map(p.N6),s=[],l=t.step||.01,u=t.probs||(0,to.A)(l/2,1-Ra,l),c=u.length;o.forEach((t=>{const e=Ji(t,u);for(let n=0;n<c;++n){const r={};for(let e=0;e<a.length;++e){r[a[e]]=t.dims[e]}r[i[0]]=u[n];r[i[1]]=e[n];s.push(bn(r))}}));if(this.value)n.rem=this.value;this.value=n.add=n.source=s;return n}});function Da(t){Di.call(this,null,t)}(0,p.B)(Da,Di,{transform(t,e){let n,i;if(this.value){i=this.value}else{n=e=e.addAll();i=this.value={}}if(t.derive){n=e.fork(e.NO_SOURCE);e.visit(e.REM,(t=>{const e=yn(t);n.rem.push(i[e]);i[e]=null}));e.visit(e.ADD,(t=>{const e=xn(t);i[yn(t)]=e;n.add.push(e)}));e.visit(e.MOD,(t=>{const e=i[yn(t)];for(const i in t){e[i]=t[i];n.modifies(i)}n.mod.push(e)}))}return n}});function Ta(t){Di.call(this,[],t);this.count=0}Ta.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]};(0,p.B)(Ta,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE),i=t.modified("size"),r=t.size,o=this.value.reduce(((t,e)=>(t[yn(e)]=1,t)),{});let a=this.value,s=this.count,l=0;function u(t){let e,i;if(a.length<r){a.push(t)}else{i=~~((s+1)*ir());if(i<a.length&&i>=l){e=a[i];if(o[yn(e)])n.rem.push(e);a[i]=t}}++s}if(e.rem.length){e.visit(e.REM,(t=>{const e=yn(t);if(o[e]){o[e]=-1;n.rem.push(t)}--s}));a=a.filter((t=>o[yn(t)]!==-1))}if((e.rem.length||i)&&a.length<r&&e.source){l=s=a.length;e.visit(e.SOURCE,(t=>{if(!o[yn(t)])u(t)}));l=-1}if(i&&a.length>r){const t=a.length-r;for(let e=0;e<t;++e){o[yn(a[e])]=-1;n.rem.push(a[e])}a=a.slice(t)}if(e.mod.length){e.visit(e.MOD,(t=>{if(o[yn(t)])n.mod.push(t)}))}if(e.add.length){e.visit(e.ADD,u)}if(e.add.length||l<0){n.add=a.filter((t=>!o[yn(t)]))}this.count=s;this.value=n.source=a;return n}});function Na(t){Di.call(this,null,t)}Na.Definition={type:"Sequence",metadata:{generates:true,changes:true},params:[{name:"start",type:"number",required:true},{name:"stop",type:"number",required:true},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]};(0,p.B)(Na,Di,{transform(t,e){if(this.value&&!t.modified())return;const n=e.materialize().fork(e.MOD),i=t.as||"data";n.rem=this.value?e.rem.concat(this.value):e.rem;this.value=(0,to.A)(t.start,t.stop,t.step||1).map((t=>{const e={};e[i]=t;return bn(e)}));n.add=e.add.concat(this.value);return n}});function Ca(t){Di.call(this,null,t);this.modified(true)}(0,p.B)(Ca,Di,{transform(t,e){this.value=e.source;return e.changed()?e.fork(e.NO_SOURCE|e.NO_FIELDS):e.StopPropagation}});function La(t){Di.call(this,null,t)}const Pa=["unit0","unit1"];La.Definition={type:"TimeUnit",metadata:{modifies:true},params:[{name:"field",type:"field",required:true},{name:"interval",type:"boolean",default:true},{name:"units",type:"enum",values:ct,array:true},{name:"step",type:"number",default:1},{name:"maxbins",type:"number",default:40},{name:"extent",type:"date",array:true},{name:"timezone",type:"enum",default:"local",values:["local","utc"]},{name:"as",type:"string",array:true,length:2,default:Pa}]};(0,p.B)(La,Di,{transform(t,e){const n=t.field,i=t.interval!==false,r=t.timezone==="utc",o=this._floor(t,e),a=(r?Bt:It)(o.unit).offset,s=t.as||Pa,l=s[0],u=s[1],c=o.step;let f=o.start||Infinity,d=o.stop||-Infinity,h=e.ADD;if(t.modified()||e.changed(e.REM)||e.modified((0,p.nS)(n))){e=e.reflow(true);h=e.SOURCE;f=Infinity;d=-Infinity}e.visit(h,(t=>{const e=n(t);let r,s;if(e==null){t[l]=null;if(i)t[u]=null}else{t[l]=r=s=o(e);if(i)t[u]=s=a(r,c);if(r<f)f=r;if(s>d)d=s}}));o.start=f;o.stop=d;return e.modifies(i?s:l)},_floor(t,e){const n=t.timezone==="utc";const{units:i,step:r}=t.units?{units:t.units,step:t.step||1}:ce({extent:t.extent||(0,p.Xx)(e.materialize(e.SOURCE).source,t.field),maxbins:t.maxbins});const o=dt(i),a=this.value||{},s=(n?Pt:Nt)(o,r);s.unit=(0,p.se)(o);s.units=o;s.step=r;s.start=a.start;s.stop=a.stop;return this.value=s}});function qa(t){Di.call(this,(0,p.nG)(),t)}(0,p.B)(qa,Di,{transform(t,e){const n=e.dataflow,i=t.field,r=this.value,o=t=>r.set(i(t),t);let a=true;if(t.modified("field")||e.modified(i.fields)){r.clear();e.visit(e.SOURCE,o)}else if(e.changed()){e.visit(e.REM,(t=>r.delete(i(t))));e.visit(e.ADD,o)}else{a=false}this.modified(a);if(r.empty>n.cleanThreshold)n.runAfter(r.clean);return e.fork()}});function Fa(t){Di.call(this,null,t)}(0,p.B)(Fa,Di,{transform(t,e){const n=!this.value||t.modified("field")||t.modified("sort")||e.changed()||t.sort&&e.modified(t.sort.fields);if(n){this.value=(t.sort?e.source.slice().sort(kn(t.sort)):e.source).map(t.field)}}});function Ia(t,e,n,i){const r=Ba[t](e,n);return{init:r.init||p.v_,update:function(t,e){e[i]=r.next(t)}}}const Ba={row_number:function(){return{next:t=>t.index+1}},rank:function(){let t;return{init:()=>t=1,next:e=>{const n=e.index,i=e.data;return n&&e.compare(i[n-1],i[n])?t=n+1:t}}},dense_rank:function(){let t;return{init:()=>t=1,next:e=>{const n=e.index,i=e.data;return n&&e.compare(i[n-1],i[n])?++t:t}}},percent_rank:function(){const t=Ba.rank(),e=t.next;return{init:t.init,next:t=>(e(t)-1)/(t.data.length-1)}},cume_dist:function(){let t;return{init:()=>t=0,next:e=>{const n=e.data,i=e.compare;let r=e.index;if(t<r){while(r+1<n.length&&!i(n[r],n[r+1]))++r;t=r}return(1+t)/n.length}}},ntile:function(t,e){e=+e;if(!(e>0))(0,p.z3)("ntile num must be greater than zero.");const n=Ba.cume_dist(),i=n.next;return{init:n.init,next:t=>Math.ceil(e*i(t))}},lag:function(t,e){e=+e||1;return{next:n=>{const i=n.index-e;return i>=0?t(n.data[i]):null}}},lead:function(t,e){e=+e||1;return{next:n=>{const i=n.index+e,r=n.data;return i<r.length?t(r[i]):null}}},first_value:function(t){return{next:e=>t(e.data[e.i0])}},last_value:function(t){return{next:e=>t(e.data[e.i1-1])}},nth_value:function(t,e){e=+e;if(!(e>0))(0,p.z3)("nth_value nth must be greater than zero.");return{next:n=>{const i=n.i0+(e-1);return i<n.i1?t(n.data[i]):null}}},prev_value:function(t){let e;return{init:()=>e=null,next:n=>{const i=t(n.data[n.index]);return i!=null?e=i:e}}},next_value:function(t){let e,n;return{init:()=>(e=null,n=-1),next:i=>{const r=i.data;return i.index<=n?e:(n=Ua(t,r,i.index))<0?(n=r.length,e=null):e=t(r[n])}}}};function Ua(t,e,n){for(let i=e.length;n<i;++n){const i=t(e[n]);if(i!=null)return n}return-1}const ja=Object.keys(Ba);function Ya(t){const e=(0,p.YO)(t.ops),n=(0,p.YO)(t.fields),i=(0,p.YO)(t.params),r=(0,p.YO)(t.as),o=this.outputs=[],a=this.windows=[],s={},l={},u=[],c=[];let f=true;function d(t){(0,p.YO)((0,p.nS)(t)).forEach((t=>s[t]=1))}d(t.sort);e.forEach(((t,e)=>{const s=n[e],h=(0,p.N6)(s),m=io(t,h,r[e]);d(s);o.push(m);if((0,p.mQ)(Ba,t)){a.push(Ia(t,n[e],i[e],m))}else{if(s==null&&t!=="count"){(0,p.z3)("Null aggregate field specified.")}if(t==="count"){u.push(m);return}f=false;let e=l[h];if(!e){e=l[h]=[];e.field=s;c.push(e)}e.push(uo(t,m))}}));if(u.length||c.length){this.cell=Wa(c,u,f)}this.inputs=Object.keys(s)}const Ga=Ya.prototype;Ga.init=function(){this.windows.forEach((t=>t.init()));if(this.cell)this.cell.init()};Ga.update=function(t,e){const n=this.cell,i=this.windows,r=t.data,o=i&&i.length;let a;if(n){for(a=t.p0;a<t.i0;++a)n.rem(r[a]);for(a=t.p1;a<t.i1;++a)n.add(r[a]);n.set(e)}for(a=0;a<o;++a)i[a].update(t,e)};function Wa(t,e,n){t=t.map((t=>yo(t,t.field)));const i={num:0,agg:null,store:false,count:e};if(!n){var r=t.length,o=i.agg=Array(r),a=0;for(;a<r;++a)o[a]=new t[a](i)}if(i.store){var s=i.data=new vo}i.add=function(t){i.num+=1;if(n)return;if(s)s.add(t);for(let e=0;e<r;++e){o[e].add(o[e].get(t),t)}};i.rem=function(t){i.num-=1;if(n)return;if(s)s.rem(t);for(let e=0;e<r;++e){o[e].rem(o[e].get(t),t)}};i.set=function(t){let r,a;if(s)s.values();for(r=0,a=e.length;r<a;++r)t[e[r]]=i.num;if(!n)for(r=0,a=o.length;r<a;++r)o[r].set(t)};i.init=function(){i.num=0;if(s)s.reset();for(let t=0;t<r;++t)o[t].init()};return i}function Xa(t){Di.call(this,{},t);this._mlen=0;this._mods=[]}Xa.Definition={type:"Window",metadata:{modifies:true},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:true},{name:"ops",type:"enum",array:true,values:ja.concat(so)},{name:"params",type:"number",null:true,array:true},{name:"fields",type:"field",null:true,array:true},{name:"as",type:"string",null:true,array:true},{name:"frame",type:"number",null:true,array:true,length:2,default:[null,0]},{name:"ignorePeers",type:"boolean",default:false}]};(0,p.B)(Xa,Di,{transform(t,e){this.stamp=e.stamp;const n=t.modified(),i=kn(t.sort),r=no(t.groupby),o=t=>this.group(r(t));let a=this.state;if(!a||n){a=this.state=new Ya(t)}if(n||e.modified(a.inputs)){this.value={};e.visit(e.SOURCE,(t=>o(t).add(t)))}else{e.visit(e.REM,(t=>o(t).remove(t)));e.visit(e.ADD,(t=>o(t).add(t)))}for(let s=0,l=this._mlen;s<l;++s){Ha(this._mods[s],a,i,t)}this._mlen=0;this._mods=[];return e.reflow(n).modifies(a.outputs)},group(t){let e=this.value[t];if(!e){e=this.value[t]=ko(yn);e.stamp=-1}if(e.stamp<this.stamp){e.stamp=this.stamp;this._mods[this._mlen++]=e}return e}});function Ha(t,e,n,i){const r=i.sort,o=r&&!i.ignorePeers,a=i.frame||[null,0],s=t.data(n),l=s.length,u=o?(0,Q.A)(r):null,c={i0:0,i1:0,p0:0,p1:0,index:0,data:s,compare:r||(0,p.dY)(-1)};e.init();for(let f=0;f<l;++f){Va(c,a,f,l);if(o)Ka(c,u);e.update(c,s[f])}}function Va(t,e,n,i){t.p0=t.i0;t.p1=t.i1;t.i0=e[0]==null?0:Math.max(0,n-Math.abs(e[0]));t.i1=e[1]==null?i:Math.min(i,n+Math.abs(e[1])+1);t.index=n}function Ka(t,e){const n=t.i0,i=t.i1-1,r=t.compare,o=t.data,a=o.length-1;if(n>0&&!r(o[n],o[n-1]))t.i0=e.left(o,o[n]);if(i<a&&!r(o[i],o[i+1]))t.i1=e.right(o,o[i])}var Za=n(46744);var Qa=n(60075);var Ja=n(69683);var ts=n(54545);var es=n(43793);var ns=n(46457);var is=n(13893);var rs=n(76413);var os=n(25633);var as=n(13309);var ss=n(71228);var ls=n(43272);var us=n(67694);var cs=n(29944);var fs=n(79011);var ds=n(16681);var hs=n(12736);var ps=n(84653);var ms=n(58679);var gs=n(18226);var ys=n(59835);function vs(t,e,n){var i=null,r=(0,ps.A)(true),o=null,a=ss.A,s=null,l=(0,gs.i)(u);t=typeof t==="function"?t:t===undefined?ys.x:(0,ps.A)(+t);e=typeof e==="function"?e:e===undefined?(0,ps.A)(0):(0,ps.A)(+e);n=typeof n==="function"?n:n===undefined?ys.y:(0,ps.A)(+n);function u(u){var c,f,d,h=(u=(0,hs.A)(u)).length,p,m=false,g,y=new Array(h),v=new Array(h);if(o==null)s=a(g=l());for(c=0;c<=h;++c){if(!(c<h&&r(p=u[c],c,u))===m){if(m=!m){f=c;s.areaStart();s.lineStart()}else{s.lineEnd();s.lineStart();for(d=c-1;d>=f;--d){s.point(y[d],v[d])}s.lineEnd();s.areaEnd()}}if(m){y[c]=+t(p,c,u),v[c]=+e(p,c,u);s.point(i?+i(p,c,u):y[c],n?+n(p,c,u):v[c])}}if(g)return s=null,g+""||null}function c(){return(0,ms.A)().defined(r).curve(a).context(o)}u.x=function(e){return arguments.length?(t=typeof e==="function"?e:(0,ps.A)(+e),i=null,u):t};u.x0=function(e){return arguments.length?(t=typeof e==="function"?e:(0,ps.A)(+e),u):t};u.x1=function(t){return arguments.length?(i=t==null?null:typeof t==="function"?t:(0,ps.A)(+t),u):i};u.y=function(t){return arguments.length?(e=typeof t==="function"?t:(0,ps.A)(+t),n=null,u):e};u.y0=function(t){return arguments.length?(e=typeof t==="function"?t:(0,ps.A)(+t),u):e};u.y1=function(t){return arguments.length?(n=t==null?null:typeof t==="function"?t:(0,ps.A)(+t),u):n};u.lineX0=u.lineY0=function(){return c().x(t).y(e)};u.lineY1=function(){return c().x(t).y(n)};u.lineX1=function(){return c().x(i).y(e)};u.defined=function(t){return arguments.length?(r=typeof t==="function"?t:(0,ps.A)(!!t),u):r};u.curve=function(t){return arguments.length?(a=t,o!=null&&(s=a(o)),u):a};u.context=function(t){return arguments.length?(t==null?o=s=null:s=a(o=t),u):o};return u}var bs=n(98247);const xs=(0,bs.RZ)(3);const _s={draw(t,e){const n=(0,bs.RZ)(e+(0,bs.jk)(e/28,.75))*.59436;const i=n/2;const r=i*xs;t.moveTo(0,n);t.lineTo(0,-n);t.moveTo(-r,-i);t.lineTo(r,i);t.moveTo(-r,i);t.lineTo(r,-i)}};const ws={draw(t,e){const n=(0,bs.RZ)(e/bs.pi);t.moveTo(n,0);t.arc(0,0,n,0,bs.FA)}};const ks={draw(t,e){const n=(0,bs.RZ)(e/5)/2;t.moveTo(-3*n,-n);t.lineTo(-n,-n);t.lineTo(-n,-3*n);t.lineTo(n,-3*n);t.lineTo(n,-n);t.lineTo(3*n,-n);t.lineTo(3*n,n);t.lineTo(n,n);t.lineTo(n,3*n);t.lineTo(-n,3*n);t.lineTo(-n,n);t.lineTo(-3*n,n);t.closePath()}};const Ms=(0,bs.RZ)(1/3);const Ss=Ms*2;const Es={draw(t,e){const n=(0,bs.RZ)(e/Ss);const i=n*Ms;t.moveTo(0,-n);t.lineTo(i,0);t.lineTo(0,n);t.lineTo(-i,0);t.closePath()}};const zs={draw(t,e){const n=(0,bs.RZ)(e)*.62625;t.moveTo(0,-n);t.lineTo(n,0);t.lineTo(0,n);t.lineTo(-n,0);t.closePath()}};const As={draw(t,e){const n=(0,bs.RZ)(e-(0,bs.jk)(e/7,2))*.87559;t.moveTo(-n,0);t.lineTo(n,0);t.moveTo(0,n);t.lineTo(0,-n)}};const $s={draw(t,e){const n=(0,bs.RZ)(e);const i=-n/2;t.rect(i,i,n,n)}};const Os={draw(t,e){const n=(0,bs.RZ)(e)*.4431;t.moveTo(n,n);t.lineTo(n,-n);t.lineTo(-n,-n);t.lineTo(-n,n);t.closePath()}};const Rs=.8908130915292852;const Ds=(0,bs.F8)(bs.pi/10)/(0,bs.F8)(7*bs.pi/10);const Ts=(0,bs.F8)(bs.FA/10)*Ds;const Ns=-(0,bs.gn)(bs.FA/10)*Ds;const Cs={draw(t,e){const n=(0,bs.RZ)(e*Rs);const i=Ts*n;const r=Ns*n;t.moveTo(0,-n);t.lineTo(i,r);for(let o=1;o<5;++o){const e=bs.FA*o/5;const a=(0,bs.gn)(e);const s=(0,bs.F8)(e);t.lineTo(s*n,-a*n);t.lineTo(a*i-s*r,s*i+a*r)}t.closePath()}};const Ls=(0,bs.RZ)(3);const Ps={draw(t,e){const n=-(0,bs.RZ)(e/(Ls*3));t.moveTo(0,n*2);t.lineTo(-Ls*n,-n);t.lineTo(Ls*n,-n);t.closePath()}};const qs=(0,bs.RZ)(3);const Fs={draw(t,e){const n=(0,bs.RZ)(e)*.6824;const i=n/2;const r=n*qs/2;t.moveTo(0,-n);t.lineTo(r,i);t.lineTo(-r,i);t.closePath()}};const Is=-.5;const Bs=(0,bs.RZ)(3)/2;const Us=1/(0,bs.RZ)(12);const js=(Us/2+1)*3;const Ys={draw(t,e){const n=(0,bs.RZ)(e/js);const i=n/2,r=n*Us;const o=i,a=n*Us+n;const s=-o,l=a;t.moveTo(i,r);t.lineTo(o,a);t.lineTo(s,l);t.lineTo(Is*i-Bs*r,Bs*i+Is*r);t.lineTo(Is*o-Bs*a,Bs*o+Is*a);t.lineTo(Is*s-Bs*l,Bs*s+Is*l);t.lineTo(Is*i+Bs*r,Is*r-Bs*i);t.lineTo(Is*o+Bs*a,Is*a-Bs*o);t.lineTo(Is*s+Bs*l,Is*l-Bs*s);t.closePath()}};const Gs={draw(t,e){const n=(0,bs.RZ)(e-(0,bs.jk)(e/6,1.7))*.6189;t.moveTo(-n,-n);t.lineTo(n,n);t.moveTo(-n,n);t.lineTo(n,-n)}};const Ws=[ws,ks,Es,$s,Cs,Ps,Ys];const Xs=[ws,As,Gs,Fs,_s,Os,zs];function Hs(t,e){let n=null,i=(0,gs.i)(r);t=typeof t==="function"?t:(0,ps.A)(t||ws);e=typeof e==="function"?e:(0,ps.A)(e===undefined?64:+e);function r(){let r;if(!n)n=r=i();t.apply(this,arguments).draw(n,+e.apply(this,arguments));if(r)return n=null,r+""||null}r.type=function(e){return arguments.length?(t=typeof e==="function"?e:(0,ps.A)(e),r):t};r.size=function(t){return arguments.length?(e=typeof t==="function"?t:(0,ps.A)(+t),r):e};r.context=function(t){return arguments.length?(n=t==null?null:t,r):n};return r}var Vs=n(69450);function Ks(t,e){if(typeof document!=="undefined"&&document.createElement){const n=document.createElement("canvas");if(n&&n.getContext){n.width=t;n.height=e;return n}}return null}const Zs=()=>typeof Image!=="undefined"?Image:null;var Qs=n(71363);var Js=n(20481);var tl=n(60117);function el(t){var e;function n(t){return t==null||isNaN(t=+t)?e:t}n.invert=n;n.domain=n.range=function(e){return arguments.length?(t=Array.from(e,tl.A),n):t.slice()};n.unknown=function(t){return arguments.length?(e=t,n):e};n.copy=function(){return el(t).unknown(e)};t=arguments.length?Array.from(t,tl.A):[0,1];return(0,Js.C)(n)}var nl=n(60125);var il=n(52178);var rl=n(25758);function ol(t){return Math.log(t)}function al(t){return Math.exp(t)}function sl(t){return-Math.log(-t)}function ll(t){return-Math.exp(-t)}function ul(t){return isFinite(t)?+("1e"+t):t<0?0:t}function cl(t){return t===10?ul:t===Math.E?Math.exp:e=>Math.pow(t,e)}function fl(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function dl(t){return(e,n)=>-t(-e,n)}function hl(t){const e=t(ol,al);const n=e.domain;let i=10;let r;let o;function a(){r=fl(i),o=cl(i);if(n()[0]<0){r=dl(r),o=dl(o);t(sl,ll)}else{t(ol,al)}return e}e.base=function(t){return arguments.length?(i=+t,a()):i};e.domain=function(t){return arguments.length?(n(t),a()):n()};e.ticks=t=>{const e=n();let a=e[0];let s=e[e.length-1];const l=s<a;if(l)[a,s]=[s,a];let u=r(a);let c=r(s);let f;let d;const h=t==null?10:+t;let p=[];if(!(i%1)&&c-u<h){u=Math.floor(u),c=Math.ceil(c);if(a>0)for(;u<=c;++u){for(f=1;f<i;++f){d=u<0?f/o(-u):f*o(u);if(d<a)continue;if(d>s)break;p.push(d)}}else for(;u<=c;++u){for(f=i-1;f>=1;--f){d=u>0?f/o(-u):f*o(u);if(d<a)continue;if(d>s)break;p.push(d)}}if(p.length*2<h)p=(0,P.Ay)(a,s,h)}else{p=(0,P.Ay)(u,c,Math.min(c-u,h)).map(o)}return l?p.reverse():p};e.tickFormat=(t,n)=>{if(t==null)t=10;if(n==null)n=i===10?"s":",";if(typeof n!=="function"){if(!(i%1)&&(n=(0,q.A)(n)).precision==null)n.trim=true;n=(0,U.GP)(n)}if(t===Infinity)return n;const a=Math.max(1,i*t/e.ticks().length);return t=>{let e=t/o(Math.round(r(t)));if(e*i<i-.5)e*=i;return e<=a?n(t):""}};e.nice=()=>n((0,nl.A)(n(),{floor:t=>o(Math.floor(r(t))),ceil:t=>o(Math.ceil(r(t)))}));return e}function pl(){const t=hl((0,il.Gu)()).domain([1,10]);t.copy=()=>(0,il.C)(t,pl()).base(t.base());rl.C.apply(t,arguments);return t}function ml(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function gl(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function yl(t){return t<0?-t*t:t*t}function vl(t){var e=t(il.D_,il.D_),n=1;function i(){return n===1?t(il.D_,il.D_):n===.5?t(gl,yl):t(ml(n),ml(1/n))}e.exponent=function(t){return arguments.length?(n=+t,i()):n};return(0,Js.C)(e)}function bl(){var t=vl((0,il.Gu)());t.copy=function(){return(0,il.C)(t,bl()).exponent(t.exponent())};rl.C.apply(t,arguments);return t}function xl(){return bl.apply(null,arguments).exponent(.5)}function _l(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function wl(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function kl(t){var e=1,n=t(_l(e),wl(e));n.constant=function(n){return arguments.length?t(_l(e=+n),wl(e)):e};return(0,Js.C)(n)}function Ml(){var t=kl((0,il.Gu)());t.copy=function(){return(0,il.C)(t,Ml()).constant(t.constant())};return rl.C.apply(t,arguments)}var Sl=n(74725);var El=n(20421);function zl(){return rl.C.apply((0,Sl.B)(El.$Z,El.lk,W.Mb,X.R6,G.Hl,Y.dA,H.pz,V.vD,K.R,fe.aL).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}var Al=n(21406);var $l=n(15307);function Ol(){var t=0,e=1,n,i,r,o,a=il.D_,s=false,l;function u(t){return t==null||isNaN(t=+t)?l:a(r===0?.5:(t=(o(t)-n)*r,s?Math.max(0,Math.min(1,t)):t))}u.domain=function(a){return arguments.length?([t,e]=a,n=o(t=+t),i=o(e=+e),r=n===i?0:1/(i-n),u):[t,e]};u.clamp=function(t){return arguments.length?(s=!!t,u):s};u.interpolator=function(t){return arguments.length?(a=t,u):a};function c(t){return function(e){var n,i;return arguments.length?([n,i]=e,a=t(n,i),u):[a(0),a(1)]}}u.range=c(Al.A);u.rangeRound=c($l.A);u.unknown=function(t){return arguments.length?(l=t,u):l};return function(a){o=a,n=a(t),i=a(e),r=n===i?0:1/(i-n);return u}}function Rl(t,e){return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function Dl(){var t=(0,Js.C)(Ol()(il.D_));t.copy=function(){return Rl(t,Dl())};return rl.K.apply(t,arguments)}function Tl(){var t=hl(Ol()).domain([1,10]);t.copy=function(){return Rl(t,Tl()).base(t.base())};return rl.K.apply(t,arguments)}function Nl(){var t=kl(Ol());t.copy=function(){return Rl(t,Nl()).constant(t.constant())};return rl.K.apply(t,arguments)}function Cl(){var t=vl(Ol());t.copy=function(){return Rl(t,Cl()).exponent(t.exponent())};return rl.K.apply(t,arguments)}function Ll(){return Cl.apply(null,arguments).exponent(.5)}var Pl=n(99793);function ql(){var t=0,e=.5,n=1,i=1,r,o,a,s,l,u=il.D_,c,f=false,d;function h(t){return isNaN(t=+t)?d:(t=.5+((t=+c(t))-o)*(i*t<i*o?s:l),u(f?Math.max(0,Math.min(1,t)):t))}h.domain=function(u){return arguments.length?([t,e,n]=u,r=c(t=+t),o=c(e=+e),a=c(n=+n),s=r===o?0:.5/(o-r),l=o===a?0:.5/(a-o),i=o<r?-1:1,h):[t,e,n]};h.clamp=function(t){return arguments.length?(f=!!t,h):f};h.interpolator=function(t){return arguments.length?(u=t,h):u};function p(t){return function(e){var n,i,r;return arguments.length?([n,i,r]=e,u=(0,Pl.A)(t,[n,i,r]),h):[u(0),u(.5),u(1)]}}h.range=p(Al.A);h.rangeRound=p($l.A);h.unknown=function(t){return arguments.length?(d=t,h):d};return function(u){c=u,r=u(t),o=u(e),a=u(n),s=r===o?0:.5/(o-r),l=o===a?0:.5/(a-o),i=o<r?-1:1;return h}}function Fl(){var t=(0,Js.C)(ql()(il.D_));t.copy=function(){return Rl(t,Fl())};return rl.K.apply(t,arguments)}function Il(){var t=hl(ql()).domain([.1,1,10]);t.copy=function(){return Rl(t,Il()).base(t.base())};return rl.K.apply(t,arguments)}function Bl(){var t=kl(ql());t.copy=function(){return Rl(t,Bl()).constant(t.constant())};return rl.K.apply(t,arguments)}function Ul(){var t=vl(ql());t.copy=function(){return Rl(t,Ul()).exponent(t.exponent())};return rl.K.apply(t,arguments)}function jl(){return Ul.apply(null,arguments).exponent(.5)}function Yl(){var t=[],e=[],n=[],i;function r(){var i=0,r=Math.max(1,e.length);n=new Array(r-1);while(++i<r)n[i-1]=Wi(t,i/r);return o}function o(t){return t==null||isNaN(t=+t)?i:e[(0,Qs.Ay)(n,t)]}o.invertExtent=function(i){var r=e.indexOf(i);return r<0?[NaN,NaN]:[r>0?n[r-1]:t[0],r<n.length?n[r]:t[t.length-1]]};o.domain=function(e){if(!arguments.length)return t.slice();t=[];for(let n of e)if(n!=null&&!isNaN(n=+n))t.push(n);t.sort(Li.A);return r()};o.range=function(t){return arguments.length?(e=Array.from(t),r()):e.slice()};o.unknown=function(t){return arguments.length?(i=t,o):i};o.quantiles=function(){return n.slice()};o.copy=function(){return Yl().domain(t).range(e).unknown(i)};return rl.C.apply(o,arguments)}function Gl(){var t=0,e=1,n=1,i=[.5],r=[0,1],o;function a(t){return t!=null&&t<=t?r[(0,Qs.Ay)(i,t,0,n)]:o}function s(){var r=-1;i=new Array(n);while(++r<n)i[r]=((r+1)*e-(r-n)*t)/(n+1);return a}a.domain=function(n){return arguments.length?([t,e]=n,t=+t,e=+e,s()):[t,e]};a.range=function(t){return arguments.length?(n=(r=Array.from(t)).length-1,s()):r.slice()};a.invertExtent=function(o){var a=r.indexOf(o);return a<0?[NaN,NaN]:a<1?[t,i[0]]:a>=n?[i[n-1],e]:[i[a-1],i[a]]};a.unknown=function(t){return arguments.length?(o=t,a):a};a.thresholds=function(){return i.slice()};a.copy=function(){return Gl().domain([t,e]).range(r).unknown(o)};return rl.C.apply((0,Js.C)(a),arguments)}function Wl(){var t=[.5],e=[0,1],n,i=1;function r(r){return r!=null&&r<=r?e[(0,Qs.Ay)(t,r,0,i)]:n}r.domain=function(n){return arguments.length?(t=Array.from(n),i=Math.min(t.length,e.length-1),r):t.slice()};r.range=function(n){return arguments.length?(e=Array.from(n),i=Math.min(t.length,e.length-1),r):e.slice()};r.invertExtent=function(n){var i=e.indexOf(n);return[t[i-1],t[i]]};r.unknown=function(t){return arguments.length?(n=t,r):n};r.copy=function(){return Wl().domain(t).range(e).unknown(n)};return rl.C.apply(r,arguments)}var Xl=n(16527);var Hl=n(26698);var Vl=n(67360);function Kl(t,e,n){const i=t-e+n*2;return t?i>0?i:1:0}const Zl="identity";const Ql="linear";const Jl="log";const tu="pow";const eu="sqrt";const nu="symlog";const iu="time";const ru="utc";const ou="sequential";const au="diverging";const su="quantile";const lu="quantize";const uu="threshold";const cu="ordinal";const fu="point";const du="band";const hu="bin-ordinal";const pu="continuous";const mu="discrete";const gu="discretizing";const yu="interpolating";const vu="temporal";function bu(t){return function(e){let n=e[0],i=e[1],r;if(i<n){r=n;n=i;i=r}return[t.invert(n),t.invert(i)]}}function xu(t){return function(e){const n=t.range();let i=e[0],r=e[1],o=-1,a,s,l,u;if(r<i){s=i;i=r;r=s}for(l=0,u=n.length;l<u;++l){if(n[l]>=i&&n[l]<=r){if(o<0)o=l;a=l}}if(o<0)return undefined;i=t.invertExtent(n[o]);r=t.invertExtent(n[a]);return[i[0]===undefined?i[1]:i[0],r[1]===undefined?r[0]:r[1]]}}function _u(){const t=(0,Xl.A)().unknown(undefined),e=t.domain,n=t.range;let i=[0,1],r,o,a=false,s=0,l=0,u=.5;delete t.unknown;function c(){const t=e().length,c=i[1]<i[0],f=i[1-c],d=Kl(t,s,l);let h=i[c-0];r=(f-h)/(d||1);if(a){r=Math.floor(r)}h+=(f-h-r*(t-s))*u;o=r*(1-s);if(a){h=Math.round(h);o=Math.round(o)}const p=(0,to.A)(t).map((t=>h+r*t));return n(c?p.reverse():p)}t.domain=function(t){if(arguments.length){e(t);return c()}else{return e()}};t.range=function(t){if(arguments.length){i=[+t[0],+t[1]];return c()}else{return i.slice()}};t.rangeRound=function(t){i=[+t[0],+t[1]];a=true;return c()};t.bandwidth=function(){return o};t.step=function(){return r};t.round=function(t){if(arguments.length){a=!!t;return c()}else{return a}};t.padding=function(t){if(arguments.length){l=Math.max(0,Math.min(1,t));s=l;return c()}else{return s}};t.paddingInner=function(t){if(arguments.length){s=Math.max(0,Math.min(1,t));return c()}else{return s}};t.paddingOuter=function(t){if(arguments.length){l=Math.max(0,Math.min(1,t));return c()}else{return l}};t.align=function(t){if(arguments.length){u=Math.max(0,Math.min(1,t));return c()}else{return u}};t.invertRange=function(t){if(t[0]==null||t[1]==null)return;const r=i[1]<i[0],a=r?n().reverse():n(),s=a.length-1;let l=+t[0],u=+t[1],c,f,d;if(l!==l||u!==u)return;if(u<l){d=l;l=u;u=d}if(u<a[0]||l>i[1-r])return;c=Math.max(0,(0,Qs.Jj)(a,l)-1);f=l===u?c:(0,Qs.Jj)(a,u)-1;if(l-a[c]>o+1e-10)++c;if(r){d=c;c=s-f;f=s-d}return c>f?undefined:e().slice(c,f+1)};t.invert=function(e){const n=t.invertRange([e,e]);return n?n[0]:n};t.copy=function(){return _u().domain(e()).range(i).round(a).paddingInner(s).paddingOuter(l).align(u)};return c()}function wu(t){const e=t.copy;t.padding=t.paddingOuter;delete t.paddingInner;t.copy=function(){return wu(e())};return t}function ku(){return wu(_u().paddingInner(1))}var Mu=Array.prototype.map;function Su(t){return Mu.call(t,p.Ro)}const Eu=Array.prototype.slice;function zu(){let t=[],e=[];function n(n){return n==null||n!==n?undefined:e[((0,Qs.Ay)(t,n)-1)%e.length]}n.domain=function(e){if(arguments.length){t=Su(e);return n}else{return t.slice()}};n.range=function(t){if(arguments.length){e=Eu.call(t);return n}else{return e.slice()}};n.tickFormat=function(e,n){return(0,Hl.A)(t[0],(0,p.se)(t),e==null?10:e,n)};n.copy=function(){return zu().domain(n.domain()).range(n.range())};return n}const Au=new Map;const $u=Symbol("vega_scale");function Ou(t){t[$u]=true;return t}function Ru(t){return t&&t[$u]===true}function Du(t,e,n){const i=function n(){const i=e();if(!i.invertRange){i.invertRange=i.invert?bu(i):i.invertExtent?xu(i):undefined}i.type=t;return Ou(i)};i.metadata=(0,p.M1)((0,p.YO)(n));return i}function Tu(t,e,n){if(arguments.length>1){Au.set(t,Du(t,e,n));return this}else{return Nu(t)?Au.get(t):undefined}}Tu(Zl,el);Tu(Ql,Js.A,pu);Tu(Jl,pl,[pu,Jl]);Tu(tu,bl,pu);Tu(eu,xl,pu);Tu(nu,Ml,pu);Tu(iu,Sl.A,[pu,vu]);Tu(ru,zl,[pu,vu]);Tu(ou,Dl,[pu,yu]);Tu(`${ou}-${Ql}`,Dl,[pu,yu]);Tu(`${ou}-${Jl}`,Tl,[pu,yu,Jl]);Tu(`${ou}-${tu}`,Cl,[pu,yu]);Tu(`${ou}-${eu}`,Ll,[pu,yu]);Tu(`${ou}-${nu}`,Nl,[pu,yu]);Tu(`${au}-${Ql}`,Fl,[pu,yu]);Tu(`${au}-${Jl}`,Il,[pu,yu,Jl]);Tu(`${au}-${tu}`,Ul,[pu,yu]);Tu(`${au}-${eu}`,jl,[pu,yu]);Tu(`${au}-${nu}`,Bl,[pu,yu]);Tu(su,Yl,[gu,su]);Tu(lu,Gl,gu);Tu(uu,Wl,gu);Tu(hu,zu,[mu,gu]);Tu(cu,Xl.A,mu);Tu(du,_u,mu);Tu(fu,ku,mu);function Nu(t){return Au.has(t)}function Cu(t,e){const n=Au.get(t);return n&&n.metadata[e]}function Lu(t){return Cu(t,pu)}function Pu(t){return Cu(t,mu)}function qu(t){return Cu(t,gu)}function Fu(t){return Cu(t,Jl)}function Iu(t){return Cu(t,vu)}function Bu(t){return Cu(t,yu)}function Uu(t){return Cu(t,su)}const ju=["clamp","base","constant","exponent"];function Yu(t,e){const n=e[0],i=(0,p.se)(e)-n;return function(e){return t(n+e*i)}}function Gu(t,e,n){return Pl.A(Vu(e||"rgb",n),t)}function Wu(t,e){const n=new Array(e),i=e+1;for(let r=0;r<e;)n[r]=t(++r/i);return n}function Xu(t){const e=t.type,n=t.copy();n.type=e;return n}function Hu(t,e,n){const i=n-e;let r,o,a;if(!i||!Number.isFinite(i)){return(0,p.dY)(.5)}else{r=(o=t.type).indexOf("-");o=r<0?o:o.slice(r+1);a=Tu(o)().domain([e,n]).range([0,1]);ju.forEach((e=>t[e]?a[e](t[e]()):0));return a}}function Vu(t,e){const n=Vl[Ku(t)];return e!=null&&n&&n.gamma?n.gamma(e):n}function Ku(t){return"interpolate"+t.toLowerCase().split("-").map((t=>t[0].toUpperCase()+t.slice(1))).join("")}const Zu={blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",cividis:"00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",turbo:"23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"};const Qu={category10:"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf",category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5",accent:"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666",dark2:"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666",paired:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928",pastel1:"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2",pastel2:"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc",set1:"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999",set2:"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3",set3:"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"};function Ju(t){const e=t.length/6|0,n=new Array(e);for(let i=0;i<e;){n[i]="#"+t.slice(i*6,++i*6)}return n}function tc(t,e){for(const n in t)nc(n,e(t[n]))}const ec={};tc(Qu,Ju);tc(Zu,(t=>Gu(Ju(t))));function nc(t,e){t=t&&t.toLowerCase();if(arguments.length>1){ec[t]=e;return this}else{return ec[t]}}const ic="symbol";const rc="discrete";const oc="gradient";const ac=t=>(0,p.cy)(t)?t.map((t=>String(t))):String(t);const sc=(t,e)=>t[1]-e[1];const lc=(t,e)=>e[1]-t[1];function uc(t,e,n){let i;if((0,p.Et)(e)){if(t.bins){e=Math.max(e,t.bins.length)}if(n!=null){e=Math.min(e,Math.floor((0,p.Ln)(t.domain())/n||1))}}if((0,p.Gv)(e)){i=e.step;e=e.interval}if((0,p.Kg)(e)){e=t.type===iu?It(e):t.type==ru?Bt(e):(0,p.z3)("Only time and utc scales accept interval strings.");if(i)e=e.every(i)}return e}function cc(t,e,n){let i=t.range(),r=i[0],o=(0,p.se)(i),a=sc;if(r>o){i=o;o=r;r=i;a=lc}r=Math.floor(r);o=Math.ceil(o);e=e.map((e=>[e,t(e)])).filter((t=>r<=t[1]&&t[1]<=o)).sort(a).map((t=>t[0]));if(n>0&&e.length>1){const t=[e[0],(0,p.se)(e)];while(e.length>n&&e.length>=3){e=e.filter(((t,e)=>!(e%2)))}if(e.length<3){e=t}}return e}function fc(t,e){return t.bins?cc(t,t.bins):t.ticks?t.ticks(e):t.domain()}function dc(t,e,n,i,r,o){const a=e.type;let s=ac;if(a===iu||r===iu){s=t.timeFormat(i)}else if(a===ru||r===ru){s=t.utcFormat(i)}else if(Fu(a)){const r=t.formatFloat(i);if(o||e.bins){s=r}else{const t=hc(e,n,false);s=e=>t(e)?r(e):""}}else if(e.tickFormat){const r=e.domain();s=t.formatSpan(r[0],r[r.length-1],n,i)}else if(i){s=t.format(i)}return s}function hc(t,e,n){const i=fc(t,e),r=t.base(),o=Math.log(r),a=Math.max(1,r*e/i.length);const s=t=>{let e=t/Math.pow(r,Math.round(Math.log(t)/o));if(e*r<r-.5)e*=r;return e<=a};return n?i.filter(s):s}const pc={[su]:"quantiles",[lu]:"thresholds",[uu]:"domain"};const mc={[su]:"quantiles",[lu]:"domain"};function gc(t,e){return t.bins?bc(t.bins):t.type===Jl?hc(t,e,true):pc[t.type]?vc(t[pc[t.type]]()):fc(t,e)}function yc(t,e,n){const i=e[mc[e.type]](),r=i.length;let o=r>1?i[1]-i[0]:i[0],a;for(a=1;a<r;++a){o=Math.min(o,i[a]-i[a-1])}return t.formatSpan(0,o,3*10,n)}function vc(t){const e=[-Infinity].concat(t);e.max=+Infinity;return e}function bc(t){const e=t.slice(0,-1);e.max=(0,p.se)(t);return e}const xc=t=>pc[t.type]||t.bins;function _c(t,e,n,i,r,o,a){const s=mc[e.type]&&o!==iu&&o!==ru?yc(t,e,r):dc(t,e,n,r,o,a);return i===ic&&xc(e)?wc(s):i===rc?Mc(s):Sc(s)}const wc=t=>(e,n,i)=>{const r=kc(i[n+1],kc(i.max,+Infinity)),o=Ec(e,t),a=Ec(r,t);return o&&a?o+" – "+a:a?"< "+a:"≥ "+o};const kc=(t,e)=>t!=null?t:e;const Mc=t=>(e,n)=>n?t(e):null;const Sc=t=>e=>t(e);const Ec=(t,e)=>Number.isFinite(t)?e(t):null;function zc(t){const e=t.domain(),n=e.length-1;let i=+e[0],r=+(0,p.se)(e),o=r-i;if(t.type===uu){const t=n?o/n:.1;i-=t;r+=t;o=r-i}return t=>(t-i)/o}function Ac(t,e,n,i){const r=i||e.type;if((0,p.Kg)(n)&&Iu(r)){n=n.replace(/%a/g,"%A").replace(/%b/g,"%B")}return!n&&r===iu?t.timeFormat("%A, %d %B %Y, %X"):!n&&r===ru?t.utcFormat("%A, %d %B %Y, %X UTC"):_c(t,e,5,null,n,i,true)}function $c(t,e,n){n=n||{};const i=Math.max(3,n.maxlen||7),r=Ac(t,e,n.format,n.formatType);if(qu(e.type)){const t=gc(e).slice(1).map(r),n=t.length;return`${n} boundar${n===1?"y":"ies"}: ${t.join(", ")}`}else if(Pu(e.type)){const t=e.domain(),n=t.length,o=n>i?t.slice(0,i-2).map(r).join(", ")+", ending with "+t.slice(-1).map(r):t.map(r).join(", ");return`${n} value${n===1?"":"s"}: ${o}`}else{const t=e.domain();return`values from ${r(t[0])} to ${r((0,p.se)(t))}`}}let Oc=0;function Rc(){Oc=0}const Dc="p_";function Tc(t){return t&&t.gradient}function Nc(t,e,n){const i=t.gradient;let r=t.id,o=i==="radial"?Dc:"";if(!r){r=t.id="gradient_"+Oc++;if(i==="radial"){t.x1=Cc(t.x1,.5);t.y1=Cc(t.y1,.5);t.r1=Cc(t.r1,0);t.x2=Cc(t.x2,.5);t.y2=Cc(t.y2,.5);t.r2=Cc(t.r2,.5);o=Dc}else{t.x1=Cc(t.x1,0);t.y1=Cc(t.y1,0);t.x2=Cc(t.x2,1);t.y2=Cc(t.y2,0)}}e[r]=t;return"url("+(n||"")+"#"+o+r+")"}function Cc(t,e){return t!=null?t:e}function Lc(t,e){var n=[],i;return i={gradient:"linear",x1:t?t[0]:0,y1:t?t[1]:0,x2:e?e[0]:1,y2:e?e[1]:0,stops:n,stop:function(t,e){n.push({offset:t,color:e});return i}}}const Pc={basis:{curve:Za.Ay},"basis-closed":{curve:Qa.A},"basis-open":{curve:Ja.A},bundle:{curve:ts.A,tension:"beta",value:.85},cardinal:{curve:es.Ay,tension:"tension",value:0},"cardinal-open":{curve:ns.A,tension:"tension",value:0},"cardinal-closed":{curve:is.A,tension:"tension",value:0},"catmull-rom":{curve:rs.A,tension:"alpha",value:.5},"catmull-rom-closed":{curve:os.A,tension:"alpha",value:.5},"catmull-rom-open":{curve:as.A,tension:"alpha",value:.5},linear:{curve:ss.A},"linear-closed":{curve:ls.A},monotone:{horizontal:us.N,vertical:us.G},natural:{curve:cs.A},step:{curve:fs.Ay},"step-after":{curve:fs.Ps},"step-before":{curve:fs.Ko}};function qc(t,e,n){var i=(0,p.mQ)(Pc,t)&&Pc[t],r=null;if(i){r=i.curve||i[e||"vertical"];if(i.tension&&n!=null){r=r[i.tension](n)}}return r}const Fc={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7};const Ic=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi;const Bc=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/;const Uc=/^((\s+,?\s*)|(,\s*))/;const jc=/^[01]/;function Yc(t){const e=[];const n=t.match(Ic)||[];n.forEach((t=>{let n=t[0];const i=n.toLowerCase();const r=Fc[i];const o=Gc(i,r,t.slice(1).trim());const a=o.length;if(a<r||a&&a%r!==0){throw Error("Invalid SVG path, incorrect parameter count")}e.push([n,...o.slice(0,r)]);if(a===r){return}if(i==="m"){n=n==="M"?"L":"l"}for(let s=r;s<a;s+=r){e.push([n,...o.slice(s,s+r)])}}));return e}function Gc(t,e,n){const i=[];for(let r=0;e&&r<n.length;){for(let o=0;o<e;++o){const e=t==="a"&&(o===3||o===4)?jc:Bc;const a=n.slice(r).match(e);if(a===null){throw Error("Invalid SVG path, incorrect parameter type")}r+=a[0].length;i.push(+a[0]);const s=n.slice(r).match(Uc);if(s!==null){r+=s[0].length}}}return i}const Wc=Math.PI/180;const Xc=1e-14;const Hc=Math.PI/2;const Vc=Math.PI*2;const Kc=Math.sqrt(3)/2;var Zc={};var Qc={};var Jc=[].join;function tf(t,e,n,i,r,o,a,s,l){const u=Jc.call(arguments);if(Zc[u]){return Zc[u]}const c=a*Wc;const f=Math.sin(c);const d=Math.cos(c);n=Math.abs(n);i=Math.abs(i);const h=d*(s-t)*.5+f*(l-e)*.5;const p=d*(l-e)*.5-f*(s-t)*.5;let m=h*h/(n*n)+p*p/(i*i);if(m>1){m=Math.sqrt(m);n*=m;i*=m}const g=d/n;const y=f/n;const v=-f/i;const b=d/i;const x=g*s+y*l;const _=v*s+b*l;const w=g*t+y*e;const k=v*t+b*e;const M=(w-x)*(w-x)+(k-_)*(k-_);let S=1/M-.25;if(S<0)S=0;let E=Math.sqrt(S);if(o==r)E=-E;const z=.5*(x+w)-E*(k-_);const A=.5*(_+k)+E*(w-x);const $=Math.atan2(_-A,x-z);const O=Math.atan2(k-A,w-z);let R=O-$;if(R<0&&o===1){R+=Vc}else if(R>0&&o===0){R-=Vc}const D=Math.ceil(Math.abs(R/(Hc+.001)));const T=[];for(let N=0;N<D;++N){const t=$+N*R/D;const e=$+(N+1)*R/D;T[N]=[z,A,t,e,n,i,f,d]}return Zc[u]=T}function ef(t){const e=Jc.call(t);if(Qc[e]){return Qc[e]}var n=t[0],i=t[1],r=t[2],o=t[3],a=t[4],s=t[5],l=t[6],u=t[7];const c=u*a;const f=-l*s;const d=l*a;const h=u*s;const p=Math.cos(r);const m=Math.sin(r);const g=Math.cos(o);const y=Math.sin(o);const v=.5*(o-r);const b=Math.sin(v*.5);const x=8/3*b*b/Math.sin(v);const _=n+p-x*m;const w=i+m+x*p;const k=n+g;const M=i+y;const S=k+x*y;const E=M-x*g;return Qc[e]=[c*_+f*w,d*_+h*w,c*S+f*E,d*S+h*E,c*k+f*M,d*k+h*M]}const nf=["l",0,0,0,0,0,0,0];function rf(t,e,n){const i=nf[0]=t[0];if(i==="a"||i==="A"){nf[1]=e*t[1];nf[2]=n*t[2];nf[3]=t[3];nf[4]=t[4];nf[5]=t[5];nf[6]=e*t[6];nf[7]=n*t[7]}else if(i==="h"||i==="H"){nf[1]=e*t[1]}else if(i==="v"||i==="V"){nf[1]=n*t[1]}else{for(var r=1,o=t.length;r<o;++r){nf[r]=(r%2==1?e:n)*t[r]}}return nf}function of(t,e,n,i,r,o){var a,s=null,l=0,u=0,c=0,f=0,d,h,p,m,g=0,y=0;if(n==null)n=0;if(i==null)i=0;if(r==null)r=1;if(o==null)o=r;if(t.beginPath)t.beginPath();for(var v=0,b=e.length;v<b;++v){a=e[v];if(r!==1||o!==1){a=rf(a,r,o)}switch(a[0]){case"l":l+=a[1];u+=a[2];t.lineTo(l+n,u+i);break;case"L":l=a[1];u=a[2];t.lineTo(l+n,u+i);break;case"h":l+=a[1];t.lineTo(l+n,u+i);break;case"H":l=a[1];t.lineTo(l+n,u+i);break;case"v":u+=a[1];t.lineTo(l+n,u+i);break;case"V":u=a[1];t.lineTo(l+n,u+i);break;case"m":l+=a[1];u+=a[2];g=l;y=u;t.moveTo(l+n,u+i);break;case"M":l=a[1];u=a[2];g=l;y=u;t.moveTo(l+n,u+i);break;case"c":d=l+a[5];h=u+a[6];c=l+a[3];f=u+a[4];t.bezierCurveTo(l+a[1]+n,u+a[2]+i,c+n,f+i,d+n,h+i);l=d;u=h;break;case"C":l=a[5];u=a[6];c=a[3];f=a[4];t.bezierCurveTo(a[1]+n,a[2]+i,c+n,f+i,l+n,u+i);break;case"s":d=l+a[3];h=u+a[4];c=2*l-c;f=2*u-f;t.bezierCurveTo(c+n,f+i,l+a[1]+n,u+a[2]+i,d+n,h+i);c=l+a[1];f=u+a[2];l=d;u=h;break;case"S":d=a[3];h=a[4];c=2*l-c;f=2*u-f;t.bezierCurveTo(c+n,f+i,a[1]+n,a[2]+i,d+n,h+i);l=d;u=h;c=a[1];f=a[2];break;case"q":d=l+a[3];h=u+a[4];c=l+a[1];f=u+a[2];t.quadraticCurveTo(c+n,f+i,d+n,h+i);l=d;u=h;break;case"Q":d=a[3];h=a[4];t.quadraticCurveTo(a[1]+n,a[2]+i,d+n,h+i);l=d;u=h;c=a[1];f=a[2];break;case"t":d=l+a[1];h=u+a[2];if(s[0].match(/[QqTt]/)===null){c=l;f=u}else if(s[0]==="t"){c=2*l-p;f=2*u-m}else if(s[0]==="q"){c=2*l-c;f=2*u-f}p=c;m=f;t.quadraticCurveTo(c+n,f+i,d+n,h+i);l=d;u=h;c=l+a[1];f=u+a[2];break;case"T":d=a[1];h=a[2];c=2*l-c;f=2*u-f;t.quadraticCurveTo(c+n,f+i,d+n,h+i);l=d;u=h;break;case"a":af(t,l+n,u+i,[a[1],a[2],a[3],a[4],a[5],a[6]+l+n,a[7]+u+i]);l+=a[6];u+=a[7];break;case"A":af(t,l+n,u+i,[a[1],a[2],a[3],a[4],a[5],a[6]+n,a[7]+i]);l=a[6];u=a[7];break;case"z":case"Z":l=g;u=y;t.closePath();break}s=a}}function af(t,e,n,i){const r=tf(i[5],i[6],i[0],i[1],i[3],i[4],i[2],e,n);for(let o=0;o<r.length;++o){const e=ef(r[o]);t.bezierCurveTo(e[0],e[1],e[2],e[3],e[4],e[5])}}const sf=.5773502691896257;const lf={circle:{draw:function(t,e){const n=Math.sqrt(e)/2;t.moveTo(n,0);t.arc(0,0,n,0,Vc)}},cross:{draw:function(t,e){var n=Math.sqrt(e)/2,i=n/2.5;t.moveTo(-n,-i);t.lineTo(-n,i);t.lineTo(-i,i);t.lineTo(-i,n);t.lineTo(i,n);t.lineTo(i,i);t.lineTo(n,i);t.lineTo(n,-i);t.lineTo(i,-i);t.lineTo(i,-n);t.lineTo(-i,-n);t.lineTo(-i,-i);t.closePath()}},diamond:{draw:function(t,e){const n=Math.sqrt(e)/2;t.moveTo(-n,0);t.lineTo(0,-n);t.lineTo(n,0);t.lineTo(0,n);t.closePath()}},square:{draw:function(t,e){var n=Math.sqrt(e),i=-n/2;t.rect(i,i,n,n)}},arrow:{draw:function(t,e){var n=Math.sqrt(e)/2,i=n/7,r=n/2.5,o=n/8;t.moveTo(-i,n);t.lineTo(i,n);t.lineTo(i,-o);t.lineTo(r,-o);t.lineTo(0,-n);t.lineTo(-r,-o);t.lineTo(-i,-o);t.closePath()}},wedge:{draw:function(t,e){var n=Math.sqrt(e)/2,i=Kc*n,r=i-n*sf,o=n/4;t.moveTo(0,-i-r);t.lineTo(-o,i-r);t.lineTo(o,i-r);t.closePath()}},triangle:{draw:function(t,e){var n=Math.sqrt(e)/2,i=Kc*n,r=i-n*sf;t.moveTo(0,-i-r);t.lineTo(-n,i-r);t.lineTo(n,i-r);t.closePath()}},"triangle-up":{draw:function(t,e){var n=Math.sqrt(e)/2,i=Kc*n;t.moveTo(0,-i);t.lineTo(-n,i);t.lineTo(n,i);t.closePath()}},"triangle-down":{draw:function(t,e){var n=Math.sqrt(e)/2,i=Kc*n;t.moveTo(0,i);t.lineTo(-n,-i);t.lineTo(n,-i);t.closePath()}},"triangle-right":{draw:function(t,e){var n=Math.sqrt(e)/2,i=Kc*n;t.moveTo(i,0);t.lineTo(-i,-n);t.lineTo(-i,n);t.closePath()}},"triangle-left":{draw:function(t,e){var n=Math.sqrt(e)/2,i=Kc*n;t.moveTo(-i,0);t.lineTo(i,-n);t.lineTo(i,n);t.closePath()}},stroke:{draw:function(t,e){const n=Math.sqrt(e)/2;t.moveTo(-n,0);t.lineTo(n,0)}}};function uf(t){return(0,p.mQ)(lf,t)?lf[t]:ff(t)}var cf={};function ff(t){if(!(0,p.mQ)(cf,t)){const e=Yc(t);cf[t]={draw:function(t,n){of(t,e,0,0,Math.sqrt(n)/2)}}}return cf[t]}const df=.448084975506;function hf(t){return t.x}function pf(t){return t.y}function mf(t){return t.width}function gf(t){return t.height}function yf(t){return typeof t==="function"?t:()=>+t}function vf(t,e,n){return Math.max(e,Math.min(t,n))}function bf(){var t=hf,e=pf,n=mf,i=gf,r=yf(0),o=r,a=r,s=r,l=null;function u(u,c,f){var d,h=c!=null?c:+t.call(this,u),p=f!=null?f:+e.call(this,u),m=+n.call(this,u),g=+i.call(this,u),y=Math.min(m,g)/2,v=vf(+r.call(this,u),0,y),b=vf(+o.call(this,u),0,y),x=vf(+a.call(this,u),0,y),_=vf(+s.call(this,u),0,y);if(!l)l=d=(0,Vs.Ae)();if(v<=0&&b<=0&&x<=0&&_<=0){l.rect(h,p,m,g)}else{var w=h+m,k=p+g;l.moveTo(h+v,p);l.lineTo(w-b,p);l.bezierCurveTo(w-df*b,p,w,p+df*b,w,p+b);l.lineTo(w,k-_);l.bezierCurveTo(w,k-df*_,w-df*_,k,w-_,k);l.lineTo(h+x,k);l.bezierCurveTo(h+df*x,k,h,k-df*x,h,k-x);l.lineTo(h,p+v);l.bezierCurveTo(h,p+df*v,h+df*v,p,h+v,p);l.closePath()}if(d){l=null;return d+""||null}}u.x=function(e){if(arguments.length){t=yf(e);return u}else{return t}};u.y=function(t){if(arguments.length){e=yf(t);return u}else{return e}};u.width=function(t){if(arguments.length){n=yf(t);return u}else{return n}};u.height=function(t){if(arguments.length){i=yf(t);return u}else{return i}};u.cornerRadius=function(t,e,n,i){if(arguments.length){r=yf(t);o=e!=null?yf(e):r;s=n!=null?yf(n):r;a=i!=null?yf(i):o;return u}else{return r}};u.context=function(t){if(arguments.length){l=t==null?null:t;return u}else{return l}};return u}function xf(){var t,e,n,i,r=null,o,a,s,l;function u(t,e,n){const i=n/2;if(o){var u=s-e,c=t-a;if(u||c){var f=Math.sqrt(u*u+c*c),d=(u/=f)*l,h=(c/=f)*l,p=Math.atan2(c,u);r.moveTo(a-d,s-h);r.lineTo(t-u*i,e-c*i);r.arc(t,e,i,p-Math.PI,p);r.lineTo(a+d,s+h);r.arc(a,s,l,p,p+Math.PI)}else{r.arc(t,e,i,0,Vc)}r.closePath()}else{o=1}a=t;s=e;l=i}function c(a){var s,l=a.length,c,f=false,d;if(r==null)r=d=(0,Vs.Ae)();for(s=0;s<=l;++s){if(!(s<l&&i(c=a[s],s,a))===f){if(f=!f)o=0}if(f)u(+t(c,s,a),+e(c,s,a),+n(c,s,a))}if(d){r=null;return d+""||null}}c.x=function(e){if(arguments.length){t=e;return c}else{return t}};c.y=function(t){if(arguments.length){e=t;return c}else{return e}};c.size=function(t){if(arguments.length){n=t;return c}else{return n}};c.defined=function(t){if(arguments.length){i=t;return c}else{return i}};c.context=function(t){if(arguments.length){if(t==null){r=null}else{r=t}return c}else{return r}};return c}function _f(t,e){return t!=null?t:e}const wf=t=>t.x||0,kf=t=>t.y||0,Mf=t=>t.width||0,Sf=t=>t.height||0,Ef=t=>(t.x||0)+(t.width||0),zf=t=>(t.y||0)+(t.height||0),Af=t=>t.startAngle||0,$f=t=>t.endAngle||0,Of=t=>t.padAngle||0,Rf=t=>t.innerRadius||0,Df=t=>t.outerRadius||0,Tf=t=>t.cornerRadius||0,Nf=t=>_f(t.cornerRadiusTopLeft,t.cornerRadius)||0,Cf=t=>_f(t.cornerRadiusTopRight,t.cornerRadius)||0,Lf=t=>_f(t.cornerRadiusBottomRight,t.cornerRadius)||0,Pf=t=>_f(t.cornerRadiusBottomLeft,t.cornerRadius)||0,qf=t=>_f(t.size,64),Ff=t=>t.size||1,If=t=>!(t.defined===false),Bf=t=>uf(t.shape||"circle");const Uf=(0,ds.A)().startAngle(Af).endAngle($f).padAngle(Of).innerRadius(Rf).outerRadius(Df).cornerRadius(Tf),jf=vs().x(wf).y1(kf).y0(zf).defined(If),Yf=vs().y(kf).x1(wf).x0(Ef).defined(If),Gf=(0,ms.A)().x(wf).y(kf).defined(If),Wf=bf().x(wf).y(kf).width(Mf).height(Sf).cornerRadius(Nf,Cf,Lf,Pf),Xf=Hs().type(Bf).size(qf),Hf=xf().x(wf).y(kf).defined(If).size(Ff);function Vf(t){return t.cornerRadius||t.cornerRadiusTopLeft||t.cornerRadiusTopRight||t.cornerRadiusBottomRight||t.cornerRadiusBottomLeft}function Kf(t,e){return Uf.context(t)(e)}function Zf(t,e){const n=e[0],i=n.interpolate||"linear";return(n.orient==="horizontal"?Yf:jf).curve(qc(i,n.orient,n.tension)).context(t)(e)}function Qf(t,e){const n=e[0],i=n.interpolate||"linear";return Gf.curve(qc(i,n.orient,n.tension)).context(t)(e)}function Jf(t,e,n,i){return Wf.context(t)(e,n,i)}function td(t,e){return(e.mark.shape||e.shape).context(t)(e)}function ed(t,e){return Xf.context(t)(e)}function nd(t,e){return Hf.context(t)(e)}var id=1;function rd(){id=1}function od(t,e,n){var i=e.clip,r=t._defs,o=e.clip_id||(e.clip_id="clip"+id++),a=r.clipping[o]||(r.clipping[o]={id:o});if((0,p.Tn)(i)){a.path=i(null)}else if(Vf(n)){a.path=Jf(null,n,0,0)}else{a.width=n.width||0;a.height=n.height||0}return"url(#"+o+")"}function ad(t){this.clear();if(t)this.union(t)}ad.prototype={clone(){return new ad(this)},clear(){this.x1=+Number.MAX_VALUE;this.y1=+Number.MAX_VALUE;this.x2=-Number.MAX_VALUE;this.y2=-Number.MAX_VALUE;return this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(t){return this.x1===t.x1&&this.y1===t.y1&&this.x2===t.x2&&this.y2===t.y2},set(t,e,n,i){if(n<t){this.x2=t;this.x1=n}else{this.x1=t;this.x2=n}if(i<e){this.y2=e;this.y1=i}else{this.y1=e;this.y2=i}return this},add(t,e){if(t<this.x1)this.x1=t;if(e<this.y1)this.y1=e;if(t>this.x2)this.x2=t;if(e>this.y2)this.y2=e;return this},expand(t){this.x1-=t;this.y1-=t;this.x2+=t;this.y2+=t;return this},round(){this.x1=Math.floor(this.x1);this.y1=Math.floor(this.y1);this.x2=Math.ceil(this.x2);this.y2=Math.ceil(this.y2);return this},scale(t){this.x1*=t;this.y1*=t;this.x2*=t;this.y2*=t;return this},translate(t,e){this.x1+=t;this.x2+=t;this.y1+=e;this.y2+=e;return this},rotate(t,e,n){const i=this.rotatedPoints(t,e,n);return this.clear().add(i[0],i[1]).add(i[2],i[3]).add(i[4],i[5]).add(i[6],i[7])},rotatedPoints(t,e,n){var{x1:i,y1:r,x2:o,y2:a}=this,s=Math.cos(t),l=Math.sin(t),u=e-e*s+n*l,c=n-e*l-n*s;return[s*i-l*r+u,l*i+s*r+c,s*i-l*a+u,l*i+s*a+c,s*o-l*r+u,l*o+s*r+c,s*o-l*a+u,l*o+s*a+c]},union(t){if(t.x1<this.x1)this.x1=t.x1;if(t.y1<this.y1)this.y1=t.y1;if(t.x2>this.x2)this.x2=t.x2;if(t.y2>this.y2)this.y2=t.y2;return this},intersect(t){if(t.x1>this.x1)this.x1=t.x1;if(t.y1>this.y1)this.y1=t.y1;if(t.x2<this.x2)this.x2=t.x2;if(t.y2<this.y2)this.y2=t.y2;return this},encloses(t){return t&&this.x1<=t.x1&&this.x2>=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},alignsWith(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},intersects(t){return t&&!(this.x2<t.x1||this.x1>t.x2||this.y2<t.y1||this.y1>t.y2)},contains(t,e){return!(t<this.x1||t>this.x2||e<this.y1||e>this.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}};function sd(t){this.mark=t;this.bounds=this.bounds||new ad}function ld(t){sd.call(this,t);this.items=this.items||[]}(0,p.B)(ld,sd);function ud(t){this._pending=0;this._loader=t||fn()}function cd(t){t._pending+=1}function fd(t){t._pending-=1}ud.prototype={pending(){return this._pending},sanitizeURL(t){const e=this;cd(e);return e._loader.sanitize(t,{context:"href"}).then((t=>{fd(e);return t})).catch((()=>{fd(e);return null}))},loadImage(t){const e=this,n=Zs();cd(e);return e._loader.sanitize(t,{context:"image"}).then((t=>{const i=t.href;if(!i||!n)throw{url:i};const r=new n;const o=(0,p.mQ)(t,"crossOrigin")?t.crossOrigin:"anonymous";if(o!=null)r.crossOrigin=o;r.onload=()=>fd(e);r.onerror=()=>fd(e);r.src=i;return r})).catch((t=>{fd(e);return{complete:false,width:0,height:0,src:t&&t.url||""}}))},ready(){const t=this;return new Promise((e=>{function n(i){if(!t.pending())e(i);else setTimeout((()=>{n(true)}),10)}n(false)}))}};function dd(t,e,n){if(e.stroke&&e.opacity!==0&&e.strokeOpacity!==0){const i=e.strokeWidth!=null?+e.strokeWidth:1;t.expand(i+(n?hd(e,i):0))}return t}function hd(t,e){return t.strokeJoin&&t.strokeJoin!=="miter"?0:e}const pd=Vc-1e-8;let md,gd,yd,vd,bd,xd,_d,wd;const kd=(t,e)=>md.add(t,e);const Md=(t,e)=>kd(gd=t,yd=e);const Sd=t=>kd(t,md.y1);const Ed=t=>kd(md.x1,t);const zd=(t,e)=>bd*t+_d*e;const Ad=(t,e)=>xd*t+wd*e;const $d=(t,e)=>kd(zd(t,e),Ad(t,e));const Od=(t,e)=>Md(zd(t,e),Ad(t,e));function Rd(t,e){md=t;if(e){vd=e*Wc;bd=wd=Math.cos(vd);xd=Math.sin(vd);_d=-xd}else{bd=wd=1;vd=xd=_d=0}return Dd}const Dd={beginPath(){},closePath(){},moveTo:Od,lineTo:Od,rect(t,e,n,i){if(vd){$d(t+n,e);$d(t+n,e+i);$d(t,e+i);Od(t,e)}else{kd(t+n,e+i);Md(t,e)}},quadraticCurveTo(t,e,n,i){const r=zd(t,e),o=Ad(t,e),a=zd(n,i),s=Ad(n,i);Td(gd,r,a,Sd);Td(yd,o,s,Ed);Md(a,s)},bezierCurveTo(t,e,n,i,r,o){const a=zd(t,e),s=Ad(t,e),l=zd(n,i),u=Ad(n,i),c=zd(r,o),f=Ad(r,o);Nd(gd,a,l,c,Sd);Nd(yd,s,u,f,Ed);Md(c,f)},arc(t,e,n,i,r,o){i+=vd;r+=vd;gd=n*Math.cos(r)+t;yd=n*Math.sin(r)+e;if(Math.abs(r-i)>pd){kd(t-n,e-n);kd(t+n,e+n)}else{const a=i=>kd(n*Math.cos(i)+t,n*Math.sin(i)+e);let s,l;a(i);a(r);if(r!==i){i=i%Vc;if(i<0)i+=Vc;r=r%Vc;if(r<0)r+=Vc;if(r<i){o=!o;s=i;i=r;r=s}if(o){r-=Vc;s=i-i%Hc;for(l=0;l<4&&s>r;++l,s-=Hc)a(s)}else{s=i-i%Hc+Hc;for(l=0;l<4&&s<r;++l,s=s+Hc)a(s)}}}}};function Td(t,e,n,i){const r=(t-e)/(t+n-2*e);if(0<r&&r<1)i(t+(e-t)*r)}function Nd(t,e,n,i,r){const o=i-t+3*e-3*n,a=t+n-2*e,s=t-e;let l=0,u=0,c;if(Math.abs(o)>Xc){c=a*a+s*o;if(c>=0){c=Math.sqrt(c);l=(-a+c)/o;u=(-a-c)/o}}else{l=.5*s/a}if(0<l&&l<1)r(Cd(l,t,e,n,i));if(0<u&&u<1)r(Cd(u,t,e,n,i))}function Cd(t,e,n,i,r){const o=1-t,a=o*o,s=t*t;return a*o*e+3*a*t*n+3*o*s*i+s*t*r}var Ld=(Ld=Ks(1,1))?Ld.getContext("2d"):null;const Pd=new ad;function qd(t){return function(e,n){if(!Ld)return true;t(Ld,e);Pd.clear().union(e.bounds).intersect(n).round();const{x1:i,y1:r,x2:o,y2:a}=Pd;for(let t=r;t<=a;++t){for(let e=i;e<=o;++e){if(Ld.isPointInPath(e,t)){return true}}}return false}}function Fd(t,e){return e.contains(t.x||0,t.y||0)}function Id(t,e){const n=t.x||0,i=t.y||0,r=t.width||0,o=t.height||0;return e.intersects(Pd.set(n,i,n+r,i+o))}function Bd(t,e){const n=t.x||0,i=t.y||0,r=t.x2!=null?t.x2:n,o=t.y2!=null?t.y2:i;return Ud(e,n,i,r,o)}function Ud(t,e,n,i,r){const{x1:o,y1:a,x2:s,y2:l}=t,u=i-e,c=r-n;let f=0,d=1,h,p,m,g;for(g=0;g<4;++g){if(g===0){h=-u;p=-(o-e)}if(g===1){h=u;p=s-e}if(g===2){h=-c;p=-(a-n)}if(g===3){h=c;p=l-n}if(Math.abs(h)<1e-10&&p<0)return false;m=p/h;if(h<0){if(m>d)return false;else if(m>f)f=m}else if(h>0){if(m<f)return false;else if(m<d)d=m}}return true}function jd(t,e){t.globalCompositeOperation=e.blend||"source-over"}function Yd(t,e){return t==null?e:t}function Gd(t,e){const n=e.length;for(let i=0;i<n;++i){t.addColorStop(e[i].offset,e[i].color)}return t}function Wd(t,e,n){const i=n.width(),r=n.height();let o;if(e.gradient==="radial"){o=t.createRadialGradient(n.x1+Yd(e.x1,.5)*i,n.y1+Yd(e.y1,.5)*r,Math.max(i,r)*Yd(e.r1,0),n.x1+Yd(e.x2,.5)*i,n.y1+Yd(e.y2,.5)*r,Math.max(i,r)*Yd(e.r2,.5))}else{const a=Yd(e.x1,0),s=Yd(e.y1,0),l=Yd(e.x2,1),u=Yd(e.y2,0);if(a===l||s===u||i===r){o=t.createLinearGradient(n.x1+a*i,n.y1+s*r,n.x1+l*i,n.y1+u*r)}else{const n=Ks(Math.ceil(i),Math.ceil(r)),o=n.getContext("2d");o.scale(i,r);o.fillStyle=Gd(o.createLinearGradient(a,s,l,u),e.stops);o.fillRect(0,0,i,r);return t.createPattern(n,"no-repeat")}}return Gd(o,e.stops)}function Xd(t,e,n){return Tc(n)?Wd(t,n,e.bounds):n}function Hd(t,e,n){n*=e.fillOpacity==null?1:e.fillOpacity;if(n>0){t.globalAlpha=n;t.fillStyle=Xd(t,e,e.fill);return true}else{return false}}var Vd=[];function Kd(t,e,n){var i=(i=e.strokeWidth)!=null?i:1;if(i<=0)return false;n*=e.strokeOpacity==null?1:e.strokeOpacity;if(n>0){t.globalAlpha=n;t.strokeStyle=Xd(t,e,e.stroke);t.lineWidth=i;t.lineCap=e.strokeCap||"butt";t.lineJoin=e.strokeJoin||"miter";t.miterLimit=e.strokeMiterLimit||10;if(t.setLineDash){t.setLineDash(e.strokeDash||Vd);t.lineDashOffset=e.strokeDashOffset||0}return true}else{return false}}function Zd(t,e){return t.zindex-e.zindex||t.index-e.index}function Qd(t){if(!t.zdirty)return t.zitems;var e=t.items,n=[],i,r,o;for(r=0,o=e.length;r<o;++r){i=e[r];i.index=r;if(i.zindex)n.push(i)}t.zdirty=false;return t.zitems=n.sort(Zd)}function Jd(t,e){var n=t.items,i,r;if(!n||!n.length)return;const o=Qd(t);if(o&&o.length){for(i=0,r=n.length;i<r;++i){if(!n[i].zindex)e(n[i])}n=o}for(i=0,r=n.length;i<r;++i){e(n[i])}}function th(t,e){var n=t.items,i,r;if(!n||!n.length)return null;const o=Qd(t);if(o&&o.length)n=o;for(r=n.length;--r>=0;){if(i=e(n[r]))return i}if(n===o){for(n=t.items,r=n.length;--r>=0;){if(!n[r].zindex){if(i=e(n[r]))return i}}}return null}function eh(t){return function(e,n,i){Jd(n,(n=>{if(!i||i.intersects(n.bounds)){ih(t,e,n,n)}}))}}function nh(t){return function(e,n,i){if(n.items.length&&(!i||i.intersects(n.bounds))){ih(t,e,n.items[0],n.items)}}}function ih(t,e,n,i){var r=n.opacity==null?1:n.opacity;if(r===0)return;if(t(e,i))return;jd(e,n);if(n.fill&&Hd(e,n,r)){e.fill()}if(n.stroke&&Kd(e,n,r)){e.stroke()}}function rh(t){t=t||p.vN;return function(e,n,i,r,o,a){i*=e.pixelRatio;r*=e.pixelRatio;return th(n,(n=>{const s=n.bounds;if(s&&!s.contains(o,a)||!s)return;if(t(e,n,i,r,o,a))return n}))}}function oh(t,e){return function(n,i,r,o){var a=Array.isArray(i)?i[0]:i,s=e==null?a.fill:e,l=a.stroke&&n.isPointInStroke,u,c;if(l){u=a.strokeWidth;c=a.strokeCap;n.lineWidth=u!=null?u:1;n.lineCap=c!=null?c:"butt"}return t(n,i)?false:s&&n.isPointInPath(r,o)||l&&n.isPointInStroke(r,o)}}function ah(t){return rh(oh(t))}function sh(t,e){return"translate("+t+","+e+")"}function lh(t){return"rotate("+t+")"}function uh(t,e){return"scale("+t+","+e+")"}function ch(t){return sh(t.x||0,t.y||0)}function fh(t){return sh(t.x||0,t.y||0)+(t.angle?" "+lh(t.angle):"")}function dh(t){return sh(t.x||0,t.y||0)+(t.angle?" "+lh(t.angle):"")+(t.scaleX||t.scaleY?" "+uh(t.scaleX||1,t.scaleY||1):"")}function hh(t,e,n){function i(t,n){t("transform",fh(n));t("d",e(null,n))}function r(t,n){e(Rd(t,n.angle),n);return dd(t,n).translate(n.x||0,n.y||0)}function o(t,n){var i=n.x||0,r=n.y||0,o=n.angle||0;t.translate(i,r);if(o)t.rotate(o*=Wc);t.beginPath();e(t,n);if(o)t.rotate(-o);t.translate(-i,-r)}return{type:t,tag:"path",nested:false,attr:i,bound:r,draw:eh(o),pick:ah(o),isect:n||qd(o)}}var ph=hh("arc",Kf);function mh(t,e){var n=t[0].orient==="horizontal"?e[1]:e[0],i=t[0].orient==="horizontal"?"y":"x",r=t.length,o=+Infinity,a,s;while(--r>=0){if(t[r].defined===false)continue;s=Math.abs(t[r][i]-n);if(s<o){o=s;a=t[r]}}return a}function gh(t,e){var n=Math.pow(t[0].strokeWidth||1,2),i=t.length,r,o,a;while(--i>=0){if(t[i].defined===false)continue;r=t[i].x-e[0];o=t[i].y-e[1];a=r*r+o*o;if(a<n)return t[i]}return null}function yh(t,e){var n=t.length,i,r,o;while(--n>=0){if(t[n].defined===false)continue;i=t[n].x-e[0];r=t[n].y-e[1];o=i*i+r*r;i=t[n].size||1;if(o<i*i)return t[n]}return null}function vh(t,e,n){function i(t,n){var i=n.mark.items;if(i.length)t("d",e(null,i))}function r(t,n){var i=n.items;if(i.length===0){return t}else{e(Rd(t),i);return dd(t,i[0])}}function o(t,n){t.beginPath();e(t,n)}const a=oh(o);function s(t,e,n,i,r,o){var s=e.items,l=e.bounds;if(!s||!s.length||l&&!l.contains(r,o)){return null}n*=t.pixelRatio;i*=t.pixelRatio;return a(t,s,n,i)?s[0]:null}return{type:t,tag:"path",nested:true,attr:i,bound:r,draw:nh(o),pick:s,isect:Fd,tip:n}}var bh=vh("area",Zf,mh);function xh(t,e){var n=e.clip;t.save();if((0,p.Tn)(n)){t.beginPath();n(t);t.clip()}else{_h(t,e.group)}}function _h(t,e){t.beginPath();Vf(e)?Jf(t,e,0,0):t.rect(0,0,e.width||0,e.height||0);t.clip()}function wh(t){const e=Yd(t.strokeWidth,1);return t.strokeOffset!=null?t.strokeOffset:t.stroke&&e>.5&&e<1.5?.5-Math.abs(e-1):0}function kh(t,e){t("transform",ch(e))}function Mh(t,e){const n=wh(e);t("d",Jf(null,e,n,n))}function Sh(t,e){t("class","background");t("aria-hidden",true);Mh(t,e)}function Eh(t,e){t("class","foreground");t("aria-hidden",true);if(e.strokeForeground){Mh(t,e)}else{t("d","")}}function zh(t,e,n){const i=e.clip?od(n,e,e):null;t("clip-path",i)}function Ah(t,e){if(!e.clip&&e.items){const n=e.items,i=n.length;for(let e=0;e<i;++e){t.union(n[e].bounds)}}if((e.clip||e.width||e.height)&&!e.noBound){t.add(0,0).add(e.width||0,e.height||0)}dd(t,e);return t.translate(e.x||0,e.y||0)}function $h(t,e,n,i){const r=wh(e);t.beginPath();Jf(t,e,(n||0)+r,(i||0)+r)}const Oh=oh($h);const Rh=oh($h,false);const Dh=oh($h,true);function Th(t,e,n){Jd(e,(e=>{const i=e.x||0,r=e.y||0,o=e.strokeForeground,a=e.opacity==null?1:e.opacity;if((e.stroke||e.fill)&&a){$h(t,e,i,r);jd(t,e);if(e.fill&&Hd(t,e,a)){t.fill()}if(e.stroke&&!o&&Kd(t,e,a)){t.stroke()}}t.save();t.translate(i,r);if(e.clip)_h(t,e);if(n)n.translate(-i,-r);Jd(e,(e=>{this.draw(t,e,n)}));if(n)n.translate(i,r);t.restore();if(o&&e.stroke&&a){$h(t,e,i,r);jd(t,e);if(Kd(t,e,a)){t.stroke()}}}))}function Nh(t,e,n,i,r,o){if(e.bounds&&!e.bounds.contains(r,o)||!e.items){return null}const a=n*t.pixelRatio,s=i*t.pixelRatio;return th(e,(l=>{let u,c,f;const d=l.bounds;if(d&&!d.contains(r,o))return;c=l.x||0;f=l.y||0;const h=c+(l.width||0),p=f+(l.height||0),m=l.clip;if(m&&(r<c||r>h||o<f||o>p))return;t.save();t.translate(c,f);c=r-c;f=o-f;if(m&&Vf(l)&&!Dh(t,l,a,s)){t.restore();return null}const g=l.strokeForeground,y=e.interactive!==false;if(y&&g&&l.stroke&&Rh(t,l,a,s)){t.restore();return l}u=th(l,(t=>Ch(t,c,f)?this.pick(t,n,i,c,f):null));if(!u&&y&&(l.fill||!g&&l.stroke)&&Oh(t,l,a,s)){u=l}t.restore();return u||null}))}function Ch(t,e,n){return(t.interactive!==false||t.marktype==="group")&&t.bounds&&t.bounds.contains(e,n)}var Lh={type:"group",tag:"g",nested:false,attr:kh,bound:Ah,draw:Th,pick:Nh,isect:Id,content:zh,background:Sh,foreground:Eh};var Ph={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function qh(t,e){var n=t.image;if(!n||t.url&&t.url!==n.url){n={complete:false,width:0,height:0};e.loadImage(t.url).then((e=>{t.image=e;t.image.url=t.url}))}return n}function Fh(t,e){return t.width!=null?t.width:!e||!e.width?0:t.aspect!==false&&t.height?t.height*e.width/e.height:e.width}function Ih(t,e){return t.height!=null?t.height:!e||!e.height?0:t.aspect!==false&&t.width?t.width*e.height/e.width:e.height}function Bh(t,e){return t==="center"?e/2:t==="right"?e:0}function Uh(t,e){return t==="middle"?e/2:t==="bottom"?e:0}function jh(t,e,n){const i=qh(e,n),r=Fh(e,i),o=Ih(e,i),a=(e.x||0)-Bh(e.align,r),s=(e.y||0)-Uh(e.baseline,o),l=!i.src&&i.toDataURL?i.toDataURL():i.src||"";t("href",l,Ph["xmlns:xlink"],"xlink:href");t("transform",sh(a,s));t("width",r);t("height",o);t("preserveAspectRatio",e.aspect===false?"none":"xMidYMid")}function Yh(t,e){const n=e.image,i=Fh(e,n),r=Ih(e,n),o=(e.x||0)-Bh(e.align,i),a=(e.y||0)-Uh(e.baseline,r);return t.set(o,a,o+i,a+r)}function Gh(t,e,n){Jd(e,(e=>{if(n&&!n.intersects(e.bounds))return;const i=qh(e,this);let r=Fh(e,i);let o=Ih(e,i);if(r===0||o===0)return;let a=(e.x||0)-Bh(e.align,r),s=(e.y||0)-Uh(e.baseline,o),l,u,c,f;if(e.aspect!==false){u=i.width/i.height;c=e.width/e.height;if(u===u&&c===c&&u!==c){if(c<u){f=r/u;s+=(o-f)/2;o=f}else{f=o*u;a+=(r-f)/2;r=f}}}if(i.complete||i.toDataURL){jd(t,e);t.globalAlpha=(l=e.opacity)!=null?l:1;t.imageSmoothingEnabled=e.smooth!==false;t.drawImage(i,a,s,r,o)}}))}var Wh={type:"image",tag:"image",nested:false,attr:jh,bound:Yh,draw:Gh,pick:rh(),isect:p.vN,get:qh,xOffset:Bh,yOffset:Uh};var Xh=vh("line",Qf,gh);function Hh(t,e){var n=e.scaleX||1,i=e.scaleY||1;if(n!==1||i!==1){t("vector-effect","non-scaling-stroke")}t("transform",dh(e));t("d",e.path)}function Vh(t,e){var n=e.path;if(n==null)return true;var i=e.x||0,r=e.y||0,o=e.scaleX||1,a=e.scaleY||1,s=(e.angle||0)*Wc,l=e.pathCache;if(!l||l.path!==n){(e.pathCache=l=Yc(n)).path=n}if(s&&t.rotate&&t.translate){t.translate(i,r);t.rotate(s);of(t,l,0,0,o,a);t.rotate(-s);t.translate(-i,-r)}else{of(t,l,i,r,o,a)}}function Kh(t,e){return Vh(Rd(t,e.angle),e)?t.set(0,0,0,0):dd(t,e,true)}var Zh={type:"path",tag:"path",nested:false,attr:Hh,bound:Kh,draw:eh(Vh),pick:ah(Vh),isect:qd(Vh)};function Qh(t,e){t("d",Jf(null,e))}function Jh(t,e){var n,i;return dd(t.set(n=e.x||0,i=e.y||0,n+e.width||0,i+e.height||0),e)}function tp(t,e){t.beginPath();Jf(t,e)}var ep={type:"rect",tag:"path",nested:false,attr:Qh,bound:Jh,draw:eh(tp),pick:ah(tp),isect:Id};function np(t,e){t("transform",ch(e));t("x2",e.x2!=null?e.x2-(e.x||0):0);t("y2",e.y2!=null?e.y2-(e.y||0):0)}function ip(t,e){var n,i;return dd(t.set(n=e.x||0,i=e.y||0,e.x2!=null?e.x2:n,e.y2!=null?e.y2:i),e)}function rp(t,e,n){var i,r,o,a;if(e.stroke&&Kd(t,e,n)){i=e.x||0;r=e.y||0;o=e.x2!=null?e.x2:i;a=e.y2!=null?e.y2:r;t.beginPath();t.moveTo(i,r);t.lineTo(o,a);return true}return false}function op(t,e,n){Jd(e,(e=>{if(n&&!n.intersects(e.bounds))return;var i=e.opacity==null?1:e.opacity;if(i&&rp(t,e,i)){jd(t,e);t.stroke()}}))}function ap(t,e,n,i){if(!t.isPointInStroke)return false;return rp(t,e,1)&&t.isPointInStroke(n,i)}var sp={type:"rule",tag:"line",nested:false,attr:np,bound:ip,draw:op,pick:rh(ap),isect:Bd};var lp=hh("shape",td);var up=hh("symbol",ed,Fd);const cp=(0,p.EV)();var fp={height:yp,measureWidth:mp,estimateWidth:hp,width:hp,canvas:dp};dp(true);function dp(t){fp.width=t&&Ld?mp:hp}function hp(t,e){return pp(wp(t,e),yp(t))}function pp(t,e){return~~(.8*t.length*e)}function mp(t,e){return yp(t)<=0||!(e=wp(t,e))?0:gp(e,Ep(t))}function gp(t,e){const n=`(${e}) ${t}`;let i=cp.get(n);if(i===undefined){Ld.font=e;i=Ld.measureText(t).width;cp.set(n,i)}return i}function yp(t){return t.fontSize!=null?+t.fontSize||0:11}function vp(t){return t.lineHeight!=null?t.lineHeight:yp(t)+2}function bp(t){return(0,p.cy)(t)?t.length>1?t:t[0]:t}function xp(t){return bp(t.lineBreak&&t.text&&!(0,p.cy)(t.text)?t.text.split(t.lineBreak):t.text)}function _p(t){const e=xp(t);return((0,p.cy)(e)?e.length-1:0)*vp(t)}function wp(t,e){const n=e==null?"":(e+"").trim();return t.limit>0&&n.length?Mp(t,n):n}function kp(t){if(fp.width===mp){const e=Ep(t);return t=>gp(t,e)}else{const e=yp(t);return t=>pp(t,e)}}function Mp(t,e){var n=+t.limit,i=kp(t);if(i(e)<n)return e;var r=t.ellipsis||"…",o=t.dir==="rtl",a=0,s=e.length,l;n-=i(r);if(o){while(a<s){l=a+s>>>1;if(i(e.slice(l))>n)a=l+1;else s=l}return r+e.slice(a)}else{while(a<s){l=1+(a+s>>>1);if(i(e.slice(0,l))<n)a=l;else s=l-1}return e.slice(0,a)+r}}function Sp(t,e){var n=t.font;return(e&&n?String(n).replace(/"/g,"'"):n)||"sans-serif"}function Ep(t,e){return""+(t.fontStyle?t.fontStyle+" ":"")+(t.fontVariant?t.fontVariant+" ":"")+(t.fontWeight?t.fontWeight+" ":"")+yp(t)+"px "+Sp(t,e)}function zp(t){var e=t.baseline,n=yp(t);return Math.round(e==="top"?.79*n:e==="middle"?.3*n:e==="bottom"?-.21*n:e==="line-top"?.29*n+.5*vp(t):e==="line-bottom"?.29*n-.5*vp(t):0)}const Ap={left:"start",center:"middle",right:"end"};const $p=new ad;function Op(t){var e=t.x||0,n=t.y||0,i=t.radius||0,r;if(i){r=(t.theta||0)-Hc;e+=i*Math.cos(r);n+=i*Math.sin(r)}$p.x1=e;$p.y1=n;return $p}function Rp(t,e){var n=e.dx||0,i=(e.dy||0)+zp(e),r=Op(e),o=r.x1,a=r.y1,s=e.angle||0,l;t("text-anchor",Ap[e.align]||"start");if(s){l=sh(o,a)+" "+lh(s);if(n||i)l+=" "+sh(n,i)}else{l=sh(o+n,a+i)}t("transform",l)}function Dp(t,e,n){var i=fp.height(e),r=e.align,o=Op(e),a=o.x1,s=o.y1,l=e.dx||0,u=(e.dy||0)+zp(e)-Math.round(.8*i),c=xp(e),f;if((0,p.cy)(c)){i+=vp(e)*(c.length-1);f=c.reduce(((t,n)=>Math.max(t,fp.width(e,n))),0)}else{f=fp.width(e,c)}if(r==="center"){l-=f/2}else if(r==="right"){l-=f}else;t.set(l+=a,u+=s,l+f,u+i);if(e.angle&&!n){t.rotate(e.angle*Wc,a,s)}else if(n===2){return t.rotatedPoints(e.angle*Wc,a,s)}return t}function Tp(t,e,n){Jd(e,(e=>{var i=e.opacity==null?1:e.opacity,r,o,a,s,l,u,c;if(n&&!n.intersects(e.bounds)||i===0||e.fontSize<=0||e.text==null||e.text.length===0)return;t.font=Ep(e);t.textAlign=e.align||"left";r=Op(e);o=r.x1,a=r.y1;if(e.angle){t.save();t.translate(o,a);t.rotate(e.angle*Wc);o=a=0}o+=e.dx||0;a+=(e.dy||0)+zp(e);u=xp(e);jd(t,e);if((0,p.cy)(u)){l=vp(e);for(s=0;s<u.length;++s){c=wp(e,u[s]);if(e.fill&&Hd(t,e,i)){t.fillText(c,o,a)}if(e.stroke&&Kd(t,e,i)){t.strokeText(c,o,a)}a+=l}}else{c=wp(e,u);if(e.fill&&Hd(t,e,i)){t.fillText(c,o,a)}if(e.stroke&&Kd(t,e,i)){t.strokeText(c,o,a)}}if(e.angle)t.restore()}))}function Np(t,e,n,i,r,o){if(e.fontSize<=0)return false;if(!e.angle)return true;var a=Op(e),s=a.x1,l=a.y1,u=Dp($p,e,1),c=-e.angle*Wc,f=Math.cos(c),d=Math.sin(c),h=f*r-d*o+(s-f*s+d*l),p=d*r+f*o+(l-d*s-f*l);return u.contains(h,p)}function Cp(t,e){const n=Dp($p,t,2);return Ud(e,n[0],n[1],n[2],n[3])||Ud(e,n[0],n[1],n[4],n[5])||Ud(e,n[4],n[5],n[6],n[7])||Ud(e,n[2],n[3],n[6],n[7])}var Lp={type:"text",tag:"text",nested:false,attr:Rp,bound:Dp,draw:Tp,pick:rh(Np),isect:Cp};var Pp=vh("trail",nd,yh);var qp={arc:ph,area:bh,group:Lh,image:Wh,line:Xh,path:Zh,rect:ep,rule:sp,shape:lp,symbol:up,text:Lp,trail:Pp};function Fp(t,e,n){var i=qp[t.mark.marktype],r=e||i.bound;if(i.nested)t=t.mark;return r(t.bounds||(t.bounds=new ad),t,n)}var Ip={mark:null};function Bp(t,e,n){var i=qp[t.marktype],r=i.bound,o=t.items,a=o&&o.length,s,l,u,c;if(i.nested){if(a){u=o[0]}else{Ip.mark=t;u=Ip}c=Fp(u,r,n);e=e&&e.union(c)||c;return e}e=e||t.bounds&&t.bounds.clear()||new ad;if(a){for(s=0,l=o.length;s<l;++s){e.union(Fp(o[s],r,n))}}return t.bounds=e}const Up=["marktype","name","role","interactive","clip","items","zindex","x","y","width","height","align","baseline","fill","fillOpacity","opacity","blend","stroke","strokeOpacity","strokeWidth","strokeCap","strokeDash","strokeDashOffset","strokeForeground","strokeOffset","startAngle","endAngle","innerRadius","outerRadius","cornerRadius","padAngle","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight","interpolate","tension","orient","defined","url","aspect","smooth","path","scaleX","scaleY","x2","y2","size","shape","text","angle","theta","radius","dir","dx","dy","ellipsis","limit","lineBreak","lineHeight","font","fontSize","fontWeight","fontStyle","fontVariant","description","aria","ariaRole","ariaRoleDescription"];function jp(t,e){return JSON.stringify(t,Up,e)}function Yp(t){const e=typeof t==="string"?JSON.parse(t):t;return Gp(e)}function Gp(t){var e=t.marktype,n=t.items,i,r,o;if(n){for(r=0,o=n.length;r<o;++r){i=e?"mark":"group";n[r][i]=t;if(n[r].zindex)n[r][i].zdirty=true;if("group"===(e||i))Gp(n[r])}}if(e)Bp(t);return t}function Wp(t){if(arguments.length){this.root=Yp(t)}else{this.root=Xp({marktype:"group",name:"root",role:"frame"});this.root.items=[new ld(this.root)]}}Wp.prototype={toJSON(t){return jp(this.root,t||0)},mark(t,e,n){e=e||this.root.items[0];const i=Xp(t,e);e.items[n]=i;if(i.zindex)i.group.zdirty=true;return i}};function Xp(t,e){const n={bounds:new ad,clip:!!t.clip,group:e,interactive:t.interactive===false?false:true,items:[],marktype:t.marktype,name:t.name||undefined,role:t.role||undefined,zindex:t.zindex||0};if(t.aria!=null){n.aria=t.aria}if(t.description){n.description=t.description}return n}function Hp(t,e,n){if(!t&&typeof document!=="undefined"&&document.createElement){t=document}return t?n?t.createElementNS(n,e):t.createElement(e):null}function Vp(t,e){e=e.toLowerCase();var n=t.childNodes,i=0,r=n.length;for(;i<r;++i)if(n[i].tagName.toLowerCase()===e){return n[i]}}function Kp(t,e,n,i){var r=t.childNodes[e],o;if(!r||r.tagName.toLowerCase()!==n.toLowerCase()){o=r||null;r=Hp(t.ownerDocument,n,i);t.insertBefore(r,o)}return r}function Zp(t,e){var n=t.childNodes,i=n.length;while(i>e)t.removeChild(n[--i]);return t}function Qp(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}function Jp(t,e){const n=e.getBoundingClientRect();return[t.clientX-n.left-(e.clientLeft||0),t.clientY-n.top-(e.clientTop||0)]}function tm(t,e,n,i){var r=t&&t.mark,o,a;if(r&&(o=qp[r.marktype]).tip){a=Jp(e,n);a[0]-=i[0];a[1]-=i[1];while(t=t.mark.group){a[0]-=t.x||0;a[1]-=t.y||0}t=o.tip(r.items,a)}return t}function em(t,e){this._active=null;this._handlers={};this._loader=t||fn();this._tooltip=e||nm}function nm(t,e,n,i){t.element().setAttribute("title",i||"")}em.prototype={initialize(t,e,n){this._el=t;this._obj=n||null;return this.origin(e)},element(){return this._el},canvas(){return this._el&&this._el.firstChild},origin(t){if(arguments.length){this._origin=t||[0,0];return this}else{return this._origin.slice()}},scene(t){if(!arguments.length)return this._scene;this._scene=t;return this},on(){},off(){},_handlerIndex(t,e,n){for(let i=t?t.length:0;--i>=0;){if(t[i].type===e&&(!n||t[i].handler===n)){return i}}return-1},handlers(t){const e=this._handlers,n=[];if(t){n.push(...e[this.eventName(t)])}else{for(const t in e){n.push(...e[t])}}return n},eventName(t){const e=t.indexOf(".");return e<0?t:t.slice(0,e)},handleHref(t,e,n){this._loader.sanitize(n,{context:"href"}).then((e=>{const n=new MouseEvent(t.type,t),i=Hp(null,"a");for(const t in e)i.setAttribute(t,e[t]);i.dispatchEvent(n)})).catch((()=>{}))},handleTooltip(t,e,n){if(e&&e.tooltip!=null){e=tm(e,t,this.canvas(),this._origin);const i=n&&e&&e.tooltip||null;this._tooltip.call(this._obj,this,t,e,i)}},getItemBoundingClientRect(t){const e=this.canvas();if(!e)return;const n=e.getBoundingClientRect(),i=this._origin,r=t.bounds,o=r.width(),a=r.height();let s=r.x1+i[0]+n.left,l=r.y1+i[1]+n.top;while(t.mark&&(t=t.mark.group)){s+=t.x||0;l+=t.y||0}return{x:s,y:l,width:o,height:a,left:s,top:l,right:s+o,bottom:l+a}}};function im(t){this._el=null;this._bgcolor=null;this._loader=new ud(t)}im.prototype={initialize(t,e,n,i,r){this._el=t;return this.resize(e,n,i,r)},element(){return this._el},canvas(){return this._el&&this._el.firstChild},background(t){if(arguments.length===0)return this._bgcolor;this._bgcolor=t;return this},resize(t,e,n,i){this._width=t;this._height=e;this._origin=n||[0,0];this._scale=i||1;return this},dirty(){},render(t){const e=this;e._call=function(){e._render(t)};e._call();e._call=null;return e},_render(){},renderAsync(t){const e=this.render(t);return this._ready?this._ready.then((()=>e)):Promise.resolve(e)},_load(t,e){var n=this,i=n._loader[t](e);if(!n._ready){const t=n._call;n._ready=n._loader.ready().then((e=>{if(e)t();n._ready=null}))}return i},sanitizeURL(t){return this._load("sanitizeURL",t)},loadImage(t){return this._load("loadImage",t)}};const rm="keydown";const om="keypress";const am="keyup";const sm="dragenter";const lm="dragleave";const um="dragover";const cm="mousedown";const fm="mouseup";const dm="mousemove";const hm="mouseout";const pm="mouseover";const mm="click";const gm="dblclick";const ym="wheel";const vm="mousewheel";const bm="touchstart";const xm="touchmove";const _m="touchend";const wm=[rm,om,am,sm,lm,um,cm,fm,dm,hm,pm,mm,gm,ym,vm,bm,xm,_m];const km=dm;const Mm=hm;const Sm=mm;function Em(t,e){em.call(this,t,e);this._down=null;this._touch=null;this._first=true;this._events={}}const zm=t=>t===bm||t===xm||t===_m?[bm,xm,_m]:[t];function Am(t,e){zm(e).forEach((e=>$m(t,e)))}function $m(t,e){const n=t.canvas();if(n&&!t._events[e]){t._events[e]=1;n.addEventListener(e,t[e]?n=>t[e](n):n=>t.fire(e,n))}}function Om(t,e,n){return function(i){const r=this._active,o=this.pickEvent(i);if(o===r){this.fire(t,i)}else{if(!r||!r.exit){this.fire(n,i)}this._active=o;this.fire(e,i);this.fire(t,i)}}}function Rm(t){return function(e){this.fire(t,e);this._active=null}}(0,p.B)(Em,em,{initialize(t,e,n){this._canvas=t&&Vp(t,"canvas");[mm,cm,dm,hm,lm].forEach((t=>Am(this,t)));return em.prototype.initialize.call(this,t,e,n)},canvas(){return this._canvas},context(){return this._canvas.getContext("2d")},events:wm,DOMMouseScroll(t){this.fire(vm,t)},mousemove:Om(dm,pm,hm),dragover:Om(um,sm,lm),mouseout:Rm(hm),dragleave:Rm(lm),mousedown(t){this._down=this._active;this.fire(cm,t)},click(t){if(this._down===this._active){this.fire(mm,t);this._down=null}},touchstart(t){this._touch=this.pickEvent(t.changedTouches[0]);if(this._first){this._active=this._touch;this._first=false}this.fire(bm,t,true)},touchmove(t){this.fire(xm,t,true)},touchend(t){this.fire(_m,t,true);this._touch=null},fire(t,e,n){const i=n?this._touch:this._active,r=this._handlers[t];e.vegaType=t;if(t===Sm&&i&&i.href){this.handleHref(e,i,i.href)}else if(t===km||t===Mm){this.handleTooltip(e,i,t!==Mm)}if(r){for(let t=0,n=r.length;t<n;++t){r[t].handler.call(this._obj,e,i)}}},on(t,e){const n=this.eventName(t),i=this._handlers,r=this._handlerIndex(i[n],t,e);if(r<0){Am(this,t);(i[n]||(i[n]=[])).push({type:t,handler:e})}return this},off(t,e){const n=this.eventName(t),i=this._handlers[n],r=this._handlerIndex(i,t,e);if(r>=0){i.splice(r,1)}return this},pickEvent(t){const e=Jp(t,this._canvas),n=this._origin;return this.pick(this._scene,e[0],e[1],e[0]-n[0],e[1]-n[1])},pick(t,e,n,i,r){const o=this.context(),a=qp[t.marktype];return a.pick.call(this,o,t,e,n,i,r)}});function Dm(){return typeof window!=="undefined"?window.devicePixelRatio||1:1}var Tm=Dm();function Nm(t,e,n,i,r,o){const a=typeof HTMLElement!=="undefined"&&t instanceof HTMLElement&&t.parentNode!=null,s=t.getContext("2d"),l=a?Tm:r;t.width=e*l;t.height=n*l;for(const u in o){s[u]=o[u]}if(a&&l!==1){t.style.width=e+"px";t.style.height=n+"px"}s.pixelRatio=l;s.setTransform(l,0,0,l,l*i[0],l*i[1]);return t}function Cm(t){im.call(this,t);this._options={};this._redraw=false;this._dirty=new ad;this._tempb=new ad}const Lm=im.prototype;const Pm=(t,e,n)=>(new ad).set(0,0,e,n).translate(-t[0],-t[1]);function qm(t,e,n){e.expand(1).round();if(t.pixelRatio%1){e.scale(t.pixelRatio).round().scale(1/t.pixelRatio)}e.translate(-(n[0]%1),-(n[1]%1));t.beginPath();t.rect(e.x1,e.y1,e.width(),e.height());t.clip();return e}(0,p.B)(Cm,im,{initialize(t,e,n,i,r,o){this._options=o||{};this._canvas=this._options.externalContext?null:Ks(1,1,this._options.type);if(t&&this._canvas){Zp(t,0).appendChild(this._canvas);this._canvas.setAttribute("class","marks")}return Lm.initialize.call(this,t,e,n,i,r)},resize(t,e,n,i){Lm.resize.call(this,t,e,n,i);if(this._canvas){Nm(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context)}else{const t=this._options.externalContext;if(!t)(0,p.z3)("CanvasRenderer is missing a valid canvas or context");t.scale(this._scale,this._scale);t.translate(this._origin[0],this._origin[1])}this._redraw=true;return this},canvas(){return this._canvas},context(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)},dirty(t){const e=this._tempb.clear().union(t.bounds);let n=t.mark.group;while(n){e.translate(n.x||0,n.y||0);n=n.mark.group}this._dirty.union(e)},_render(t){const e=this.context(),n=this._origin,i=this._width,r=this._height,o=this._dirty,a=Pm(n,i,r);e.save();const s=this._redraw||o.empty()?(this._redraw=false,a.expand(1)):qm(e,a.intersect(o),n);this.clear(-n[0],-n[1],i,r);this.draw(e,t,s);e.restore();o.clear();return this},draw(t,e,n){const i=qp[e.marktype];if(e.clip)xh(t,e);i.draw.call(this,t,e,n);if(e.clip)t.restore()},clear(t,e,n,i){const r=this._options,o=this.context();if(r.type!=="pdf"&&!r.externalContext){o.clearRect(t,e,n,i)}if(this._bgcolor!=null){o.fillStyle=this._bgcolor;o.fillRect(t,e,n,i)}}});function Fm(t,e){em.call(this,t,e);const n=this;n._hrefHandler=Im(n,((t,e)=>{if(e&&e.href)n.handleHref(t,e,e.href)}));n._tooltipHandler=Im(n,((t,e)=>{n.handleTooltip(t,e,t.type!==Mm)}))}const Im=(t,e)=>n=>{let i=n.target.__data__;i=Array.isArray(i)?i[0]:i;n.vegaType=n.type;e.call(t._obj,n,i)};(0,p.B)(Fm,em,{initialize(t,e,n){let i=this._svg;if(i){i.removeEventListener(Sm,this._hrefHandler);i.removeEventListener(km,this._tooltipHandler);i.removeEventListener(Mm,this._tooltipHandler)}this._svg=i=t&&Vp(t,"svg");if(i){i.addEventListener(Sm,this._hrefHandler);i.addEventListener(km,this._tooltipHandler);i.addEventListener(Mm,this._tooltipHandler)}return em.prototype.initialize.call(this,t,e,n)},canvas(){return this._svg},on(t,e){const n=this.eventName(t),i=this._handlers,r=this._handlerIndex(i[n],t,e);if(r<0){const r={type:t,handler:e,listener:Im(this,e)};(i[n]||(i[n]=[])).push(r);if(this._svg){this._svg.addEventListener(n,r.listener)}}return this},off(t,e){const n=this.eventName(t),i=this._handlers[n],r=this._handlerIndex(i,t,e);if(r>=0){if(this._svg){this._svg.removeEventListener(n,i[r].listener)}i.splice(r,1)}return this}});const Bm="aria-hidden";const Um="aria-label";const jm="role";const Ym="aria-roledescription";const Gm="graphics-object";const Wm="graphics-symbol";const Xm=(t,e,n)=>({[jm]:t,[Ym]:e,[Um]:n||undefined});const Hm=(0,p.M1)(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]);const Vm={axis:{desc:"axis",caption:ng},legend:{desc:"legend",caption:ig},"title-text":{desc:"title",caption:t=>`Title text '${eg(t)}'`},"title-subtitle":{desc:"subtitle",caption:t=>`Subtitle text '${eg(t)}'`}};const Km={ariaRole:jm,ariaRoleDescription:Ym,description:Um};function Zm(t,e){const n=e.aria===false;t(Bm,n||undefined);if(n||e.description==null){for(const e in Km){t(Km[e],undefined)}}else{const n=e.mark.marktype;t(Um,e.description);t(jm,e.ariaRole||(n==="group"?Gm:Wm));t(Ym,e.ariaRoleDescription||`${n} mark`)}}function Qm(t){return t.aria===false?{[Bm]:true}:Hm[t.role]?null:Vm[t.role]?tg(t,Vm[t.role]):Jm(t)}function Jm(t){const e=t.marktype;const n=e==="group"||e==="text"||t.items.some((t=>t.description!=null&&t.aria!==false));return Xm(n?Gm:Wm,`${e} mark container`,t.description)}function tg(t,e){try{const n=t.items[0],i=e.caption||(()=>"");return Xm(e.role||Wm,e.desc,n.description||i(n))}catch(n){return null}}function eg(t){return(0,p.YO)(t.text).join(" ")}function ng(t){const e=t.datum,n=t.orient,i=e.title?rg(t):null,r=t.context,o=r.scales[e.scale].value,a=r.dataflow.locale(),s=o.type,l=n==="left"||n==="right"?"Y":"X";return`${l}-axis`+(i?` titled '${i}'`:"")+` for a ${Pu(s)?"discrete":s} scale`+` with ${$c(a,o,t)}`}function ig(t){const e=t.datum,n=e.title?rg(t):null,i=`${e.type||""} legend`.trim(),r=e.scales,o=Object.keys(r),a=t.context,s=a.scales[r[o[0]]].value,l=a.dataflow.locale();return ag(i)+(n?` titled '${n}'`:"")+` for ${og(o)}`+` with ${$c(l,s,t)}`}function rg(t){try{return(0,p.YO)((0,p.se)(t.items).items[0].text).join(" ")}catch(e){return null}}function og(t){t=t.map((t=>t+(t==="fill"||t==="stroke"?" color":"")));return t.length<2?t[0]:t.slice(0,-1).join(", ")+" and "+(0,p.se)(t)}function ag(t){return t.length?t[0].toUpperCase()+t.slice(1):t}const sg=t=>(t+"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");const lg=t=>sg(t).replace(/"/g,""").replace(/\t/g,"	").replace(/\n/g,"
").replace(/\r/g,"
");function ug(){let t="",e="",n="";const i=[],r=()=>e=n="",o=o=>{if(e){t+=`${e}>${n}`;r()}i.push(o)},a=(t,n)=>{if(n!=null)e+=` ${t}="${lg(n)}"`;return s},s={open(t){o(t);e="<"+t;for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++){i[r-1]=arguments[r]}for(const e of i){for(const t in e)a(t,e[t])}return s},close(){const o=i.pop();if(e){t+=e+(n?`>${n}</${o}>`:"/>")}else{t+=`</${o}>`}r();return s},attr:a,text:t=>(n+=sg(t),s),toString:()=>t};return s}const cg=t=>fg(ug(),t)+"";function fg(t,e){t.open(e.tagName);if(e.hasAttributes()){const n=e.attributes,i=n.length;for(let e=0;e<i;++e){t.attr(n[e].name,n[e].value)}}if(e.hasChildNodes()){const n=e.childNodes;for(const e of n){e.nodeType===3?t.text(e.nodeValue):fg(t,e)}}return t.close()}const dg={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity"};const hg={blend:"mix-blend-mode"};const pg={fill:"none","stroke-miterlimit":10};const mg=0,gg="http://www.w3.org/2000/xmlns/",yg=Ph.xmlns;function vg(t){im.call(this,t);this._dirtyID=0;this._dirty=[];this._svg=null;this._root=null;this._defs=null}const bg=im.prototype;(0,p.B)(vg,im,{initialize(t,e,n,i,r){this._defs={};this._clearDefs();if(t){this._svg=Kp(t,0,"svg",yg);this._svg.setAttributeNS(gg,"xmlns",yg);this._svg.setAttributeNS(gg,"xmlns:xlink",Ph["xmlns:xlink"]);this._svg.setAttribute("version",Ph["version"]);this._svg.setAttribute("class","marks");Zp(t,1);this._root=Kp(this._svg,mg,"g",yg);Rg(this._root,pg);Zp(this._svg,mg+1)}this.background(this._bgcolor);return bg.initialize.call(this,t,e,n,i,r)},background(t){if(arguments.length&&this._svg){this._svg.style.setProperty("background-color",t)}return bg.background.apply(this,arguments)},resize(t,e,n,i){bg.resize.call(this,t,e,n,i);if(this._svg){Rg(this._svg,{width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`});this._root.setAttribute("transform",`translate(${this._origin})`)}this._dirty=[];return this},canvas(){return this._svg},svg(){const t=this._svg,e=this._bgcolor;if(!t)return null;let n;if(e){t.removeAttribute("style");n=Kp(t,mg,"rect",yg);Rg(n,{width:this._width,height:this._height,fill:e})}const i=cg(t);if(e){t.removeChild(n);this._svg.style.setProperty("background-color",e)}return i},_render(t){if(this._dirtyCheck()){if(this._dirtyAll)this._clearDefs();this.mark(this._root,t);Zp(this._root,1)}this.defs();this._dirty=[];++this._dirtyID;return this},dirty(t){if(t.dirty!==this._dirtyID){t.dirty=this._dirtyID;this._dirty.push(t)}},isDirty(t){return this._dirtyAll||!t._svg||!t._svg.ownerSVGElement||t.dirty===this._dirtyID},_dirtyCheck(){this._dirtyAll=true;const t=this._dirty;if(!t.length||!this._dirtyID)return true;const e=++this._dirtyID;let n,i,r,o,a,s,l;for(a=0,s=t.length;a<s;++a){n=t[a];i=n.mark;if(i.marktype!==r){r=i.marktype;o=qp[r]}if(i.zdirty&&i.dirty!==e){this._dirtyAll=false;xg(n,e);i.items.forEach((t=>{t.dirty=e}))}if(i.zdirty)continue;if(n.exit){if(o.nested&&i.items.length){l=i.items[0];if(l._svg)this._update(o,l._svg,l)}else if(n._svg){l=n._svg.parentNode;if(l)l.removeChild(n._svg)}n._svg=null;continue}n=o.nested?i.items[0]:n;if(n._update===e)continue;if(!n._svg||!n._svg.ownerSVGElement){this._dirtyAll=false;xg(n,e)}else{this._update(o,n._svg,n)}n._update=e}return!this._dirtyAll},mark(t,e,n){if(!this.isDirty(e)){return e._svg}const i=this._svg,r=qp[e.marktype],o=e.interactive===false?"none":null,a=r.tag==="g";const s=Mg(e,t,n,"g",i);s.setAttribute("class",Qp(e));const l=Qm(e);for(const d in l)Dg(s,d,l[d]);if(!a){Dg(s,"pointer-events",o)}Dg(s,"clip-path",e.clip?od(this,e,e.group):null);let u=null,c=0;const f=t=>{const e=this.isDirty(t),n=Mg(t,s,u,r.tag,i);if(e){this._update(r,n,t);if(a)kg(this,n,t)}u=n;++c};if(r.nested){if(e.items.length)f(e.items[0])}else{Jd(e,f)}Zp(s,c);return s},_update(t,e,n){Eg=e;zg=e.__values__;Zm($g,n);t.attr($g,n,this);const i=Ag[t.type];if(i)i.call(this,t,e,n);if(Eg)this.style(Eg,n)},style(t,e){if(e==null)return;for(const n in dg){let i=n==="font"?Sp(e):e[n];if(i===zg[n])continue;const r=dg[n];if(i==null){t.removeAttribute(r)}else{if(Tc(i)){i=Nc(i,this._defs.gradient,Ng())}t.setAttribute(r,i+"")}zg[n]=i}for(const n in hg){Og(t,hg[n],e[n])}},defs(){const t=this._svg,e=this._defs;let n=e.el,i=0;for(const r in e.gradient){if(!n)e.el=n=Kp(t,mg+1,"defs",yg);i=_g(n,e.gradient[r],i)}for(const r in e.clipping){if(!n)e.el=n=Kp(t,mg+1,"defs",yg);i=wg(n,e.clipping[r],i)}if(n){i===0?(t.removeChild(n),e.el=null):Zp(n,i)}},_clearDefs(){const t=this._defs;t.gradient={};t.clipping={}}});function xg(t,e){for(;t&&t.dirty!==e;t=t.mark.group){t.dirty=e;if(t.mark&&t.mark.dirty!==e){t.mark.dirty=e}else return}}function _g(t,e,n){let i,r,o;if(e.gradient==="radial"){let i=Kp(t,n++,"pattern",yg);Rg(i,{id:Dc+e.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"});i=Kp(i,0,"rect",yg);Rg(i,{width:1,height:1,fill:`url(${Ng()}#${e.id})`});t=Kp(t,n++,"radialGradient",yg);Rg(t,{id:e.id,fx:e.x1,fy:e.y1,fr:e.r1,cx:e.x2,cy:e.y2,r:e.r2})}else{t=Kp(t,n++,"linearGradient",yg);Rg(t,{id:e.id,x1:e.x1,x2:e.x2,y1:e.y1,y2:e.y2})}for(i=0,r=e.stops.length;i<r;++i){o=Kp(t,i,"stop",yg);o.setAttribute("offset",e.stops[i].offset);o.setAttribute("stop-color",e.stops[i].color)}Zp(t,i);return n}function wg(t,e,n){let i;t=Kp(t,n,"clipPath",yg);t.setAttribute("id",e.id);if(e.path){i=Kp(t,0,"path",yg);i.setAttribute("d",e.path)}else{i=Kp(t,0,"rect",yg);Rg(i,{x:0,y:0,width:e.width,height:e.height})}Zp(t,1);return n+1}function kg(t,e,n){e=e.lastChild.previousSibling;let i,r=0;Jd(n,(n=>{i=t.mark(e,n,i);++r}));Zp(e,1+r)}function Mg(t,e,n,i,r){let o=t._svg,a;if(!o){a=e.ownerDocument;o=Hp(a,i,yg);t._svg=o;if(t.mark){o.__data__=t;o.__values__={fill:"default"};if(i==="g"){const e=Hp(a,"path",yg);o.appendChild(e);e.__data__=t;const n=Hp(a,"g",yg);o.appendChild(n);n.__data__=t;const i=Hp(a,"path",yg);o.appendChild(i);i.__data__=t;i.__values__={fill:"default"}}}}if(o.ownerSVGElement!==r||Sg(o,n)){e.insertBefore(o,n?n.nextSibling:e.firstChild)}return o}function Sg(t,e){return t.parentNode&&t.parentNode.childNodes.length>1&&t.previousSibling!=e}let Eg=null,zg=null;const Ag={group(t,e,n){const i=Eg=e.childNodes[2];zg=i.__values__;t.foreground($g,n,this);zg=e.__values__;Eg=e.childNodes[1];t.content($g,n,this);const r=Eg=e.childNodes[0];t.background($g,n,this);const o=n.mark.interactive===false?"none":null;if(o!==zg.events){Dg(i,"pointer-events",o);Dg(r,"pointer-events",o);zg.events=o}if(n.strokeForeground&&n.stroke){const t=n.fill;Dg(i,"display",null);this.style(r,n);Dg(r,"stroke",null);if(t)n.fill=null;zg=i.__values__;this.style(i,n);if(t)n.fill=t;Eg=null}else{Dg(i,"display","none")}},image(t,e,n){if(n.smooth===false){Og(e,"image-rendering","optimizeSpeed");Og(e,"image-rendering","pixelated")}else{Og(e,"image-rendering",null)}},text(t,e,n){const i=xp(n);let r,o,a,s;if((0,p.cy)(i)){o=i.map((t=>wp(n,t)));r=o.join("\n");if(r!==zg.text){Zp(e,0);a=e.ownerDocument;s=vp(n);o.forEach(((t,i)=>{const r=Hp(a,"tspan",yg);r.__data__=n;r.textContent=t;if(i){r.setAttribute("x",0);r.setAttribute("dy",s)}e.appendChild(r)}));zg.text=r}}else{o=wp(n,i);if(o!==zg.text){e.textContent=o;zg.text=o}}Dg(e,"font-family",Sp(n));Dg(e,"font-size",yp(n)+"px");Dg(e,"font-style",n.fontStyle);Dg(e,"font-variant",n.fontVariant);Dg(e,"font-weight",n.fontWeight)}};function $g(t,e,n){if(e===zg[t])return;if(n){Tg(Eg,t,e,n)}else{Dg(Eg,t,e)}zg[t]=e}function Og(t,e,n){if(n!==zg[e]){if(n==null){t.style.removeProperty(e)}else{t.style.setProperty(e,n+"")}zg[e]=n}}function Rg(t,e){for(const n in e){Dg(t,n,e[n])}}function Dg(t,e,n){if(n!=null){t.setAttribute(e,n)}else{t.removeAttribute(e)}}function Tg(t,e,n,i){if(n!=null){t.setAttributeNS(i,e,n)}else{t.removeAttributeNS(i,e)}}function Ng(){let t;return typeof window==="undefined"?"":(t=window.location).hash?t.href.slice(0,-t.hash.length):t.href}function Cg(t){im.call(this,t);this._text=null;this._defs={gradient:{},clipping:{}}}(0,p.B)(Cg,im,{svg(){return this._text},_render(t){const e=ug();e.open("svg",(0,p.X$)({},Ph,{class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}));const n=this._bgcolor;if(n&&n!=="transparent"&&n!=="none"){e.open("rect",{width:this._width,height:this._height,fill:n}).close()}e.open("g",pg,{transform:"translate("+this._origin+")"});this.mark(e,t);e.close();this.defs(e);this._text=e.close()+"";return this},mark(t,e){const n=qp[e.marktype],i=n.tag,r=[Zm,n.attr];t.open("g",{class:Qp(e),"clip-path":e.clip?od(this,e,e.group):null},Qm(e),{"pointer-events":i!=="g"&&e.interactive===false?"none":null});const o=o=>{const a=this.href(o);if(a)t.open("a",a);t.open(i,this.attr(e,o,r,i!=="g"?i:null));if(i==="text"){const e=xp(o);if((0,p.cy)(e)){const n={x:0,dy:vp(o)};for(let i=0;i<e.length;++i){t.open("tspan",i?n:null).text(wp(o,e[i])).close()}}else{t.text(wp(o,e))}}else if(i==="g"){const i=o.strokeForeground,r=o.fill,a=o.stroke;if(i&&a){o.stroke=null}t.open("path",this.attr(e,o,n.background,"bgrect")).close();t.open("g",this.attr(e,o,n.content));Jd(o,(e=>this.mark(t,e)));t.close();if(i&&a){if(r)o.fill=null;o.stroke=a;t.open("path",this.attr(e,o,n.foreground,"bgrect")).close();if(r)o.fill=r}else{t.open("path",this.attr(e,o,n.foreground,"bgfore")).close()}}t.close();if(a)t.close()};if(n.nested){if(e.items&&e.items.length)o(e.items[0])}else{Jd(e,o)}return t.close()},href(t){const e=t.href;let n;if(e){if(n=this._hrefs&&this._hrefs[e]){return n}else{this.sanitizeURL(e).then((t=>{t["xlink:href"]=t.href;t.href=null;(this._hrefs||(this._hrefs={}))[e]=t}))}}return null},attr(t,e,n,i){const r={},o=(t,e,n,i)=>{r[i||t]=e};if(Array.isArray(n)){n.forEach((t=>t(o,e,this)))}else{n(o,e,this)}if(i){Lg(r,e,t,i,this._defs)}return r},defs(t){const e=this._defs.gradient,n=this._defs.clipping,i=Object.keys(e).length+Object.keys(n).length;if(i===0)return;t.open("defs");for(const r in e){const n=e[r],i=n.stops;if(n.gradient==="radial"){t.open("pattern",{id:Dc+r,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"});t.open("rect",{width:"1",height:"1",fill:"url(#"+r+")"}).close();t.close();t.open("radialGradient",{id:r,fx:n.x1,fy:n.y1,fr:n.r1,cx:n.x2,cy:n.y2,r:n.r2})}else{t.open("linearGradient",{id:r,x1:n.x1,x2:n.x2,y1:n.y1,y2:n.y2})}for(let e=0;e<i.length;++e){t.open("stop",{offset:i[e].offset,"stop-color":i[e].color}).close()}t.close()}for(const r in n){const e=n[r];t.open("clipPath",{id:r});if(e.path){t.open("path",{d:e.path}).close()}else{t.open("rect",{x:0,y:0,width:e.width,height:e.height}).close()}t.close()}t.close()}});function Lg(t,e,n,i,r){let o;if(e==null)return t;if(i==="bgrect"&&n.interactive===false){t["pointer-events"]="none"}if(i==="bgfore"){if(n.interactive===false){t["pointer-events"]="none"}t.display="none";if(e.fill!==null)return t}if(i==="image"&&e.smooth===false){o=["image-rendering: optimizeSpeed;","image-rendering: pixelated;"]}if(i==="text"){t["font-family"]=Sp(e);t["font-size"]=yp(e)+"px";t["font-style"]=e.fontStyle;t["font-variant"]=e.fontVariant;t["font-weight"]=e.fontWeight}for(const a in dg){let n=e[a];const i=dg[a];if(n==="transparent"&&(i==="fill"||i==="stroke"));else if(n!=null){if(Tc(n)){n=Nc(n,r.gradient,"")}t[i]=n}}for(const a in hg){const t=e[a];if(t!=null){o=o||[];o.push(`${hg[a]}: ${t};`)}}if(o){t.style=o.join(" ")}return t}const Pg="canvas";const qg="png";const Fg="svg";const Ig="none";const Bg={Canvas:Pg,PNG:qg,SVG:Fg,None:Ig};const Ug={};Ug[Pg]=Ug[qg]={renderer:Cm,headless:Cm,handler:Em};Ug[Fg]={renderer:vg,headless:Cg,handler:Fm};Ug[Ig]={};function jg(t,e){t=String(t||"").toLowerCase();if(arguments.length>1){Ug[t]=e;return this}else{return Ug[t]}}function Yg(t,e,n){const i=[],r=(new ad).union(e),o=t.marktype;return o?Gg(t,r,n,i):o==="group"?Xg(t,r,n,i):(0,p.z3)("Intersect scene must be mark node or group item.")}function Gg(t,e,n,i){if(Wg(t,e,n)){const r=t.items,o=t.marktype,a=r.length;let s=0;if(o==="group"){for(;s<a;++s){Xg(r[s],e,n,i)}}else{for(const t=qp[o].isect;s<a;++s){const n=r[s];if(Hg(n,e,t))i.push(n)}}}return i}function Wg(t,e,n){return t.bounds&&e.intersects(t.bounds)&&(t.marktype==="group"||t.interactive!==false&&(!n||n(t)))}function Xg(t,e,n,i){if(n&&n(t.mark)&&Hg(t,e,qp.group.isect)){i.push(t)}const r=t.items,o=r&&r.length;if(o){const a=t.x||0,s=t.y||0;e.translate(-a,-s);for(let t=0;t<o;++t){Gg(r[t],e,n,i)}e.translate(a,s)}return i}function Hg(t,e,n){const i=t.bounds;return e.encloses(i)||e.intersects(i)&&n(t,e)}const Vg=new ad;function Kg(t){const e=t.clip;if((0,p.Tn)(e)){e(Rd(Vg.clear()))}else if(e){Vg.set(0,0,t.group.width,t.group.height)}else return;t.bounds.intersect(Vg)}const Zg=1e-9;function Qg(t,e,n){return t===e?true:n==="path"?Jg(t,e):t instanceof Date&&e instanceof Date?+t===+e:(0,p.Et)(t)&&(0,p.Et)(e)?Math.abs(t-e)<=Zg:!t||!e||!(0,p.Gv)(t)&&!(0,p.Gv)(e)?t==e:ty(t,e)}function Jg(t,e){return Qg(Yc(t),Yc(e))}function ty(t,e){var n=Object.keys(t),i=Object.keys(e),r,o;if(n.length!==i.length)return false;n.sort();i.sort();for(o=n.length-1;o>=0;o--){if(n[o]!=i[o])return false}for(o=n.length-1;o>=0;o--){r=n[o];if(!Qg(t[r],e[r],r))return false}return typeof t===typeof e}function ey(){rd();Rc()}const ny="top";const iy="left";const ry="right";const oy="bottom";const ay="top-left";const sy="top-right";const ly="bottom-left";const uy="bottom-right";const cy="start";const fy="middle";const dy="end";const hy="x";const py="y";const my="group";const gy="axis";const yy="title";const vy="frame";const by="scope";const xy="legend";const _y="row-header";const wy="row-footer";const ky="row-title";const My="column-header";const Sy="column-footer";const Ey="column-title";const zy="padding";const Ay="symbol";const $y="fit";const Oy="fit-x";const Ry="fit-y";const Dy="pad";const Ty="none";const Ny="all";const Cy="each";const Ly="flush";const Py="column";const qy="row";function Fy(t){Di.call(this,null,t)}(0,p.B)(Fy,Di,{transform(t,e){const n=e.dataflow,i=t.mark,r=i.marktype,o=qp[r],a=o.bound;let s=i.bounds,l;if(o.nested){if(i.items.length)n.dirty(i.items[0]);s=Iy(i,a);i.items.forEach((t=>{t.bounds.clear().union(s)}))}else if(r===my||t.modified()){e.visit(e.MOD,(t=>n.dirty(t)));s.clear();i.items.forEach((t=>s.union(Iy(t,a))));switch(i.role){case gy:case xy:case yy:e.reflow()}}else{l=e.changed(e.REM);e.visit(e.ADD,(t=>{s.union(Iy(t,a))}));e.visit(e.MOD,(t=>{l=l||s.alignsWith(t.bounds);n.dirty(t);s.union(Iy(t,a))}));if(l){s.clear();i.items.forEach((t=>s.union(t.bounds)))}}Kg(i);return e.modifies("bounds")}});function Iy(t,e,n){return e(t.bounds.clear(),t,n)}const By=":vega_identifier:";function Uy(t){Di.call(this,0,t)}Uy.Definition={type:"Identifier",metadata:{modifies:true},params:[{name:"as",type:"string",required:true}]};(0,p.B)(Uy,Di,{transform(t,e){const n=jy(e.dataflow),i=t.as;let r=n.value;e.visit(e.ADD,(t=>t[i]=t[i]||++r));n.set(this.value=r);return e}});function jy(t){return t._signals[By]||(t._signals[By]=t.add(0))}function Yy(t){Di.call(this,null,t)}(0,p.B)(Yy,Di,{transform(t,e){let n=this.value;if(!n){n=e.dataflow.scenegraph().mark(t.markdef,Gy(t),t.index);n.group.context=t.context;if(!t.context.group)t.context.group=n.group;n.source=this.source;n.clip=t.clip;n.interactive=t.interactive;this.value=n}const i=n.marktype===my?ld:sd;e.visit(e.ADD,(t=>i.call(t,n)));if(t.modified("clip")||t.modified("interactive")){n.clip=t.clip;n.interactive=!!t.interactive;n.zdirty=true;e.reflow()}n.items=e.source;return e}});function Gy(t){const e=t.groups,n=t.parent;return e&&e.size===1?e.get(Object.keys(e.object)[0]):e&&n?e.lookup(n):null}function Wy(t){Di.call(this,null,t)}const Xy={parity:t=>t.filter(((t,e)=>e%2?t.opacity=0:1)),greedy:(t,e)=>{let n;return t.filter(((t,i)=>!i||!Hy(n.bounds,t.bounds,e)?(n=t,1):t.opacity=0))}};const Hy=(t,e,n)=>n>Math.max(e.x1-t.x2,t.x1-e.x2,e.y1-t.y2,t.y1-e.y2);const Vy=(t,e)=>{for(var n=1,i=t.length,r=t[0].bounds,o;n<i;r=o,++n){if(Hy(r,o=t[n].bounds,e))return true}};const Ky=t=>{const e=t.bounds;return e.width()>1&&e.height()>1};const Zy=(t,e,n)=>{var i=t.range(),r=new ad;if(e===ny||e===oy){r.set(i[0],-Infinity,i[1],+Infinity)}else{r.set(-Infinity,i[0],+Infinity,i[1])}r.expand(n||1);return t=>r.encloses(t.bounds)};const Qy=t=>{t.forEach((t=>t.opacity=1));return t};const Jy=(t,e)=>t.reflow(e.modified()).modifies("opacity");(0,p.B)(Wy,Di,{transform(t,e){const n=Xy[t.method]||Xy.parity,i=t.separation||0;let r=e.materialize(e.SOURCE).source,o,a;if(!r||!r.length)return;if(!t.method){if(t.modified("method")){Qy(r);e=Jy(e,t)}return e}r=r.filter(Ky);if(!r.length)return;if(t.sort){r=r.slice().sort(t.sort)}o=Qy(r);e=Jy(e,t);if(o.length>=3&&Vy(o,i)){do{o=n(o,i)}while(o.length>=3&&Vy(o,i));if(o.length<3&&!(0,p.se)(r).opacity){if(o.length>1)(0,p.se)(o).opacity=0;(0,p.se)(r).opacity=1}}if(t.boundScale&&t.boundTolerance>=0){a=Zy(t.boundScale,t.boundOrient,+t.boundTolerance);r.forEach((t=>{if(!a(t))t.opacity=0}))}const s=o[0].mark.bounds.clear();r.forEach((t=>{if(t.opacity)s.union(t.bounds)}));return e}});function tv(t){Di.call(this,null,t)}(0,p.B)(tv,Di,{transform(t,e){const n=e.dataflow;e.visit(e.ALL,(t=>n.dirty(t)));if(e.fields&&e.fields["zindex"]){const t=e.source&&e.source[0];if(t)t.mark.zdirty=true}}});const ev=new ad;function nv(t,e,n){return t[e]===n?0:(t[e]=n,1)}function iv(t){var e=t.items[0].orient;return e===iy||e===ry}function rv(t){let e=+t.grid;return[t.ticks?e++:-1,t.labels?e++:-1,e+ +t.domain]}function ov(t,e,n,i){var r=e.items[0],o=r.datum,a=r.translate!=null?r.translate:.5,s=r.orient,l=rv(o),u=r.range,c=r.offset,f=r.position,d=r.minExtent,h=r.maxExtent,p=o.title&&r.items[l[2]].items[0],m=r.titlePadding,g=r.bounds,y=p&&_p(p),v=0,b=0,x,_;ev.clear().union(g);g.clear();if((x=l[0])>-1)g.union(r.items[x].bounds);if((x=l[1])>-1)g.union(r.items[x].bounds);switch(s){case ny:v=f||0;b=-c;_=Math.max(d,Math.min(h,-g.y1));g.add(0,-_).add(u,0);if(p)av(t,p,_,m,y,0,-1,g);break;case iy:v=-c;b=f||0;_=Math.max(d,Math.min(h,-g.x1));g.add(-_,0).add(0,u);if(p)av(t,p,_,m,y,1,-1,g);break;case ry:v=n+c;b=f||0;_=Math.max(d,Math.min(h,g.x2));g.add(0,0).add(_,u);if(p)av(t,p,_,m,y,1,1,g);break;case oy:v=f||0;b=i+c;_=Math.max(d,Math.min(h,g.y2));g.add(0,0).add(u,_);if(p)av(t,p,_,m,0,0,1,g);break;default:v=r.x;b=r.y}dd(g.translate(v,b),r);if(nv(r,"x",v+a)|nv(r,"y",b+a)){r.bounds=ev;t.dirty(r);r.bounds=g;t.dirty(r)}return r.mark.bounds.clear().union(g)}function av(t,e,n,i,r,o,a,s){const l=e.bounds;if(e.auto){const s=a*(n+r+i);let u=0,c=0;t.dirty(e);o?u=(e.x||0)-(e.x=s):c=(e.y||0)-(e.y=s);e.mark.bounds.clear().union(l.translate(-u,-c));t.dirty(e)}s.union(l)}const sv=(t,e)=>Math.floor(Math.min(t,e));const lv=(t,e)=>Math.ceil(Math.max(t,e));function uv(t){var e=t.items,n=e.length,i=0,r,o;const a={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};for(;i<n;++i){r=e[i];o=r.items;if(r.marktype===my){switch(r.role){case gy:case xy:case yy:break;case _y:a.rowheaders.push(...o);break;case wy:a.rowfooters.push(...o);break;case My:a.colheaders.push(...o);break;case Sy:a.colfooters.push(...o);break;case ky:a.rowtitle=o[0];break;case Ey:a.coltitle=o[0];break;default:a.marks.push(...o)}}}return a}function cv(t){return(new ad).set(0,0,t.width||0,t.height||0)}function fv(t){const e=t.bounds.clone();return e.empty()?e.set(0,0,0,0):e.translate(-(t.x||0),-(t.y||0))}function dv(t,e,n){const i=(0,p.Gv)(t)?t[e]:t;return i!=null?i:n!==undefined?n:0}function hv(t){return t<0?Math.ceil(-t):0}function pv(t,e,n){var i=!n.nodirty,r=n.bounds===Ly?cv:fv,o=ev.set(0,0,0,0),a=dv(n.align,Py),s=dv(n.align,qy),l=dv(n.padding,Py),u=dv(n.padding,qy),c=n.columns||e.length,f=c<=0?1:Math.ceil(e.length/c),d=e.length,h=Array(d),p=Array(c),m=0,g=Array(d),y=Array(f),v=0,b=Array(d),x=Array(d),_=Array(d),w,k,M,S,E,z,A,$,O,R,D;for(k=0;k<c;++k)p[k]=0;for(k=0;k<f;++k)y[k]=0;for(k=0;k<d;++k){z=e[k];E=_[k]=r(z);z.x=z.x||0;b[k]=0;z.y=z.y||0;x[k]=0;M=k%c;S=~~(k/c);m=Math.max(m,A=Math.ceil(E.x2));v=Math.max(v,$=Math.ceil(E.y2));p[M]=Math.max(p[M],A);y[S]=Math.max(y[S],$);h[k]=l+hv(E.x1);g[k]=u+hv(E.y1);if(i)t.dirty(e[k])}for(k=0;k<d;++k){if(k%c===0)h[k]=0;if(k<c)g[k]=0}if(a===Cy){for(M=1;M<c;++M){for(D=0,k=M;k<d;k+=c){if(D<h[k])D=h[k]}for(k=M;k<d;k+=c){h[k]=D+p[M-1]}}}else if(a===Ny){for(D=0,k=0;k<d;++k){if(k%c&&D<h[k])D=h[k]}for(k=0;k<d;++k){if(k%c)h[k]=D+m}}else{for(a=false,M=1;M<c;++M){for(k=M;k<d;k+=c){h[k]+=p[M-1]}}}if(s===Cy){for(S=1;S<f;++S){for(D=0,k=S*c,w=k+c;k<w;++k){if(D<g[k])D=g[k]}for(k=S*c;k<w;++k){g[k]=D+y[S-1]}}}else if(s===Ny){for(D=0,k=c;k<d;++k){if(D<g[k])D=g[k]}for(k=c;k<d;++k){g[k]=D+v}}else{for(s=false,S=1;S<f;++S){for(k=S*c,w=k+c;k<w;++k){g[k]+=y[S-1]}}}for(O=0,k=0;k<d;++k){O=h[k]+(k%c?O:0);b[k]+=O-e[k].x}for(M=0;M<c;++M){for(R=0,k=M;k<d;k+=c){R+=g[k];x[k]+=R-e[k].y}}if(a&&dv(n.center,Py)&&f>1){for(k=0;k<d;++k){E=a===Ny?m:p[k%c];O=E-_[k].x2-e[k].x-b[k];if(O>0)b[k]+=O/2}}if(s&&dv(n.center,qy)&&c!==1){for(k=0;k<d;++k){E=s===Ny?v:y[~~(k/c)];R=E-_[k].y2-e[k].y-x[k];if(R>0)x[k]+=R/2}}for(k=0;k<d;++k){o.union(_[k].translate(b[k],x[k]))}O=dv(n.anchor,hy);R=dv(n.anchor,py);switch(dv(n.anchor,Py)){case dy:O-=o.width();break;case fy:O-=o.width()/2}switch(dv(n.anchor,qy)){case dy:R-=o.height();break;case fy:R-=o.height()/2}O=Math.round(O);R=Math.round(R);o.clear();for(k=0;k<d;++k){e[k].mark.bounds.clear()}for(k=0;k<d;++k){z=e[k];z.x+=b[k]+=O;z.y+=x[k]+=R;o.union(z.mark.bounds.union(z.bounds.translate(b[k],x[k])));if(i)t.dirty(z)}return o}function mv(t,e,n){var i=uv(e),r=i.marks,o=n.bounds===Ly?gv:yv,a=n.offset,s=n.columns||r.length,l=s<=0?1:Math.ceil(r.length/s),u=l*s,c,f,d,h,p,m,g;const y=pv(t,r,n);if(y.empty())y.set(0,0,0,0);if(i.rowheaders){m=dv(n.headerBand,qy,null);c=vv(t,i.rowheaders,r,s,l,-dv(a,"rowHeader"),sv,0,o,"x1",0,s,1,m)}if(i.colheaders){m=dv(n.headerBand,Py,null);f=vv(t,i.colheaders,r,s,s,-dv(a,"columnHeader"),sv,1,o,"y1",0,1,s,m)}if(i.rowfooters){m=dv(n.footerBand,qy,null);d=vv(t,i.rowfooters,r,s,l,dv(a,"rowFooter"),lv,0,o,"x2",s-1,s,1,m)}if(i.colfooters){m=dv(n.footerBand,Py,null);h=vv(t,i.colfooters,r,s,s,dv(a,"columnFooter"),lv,1,o,"y2",u-s,1,s,m)}if(i.rowtitle){p=dv(n.titleAnchor,qy);g=dv(a,"rowTitle");g=p===dy?d+g:c-g;m=dv(n.titleBand,qy,.5);bv(t,i.rowtitle,g,0,y,m)}if(i.coltitle){p=dv(n.titleAnchor,Py);g=dv(a,"columnTitle");g=p===dy?h+g:f-g;m=dv(n.titleBand,Py,.5);bv(t,i.coltitle,g,1,y,m)}}function gv(t,e){return e==="x1"?t.x||0:e==="y1"?t.y||0:e==="x2"?(t.x||0)+(t.width||0):e==="y2"?(t.y||0)+(t.height||0):undefined}function yv(t,e){return t.bounds[e]}function vv(t,e,n,i,r,o,a,s,l,u,c,f,d,h){var p=n.length,m=0,g=0,y,v,b,x,_,w,k,M,S;if(!p)return m;for(y=c;y<p;y+=f){if(n[y])m=a(m,l(n[y],u))}if(!e.length)return m;if(e.length>r){t.warn("Grid headers exceed limit: "+r);e=e.slice(0,r)}m+=o;for(v=0,x=e.length;v<x;++v){t.dirty(e[v]);e[v].mark.bounds.clear()}for(y=c,v=0,x=e.length;v<x;++v,y+=f){w=e[v];_=w.mark.bounds;for(b=y;b>=0&&(k=n[b])==null;b-=d);if(s){M=h==null?k.x:Math.round(k.bounds.x1+h*k.bounds.width());S=m}else{M=m;S=h==null?k.y:Math.round(k.bounds.y1+h*k.bounds.height())}_.union(w.bounds.translate(M-(w.x||0),S-(w.y||0)));w.x=M;w.y=S;t.dirty(w);g=a(g,_[u])}return g}function bv(t,e,n,i,r,o){if(!e)return;t.dirty(e);var a=n,s=n;i?a=Math.round(r.x1+o*r.width()):s=Math.round(r.y1+o*r.height());e.bounds.translate(a-(e.x||0),s-(e.y||0));e.mark.bounds.clear().union(e.bounds);e.x=a;e.y=s;t.dirty(e)}function xv(t,e){const n=t[e]||{};return(e,i)=>n[e]!=null?n[e]:t[e]!=null?t[e]:i}function _v(t,e){let n=-Infinity;t.forEach((t=>{if(t.offset!=null)n=Math.max(n,t.offset)}));return n>-Infinity?n:e}function wv(t,e,n,i,r,o,a){const s=xv(n,e),l=_v(t,s("offset",0)),u=s("anchor",cy),c=u===dy?1:u===fy?.5:0;const f={align:Cy,bounds:s("bounds",Ly),columns:s("direction")==="vertical"?1:t.length,padding:s("margin",8),center:s("center"),nodirty:true};switch(e){case iy:f.anchor={x:Math.floor(i.x1)-l,column:dy,y:c*(a||i.height()+2*i.y1),row:u};break;case ry:f.anchor={x:Math.ceil(i.x2)+l,y:c*(a||i.height()+2*i.y1),row:u};break;case ny:f.anchor={y:Math.floor(r.y1)-l,row:dy,x:c*(o||r.width()+2*r.x1),column:u};break;case oy:f.anchor={y:Math.ceil(r.y2)+l,x:c*(o||r.width()+2*r.x1),column:u};break;case ay:f.anchor={x:l,y:l};break;case sy:f.anchor={x:o-l,y:l,column:dy};break;case ly:f.anchor={x:l,y:a-l,row:dy};break;case uy:f.anchor={x:o-l,y:a-l,column:dy,row:dy};break}return f}function kv(t,e){var n=e.items[0],i=n.datum,r=n.orient,o=n.bounds,a=n.x,s=n.y,l,u;n._bounds?n._bounds.clear().union(o):n._bounds=o.clone();o.clear();Sv(t,n,n.items[0].items[0]);o=Mv(n,o);l=2*n.padding;u=2*n.padding;if(!o.empty()){l=Math.ceil(o.width()+l);u=Math.ceil(o.height()+u)}if(i.type===Ay){Av(n.items[0].items[0].items[0].items)}if(r!==Ty){n.x=a=0;n.y=s=0}n.width=l;n.height=u;dd(o.set(a,s,a+l,s+u),n);n.mark.bounds.clear().union(o);return n}function Mv(t,e){t.items.forEach((t=>e.union(t.bounds)));e.x1=t.padding;e.y1=t.padding;return e}function Sv(t,e,n){var i=e.padding,r=i-n.x,o=i-n.y;if(!e.datum.title){if(r||o)zv(t,n,r,o)}else{var a=e.items[1].items[0],s=a.anchor,l=e.titlePadding||0,u=i-a.x,c=i-a.y;switch(a.orient){case iy:r+=Math.ceil(a.bounds.width())+l;break;case ry:case oy:break;default:o+=a.bounds.height()+l}if(r||o)zv(t,n,r,o);switch(a.orient){case iy:c+=Ev(e,n,a,s,1,1);break;case ry:u+=Ev(e,n,a,dy,0,0)+l;c+=Ev(e,n,a,s,1,1);break;case oy:u+=Ev(e,n,a,s,0,0);c+=Ev(e,n,a,dy,-1,0,1)+l;break;default:u+=Ev(e,n,a,s,0,0)}if(u||c)zv(t,a,u,c);if((u=Math.round(a.bounds.x1-i))<0){zv(t,n,-u,0);zv(t,a,-u,0)}}}function Ev(t,e,n,i,r,o,a){const s=t.datum.type!=="symbol",l=n.datum.vgrad,u=s&&(o||!l)&&!a?e.items[0]:e,c=u.bounds[r?"y2":"x2"]-t.padding,f=l&&o?c:0,d=l&&o?0:c,h=r<=0?0:_p(n);return Math.round(i===cy?f:i===dy?d-h:.5*(c-h))}function zv(t,e,n,i){e.x+=n;e.y+=i;e.bounds.translate(n,i);e.mark.bounds.translate(n,i);t.dirty(e)}function Av(t){const e=t.reduce(((t,e)=>{t[e.column]=Math.max(e.bounds.x2-e.x,t[e.column]||0);return t}),{});t.forEach((t=>{t.width=e[t.column];t.height=t.bounds.y2-t.y}))}function $v(t,e,n,i,r){var o=e.items[0],a=o.frame,s=o.orient,l=o.anchor,u=o.offset,c=o.padding,f=o.items[0].items[0],d=o.items[1]&&o.items[1].items[0],h=s===iy||s===ry?i:n,p=0,m=0,g=0,y=0,v=0,b;if(a!==my){s===iy?(p=r.y2,h=r.y1):s===ry?(p=r.y1,h=r.y2):(p=r.x1,h=r.x2)}else if(s===iy){p=i,h=0}b=l===cy?p:l===dy?h:(p+h)/2;if(d&&d.text){switch(s){case ny:case oy:v=f.bounds.height()+c;break;case iy:y=f.bounds.width()+c;break;case ry:y=-f.bounds.width()-c;break}ev.clear().union(d.bounds);ev.translate(y-(d.x||0),v-(d.y||0));if(nv(d,"x",y)|nv(d,"y",v)){t.dirty(d);d.bounds.clear().union(ev);d.mark.bounds.clear().union(ev);t.dirty(d)}ev.clear().union(d.bounds)}else{ev.clear()}ev.union(f.bounds);switch(s){case ny:m=b;g=r.y1-ev.height()-u;break;case iy:m=r.x1-ev.width()-u;g=b;break;case ry:m=r.x2+ev.width()+u;g=b;break;case oy:m=b;g=r.y2+u;break;default:m=o.x;g=o.y}if(nv(o,"x",m)|nv(o,"y",g)){ev.translate(m,g);t.dirty(o);o.bounds.clear().union(ev);e.bounds.clear().union(ev);t.dirty(o)}return o.bounds}function Ov(t){Di.call(this,null,t)}(0,p.B)(Ov,Di,{transform(t,e){const n=e.dataflow;t.mark.items.forEach((e=>{if(t.layout)mv(n,e,t.layout);Dv(n,e,t)}));return Rv(t.mark.group)?e.reflow():e}});function Rv(t){return t&&t.mark.role!=="legend-entry"}function Dv(t,e,n){var i=e.items,r=Math.max(0,e.width||0),o=Math.max(0,e.height||0),a=(new ad).set(0,0,r,o),s=a.clone(),l=a.clone(),u=[],c,f,d,h,p,m;for(p=0,m=i.length;p<m;++p){f=i[p];switch(f.role){case gy:h=iv(f)?s:l;h.union(ov(t,f,r,o));break;case yy:c=f;break;case xy:u.push(kv(t,f));break;case vy:case by:case _y:case wy:case ky:case My:case Sy:case Ey:s.union(f.bounds);l.union(f.bounds);break;default:a.union(f.bounds)}}if(u.length){const e={};u.forEach((t=>{d=t.orient||ry;if(d!==Ty)(e[d]||(e[d]=[])).push(t)}));for(const i in e){const a=e[i];pv(t,a,wv(a,i,n.legends,s,l,r,o))}u.forEach((e=>{const i=e.bounds;if(!i.equals(e._bounds)){e.bounds=e._bounds;t.dirty(e);e.bounds=i;t.dirty(e)}if(n.autosize&&(n.autosize.type===$y||n.autosize.type===Oy||n.autosize.type===Ry)){switch(e.orient){case iy:case ry:a.add(i.x1,0).add(i.x2,0);break;case ny:case oy:a.add(0,i.y1).add(0,i.y2)}}else{a.union(i)}}))}a.union(s).union(l);if(c){a.union($v(t,c,r,o,a))}if(e.clip){a.set(0,0,e.width||0,e.height||0)}Tv(t,e,a,n)}function Tv(t,e,n,i){const r=i.autosize||{},o=r.type;if(t._autosize<1||!o)return;let a=t._width,s=t._height,l=Math.max(0,e.width||0),u=Math.max(0,Math.ceil(-n.x1)),c=Math.max(0,e.height||0),f=Math.max(0,Math.ceil(-n.y1));const d=Math.max(0,Math.ceil(n.x2-l)),h=Math.max(0,Math.ceil(n.y2-c));if(r.contains===zy){const e=t.padding();a-=e.left+e.right;s-=e.top+e.bottom}if(o===Ty){u=0;f=0;l=a;c=s}else if(o===$y){l=Math.max(0,a-u-d);c=Math.max(0,s-f-h)}else if(o===Oy){l=Math.max(0,a-u-d);s=c+f+h}else if(o===Ry){a=l+u+d;c=Math.max(0,s-f-h)}else if(o===Dy){a=l+u+d;s=c+f+h}t._resizeView(a,s,l,c,[u,f],r.resize)}function Nv(t,e){let n=0;if(e===undefined){for(let e of t){if(e=+e){n+=e}}}else{let i=-1;for(let r of t){if(r=+e(r,++i,t)){n+=r}}}return n}function Cv(t){Di.call(this,null,t)}(0,p.B)(Cv,Di,{transform(t,e){if(this.value&&!t.modified()){return e.StopPropagation}var n=e.dataflow.locale(),i=e.fork(e.NO_SOURCE|e.NO_FIELDS),r=this.value,o=t.scale,a=t.count==null?t.values?t.values.length:10:t.count,s=uc(o,a,t.minstep),l=t.format||dc(n,o,s,t.formatSpecifier,t.formatType,!!t.values),u=t.values?cc(o,t.values,s):fc(o,s);if(r)i.rem=r;r=u.map(((t,e)=>bn({index:e/(u.length-1||1),value:t,label:l(t)})));if(t.extra&&r.length){r.push(bn({index:-1,extra:{value:r[0].value},label:""}))}i.source=r;i.add=r;this.value=r;return i}});function Lv(t){Di.call(this,null,t)}function Pv(){return bn({})}function qv(t){const e=(0,p.nG)().test((t=>t.exit));e.lookup=n=>e.get(t(n));return e}(0,p.B)(Lv,Di,{transform(t,e){var n=e.dataflow,i=e.fork(e.NO_SOURCE|e.NO_FIELDS),r=t.item||Pv,o=t.key||yn,a=this.value;if((0,p.cy)(i.encode)){i.encode=null}if(a&&(t.modified("key")||e.modified(o))){(0,p.z3)("DataJoin does not support modified key function or fields.")}if(!a){e=e.addAll();this.value=a=qv(o)}e.visit(e.ADD,(t=>{const e=o(t);let n=a.get(e);if(n){if(n.exit){a.empty--;i.add.push(n)}else{i.mod.push(n)}}else{n=r(t);a.set(e,n);i.add.push(n)}n.datum=t;n.exit=false}));e.visit(e.MOD,(t=>{const e=o(t),n=a.get(e);if(n){n.datum=t;i.mod.push(n)}}));e.visit(e.REM,(t=>{const e=o(t),n=a.get(e);if(t===n.datum&&!n.exit){i.rem.push(n);n.exit=true;++a.empty}}));if(e.changed(e.ADD_MOD))i.modifies("datum");if(e.clean()||t.clean&&a.empty>n.cleanThreshold){n.runAfter(a.clean)}return i}});function Fv(t){Di.call(this,null,t)}(0,p.B)(Fv,Di,{transform(t,e){var n=e.fork(e.ADD_REM),i=t.mod||false,r=t.encoders,o=e.encode;if((0,p.cy)(o)){if(n.changed()||o.every((t=>r[t]))){o=o[0];n.encode=null}else{return e.StopPropagation}}var a=o==="enter",s=r.update||p.me,l=r.enter||p.me,u=r.exit||p.me,c=(o&&!a?r[o]:s)||p.me;if(e.changed(e.ADD)){e.visit(e.ADD,(e=>{l(e,t);s(e,t)}));n.modifies(l.output);n.modifies(s.output);if(c!==p.me&&c!==s){e.visit(e.ADD,(e=>{c(e,t)}));n.modifies(c.output)}}if(e.changed(e.REM)&&u!==p.me){e.visit(e.REM,(e=>{u(e,t)}));n.modifies(u.output)}if(a||c!==p.me){const r=e.MOD|(t.modified()?e.REFLOW:0);if(a){e.visit(r,(e=>{const r=l(e,t)||i;if(c(e,t)||r)n.mod.push(e)}));if(n.mod.length)n.modifies(l.output)}else{e.visit(r,(e=>{if(c(e,t)||i)n.mod.push(e)}))}if(n.mod.length)n.modifies(c.output)}return n.changed()?n:e.StopPropagation}});function Iv(t){Di.call(this,[],t)}(0,p.B)(Iv,Di,{transform(t,e){if(this.value!=null&&!t.modified()){return e.StopPropagation}var n=e.dataflow.locale(),i=e.fork(e.NO_SOURCE|e.NO_FIELDS),r=this.value,o=t.type||ic,a=t.scale,s=+t.limit,l=uc(a,t.count==null?5:t.count,t.minstep),u=!!t.values||o===ic,c=t.format||_c(n,a,l,o,t.formatSpecifier,t.formatType,u),f=t.values||gc(a,l),d,h,m,g,y;if(r)i.rem=r;if(o===ic){if(s&&f.length>s){e.dataflow.warn("Symbol legend count exceeds limit, filtering items.");r=f.slice(0,s-1);y=true}else{r=f}if((0,p.Tn)(m=t.size)){if(!t.values&&a(r[0])===0){r=r.slice(1)}g=r.reduce(((e,n)=>Math.max(e,m(n,t))),0)}else{m=(0,p.dY)(g=m||8)}r=r.map(((e,n)=>bn({index:n,label:c(e,n,r),value:e,offset:g,size:m(e,t)})));if(y){y=f[r.length];r.push(bn({index:r.length,label:`…${f.length-r.length} entries`,value:y,offset:g,size:m(y,t)}))}}else if(o===oc){d=a.domain(),h=Hu(a,d[0],(0,p.se)(d));if(f.length<3&&!t.values&&d[0]!==(0,p.se)(d)){f=[d[0],(0,p.se)(d)]}r=f.map(((t,e)=>bn({index:e,label:c(t,e,f),value:t,perc:h(t)})))}else{m=f.length-1;h=zc(a);r=f.map(((t,e)=>bn({index:e,label:c(t,e,f),value:t,perc:e?h(t):0,perc2:e===m?1:h(f[e+1])})))}i.source=r;i.add=r;this.value=r;return i}});const Bv=t=>t.source.x;const Uv=t=>t.source.y;const jv=t=>t.target.x;const Yv=t=>t.target.y;function Gv(t){Di.call(this,{},t)}Gv.Definition={type:"LinkPath",metadata:{modifies:true},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]};(0,p.B)(Gv,Di,{transform(t,e){var n=t.sourceX||Bv,i=t.sourceY||Uv,r=t.targetX||jv,o=t.targetY||Yv,a=t.as||"path",s=t.orient||"vertical",l=t.shape||"line",u=rb.get(l+"-"+s)||rb.get(l);if(!u){(0,p.z3)("LinkPath unsupported type: "+t.shape+(t.orient?"-"+t.orient:""))}e.visit(e.SOURCE,(t=>{t[a]=u(n(t),i(t),r(t),o(t))}));return e.reflow(t.modified()).modifies(a)}});const Wv=(t,e,n,i)=>"M"+t+","+e+"L"+n+","+i;const Xv=(t,e,n,i)=>Wv(e*Math.cos(t),e*Math.sin(t),i*Math.cos(n),i*Math.sin(n));const Hv=(t,e,n,i)=>{var r=n-t,o=i-e,a=Math.sqrt(r*r+o*o)/2,s=180*Math.atan2(o,r)/Math.PI;return"M"+t+","+e+"A"+a+","+a+" "+s+" 0 1"+" "+n+","+i};const Vv=(t,e,n,i)=>Hv(e*Math.cos(t),e*Math.sin(t),i*Math.cos(n),i*Math.sin(n));const Kv=(t,e,n,i)=>{const r=n-t,o=i-e,a=.2*(r+o),s=.2*(o-r);return"M"+t+","+e+"C"+(t+a)+","+(e+s)+" "+(n+s)+","+(i-a)+" "+n+","+i};const Zv=(t,e,n,i)=>Kv(e*Math.cos(t),e*Math.sin(t),i*Math.cos(n),i*Math.sin(n));const Qv=(t,e,n,i)=>"M"+t+","+e+"V"+i+"H"+n;const Jv=(t,e,n,i)=>"M"+t+","+e+"H"+n+"V"+i;const tb=(t,e,n,i)=>{const r=Math.cos(t),o=Math.sin(t),a=Math.cos(n),s=Math.sin(n),l=Math.abs(n-t)>Math.PI?n<=t:n>t;return"M"+e*r+","+e*o+"A"+e+","+e+" 0 0,"+(l?1:0)+" "+e*a+","+e*s+"L"+i*a+","+i*s};const eb=(t,e,n,i)=>{const r=(t+n)/2;return"M"+t+","+e+"C"+r+","+e+" "+r+","+i+" "+n+","+i};const nb=(t,e,n,i)=>{const r=(e+i)/2;return"M"+t+","+e+"C"+t+","+r+" "+n+","+r+" "+n+","+i};const ib=(t,e,n,i)=>{const r=Math.cos(t),o=Math.sin(t),a=Math.cos(n),s=Math.sin(n),l=(e+i)/2;return"M"+e*r+","+e*o+"C"+l*r+","+l*o+" "+l*a+","+l*s+" "+i*a+","+i*s};const rb=(0,p.nG)({line:Wv,"line-radial":Xv,arc:Hv,"arc-radial":Vv,curve:Kv,"curve-radial":Zv,"orthogonal-horizontal":Qv,"orthogonal-vertical":Jv,"orthogonal-radial":tb,"diagonal-horizontal":eb,"diagonal-vertical":nb,"diagonal-radial":ib});function ob(t){Di.call(this,null,t)}ob.Definition={type:"Pie",metadata:{modifies:true},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:false},{name:"as",type:"string",array:true,length:2,default:["startAngle","endAngle"]}]};(0,p.B)(ob,Di,{transform(t,e){var n=t.as||["startAngle","endAngle"],i=n[0],r=n[1],o=t.field||p.xH,a=t.startAngle||0,s=t.endAngle!=null?t.endAngle:2*Math.PI,l=e.source,u=l.map(o),c=u.length,f=a,d=(s-a)/Nv(u),h=(0,to.A)(c),m,g,y;if(t.sort){h.sort(((t,e)=>u[t]-u[e]))}for(m=0;m<c;++m){y=u[h[m]];g=l[h[m]];g[i]=f;g[r]=f+=y*d}this.value=u;return e.reflow(t.modified()).modifies(n)}});const ab=5;function sb(t){const e=t.type;return!t.bins&&(e===Ql||e===tu||e===eu)}function lb(t){return Lu(t)&&t!==ou}const ub=(0,p.M1)(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","domainImplicit","nice","zero","bins","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);function cb(t){Di.call(this,null,t);this.modified(true)}(0,p.B)(cb,Di,{transform(t,e){var n=e.dataflow,i=this.value,r=fb(t);if(!i||r!==i.type){this.value=i=Tu(r)()}for(r in t)if(!ub[r]){if(r==="padding"&&lb(i.type))continue;(0,p.Tn)(i[r])?i[r](t[r]):n.warn("Unsupported scale property: "+r)}vb(i,t,yb(i,t,hb(i,t,n)));return e.fork(e.NO_SOURCE|e.NO_FIELDS)}});function fb(t){var e=t.type,n="",i;if(e===ou)return ou+"-"+Ql;if(db(t)){i=t.rawDomain?t.rawDomain.length:t.domain?t.domain.length+ +(t.domainMid!=null):0;n=i===2?ou+"-":i===3?au+"-":""}return(n+e||Ql).toLowerCase()}function db(t){const e=t.type;return Lu(e)&&e!==iu&&e!==ru&&(t.scheme||t.range&&t.range.length&&t.range.every(p.Kg))}function hb(t,e,n){const i=pb(t,e.domainRaw,n);if(i>-1)return i;var r=e.domain,o=t.type,a=e.zero||e.zero===undefined&&sb(t),s,l;if(!r)return 0;if(lb(o)&&e.padding&&r[0]!==(0,p.se)(r)){r=mb(o,r,e.range,e.padding,e.exponent,e.constant)}if(a||e.domainMin!=null||e.domainMax!=null||e.domainMid!=null){s=(r=r.slice()).length-1||1;if(a){if(r[0]>0)r[0]=0;if(r[s]<0)r[s]=0}if(e.domainMin!=null)r[0]=e.domainMin;if(e.domainMax!=null)r[s]=e.domainMax;if(e.domainMid!=null){l=e.domainMid;const t=l>r[s]?s+1:l<r[0]?0:s;if(t!==s)n.warn("Scale domainMid exceeds domain min or max.",l);r.splice(t,0,l)}}t.domain(gb(o,r,n));if(o===cu){t.unknown(e.domainImplicit?Xl.h:undefined)}if(e.nice&&t.nice){t.nice(e.nice!==true&&uc(t,e.nice)||null)}return r.length}function pb(t,e,n){if(e){t.domain(gb(t.type,e,n));return e.length}else{return-1}}function mb(t,e,n,i,r,o){var a=Math.abs((0,p.se)(n)-n[0]),s=a/(a-2*i),l=t===Jl?(0,p.oV)(e,null,s):t===eu?(0,p.SW)(e,null,s,.5):t===tu?(0,p.SW)(e,null,s,r||1):t===nu?(0,p.B2)(e,null,s,o||1):(0,p.lL)(e,null,s);e=e.slice();e[0]=l[0];e[e.length-1]=l[1];return e}function gb(t,e,n){if(Fu(t)){var i=Math.abs(e.reduce(((t,e)=>t+(e<0?-1:e>0?1:0)),0));if(i!==e.length){n.warn("Log scale domain includes zero: "+(0,p.r$)(e))}}return e}function yb(t,e,n){let i=e.bins;if(i&&!(0,p.cy)(i)){const e=t.domain(),n=e[0],r=(0,p.se)(e),o=i.step;let a=i.start==null?n:i.start,s=i.stop==null?r:i.stop;if(!o)(0,p.z3)("Scale bins parameter missing step property.");if(a<n)a=o*Math.ceil(n/o);if(s>r)s=o*Math.floor(r/o);i=(0,to.A)(a,s+o/2,o)}if(i){t.bins=i}else if(t.bins){delete t.bins}if(t.type===hu){if(!i){t.bins=t.domain()}else if(!e.domain&&!e.domainRaw){t.domain(i);n=i.length}}return n}function vb(t,e,n){var i=t.type,r=e.round||false,o=e.range;if(e.rangeStep!=null){o=bb(i,e,n)}else if(e.scheme){o=xb(i,e,n);if((0,p.Tn)(o)){if(t.interpolator){return t.interpolator(o)}else{(0,p.z3)(`Scale type ${i} does not support interpolating color schemes.`)}}}if(o&&Bu(i)){return t.interpolator(Gu(wb(o,e.reverse),e.interpolate,e.interpolateGamma))}if(o&&e.interpolate&&t.interpolate){t.interpolate(Vu(e.interpolate,e.interpolateGamma))}else if((0,p.Tn)(t.round)){t.round(r)}else if((0,p.Tn)(t.rangeRound)){t.interpolate(r?$l.A:Al.A)}if(o)t.range(wb(o,e.reverse))}function bb(t,e,n){if(t!==du&&t!==fu){(0,p.z3)("Only band and point scales support rangeStep.")}var i=(e.paddingOuter!=null?e.paddingOuter:e.padding)||0,r=t===fu?1:(e.paddingInner!=null?e.paddingInner:e.padding)||0;return[0,e.rangeStep*Kl(n,r,i)]}function xb(t,e,n){var i=e.schemeExtent,r,o;if((0,p.cy)(e.scheme)){o=Gu(e.scheme,e.interpolate,e.interpolateGamma)}else{r=e.scheme.toLowerCase();o=nc(r);if(!o)(0,p.z3)(`Unrecognized scheme name: ${e.scheme}`)}n=t===uu?n+1:t===hu?n-1:t===su||t===lu?+e.schemeCount||ab:n;return Bu(t)?_b(o,i,e.reverse):(0,p.Tn)(o)?Wu(_b(o,i),n):t===cu?o:o.slice(0,n)}function _b(t,e,n){return(0,p.Tn)(t)&&(e||n)?Yu(t,wb(e||[0,1],n)):t}function wb(t,e){return e?t.slice().reverse():t}function kb(t){Di.call(this,null,t)}(0,p.B)(kb,Di,{transform(t,e){const n=t.modified("sort")||e.changed(e.ADD)||e.modified(t.sort.fields)||e.modified("datum");if(n)e.source.sort(kn(t.sort));this.modified(n);return e}});const Mb="zero",Sb="center",Eb="normalize",zb=["y0","y1"];function Ab(t){Di.call(this,null,t)}Ab.Definition={type:"Stack",metadata:{modifies:true},params:[{name:"field",type:"field"},{name:"groupby",type:"field",array:true},{name:"sort",type:"compare"},{name:"offset",type:"enum",default:Mb,values:[Mb,Sb,Eb]},{name:"as",type:"string",array:true,length:2,default:zb}]};(0,p.B)(Ab,Di,{transform(t,e){var n=t.as||zb,i=n[0],r=n[1],o=kn(t.sort),a=t.field||p.xH,s=t.offset===Sb?$b:t.offset===Eb?Ob:Rb,l,u,c,f;l=Db(e.source,t.groupby,o,a);for(u=0,c=l.length,f=l.max;u<c;++u){s(l[u],f,a,i,r)}return e.reflow(t.modified()).modifies(n)}});function $b(t,e,n,i,r){var o=(e-t.sum)/2,a=t.length,s=0,l;for(;s<a;++s){l=t[s];l[i]=o;l[r]=o+=Math.abs(n(l))}}function Ob(t,e,n,i,r){var o=1/t.sum,a=0,s=t.length,l=0,u=0,c;for(;l<s;++l){c=t[l];c[i]=a;c[r]=a=o*(u+=Math.abs(n(c)))}}function Rb(t,e,n,i,r){var o=0,a=0,s=t.length,l=0,u,c;for(;l<s;++l){c=t[l];u=+n(c);if(u<0){c[i]=a;c[r]=a+=u}else{c[i]=o;c[r]=o+=u}}}function Db(t,e,n,i){var r=[],o=t=>t(c),a,s,l,u,c,f,d,h,p;if(e==null){r.push(t.slice())}else{for(a={},s=0,l=t.length;s<l;++s){c=t[s];f=e.map(o);d=a[f];if(!d){a[f]=d=[];r.push(d)}d.push(c)}}for(f=0,p=0,u=r.length;f<u;++f){d=r[f];for(s=0,h=0,l=d.length;s<l;++s){h+=Math.abs(i(d[s]))}d.sum=h;if(h>p)p=h;if(n)d.sort(n)}r.max=p;return r}const Tb=t=>t;function Nb(t,e){if(t&&Lb.hasOwnProperty(t.type)){Lb[t.type](t,e)}}var Cb={Feature:function(t,e){Nb(t.geometry,e)},FeatureCollection:function(t,e){var n=t.features,i=-1,r=n.length;while(++i<r)Nb(n[i].geometry,e)}};var Lb={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates;e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){var n=t.coordinates,i=-1,r=n.length;while(++i<r)t=n[i],e.point(t[0],t[1],t[2])},LineString:function(t,e){Pb(t.coordinates,e,0)},MultiLineString:function(t,e){var n=t.coordinates,i=-1,r=n.length;while(++i<r)Pb(n[i],e,0)},Polygon:function(t,e){qb(t.coordinates,e)},MultiPolygon:function(t,e){var n=t.coordinates,i=-1,r=n.length;while(++i<r)qb(n[i],e)},GeometryCollection:function(t,e){var n=t.geometries,i=-1,r=n.length;while(++i<r)Nb(n[i],e)}};function Pb(t,e,n){var i=-1,r=t.length-n,o;e.lineStart();while(++i<r)o=t[i],e.point(o[0],o[1],o[2]);e.lineEnd()}function qb(t,e){var n=-1,i=t.length;e.polygonStart();while(++n<i)Pb(t[n],e,1);e.polygonEnd()}function Fb(t,e){if(t&&Cb.hasOwnProperty(t.type)){Cb[t.type](t,e)}else{Nb(t,e)}}class Ib{constructor(){this._partials=new Float64Array(32);this._n=0}add(t){const e=this._partials;let n=0;for(let i=0;i<this._n&&i<32;i++){const r=e[i],o=t+r,a=Math.abs(t)<Math.abs(r)?t-(o-r):r-(o-t);if(a)e[n++]=a;t=o}e[n]=t;this._n=n+1;return this}valueOf(){const t=this._partials;let e=this._n,n,i,r,o=0;if(e>0){o=t[--e];while(e>0){n=o;i=t[--e];o=n+i;r=i-(o-n);if(r)break}if(e>0&&(r<0&&t[e-1]<0||r>0&&t[e-1]>0)){i=r*2;n=o+i;if(i==n-o)o=n}}return o}}function Bb(t,e){const n=new Ib;if(e===undefined){for(let e of t){if(e=+e){n.add(e)}}}else{let i=-1;for(let r of t){if(r=+e(r,++i,t)){n.add(r)}}}return+n}function Ub(t,e){const n=new Ib;let i=-1;return Float64Array.from(t,e===undefined?t=>n.add(+t||0):r=>n.add(+e(r,++i,t)||0))}var jb=1e-6;var Yb=1e-12;var Gb=Math.PI;var Wb=Gb/2;var Xb=Gb/4;var Hb=Gb*2;var Vb=180/Gb;var Kb=Gb/180;var Zb=Math.abs;var Qb=Math.atan;var Jb=Math.atan2;var tx=Math.cos;var ex=Math.ceil;var nx=Math.exp;var ix=Math.floor;var rx=Math.hypot;var ox=Math.log;var ax=Math.pow;var sx=Math.sin;var lx=Math.sign||function(t){return t>0?1:t<0?-1:0};var ux=Math.sqrt;var cx=Math.tan;function fx(t){return t>1?0:t<-1?Gb:Math.acos(t)}function dx(t){return t>1?Wb:t<-1?-Wb:Math.asin(t)}function hx(t){return(t=sx(t/2))*t}function px(){}var mx=new Ib,gx=new Ib,yx,vx,bx,xx;var _x={point:px,lineStart:px,lineEnd:px,polygonStart:function(){_x.lineStart=wx;_x.lineEnd=Sx},polygonEnd:function(){_x.lineStart=_x.lineEnd=_x.point=px;mx.add(Zb(gx));gx=new Ib},result:function(){var t=mx/2;mx=new Ib;return t}};function wx(){_x.point=kx}function kx(t,e){_x.point=Mx;yx=bx=t,vx=xx=e}function Mx(t,e){gx.add(xx*t-bx*e);bx=t,xx=e}function Sx(){Mx(yx,vx)}const Ex=_x;var zx=Infinity,Ax=zx,$x=-zx,Ox=$x;var Rx={point:Dx,lineStart:px,lineEnd:px,polygonStart:px,polygonEnd:px,result:function(){var t=[[zx,Ax],[$x,Ox]];$x=Ox=-(Ax=zx=Infinity);return t}};function Dx(t,e){if(t<zx)zx=t;if(t>$x)$x=t;if(e<Ax)Ax=e;if(e>Ox)Ox=e}const Tx=Rx;var Nx=0,Cx=0,Lx=0,Px=0,qx=0,Fx=0,Ix=0,Bx=0,Ux=0,jx,Yx,Gx,Wx;var Xx={point:Hx,lineStart:Vx,lineEnd:Qx,polygonStart:function(){Xx.lineStart=Jx;Xx.lineEnd=t_},polygonEnd:function(){Xx.point=Hx;Xx.lineStart=Vx;Xx.lineEnd=Qx},result:function(){var t=Ux?[Ix/Ux,Bx/Ux]:Fx?[Px/Fx,qx/Fx]:Lx?[Nx/Lx,Cx/Lx]:[NaN,NaN];Nx=Cx=Lx=Px=qx=Fx=Ix=Bx=Ux=0;return t}};function Hx(t,e){Nx+=t;Cx+=e;++Lx}function Vx(){Xx.point=Kx}function Kx(t,e){Xx.point=Zx;Hx(Gx=t,Wx=e)}function Zx(t,e){var n=t-Gx,i=e-Wx,r=ux(n*n+i*i);Px+=r*(Gx+t)/2;qx+=r*(Wx+e)/2;Fx+=r;Hx(Gx=t,Wx=e)}function Qx(){Xx.point=Hx}function Jx(){Xx.point=e_}function t_(){n_(jx,Yx)}function e_(t,e){Xx.point=n_;Hx(jx=Gx=t,Yx=Wx=e)}function n_(t,e){var n=t-Gx,i=e-Wx,r=ux(n*n+i*i);Px+=r*(Gx+t)/2;qx+=r*(Wx+e)/2;Fx+=r;r=Wx*t-Gx*e;Ix+=r*(Gx+t);Bx+=r*(Wx+e);Ux+=r*3;Hx(Gx=t,Wx=e)}const i_=Xx;function r_(t){this._context=t}r_.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line===0)this._context.closePath();this._point=NaN},point:function(t,e){switch(this._point){case 0:{this._context.moveTo(t,e);this._point=1;break}case 1:{this._context.lineTo(t,e);break}default:{this._context.moveTo(t+this._radius,e);this._context.arc(t,e,this._radius,0,Hb);break}}},result:px};var o_=new Ib,a_,s_,l_,u_,c_;var f_={point:px,lineStart:function(){f_.point=d_},lineEnd:function(){if(a_)h_(s_,l_);f_.point=px},polygonStart:function(){a_=true},polygonEnd:function(){a_=null},result:function(){var t=+o_;o_=new Ib;return t}};function d_(t,e){f_.point=h_;s_=u_=t,l_=c_=e}function h_(t,e){u_-=t,c_-=e;o_.add(ux(u_*u_+c_*c_));u_=t,c_=e}const p_=f_;let m_,g_,y_,v_;class b_{constructor(t){this._append=t==null?x_:__(t);this._radius=4.5;this._=""}pointRadius(t){this._radius=+t;return this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){if(this._line===0)this._+="Z";this._point=NaN}point(t,e){switch(this._point){case 0:{this._append`M${t},${e}`;this._point=1;break}case 1:{this._append`L${t},${e}`;break}default:{this._append`M${t},${e}`;if(this._radius!==y_||this._append!==g_){const t=this._radius;const e=this._;this._="";this._append`m0,${t}a${t},${t} 0 1,1 0,${-2*t}a${t},${t} 0 1,1 0,${2*t}z`;y_=t;g_=this._append;v_=this._;this._=e}this._+=v_;break}}}result(){const t=this._;this._="";return t.length?t:null}}function x_(t){let e=1;this._+=t[0];for(const n=t.length;e<n;++e){this._+=arguments[e]+t[e]}}function __(t){const e=Math.floor(t);if(!(e>=0))throw new RangeError(`invalid digits: ${t}`);if(e>15)return x_;if(e!==m_){const t=10**e;m_=e;g_=function e(n){let i=1;this._+=n[0];for(const r=n.length;i<r;++i){this._+=Math.round(arguments[i]*t)/t+n[i]}}}return g_}function w_(t,e){let n=3,i=4.5,r,o;function a(t){if(t){if(typeof i==="function")o.pointRadius(+i.apply(this,arguments));Fb(t,r(o))}return o.result()}a.area=function(t){Fb(t,r(Ex));return Ex.result()};a.measure=function(t){Fb(t,r(p_));return p_.result()};a.bounds=function(t){Fb(t,r(Tx));return Tx.result()};a.centroid=function(t){Fb(t,r(i_));return i_.result()};a.projection=function(e){if(!arguments.length)return t;r=e==null?(t=null,Tb):(t=e).stream;return a};a.context=function(t){if(!arguments.length)return e;o=t==null?(e=null,new b_(n)):new r_(e=t);if(typeof i!=="function")o.pointRadius(i);return a};a.pointRadius=function(t){if(!arguments.length)return i;i=typeof t==="function"?t:(o.pointRadius(+t),+t);return a};a.digits=function(t){if(!arguments.length)return n;if(t==null)n=null;else{const e=Math.floor(t);if(!(e>=0))throw new RangeError(`invalid digits: ${t}`);n=e}if(e===null)o=new b_(n);return a};return a.projection(t).digits(n).context(e)}function k_(){var t=[],e;return{point:function(t,n,i){e.push([t,n,i])},lineStart:function(){t.push(e=[])},lineEnd:px,rejoin:function(){if(t.length>1)t.push(t.pop().concat(t.shift()))},result:function(){var n=t;t=[];e=null;return n}}}function M_(t,e){return Zb(t[0]-e[0])<jb&&Zb(t[1]-e[1])<jb}function S_(t,e,n,i){this.x=t;this.z=e;this.o=n;this.e=i;this.v=false;this.n=this.p=null}function E_(t,e,n,i,r){var o=[],a=[],s,l;t.forEach((function(t){if((e=t.length-1)<=0)return;var e,n=t[0],i=t[e],l;if(M_(n,i)){if(!n[2]&&!i[2]){r.lineStart();for(s=0;s<e;++s)r.point((n=t[s])[0],n[1]);r.lineEnd();return}i[0]+=2*jb}o.push(l=new S_(n,t,null,true));a.push(l.o=new S_(n,null,l,false));o.push(l=new S_(i,t,null,false));a.push(l.o=new S_(i,null,l,true))}));if(!o.length)return;a.sort(e);z_(o);z_(a);for(s=0,l=a.length;s<l;++s){a[s].e=n=!n}var u=o[0],c,f;while(1){var d=u,h=true;while(d.v)if((d=d.n)===u)return;c=d.z;r.lineStart();do{d.v=d.o.v=true;if(d.e){if(h){for(s=0,l=c.length;s<l;++s)r.point((f=c[s])[0],f[1])}else{i(d.x,d.n.x,1,r)}d=d.n}else{if(h){c=d.p.z;for(s=c.length-1;s>=0;--s)r.point((f=c[s])[0],f[1])}else{i(d.x,d.p.x,-1,r)}d=d.p}d=d.o;c=d.z;h=!h}while(!d.v);r.lineEnd()}}function z_(t){if(!(e=t.length))return;var e,n=0,i=t[0],r;while(++n<e){i.n=r=t[n];r.p=i;i=r}i.n=r=t[0];r.p=i}function A_(t){return[Jb(t[1],t[0]),dx(t[2])]}function $_(t){var e=t[0],n=t[1],i=tx(n);return[i*tx(e),i*sx(e),sx(n)]}function O_(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function R_(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function D_(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function T_(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function N_(t){var e=ux(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function C_(t){return Zb(t[0])<=Gb?t[0]:lx(t[0])*((Zb(t[0])+Gb)%Hb-Gb)}function L_(t,e){var n=C_(e),i=e[1],r=sx(i),o=[sx(n),-tx(n),0],a=0,s=0;var l=new Ib;if(r===1)i=Wb+jb;else if(r===-1)i=-Wb-jb;for(var u=0,c=t.length;u<c;++u){if(!(d=(f=t[u]).length))continue;var f,d,h=f[d-1],p=C_(h),m=h[1]/2+Xb,g=sx(m),y=tx(m);for(var v=0;v<d;++v,p=x,g=w,y=k,h=b){var b=f[v],x=C_(b),_=b[1]/2+Xb,w=sx(_),k=tx(_),M=x-p,S=M>=0?1:-1,E=S*M,z=E>Gb,A=g*w;l.add(Jb(A*S*sx(E),y*k+A*tx(E)));a+=z?M+S*Hb:M;if(z^p>=n^x>=n){var $=R_($_(h),$_(b));N_($);var O=R_(o,$);N_(O);var R=(z^M>=0?-1:1)*dx(O[2]);if(i>R||i===R&&($[0]||$[1])){s+=z^M>=0?1:-1}}}}return(a<-jb||a<jb&&l<-Yb)^s&1}function*P_(t){for(const e of t){yield*e}}function q_(t){return Array.from(P_(t))}function F_(t,e,n,i){return function(r){var o=e(r),a=k_(),s=e(a),l=false,u,c,f;var d={point:h,lineStart:m,lineEnd:g,polygonStart:function(){d.point=y;d.lineStart=v;d.lineEnd=b;c=[];u=[]},polygonEnd:function(){d.point=h;d.lineStart=m;d.lineEnd=g;c=q_(c);var t=L_(u,i);if(c.length){if(!l)r.polygonStart(),l=true;E_(c,B_,t,n,r)}else if(t){if(!l)r.polygonStart(),l=true;r.lineStart();n(null,null,1,r);r.lineEnd()}if(l)r.polygonEnd(),l=false;c=u=null},sphere:function(){r.polygonStart();r.lineStart();n(null,null,1,r);r.lineEnd();r.polygonEnd()}};function h(e,n){if(t(e,n))r.point(e,n)}function p(t,e){o.point(t,e)}function m(){d.point=p;o.lineStart()}function g(){d.point=h;o.lineEnd()}function y(t,e){f.push([t,e]);s.point(t,e)}function v(){s.lineStart();f=[]}function b(){y(f[0][0],f[0][1]);s.lineEnd();var t=s.clean(),e=a.result(),n,i=e.length,o,d,h;f.pop();u.push(f);f=null;if(!i)return;if(t&1){d=e[0];if((o=d.length-1)>0){if(!l)r.polygonStart(),l=true;r.lineStart();for(n=0;n<o;++n)r.point((h=d[n])[0],h[1]);r.lineEnd()}return}if(i>1&&t&2)e.push(e.pop().concat(e.shift()));c.push(e.filter(I_))}return d}}function I_(t){return t.length>1}function B_(t,e){return((t=t.x)[0]<0?t[1]-Wb-jb:Wb-t[1])-((e=e.x)[0]<0?e[1]-Wb-jb:Wb-e[1])}const U_=F_((function(){return true}),j_,G_,[-Gb,-Wb]);function j_(t){var e=NaN,n=NaN,i=NaN,r;return{lineStart:function(){t.lineStart();r=1},point:function(o,a){var s=o>0?Gb:-Gb,l=Zb(o-e);if(Zb(l-Gb)<jb){t.point(e,n=(n+a)/2>0?Wb:-Wb);t.point(i,n);t.lineEnd();t.lineStart();t.point(s,n);t.point(o,n);r=0}else if(i!==s&&l>=Gb){if(Zb(e-i)<jb)e-=i*jb;if(Zb(o-s)<jb)o-=s*jb;n=Y_(e,n,o,a);t.point(i,n);t.lineEnd();t.lineStart();t.point(s,n);r=0}t.point(e=o,n=a);i=s},lineEnd:function(){t.lineEnd();e=n=NaN},clean:function(){return 2-r}}}function Y_(t,e,n,i){var r,o,a=sx(t-n);return Zb(a)>jb?Qb((sx(e)*(o=tx(i))*sx(n)-sx(i)*(r=tx(e))*sx(t))/(r*o*a)):(e+i)/2}function G_(t,e,n,i){var r;if(t==null){r=n*Wb;i.point(-Gb,r);i.point(0,r);i.point(Gb,r);i.point(Gb,0);i.point(Gb,-r);i.point(0,-r);i.point(-Gb,-r);i.point(-Gb,0);i.point(-Gb,r)}else if(Zb(t[0]-e[0])>jb){var o=t[0]<e[0]?Gb:-Gb;r=n*o/2;i.point(-o,r);i.point(0,r);i.point(o,r)}else{i.point(e[0],e[1])}}function W_(t,e,n,i,r,o){if(!n)return;var a=tx(e),s=sx(e),l=i*n;if(r==null){r=e+i*Hb;o=e-l/2}else{r=X_(a,r);o=X_(a,o);if(i>0?r<o:r>o)r+=i*Hb}for(var u,c=r;i>0?c>o:c<o;c-=l){u=A_([a,-s*tx(c),-s*sx(c)]);t.point(u[0],u[1])}}function X_(t,e){e=$_(e),e[0]-=t;N_(e);var n=fx(-e[1]);return((-e[2]<0?-n:n)+Hb-jb)%Hb}function H_(){var t=constant([0,0]),e=constant(90),n=constant(6),i,r,o={point:a};function a(t,e){i.push(t=r(t,e));t[0]*=degrees,t[1]*=degrees}function s(){var a=t.apply(this,arguments),s=e.apply(this,arguments)*radians,l=n.apply(this,arguments)*radians;i=[];r=rotateRadians(-a[0]*radians,-a[1]*radians,0).invert;W_(o,s,l,1);a={type:"Polygon",coordinates:[i]};i=r=null;return a}s.center=function(e){return arguments.length?(t=typeof e==="function"?e:constant([+e[0],+e[1]]),s):t};s.radius=function(t){return arguments.length?(e=typeof t==="function"?t:constant(+t),s):e};s.precision=function(t){return arguments.length?(n=typeof t==="function"?t:constant(+t),s):n};return s}function V_(t){var e=tx(t),n=6*Kb,i=e>0,r=Zb(e)>jb;function o(e,i,r,o){W_(o,t,n,r,e,i)}function a(t,n){return tx(t)*tx(n)>e}function s(t){var e,n,o,s,c;return{lineStart:function(){s=o=false;c=1},point:function(f,d){var h=[f,d],p,m=a(f,d),g=i?m?0:u(f,d):m?u(f+(f<0?Gb:-Gb),d):0;if(!e&&(s=o=m))t.lineStart();if(m!==o){p=l(e,h);if(!p||M_(e,p)||M_(h,p))h[2]=1}if(m!==o){c=0;if(m){t.lineStart();p=l(h,e);t.point(p[0],p[1])}else{p=l(e,h);t.point(p[0],p[1],2);t.lineEnd()}e=p}else if(r&&e&&i^m){var y;if(!(g&n)&&(y=l(h,e,true))){c=0;if(i){t.lineStart();t.point(y[0][0],y[0][1]);t.point(y[1][0],y[1][1]);t.lineEnd()}else{t.point(y[1][0],y[1][1]);t.lineEnd();t.lineStart();t.point(y[0][0],y[0][1],3)}}}if(m&&(!e||!M_(e,h))){t.point(h[0],h[1])}e=h,o=m,n=g},lineEnd:function(){if(o)t.lineEnd();e=null},clean:function(){return c|(s&&o)<<1}}}function l(t,n,i){var r=$_(t),o=$_(n);var a=[1,0,0],s=R_(r,o),l=O_(s,s),u=s[0],c=l-u*u;if(!c)return!i&&t;var f=e*l/c,d=-e*u/c,h=R_(a,s),p=T_(a,f),m=T_(s,d);D_(p,m);var g=h,y=O_(p,g),v=O_(g,g),b=y*y-v*(O_(p,p)-1);if(b<0)return;var x=ux(b),_=T_(g,(-y-x)/v);D_(_,p);_=A_(_);if(!i)return _;var w=t[0],k=n[0],M=t[1],S=n[1],E;if(k<w)E=w,w=k,k=E;var z=k-w,A=Zb(z-Gb)<jb,$=A||z<jb;if(!A&&S<M)E=M,M=S,S=E;if($?A?M+S>0^_[1]<(Zb(_[0]-w)<jb?M:S):M<=_[1]&&_[1]<=S:z>Gb^(w<=_[0]&&_[0]<=k)){var O=T_(g,(-y+x)/v);D_(O,p);return[_,A_(O)]}}function u(e,n){var r=i?t:Gb-t,o=0;if(e<-r)o|=1;else if(e>r)o|=2;if(n<-r)o|=4;else if(n>r)o|=8;return o}return F_(a,s,o,i?[0,-t]:[-Gb,t-Gb])}function K_(t,e,n,i,r,o){var a=t[0],s=t[1],l=e[0],u=e[1],c=0,f=1,d=l-a,h=u-s,p;p=n-a;if(!d&&p>0)return;p/=d;if(d<0){if(p<c)return;if(p<f)f=p}else if(d>0){if(p>f)return;if(p>c)c=p}p=r-a;if(!d&&p<0)return;p/=d;if(d<0){if(p>f)return;if(p>c)c=p}else if(d>0){if(p<c)return;if(p<f)f=p}p=i-s;if(!h&&p>0)return;p/=h;if(h<0){if(p<c)return;if(p<f)f=p}else if(h>0){if(p>f)return;if(p>c)c=p}p=o-s;if(!h&&p<0)return;p/=h;if(h<0){if(p>f)return;if(p>c)c=p}else if(h>0){if(p<c)return;if(p<f)f=p}if(c>0)t[0]=a+c*d,t[1]=s+c*h;if(f<1)e[0]=a+f*d,e[1]=s+f*h;return true}var Z_=1e9,Q_=-Z_;function J_(t,e,n,i){function r(r,o){return t<=r&&r<=n&&e<=o&&o<=i}function o(r,o,s,u){var c=0,f=0;if(r==null||(c=a(r,s))!==(f=a(o,s))||l(r,o)<0^s>0){do{u.point(c===0||c===3?t:n,c>1?i:e)}while((c=(c+s+4)%4)!==f)}else{u.point(o[0],o[1])}}function a(i,r){return Zb(i[0]-t)<jb?r>0?0:3:Zb(i[0]-n)<jb?r>0?2:1:Zb(i[1]-e)<jb?r>0?1:0:r>0?3:2}function s(t,e){return l(t.x,e.x)}function l(t,e){var n=a(t,1),i=a(e,1);return n!==i?n-i:n===0?e[1]-t[1]:n===1?t[0]-e[0]:n===2?t[1]-e[1]:e[0]-t[0]}return function(a){var l=a,u=k_(),c,f,d,h,p,m,g,y,v,b,x;var _={point:w,lineStart:E,lineEnd:z,polygonStart:M,polygonEnd:S};function w(t,e){if(r(t,e))l.point(t,e)}function k(){var e=0;for(var n=0,r=f.length;n<r;++n){for(var o=f[n],a=1,s=o.length,l=o[0],u,c,d=l[0],h=l[1];a<s;++a){u=d,c=h,l=o[a],d=l[0],h=l[1];if(c<=i){if(h>i&&(d-u)*(i-c)>(h-c)*(t-u))++e}else{if(h<=i&&(d-u)*(i-c)<(h-c)*(t-u))--e}}}return e}function M(){l=u,c=[],f=[],x=true}function S(){var t=k(),e=x&&t,n=(c=q_(c)).length;if(e||n){a.polygonStart();if(e){a.lineStart();o(null,null,1,a);a.lineEnd()}if(n){E_(c,s,t,o,a)}a.polygonEnd()}l=a,c=f=d=null}function E(){_.point=A;if(f)f.push(d=[]);b=true;v=false;g=y=NaN}function z(){if(c){A(h,p);if(m&&v)u.rejoin();c.push(u.result())}_.point=w;if(v)l.lineEnd()}function A(o,a){var s=r(o,a);if(f)d.push([o,a]);if(b){h=o,p=a,m=s;b=false;if(s){l.lineStart();l.point(o,a)}}else{if(s&&v)l.point(o,a);else{var u=[g=Math.max(Q_,Math.min(Z_,g)),y=Math.max(Q_,Math.min(Z_,y))],c=[o=Math.max(Q_,Math.min(Z_,o)),a=Math.max(Q_,Math.min(Z_,a))];if(K_(u,c,t,e,n,i)){if(!v){l.lineStart();l.point(u[0],u[1])}l.point(c[0],c[1]);if(!s)l.lineEnd();x=false}else if(s){l.lineStart();l.point(o,a);x=false}}}g=o,y=a,v=s}return _}}function tw(t,e){function n(n,i){return n=t(n,i),e(n[0],n[1])}if(t.invert&&e.invert)n.invert=function(n,i){return n=e.invert(n,i),n&&t.invert(n[0],n[1])};return n}function ew(t,e){if(Zb(t)>Gb)t-=Math.round(t/Hb)*Hb;return[t,e]}ew.invert=ew;function nw(t,e,n){return(t%=Hb)?e||n?tw(rw(t),ow(e,n)):rw(t):e||n?ow(e,n):ew}function iw(t){return function(e,n){e+=t;if(Zb(e)>Gb)e-=Math.round(e/Hb)*Hb;return[e,n]}}function rw(t){var e=iw(t);e.invert=iw(-t);return e}function ow(t,e){var n=tx(t),i=sx(t),r=tx(e),o=sx(e);function a(t,e){var a=tx(e),s=tx(t)*a,l=sx(t)*a,u=sx(e),c=u*n+s*i;return[Jb(l*r-c*o,s*n-u*i),dx(c*r+l*o)]}a.invert=function(t,e){var a=tx(e),s=tx(t)*a,l=sx(t)*a,u=sx(e),c=u*r-l*o;return[Jb(l*r+u*o,s*n+c*i),dx(c*n-s*i)]};return a}function aw(t){t=nw(t[0]*Kb,t[1]*Kb,t.length>2?t[2]*Kb:0);function e(e){e=t(e[0]*Kb,e[1]*Kb);return e[0]*=Vb,e[1]*=Vb,e}e.invert=function(e){e=t.invert(e[0]*Kb,e[1]*Kb);return e[0]*=Vb,e[1]*=Vb,e};return e}function sw(t){return{stream:lw(t)}}function lw(t){return function(e){var n=new uw;for(var i in t)n[i]=t[i];n.stream=e;return n}}function uw(){}uw.prototype={constructor:uw,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function cw(t,e,n){var i=t.clipExtent&&t.clipExtent();t.scale(150).translate([0,0]);if(i!=null)t.clipExtent(null);Fb(n,t.stream(Tx));e(Tx.result());if(i!=null)t.clipExtent(i);return t}function fw(t,e,n){return cw(t,(function(n){var i=e[1][0]-e[0][0],r=e[1][1]-e[0][1],o=Math.min(i/(n[1][0]-n[0][0]),r/(n[1][1]-n[0][1])),a=+e[0][0]+(i-o*(n[1][0]+n[0][0]))/2,s=+e[0][1]+(r-o*(n[1][1]+n[0][1]))/2;t.scale(150*o).translate([a,s])}),n)}function dw(t,e,n){return fw(t,[[0,0],e],n)}function hw(t,e,n){return cw(t,(function(n){var i=+e,r=i/(n[1][0]-n[0][0]),o=(i-r*(n[1][0]+n[0][0]))/2,a=-r*n[0][1];t.scale(150*r).translate([o,a])}),n)}function pw(t,e,n){return cw(t,(function(n){var i=+e,r=i/(n[1][1]-n[0][1]),o=-r*n[0][0],a=(i-r*(n[1][1]+n[0][1]))/2;t.scale(150*r).translate([o,a])}),n)}var mw=16,gw=tx(30*Kb);function yw(t,e){return+e?bw(t,e):vw(t)}function vw(t){return lw({point:function(e,n){e=t(e,n);this.stream.point(e[0],e[1])}})}function bw(t,e){function n(i,r,o,a,s,l,u,c,f,d,h,p,m,g){var y=u-i,v=c-r,b=y*y+v*v;if(b>4*e&&m--){var x=a+d,_=s+h,w=l+p,k=ux(x*x+_*_+w*w),M=dx(w/=k),S=Zb(Zb(w)-1)<jb||Zb(o-f)<jb?(o+f)/2:Jb(_,x),E=t(S,M),z=E[0],A=E[1],$=z-i,O=A-r,R=v*$-y*O;if(R*R/b>e||Zb((y*$+v*O)/b-.5)>.3||a*d+s*h+l*p<gw){n(i,r,o,a,s,l,z,A,S,x/=k,_/=k,w,m,g);g.point(z,A);n(z,A,S,x,_,w,u,c,f,d,h,p,m,g)}}}return function(e){var i,r,o,a,s,l,u,c,f,d,h,p;var m={point:g,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart();m.lineStart=x},polygonEnd:function(){e.polygonEnd();m.lineStart=y}};function g(n,i){n=t(n,i);e.point(n[0],n[1])}function y(){c=NaN;m.point=v;e.lineStart()}function v(i,r){var o=$_([i,r]),a=t(i,r);n(c,f,u,d,h,p,c=a[0],f=a[1],u=i,d=o[0],h=o[1],p=o[2],mw,e);e.point(c,f)}function b(){m.point=g;e.lineEnd()}function x(){y();m.point=_;m.lineEnd=w}function _(t,e){v(i=t,e),r=c,o=f,a=d,s=h,l=p;m.point=v}function w(){n(c,f,u,d,h,p,r,o,i,a,s,l,mw,e);m.lineEnd=b;b()}return m}}var xw=lw({point:function(t,e){this.stream.point(t*Kb,e*Kb)}});function _w(t){return lw({point:function(e,n){var i=t(e,n);return this.stream.point(i[0],i[1])}})}function ww(t,e,n,i,r){function o(o,a){o*=i;a*=r;return[e+t*o,n-t*a]}o.invert=function(o,a){return[(o-e)/t*i,(n-a)/t*r]};return o}function kw(t,e,n,i,r,o){if(!o)return ww(t,e,n,i,r);var a=tx(o),s=sx(o),l=a*t,u=s*t,c=a/t,f=s/t,d=(s*n-a*e)/t,h=(s*e+a*n)/t;function p(t,o){t*=i;o*=r;return[l*t-u*o+e,n-u*t-l*o]}p.invert=function(t,e){return[i*(c*t-f*e+d),r*(h-f*t-c*e)]};return p}function Mw(t){return Sw((function(){return t}))()}function Sw(t){var e,n=150,i=480,r=250,o=0,a=0,s=0,l=0,u=0,c,f=0,d=1,h=1,p=null,m=U_,g=null,y,v,b,x=Tb,_=.5,w,k,M,S,E;function z(t){return M(t[0]*Kb,t[1]*Kb)}function A(t){t=M.invert(t[0],t[1]);return t&&[t[0]*Vb,t[1]*Vb]}z.stream=function(t){return S&&E===t?S:S=xw(_w(c)(m(w(x(E=t)))))};z.preclip=function(t){return arguments.length?(m=t,p=undefined,O()):m};z.postclip=function(t){return arguments.length?(x=t,g=y=v=b=null,O()):x};z.clipAngle=function(t){return arguments.length?(m=+t?V_(p=t*Kb):(p=null,U_),O()):p*Vb};z.clipExtent=function(t){return arguments.length?(x=t==null?(g=y=v=b=null,Tb):J_(g=+t[0][0],y=+t[0][1],v=+t[1][0],b=+t[1][1]),O()):g==null?null:[[g,y],[v,b]]};z.scale=function(t){return arguments.length?(n=+t,$()):n};z.translate=function(t){return arguments.length?(i=+t[0],r=+t[1],$()):[i,r]};z.center=function(t){return arguments.length?(o=t[0]%360*Kb,a=t[1]%360*Kb,$()):[o*Vb,a*Vb]};z.rotate=function(t){return arguments.length?(s=t[0]%360*Kb,l=t[1]%360*Kb,u=t.length>2?t[2]%360*Kb:0,$()):[s*Vb,l*Vb,u*Vb]};z.angle=function(t){return arguments.length?(f=t%360*Kb,$()):f*Vb};z.reflectX=function(t){return arguments.length?(d=t?-1:1,$()):d<0};z.reflectY=function(t){return arguments.length?(h=t?-1:1,$()):h<0};z.precision=function(t){return arguments.length?(w=yw(k,_=t*t),O()):ux(_)};z.fitExtent=function(t,e){return fw(z,t,e)};z.fitSize=function(t,e){return dw(z,t,e)};z.fitWidth=function(t,e){return hw(z,t,e)};z.fitHeight=function(t,e){return pw(z,t,e)};function $(){var t=kw(n,0,0,d,h,f).apply(null,e(o,a)),p=kw(n,i-t[0],r-t[1],d,h,f);c=nw(s,l,u);k=tw(e,p);M=tw(c,k);w=yw(k,_);return O()}function O(){S=E=null;return z}return function(){e=t.apply(this,arguments);z.invert=e.invert&&A;return $()}}function Ew(t){var e=0,n=Gb/3,i=Sw(t),r=i(e,n);r.parallels=function(t){return arguments.length?i(e=t[0]*Kb,n=t[1]*Kb):[e*Vb,n*Vb]};return r}function zw(t){var e=tx(t);function n(t,n){return[t*e,sx(n)/e]}n.invert=function(t,n){return[t/e,dx(n*e)]};return n}function Aw(t,e){var n=sx(t),i=(n+sx(e))/2;if(Zb(i)<jb)return zw(t);var r=1+n*(2*i-n),o=ux(r)/i;function a(t,e){var n=ux(r-2*i*sx(e))/i;return[n*sx(t*=i),o-n*tx(t)]}a.invert=function(t,e){var n=o-e,a=Jb(t,Zb(n))*lx(n);if(n*i<0)a-=Gb*lx(t)*lx(n);return[a/i,dx((r-(t*t+n*n)*i*i)/(2*i))]};return a}function $w(){return Ew(Aw).scale(155.424).center([0,33.6442])}function Ow(){return $w().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Rw(t){var e=t.length;return{point:function(n,i){var r=-1;while(++r<e)t[r].point(n,i)},sphere:function(){var n=-1;while(++n<e)t[n].sphere()},lineStart:function(){var n=-1;while(++n<e)t[n].lineStart()},lineEnd:function(){var n=-1;while(++n<e)t[n].lineEnd()},polygonStart:function(){var n=-1;while(++n<e)t[n].polygonStart()},polygonEnd:function(){var n=-1;while(++n<e)t[n].polygonEnd()}}}function Dw(){var t,e,n=Ow(),i,r=$w().rotate([154,0]).center([-2,58.5]).parallels([55,65]),o,a=$w().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s,l,u={point:function(t,e){l=[t,e]}};function c(t){var e=t[0],n=t[1];return l=null,(i.point(e,n),l)||(o.point(e,n),l)||(s.point(e,n),l)}c.invert=function(t){var e=n.scale(),i=n.translate(),o=(t[0]-i[0])/e,s=(t[1]-i[1])/e;return(s>=.12&&s<.234&&o>=-.425&&o<-.214?r:s>=.166&&s<.234&&o>=-.214&&o<-.115?a:n).invert(t)};c.stream=function(i){return t&&e===i?t:t=Rw([n.stream(e=i),r.stream(i),a.stream(i)])};c.precision=function(t){if(!arguments.length)return n.precision();n.precision(t),r.precision(t),a.precision(t);return f()};c.scale=function(t){if(!arguments.length)return n.scale();n.scale(t),r.scale(t*.35),a.scale(t);return c.translate(n.translate())};c.translate=function(t){if(!arguments.length)return n.translate();var e=n.scale(),l=+t[0],c=+t[1];i=n.translate(t).clipExtent([[l-.455*e,c-.238*e],[l+.455*e,c+.238*e]]).stream(u);o=r.translate([l-.307*e,c+.201*e]).clipExtent([[l-.425*e+jb,c+.12*e+jb],[l-.214*e-jb,c+.234*e-jb]]).stream(u);s=a.translate([l-.205*e,c+.212*e]).clipExtent([[l-.214*e+jb,c+.166*e+jb],[l-.115*e-jb,c+.234*e-jb]]).stream(u);return f()};c.fitExtent=function(t,e){return fw(c,t,e)};c.fitSize=function(t,e){return dw(c,t,e)};c.fitWidth=function(t,e){return hw(c,t,e)};c.fitHeight=function(t,e){return pw(c,t,e)};function f(){t=e=null;return c}return c.scale(1070)}function Tw(t){return function(e,n){var i=tx(e),r=tx(n),o=t(i*r);if(o===Infinity)return[2,0];return[o*r*sx(e),o*sx(n)]}}function Nw(t){return function(e,n){var i=ux(e*e+n*n),r=t(i),o=sx(r),a=tx(r);return[Jb(e*o,i*a),dx(i&&n*o/i)]}}var Cw=Tw((function(t){return ux(2/(1+t))}));Cw.invert=Nw((function(t){return 2*dx(t/2)}));function Lw(){return Mw(Cw).scale(124.75).clipAngle(180-.001)}var Pw=Tw((function(t){return(t=fx(t))&&t/sx(t)}));Pw.invert=Nw((function(t){return t}));function qw(){return Mw(Pw).scale(79.4188).clipAngle(180-.001)}function Fw(t,e){return[t,ox(cx((Wb+e)/2))]}Fw.invert=function(t,e){return[t,2*Qb(nx(e))-Wb]};function Iw(){return Bw(Fw).scale(961/Hb)}function Bw(t){var e=Mw(t),n=e.center,i=e.scale,r=e.translate,o=e.clipExtent,a=null,s,l,u;e.scale=function(t){return arguments.length?(i(t),c()):i()};e.translate=function(t){return arguments.length?(r(t),c()):r()};e.center=function(t){return arguments.length?(n(t),c()):n()};e.clipExtent=function(t){return arguments.length?(t==null?a=s=l=u=null:(a=+t[0][0],s=+t[0][1],l=+t[1][0],u=+t[1][1]),c()):a==null?null:[[a,s],[l,u]]};function c(){var n=Gb*i(),r=e(aw(e.rotate()).invert([0,0]));return o(a==null?[[r[0]-n,r[1]-n],[r[0]+n,r[1]+n]]:t===Fw?[[Math.max(r[0]-n,a),s],[Math.min(r[0]+n,l),u]]:[[a,Math.max(r[1]-n,s)],[l,Math.min(r[1]+n,u)]])}return c()}function Uw(t){return cx((Wb+t)/2)}function jw(t,e){var n=tx(t),i=t===e?sx(t):ox(n/tx(e))/ox(Uw(e)/Uw(t)),r=n*ax(Uw(t),i)/i;if(!i)return Fw;function o(t,e){if(r>0){if(e<-Wb+jb)e=-Wb+jb}else{if(e>Wb-jb)e=Wb-jb}var n=r/ax(Uw(e),i);return[n*sx(i*t),r-n*tx(i*t)]}o.invert=function(t,e){var n=r-e,o=lx(i)*ux(t*t+n*n),a=Jb(t,Zb(n))*lx(n);if(n*i<0)a-=Gb*lx(t)*lx(n);return[a/i,2*Qb(ax(r/o,1/i))-Wb]};return o}function Yw(){return Ew(jw).scale(109.5).parallels([30,30])}function Gw(t,e){return[t,e]}Gw.invert=Gw;function Ww(){return Mw(Gw).scale(152.63)}function Xw(t,e){var n=tx(t),i=t===e?sx(t):(n-tx(e))/(e-t),r=n/i+t;if(Zb(i)<jb)return Gw;function o(t,e){var n=r-e,o=i*t;return[n*sx(o),r-n*tx(o)]}o.invert=function(t,e){var n=r-e,o=Jb(t,Zb(n))*lx(n);if(n*i<0)o-=Gb*lx(t)*lx(n);return[o/i,r-lx(i)*ux(t*t+n*n)]};return o}function Hw(){return Ew(Xw).scale(131.154).center([0,13.9389])}var Vw=1.340264,Kw=-.081106,Zw=893e-6,Qw=.003796,Jw=ux(3)/2,tk=12;function ek(t,e){var n=dx(Jw*sx(e)),i=n*n,r=i*i*i;return[t*tx(n)/(Jw*(Vw+3*Kw*i+r*(7*Zw+9*Qw*i))),n*(Vw+Kw*i+r*(Zw+Qw*i))]}ek.invert=function(t,e){var n=e,i=n*n,r=i*i*i;for(var o=0,a,s,l;o<tk;++o){s=n*(Vw+Kw*i+r*(Zw+Qw*i))-e;l=Vw+3*Kw*i+r*(7*Zw+9*Qw*i);n-=a=s/l,i=n*n,r=i*i*i;if(Zb(a)<Yb)break}return[Jw*t*(Vw+3*Kw*i+r*(7*Zw+9*Qw*i))/tx(n),dx(sx(n)/Jw)]};function nk(){return Mw(ek).scale(177.158)}function ik(t,e){var n=tx(e),i=tx(t)*n;return[n*sx(t)/i,sx(e)/i]}ik.invert=Nw(Qb);function rk(){return Mw(ik).scale(144.049).clipAngle(60)}function ok(){var t=1,e=0,n=0,i=1,r=1,o=0,a,s,l=null,u,c,f,d=1,h=1,p=lw({point:function(t,e){var n=b([t,e]);this.stream.point(n[0],n[1])}}),m=Tb,g,y;function v(){d=t*i;h=t*r;g=y=null;return b}function b(t){var i=t[0]*d,r=t[1]*h;if(o){var l=r*a-i*s;i=i*a+r*s;r=l}return[i+e,r+n]}b.invert=function(t){var i=t[0]-e,r=t[1]-n;if(o){var l=r*a+i*s;i=i*a-r*s;r=l}return[i/d,r/h]};b.stream=function(t){return g&&y===t?g:g=p(m(y=t))};b.postclip=function(t){return arguments.length?(m=t,l=u=c=f=null,v()):m};b.clipExtent=function(t){return arguments.length?(m=t==null?(l=u=c=f=null,Tb):J_(l=+t[0][0],u=+t[0][1],c=+t[1][0],f=+t[1][1]),v()):l==null?null:[[l,u],[c,f]]};b.scale=function(e){return arguments.length?(t=+e,v()):t};b.translate=function(t){return arguments.length?(e=+t[0],n=+t[1],v()):[e,n]};b.angle=function(t){return arguments.length?(o=t%360*Kb,s=sx(o),a=tx(o),v()):o*Vb};b.reflectX=function(t){return arguments.length?(i=t?-1:1,v()):i<0};b.reflectY=function(t){return arguments.length?(r=t?-1:1,v()):r<0};b.fitExtent=function(t,e){return fw(b,t,e)};b.fitSize=function(t,e){return dw(b,t,e)};b.fitWidth=function(t,e){return hw(b,t,e)};b.fitHeight=function(t,e){return pw(b,t,e)};return b}function ak(t,e){var n=e*e,i=n*n;return[t*(.8707-.131979*n+i*(-.013791+i*(.003971*n-.001529*i))),e*(1.007226+n*(.015085+i*(-.044475+.028874*n-.005916*i)))]}ak.invert=function(t,e){var n=e,i=25,r;do{var o=n*n,a=o*o;n-=r=(n*(1.007226+o*(.015085+a*(-.044475+.028874*o-.005916*a)))-e)/(1.007226+o*(.015085*3+a*(-.044475*7+.028874*9*o-.005916*11*a)))}while(Zb(r)>jb&&--i>0);return[t/(.8707+(o=n*n)*(-.131979+o*(-.013791+o*o*o*(.003971-.001529*o)))),n]};function sk(){return Mw(ak).scale(175.295)}function lk(t,e){return[tx(e)*sx(t),sx(e)]}lk.invert=Nw(dx);function uk(){return Mw(lk).scale(249.5).clipAngle(90+jb)}function ck(t,e){var n=tx(e),i=1+tx(t)*n;return[n*sx(t)/i,sx(e)/i]}ck.invert=Nw((function(t){return 2*Qb(t)}));function fk(){return Mw(ck).scale(250).clipAngle(142)}function dk(t,e){return[ox(cx((Wb+e)/2)),-t]}dk.invert=function(t,e){return[-e,2*Qb(nx(t))-Wb]};function hk(){var t=Bw(dk),e=t.center,n=t.rotate;t.center=function(t){return arguments.length?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])};t.rotate=function(t){return arguments.length?n([t[0],t[1],t.length>2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])};return n([0,0,90]).scale(159.155)}var pk=Math.abs;var mk=Math.atan;var gk=Math.atan2;var yk=Math.ceil;var vk=Math.cos;var bk=Math.exp;var xk=Math.floor;var _k=Math.log;var wk=Math.max;var kk=Math.min;var Mk=Math.pow;var Sk=Math.round;var Ek=Math.sign||function(t){return t>0?1:t<0?-1:0};var zk=Math.sin;var Ak=Math.tan;var $k=1e-6;var Ok=1e-12;var Rk=Math.PI;var Dk=Rk/2;var Tk=Rk/4;var Nk=Math.SQRT1_2;var Ck=jk(2);var Lk=jk(Rk);var Pk=Rk*2;var qk=180/Rk;var Fk=Rk/180;function Ik(t){return t?t/Math.sin(t):1}function Bk(t){return t>1?Dk:t<-1?-Dk:Math.asin(t)}function Uk(t){return t>1?0:t<-1?Rk:Math.acos(t)}function jk(t){return t>0?Math.sqrt(t):0}function Yk(t){t=bk(2*t);return(t-1)/(t+1)}function Gk(t){return(bk(t)-bk(-t))/2}function Wk(t){return(bk(t)+bk(-t))/2}function Xk(t){return _k(t+jk(t*t+1))}function Hk(t){return _k(t+jk(t*t-1))}function Vk(t,e){var n=t*zk(e),i=30,r;do{e-=r=(e+zk(e)-n)/(1+vk(e))}while(pk(r)>$k&&--i>0);return e/2}function Kk(t,e,n){function i(i,r){return[t*i*vk(r=Vk(n,r)),e*zk(r)]}i.invert=function(i,r){return r=Bk(r/e),[i/(t*vk(r)),Bk((2*r+zk(2*r))/n)]};return i}var Zk=Kk(Ck/Dk,Ck,Rk);function Qk(){return Mw(Zk).scale(169.529)}const Jk=w_();const tM=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function eM(t,e){return function n(){const i=e();i.type=t;i.path=w_().projection(i);i.copy=i.copy||function(){const t=n();tM.forEach((e=>{if(i[e])t[e](i[e]())}));t.path.pointRadius(i.path.pointRadius());return t};return Ou(i)}}function nM(t,e){if(!t||typeof t!=="string"){throw new Error("Projection type must be a name string.")}t=t.toLowerCase();if(arguments.length>1){rM[t]=eM(t,e);return this}else{return rM[t]||null}}function iM(t){return t&&t.path||Jk}const rM={albers:Ow,albersusa:Dw,azimuthalequalarea:Lw,azimuthalequidistant:qw,conicconformal:Yw,conicequalarea:$w,conicequidistant:Hw,equalEarth:nk,equirectangular:Ww,gnomonic:rk,identity:ok,mercator:Iw,mollweide:Qk,naturalEarth1:sk,orthographic:uk,stereographic:fk,transversemercator:hk};for(const $j in rM){nM($j,rM[$j])}function oM(t,e,n){var i=(0,to.A)(t,e-jb,n).concat(e);return function(t){return i.map((function(e){return[t,e]}))}}function aM(t,e,n){var i=(0,to.A)(t,e-jb,n).concat(e);return function(t){return i.map((function(e){return[e,t]}))}}function sM(){var t,e,n,i,r,o,a,s,l=10,u=l,c=90,f=360,d,h,p,m,g=2.5;function y(){return{type:"MultiLineString",coordinates:v()}}function v(){return(0,to.A)(ex(i/c)*c,n,c).map(p).concat((0,to.A)(ex(s/f)*f,a,f).map(m)).concat((0,to.A)(ex(e/l)*l,t,l).filter((function(t){return Zb(t%c)>jb})).map(d)).concat((0,to.A)(ex(o/u)*u,r,u).filter((function(t){return Zb(t%f)>jb})).map(h))}y.lines=function(){return v().map((function(t){return{type:"LineString",coordinates:t}}))};y.outline=function(){return{type:"Polygon",coordinates:[p(i).concat(m(a).slice(1),p(n).reverse().slice(1),m(s).reverse().slice(1))]}};y.extent=function(t){if(!arguments.length)return y.extentMinor();return y.extentMajor(t).extentMinor(t)};y.extentMajor=function(t){if(!arguments.length)return[[i,s],[n,a]];i=+t[0][0],n=+t[1][0];s=+t[0][1],a=+t[1][1];if(i>n)t=i,i=n,n=t;if(s>a)t=s,s=a,a=t;return y.precision(g)};y.extentMinor=function(n){if(!arguments.length)return[[e,o],[t,r]];e=+n[0][0],t=+n[1][0];o=+n[0][1],r=+n[1][1];if(e>t)n=e,e=t,t=n;if(o>r)n=o,o=r,r=n;return y.precision(g)};y.step=function(t){if(!arguments.length)return y.stepMinor();return y.stepMajor(t).stepMinor(t)};y.stepMajor=function(t){if(!arguments.length)return[c,f];c=+t[0],f=+t[1];return y};y.stepMinor=function(t){if(!arguments.length)return[l,u];l=+t[0],u=+t[1];return y};y.precision=function(l){if(!arguments.length)return g;g=+l;d=oM(o,r,90);h=aM(e,t,g);p=oM(s,a,90);m=aM(i,n,g);return y};return y.extentMajor([[-180,-90+jb],[180,90-jb]]).extentMinor([[-180,-80-jb],[180,80+jb]])}function lM(){return sM()()}var uM=n(33844);function cM(){}const fM=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function dM(){var t=1,e=1,n=s;function i(t,e){return e.map((e=>r(t,e)))}function r(t,e){var i=[],r=[];o(t,e,(o=>{n(o,t,e);if(hM(o)>0)i.push([o]);else r.push(o)}));r.forEach((t=>{for(var e=0,n=i.length,r;e<n;++e){if(pM((r=i[e])[0],t)!==-1){r.push(t);return}}}));return{type:"MultiPolygon",value:e,coordinates:i}}function o(n,i,r){var o=new Array,s=new Array,l,u,c,f,d,h;l=u=-1;f=n[0]>=i;fM[f<<1].forEach(p);while(++l<t-1){c=f,f=n[l+1]>=i;fM[c|f<<1].forEach(p)}fM[f<<0].forEach(p);while(++u<e-1){l=-1;f=n[u*t+t]>=i;d=n[u*t]>=i;fM[f<<1|d<<2].forEach(p);while(++l<t-1){c=f,f=n[u*t+t+l+1]>=i;h=d,d=n[u*t+l+1]>=i;fM[c|f<<1|d<<2|h<<3].forEach(p)}fM[f|d<<3].forEach(p)}l=-1;d=n[u*t]>=i;fM[d<<2].forEach(p);while(++l<t-1){h=d,d=n[u*t+l+1]>=i;fM[d<<2|h<<3].forEach(p)}fM[d<<3].forEach(p);function p(t){var e=[t[0][0]+l,t[0][1]+u],n=[t[1][0]+l,t[1][1]+u],i=a(e),c=a(n),f,d;if(f=s[i]){if(d=o[c]){delete s[f.end];delete o[d.start];if(f===d){f.ring.push(n);r(f.ring)}else{o[f.start]=s[d.end]={start:f.start,end:d.end,ring:f.ring.concat(d.ring)}}}else{delete s[f.end];f.ring.push(n);s[f.end=c]=f}}else if(f=o[c]){if(d=s[i]){delete o[f.start];delete s[d.end];if(f===d){f.ring.push(n);r(f.ring)}else{o[d.start]=s[f.end]={start:d.start,end:f.end,ring:d.ring.concat(f.ring)}}}else{delete o[f.start];f.ring.unshift(e);o[f.start=i]=f}}else{o[i]=s[c]={start:i,end:c,ring:[e,n]}}}}function a(e){return e[0]*2+e[1]*(t+1)*4}function s(n,i,r){n.forEach((n=>{var o=n[0],a=n[1],s=o|0,l=a|0,u,c=i[l*t+s];if(o>0&&o<t&&s===o){u=i[l*t+s-1];n[0]=o+(r-u)/(c-u)-.5}if(a>0&&a<e&&l===a){u=i[(l-1)*t+s];n[1]=a+(r-u)/(c-u)-.5}}))}i.contour=r;i.size=function(n){if(!arguments.length)return[t,e];var r=Math.floor(n[0]),o=Math.floor(n[1]);if(!(r>=0&&o>=0))(0,p.z3)("invalid size");return t=r,e=o,i};i.smooth=function(t){return arguments.length?(n=t?s:cM,i):n===s};return i}function hM(t){var e=0,n=t.length,i=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];while(++e<n)i+=t[e-1][1]*t[e][0]-t[e-1][0]*t[e][1];return i}function pM(t,e){var n=-1,i=e.length,r;while(++n<i)if(r=mM(t,e[n]))return r;return 0}function mM(t,e){var n=e[0],i=e[1],r=-1;for(var o=0,a=t.length,s=a-1;o<a;s=o++){var l=t[o],u=l[0],c=l[1],f=t[s],d=f[0],h=f[1];if(gM(l,f,e))return 0;if(c>i!==h>i&&n<(d-u)*(i-c)/(h-c)+u)r=-r}return r}function gM(t,e,n){var i;return yM(t,e,n)&&vM(t[i=+(t[0]===e[0])],n[i],e[i])}function yM(t,e,n){return(e[0]-t[0])*(n[1]-t[1])===(n[0]-t[0])*(e[1]-t[1])}function vM(t,e,n){return t<=e&&e<=n||n<=e&&e<=t}function bM(t,e,n){return function(i){var r=(0,p.Xx)(i),o=n?Math.min(r[0],0):r[0],a=r[1],s=a-o,l=e?(0,P.sG)(o,a,t):s/(t+1);return(0,to.A)(o+l,a,l)}}function xM(t){Di.call(this,null,t)}xM.Definition={type:"Isocontour",metadata:{generates:true},params:[{name:"field",type:"field"},{name:"thresholds",type:"number",array:true},{name:"levels",type:"number"},{name:"nice",type:"boolean",default:false},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"zero",type:"boolean",default:true},{name:"smooth",type:"boolean",default:true},{name:"scale",type:"number",expr:true},{name:"translate",type:"number",array:true,expr:true},{name:"as",type:"string",null:true,default:"contour"}]};(0,p.B)(xM,Di,{transform(t,e){if(this.value&&!e.changed()&&!t.modified()){return e.StopPropagation}var n=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=e.materialize(e.SOURCE).source,r=t.field||p.D_,o=dM().smooth(t.smooth!==false),a=t.thresholds||_M(i,r,t),s=t.as===null?null:t.as||"contour",l=[];i.forEach((e=>{const n=r(e);const i=o.size([n.width,n.height])(n.values,(0,p.cy)(a)?a:a(n.values));wM(i,n,e,t);i.forEach((t=>{l.push(_n(e,bn(s!=null?{[s]:t}:t)))}))}));if(this.value)n.rem=this.value;this.value=n.source=n.add=l;return n}});function _M(t,e,n){const i=bM(n.levels||10,n.nice,n.zero!==false);return n.resolve!=="shared"?i:i(t.map((t=>(0,Pi.A)(e(t).values))))}function wM(t,e,n,i){let r=i.scale||e.scale,o=i.translate||e.translate;if((0,p.Tn)(r))r=r(n,i);if((0,p.Tn)(o))o=o(n,i);if((r===1||r==null)&&!o)return;const a=((0,p.Et)(r)?r:r[0])||1,s=((0,p.Et)(r)?r:r[1])||1,l=o&&o[0]||0,u=o&&o[1]||0;t.forEach(kM(e,a,s,l,u))}function kM(t,e,n,i,r){const o=t.x1||0,a=t.y1||0,s=e*n<0;function l(t){t.forEach(u)}function u(t){if(s)t.reverse();t.forEach(c)}function c(t){t[0]=(t[0]-o)*e+i;t[1]=(t[1]-a)*n+r}return function(t){t.coordinates.forEach(l);return t}}function MM(t,e,n){const i=t>=0?t:er(e,n);return Math.round((Math.sqrt(4*i*i+1)-1)/2)}function SM(t){return(0,p.Tn)(t)?t:(0,p.dY)(+t)}function EM(){var t=t=>t[0],e=t=>t[1],n=p.xH,i=[-1,-1],r=960,o=500,a=2;function s(s,l){const u=MM(i[0],s,t)>>a,c=MM(i[1],s,e)>>a,f=u?u+2:0,d=c?c+2:0,h=2*f+(r>>a),p=2*d+(o>>a),m=new Float32Array(h*p),g=new Float32Array(h*p);let y=m;s.forEach((i=>{const r=f+(+t(i)>>a),o=d+(+e(i)>>a);if(r>=0&&r<h&&o>=0&&o<p){m[r+o*h]+=+n(i)}}));if(u>0&&c>0){zM(h,p,m,g,u);AM(h,p,g,m,c);zM(h,p,m,g,u);AM(h,p,g,m,c);zM(h,p,m,g,u);AM(h,p,g,m,c)}else if(u>0){zM(h,p,m,g,u);zM(h,p,g,m,u);zM(h,p,m,g,u);y=g}else if(c>0){AM(h,p,m,g,c);AM(h,p,g,m,c);AM(h,p,m,g,c);y=g}const v=l?Math.pow(2,-2*a):1/Nv(y);for(let t=0,e=h*p;t<e;++t)y[t]*=v;return{values:y,scale:1<<a,width:h,height:p,x1:f,y1:d,x2:f+(r>>a),y2:d+(o>>a)}}s.x=function(e){return arguments.length?(t=SM(e),s):t};s.y=function(t){return arguments.length?(e=SM(t),s):e};s.weight=function(t){return arguments.length?(n=SM(t),s):n};s.size=function(t){if(!arguments.length)return[r,o];var e=+t[0],n=+t[1];if(!(e>=0&&n>=0))(0,p.z3)("invalid size");return r=e,o=n,s};s.cellSize=function(t){if(!arguments.length)return 1<<a;if(!((t=+t)>=1))(0,p.z3)("invalid cell size");a=Math.floor(Math.log(t)/Math.LN2);return s};s.bandwidth=function(t){if(!arguments.length)return i;t=(0,p.YO)(t);if(t.length===1)t=[+t[0],+t[0]];if(t.length!==2)(0,p.z3)("invalid bandwidth");return i=t,s};return s}function zM(t,e,n,i,r){const o=(r<<1)+1;for(let a=0;a<e;++a){for(let e=0,s=0;e<t+r;++e){if(e<t){s+=n[e+a*t]}if(e>=r){if(e>=o){s-=n[e-o+a*t]}i[e-r+a*t]=s/Math.min(e+1,t-1+o-e,o)}}}}function AM(t,e,n,i,r){const o=(r<<1)+1;for(let a=0;a<t;++a){for(let s=0,l=0;s<e+r;++s){if(s<e){l+=n[a+s*t]}if(s>=r){if(s>=o){l-=n[a+(s-o)*t]}i[a+(s-r)*t]=l/Math.min(s+1,e-1+o-s,o)}}}}function $M(t){Di.call(this,null,t)}$M.Definition={type:"KDE2D",metadata:{generates:true},params:[{name:"size",type:"number",array:true,length:2,required:true},{name:"x",type:"field",required:true},{name:"y",type:"field",required:true},{name:"weight",type:"field"},{name:"groupby",type:"field",array:true},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number",array:true,length:2},{name:"counts",type:"boolean",default:false},{name:"as",type:"string",default:"grid"}]};const OM=["x","y","weight","size","cellSize","bandwidth"];function RM(t,e){OM.forEach((n=>e[n]!=null?t[n](e[n]):0));return t}(0,p.B)($M,Di,{transform(t,e){if(this.value&&!e.changed()&&!t.modified())return e.StopPropagation;var n=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=e.materialize(e.SOURCE).source,r=DM(i,t.groupby),o=(t.groupby||[]).map(p.N6),a=RM(EM(),t),s=t.as||"grid",l=[];function u(t,e){for(let n=0;n<o.length;++n)t[o[n]]=e[n];return t}l=r.map((e=>bn(u({[s]:a(e,t.counts)},e.dims))));if(this.value)n.rem=this.value;this.value=n.source=n.add=l;return n}});function DM(t,e){var n=[],i=t=>t(s),r,o,a,s,l,u;if(e==null){n.push(t)}else{for(r={},o=0,a=t.length;o<a;++o){s=t[o];l=e.map(i);u=r[l];if(!u){r[l]=u=[];u.dims=l;n.push(u)}u.push(s)}}return n}function TM(t){Di.call(this,null,t)}TM.Definition={type:"Contour",metadata:{generates:true},params:[{name:"size",type:"number",array:true,length:2,required:true},{name:"values",type:"number",array:true},{name:"x",type:"field"},{name:"y",type:"field"},{name:"weight",type:"field"},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number"},{name:"count",type:"number"},{name:"nice",type:"boolean",default:false},{name:"thresholds",type:"number",array:true},{name:"smooth",type:"boolean",default:true}]};(0,p.B)(TM,Di,{transform(t,e){if(this.value&&!e.changed()&&!t.modified()){return e.StopPropagation}var n=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=dM().smooth(t.smooth!==false),r=t.values,o=t.thresholds||bM(t.count||10,t.nice,!!r),a=t.size,s,l;if(!r){r=e.materialize(e.SOURCE).source;s=RM(EM(),t)(r,true);l=kM(s,s.scale||1,s.scale||1,0,0);a=[s.width,s.height];r=s.values}o=(0,p.cy)(o)?o:o(r);r=i.size(a)(r,o);if(l)r.forEach(l);if(this.value)n.rem=this.value;this.value=n.source=n.add=(r||[]).map(bn);return n}});const NM="Feature";const CM="FeatureCollection";const LM="MultiPoint";function PM(t){Di.call(this,null,t)}PM.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:true,length:2},{name:"geojson",type:"field"}]};(0,p.B)(PM,Di,{transform(t,e){var n=this._features,i=this._points,r=t.fields,o=r&&r[0],a=r&&r[1],s=t.geojson||!r&&p.D_,l=e.ADD,u;u=t.modified()||e.changed(e.REM)||e.modified((0,p.nS)(s))||o&&e.modified((0,p.nS)(o))||a&&e.modified((0,p.nS)(a));if(!this.value||u){l=e.SOURCE;this._features=n=[];this._points=i=[]}if(s){e.visit(l,(t=>n.push(s(t))))}if(o&&a){e.visit(l,(t=>{var e=o(t),n=a(t);if(e!=null&&n!=null&&(e=+e)===e&&(n=+n)===n){i.push([e,n])}}));n=n.concat({type:NM,geometry:{type:LM,coordinates:i}})}this.value={type:CM,features:n}}});function qM(t){Di.call(this,null,t)}qM.Definition={type:"GeoPath",metadata:{modifies:true},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:true},{name:"as",type:"string",default:"path"}]};(0,p.B)(qM,Di,{transform(t,e){var n=e.fork(e.ALL),i=this.value,r=t.field||p.D_,o=t.as||"path",a=n.SOURCE;if(!i||t.modified()){this.value=i=iM(t.projection);n.materialize().reflow()}else{a=r===p.D_||e.modified(r.fields)?n.ADD_MOD:n.ADD}const s=FM(i,t.pointRadius);n.visit(a,(t=>t[o]=i(r(t))));i.pointRadius(s);return n.modifies(o)}});function FM(t,e){const n=t.pointRadius();t.context(null);if(e!=null){t.pointRadius(e)}return n}function IM(t){Di.call(this,null,t)}IM.Definition={type:"GeoPoint",metadata:{modifies:true},params:[{name:"projection",type:"projection",required:true},{name:"fields",type:"field",array:true,required:true,length:2},{name:"as",type:"string",array:true,length:2,default:["x","y"]}]};(0,p.B)(IM,Di,{transform(t,e){var n=t.projection,i=t.fields[0],r=t.fields[1],o=t.as||["x","y"],a=o[0],s=o[1],l;function u(t){const e=n([i(t),r(t)]);if(e){t[a]=e[0];t[s]=e[1]}else{t[a]=undefined;t[s]=undefined}}if(t.modified()){e=e.materialize().reflow(true).visit(e.SOURCE,u)}else{l=e.modified(i.fields)||e.modified(r.fields);e.visit(l?e.ADD_MOD:e.ADD,u)}return e.modifies(o)}});function BM(t){Di.call(this,null,t)}BM.Definition={type:"GeoShape",metadata:{modifies:true,nomod:true},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:true},{name:"as",type:"string",default:"shape"}]};(0,p.B)(BM,Di,{transform(t,e){var n=e.fork(e.ALL),i=this.value,r=t.as||"shape",o=n.ADD;if(!i||t.modified()){this.value=i=UM(iM(t.projection),t.field||(0,p.ZZ)("datum"),t.pointRadius);n.materialize().reflow();o=n.SOURCE}n.visit(o,(t=>t[r]=i));return n.modifies(r)}});function UM(t,e,n){const i=n==null?n=>t(e(n)):i=>{var r=t.pointRadius(),o=t.pointRadius(n)(e(i));t.pointRadius(r);return o};i.context=e=>{t.context(e);return i};return i}function jM(t){Di.call(this,[],t);this.generator=sM()}jM.Definition={type:"Graticule",metadata:{changes:true,generates:true},params:[{name:"extent",type:"array",array:true,length:2,content:{type:"number",array:true,length:2}},{name:"extentMajor",type:"array",array:true,length:2,content:{type:"number",array:true,length:2}},{name:"extentMinor",type:"array",array:true,length:2,content:{type:"number",array:true,length:2}},{name:"step",type:"number",array:true,length:2},{name:"stepMajor",type:"number",array:true,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:true,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]};(0,p.B)(jM,Di,{transform(t,e){var n=this.value,i=this.generator,r;if(!n.length||t.modified()){for(const e in t){if((0,p.Tn)(i[e])){i[e](t[e])}}}r=i();if(n.length){e.mod.push(wn(n[0],r))}else{e.add.push(bn(r))}n[0]=r;return e}});function YM(t){Di.call(this,null,t)}YM.Definition={type:"heatmap",metadata:{modifies:true},params:[{name:"field",type:"field"},{name:"color",type:"string",expr:true},{name:"opacity",type:"number",expr:true},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"as",type:"string",default:"image"}]};(0,p.B)(YM,Di,{transform(t,e){if(!e.changed()&&!t.modified()){return e.StopPropagation}var n=e.materialize(e.SOURCE).source,i=t.resolve==="shared",r=t.field||p.D_,o=WM(t.opacity,t),a=GM(t.color,t),s=t.as||"image",l={$x:0,$y:0,$value:0,$max:i?(0,Pi.A)(n.map((t=>(0,Pi.A)(r(t).values)))):0};n.forEach((t=>{const e=r(t);const n=(0,p.X$)({},t,l);if(!i)n.$max=(0,Pi.A)(e.values||[]);t[s]=HM(e,n,a.dep?a:(0,p.dY)(a(n)),o.dep?o:(0,p.dY)(o(n)))}));return e.reflow(true).modifies(s)}});function GM(t,e){let n;if((0,p.Tn)(t)){n=n=>(0,uM.Qh)(t(n,e));n.dep=XM(t)}else{n=(0,p.dY)((0,uM.Qh)(t||"#888"))}return n}function WM(t,e){let n;if((0,p.Tn)(t)){n=n=>t(n,e);n.dep=XM(t)}else if(t){n=(0,p.dY)(t)}else{n=t=>t.$value/t.$max||0;n.dep=true}return n}function XM(t){if(!(0,p.Tn)(t))return false;const e=(0,p.M1)((0,p.nS)(t));return e.$x||e.$y||e.$value||e.$max}function HM(t,e,n,i){const r=t.width,o=t.height,a=t.x1||0,s=t.y1||0,l=t.x2||r,u=t.y2||o,c=t.values,f=c?t=>c[t]:p.v_,d=Ks(l-a,u-s),h=d.getContext("2d"),m=h.getImageData(0,0,l-a,u-s),g=m.data;for(let p=s,y=0;p<u;++p){e.$y=p-s;for(let t=a,o=p*r;t<l;++t,y+=4){e.$x=t-a;e.$value=f(t+o);const r=n(e);g[y+0]=r.r;g[y+1]=r.g;g[y+2]=r.b;g[y+3]=~~(255*i(e))}}h.putImageData(m,0,0);return d}function VM(t){Di.call(this,null,t);this.modified(true)}(0,p.B)(VM,Di,{transform(t,e){let n=this.value;if(!n||t.modified("type")){this.value=n=ZM(t.type);tM.forEach((e=>{if(t[e]!=null)QM(n,e,t[e])}))}else{tM.forEach((e=>{if(t.modified(e))QM(n,e,t[e])}))}if(t.pointRadius!=null)n.path.pointRadius(t.pointRadius);if(t.fit)KM(n,t);return e.fork(e.NO_SOURCE|e.NO_FIELDS)}});function KM(t,e){const n=JM(e.fit);e.extent?t.fitExtent(e.extent,n):e.size?t.fitSize(e.size,n):0}function ZM(t){const e=nM((t||"mercator").toLowerCase());if(!e)(0,p.z3)("Unrecognized projection type: "+t);return e()}function QM(t,e,n){if((0,p.Tn)(t[e]))t[e](n)}function JM(t){t=(0,p.YO)(t);return t.length===1?t[0]:{type:CM,features:t.reduce(((t,e)=>t.concat(tS(e))),[])}}function tS(t){return t.type===CM?t.features:(0,p.YO)(t).filter((t=>t!=null)).map((t=>t.type===NM?t:{type:NM,geometry:t}))}function eS(t,e){var n,i=1;if(t==null)t=0;if(e==null)e=0;function r(){var r,o=n.length,a,s=0,l=0;for(r=0;r<o;++r){a=n[r],s+=a.x,l+=a.y}for(s=(s/o-t)*i,l=(l/o-e)*i,r=0;r<o;++r){a=n[r],a.x-=s,a.y-=l}}r.initialize=function(t){n=t};r.x=function(e){return arguments.length?(t=+e,r):t};r.y=function(t){return arguments.length?(e=+t,r):e};r.strength=function(t){return arguments.length?(i=+t,r):i};return r}function nS(t){const e=+this._x.call(null,t),n=+this._y.call(null,t);return iS(this.cover(e,n),e,n,t)}function iS(t,e,n,i){if(isNaN(e)||isNaN(n))return t;var r,o=t._root,a={data:i},s=t._x0,l=t._y0,u=t._x1,c=t._y1,f,d,h,p,m,g,y,v;if(!o)return t._root=a,t;while(o.length){if(m=e>=(f=(s+u)/2))s=f;else u=f;if(g=n>=(d=(l+c)/2))l=d;else c=d;if(r=o,!(o=o[y=g<<1|m]))return r[y]=a,t}h=+t._x.call(null,o.data);p=+t._y.call(null,o.data);if(e===h&&n===p)return a.next=o,r?r[y]=a:t._root=a,t;do{r=r?r[y]=new Array(4):t._root=new Array(4);if(m=e>=(f=(s+u)/2))s=f;else u=f;if(g=n>=(d=(l+c)/2))l=d;else c=d}while((y=g<<1|m)===(v=(p>=d)<<1|h>=f));return r[v]=o,r[y]=a,t}function rS(t){var e,n,i=t.length,r,o,a=new Array(i),s=new Array(i),l=Infinity,u=Infinity,c=-Infinity,f=-Infinity;for(n=0;n<i;++n){if(isNaN(r=+this._x.call(null,e=t[n]))||isNaN(o=+this._y.call(null,e)))continue;a[n]=r;s[n]=o;if(r<l)l=r;if(r>c)c=r;if(o<u)u=o;if(o>f)f=o}if(l>c||u>f)return this;this.cover(l,u).cover(c,f);for(n=0;n<i;++n){iS(this,a[n],s[n],t[n])}return this}function oS(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var n=this._x0,i=this._y0,r=this._x1,o=this._y1;if(isNaN(n)){r=(n=Math.floor(t))+1;o=(i=Math.floor(e))+1}else{var a=r-n||1,s=this._root,l,u;while(n>t||t>=r||i>e||e>=o){u=(e<i)<<1|t<n;l=new Array(4),l[u]=s,s=l,a*=2;switch(u){case 0:r=n+a,o=i+a;break;case 1:n=r-a,o=i+a;break;case 2:r=n+a,i=o-a;break;case 3:n=r-a,i=o-a;break}}if(this._root&&this._root.length)this._root=s}this._x0=n;this._y0=i;this._x1=r;this._y1=o;return this}function aS(){var t=[];this.visit((function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}));return t}function sS(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?undefined:[[this._x0,this._y0],[this._x1,this._y1]]}function lS(t,e,n,i,r){this.node=t;this.x0=e;this.y0=n;this.x1=i;this.y1=r}function uS(t,e,n){var i,r=this._x0,o=this._y0,a,s,l,u,c=this._x1,f=this._y1,d=[],h=this._root,p,m;if(h)d.push(new lS(h,r,o,c,f));if(n==null)n=Infinity;else{r=t-n,o=e-n;c=t+n,f=e+n;n*=n}while(p=d.pop()){if(!(h=p.node)||(a=p.x0)>c||(s=p.y0)>f||(l=p.x1)<r||(u=p.y1)<o)continue;if(h.length){var g=(a+l)/2,y=(s+u)/2;d.push(new lS(h[3],g,y,l,u),new lS(h[2],a,y,g,u),new lS(h[1],g,s,l,y),new lS(h[0],a,s,g,y));if(m=(e>=y)<<1|t>=g){p=d[d.length-1];d[d.length-1]=d[d.length-1-m];d[d.length-1-m]=p}}else{var v=t-+this._x.call(null,h.data),b=e-+this._y.call(null,h.data),x=v*v+b*b;if(x<n){var _=Math.sqrt(n=x);r=t-_,o=e-_;c=t+_,f=e+_;i=h.data}}}return i}function cS(t){if(isNaN(c=+this._x.call(null,t))||isNaN(f=+this._y.call(null,t)))return this;var e,n=this._root,i,r,o,a=this._x0,s=this._y0,l=this._x1,u=this._y1,c,f,d,h,p,m,g,y;if(!n)return this;if(n.length)while(true){if(p=c>=(d=(a+l)/2))a=d;else l=d;if(m=f>=(h=(s+u)/2))s=h;else u=h;if(!(e=n,n=n[g=m<<1|p]))return this;if(!n.length)break;if(e[g+1&3]||e[g+2&3]||e[g+3&3])i=e,y=g}while(n.data!==t)if(!(r=n,n=n.next))return this;if(o=n.next)delete n.next;if(r)return o?r.next=o:delete r.next,this;if(!e)return this._root=o,this;o?e[g]=o:delete e[g];if((n=e[0]||e[1]||e[2]||e[3])&&n===(e[3]||e[2]||e[1]||e[0])&&!n.length){if(i)i[y]=n;else this._root=n}return this}function fS(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this}function dS(){return this._root}function hS(){var t=0;this.visit((function(e){if(!e.length)do{++t}while(e=e.next)}));return t}function pS(t){var e=[],n,i=this._root,r,o,a,s,l;if(i)e.push(new lS(i,this._x0,this._y0,this._x1,this._y1));while(n=e.pop()){if(!t(i=n.node,o=n.x0,a=n.y0,s=n.x1,l=n.y1)&&i.length){var u=(o+s)/2,c=(a+l)/2;if(r=i[3])e.push(new lS(r,u,c,s,l));if(r=i[2])e.push(new lS(r,o,c,u,l));if(r=i[1])e.push(new lS(r,u,a,s,c));if(r=i[0])e.push(new lS(r,o,a,u,c))}}return this}function mS(t){var e=[],n=[],i;if(this._root)e.push(new lS(this._root,this._x0,this._y0,this._x1,this._y1));while(i=e.pop()){var r=i.node;if(r.length){var o,a=i.x0,s=i.y0,l=i.x1,u=i.y1,c=(a+l)/2,f=(s+u)/2;if(o=r[0])e.push(new lS(o,a,s,c,f));if(o=r[1])e.push(new lS(o,c,s,l,f));if(o=r[2])e.push(new lS(o,a,f,c,u));if(o=r[3])e.push(new lS(o,c,f,l,u))}n.push(i)}while(i=n.pop()){t(i.node,i.x0,i.y0,i.x1,i.y1)}return this}function gS(t){return t[0]}function yS(t){return arguments.length?(this._x=t,this):this._x}function vS(t){return t[1]}function bS(t){return arguments.length?(this._y=t,this):this._y}function xS(t,e,n){var i=new _S(e==null?gS:e,n==null?vS:n,NaN,NaN,NaN,NaN);return t==null?i:i.addAll(t)}function _S(t,e,n,i,r,o){this._x=t;this._y=e;this._x0=n;this._y0=i;this._x1=r;this._y1=o;this._root=undefined}function wS(t){var e={data:t.data},n=e;while(t=t.next)n=n.next={data:t.data};return e}var kS=xS.prototype=_S.prototype;kS.copy=function(){var t=new _S(this._x,this._y,this._x0,this._y0,this._x1,this._y1),e=this._root,n,i;if(!e)return t;if(!e.length)return t._root=wS(e),t;n=[{source:e,target:t._root=new Array(4)}];while(e=n.pop()){for(var r=0;r<4;++r){if(i=e.source[r]){if(i.length)n.push({source:i,target:e.target[r]=new Array(4)});else e.target[r]=wS(i)}}}return t};kS.add=nS;kS.addAll=rS;kS.cover=oS;kS.data=aS;kS.extent=sS;kS.find=uS;kS.remove=cS;kS.removeAll=fS;kS.root=dS;kS.size=hS;kS.visit=pS;kS.visitAfter=mS;kS.x=yS;kS.y=bS;function MS(t){return function(){return t}}function SS(t){return(t()-.5)*1e-6}function ES(t){return t.x+t.vx}function zS(t){return t.y+t.vy}function AS(t){var e,n,i,r=1,o=1;if(typeof t!=="function")t=MS(t==null?1:+t);function a(){var t,a=e.length,l,u,c,f,d,h;for(var p=0;p<o;++p){l=xS(e,ES,zS).visitAfter(s);for(t=0;t<a;++t){u=e[t];d=n[u.index],h=d*d;c=u.x+u.vx;f=u.y+u.vy;l.visit(m)}}function m(t,e,n,o,a){var s=t.data,l=t.r,p=d+l;if(s){if(s.index>u.index){var m=c-s.x-s.vx,g=f-s.y-s.vy,y=m*m+g*g;if(y<p*p){if(m===0)m=SS(i),y+=m*m;if(g===0)g=SS(i),y+=g*g;y=(p-(y=Math.sqrt(y)))/y*r;u.vx+=(m*=y)*(p=(l*=l)/(h+l));u.vy+=(g*=y)*p;s.vx-=m*(p=1-p);s.vy-=g*p}}return}return e>c+p||o<c-p||n>f+p||a<f-p}}function s(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e){if(t[e]&&t[e].r>t.r){t.r=t[e].r}}}function l(){if(!e)return;var i,r=e.length,o;n=new Array(r);for(i=0;i<r;++i)o=e[i],n[o.index]=+t(o,i,e)}a.initialize=function(t,n){e=t;i=n;l()};a.iterations=function(t){return arguments.length?(o=+t,a):o};a.strength=function(t){return arguments.length?(r=+t,a):r};a.radius=function(e){return arguments.length?(t=typeof e==="function"?e:MS(+e),l(),a):t};return a}var $S=n(62996);var OS=n(14036);const RS=1664525;const DS=1013904223;const TS=4294967296;function NS(){let t=1;return()=>(t=(RS*t+DS)%TS)/TS}function CS(t){return t.x}function LS(t){return t.y}var PS=10,qS=Math.PI*(3-Math.sqrt(5));function FS(t){var e,n=1,i=.001,r=1-Math.pow(i,1/300),o=0,a=.6,s=new Map,l=(0,OS.O1)(f),u=(0,$S.A)("tick","end"),c=NS();if(t==null)t=[];function f(){d();u.call("tick",e);if(n<i){l.stop();u.call("end",e)}}function d(i){var l,u=t.length,c;if(i===undefined)i=1;for(var f=0;f<i;++f){n+=(o-n)*r;s.forEach((function(t){t(n)}));for(l=0;l<u;++l){c=t[l];if(c.fx==null)c.x+=c.vx*=a;else c.x=c.fx,c.vx=0;if(c.fy==null)c.y+=c.vy*=a;else c.y=c.fy,c.vy=0}}return e}function h(){for(var e=0,n=t.length,i;e<n;++e){i=t[e],i.index=e;if(i.fx!=null)i.x=i.fx;if(i.fy!=null)i.y=i.fy;if(isNaN(i.x)||isNaN(i.y)){var r=PS*Math.sqrt(.5+e),o=e*qS;i.x=r*Math.cos(o);i.y=r*Math.sin(o)}if(isNaN(i.vx)||isNaN(i.vy)){i.vx=i.vy=0}}}function p(e){if(e.initialize)e.initialize(t,c);return e}h();return e={tick:d,restart:function(){return l.restart(f),e},stop:function(){return l.stop(),e},nodes:function(n){return arguments.length?(t=n,h(),s.forEach(p),e):t},alpha:function(t){return arguments.length?(n=+t,e):n},alphaMin:function(t){return arguments.length?(i=+t,e):i},alphaDecay:function(t){return arguments.length?(r=+t,e):+r},alphaTarget:function(t){return arguments.length?(o=+t,e):o},velocityDecay:function(t){return arguments.length?(a=1-t,e):1-a},randomSource:function(t){return arguments.length?(c=t,s.forEach(p),e):c},force:function(t,n){return arguments.length>1?(n==null?s.delete(t):s.set(t,p(n)),e):s.get(t)},find:function(e,n,i){var r=0,o=t.length,a,s,l,u,c;if(i==null)i=Infinity;else i*=i;for(r=0;r<o;++r){u=t[r];a=e-u.x;s=n-u.y;l=a*a+s*s;if(l<i)c=u,i=l}return c},on:function(t,n){return arguments.length>1?(u.on(t,n),e):u.on(t)}}}function IS(){var t,e,n,i,r=MS(-30),o,a=1,s=Infinity,l=.81;function u(n){var r,o=t.length,a=xS(t,CS,LS).visitAfter(f);for(i=n,r=0;r<o;++r)e=t[r],a.visit(d)}function c(){if(!t)return;var e,n=t.length,i;o=new Array(n);for(e=0;e<n;++e)i=t[e],o[i.index]=+r(i,e,t)}function f(t){var e=0,n,i,r=0,a,s,l;if(t.length){for(a=s=l=0;l<4;++l){if((n=t[l])&&(i=Math.abs(n.value))){e+=n.value,r+=i,a+=i*n.x,s+=i*n.y}}t.x=a/r;t.y=s/r}else{n=t;n.x=n.data.x;n.y=n.data.y;do{e+=o[n.data.index]}while(n=n.next)}t.value=e}function d(t,r,u,c){if(!t.value)return true;var f=t.x-e.x,d=t.y-e.y,h=c-r,p=f*f+d*d;if(h*h/l<p){if(p<s){if(f===0)f=SS(n),p+=f*f;if(d===0)d=SS(n),p+=d*d;if(p<a)p=Math.sqrt(a*p);e.vx+=f*t.value*i/p;e.vy+=d*t.value*i/p}return true}else if(t.length||p>=s)return;if(t.data!==e||t.next){if(f===0)f=SS(n),p+=f*f;if(d===0)d=SS(n),p+=d*d;if(p<a)p=Math.sqrt(a*p)}do{if(t.data!==e){h=o[t.data.index]*i/p;e.vx+=f*h;e.vy+=d*h}}while(t=t.next)}u.initialize=function(e,i){t=e;n=i;c()};u.strength=function(t){return arguments.length?(r=typeof t==="function"?t:MS(+t),c(),u):r};u.distanceMin=function(t){return arguments.length?(a=t*t,u):Math.sqrt(a)};u.distanceMax=function(t){return arguments.length?(s=t*t,u):Math.sqrt(s)};u.theta=function(t){return arguments.length?(l=t*t,u):Math.sqrt(l)};return u}function BS(t){return t.index}function US(t,e){var n=t.get(e);if(!n)throw new Error("node not found: "+e);return n}function jS(t){var e=BS,n=f,i,r=MS(30),o,a,s,l,u,c=1;if(t==null)t=[];function f(t){return 1/Math.min(s[t.source.index],s[t.target.index])}function d(e){for(var n=0,r=t.length;n<c;++n){for(var a=0,s,f,d,h,p,m,g;a<r;++a){s=t[a],f=s.source,d=s.target;h=d.x+d.vx-f.x-f.vx||SS(u);p=d.y+d.vy-f.y-f.vy||SS(u);m=Math.sqrt(h*h+p*p);m=(m-o[a])/m*e*i[a];h*=m,p*=m;d.vx-=h*(g=l[a]);d.vy-=p*g;f.vx+=h*(g=1-g);f.vy+=p*g}}}function h(){if(!a)return;var n,r=a.length,u=t.length,c=new Map(a.map(((t,n)=>[e(t,n,a),t]))),f;for(n=0,s=new Array(r);n<u;++n){f=t[n],f.index=n;if(typeof f.source!=="object")f.source=US(c,f.source);if(typeof f.target!=="object")f.target=US(c,f.target);s[f.source.index]=(s[f.source.index]||0)+1;s[f.target.index]=(s[f.target.index]||0)+1}for(n=0,l=new Array(u);n<u;++n){f=t[n],l[n]=s[f.source.index]/(s[f.source.index]+s[f.target.index])}i=new Array(u),p();o=new Array(u),m()}function p(){if(!a)return;for(var e=0,r=t.length;e<r;++e){i[e]=+n(t[e],e,t)}}function m(){if(!a)return;for(var e=0,n=t.length;e<n;++e){o[e]=+r(t[e],e,t)}}d.initialize=function(t,e){a=t;u=e;h()};d.links=function(e){return arguments.length?(t=e,h(),d):t};d.id=function(t){return arguments.length?(e=t,d):e};d.iterations=function(t){return arguments.length?(c=+t,d):c};d.strength=function(t){return arguments.length?(n=typeof t==="function"?t:MS(+t),p(),d):n};d.distance=function(t){return arguments.length?(r=typeof t==="function"?t:MS(+t),m(),d):r};return d}function YS(t){var e=MS(.1),n,i,r;if(typeof t!=="function")t=MS(t==null?0:+t);function o(t){for(var e=0,o=n.length,a;e<o;++e){a=n[e],a.vx+=(r[e]-a.x)*i[e]*t}}function a(){if(!n)return;var o,a=n.length;i=new Array(a);r=new Array(a);for(o=0;o<a;++o){i[o]=isNaN(r[o]=+t(n[o],o,n))?0:+e(n[o],o,n)}}o.initialize=function(t){n=t;a()};o.strength=function(t){return arguments.length?(e=typeof t==="function"?t:MS(+t),a(),o):e};o.x=function(e){return arguments.length?(t=typeof e==="function"?e:MS(+e),a(),o):t};return o}function GS(t){var e=MS(.1),n,i,r;if(typeof t!=="function")t=MS(t==null?0:+t);function o(t){for(var e=0,o=n.length,a;e<o;++e){a=n[e],a.vy+=(r[e]-a.y)*i[e]*t}}function a(){if(!n)return;var o,a=n.length;i=new Array(a);r=new Array(a);for(o=0;o<a;++o){i[o]=isNaN(r[o]=+t(n[o],o,n))?0:+e(n[o],o,n)}}o.initialize=function(t){n=t;a()};o.strength=function(t){return arguments.length?(e=typeof t==="function"?t:MS(+t),a(),o):e};o.y=function(e){return arguments.length?(t=typeof e==="function"?e:MS(+e),a(),o):t};return o}const WS={center:eS,collide:AS,nbody:IS,link:jS,x:YS,y:GS};const XS="forces",HS=["alpha","alphaMin","alphaTarget","velocityDecay","forces"],VS=["static","iterations"],KS=["x","y","vx","vy"];function ZS(t){Di.call(this,null,t)}ZS.Definition={type:"Force",metadata:{modifies:true},params:[{name:"static",type:"boolean",default:false},{name:"restart",type:"boolean",default:false},{name:"iterations",type:"number",default:300},{name:"alpha",type:"number",default:1},{name:"alphaMin",type:"number",default:.001},{name:"alphaTarget",type:"number",default:0},{name:"velocityDecay",type:"number",default:.4},{name:"forces",type:"param",array:true,params:[{key:{force:"center"},params:[{name:"x",type:"number",default:0},{name:"y",type:"number",default:0}]},{key:{force:"collide"},params:[{name:"radius",type:"number",expr:true},{name:"strength",type:"number",default:.7},{name:"iterations",type:"number",default:1}]},{key:{force:"nbody"},params:[{name:"strength",type:"number",default:-30,expr:true},{name:"theta",type:"number",default:.9},{name:"distanceMin",type:"number",default:1},{name:"distanceMax",type:"number"}]},{key:{force:"link"},params:[{name:"links",type:"data"},{name:"id",type:"field"},{name:"distance",type:"number",default:30,expr:true},{name:"strength",type:"number",expr:true},{name:"iterations",type:"number",default:1}]},{key:{force:"x"},params:[{name:"strength",type:"number",default:.1},{name:"x",type:"field"}]},{key:{force:"y"},params:[{name:"strength",type:"number",default:.1},{name:"y",type:"field"}]}]},{name:"as",type:"string",array:true,modify:false,default:KS}]};(0,p.B)(ZS,Di,{transform(t,e){var n=this.value,i=e.changed(e.ADD_REM),r=t.modified(HS),o=t.iterations||300;if(!n){this.value=n=JS(e.source,t);n.on("tick",QS(e.dataflow,this));if(!t.static){i=true;n.tick()}e.modifies("index")}else{if(i){e.modifies("index");n.nodes(e.source)}if(r||e.changed(e.MOD)){tE(n,t,0,e)}}if(r||i||t.modified(VS)||e.changed()&&t.restart){n.alpha(Math.max(n.alpha(),t.alpha||1)).alphaDecay(1-Math.pow(n.alphaMin(),1/o));if(t.static){for(n.stop();--o>=0;)n.tick()}else{if(n.stopped())n.restart();if(!i)return e.StopPropagation}}return this.finish(t,e)},finish(t,e){const n=e.dataflow;for(let s=this._argops,l=0,u=s.length,c;l<u;++l){c=s[l];if(c.name!==XS||c.op._argval.force!=="link"){continue}for(var i=c.op._argops,r=0,o=i.length,a;r<o;++r){if(i[r].name==="links"&&(a=i[r].op.source)){n.pulse(a,n.changeset().reflow());break}}}return e.reflow(t.modified()).modifies(KS)}});function QS(t,e){return()=>t.touch(e).run()}function JS(t,e){const n=FS(t),i=n.stop,r=n.restart;let o=false;n.stopped=()=>o;n.restart=()=>(o=false,r());n.stop=()=>(o=true,i());return tE(n,e,true).on("end",(()=>o=true))}function tE(t,e,n,i){var r=(0,p.YO)(e.forces),o,a,s,l;for(o=0,a=HS.length;o<a;++o){s=HS[o];if(s!==XS&&e.modified(s))t[s](e[s])}for(o=0,a=r.length;o<a;++o){l=XS+o;s=n||e.modified(XS,o)?nE(r[o]):i&&eE(r[o],i)?t.force(l):null;if(s)t.force(l,s)}for(a=t.numForces||0;o<a;++o){t.force(XS+o,null)}t.numForces=r.length;return t}function eE(t,e){var n,i;for(n in t){if((0,p.Tn)(i=t[n])&&e.modified((0,p.nS)(i)))return 1}return 0}function nE(t){var e,n;if(!(0,p.mQ)(WS,t.force)){(0,p.z3)("Unrecognized force: "+t.force)}e=WS[t.force]();for(n in t){if((0,p.Tn)(e[n]))iE(e[n],t[n],t)}return e}function iE(t,e,n){t((0,p.Tn)(e)?t=>e(t,n):e)}function rE(t){var e=0,n=t.children,i=n&&n.length;if(!i)e=1;else while(--i>=0)e+=n[i].value;t.value=e}function oE(){return this.eachAfter(rE)}function aE(t,e){let n=-1;for(const i of this){t.call(e,i,++n,this)}return this}function sE(t,e){var n=this,i=[n],r,o,a=-1;while(n=i.pop()){t.call(e,n,++a,this);if(r=n.children){for(o=r.length-1;o>=0;--o){i.push(r[o])}}}return this}function lE(t,e){var n=this,i=[n],r=[],o,a,s,l=-1;while(n=i.pop()){r.push(n);if(o=n.children){for(a=0,s=o.length;a<s;++a){i.push(o[a])}}}while(n=r.pop()){t.call(e,n,++l,this)}return this}function uE(t,e){let n=-1;for(const i of this){if(t.call(e,i,++n,this)){return i}}}function cE(t){return this.eachAfter((function(e){var n=+t(e.data)||0,i=e.children,r=i&&i.length;while(--r>=0)n+=i[r].value;e.value=n}))}function fE(t){return this.eachBefore((function(e){if(e.children){e.children.sort(t)}}))}function dE(t){var e=this,n=hE(e,t),i=[e];while(e!==n){e=e.parent;i.push(e)}var r=i.length;while(t!==n){i.splice(r,0,t);t=t.parent}return i}function hE(t,e){if(t===e)return t;var n=t.ancestors(),i=e.ancestors(),r=null;t=n.pop();e=i.pop();while(t===e){r=t;t=n.pop();e=i.pop()}return r}function pE(){var t=this,e=[t];while(t=t.parent){e.push(t)}return e}function mE(){return Array.from(this)}function gE(){var t=[];this.eachBefore((function(e){if(!e.children){t.push(e)}}));return t}function yE(){var t=this,e=[];t.each((function(n){if(n!==t){e.push({source:n.parent,target:n})}}));return e}function*vE(){var t=this,e,n=[t],i,r,o;do{e=n.reverse(),n=[];while(t=e.pop()){yield t;if(i=t.children){for(r=0,o=i.length;r<o;++r){n.push(i[r])}}}}while(n.length)}function bE(t,e){if(t instanceof Map){t=[undefined,t];if(e===undefined)e=wE}else if(e===undefined){e=_E}var n=new SE(t),i,r=[n],o,a,s,l;while(i=r.pop()){if((a=e(i.data))&&(l=(a=Array.from(a)).length)){i.children=a;for(s=l-1;s>=0;--s){r.push(o=a[s]=new SE(a[s]));o.parent=i;o.depth=i.depth+1}}}return n.eachBefore(ME)}function xE(){return bE(this).eachBefore(kE)}function _E(t){return t.children}function wE(t){return Array.isArray(t)?t[1]:null}function kE(t){if(t.data.value!==undefined)t.value=t.data.value;t.data=t.data.data}function ME(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function SE(t){this.data=t;this.depth=this.height=0;this.parent=null}SE.prototype=bE.prototype={constructor:SE,count:oE,each:aE,eachAfter:lE,eachBefore:sE,find:uE,sum:cE,sort:fE,path:dE,ancestors:pE,descendants:mE,leaves:gE,links:yE,copy:xE,[Symbol.iterator]:vE};function EE(t){return t==null?null:zE(t)}function zE(t){if(typeof t!=="function")throw new Error;return t}function AE(){return 0}function $E(t){return function(){return t}}const OE=1664525;const RE=1013904223;const DE=4294967296;function TE(){let t=1;return()=>(t=(OE*t+RE)%DE)/DE}function NE(t){return typeof t==="object"&&"length"in t?t:Array.from(t)}function CE(t,e){let n=t.length,i,r;while(n){r=e()*n--|0;i=t[n];t[n]=t[r];t[r]=i}return t}function LE(t){return PE(t,lcg())}function PE(t,e){var n=0,i=(t=CE(Array.from(t),e)).length,r=[],o,a;while(n<i){o=t[n];if(a&&IE(a,o))++n;else a=UE(r=qE(r,o)),n=0}return a}function qE(t,e){var n,i;if(BE(e,t))return[e];for(n=0;n<t.length;++n){if(FE(e,t[n])&&BE(YE(t[n],e),t)){return[t[n],e]}}for(n=0;n<t.length-1;++n){for(i=n+1;i<t.length;++i){if(FE(YE(t[n],t[i]),e)&&FE(YE(t[n],e),t[i])&&FE(YE(t[i],e),t[n])&&BE(GE(t[n],t[i],e),t)){return[t[n],t[i],e]}}}throw new Error}function FE(t,e){var n=t.r-e.r,i=e.x-t.x,r=e.y-t.y;return n<0||n*n<i*i+r*r}function IE(t,e){var n=t.r-e.r+Math.max(t.r,e.r,1)*1e-9,i=e.x-t.x,r=e.y-t.y;return n>0&&n*n>i*i+r*r}function BE(t,e){for(var n=0;n<e.length;++n){if(!IE(t,e[n])){return false}}return true}function UE(t){switch(t.length){case 1:return jE(t[0]);case 2:return YE(t[0],t[1]);case 3:return GE(t[0],t[1],t[2])}}function jE(t){return{x:t.x,y:t.y,r:t.r}}function YE(t,e){var n=t.x,i=t.y,r=t.r,o=e.x,a=e.y,s=e.r,l=o-n,u=a-i,c=s-r,f=Math.sqrt(l*l+u*u);return{x:(n+o+l/f*c)/2,y:(i+a+u/f*c)/2,r:(f+r+s)/2}}function GE(t,e,n){var i=t.x,r=t.y,o=t.r,a=e.x,s=e.y,l=e.r,u=n.x,c=n.y,f=n.r,d=i-a,h=i-u,p=r-s,m=r-c,g=l-o,y=f-o,v=i*i+r*r-o*o,b=v-a*a-s*s+l*l,x=v-u*u-c*c+f*f,_=h*p-d*m,w=(p*x-m*b)/(_*2)-i,k=(m*g-p*y)/_,M=(h*b-d*x)/(_*2)-r,S=(d*y-h*g)/_,E=k*k+S*S-1,z=2*(o+w*k+M*S),A=w*w+M*M-o*o,$=-(Math.abs(E)>1e-6?(z+Math.sqrt(z*z-4*E*A))/(2*E):A/z);return{x:i+w+k*$,y:r+M+S*$,r:$}}function WE(t,e,n){var i=t.x-e.x,r,o,a=t.y-e.y,s,l,u=i*i+a*a;if(u){o=e.r+n.r,o*=o;l=t.r+n.r,l*=l;if(o>l){r=(u+l-o)/(2*u);s=Math.sqrt(Math.max(0,l/u-r*r));n.x=t.x-r*i-s*a;n.y=t.y-r*a+s*i}else{r=(u+o-l)/(2*u);s=Math.sqrt(Math.max(0,o/u-r*r));n.x=e.x+r*i-s*a;n.y=e.y+r*a+s*i}}else{n.x=e.x+n.r;n.y=e.y}}function XE(t,e){var n=t.r+e.r-1e-6,i=e.x-t.x,r=e.y-t.y;return n>0&&n*n>i*i+r*r}function HE(t){var e=t._,n=t.next._,i=e.r+n.r,r=(e.x*n.r+n.x*e.r)/i,o=(e.y*n.r+n.y*e.r)/i;return r*r+o*o}function VE(t){this._=t;this.next=null;this.previous=null}function KE(t,e){if(!(o=(t=NE(t)).length))return 0;var n,i,r,o,a,s,l,u,c,f,d;n=t[0],n.x=0,n.y=0;if(!(o>1))return n.r;i=t[1],n.x=-i.r,i.x=n.r,i.y=0;if(!(o>2))return n.r+i.r;WE(i,n,r=t[2]);n=new VE(n),i=new VE(i),r=new VE(r);n.next=r.previous=i;i.next=n.previous=r;r.next=i.previous=n;t:for(l=3;l<o;++l){WE(n._,i._,r=t[l]),r=new VE(r);u=i.next,c=n.previous,f=i._.r,d=n._.r;do{if(f<=d){if(XE(u._,r._)){i=u,n.next=i,i.previous=n,--l;continue t}f+=u._.r,u=u.next}else{if(XE(c._,r._)){n=c,n.next=i,i.previous=n,--l;continue t}d+=c._.r,c=c.previous}}while(u!==c.next);r.previous=n,r.next=i,n.next=i.previous=i=r;a=HE(n);while((r=r.next)!==i){if((s=HE(r))<a){n=r,a=s}}i=n.next}n=[i._],r=i;while((r=r.next)!==i)n.push(r._);r=PE(n,e);for(l=0;l<o;++l)n=t[l],n.x-=r.x,n.y-=r.y;return r.r}function ZE(t){KE(t,lcg());return t}function QE(t){return Math.sqrt(t.value)}function JE(){var t=null,e=1,n=1,i=AE;function r(r){const o=TE();r.x=e/2,r.y=n/2;if(t){r.eachBefore(tz(t)).eachAfter(ez(i,.5,o)).eachBefore(nz(1))}else{r.eachBefore(tz(QE)).eachAfter(ez(AE,1,o)).eachAfter(ez(i,r.r/Math.min(e,n),o)).eachBefore(nz(Math.min(e,n)/(2*r.r)))}return r}r.radius=function(e){return arguments.length?(t=EE(e),r):t};r.size=function(t){return arguments.length?(e=+t[0],n=+t[1],r):[e,n]};r.padding=function(t){return arguments.length?(i=typeof t==="function"?t:$E(+t),r):i};return r}function tz(t){return function(e){if(!e.children){e.r=Math.max(0,+t(e)||0)}}}function ez(t,e,n){return function(i){if(r=i.children){var r,o,a=r.length,s=t(i)*e||0,l;if(s)for(o=0;o<a;++o)r[o].r+=s;l=KE(r,n);if(s)for(o=0;o<a;++o)r[o].r-=s;i.r=l+s}}}function nz(t){return function(e){var n=e.parent;e.r*=t;if(n){e.x=n.x+t*e.x;e.y=n.y+t*e.y}}}function iz(t){t.x0=Math.round(t.x0);t.y0=Math.round(t.y0);t.x1=Math.round(t.x1);t.y1=Math.round(t.y1)}function rz(t,e,n,i,r){var o=t.children,a,s=-1,l=o.length,u=t.value&&(i-e)/t.value;while(++s<l){a=o[s],a.y0=n,a.y1=r;a.x0=e,a.x1=e+=a.value*u}}function oz(){var t=1,e=1,n=0,i=false;function r(r){var a=r.height+1;r.x0=r.y0=n;r.x1=t;r.y1=e/a;r.eachBefore(o(e,a));if(i)r.eachBefore(iz);return r}function o(t,e){return function(i){if(i.children){rz(i,i.x0,t*(i.depth+1)/e,i.x1,t*(i.depth+2)/e)}var r=i.x0,o=i.y0,a=i.x1-n,s=i.y1-n;if(a<r)r=a=(r+a)/2;if(s<o)o=s=(o+s)/2;i.x0=r;i.y0=o;i.x1=a;i.y1=s}}r.round=function(t){return arguments.length?(i=!!t,r):i};r.size=function(n){return arguments.length?(t=+n[0],e=+n[1],r):[t,e]};r.padding=function(t){return arguments.length?(n=+t,r):n};return r}var az={depth:-1},sz={},lz={};function uz(t){return t.id}function cz(t){return t.parentId}function fz(){var t=uz,e=cz,n;function i(i){var r=Array.from(i),o=t,a=e,s,l,u,c,f,d,h,p,m=new Map;if(n!=null){const t=r.map(((t,e)=>dz(n(t,e,i))));const e=t.map(hz);const s=new Set(t).add("");for(const n of e){if(!s.has(n)){s.add(n);t.push(n);e.push(hz(n));r.push(lz)}}o=(e,n)=>t[n];a=(t,n)=>e[n]}for(u=0,s=r.length;u<s;++u){l=r[u],d=r[u]=new SE(l);if((h=o(l,u,i))!=null&&(h+="")){p=d.id=h;m.set(p,m.has(p)?sz:d)}if((h=a(l,u,i))!=null&&(h+="")){d.parent=h}}for(u=0;u<s;++u){d=r[u];if(h=d.parent){f=m.get(h);if(!f)throw new Error("missing: "+h);if(f===sz)throw new Error("ambiguous: "+h);if(f.children)f.children.push(d);else f.children=[d];d.parent=f}else{if(c)throw new Error("multiple roots");c=d}}if(!c)throw new Error("no root");if(n!=null){while(c.data===lz&&c.children.length===1){c=c.children[0],--s}for(let t=r.length-1;t>=0;--t){d=r[t];if(d.data!==lz)break;d.data=null}}c.parent=az;c.eachBefore((function(t){t.depth=t.parent.depth+1;--s})).eachBefore(ME);c.parent=null;if(s>0)throw new Error("cycle");return c}i.id=function(e){return arguments.length?(t=EE(e),i):t};i.parentId=function(t){return arguments.length?(e=EE(t),i):e};i.path=function(t){return arguments.length?(n=EE(t),i):n};return i}function dz(t){t=`${t}`;let e=t.length;if(pz(t,e-1)&&!pz(t,e-2))t=t.slice(0,-1);return t[0]==="/"?t:`/${t}`}function hz(t){let e=t.length;if(e<2)return"";while(--e>1)if(pz(t,e))break;return t.slice(0,e)}function pz(t,e){if(t[e]==="/"){let n=0;while(e>0&&t[--e]==="\\")++n;if((n&1)===0)return true}return false}function mz(t,e){return t.parent===e.parent?1:2}function gz(t){var e=t.children;return e?e[0]:t.t}function yz(t){var e=t.children;return e?e[e.length-1]:t.t}function vz(t,e,n){var i=n/(e.i-t.i);e.c-=i;e.s+=n;t.c+=i;e.z+=n;e.m+=n}function bz(t){var e=0,n=0,i=t.children,r=i.length,o;while(--r>=0){o=i[r];o.z+=e;o.m+=e;e+=o.s+(n+=o.c)}}function xz(t,e,n){return t.a.parent===e.parent?t.a:n}function _z(t,e){this._=t;this.parent=null;this.children=null;this.A=null;this.a=this;this.z=0;this.m=0;this.c=0;this.s=0;this.t=null;this.i=e}_z.prototype=Object.create(SE.prototype);function wz(t){var e=new _z(t,0),n,i=[e],r,o,a,s;while(n=i.pop()){if(o=n._.children){n.children=new Array(s=o.length);for(a=s-1;a>=0;--a){i.push(r=n.children[a]=new _z(o[a],a));r.parent=n}}}(e.parent=new _z(null,0)).children=[e];return e}function kz(){var t=mz,e=1,n=1,i=null;function r(r){var s=wz(r);s.eachAfter(o),s.parent.m=-s.z;s.eachBefore(a);if(i)r.eachBefore(l);else{var u=r,c=r,f=r;r.eachBefore((function(t){if(t.x<u.x)u=t;if(t.x>c.x)c=t;if(t.depth>f.depth)f=t}));var d=u===c?1:t(u,c)/2,h=d-u.x,p=e/(c.x+d+h),m=n/(f.depth||1);r.eachBefore((function(t){t.x=(t.x+h)*p;t.y=t.depth*m}))}return r}function o(e){var n=e.children,i=e.parent.children,r=e.i?i[e.i-1]:null;if(n){bz(e);var o=(n[0].z+n[n.length-1].z)/2;if(r){e.z=r.z+t(e._,r._);e.m=e.z-o}else{e.z=o}}else if(r){e.z=r.z+t(e._,r._)}e.parent.A=s(e,r,e.parent.A||i[0])}function a(t){t._.x=t.z+t.parent.m;t.m+=t.parent.m}function s(e,n,i){if(n){var r=e,o=e,a=n,s=r.parent.children[0],l=r.m,u=o.m,c=a.m,f=s.m,d;while(a=yz(a),r=gz(r),a&&r){s=gz(s);o=yz(o);o.a=e;d=a.z+c-r.z-l+t(a._,r._);if(d>0){vz(xz(a,e,i),e,d);l+=d;u+=d}c+=a.m;l+=r.m;f+=s.m;u+=o.m}if(a&&!yz(o)){o.t=a;o.m+=c-u}if(r&&!gz(s)){s.t=r;s.m+=l-f;i=e}}return i}function l(t){t.x*=e;t.y=t.depth*n}r.separation=function(e){return arguments.length?(t=e,r):t};r.size=function(t){return arguments.length?(i=false,e=+t[0],n=+t[1],r):i?null:[e,n]};r.nodeSize=function(t){return arguments.length?(i=true,e=+t[0],n=+t[1],r):i?[e,n]:null};return r}function Mz(t,e){return t.parent===e.parent?1:2}function Sz(t){return t.reduce(Ez,0)/t.length}function Ez(t,e){return t+e.x}function zz(t){return 1+t.reduce(Az,0)}function Az(t,e){return Math.max(t,e.y)}function $z(t){var e;while(e=t.children)t=e[0];return t}function Oz(t){var e;while(e=t.children)t=e[e.length-1];return t}function Rz(){var t=Mz,e=1,n=1,i=false;function r(r){var o,a=0;r.eachAfter((function(e){var n=e.children;if(n){e.x=Sz(n);e.y=zz(n)}else{e.x=o?a+=t(e,o):0;e.y=0;o=e}}));var s=$z(r),l=Oz(r),u=s.x-t(s,l)/2,c=l.x+t(l,s)/2;return r.eachAfter(i?function(t){t.x=(t.x-r.x)*e;t.y=(r.y-t.y)*n}:function(t){t.x=(t.x-u)/(c-u)*e;t.y=(1-(r.y?t.y/r.y:1))*n})}r.separation=function(e){return arguments.length?(t=e,r):t};r.size=function(t){return arguments.length?(i=false,e=+t[0],n=+t[1],r):i?null:[e,n]};r.nodeSize=function(t){return arguments.length?(i=true,e=+t[0],n=+t[1],r):i?[e,n]:null};return r}function Dz(t,e,n,i,r){var o=t.children,a,s=o.length,l,u=new Array(s+1);for(u[0]=l=a=0;a<s;++a){u[a+1]=l+=o[a].value}c(0,s,t.value,e,n,i,r);function c(t,e,n,i,r,a,s){if(t>=e-1){var l=o[t];l.x0=i,l.y0=r;l.x1=a,l.y1=s;return}var f=u[t],d=n/2+f,h=t+1,p=e-1;while(h<p){var m=h+p>>>1;if(u[m]<d)h=m+1;else p=m}if(d-u[h-1]<u[h]-d&&t+1<h)--h;var g=u[h]-f,y=n-g;if(a-i>s-r){var v=n?(i*y+a*g)/n:a;c(t,h,g,i,r,v,s);c(h,e,y,v,r,a,s)}else{var b=n?(r*y+s*g)/n:s;c(t,h,g,i,r,a,b);c(h,e,y,i,b,a,s)}}}function Tz(t,e,n,i,r){var o=t.children,a,s=-1,l=o.length,u=t.value&&(r-n)/t.value;while(++s<l){a=o[s],a.x0=e,a.x1=i;a.y0=n,a.y1=n+=a.value*u}}function Nz(t,e,n,i,r){(t.depth&1?Tz:rz)(t,e,n,i,r)}var Cz=(1+Math.sqrt(5))/2;function Lz(t,e,n,i,r,o){var a=[],s=e.children,l,u,c=0,f=0,d=s.length,h,p,m=e.value,g,y,v,b,x,_,w;while(c<d){h=r-n,p=o-i;do{g=s[f++].value}while(!g&&f<d);y=v=g;_=Math.max(p/h,h/p)/(m*t);w=g*g*_;x=Math.max(v/w,w/y);for(;f<d;++f){g+=u=s[f].value;if(u<y)y=u;if(u>v)v=u;w=g*g*_;b=Math.max(v/w,w/y);if(b>x){g-=u;break}x=b}a.push(l={value:g,dice:h<p,children:s.slice(c,f)});if(l.dice)rz(l,n,i,r,m?i+=p*g/m:o);else Tz(l,n,i,m?n+=h*g/m:r,o);m-=g,c=f}return a}const Pz=function t(e){function n(t,n,i,r,o){Lz(e,t,n,i,r,o)}n.ratio=function(e){return t((e=+e)>1?e:1)};return n}(Cz);const qz=function t(e){function n(t,n,i,r,o){if((a=t._squarify)&&a.ratio===e){var a,s,l,u,c=-1,f,d=a.length,h=t.value;while(++c<d){s=a[c],l=s.children;for(u=s.value=0,f=l.length;u<f;++u)s.value+=l[u].value;if(s.dice)rz(s,n,i,r,h?i+=(o-i)*s.value/h:o);else Tz(s,n,i,h?n+=(r-n)*s.value/h:r,o);h-=s.value}}else{t._squarify=a=Lz(e,t,n,i,r,o);a.ratio=e}}n.ratio=function(e){return t((e=+e)>1?e:1)};return n}(Cz);function Fz(){var t=Pz,e=false,n=1,i=1,r=[0],o=AE,a=AE,s=AE,l=AE,u=AE;function c(t){t.x0=t.y0=0;t.x1=n;t.y1=i;t.eachBefore(f);r=[0];if(e)t.eachBefore(iz);return t}function f(e){var n=r[e.depth],i=e.x0+n,c=e.y0+n,f=e.x1-n,d=e.y1-n;if(f<i)i=f=(i+f)/2;if(d<c)c=d=(c+d)/2;e.x0=i;e.y0=c;e.x1=f;e.y1=d;if(e.children){n=r[e.depth+1]=o(e)/2;i+=u(e)-n;c+=a(e)-n;f-=s(e)-n;d-=l(e)-n;if(f<i)i=f=(i+f)/2;if(d<c)c=d=(c+d)/2;t(e,i,c,f,d)}}c.round=function(t){return arguments.length?(e=!!t,c):e};c.size=function(t){return arguments.length?(n=+t[0],i=+t[1],c):[n,i]};c.tile=function(e){return arguments.length?(t=zE(e),c):t};c.padding=function(t){return arguments.length?c.paddingInner(t).paddingOuter(t):c.paddingInner()};c.paddingInner=function(t){return arguments.length?(o=typeof t==="function"?t:$E(+t),c):o};c.paddingOuter=function(t){return arguments.length?c.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):c.paddingTop()};c.paddingTop=function(t){return arguments.length?(a=typeof t==="function"?t:$E(+t),c):a};c.paddingRight=function(t){return arguments.length?(s=typeof t==="function"?t:$E(+t),c):s};c.paddingBottom=function(t){return arguments.length?(l=typeof t==="function"?t:$E(+t),c):l};c.paddingLeft=function(t){return arguments.length?(u=typeof t==="function"?t:$E(+t),c):u};return c}function Iz(t,e,n){const i={};t.each((t=>{const r=t.data;if(n(r))i[e(r)]=t}));t.lookup=i;return t}function Bz(t){Di.call(this,null,t)}Bz.Definition={type:"Nest",metadata:{treesource:true,changes:true},params:[{name:"keys",type:"field",array:true},{name:"generate",type:"boolean"}]};const Uz=t=>t.values;(0,p.B)(Bz,Di,{transform(t,e){if(!e.source){(0,p.z3)("Nest transform requires an upstream data source.")}var n=t.generate,i=t.modified(),r=e.clone(),o=this.value;if(!o||i||e.changed()){if(o){o.each((t=>{if(t.children&&gn(t.data)){r.rem.push(t.data)}}))}this.value=o=bE({values:(0,p.YO)(t.keys).reduce(((t,e)=>{t.key(e);return t}),jz()).entries(r.source)},Uz);if(n){o.each((t=>{if(t.children){t=bn(t.data);r.add.push(t);r.source.push(t)}}))}Iz(o,yn,yn)}r.source.root=o;return r}});function jz(){const t=[],e={entries:t=>i(n(t,0),0),key:n=>(t.push(n),e)};function n(e,i){if(i>=t.length){return e}const r=e.length,o=t[i++],a={},s={};let l=-1,u,c,f;while(++l<r){u=o(c=e[l])+"";if(f=a[u]){f.push(c)}else{a[u]=[c]}}for(u in a){s[u]=n(a[u],i)}return s}function i(e,n){if(++n>t.length)return e;const r=[];for(const t in e){r.push({key:t,values:i(e[t],n)})}return r}return e}function Yz(t){Di.call(this,null,t)}const Gz=(t,e)=>t.parent===e.parent?1:2;(0,p.B)(Yz,Di,{transform(t,e){if(!e.source||!e.source.root){(0,p.z3)(this.constructor.name+" transform requires a backing tree data source.")}const n=this.layout(t.method),i=this.fields,r=e.source.root,o=t.as||i;if(t.field)r.sum(t.field);else r.count();if(t.sort)r.sort(kn(t.sort,(t=>t.data)));Wz(n,this.params,t);if(n.separation){n.separation(t.separation!==false?Gz:p.xH)}try{this.value=n(r)}catch(a){(0,p.z3)(a)}r.each((t=>Xz(t,i,o)));return e.reflow(t.modified()).modifies(o).modifies("leaf")}});function Wz(t,e,n){for(let i,r=0,o=e.length;r<o;++r){i=e[r];if(i in n)t[i](n[i])}}function Xz(t,e,n){const i=t.data,r=e.length-1;for(let o=0;o<r;++o){i[n[o]]=t[e[o]]}i[n[r]]=t.children?t.children.length:0}const Hz=["x","y","r","depth","children"];function Vz(t){Yz.call(this,t)}Vz.Definition={type:"Pack",metadata:{tree:true,modifies:true},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"radius",type:"field",default:null},{name:"size",type:"number",array:true,length:2},{name:"as",type:"string",array:true,length:Hz.length,default:Hz}]};(0,p.B)(Vz,Yz,{layout:JE,params:["radius","size","padding"],fields:Hz});const Kz=["x0","y0","x1","y1","depth","children"];function Zz(t){Yz.call(this,t)}Zz.Definition={type:"Partition",metadata:{tree:true,modifies:true},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"round",type:"boolean",default:false},{name:"size",type:"number",array:true,length:2},{name:"as",type:"string",array:true,length:Kz.length,default:Kz}]};(0,p.B)(Zz,Yz,{layout:oz,params:["size","round","padding"],fields:Kz});function Qz(t){Di.call(this,null,t)}Qz.Definition={type:"Stratify",metadata:{treesource:true},params:[{name:"key",type:"field",required:true},{name:"parentKey",type:"field",required:true}]};(0,p.B)(Qz,Di,{transform(t,e){if(!e.source){(0,p.z3)("Stratify transform requires an upstream data source.")}let n=this.value;const i=t.modified(),r=e.fork(e.ALL).materialize(e.SOURCE),o=!n||i||e.changed(e.ADD_REM)||e.modified(t.key.fields)||e.modified(t.parentKey.fields);r.source=r.source.slice();if(o){n=r.source.length?Iz(fz().id(t.key).parentId(t.parentKey)(r.source),t.key,p.vN):Iz(fz()([{}]),t.key,t.key)}r.source.root=this.value=n;return r}});const Jz={tidy:kz,cluster:Rz};const tA=["x","y","depth","children"];function eA(t){Yz.call(this,t)}eA.Definition={type:"Tree",metadata:{tree:true,modifies:true},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:true,length:2},{name:"nodeSize",type:"number",array:true,length:2},{name:"separation",type:"boolean",default:true},{name:"as",type:"string",array:true,length:tA.length,default:tA}]};(0,p.B)(eA,Yz,{layout(t){const e=t||"tidy";if((0,p.mQ)(Jz,e))return Jz[e]();else(0,p.z3)("Unrecognized Tree layout method: "+e)},params:["size","nodeSize"],fields:tA});function nA(t){Di.call(this,[],t)}nA.Definition={type:"TreeLinks",metadata:{tree:true,generates:true,changes:true},params:[]};(0,p.B)(nA,Di,{transform(t,e){const n=this.value,i=e.source&&e.source.root,r=e.fork(e.NO_SOURCE),o={};if(!i)(0,p.z3)("TreeLinks transform requires a tree data source.");if(e.changed(e.ADD_REM)){r.rem=n;e.visit(e.SOURCE,(t=>o[yn(t)]=1));i.each((t=>{const e=t.data,n=t.parent&&t.parent.data;if(n&&o[yn(e)]&&o[yn(n)]){r.add.push(bn({source:n,target:e}))}}));this.value=r.add}else if(e.changed(e.MOD)){e.visit(e.MOD,(t=>o[yn(t)]=1));n.forEach((t=>{if(o[yn(t.source)]||o[yn(t.target)]){r.mod.push(t)}}))}return r}});const iA={binary:Dz,dice:rz,slice:Tz,slicedice:Nz,squarify:Pz,resquarify:qz};const rA=["x0","y0","x1","y1","depth","children"];function oA(t){Yz.call(this,t)}oA.Definition={type:"Treemap",metadata:{tree:true,modifies:true},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:false},{name:"size",type:"number",array:true,length:2},{name:"as",type:"string",array:true,length:rA.length,default:rA}]};(0,p.B)(oA,Yz,{layout(){const t=Fz();t.ratio=e=>{const n=t.tile();if(n.ratio)t.tile(n.ratio(e))};t.method=e=>{if((0,p.mQ)(iA,e))t.tile(iA[e]);else(0,p.z3)("Unrecognized Treemap layout method: "+e)};return t},params:["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],fields:rA});const aA=4278190080;function sA(t,e){const n=t.bitmap();(e||[]).forEach((e=>n.set(t(e.boundary[0]),t(e.boundary[3]))));return[n,undefined]}function lA(t,e,n,i,r){const o=t.width,a=t.height,s=i||r,l=Ks(o,a).getContext("2d"),u=Ks(o,a).getContext("2d"),c=s&&Ks(o,a).getContext("2d");n.forEach((t=>cA(l,t,false)));cA(u,e,false);if(s){cA(c,e,true)}const f=uA(l,o,a),d=uA(u,o,a),h=s&&uA(c,o,a),p=t.bitmap(),m=s&&t.bitmap();let g,y,v,b,x,_,w,k;for(y=0;y<a;++y){for(g=0;g<o;++g){x=y*o+g;_=f[x]&aA;k=d[x]&aA;w=s&&h[x]&aA;if(_||w||k){v=t(g);b=t(y);if(!r&&(_||k))p.set(v,b);if(s&&(_||w))m.set(v,b)}}}return[p,m]}function uA(t,e,n){return new Uint32Array(t.getImageData(0,0,e,n).data.buffer)}function cA(t,e,n){if(!e.length)return;const i=e[0].mark.marktype;if(i==="group"){e.forEach((e=>{e.items.forEach((e=>cA(t,e.items,n)))}))}else{qp[i].draw(t,{items:n?e.map(fA):e})}}function fA(t){const e=_n(t,{});if(e.stroke&&e.strokeOpacity!==0||e.fill&&e.fillOpacity!==0){return{...e,strokeOpacity:1,stroke:"#000",fillOpacity:0}}return e}const dA=5,hA=31,pA=32,mA=new Uint32Array(pA+1),gA=new Uint32Array(pA+1);gA[0]=0;mA[0]=~gA[0];for(let $j=1;$j<=pA;++$j){gA[$j]=gA[$j-1]<<1|1;mA[$j]=~gA[$j]}function yA(t,e){const n=new Uint32Array(~~((t*e+pA)/pA));function i(t,e){n[t]|=e}function r(t,e){n[t]&=e}return{array:n,get:(e,i)=>{const r=i*t+e;return n[r>>>dA]&1<<(r&hA)},set:(e,n)=>{const r=n*t+e;i(r>>>dA,1<<(r&hA))},clear:(e,n)=>{const i=n*t+e;r(i>>>dA,~(1<<(i&hA)))},getRange:(e,i,r,o)=>{let a=o,s,l,u,c;for(;a>=i;--a){s=a*t+e;l=a*t+r;u=s>>>dA;c=l>>>dA;if(u===c){if(n[u]&mA[s&hA]&gA[(l&hA)+1]){return true}}else{if(n[u]&mA[s&hA])return true;if(n[c]&gA[(l&hA)+1])return true;for(let t=u+1;t<c;++t){if(n[t])return true}}}return false},setRange:(e,n,r,o)=>{let a,s,l,u,c;for(;n<=o;++n){a=n*t+e;s=n*t+r;l=a>>>dA;u=s>>>dA;if(l===u){i(l,mA[a&hA]&gA[(s&hA)+1])}else{i(l,mA[a&hA]);i(u,gA[(s&hA)+1]);for(c=l+1;c<u;++c)i(c,4294967295)}}},clearRange:(e,n,i,o)=>{let a,s,l,u,c;for(;n<=o;++n){a=n*t+e;s=n*t+i;l=a>>>dA;u=s>>>dA;if(l===u){r(l,gA[a&hA]|mA[(s&hA)+1])}else{r(l,gA[a&hA]);r(u,mA[(s&hA)+1]);for(c=l+1;c<u;++c)r(c,0)}}},outOfBounds:(n,i,r,o)=>n<0||i<0||o>=e||r>=t}}function vA(t,e,n){const i=Math.max(1,Math.sqrt(t*e/1e6)),r=~~((t+2*n+i)/i),o=~~((e+2*n+i)/i),a=t=>~~((t+n)/i);a.invert=t=>t*i-n;a.bitmap=()=>yA(r,o);a.ratio=i;a.padding=n;a.width=t;a.height=e;return a}function bA(t,e,n,i){const r=t.width,o=t.height;return function(t){const e=t.datum.datum.items[i].items,n=e.length,a=t.datum.fontSize,s=fp.width(t.datum,t.datum.text);let l=0,u,c,f,d,h,p,m;for(let i=0;i<n;++i){u=e[i].x;f=e[i].y;c=e[i].x2===undefined?u:e[i].x2;d=e[i].y2===undefined?f:e[i].y2;h=(u+c)/2;p=(f+d)/2;m=Math.abs(c-u+d-f);if(m>=l){l=m;t.x=h;t.y=p}}h=s/2;p=a/2;u=t.x-h;c=t.x+h;f=t.y-p;d=t.y+p;t.align="center";if(u<0&&c<=r){t.align="left"}else if(0<=u&&r<c){t.align="right"}t.baseline="middle";if(f<0&&d<=o){t.baseline="top"}else if(0<=f&&o<d){t.baseline="bottom"}return true}}function xA(t,e,n,i,r,o){let a=n/2;return t-a<0||t+a>r||e-(a=i/2)<0||e+a>o}function _A(t,e,n,i,r,o,a,s){const l=r*o/(i*2),u=t(e-l),c=t(e+l),f=t(n-(o=o/2)),d=t(n+o);return a.outOfBounds(u,f,c,d)||a.getRange(u,f,c,d)||s&&s.getRange(u,f,c,d)}function wA(t,e,n,i){const r=t.width,o=t.height,a=e[0],s=e[1];function l(e,n,i,l,u){const c=t.invert(e),f=t.invert(n);let d=i,h=o,p;if(!xA(c,f,l,u,r,o)&&!_A(t,c,f,u,l,d,a,s)&&!_A(t,c,f,u,l,u,a,null)){while(h-d>=1){p=(d+h)/2;if(_A(t,c,f,u,l,p,a,s)){h=p}else{d=p}}if(d>i){return[c,f,d,true]}}}return function(e){const s=e.datum.datum.items[i].items,u=s.length,c=e.datum.fontSize,f=fp.width(e.datum,e.datum.text);let d=n?c:0,h=false,p=false,m=0,g,y,v,b,x,_,w,k,M,S,E,z,A,$,O,R,D;for(let i=0;i<u;++i){g=s[i].x;v=s[i].y;y=s[i].x2===undefined?g:s[i].x2;b=s[i].y2===undefined?v:s[i].y2;if(g>y){D=g;g=y;y=D}if(v>b){D=v;v=b;b=D}M=t(g);E=t(y);S=~~((M+E)/2);z=t(v);$=t(b);A=~~((z+$)/2);for(w=S;w>=M;--w){for(k=A;k>=z;--k){R=l(w,k,d,f,c);if(R){[e.x,e.y,d,h]=R}}}for(w=S;w<=E;++w){for(k=A;k<=$;++k){R=l(w,k,d,f,c);if(R){[e.x,e.y,d,h]=R}}}if(!h&&!n){O=Math.abs(y-g+b-v);x=(g+y)/2;_=(v+b)/2;if(O>=m&&!xA(x,_,f,c,r,o)&&!_A(t,x,_,c,f,c,a,null)){m=O;e.x=x;e.y=_;p=true}}}if(h||p){x=f/2;_=c/2;a.setRange(t(e.x-x),t(e.y-_),t(e.x+x),t(e.y+_));e.align="center";e.baseline="middle";return true}else{return false}}}const kA=[-1,-1,1,1];const MA=[-1,1,-1,1];function SA(t,e,n,i){const r=t.width,o=t.height,a=e[0],s=e[1],l=t.bitmap();return function(e){const u=e.datum.datum.items[i].items,c=u.length,f=e.datum.fontSize,d=fp.width(e.datum,e.datum.text),h=[];let p=n?f:0,m=false,g=false,y=0,v,b,x,_,w,k,M,S,E,z,A,$;for(let i=0;i<c;++i){v=u[i].x;x=u[i].y;b=u[i].x2===undefined?v:u[i].x2;_=u[i].y2===undefined?x:u[i].y2;h.push([t((v+b)/2),t((x+_)/2)]);while(h.length){[M,S]=h.pop();if(a.get(M,S)||s.get(M,S)||l.get(M,S))continue;l.set(M,S);for(let t=0;t<4;++t){w=M+kA[t];k=S+MA[t];if(!l.outOfBounds(w,k,w,k))h.push([w,k])}w=t.invert(M);k=t.invert(S);E=p;z=o;if(!xA(w,k,d,f,r,o)&&!_A(t,w,k,f,d,E,a,s)&&!_A(t,w,k,f,d,f,a,null)){while(z-E>=1){A=(E+z)/2;if(_A(t,w,k,f,d,A,a,s)){z=A}else{E=A}}if(E>p){e.x=w;e.y=k;p=E;m=true}}}if(!m&&!n){$=Math.abs(b-v+_-x);w=(v+b)/2;k=(x+_)/2;if($>=y&&!xA(w,k,d,f,r,o)&&!_A(t,w,k,f,d,f,a,null)){y=$;e.x=w;e.y=k;g=true}}}if(m||g){w=d/2;k=f/2;a.setRange(t(e.x-w),t(e.y-k),t(e.x+w),t(e.y+k));e.align="center";e.baseline="middle";return true}else{return false}}}const EA=["right","center","left"],zA=["bottom","middle","top"];function AA(t,e,n,i){const r=t.width,o=t.height,a=e[0],s=e[1],l=i.length;return function(e){const u=e.boundary,c=e.datum.fontSize;if(u[2]<0||u[5]<0||u[0]>r||u[3]>o){return false}let f=e.textWidth??0,d,h,p,m,g,y,v,b,x,_,w,k,M,S,E;for(let r=0;r<l;++r){d=(n[r]&3)-1;h=(n[r]>>>2&3)-1;p=d===0&&h===0||i[r]<0;m=d&&h?Math.SQRT1_2:1;g=i[r]<0?-1:1;y=u[1+d]+i[r]*d*m;w=u[4+h]+g*c*h/2+i[r]*h*m;b=w-c/2;x=w+c/2;k=t(y);S=t(b);E=t(x);if(!f){if(!$A(k,k,S,E,a,s,y,y,b,x,u,p)){continue}else{f=fp.width(e.datum,e.datum.text)}}_=y+g*f*d/2;y=_-f/2;v=_+f/2;k=t(y);M=t(v);if($A(k,M,S,E,a,s,y,v,b,x,u,p)){e.x=!d?_:d*g<0?v:y;e.y=!h?w:h*g<0?x:b;e.align=EA[d*g+1];e.baseline=zA[h*g+1];a.setRange(k,S,M,E);return true}}return false}}function $A(t,e,n,i,r,o,a,s,l,u,c,f){return!(r.outOfBounds(t,n,e,i)||(f&&o||r).getRange(t,n,e,i))}const OA=0,RA=4,DA=8,TA=0,NA=1,CA=2;const LA={"top-left":OA+TA,top:OA+NA,"top-right":OA+CA,left:RA+TA,middle:RA+NA,right:RA+CA,"bottom-left":DA+TA,bottom:DA+NA,"bottom-right":DA+CA};const PA={naive:bA,"reduced-search":wA,floodfill:SA};function qA(t,e,n,i,r,o,a,s,l,u,c){if(!t.length)return t;const f=Math.max(i.length,r.length),d=FA(i,f),h=IA(r,f),p=BA(t[0].datum),m=p==="group"&&t[0].datum.items[l].marktype,g=m==="area",y=UA(p,m,s,l),v=u===null||u===Infinity,b=g&&c==="naive";let x=-1,_=-1;const w=t.map((t=>{const e=v?fp.width(t,t.text):undefined;x=Math.max(x,e);_=Math.max(_,t.fontSize);return{datum:t,opacity:0,x:undefined,y:undefined,align:undefined,baseline:undefined,boundary:y(t),textWidth:e}}));u=u===null||u===Infinity?Math.max(x,_)+Math.max(...i):u;const k=vA(e[0],e[1],u);let M;if(!b){if(n){w.sort(((t,e)=>n(t.datum,e.datum)))}let e=false;for(let t=0;t<h.length&&!e;++t){e=h[t]===5||d[t]<0}const i=(p&&a||g)&&t.map((t=>t.datum));M=o.length||i?lA(k,i||[],o,e,g):sA(k,a&&w)}const S=g?PA[c](k,M,a,l):AA(k,M,h,d);w.forEach((t=>t.opacity=+S(t)));return w}function FA(t,e){const n=new Float64Array(e),i=t.length;for(let r=0;r<i;++r)n[r]=t[r]||0;for(let r=i;r<e;++r)n[r]=n[i-1];return n}function IA(t,e){const n=new Int8Array(e),i=t.length;for(let r=0;r<i;++r)n[r]|=LA[t[r]];for(let r=i;r<e;++r)n[r]=n[i-1];return n}function BA(t){return t&&t.mark&&t.mark.marktype}function UA(t,e,n,i){const r=t=>[t.x,t.x,t.x,t.y,t.y,t.y];if(!t){return r}else if(t==="line"||t==="area"){return t=>r(t.datum)}else if(e==="line"){return t=>{const e=t.datum.items[i].items;return r(e.length?e[n==="start"?0:e.length-1]:{x:NaN,y:NaN})}}else{return t=>{const e=t.datum.bounds;return[e.x1,(e.x1+e.x2)/2,e.x2,e.y1,(e.y1+e.y2)/2,e.y2]}}}const jA=["x","y","opacity","align","baseline"];const YA=["top-left","left","bottom-left","top","bottom","top-right","right","bottom-right"];function GA(t){Di.call(this,null,t)}GA.Definition={type:"Label",metadata:{modifies:true},params:[{name:"size",type:"number",array:true,length:2,required:true},{name:"sort",type:"compare"},{name:"anchor",type:"string",array:true,default:YA},{name:"offset",type:"number",array:true,default:[1]},{name:"padding",type:"number",default:0,null:true},{name:"lineAnchor",type:"string",values:["start","end"],default:"end"},{name:"markIndex",type:"number",default:0},{name:"avoidBaseMark",type:"boolean",default:true},{name:"avoidMarks",type:"data",array:true},{name:"method",type:"string",default:"naive"},{name:"as",type:"string",array:true,length:jA.length,default:jA}]};(0,p.B)(GA,Di,{transform(t,e){function n(n){const i=t[n];return(0,p.Tn)(i)&&e.modified(i.fields)}const i=t.modified();if(!(i||e.changed(e.ADD_REM)||n("sort")))return;if(!t.size||t.size.length!==2){(0,p.z3)("Size parameter should be specified as a [width, height] array.")}const r=t.as||jA;qA(e.materialize(e.SOURCE).source||[],t.size,t.sort,(0,p.YO)(t.offset==null?1:t.offset),(0,p.YO)(t.anchor||YA),t.avoidMarks||[],t.avoidBaseMark!==false,t.lineAnchor||"end",t.markIndex||0,t.padding===undefined?0:t.padding,t.method||"naive").forEach((t=>{const e=t.datum;e[r[0]]=t.x;e[r[1]]=t.y;e[r[2]]=t.opacity;e[r[3]]=t.align;e[r[4]]=t.baseline}));return e.reflow(i).modifies(r)}});function WA(t,e){var n=[],i=function(t){return t(s)},r,o,a,s,l,u;if(e==null){n.push(t)}else{for(r={},o=0,a=t.length;o<a;++o){s=t[o];l=e.map(i);u=r[l];if(!u){r[l]=u=[];u.dims=l;n.push(u)}u.push(s)}}return n}function XA(t){Di.call(this,null,t)}XA.Definition={type:"Loess",metadata:{generates:true},params:[{name:"x",type:"field",required:true},{name:"y",type:"field",required:true},{name:"groupby",type:"field",array:true},{name:"bandwidth",type:"number",default:.3},{name:"as",type:"string",array:true}]};(0,p.B)(XA,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE|e.NO_FIELDS);if(!this.value||e.changed()||t.modified()){const i=e.materialize(e.SOURCE).source,r=WA(i,t.groupby),o=(t.groupby||[]).map(p.N6),a=o.length,s=t.as||[(0,p.N6)(t.x),(0,p.N6)(t.y)],l=[];r.forEach((e=>{Gr(e,t.x,t.y,t.bandwidth||.3).forEach((t=>{const n={};for(let i=0;i<a;++i){n[o[i]]=e.dims[i]}n[s[0]]=t[0];n[s[1]]=t[1];l.push(bn(n))}))}));if(this.value)n.rem=this.value;this.value=n.add=n.source=l}return n}});const HA={linear:Cr,log:Lr,exp:Pr,pow:qr,quad:Fr,poly:Ir};const VA=(t,e)=>t==="poly"?e:t==="quad"?2:1;function KA(t){Di.call(this,null,t)}KA.Definition={type:"Regression",metadata:{generates:true},params:[{name:"x",type:"field",required:true},{name:"y",type:"field",required:true},{name:"groupby",type:"field",array:true},{name:"method",type:"string",default:"linear",values:Object.keys(HA)},{name:"order",type:"number",default:3},{name:"extent",type:"number",array:true,length:2},{name:"params",type:"boolean",default:false},{name:"as",type:"string",array:true}]};(0,p.B)(KA,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE|e.NO_FIELDS);if(!this.value||e.changed()||t.modified()){const i=e.materialize(e.SOURCE).source,r=WA(i,t.groupby),o=(t.groupby||[]).map(p.N6),a=t.method||"linear",s=t.order||3,l=VA(a,s),u=t.as||[(0,p.N6)(t.x),(0,p.N6)(t.y)],c=HA[a],f=[];let d=t.extent;if(!(0,p.mQ)(HA,a)){(0,p.z3)("Invalid regression method: "+a)}if(d!=null){if(a==="log"&&d[0]<=0){e.dataflow.warn("Ignoring extent with values <= 0 for log regression.");d=null}}r.forEach((n=>{const i=n.length;if(i<=l){e.dataflow.warn("Skipping regression with more parameters than data points.");return}const r=c(n,t.x,t.y,s);if(t.params){f.push(bn({keys:n.dims,coef:r.coef,rSquared:r.rSquared}));return}const h=d||(0,p.Xx)(n,t.x),m=t=>{const e={};for(let i=0;i<o.length;++i){e[o[i]]=n.dims[i]}e[u[0]]=t[0];e[u[1]]=t[1];f.push(bn(e))};if(a==="linear"){h.forEach((t=>m([t,r.predict(t)])))}else{Kr(r.predict,h,25,200).forEach(m)}}));if(this.value)n.rem=this.value;this.value=n.add=n.source=f}return n}});const ZA=11102230246251565e-32;const QA=134217729;const JA=(3+8*ZA)*ZA;function t$(t,e,n,i,r){let o,a,s,l;let u=e[0];let c=i[0];let f=0;let d=0;if(c>u===c>-u){o=u;u=e[++f]}else{o=c;c=i[++d]}let h=0;if(f<t&&d<n){if(c>u===c>-u){a=u+o;s=o-(a-u);u=e[++f]}else{a=c+o;s=o-(a-c);c=i[++d]}o=a;if(s!==0){r[h++]=s}while(f<t&&d<n){if(c>u===c>-u){a=o+u;l=a-o;s=o-(a-l)+(u-l);u=e[++f]}else{a=o+c;l=a-o;s=o-(a-l)+(c-l);c=i[++d]}o=a;if(s!==0){r[h++]=s}}}while(f<t){a=o+u;l=a-o;s=o-(a-l)+(u-l);u=e[++f];o=a;if(s!==0){r[h++]=s}}while(d<n){a=o+c;l=a-o;s=o-(a-l)+(c-l);c=i[++d];o=a;if(s!==0){r[h++]=s}}if(o!==0||h===0){r[h++]=o}return h}function e$(t,e,n,i,r,o,a,s){return t$(t$(t,e,n,i,a),a,r,o,s)}function n$(t,e,n,i){let r,o,a,s,l;let u,c,f,d,h,p;c=QA*n;h=c-(c-n);p=n-h;let m=e[0];r=m*n;c=QA*m;f=c-(c-m);d=m-f;a=d*p-(r-f*h-d*h-f*p);let g=0;if(a!==0){i[g++]=a}for(let y=1;y<t;y++){m=e[y];s=m*n;c=QA*m;f=c-(c-m);d=m-f;l=d*p-(s-f*h-d*h-f*p);o=r+l;u=o-r;a=r-(o-u)+(l-u);if(a!==0){i[g++]=a}r=s+o;a=o-(r-s);if(a!==0){i[g++]=a}}if(r!==0||g===0){i[g++]=r}return g}function i$(t,e){for(let n=0;n<t;n++)e[n]=-e[n];return t}function r$(t,e){let n=e[0];for(let i=1;i<t;i++)n+=e[i];return n}function o$(t){return new Float64Array(t)}const a$=(3+16*ZA)*ZA;const s$=(2+12*ZA)*ZA;const l$=(9+64*ZA)*ZA*ZA;const u$=o$(4);const c$=o$(8);const f$=o$(12);const d$=o$(16);const h$=o$(4);function p$(t,e,n,i,r,o,a){let s,l,u,c;let f,d,h,p,m,g,y,v,b,x,_,w,k,M;const S=t-r;const E=n-r;const z=e-o;const A=i-o;x=S*A;d=QA*S;h=d-(d-S);p=S-h;d=QA*A;m=d-(d-A);g=A-m;_=p*g-(x-h*m-p*m-h*g);w=z*E;d=QA*z;h=d-(d-z);p=z-h;d=QA*E;m=d-(d-E);g=E-m;k=p*g-(w-h*m-p*m-h*g);y=_-k;f=_-y;u$[0]=_-(y+f)+(f-k);v=x+y;f=v-x;b=x-(v-f)+(y-f);y=b-w;f=b-y;u$[1]=b-(y+f)+(f-w);M=v+y;f=M-v;u$[2]=v-(M-f)+(y-f);u$[3]=M;let $=r$(4,u$);let O=s$*a;if($>=O||-$>=O){return $}f=t-S;s=t-(S+f)+(f-r);f=n-E;u=n-(E+f)+(f-r);f=e-z;l=e-(z+f)+(f-o);f=i-A;c=i-(A+f)+(f-o);if(s===0&&l===0&&u===0&&c===0){return $}O=l$*a+JA*Math.abs($);$+=S*c+A*s-(z*u+E*l);if($>=O||-$>=O)return $;x=s*A;d=QA*s;h=d-(d-s);p=s-h;d=QA*A;m=d-(d-A);g=A-m;_=p*g-(x-h*m-p*m-h*g);w=l*E;d=QA*l;h=d-(d-l);p=l-h;d=QA*E;m=d-(d-E);g=E-m;k=p*g-(w-h*m-p*m-h*g);y=_-k;f=_-y;h$[0]=_-(y+f)+(f-k);v=x+y;f=v-x;b=x-(v-f)+(y-f);y=b-w;f=b-y;h$[1]=b-(y+f)+(f-w);M=v+y;f=M-v;h$[2]=v-(M-f)+(y-f);h$[3]=M;const R=t$(4,u$,4,h$,c$);x=S*c;d=QA*S;h=d-(d-S);p=S-h;d=QA*c;m=d-(d-c);g=c-m;_=p*g-(x-h*m-p*m-h*g);w=z*u;d=QA*z;h=d-(d-z);p=z-h;d=QA*u;m=d-(d-u);g=u-m;k=p*g-(w-h*m-p*m-h*g);y=_-k;f=_-y;h$[0]=_-(y+f)+(f-k);v=x+y;f=v-x;b=x-(v-f)+(y-f);y=b-w;f=b-y;h$[1]=b-(y+f)+(f-w);M=v+y;f=M-v;h$[2]=v-(M-f)+(y-f);h$[3]=M;const D=t$(R,c$,4,h$,f$);x=s*c;d=QA*s;h=d-(d-s);p=s-h;d=QA*c;m=d-(d-c);g=c-m;_=p*g-(x-h*m-p*m-h*g);w=l*u;d=QA*l;h=d-(d-l);p=l-h;d=QA*u;m=d-(d-u);g=u-m;k=p*g-(w-h*m-p*m-h*g);y=_-k;f=_-y;h$[0]=_-(y+f)+(f-k);v=x+y;f=v-x;b=x-(v-f)+(y-f);y=b-w;f=b-y;h$[1]=b-(y+f)+(f-w);M=v+y;f=M-v;h$[2]=v-(M-f)+(y-f);h$[3]=M;const T=t$(D,f$,4,h$,d$);return d$[T-1]}function m$(t,e,n,i,r,o){const a=(e-o)*(n-r);const s=(t-r)*(i-o);const l=a-s;if(a===0||s===0||a>0!==s>0)return l;const u=Math.abs(a+s);if(Math.abs(l)>=a$*u)return l;return-p$(t,e,n,i,r,o,u)}function g$(t,e,n,i,r,o){return(e-o)*(n-r)-(t-r)*(i-o)}const y$=(7+56*ZA)*ZA;const v$=(3+28*ZA)*ZA;const b$=(26+288*ZA)*ZA*ZA;const x$=o$(4);const _$=o$(4);const w$=o$(4);const k$=o$(4);const M$=o$(4);const S$=o$(4);const E$=o$(4);const z$=o$(4);const A$=o$(4);const $$=o$(8);const O$=o$(8);const R$=o$(8);const D$=o$(4);const T$=o$(8);const N$=o$(8);const C$=o$(8);const L$=o$(12);let P$=o$(192);let q$=o$(192);function F$(t,e,n){t=sum(t,P$,e,n,q$);const i=P$;P$=q$;q$=i;return t}function I$(t,e,n,i,r,o,a,s){let l,u,c,f,d,h,p,m,g,y,v,b,x,_,w,k;if(t===0){if(e===0){a[0]=0;s[0]=0;return 1}else{k=-e;v=k*n;u=splitter*k;c=u-(u-k);f=k-c;u=splitter*n;d=u-(u-n);h=n-d;a[0]=f*h-(v-c*d-f*d-c*h);a[1]=v;v=e*r;u=splitter*e;c=u-(u-e);f=e-c;u=splitter*r;d=u-(u-r);h=r-d;s[0]=f*h-(v-c*d-f*d-c*h);s[1]=v;return 2}}else{if(e===0){v=t*i;u=splitter*t;c=u-(u-t);f=t-c;u=splitter*i;d=u-(u-i);h=i-d;a[0]=f*h-(v-c*d-f*d-c*h);a[1]=v;k=-t;v=k*o;u=splitter*k;c=u-(u-k);f=k-c;u=splitter*o;d=u-(u-o);h=o-d;s[0]=f*h-(v-c*d-f*d-c*h);s[1]=v;return 2}else{v=t*i;u=splitter*t;c=u-(u-t);f=t-c;u=splitter*i;d=u-(u-i);h=i-d;b=f*h-(v-c*d-f*d-c*h);x=e*n;u=splitter*e;c=u-(u-e);f=e-c;u=splitter*n;d=u-(u-n);h=n-d;_=f*h-(x-c*d-f*d-c*h);p=b-_;l=b-p;a[0]=b-(p+l)+(l-_);m=v+p;l=m-v;y=v-(m-l)+(p-l);p=y-x;l=y-p;a[1]=y-(p+l)+(l-x);w=m+p;l=w-m;a[2]=m-(w-l)+(p-l);a[3]=w;v=e*r;u=splitter*e;c=u-(u-e);f=e-c;u=splitter*r;d=u-(u-r);h=r-d;b=f*h-(v-c*d-f*d-c*h);x=t*o;u=splitter*t;c=u-(u-t);f=t-c;u=splitter*o;d=u-(u-o);h=o-d;_=f*h-(x-c*d-f*d-c*h);p=b-_;l=b-p;s[0]=b-(p+l)+(l-_);m=v+p;l=m-v;y=v-(m-l)+(p-l);p=y-x;l=y-p;s[1]=y-(p+l)+(l-x);w=m+p;l=w-m;s[2]=m-(w-l)+(p-l);s[3]=w;return 4}}}function B$(t,e,n,i,r){let o,a,s,l,u,c,f,d,h,p,m,g,y;m=e*n;a=splitter*e;s=a-(a-e);l=e-s;a=splitter*n;u=a-(a-n);c=n-u;g=l*c-(m-s*u-l*u-s*c);a=splitter*i;u=a-(a-i);c=i-u;f=g*i;a=splitter*g;s=a-(a-g);l=g-s;D$[0]=l*c-(f-s*u-l*u-s*c);d=m*i;a=splitter*m;s=a-(a-m);l=m-s;p=l*c-(d-s*u-l*u-s*c);h=f+p;o=h-f;D$[1]=f-(h-o)+(p-o);y=d+h;D$[2]=h-(y-d);D$[3]=y;t=F$(t,4,D$);if(r!==0){a=splitter*r;u=a-(a-r);c=r-u;f=g*r;a=splitter*g;s=a-(a-g);l=g-s;D$[0]=l*c-(f-s*u-l*u-s*c);d=m*r;a=splitter*m;s=a-(a-m);l=m-s;p=l*c-(d-s*u-l*u-s*c);h=f+p;o=h-f;D$[1]=f-(h-o)+(p-o);y=d+h;D$[2]=h-(y-d);D$[3]=y;t=F$(t,4,D$)}return t}function U$(t,e,n,i,r,o,a,s,l,u,c,f,d){let h;let p,m,g;let y,v,b;let x,_,w;let k,M,S,E,z,A,$,O,R,D,T,N,C,L,P;const q=t-u;const F=i-u;const I=a-u;const B=e-c;const U=r-c;const j=s-c;const Y=n-f;const G=o-f;const W=l-f;T=F*j;M=splitter*F;S=M-(M-F);E=F-S;M=splitter*j;z=M-(M-j);A=j-z;N=E*A-(T-S*z-E*z-S*A);C=I*U;M=splitter*I;S=M-(M-I);E=I-S;M=splitter*U;z=M-(M-U);A=U-z;L=E*A-(C-S*z-E*z-S*A);$=N-L;k=N-$;x$[0]=N-($+k)+(k-L);O=T+$;k=O-T;D=T-(O-k)+($-k);$=D-C;k=D-$;x$[1]=D-($+k)+(k-C);P=O+$;k=P-O;x$[2]=O-(P-k)+($-k);x$[3]=P;T=I*B;M=splitter*I;S=M-(M-I);E=I-S;M=splitter*B;z=M-(M-B);A=B-z;N=E*A-(T-S*z-E*z-S*A);C=q*j;M=splitter*q;S=M-(M-q);E=q-S;M=splitter*j;z=M-(M-j);A=j-z;L=E*A-(C-S*z-E*z-S*A);$=N-L;k=N-$;_$[0]=N-($+k)+(k-L);O=T+$;k=O-T;D=T-(O-k)+($-k);$=D-C;k=D-$;_$[1]=D-($+k)+(k-C);P=O+$;k=P-O;_$[2]=O-(P-k)+($-k);_$[3]=P;T=q*U;M=splitter*q;S=M-(M-q);E=q-S;M=splitter*U;z=M-(M-U);A=U-z;N=E*A-(T-S*z-E*z-S*A);C=F*B;M=splitter*F;S=M-(M-F);E=F-S;M=splitter*B;z=M-(M-B);A=B-z;L=E*A-(C-S*z-E*z-S*A);$=N-L;k=N-$;w$[0]=N-($+k)+(k-L);O=T+$;k=O-T;D=T-(O-k)+($-k);$=D-C;k=D-$;w$[1]=D-($+k)+(k-C);P=O+$;k=P-O;w$[2]=O-(P-k)+($-k);w$[3]=P;h=sum(sum(scale(4,x$,Y,T$),T$,scale(4,_$,G,N$),N$,C$),C$,scale(4,w$,W,T$),T$,P$);let X=estimate(h,P$);let H=v$*d;if(X>=H||-X>=H){return X}k=t-q;p=t-(q+k)+(k-u);k=i-F;m=i-(F+k)+(k-u);k=a-I;g=a-(I+k)+(k-u);k=e-B;y=e-(B+k)+(k-c);k=r-U;v=r-(U+k)+(k-c);k=s-j;b=s-(j+k)+(k-c);k=n-Y;x=n-(Y+k)+(k-f);k=o-G;_=o-(G+k)+(k-f);k=l-W;w=l-(W+k)+(k-f);if(p===0&&m===0&&g===0&&y===0&&v===0&&b===0&&x===0&&_===0&&w===0){return X}H=b$*d+resulterrbound*Math.abs(X);X+=Y*(F*b+j*m-(U*g+I*v))+x*(F*j-U*I)+G*(I*y+B*g-(j*p+q*b))+_*(I*B-j*q)+W*(q*v+U*p-(B*m+F*y))+w*(q*U-B*F);if(X>=H||-X>=H){return X}const V=I$(p,y,F,U,I,j,k$,M$);const K=I$(m,v,I,j,q,B,S$,E$);const Z=I$(g,b,q,B,F,U,z$,A$);const Q=sum(K,S$,Z,A$,$$);h=F$(h,scale(Q,$$,Y,C$),C$);const J=sum(Z,z$,V,M$,O$);h=F$(h,scale(J,O$,G,C$),C$);const tt=sum(V,k$,K,E$,R$);h=F$(h,scale(tt,R$,W,C$),C$);if(x!==0){h=F$(h,scale(4,x$,x,L$),L$);h=F$(h,scale(Q,$$,x,C$),C$)}if(_!==0){h=F$(h,scale(4,_$,_,L$),L$);h=F$(h,scale(J,O$,_,C$),C$)}if(w!==0){h=F$(h,scale(4,w$,w,L$),L$);h=F$(h,scale(tt,R$,w,C$),C$)}if(p!==0){if(v!==0){h=B$(h,p,v,W,w)}if(b!==0){h=B$(h,-p,b,G,_)}}if(m!==0){if(b!==0){h=B$(h,m,b,Y,x)}if(y!==0){h=B$(h,-m,y,W,w)}}if(g!==0){if(y!==0){h=B$(h,g,y,G,_)}if(v!==0){h=B$(h,-g,v,Y,x)}}return P$[h-1]}function j$(t,e,n,i,r,o,a,s,l,u,c,f){const d=t-u;const h=i-u;const p=a-u;const m=e-c;const g=r-c;const y=s-c;const v=n-f;const b=o-f;const x=l-f;const _=h*y;const w=p*g;const k=p*m;const M=d*y;const S=d*g;const E=h*m;const z=v*(_-w)+b*(k-M)+x*(S-E);const A=(Math.abs(_)+Math.abs(w))*Math.abs(v)+(Math.abs(k)+Math.abs(M))*Math.abs(b)+(Math.abs(S)+Math.abs(E))*Math.abs(x);const $=y$*A;if(z>$||-z>$){return z}return U$(t,e,n,i,r,o,a,s,l,u,c,f,A)}function Y$(t,e,n,i,r,o,a,s,l,u,c,f){const d=t-u;const h=i-u;const p=a-u;const m=e-c;const g=r-c;const y=s-c;const v=n-f;const b=o-f;const x=l-f;return d*(g*x-b*y)+h*(y*v-x*m)+p*(m*b-v*g)}const G$=(10+96*ZA)*ZA;const W$=(4+48*ZA)*ZA;const X$=(44+576*ZA)*ZA*ZA;const H$=o$(4);const V$=o$(4);const K$=o$(4);const Z$=o$(4);const Q$=o$(4);const J$=o$(4);const tO=o$(4);const eO=o$(4);const nO=o$(8);const iO=o$(8);const rO=o$(8);const oO=o$(8);const aO=o$(8);const sO=o$(8);const lO=o$(8);const uO=o$(8);const cO=o$(8);const fO=o$(4);const dO=o$(4);const hO=o$(4);const pO=o$(8);const mO=o$(16);const gO=o$(16);const yO=o$(16);const vO=o$(32);const bO=o$(32);const xO=o$(48);const _O=o$(64);let wO=o$(1152);let kO=o$(1152);function MO(t,e,n){t=sum(t,wO,e,n,kO);const i=wO;wO=kO;kO=i;return t}function SO(t,e,n,i,r,o,a,s,l){let u;let c,f,d,h,p,m;let g,y,v,b,x,_;let w,k,M;let S,E,z;let A,$;let O,R,D,T,N,C,L,P,q,F,I,B,U,j;const Y=t-a;const G=n-a;const W=r-a;const X=e-s;const H=i-s;const V=o-s;F=G*V;R=splitter*G;D=R-(R-G);T=G-D;R=splitter*V;N=R-(R-V);C=V-N;I=T*C-(F-D*N-T*N-D*C);B=W*H;R=splitter*W;D=R-(R-W);T=W-D;R=splitter*H;N=R-(R-H);C=H-N;U=T*C-(B-D*N-T*N-D*C);L=I-U;O=I-L;H$[0]=I-(L+O)+(O-U);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q-B;O=q-L;H$[1]=q-(L+O)+(O-B);j=P+L;O=j-P;H$[2]=P-(j-O)+(L-O);H$[3]=j;F=W*X;R=splitter*W;D=R-(R-W);T=W-D;R=splitter*X;N=R-(R-X);C=X-N;I=T*C-(F-D*N-T*N-D*C);B=Y*V;R=splitter*Y;D=R-(R-Y);T=Y-D;R=splitter*V;N=R-(R-V);C=V-N;U=T*C-(B-D*N-T*N-D*C);L=I-U;O=I-L;V$[0]=I-(L+O)+(O-U);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q-B;O=q-L;V$[1]=q-(L+O)+(O-B);j=P+L;O=j-P;V$[2]=P-(j-O)+(L-O);V$[3]=j;F=Y*H;R=splitter*Y;D=R-(R-Y);T=Y-D;R=splitter*H;N=R-(R-H);C=H-N;I=T*C-(F-D*N-T*N-D*C);B=G*X;R=splitter*G;D=R-(R-G);T=G-D;R=splitter*X;N=R-(R-X);C=X-N;U=T*C-(B-D*N-T*N-D*C);L=I-U;O=I-L;K$[0]=I-(L+O)+(O-U);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q-B;O=q-L;K$[1]=q-(L+O)+(O-B);j=P+L;O=j-P;K$[2]=P-(j-O)+(L-O);K$[3]=j;u=sum(sum(sum(scale(scale(4,H$,Y,pO),pO,Y,mO),mO,scale(scale(4,H$,X,pO),pO,X,gO),gO,vO),vO,sum(scale(scale(4,V$,G,pO),pO,G,mO),mO,scale(scale(4,V$,H,pO),pO,H,gO),gO,bO),bO,_O),_O,sum(scale(scale(4,K$,W,pO),pO,W,mO),mO,scale(scale(4,K$,V,pO),pO,V,gO),gO,vO),vO,wO);let K=estimate(u,wO);let Z=W$*l;if(K>=Z||-K>=Z){return K}O=t-Y;c=t-(Y+O)+(O-a);O=e-X;h=e-(X+O)+(O-s);O=n-G;f=n-(G+O)+(O-a);O=i-H;p=i-(H+O)+(O-s);O=r-W;d=r-(W+O)+(O-a);O=o-V;m=o-(V+O)+(O-s);if(c===0&&f===0&&d===0&&h===0&&p===0&&m===0){return K}Z=X$*l+resulterrbound*Math.abs(K);K+=(Y*Y+X*X)*(G*m+V*f-(H*d+W*p))+2*(Y*c+X*h)*(G*V-H*W)+((G*G+H*H)*(W*h+X*d-(V*c+Y*m))+2*(G*f+H*p)*(W*X-V*Y))+((W*W+V*V)*(Y*p+H*c-(X*f+G*h))+2*(W*d+V*m)*(Y*H-X*G));if(K>=Z||-K>=Z){return K}if(f!==0||p!==0||d!==0||m!==0){F=Y*Y;R=splitter*Y;D=R-(R-Y);T=Y-D;I=T*T-(F-D*D-(D+D)*T);B=X*X;R=splitter*X;D=R-(R-X);T=X-D;U=T*T-(B-D*D-(D+D)*T);L=I+U;O=L-I;Z$[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;Z$[1]=q-(L-O)+(B-O);j=P+L;O=j-P;Z$[2]=P-(j-O)+(L-O);Z$[3]=j}if(d!==0||m!==0||c!==0||h!==0){F=G*G;R=splitter*G;D=R-(R-G);T=G-D;I=T*T-(F-D*D-(D+D)*T);B=H*H;R=splitter*H;D=R-(R-H);T=H-D;U=T*T-(B-D*D-(D+D)*T);L=I+U;O=L-I;Q$[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;Q$[1]=q-(L-O)+(B-O);j=P+L;O=j-P;Q$[2]=P-(j-O)+(L-O);Q$[3]=j}if(c!==0||h!==0||f!==0||p!==0){F=W*W;R=splitter*W;D=R-(R-W);T=W-D;I=T*T-(F-D*D-(D+D)*T);B=V*V;R=splitter*V;D=R-(R-V);T=V-D;U=T*T-(B-D*D-(D+D)*T);L=I+U;O=L-I;J$[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;J$[1]=q-(L-O)+(B-O);j=P+L;O=j-P;J$[2]=P-(j-O)+(L-O);J$[3]=j}if(c!==0){g=scale(4,H$,c,nO);u=MO(u,sum_three(scale(g,nO,2*Y,mO),mO,scale(scale(4,J$,c,pO),pO,H,gO),gO,scale(scale(4,Q$,c,pO),pO,-V,yO),yO,vO,xO),xO)}if(h!==0){y=scale(4,H$,h,iO);u=MO(u,sum_three(scale(y,iO,2*X,mO),mO,scale(scale(4,Q$,h,pO),pO,W,gO),gO,scale(scale(4,J$,h,pO),pO,-G,yO),yO,vO,xO),xO)}if(f!==0){v=scale(4,V$,f,rO);u=MO(u,sum_three(scale(v,rO,2*G,mO),mO,scale(scale(4,Z$,f,pO),pO,V,gO),gO,scale(scale(4,J$,f,pO),pO,-X,yO),yO,vO,xO),xO)}if(p!==0){b=scale(4,V$,p,oO);u=MO(u,sum_three(scale(b,oO,2*H,mO),mO,scale(scale(4,J$,p,pO),pO,Y,gO),gO,scale(scale(4,Z$,p,pO),pO,-W,yO),yO,vO,xO),xO)}if(d!==0){x=scale(4,K$,d,aO);u=MO(u,sum_three(scale(x,aO,2*W,mO),mO,scale(scale(4,Q$,d,pO),pO,X,gO),gO,scale(scale(4,Z$,d,pO),pO,-H,yO),yO,vO,xO),xO)}if(m!==0){_=scale(4,K$,m,sO);u=MO(u,sum_three(scale(_,sO,2*V,mO),mO,scale(scale(4,Z$,m,pO),pO,G,gO),gO,scale(scale(4,Q$,m,pO),pO,-Y,yO),yO,vO,xO),xO)}if(c!==0||h!==0){if(f!==0||p!==0||d!==0||m!==0){F=f*V;R=splitter*f;D=R-(R-f);T=f-D;R=splitter*V;N=R-(R-V);C=V-N;I=T*C-(F-D*N-T*N-D*C);B=G*m;R=splitter*G;D=R-(R-G);T=G-D;R=splitter*m;N=R-(R-m);C=m-N;U=T*C-(B-D*N-T*N-D*C);L=I+U;O=L-I;tO[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;tO[1]=q-(L-O)+(B-O);j=P+L;O=j-P;tO[2]=P-(j-O)+(L-O);tO[3]=j;F=d*-H;R=splitter*d;D=R-(R-d);T=d-D;R=splitter*-H;N=R-(R- -H);C=-H-N;I=T*C-(F-D*N-T*N-D*C);B=W*-p;R=splitter*W;D=R-(R-W);T=W-D;R=splitter*-p;N=R-(R- -p);C=-p-N;U=T*C-(B-D*N-T*N-D*C);L=I+U;O=L-I;eO[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;eO[1]=q-(L-O)+(B-O);j=P+L;O=j-P;eO[2]=P-(j-O)+(L-O);eO[3]=j;k=sum(4,tO,4,eO,uO);F=f*m;R=splitter*f;D=R-(R-f);T=f-D;R=splitter*m;N=R-(R-m);C=m-N;I=T*C-(F-D*N-T*N-D*C);B=d*p;R=splitter*d;D=R-(R-d);T=d-D;R=splitter*p;N=R-(R-p);C=p-N;U=T*C-(B-D*N-T*N-D*C);L=I-U;O=I-L;dO[0]=I-(L+O)+(O-U);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q-B;O=q-L;dO[1]=q-(L+O)+(O-B);j=P+L;O=j-P;dO[2]=P-(j-O)+(L-O);dO[3]=j;E=4}else{uO[0]=0;k=1;dO[0]=0;E=1}if(c!==0){const t=scale(k,uO,c,yO);u=MO(u,sum(scale(g,nO,c,mO),mO,scale(t,yO,2*Y,vO),vO,xO),xO);const e=scale(E,dO,c,pO);u=MO(u,sum_three(scale(e,pO,2*Y,mO),mO,scale(e,pO,c,gO),gO,scale(t,yO,c,vO),vO,bO,_O),_O);if(p!==0){u=MO(u,scale(scale(4,J$,c,pO),pO,p,mO),mO)}if(m!==0){u=MO(u,scale(scale(4,Q$,-c,pO),pO,m,mO),mO)}}if(h!==0){const t=scale(k,uO,h,yO);u=MO(u,sum(scale(y,iO,h,mO),mO,scale(t,yO,2*X,vO),vO,xO),xO);const e=scale(E,dO,h,pO);u=MO(u,sum_three(scale(e,pO,2*X,mO),mO,scale(e,pO,h,gO),gO,scale(t,yO,h,vO),vO,bO,_O),_O)}}if(f!==0||p!==0){if(d!==0||m!==0||c!==0||h!==0){F=d*X;R=splitter*d;D=R-(R-d);T=d-D;R=splitter*X;N=R-(R-X);C=X-N;I=T*C-(F-D*N-T*N-D*C);B=W*h;R=splitter*W;D=R-(R-W);T=W-D;R=splitter*h;N=R-(R-h);C=h-N;U=T*C-(B-D*N-T*N-D*C);L=I+U;O=L-I;tO[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;tO[1]=q-(L-O)+(B-O);j=P+L;O=j-P;tO[2]=P-(j-O)+(L-O);tO[3]=j;A=-V;$=-m;F=c*A;R=splitter*c;D=R-(R-c);T=c-D;R=splitter*A;N=R-(R-A);C=A-N;I=T*C-(F-D*N-T*N-D*C);B=Y*$;R=splitter*Y;D=R-(R-Y);T=Y-D;R=splitter*$;N=R-(R-$);C=$-N;U=T*C-(B-D*N-T*N-D*C);L=I+U;O=L-I;eO[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;eO[1]=q-(L-O)+(B-O);j=P+L;O=j-P;eO[2]=P-(j-O)+(L-O);eO[3]=j;M=sum(4,tO,4,eO,cO);F=d*h;R=splitter*d;D=R-(R-d);T=d-D;R=splitter*h;N=R-(R-h);C=h-N;I=T*C-(F-D*N-T*N-D*C);B=c*m;R=splitter*c;D=R-(R-c);T=c-D;R=splitter*m;N=R-(R-m);C=m-N;U=T*C-(B-D*N-T*N-D*C);L=I-U;O=I-L;hO[0]=I-(L+O)+(O-U);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q-B;O=q-L;hO[1]=q-(L+O)+(O-B);j=P+L;O=j-P;hO[2]=P-(j-O)+(L-O);hO[3]=j;z=4}else{cO[0]=0;M=1;hO[0]=0;z=1}if(f!==0){const t=scale(M,cO,f,yO);u=MO(u,sum(scale(v,rO,f,mO),mO,scale(t,yO,2*G,vO),vO,xO),xO);const e=scale(z,hO,f,pO);u=MO(u,sum_three(scale(e,pO,2*G,mO),mO,scale(e,pO,f,gO),gO,scale(t,yO,f,vO),vO,bO,_O),_O);if(m!==0){u=MO(u,scale(scale(4,Z$,f,pO),pO,m,mO),mO)}if(h!==0){u=MO(u,scale(scale(4,J$,-f,pO),pO,h,mO),mO)}}if(p!==0){const t=scale(M,cO,p,yO);u=MO(u,sum(scale(b,oO,p,mO),mO,scale(t,yO,2*H,vO),vO,xO),xO);const e=scale(z,hO,p,pO);u=MO(u,sum_three(scale(e,pO,2*H,mO),mO,scale(e,pO,p,gO),gO,scale(t,yO,p,vO),vO,bO,_O),_O)}}if(d!==0||m!==0){if(c!==0||h!==0||f!==0||p!==0){F=c*H;R=splitter*c;D=R-(R-c);T=c-D;R=splitter*H;N=R-(R-H);C=H-N;I=T*C-(F-D*N-T*N-D*C);B=Y*p;R=splitter*Y;D=R-(R-Y);T=Y-D;R=splitter*p;N=R-(R-p);C=p-N;U=T*C-(B-D*N-T*N-D*C);L=I+U;O=L-I;tO[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;tO[1]=q-(L-O)+(B-O);j=P+L;O=j-P;tO[2]=P-(j-O)+(L-O);tO[3]=j;A=-X;$=-h;F=f*A;R=splitter*f;D=R-(R-f);T=f-D;R=splitter*A;N=R-(R-A);C=A-N;I=T*C-(F-D*N-T*N-D*C);B=G*$;R=splitter*G;D=R-(R-G);T=G-D;R=splitter*$;N=R-(R-$);C=$-N;U=T*C-(B-D*N-T*N-D*C);L=I+U;O=L-I;eO[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;eO[1]=q-(L-O)+(B-O);j=P+L;O=j-P;eO[2]=P-(j-O)+(L-O);eO[3]=j;w=sum(4,tO,4,eO,lO);F=c*p;R=splitter*c;D=R-(R-c);T=c-D;R=splitter*p;N=R-(R-p);C=p-N;I=T*C-(F-D*N-T*N-D*C);B=f*h;R=splitter*f;D=R-(R-f);T=f-D;R=splitter*h;N=R-(R-h);C=h-N;U=T*C-(B-D*N-T*N-D*C);L=I-U;O=I-L;fO[0]=I-(L+O)+(O-U);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q-B;O=q-L;fO[1]=q-(L+O)+(O-B);j=P+L;O=j-P;fO[2]=P-(j-O)+(L-O);fO[3]=j;S=4}else{lO[0]=0;w=1;fO[0]=0;S=1}if(d!==0){const t=scale(w,lO,d,yO);u=MO(u,sum(scale(x,aO,d,mO),mO,scale(t,yO,2*W,vO),vO,xO),xO);const e=scale(S,fO,d,pO);u=MO(u,sum_three(scale(e,pO,2*W,mO),mO,scale(e,pO,d,gO),gO,scale(t,yO,d,vO),vO,bO,_O),_O);if(h!==0){u=MO(u,scale(scale(4,Q$,d,pO),pO,h,mO),mO)}if(p!==0){u=MO(u,scale(scale(4,Z$,-d,pO),pO,p,mO),mO)}}if(m!==0){const t=scale(w,lO,m,yO);u=MO(u,sum(scale(_,sO,m,mO),mO,scale(t,yO,2*V,vO),vO,xO),xO);const e=scale(S,fO,m,pO);u=MO(u,sum_three(scale(e,pO,2*V,mO),mO,scale(e,pO,m,gO),gO,scale(t,yO,m,vO),vO,bO,_O),_O)}}return wO[u-1]}function EO(t,e,n,i,r,o,a,s){const l=t-a;const u=n-a;const c=r-a;const f=e-s;const d=i-s;const h=o-s;const p=u*h;const m=c*d;const g=l*l+f*f;const y=c*f;const v=l*h;const b=u*u+d*d;const x=l*d;const _=u*f;const w=c*c+h*h;const k=g*(p-m)+b*(y-v)+w*(x-_);const M=(Math.abs(p)+Math.abs(m))*g+(Math.abs(y)+Math.abs(v))*b+(Math.abs(x)+Math.abs(_))*w;const S=G$*M;if(k>S||-k>S){return k}return SO(t,e,n,i,r,o,a,s,M)}function zO(t,e,n,i,r,o,a,s){const l=t-a;const u=e-s;const c=n-a;const f=i-s;const d=r-a;const h=o-s;const p=l*f-c*u;const m=c*h-d*f;const g=d*u-l*h;const y=l*l+u*u;const v=c*c+f*f;const b=d*d+h*h;return y*m+v*g+b*p}const AO=(16+224*ZA)*ZA;const $O=(5+72*ZA)*ZA;const OO=(71+1408*ZA)*ZA*ZA;const RO=o$(4);const DO=o$(4);const TO=o$(4);const NO=o$(4);const CO=o$(4);const LO=o$(4);const PO=o$(4);const qO=o$(4);const FO=o$(4);const IO=o$(4);const BO=o$(24);const UO=o$(24);const jO=o$(24);const YO=o$(24);const GO=o$(24);const WO=o$(24);const XO=o$(24);const HO=o$(24);const VO=o$(24);const KO=o$(24);const ZO=o$(1152);const QO=o$(1152);const JO=o$(1152);const tR=o$(1152);const eR=o$(1152);const nR=o$(2304);const iR=o$(2304);const rR=o$(3456);const oR=o$(5760);const aR=o$(8);const sR=o$(8);const lR=o$(8);const uR=o$(16);const cR=o$(24);const fR=o$(48);const dR=o$(48);const hR=o$(96);const pR=o$(192);const mR=o$(384);const gR=o$(384);const yR=o$(384);const vR=o$(768);function bR(t,e,n,i,r,o,a){return sum_three(scale(4,t,i,aR),aR,scale(4,e,r,sR),sR,scale(4,n,o,lR),lR,uR,a)}function xR(t,e,n,i,r,o,a,s,l,u,c,f){const d=sum(sum(t,e,n,i,fR),fR,negate(sum(r,o,a,s,dR),dR),dR,hR);return sum_three(scale(scale(d,hR,l,pR),pR,l,mR),mR,scale(scale(d,hR,u,pR),pR,u,gR),gR,scale(scale(d,hR,c,pR),pR,c,yR),yR,vR,f)}function _R(t,e,n,i,r,o,a,s,l,u,c,f,d,h,p){let m,g,y,v,b,x,_,w,k,M,S,E,z,A;M=t*r;g=splitter*t;y=g-(g-t);v=t-y;g=splitter*r;b=g-(g-r);x=r-b;S=v*x-(M-y*b-v*b-y*x);E=i*e;g=splitter*i;y=g-(g-i);v=i-y;g=splitter*e;b=g-(g-e);x=e-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;RO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;RO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;RO[2]=w-(A-m)+(_-m);RO[3]=A;M=i*s;g=splitter*i;y=g-(g-i);v=i-y;g=splitter*s;b=g-(g-s);x=s-b;S=v*x-(M-y*b-v*b-y*x);E=a*r;g=splitter*a;y=g-(g-a);v=a-y;g=splitter*r;b=g-(g-r);x=r-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;DO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;DO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;DO[2]=w-(A-m)+(_-m);DO[3]=A;M=a*c;g=splitter*a;y=g-(g-a);v=a-y;g=splitter*c;b=g-(g-c);x=c-b;S=v*x-(M-y*b-v*b-y*x);E=u*s;g=splitter*u;y=g-(g-u);v=u-y;g=splitter*s;b=g-(g-s);x=s-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;TO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;TO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;TO[2]=w-(A-m)+(_-m);TO[3]=A;M=u*h;g=splitter*u;y=g-(g-u);v=u-y;g=splitter*h;b=g-(g-h);x=h-b;S=v*x-(M-y*b-v*b-y*x);E=d*c;g=splitter*d;y=g-(g-d);v=d-y;g=splitter*c;b=g-(g-c);x=c-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;NO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;NO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;NO[2]=w-(A-m)+(_-m);NO[3]=A;M=d*e;g=splitter*d;y=g-(g-d);v=d-y;g=splitter*e;b=g-(g-e);x=e-b;S=v*x-(M-y*b-v*b-y*x);E=t*h;g=splitter*t;y=g-(g-t);v=t-y;g=splitter*h;b=g-(g-h);x=h-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;CO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;CO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;CO[2]=w-(A-m)+(_-m);CO[3]=A;M=t*s;g=splitter*t;y=g-(g-t);v=t-y;g=splitter*s;b=g-(g-s);x=s-b;S=v*x-(M-y*b-v*b-y*x);E=a*e;g=splitter*a;y=g-(g-a);v=a-y;g=splitter*e;b=g-(g-e);x=e-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;LO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;LO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;LO[2]=w-(A-m)+(_-m);LO[3]=A;M=i*c;g=splitter*i;y=g-(g-i);v=i-y;g=splitter*c;b=g-(g-c);x=c-b;S=v*x-(M-y*b-v*b-y*x);E=u*r;g=splitter*u;y=g-(g-u);v=u-y;g=splitter*r;b=g-(g-r);x=r-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;PO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;PO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;PO[2]=w-(A-m)+(_-m);PO[3]=A;M=a*h;g=splitter*a;y=g-(g-a);v=a-y;g=splitter*h;b=g-(g-h);x=h-b;S=v*x-(M-y*b-v*b-y*x);E=d*s;g=splitter*d;y=g-(g-d);v=d-y;g=splitter*s;b=g-(g-s);x=s-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;qO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;qO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;qO[2]=w-(A-m)+(_-m);qO[3]=A;M=u*e;g=splitter*u;y=g-(g-u);v=u-y;g=splitter*e;b=g-(g-e);x=e-b;S=v*x-(M-y*b-v*b-y*x);E=t*c;g=splitter*t;y=g-(g-t);v=t-y;g=splitter*c;b=g-(g-c);x=c-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;FO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;FO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;FO[2]=w-(A-m)+(_-m);FO[3]=A;M=d*r;g=splitter*d;y=g-(g-d);v=d-y;g=splitter*r;b=g-(g-r);x=r-b;S=v*x-(M-y*b-v*b-y*x);E=i*h;g=splitter*i;y=g-(g-i);v=i-y;g=splitter*h;b=g-(g-h);x=h-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;IO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;IO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;IO[2]=w-(A-m)+(_-m);IO[3]=A;const $=bR(RO,DO,LO,l,n,-o,BO);const O=bR(DO,TO,PO,f,o,-l,UO);const R=bR(TO,NO,qO,p,l,-f,jO);const D=bR(NO,CO,FO,n,f,-p,YO);const T=bR(CO,RO,IO,o,p,-n,GO);const N=bR(RO,PO,FO,f,n,o,WO);const C=bR(DO,qO,IO,p,o,l,XO);const L=bR(TO,FO,LO,n,l,f,HO);const P=bR(NO,IO,PO,o,f,p,VO);const q=bR(CO,LO,qO,l,p,n,KO);const F=sum_three(xR(R,jO,C,XO,P,VO,O,UO,t,e,n,ZO),ZO,xR(D,YO,L,HO,q,KO,R,jO,i,r,o,QO),QO,sum_three(xR(T,GO,P,VO,N,WO,D,YO,a,s,l,JO),JO,xR($,BO,q,KO,C,XO,T,GO,u,c,f,tR),tR,xR(O,UO,N,WO,L,HO,$,BO,d,h,p,eR),eR,iR,rR),rR,nR,oR);return oR[F-1]}const wR=o$(96);const kR=o$(96);const MR=o$(96);const SR=o$(1152);function ER(t,e,n,i,r,o,a,s,l,u){const c=bR(t,e,n,i,r,o,cR);return sum_three(scale(scale(c,cR,a,fR),fR,a,wR),wR,scale(scale(c,cR,s,fR),fR,s,kR),kR,scale(scale(c,cR,l,fR),fR,l,MR),MR,pR,u)}function zR(t,e,n,i,r,o,a,s,l,u,c,f,d,h,p,m){let g,y,v,b,x,_;let w,k,M,S;let E,z,A,$;let O,R,D,T;let N,C,L,P,q,F,I,B,U,j,Y,G,W;const X=t-d;const H=i-d;const V=a-d;const K=u-d;const Z=e-h;const Q=r-h;const J=s-h;const tt=c-h;const et=n-p;const nt=o-p;const it=l-p;const rt=f-p;j=X*Q;C=splitter*X;L=C-(C-X);P=X-L;C=splitter*Q;q=C-(C-Q);F=Q-q;Y=P*F-(j-L*q-P*q-L*F);G=H*Z;C=splitter*H;L=C-(C-H);P=H-L;C=splitter*Z;q=C-(C-Z);F=Z-q;W=P*F-(G-L*q-P*q-L*F);I=Y-W;N=Y-I;RO[0]=Y-(I+N)+(N-W);B=j+I;N=B-j;U=j-(B-N)+(I-N);I=U-G;N=U-I;RO[1]=U-(I+N)+(N-G);g=B+I;N=g-B;RO[2]=B-(g-N)+(I-N);RO[3]=g;j=H*J;C=splitter*H;L=C-(C-H);P=H-L;C=splitter*J;q=C-(C-J);F=J-q;Y=P*F-(j-L*q-P*q-L*F);G=V*Q;C=splitter*V;L=C-(C-V);P=V-L;C=splitter*Q;q=C-(C-Q);F=Q-q;W=P*F-(G-L*q-P*q-L*F);I=Y-W;N=Y-I;DO[0]=Y-(I+N)+(N-W);B=j+I;N=B-j;U=j-(B-N)+(I-N);I=U-G;N=U-I;DO[1]=U-(I+N)+(N-G);y=B+I;N=y-B;DO[2]=B-(y-N)+(I-N);DO[3]=y;j=V*tt;C=splitter*V;L=C-(C-V);P=V-L;C=splitter*tt;q=C-(C-tt);F=tt-q;Y=P*F-(j-L*q-P*q-L*F);G=K*J;C=splitter*K;L=C-(C-K);P=K-L;C=splitter*J;q=C-(C-J);F=J-q;W=P*F-(G-L*q-P*q-L*F);I=Y-W;N=Y-I;TO[0]=Y-(I+N)+(N-W);B=j+I;N=B-j;U=j-(B-N)+(I-N);I=U-G;N=U-I;TO[1]=U-(I+N)+(N-G);v=B+I;N=v-B;TO[2]=B-(v-N)+(I-N);TO[3]=v;j=K*Z;C=splitter*K;L=C-(C-K);P=K-L;C=splitter*Z;q=C-(C-Z);F=Z-q;Y=P*F-(j-L*q-P*q-L*F);G=X*tt;C=splitter*X;L=C-(C-X);P=X-L;C=splitter*tt;q=C-(C-tt);F=tt-q;W=P*F-(G-L*q-P*q-L*F);I=Y-W;N=Y-I;FO[0]=Y-(I+N)+(N-W);B=j+I;N=B-j;U=j-(B-N)+(I-N);I=U-G;N=U-I;FO[1]=U-(I+N)+(N-G);b=B+I;N=b-B;FO[2]=B-(b-N)+(I-N);FO[3]=b;j=X*J;C=splitter*X;L=C-(C-X);P=X-L;C=splitter*J;q=C-(C-J);F=J-q;Y=P*F-(j-L*q-P*q-L*F);G=V*Z;C=splitter*V;L=C-(C-V);P=V-L;C=splitter*Z;q=C-(C-Z);F=Z-q;W=P*F-(G-L*q-P*q-L*F);I=Y-W;N=Y-I;LO[0]=Y-(I+N)+(N-W);B=j+I;N=B-j;U=j-(B-N)+(I-N);I=U-G;N=U-I;LO[1]=U-(I+N)+(N-G);x=B+I;N=x-B;LO[2]=B-(x-N)+(I-N);LO[3]=x;j=H*tt;C=splitter*H;L=C-(C-H);P=H-L;C=splitter*tt;q=C-(C-tt);F=tt-q;Y=P*F-(j-L*q-P*q-L*F);G=K*Q;C=splitter*K;L=C-(C-K);P=K-L;C=splitter*Q;q=C-(C-Q);F=Q-q;W=P*F-(G-L*q-P*q-L*F);I=Y-W;N=Y-I;PO[0]=Y-(I+N)+(N-W);B=j+I;N=B-j;U=j-(B-N)+(I-N);I=U-G;N=U-I;PO[1]=U-(I+N)+(N-G);_=B+I;N=_-B;PO[2]=B-(_-N)+(I-N);PO[3]=_;const ot=sum(sum(negate(ER(DO,TO,PO,rt,nt,-it,X,Z,et,ZO),ZO),ZO,ER(TO,FO,LO,et,it,rt,H,Q,nt,QO),QO,nR),nR,sum(negate(ER(FO,RO,PO,nt,rt,et,V,J,it,JO),JO),JO,ER(RO,DO,LO,it,et,-nt,K,tt,rt,tR),tR,iR),iR,SR);let at=estimate(ot,SR);let st=$O*m;if(at>=st||-at>=st){return at}N=t-X;w=t-(X+N)+(N-d);N=e-Z;E=e-(Z+N)+(N-h);N=n-et;O=n-(et+N)+(N-p);N=i-H;k=i-(H+N)+(N-d);N=r-Q;z=r-(Q+N)+(N-h);N=o-nt;R=o-(nt+N)+(N-p);N=a-V;M=a-(V+N)+(N-d);N=s-J;A=s-(J+N)+(N-h);N=l-it;D=l-(it+N)+(N-p);N=u-K;S=u-(K+N)+(N-d);N=c-tt;$=c-(tt+N)+(N-h);N=f-rt;T=f-(rt+N)+(N-p);if(w===0&&E===0&&O===0&&k===0&&z===0&&R===0&&M===0&&A===0&&D===0&&S===0&&$===0&&T===0){return at}st=OO*m+resulterrbound*Math.abs(at);const lt=X*z+Q*w-(Z*k+H*E);const ut=H*A+J*k-(Q*M+V*z);const ct=V*$+tt*M-(J*S+K*A);const ft=K*E+Z*S-(tt*w+X*$);const dt=X*A+J*w-(Z*M+V*E);const ht=H*$+tt*k-(Q*S+K*z);at+=(H*H+Q*Q+nt*nt)*(it*ft+rt*dt+et*ct+(D*b+T*x+O*v))+(K*K+tt*tt+rt*rt)*(et*ut-nt*dt+it*lt+(O*y-R*x+D*g))-((X*X+Z*Z+et*et)*(nt*ct-it*ht+rt*ut+(R*v-D*_+T*y))+(V*V+J*J+it*it)*(rt*lt+et*ht+nt*ft+(T*g+O*_+R*b)))+2*((H*k+Q*z+nt*R)*(it*b+rt*x+et*v)+(K*S+tt*$+rt*T)*(et*y-nt*x+it*g)-((X*w+Z*E+et*O)*(nt*v-it*_+rt*y)+(V*M+J*A+it*D)*(rt*g+et*_+nt*b)));if(at>=st||-at>=st){return at}return _R(t,e,n,i,r,o,a,s,l,u,c,f,d,h,p)}function AR(t,e,n,i,r,o,a,s,l,u,c,f,d,h,p){const m=t-d;const g=i-d;const y=a-d;const v=u-d;const b=e-h;const x=r-h;const _=s-h;const w=c-h;const k=n-p;const M=o-p;const S=l-p;const E=f-p;const z=m*x;const A=g*b;const $=z-A;const O=g*_;const R=y*x;const D=O-R;const T=y*w;const N=v*_;const C=T-N;const L=v*b;const P=m*w;const q=L-P;const F=m*_;const I=y*b;const B=F-I;const U=g*w;const j=v*x;const Y=U-j;const G=k*D-M*B+S*$;const W=M*C-S*Y+E*D;const X=S*q+E*B+k*C;const H=E*$+k*Y+M*q;const V=m*m+b*b+k*k;const K=g*g+x*x+M*M;const Z=y*y+_*_+S*S;const Q=v*v+w*w+E*E;const J=Z*H-Q*G+(V*W-K*X);const tt=Math.abs(k);const et=Math.abs(M);const nt=Math.abs(S);const it=Math.abs(E);const rt=Math.abs(z);const ot=Math.abs(A);const at=Math.abs(O);const st=Math.abs(R);const lt=Math.abs(T);const ut=Math.abs(N);const ct=Math.abs(L);const ft=Math.abs(P);const dt=Math.abs(F);const ht=Math.abs(I);const pt=Math.abs(U);const mt=Math.abs(j);const gt=((lt+ut)*et+(mt+pt)*nt+(at+st)*it)*V+((ct+ft)*nt+(dt+ht)*it+(lt+ut)*tt)*K+((rt+ot)*it+(pt+mt)*tt+(ct+ft)*et)*Z+((at+st)*tt+(ht+dt)*et+(rt+ot)*nt)*Q;const yt=AO*gt;if(J>yt||-J>yt){return J}return-zR(t,e,n,i,r,o,a,s,l,u,c,f,d,h,p,gt)}function $R(t,e,n,i,r,o,a,s,l,u,c,f,d,h,p){const m=t-d;const g=i-d;const y=a-d;const v=u-d;const b=e-h;const x=r-h;const _=s-h;const w=c-h;const k=n-p;const M=o-p;const S=l-p;const E=f-p;const z=m*x-g*b;const A=g*_-y*x;const $=y*w-v*_;const O=v*b-m*w;const R=m*_-y*b;const D=g*w-v*x;const T=k*A-M*R+S*z;const N=M*$-S*D+E*A;const C=S*O+E*R+k*$;const L=E*z+k*D+M*O;const P=m*m+b*b+k*k;const q=g*g+x*x+M*M;const F=y*y+_*_+S*S;const I=v*v+w*w+E*E;return F*L-I*T+(P*N-q*C)}const OR=Math.pow(2,-52);const RR=new Uint32Array(512);class DR{static from(t,e=IR,n=BR){const i=t.length;const r=new Float64Array(i*2);for(let o=0;o<i;o++){const i=t[o];r[2*o]=e(i);r[2*o+1]=n(i)}return new DR(r)}constructor(t){const e=t.length>>1;if(e>0&&typeof t[0]!=="number")throw new Error("Expected coords to contain numbers.");this.coords=t;const n=Math.max(2*e-5,0);this._triangles=new Uint32Array(n*3);this._halfedges=new Int32Array(n*3);this._hashSize=Math.ceil(Math.sqrt(e));this._hullPrev=new Uint32Array(e);this._hullNext=new Uint32Array(e);this._hullTri=new Uint32Array(e);this._hullHash=new Int32Array(this._hashSize).fill(-1);this._ids=new Uint32Array(e);this._dists=new Float64Array(e);this.update()}update(){const{coords:t,_hullPrev:e,_hullNext:n,_hullTri:i,_hullHash:r}=this;const o=t.length>>1;let a=Infinity;let s=Infinity;let l=-Infinity;let u=-Infinity;for(let S=0;S<o;S++){const e=t[2*S];const n=t[2*S+1];if(e<a)a=e;if(n<s)s=n;if(e>l)l=e;if(n>u)u=n;this._ids[S]=S}const c=(a+l)/2;const f=(s+u)/2;let d=Infinity;let h,p,m;for(let S=0;S<o;S++){const e=NR(c,f,t[2*S],t[2*S+1]);if(e<d){h=S;d=e}}const g=t[2*h];const y=t[2*h+1];d=Infinity;for(let S=0;S<o;S++){if(S===h)continue;const e=NR(g,y,t[2*S],t[2*S+1]);if(e<d&&e>0){p=S;d=e}}let v=t[2*p];let b=t[2*p+1];let x=Infinity;for(let S=0;S<o;S++){if(S===h||S===p)continue;const e=LR(g,y,v,b,t[2*S],t[2*S+1]);if(e<x){m=S;x=e}}let _=t[2*m];let w=t[2*m+1];if(x===Infinity){for(let i=0;i<o;i++){this._dists[i]=t[2*i]-t[0]||t[2*i+1]-t[1]}qR(this._ids,this._dists,0,o-1);const e=new Uint32Array(o);let n=0;for(let t=0,i=-Infinity;t<o;t++){const r=this._ids[t];if(this._dists[r]>i){e[n++]=r;i=this._dists[r]}}this.hull=e.subarray(0,n);this.triangles=new Uint32Array(0);this.halfedges=new Uint32Array(0);return}if(m$(g,y,v,b,_,w)<0){const t=p;const e=v;const n=b;p=m;v=_;b=w;m=t;_=e;w=n}const k=PR(g,y,v,b,_,w);this._cx=k.x;this._cy=k.y;for(let S=0;S<o;S++){this._dists[S]=NR(t[2*S],t[2*S+1],k.x,k.y)}qR(this._ids,this._dists,0,o-1);this._hullStart=h;let M=3;n[h]=e[m]=p;n[p]=e[h]=m;n[m]=e[p]=h;i[h]=0;i[p]=1;i[m]=2;r.fill(-1);r[this._hashKey(g,y)]=h;r[this._hashKey(v,b)]=p;r[this._hashKey(_,w)]=m;this.trianglesLen=0;this._addTriangle(h,p,m,-1,-1,-1);for(let S=0,E,z;S<this._ids.length;S++){const o=this._ids[S];const a=t[2*o];const s=t[2*o+1];if(S>0&&Math.abs(a-E)<=OR&&Math.abs(s-z)<=OR)continue;E=a;z=s;if(o===h||o===p||o===m)continue;let l=0;for(let t=0,e=this._hashKey(a,s);t<this._hashSize;t++){l=r[(e+t)%this._hashSize];if(l!==-1&&l!==n[l])break}l=e[l];let u=l,c;while(c=n[u],m$(a,s,t[2*u],t[2*u+1],t[2*c],t[2*c+1])>=0){u=c;if(u===l){u=-1;break}}if(u===-1)continue;let f=this._addTriangle(u,o,n[u],-1,-1,i[u]);i[o]=this._legalize(f+2);i[u]=f;M++;let d=n[u];while(c=n[d],m$(a,s,t[2*d],t[2*d+1],t[2*c],t[2*c+1])<0){f=this._addTriangle(d,o,c,i[o],-1,i[d]);i[o]=this._legalize(f+2);n[d]=d;M--;d=c}if(u===l){while(c=e[u],m$(a,s,t[2*c],t[2*c+1],t[2*u],t[2*u+1])<0){f=this._addTriangle(c,o,u,-1,i[u],i[c]);this._legalize(f+2);i[c]=f;n[u]=u;M--;u=c}}this._hullStart=e[o]=u;n[u]=e[d]=o;n[o]=d;r[this._hashKey(a,s)]=o;r[this._hashKey(t[2*u],t[2*u+1])]=u}this.hull=new Uint32Array(M);for(let S=0,E=this._hullStart;S<M;S++){this.hull[S]=E;E=n[E]}this.triangles=this._triangles.subarray(0,this.trianglesLen);this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(t,e){return Math.floor(TR(t-this._cx,e-this._cy)*this._hashSize)%this._hashSize}_legalize(t){const{_triangles:e,_halfedges:n,coords:i}=this;let r=0;let o=0;while(true){const a=n[t];const s=t-t%3;o=s+(t+2)%3;if(a===-1){if(r===0)break;t=RR[--r];continue}const l=a-a%3;const u=s+(t+1)%3;const c=l+(a+2)%3;const f=e[o];const d=e[t];const h=e[u];const p=e[c];const m=CR(i[2*f],i[2*f+1],i[2*d],i[2*d+1],i[2*h],i[2*h+1],i[2*p],i[2*p+1]);if(m){e[t]=p;e[a]=f;const i=n[c];if(i===-1){let e=this._hullStart;do{if(this._hullTri[e]===c){this._hullTri[e]=t;break}e=this._hullPrev[e]}while(e!==this._hullStart)}this._link(t,i);this._link(a,n[o]);this._link(o,c);const s=l+(a+1)%3;if(r<RR.length){RR[r++]=s}}else{if(r===0)break;t=RR[--r]}}return o}_link(t,e){this._halfedges[t]=e;if(e!==-1)this._halfedges[e]=t}_addTriangle(t,e,n,i,r,o){const a=this.trianglesLen;this._triangles[a]=t;this._triangles[a+1]=e;this._triangles[a+2]=n;this._link(a,i);this._link(a+1,r);this._link(a+2,o);this.trianglesLen+=3;return a}}function TR(t,e){const n=t/(Math.abs(t)+Math.abs(e));return(e>0?3-n:1+n)/4}function NR(t,e,n,i){const r=t-n;const o=e-i;return r*r+o*o}function CR(t,e,n,i,r,o,a,s){const l=t-a;const u=e-s;const c=n-a;const f=i-s;const d=r-a;const h=o-s;const p=l*l+u*u;const m=c*c+f*f;const g=d*d+h*h;return l*(f*g-m*h)-u*(c*g-m*d)+p*(c*h-f*d)<0}function LR(t,e,n,i,r,o){const a=n-t;const s=i-e;const l=r-t;const u=o-e;const c=a*a+s*s;const f=l*l+u*u;const d=.5/(a*u-s*l);const h=(u*c-s*f)*d;const p=(a*f-l*c)*d;return h*h+p*p}function PR(t,e,n,i,r,o){const a=n-t;const s=i-e;const l=r-t;const u=o-e;const c=a*a+s*s;const f=l*l+u*u;const d=.5/(a*u-s*l);const h=t+(u*c-s*f)*d;const p=e+(a*f-l*c)*d;return{x:h,y:p}}function qR(t,e,n,i){if(i-n<=20){for(let r=n+1;r<=i;r++){const i=t[r];const o=e[i];let a=r-1;while(a>=n&&e[t[a]]>o)t[a+1]=t[a--];t[a+1]=i}}else{const r=n+i>>1;let o=n+1;let a=i;FR(t,r,o);if(e[t[n]]>e[t[i]])FR(t,n,i);if(e[t[o]]>e[t[i]])FR(t,o,i);if(e[t[n]]>e[t[o]])FR(t,n,o);const s=t[o];const l=e[s];while(true){do{o++}while(e[t[o]]<l);do{a--}while(e[t[a]]>l);if(a<o)break;FR(t,o,a)}t[n+1]=t[a];t[a]=s;if(i-o+1>=a-n){qR(t,e,o,i);qR(t,e,n,a-1)}else{qR(t,e,n,a-1);qR(t,e,o,i)}}}function FR(t,e,n){const i=t[e];t[e]=t[n];t[n]=i}function IR(t){return t[0]}function BR(t){return t[1]}const UR=1e-6;class jR{constructor(){this._x0=this._y0=this._x1=this._y1=null;this._=""}moveTo(t,e){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}`}closePath(){if(this._x1!==null){this._x1=this._x0,this._y1=this._y0;this._+="Z"}}lineTo(t,e){this._+=`L${this._x1=+t},${this._y1=+e}`}arc(t,e,n){t=+t,e=+e,n=+n;const i=t+n;const r=e;if(n<0)throw new Error("negative radius");if(this._x1===null)this._+=`M${i},${r}`;else if(Math.abs(this._x1-i)>UR||Math.abs(this._y1-r)>UR)this._+="L"+i+","+r;if(!n)return;this._+=`A${n},${n},0,1,1,${t-n},${e}A${n},${n},0,1,1,${this._x1=i},${this._y1=r}`}rect(t,e,n,i){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${+n}v${+i}h${-n}Z`}value(){return this._||null}}class YR{constructor(){this._=[]}moveTo(t,e){this._.push([t,e])}closePath(){this._.push(this._[0].slice())}lineTo(t,e){this._.push([t,e])}value(){return this._.length?this._:null}}class GR{constructor(t,[e,n,i,r]=[0,0,960,500]){if(!((i=+i)>=(e=+e))||!((r=+r)>=(n=+n)))throw new Error("invalid bounds");this.delaunay=t;this._circumcenters=new Float64Array(t.points.length*2);this.vectors=new Float64Array(t.points.length*2);this.xmax=i,this.xmin=e;this.ymax=r,this.ymin=n;this._init()}update(){this.delaunay.update();this._init();return this}_init(){const{delaunay:{points:t,hull:e,triangles:n},vectors:i}=this;let r,o;const a=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let p=0,m=0,g=n.length,y,v;p<g;p+=3,m+=2){const i=n[p]*2;const s=n[p+1]*2;const l=n[p+2]*2;const u=t[i];const c=t[i+1];const f=t[s];const d=t[s+1];const h=t[l];const g=t[l+1];const b=f-u;const x=d-c;const _=h-u;const w=g-c;const k=(b*w-x*_)*2;if(Math.abs(k)<1e-9){if(r===undefined){r=o=0;for(const n of e)r+=t[n*2],o+=t[n*2+1];r/=e.length,o/=e.length}const n=1e9*Math.sign((r-u)*w-(o-c)*_);y=(u+h)/2-n*w;v=(c+g)/2+n*_}else{const t=1/k;const e=b*b+x*x;const n=_*_+w*w;y=u+(w*e-x*n)*t;v=c+(b*n-_*e)*t}a[m]=y;a[m+1]=v}let s=e[e.length-1];let l,u=s*4;let c,f=t[2*s];let d,h=t[2*s+1];i.fill(0);for(let p=0;p<e.length;++p){s=e[p];l=u,c=f,d=h;u=s*4,f=t[2*s],h=t[2*s+1];i[l+2]=i[u]=d-h;i[l+3]=i[u+1]=f-c}}render(t){const e=t==null?t=new jR:undefined;const{delaunay:{halfedges:n,inedges:i,hull:r},circumcenters:o,vectors:a}=this;if(r.length<=1)return null;for(let u=0,c=n.length;u<c;++u){const e=n[u];if(e<u)continue;const i=Math.floor(u/3)*2;const r=Math.floor(e/3)*2;const a=o[i];const s=o[i+1];const l=o[r];const c=o[r+1];this._renderSegment(a,s,l,c,t)}let s,l=r[r.length-1];for(let u=0;u<r.length;++u){s=l,l=r[u];const e=Math.floor(i[l]/3)*2;const n=o[e];const c=o[e+1];const f=s*4;const d=this._project(n,c,a[f+2],a[f+3]);if(d)this._renderSegment(n,c,d[0],d[1],t)}return e&&e.value()}renderBounds(t){const e=t==null?t=new jR:undefined;t.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin);return e&&e.value()}renderCell(t,e){const n=e==null?e=new jR:undefined;const i=this._clip(t);if(i===null||!i.length)return;e.moveTo(i[0],i[1]);let r=i.length;while(i[0]===i[r-2]&&i[1]===i[r-1]&&r>1)r-=2;for(let o=2;o<r;o+=2){if(i[o]!==i[o-2]||i[o+1]!==i[o-1])e.lineTo(i[o],i[o+1])}e.closePath();return n&&n.value()}*cellPolygons(){const{delaunay:{points:t}}=this;for(let e=0,n=t.length/2;e<n;++e){const t=this.cellPolygon(e);if(t)t.index=e,yield t}}cellPolygon(t){const e=new YR;this.renderCell(t,e);return e.value()}_renderSegment(t,e,n,i,r){let o;const a=this._regioncode(t,e);const s=this._regioncode(n,i);if(a===0&&s===0){r.moveTo(t,e);r.lineTo(n,i)}else if(o=this._clipSegment(t,e,n,i,a,s)){r.moveTo(o[0],o[1]);r.lineTo(o[2],o[3])}}contains(t,e,n){if((e=+e,e!==e)||(n=+n,n!==n))return false;return this.delaunay._step(t,e,n)===t}*neighbors(t){const e=this._clip(t);if(e)for(const n of this.delaunay.neighbors(t)){const t=this._clip(n);if(t)t:for(let i=0,r=e.length;i<r;i+=2){for(let o=0,a=t.length;o<a;o+=2){if(e[i]===t[o]&&e[i+1]===t[o+1]&&e[(i+2)%r]===t[(o+a-2)%a]&&e[(i+3)%r]===t[(o+a-1)%a]){yield n;break t}}}}}_cell(t){const{circumcenters:e,delaunay:{inedges:n,halfedges:i,triangles:r}}=this;const o=n[t];if(o===-1)return null;const a=[];let s=o;do{const n=Math.floor(s/3);a.push(e[n*2],e[n*2+1]);s=s%3===2?s-2:s+1;if(r[s]!==t)break;s=i[s]}while(s!==o&&s!==-1);return a}_clip(t){if(t===0&&this.delaunay.hull.length===1){return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin]}const e=this._cell(t);if(e===null)return null;const{vectors:n}=this;const i=t*4;return this._simplify(n[i]||n[i+1]?this._clipInfinite(t,e,n[i],n[i+1],n[i+2],n[i+3]):this._clipFinite(t,e))}_clipFinite(t,e){const n=e.length;let i=null;let r,o,a=e[n-2],s=e[n-1];let l,u=this._regioncode(a,s);let c,f=0;for(let d=0;d<n;d+=2){r=a,o=s,a=e[d],s=e[d+1];l=u,u=this._regioncode(a,s);if(l===0&&u===0){c=f,f=0;if(i)i.push(a,s);else i=[a,s]}else{let e,n,d,h,p;if(l===0){if((e=this._clipSegment(r,o,a,s,l,u))===null)continue;[n,d,h,p]=e}else{if((e=this._clipSegment(a,s,r,o,u,l))===null)continue;[h,p,n,d]=e;c=f,f=this._edgecode(n,d);if(c&&f)this._edge(t,c,f,i,i.length);if(i)i.push(n,d);else i=[n,d]}c=f,f=this._edgecode(h,p);if(c&&f)this._edge(t,c,f,i,i.length);if(i)i.push(h,p);else i=[h,p]}}if(i){c=f,f=this._edgecode(i[0],i[1]);if(c&&f)this._edge(t,c,f,i,i.length)}else if(this.contains(t,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)){return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin]}return i}_clipSegment(t,e,n,i,r,o){const a=r<o;if(a)[t,e,n,i,r,o]=[n,i,t,e,o,r];while(true){if(r===0&&o===0)return a?[n,i,t,e]:[t,e,n,i];if(r&o)return null;let s,l,u=r||o;if(u&8)s=t+(n-t)*(this.ymax-e)/(i-e),l=this.ymax;else if(u&4)s=t+(n-t)*(this.ymin-e)/(i-e),l=this.ymin;else if(u&2)l=e+(i-e)*(this.xmax-t)/(n-t),s=this.xmax;else l=e+(i-e)*(this.xmin-t)/(n-t),s=this.xmin;if(r)t=s,e=l,r=this._regioncode(t,e);else n=s,i=l,o=this._regioncode(n,i)}}_clipInfinite(t,e,n,i,r,o){let a=Array.from(e),s;if(s=this._project(a[0],a[1],n,i))a.unshift(s[0],s[1]);if(s=this._project(a[a.length-2],a[a.length-1],r,o))a.push(s[0],s[1]);if(a=this._clipFinite(t,a)){for(let e=0,n=a.length,i,r=this._edgecode(a[n-2],a[n-1]);e<n;e+=2){i=r,r=this._edgecode(a[e],a[e+1]);if(i&&r)e=this._edge(t,i,r,a,e),n=a.length}}else if(this.contains(t,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)){a=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]}return a}_edge(t,e,n,i,r){while(e!==n){let n,o;switch(e){case 5:e=4;continue;case 4:e=6,n=this.xmax,o=this.ymin;break;case 6:e=2;continue;case 2:e=10,n=this.xmax,o=this.ymax;break;case 10:e=8;continue;case 8:e=9,n=this.xmin,o=this.ymax;break;case 9:e=1;continue;case 1:e=5,n=this.xmin,o=this.ymin;break}if((i[r]!==n||i[r+1]!==o)&&this.contains(t,n,o)){i.splice(r,0,n,o),r+=2}}return r}_project(t,e,n,i){let r=Infinity,o,a,s;if(i<0){if(e<=this.ymin)return null;if((o=(this.ymin-e)/i)<r)s=this.ymin,a=t+(r=o)*n}else if(i>0){if(e>=this.ymax)return null;if((o=(this.ymax-e)/i)<r)s=this.ymax,a=t+(r=o)*n}if(n>0){if(t>=this.xmax)return null;if((o=(this.xmax-t)/n)<r)a=this.xmax,s=e+(r=o)*i}else if(n<0){if(t<=this.xmin)return null;if((o=(this.xmin-t)/n)<r)a=this.xmin,s=e+(r=o)*i}return[a,s]}_edgecode(t,e){return(t===this.xmin?1:t===this.xmax?2:0)|(e===this.ymin?4:e===this.ymax?8:0)}_regioncode(t,e){return(t<this.xmin?1:t>this.xmax?2:0)|(e<this.ymin?4:e>this.ymax?8:0)}_simplify(t){if(t&&t.length>4){for(let e=0;e<t.length;e+=2){const n=(e+2)%t.length,i=(e+4)%t.length;if(t[e]===t[n]&&t[n]===t[i]||t[e+1]===t[n+1]&&t[n+1]===t[i+1]){t.splice(n,2),e-=2}}if(!t.length)t=null}return t}}const WR=2*Math.PI,XR=Math.pow;function HR(t){return t[0]}function VR(t){return t[1]}function KR(t){const{triangles:e,coords:n}=t;for(let i=0;i<e.length;i+=3){const t=2*e[i],r=2*e[i+1],o=2*e[i+2],a=(n[o]-n[t])*(n[r+1]-n[t+1])-(n[r]-n[t])*(n[o+1]-n[t+1]);if(a>1e-10)return false}return true}function ZR(t,e,n){return[t+Math.sin(t+e)*n,e+Math.cos(t-e)*n]}class QR{static from(t,e=HR,n=VR,i){return new QR("length"in t?JR(t,e,n,i):Float64Array.from(tD(t,e,n,i)))}constructor(t){this._delaunator=new DR(t);this.inedges=new Int32Array(t.length/2);this._hullIndex=new Int32Array(t.length/2);this.points=this._delaunator.coords;this._init()}update(){this._delaunator.update();this._init();return this}_init(){const t=this._delaunator,e=this.points;if(t.hull&&t.hull.length>2&&KR(t)){this.collinear=Int32Array.from({length:e.length/2},((t,e)=>e)).sort(((t,n)=>e[2*t]-e[2*n]||e[2*t+1]-e[2*n+1]));const t=this.collinear[0],n=this.collinear[this.collinear.length-1],i=[e[2*t],e[2*t+1],e[2*n],e[2*n+1]],r=1e-8*Math.hypot(i[3]-i[1],i[2]-i[0]);for(let o=0,a=e.length/2;o<a;++o){const t=ZR(e[2*o],e[2*o+1],r);e[2*o]=t[0];e[2*o+1]=t[1]}this._delaunator=new DR(e)}else{delete this.collinear}const n=this.halfedges=this._delaunator.halfedges;const i=this.hull=this._delaunator.hull;const r=this.triangles=this._delaunator.triangles;const o=this.inedges.fill(-1);const a=this._hullIndex.fill(-1);for(let s=0,l=n.length;s<l;++s){const t=r[s%3===2?s-2:s+1];if(n[s]===-1||o[t]===-1)o[t]=s}for(let s=0,l=i.length;s<l;++s){a[i[s]]=s}if(i.length<=2&&i.length>0){this.triangles=new Int32Array(3).fill(-1);this.halfedges=new Int32Array(3).fill(-1);this.triangles[0]=i[0];o[i[0]]=1;if(i.length===2){o[i[1]]=0;this.triangles[1]=i[1];this.triangles[2]=i[1]}}}voronoi(t){return new GR(this,t)}*neighbors(t){const{inedges:e,hull:n,_hullIndex:i,halfedges:r,triangles:o,collinear:a}=this;if(a){const e=a.indexOf(t);if(e>0)yield a[e-1];if(e<a.length-1)yield a[e+1];return}const s=e[t];if(s===-1)return;let l=s,u=-1;do{yield u=o[l];l=l%3===2?l-2:l+1;if(o[l]!==t)return;l=r[l];if(l===-1){const e=n[(i[t]+1)%n.length];if(e!==u)yield e;return}}while(l!==s)}find(t,e,n=0){if((t=+t,t!==t)||(e=+e,e!==e))return-1;const i=n;let r;while((r=this._step(n,t,e))>=0&&r!==n&&r!==i)n=r;return r}_step(t,e,n){const{inedges:i,hull:r,_hullIndex:o,halfedges:a,triangles:s,points:l}=this;if(i[t]===-1||!l.length)return(t+1)%(l.length>>1);let u=t;let c=XR(e-l[t*2],2)+XR(n-l[t*2+1],2);const f=i[t];let d=f;do{let i=s[d];const f=XR(e-l[i*2],2)+XR(n-l[i*2+1],2);if(f<c)c=f,u=i;d=d%3===2?d-2:d+1;if(s[d]!==t)break;d=a[d];if(d===-1){d=r[(o[t]+1)%r.length];if(d!==i){if(XR(e-l[d*2],2)+XR(n-l[d*2+1],2)<c)return d}break}}while(d!==f);return u}render(t){const e=t==null?t=new jR:undefined;const{points:n,halfedges:i,triangles:r}=this;for(let o=0,a=i.length;o<a;++o){const e=i[o];if(e<o)continue;const a=r[o]*2;const s=r[e]*2;t.moveTo(n[a],n[a+1]);t.lineTo(n[s],n[s+1])}this.renderHull(t);return e&&e.value()}renderPoints(t,e){if(e===undefined&&(!t||typeof t.moveTo!=="function"))e=t,t=null;e=e==undefined?2:+e;const n=t==null?t=new jR:undefined;const{points:i}=this;for(let r=0,o=i.length;r<o;r+=2){const n=i[r],o=i[r+1];t.moveTo(n+e,o);t.arc(n,o,e,0,WR)}return n&&n.value()}renderHull(t){const e=t==null?t=new jR:undefined;const{hull:n,points:i}=this;const r=n[0]*2,o=n.length;t.moveTo(i[r],i[r+1]);for(let a=1;a<o;++a){const e=2*n[a];t.lineTo(i[e],i[e+1])}t.closePath();return e&&e.value()}hullPolygon(){const t=new YR;this.renderHull(t);return t.value()}renderTriangle(t,e){const n=e==null?e=new jR:undefined;const{points:i,triangles:r}=this;const o=r[t*=3]*2;const a=r[t+1]*2;const s=r[t+2]*2;e.moveTo(i[o],i[o+1]);e.lineTo(i[a],i[a+1]);e.lineTo(i[s],i[s+1]);e.closePath();return n&&n.value()}*trianglePolygons(){const{triangles:t}=this;for(let e=0,n=t.length/3;e<n;++e){yield this.trianglePolygon(e)}}trianglePolygon(t){const e=new YR;this.renderTriangle(t,e);return e.value()}}function JR(t,e,n,i){const r=t.length;const o=new Float64Array(r*2);for(let a=0;a<r;++a){const r=t[a];o[a*2]=e.call(i,r,a,t);o[a*2+1]=n.call(i,r,a,t)}return o}function*tD(t,e,n,i){let r=0;for(const o of t){yield e.call(i,o,r,t);yield n.call(i,o,r,t);++r}}function eD(t){Di.call(this,null,t)}eD.Definition={type:"Voronoi",metadata:{modifies:true},params:[{name:"x",type:"field",required:true},{name:"y",type:"field",required:true},{name:"size",type:"number",array:true,length:2},{name:"extent",type:"array",array:true,length:2,default:[[-1e5,-1e5],[1e5,1e5]],content:{type:"number",array:true,length:2}},{name:"as",type:"string",default:"path"}]};const nD=[-1e5,-1e5,1e5,1e5];(0,p.B)(eD,Di,{transform(t,e){const n=t.as||"path",i=e.source;if(!i||!i.length)return e;let r=t.size;r=r?[0,0,r[0],r[1]]:(r=t.extent)?[r[0][0],r[0][1],r[1][0],r[1][1]]:nD;const o=this.value=QR.from(i,t.x,t.y).voronoi(r);for(let a=0,s=i.length;a<s;++a){const t=o.cellPolygon(a);i[a][n]=t?iD(t):null}return e.reflow(t.modified()).modifies(n)}});function iD(t){const e=t[0][0],n=t[0][1];let i=t.length-1;for(;t[i][0]===e&&t[i][1]===n;--i);return"M"+t.slice(0,i+1).join("L")+"Z"}var rD=Math.PI/180,oD=1<<11>>5,aD=1<<11;function sD(){var t=[256,256],e,n,i,r,o,a,s,l=dD,u=[],c=Math.random,f={};f.layout=function(){var l=d(Ks()),f=pD((t[0]>>5)*t[1]),p=null,m=u.length,g=-1,y=[],v=u.map((t=>({text:e(t),font:n(t),style:r(t),weight:o(t),rotate:a(t),size:~~(i(t)+1e-14),padding:s(t),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:false,sprite:null,datum:t}))).sort(((t,e)=>e.size-t.size));while(++g<m){var b=v[g];b.x=t[0]*(c()+.5)>>1;b.y=t[1]*(c()+.5)>>1;lD(l,b,v,g);if(b.hasText&&h(f,b,p)){y.push(b);if(p)cD(p,b);else p=[{x:b.x+b.x0,y:b.y+b.y0},{x:b.x+b.x1,y:b.y+b.y1}];b.x-=t[0]>>1;b.y-=t[1]>>1}}return y};function d(t){t.width=t.height=1;var e=Math.sqrt(t.getContext("2d").getImageData(0,0,1,1).data.length>>2);t.width=(oD<<5)/e;t.height=aD/e;var n=t.getContext("2d");n.fillStyle=n.strokeStyle="red";n.textAlign="center";return{context:n,ratio:e}}function h(e,n,i){var r=n.x,o=n.y,a=Math.sqrt(t[0]*t[0]+t[1]*t[1]),s=l(t),u=c()<.5?1:-1,f=-u,d,h,p;while(d=s(f+=u)){h=~~d[0];p=~~d[1];if(Math.min(Math.abs(h),Math.abs(p))>=a)break;n.x=r+h;n.y=o+p;if(n.x+n.x0<0||n.y+n.y0<0||n.x+n.x1>t[0]||n.y+n.y1>t[1])continue;if(!i||!uD(n,e,t[0])){if(!i||fD(n,i)){var m=n.sprite,g=n.width>>5,y=t[0]>>5,v=n.x-(g<<4),b=v&127,x=32-b,_=n.y1-n.y0,w=(n.y+n.y0)*y+(v>>5),k;for(var M=0;M<_;M++){k=0;for(var S=0;S<=g;S++){e[w+S]|=k<<x|(S<g?(k=m[M*g+S])>>>b:0)}w+=y}n.sprite=null;return true}}}return false}f.words=function(t){if(arguments.length){u=t;return f}else{return u}};f.size=function(e){if(arguments.length){t=[+e[0],+e[1]];return f}else{return t}};f.font=function(t){if(arguments.length){n=mD(t);return f}else{return n}};f.fontStyle=function(t){if(arguments.length){r=mD(t);return f}else{return r}};f.fontWeight=function(t){if(arguments.length){o=mD(t);return f}else{return o}};f.rotate=function(t){if(arguments.length){a=mD(t);return f}else{return a}};f.text=function(t){if(arguments.length){e=mD(t);return f}else{return e}};f.spiral=function(t){if(arguments.length){l=gD[t]||t;return f}else{return l}};f.fontSize=function(t){if(arguments.length){i=mD(t);return f}else{return i}};f.padding=function(t){if(arguments.length){s=mD(t);return f}else{return s}};f.random=function(t){if(arguments.length){c=t;return f}else{return c}};return f}function lD(t,e,n,i){if(e.sprite)return;var r=t.context,o=t.ratio;r.clearRect(0,0,(oD<<5)/o,aD/o);var a=0,s=0,l=0,u=n.length,c,f,d,h,p;--i;while(++i<u){e=n[i];r.save();r.font=e.style+" "+e.weight+" "+~~((e.size+1)/o)+"px "+e.font;c=r.measureText(e.text+"m").width*o;d=e.size<<1;if(e.rotate){var m=Math.sin(e.rotate*rD),g=Math.cos(e.rotate*rD),y=c*g,v=c*m,b=d*g,x=d*m;c=Math.max(Math.abs(y+x),Math.abs(y-x))+31>>5<<5;d=~~Math.max(Math.abs(v+b),Math.abs(v-b))}else{c=c+31>>5<<5}if(d>l)l=d;if(a+c>=oD<<5){a=0;s+=l;l=0}if(s+d>=aD)break;r.translate((a+(c>>1))/o,(s+(d>>1))/o);if(e.rotate)r.rotate(e.rotate*rD);r.fillText(e.text,0,0);if(e.padding){r.lineWidth=2*e.padding;r.strokeText(e.text,0,0)}r.restore();e.width=c;e.height=d;e.xoff=a;e.yoff=s;e.x1=c>>1;e.y1=d>>1;e.x0=-e.x1;e.y0=-e.y1;e.hasText=true;a+=c}var _=r.getImageData(0,0,(oD<<5)/o,aD/o).data,w=[];while(--i>=0){e=n[i];if(!e.hasText)continue;c=e.width;f=c>>5;d=e.y1-e.y0;for(h=0;h<d*f;h++)w[h]=0;a=e.xoff;if(a==null)return;s=e.yoff;var k=0,M=-1;for(p=0;p<d;p++){for(h=0;h<c;h++){var S=f*p+(h>>5),E=_[(s+p)*(oD<<5)+(a+h)<<2]?1<<31-h%32:0;w[S]|=E;k|=E}if(k)M=p;else{e.y0++;d--;p--;s++}}e.y1=e.y0+M;e.sprite=w.slice(0,(e.y1-e.y0)*f)}}function uD(t,e,n){n>>=5;var i=t.sprite,r=t.width>>5,o=t.x-(r<<4),a=o&127,s=32-a,l=t.y1-t.y0,u=(t.y+t.y0)*n+(o>>5),c;for(var f=0;f<l;f++){c=0;for(var d=0;d<=r;d++){if((c<<s|(d<r?(c=i[f*r+d])>>>a:0))&e[u+d])return true}u+=n}return false}function cD(t,e){var n=t[0],i=t[1];if(e.x+e.x0<n.x)n.x=e.x+e.x0;if(e.y+e.y0<n.y)n.y=e.y+e.y0;if(e.x+e.x1>i.x)i.x=e.x+e.x1;if(e.y+e.y1>i.y)i.y=e.y+e.y1}function fD(t,e){return t.x+t.x1>e[0].x&&t.x+t.x0<e[1].x&&t.y+t.y1>e[0].y&&t.y+t.y0<e[1].y}function dD(t){var e=t[0]/t[1];return function(t){return[e*(t*=.1)*Math.cos(t),t*Math.sin(t)]}}function hD(t){var e=4,n=e*t[0]/t[1],i=0,r=0;return function(t){var o=t<0?-1:1;switch(Math.sqrt(1+4*o*t)-o&3){case 0:i+=n;break;case 1:r+=e;break;case 2:i-=n;break;default:r-=e;break}return[i,r]}}function pD(t){var e=[],n=-1;while(++n<t)e[n]=0;return e}function mD(t){return typeof t==="function"?t:function(){return t}}var gD={archimedean:dD,rectangular:hD};const yD=["x","y","font","fontSize","fontStyle","fontWeight","angle"];const vD=["text","font","rotate","fontSize","fontStyle","fontWeight"];function bD(t){Di.call(this,sD(),t)}bD.Definition={type:"Wordcloud",metadata:{modifies:true},params:[{name:"size",type:"number",array:true,length:2},{name:"font",type:"string",expr:true,default:"sans-serif"},{name:"fontStyle",type:"string",expr:true,default:"normal"},{name:"fontWeight",type:"string",expr:true,default:"normal"},{name:"fontSize",type:"number",expr:true,default:14},{name:"fontSizeRange",type:"number",array:"nullable",default:[10,50]},{name:"rotate",type:"number",expr:true,default:0},{name:"text",type:"field"},{name:"spiral",type:"string",values:["archimedean","rectangular"]},{name:"padding",type:"number",expr:true},{name:"as",type:"string",array:true,length:7,default:yD}]};(0,p.B)(bD,Di,{transform(t,e){if(t.size&&!(t.size[0]&&t.size[1])){(0,p.z3)("Wordcloud size dimensions must be non-zero.")}function n(n){const i=t[n];return(0,p.Tn)(i)&&e.modified(i.fields)}const i=t.modified();if(!(i||e.changed(e.ADD_REM)||vD.some(n)))return;const r=e.materialize(e.SOURCE).source,o=this.value,a=t.as||yD;let s=t.fontSize||14,l;(0,p.Tn)(s)?l=t.fontSizeRange:s=(0,p.dY)(s);if(l){const t=s,e=Tu("sqrt")().domain((0,p.Xx)(r,t)).range(l);s=n=>e(t(n))}r.forEach((t=>{t[a[0]]=NaN;t[a[1]]=NaN;t[a[3]]=0}));const u=o.words(r).text(t.text).size(t.size||[500,500]).padding(t.padding||1).spiral(t.spiral||"archimedean").rotate(t.rotate||0).font(t.font||"sans-serif").fontStyle(t.fontStyle||"normal").fontWeight(t.fontWeight||"normal").fontSize(s).random(ir).layout();const c=o.size(),f=c[0]>>1,d=c[1]>>1,h=u.length;for(let p=0,m,g;p<h;++p){m=u[p];g=m.datum;g[a[0]]=m.x+f;g[a[1]]=m.y+d;g[a[2]]=m.font;g[a[3]]=m.size;g[a[4]]=m.style;g[a[5]]=m.weight;g[a[6]]=m.rotate}return e.reflow(i).modifies(a)}});function xD(t,e){return Array.from(e,(e=>t[e]))}const _D=t=>new Uint8Array(t);const wD=t=>new Uint16Array(t);const kD=t=>new Uint32Array(t);function MD(){let t=8,e=[],n=kD(0),i=ED(0,t),r=ED(0,t);return{data:()=>e,seen:()=>n=SD(n,e.length),add(t){for(let n=0,i=e.length,r=t.length,o;n<r;++n){o=t[n];o._index=i++;e.push(o)}},remove(t,n){const o=e.length,a=Array(o-t),s=e;let l,u,c;for(u=0;!n[u]&&u<o;++u){a[u]=e[u];s[u]=u}for(c=u;u<o;++u){l=e[u];if(!n[u]){s[u]=c;i[c]=i[u];r[c]=r[u];a[c]=l;l._index=c++}else{s[u]=-1}i[u]=0}e=a;return s},size:()=>e.length,curr:()=>i,prev:()=>r,reset:t=>r[t]=i[t],all:()=>t<257?255:t<65537?65535:4294967295,set(t,e){i[t]|=e},clear(t,e){i[t]&=~e},resize(e,n){const o=i.length;if(e>o||n>t){t=Math.max(n,t);i=ED(e,t,i);r=ED(e,t)}}}}function SD(t,e,n){if(t.length>=e)return t;n=n||new t.constructor(e);n.set(t);return n}function ED(t,e,n){const i=(e<257?_D:e<65537?wD:kD)(t);if(n)i.set(n);return i}function zD(t,e,n){const i=1<<e;return{one:i,zero:~i,range:n.slice(),bisect:t.bisect,index:t.index,size:t.size,onAdd(t,e){const n=this,r=n.bisect(n.range,t.value),o=t.index,a=r[0],s=r[1],l=o.length;let u;for(u=0;u<a;++u)e[o[u]]|=i;for(u=s;u<l;++u)e[o[u]]|=i;return n}}}function AD(){let t=kD(0),e=[],n=0;function i(i,r,o){if(!r.length)return[];const a=n,s=r.length,l=kD(s);let u=Array(s),c,f,d;for(d=0;d<s;++d){u[d]=i(r[d]);l[d]=d}u=$D(u,l);if(a){c=e;f=t;e=Array(a+s);t=kD(a+s);OD(o,c,f,a,u,l,s,e,t)}else{if(o>0)for(d=0;d<s;++d){l[d]+=o}e=u;t=l}n=a+s;return{index:l,value:u}}function r(i,r){const o=n;let a,s,l;for(s=0;!r[t[s]]&&s<o;++s);for(l=s;s<o;++s){if(!r[a=t[s]]){t[l]=a;e[l]=e[s];++l}}n=o-i}function o(e){for(let i=0,r=n;i<r;++i){t[i]=e[t[i]]}}function a(t,i){let r;if(i){r=i.length}else{i=e;r=n}return[(0,Qs.ah)(i,t[0],0,r),(0,Qs.Jj)(i,t[1],0,r)]}return{insert:i,remove:r,bisect:a,reindex:o,index:()=>t,size:()=>n}}function $D(t,e){t.sort.call(e,((e,n)=>{const i=t[e],r=t[n];return i<r?-1:i>r?1:0}));return xD(t,e)}function OD(t,e,n,i,r,o,a,s,l){let u=0,c=0,f;for(f=0;u<i&&c<a;++f){if(e[u]<r[c]){s[f]=e[u];l[f]=n[u++]}else{s[f]=r[c];l[f]=o[c++]+t}}for(;u<i;++u,++f){s[f]=e[u];l[f]=n[u]}for(;c<a;++c,++f){s[f]=r[c];l[f]=o[c]+t}}function RD(t){Di.call(this,MD(),t);this._indices=null;this._dims=null}RD.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:true,required:true},{name:"query",type:"array",array:true,required:true,content:{type:"number",array:true,length:2}}]};(0,p.B)(RD,Di,{transform(t,e){if(!this._dims){return this.init(t,e)}else{var n=t.modified("fields")||t.fields.some((t=>e.modified(t.fields)));return n?this.reinit(t,e):this.eval(t,e)}},init(t,e){const n=t.fields,i=t.query,r=this._indices={},o=this._dims=[],a=i.length;let s=0,l,u;for(;s<a;++s){l=n[s].fname;u=r[l]||(r[l]=AD());o.push(zD(u,s,i[s]))}return this.eval(t,e)},reinit(t,e){const n=e.materialize().fork(),i=t.fields,r=t.query,o=this._indices,a=this._dims,s=this.value,l=s.curr(),u=s.prev(),c=s.all(),f=n.rem=n.add,d=n.mod,h=r.length,p={};let m,g,y,v,b,x,_,w,k;u.set(l);if(e.rem.length){b=this.remove(t,e,n)}if(e.add.length){s.add(e.add)}if(e.mod.length){x={};for(v=e.mod,_=0,w=v.length;_<w;++_){x[v[_]._index]=1}}for(_=0;_<h;++_){k=i[_];if(!a[_]||t.modified("fields",_)||e.modified(k.fields)){y=k.fname;if(!(m=p[y])){o[y]=g=AD();p[y]=m=g.insert(k,e.source,0)}a[_]=zD(g,_,r[_]).onAdd(m,l)}}for(_=0,w=s.data().length;_<w;++_){if(b[_]){continue}else if(u[_]!==l[_]){f.push(_)}else if(x[_]&&l[_]!==c){d.push(_)}}s.mask=(1<<h)-1;return n},eval(t,e){const n=e.materialize().fork(),i=this._dims.length;let r=0;if(e.rem.length){this.remove(t,e,n);r|=(1<<i)-1}if(t.modified("query")&&!t.modified("fields")){r|=this.update(t,e,n)}if(e.add.length){this.insert(t,e,n);r|=(1<<i)-1}if(e.mod.length){this.modify(e,n);r|=(1<<i)-1}this.value.mask=r;return n},insert(t,e,n){const i=e.add,r=this.value,o=this._dims,a=this._indices,s=t.fields,l={},u=n.add,c=r.size()+i.length,f=o.length;let d=r.size(),h,p,m;r.resize(c,f);r.add(i);const g=r.curr(),y=r.prev(),v=r.all();for(h=0;h<f;++h){p=s[h].fname;m=l[p]||(l[p]=a[p].insert(s[h],i,d));o[h].onAdd(m,g)}for(;d<c;++d){y[d]=v;if(g[d]!==v)u.push(d)}},modify(t,e){const n=e.mod,i=this.value,r=i.curr(),o=i.all(),a=t.mod;let s,l,u;for(s=0,l=a.length;s<l;++s){u=a[s]._index;if(r[u]!==o)n.push(u)}},remove(t,e,n){const i=this._indices,r=this.value,o=r.curr(),a=r.prev(),s=r.all(),l={},u=n.rem,c=e.rem;let f,d,h,p;for(f=0,d=c.length;f<d;++f){h=c[f]._index;l[h]=1;a[h]=p=o[h];o[h]=s;if(p!==s)u.push(h)}for(h in i){i[h].remove(d,l)}this.reindex(e,d,l);return l},reindex(t,e,n){const i=this._indices,r=this.value;t.runAfter((()=>{const t=r.remove(e,n);for(const e in i)i[e].reindex(t)}))},update(t,e,n){const i=this._dims,r=t.query,o=e.stamp,a=i.length;let s=0,l,u;n.filters=0;for(u=0;u<a;++u){if(t.modified("query",u)){l=u;++s}}if(s===1){s=i[l].one;this.incrementOne(i[l],r[l],n.add,n.rem)}else{for(u=0,s=0;u<a;++u){if(!t.modified("query",u))continue;s|=i[u].one;this.incrementAll(i[u],r[u],o,n.add);n.rem=n.add}}return s},incrementAll(t,e,n,i){const r=this.value,o=r.seen(),a=r.curr(),s=r.prev(),l=t.index(),u=t.bisect(t.range),c=t.bisect(e),f=c[0],d=c[1],h=u[0],p=u[1],m=t.one;let g,y,v;if(f<h){for(g=f,y=Math.min(h,d);g<y;++g){v=l[g];if(o[v]!==n){s[v]=a[v];o[v]=n;i.push(v)}a[v]^=m}}else if(f>h){for(g=h,y=Math.min(f,p);g<y;++g){v=l[g];if(o[v]!==n){s[v]=a[v];o[v]=n;i.push(v)}a[v]^=m}}if(d>p){for(g=Math.max(f,p),y=d;g<y;++g){v=l[g];if(o[v]!==n){s[v]=a[v];o[v]=n;i.push(v)}a[v]^=m}}else if(d<p){for(g=Math.max(h,d),y=p;g<y;++g){v=l[g];if(o[v]!==n){s[v]=a[v];o[v]=n;i.push(v)}a[v]^=m}}t.range=e.slice()},incrementOne(t,e,n,i){const r=this.value,o=r.curr(),a=t.index(),s=t.bisect(t.range),l=t.bisect(e),u=l[0],c=l[1],f=s[0],d=s[1],h=t.one;let p,m,g;if(u<f){for(p=u,m=Math.min(f,c);p<m;++p){g=a[p];o[g]^=h;n.push(g)}}else if(u>f){for(p=f,m=Math.min(u,d);p<m;++p){g=a[p];o[g]^=h;i.push(g)}}if(c>d){for(p=Math.max(u,d),m=c;p<m;++p){g=a[p];o[g]^=h;n.push(g)}}else if(c<d){for(p=Math.max(f,c),m=d;p<m;++p){g=a[p];o[g]^=h;i.push(g)}}t.range=e.slice()}});function DD(t){Di.call(this,null,t)}DD.Definition={type:"ResolveFilter",metadata:{},params:[{name:"ignore",type:"number",required:true,description:"A bit mask indicating which filters to ignore."},{name:"filter",type:"object",required:true,description:"Per-tuple filter bitmaps from a CrossFilter transform."}]};(0,p.B)(DD,Di,{transform(t,e){const n=~(t.ignore||0),i=t.filter,r=i.mask;if((r&n)===0)return e.StopPropagation;const o=e.fork(e.ALL),a=i.data(),s=i.curr(),l=i.prev(),u=t=>!(s[t]&n)?a[t]:null;o.filter(o.MOD,u);if(!(r&r-1)){o.filter(o.ADD,u);o.filter(o.REM,(t=>(s[t]&n)===r?a[t]:null))}else{o.filter(o.ADD,(t=>{const e=s[t]&n,i=!e&&e^l[t]&n;return i?a[t]:null}));o.filter(o.REM,(t=>{const e=s[t]&n,i=e&&!(e^(e^l[t]&n));return i?a[t]:null}))}return o.filter(o.SOURCE,(t=>u(t._index)))}});var TD=n(21720);var ND=new Ib;var CD=new Ib,LD,PD,qD,FD,ID;var BD={point:px,lineStart:px,lineEnd:px,polygonStart:function(){ND=new Ib;BD.lineStart=UD;BD.lineEnd=jD},polygonEnd:function(){var t=+ND;CD.add(t<0?Hb+t:t);this.lineStart=this.lineEnd=this.point=px},sphere:function(){CD.add(Hb)}};function UD(){BD.point=YD}function jD(){GD(LD,PD)}function YD(t,e){BD.point=GD;LD=t,PD=e;t*=Kb,e*=Kb;qD=t,FD=tx(e=e/2+Xb),ID=sx(e)}function GD(t,e){t*=Kb,e*=Kb;e=e/2+Xb;var n=t-qD,i=n>=0?1:-1,r=i*n,o=tx(e),a=sx(e),s=ID*a,l=FD*o+s*tx(r),u=s*i*sx(r);ND.add(Jb(u,l));qD=t,FD=o,ID=a}function WD(t){CD=new Ib;Fb(t,BD);return CD*2}var XD,HD,VD,KD,ZD,QD,JD,tT,eT,nT,iT;var rT={point:oT,lineStart:sT,lineEnd:lT,polygonStart:function(){rT.point=uT;rT.lineStart=cT;rT.lineEnd=fT;eT=new Ib;BD.polygonStart()},polygonEnd:function(){BD.polygonEnd();rT.point=oT;rT.lineStart=sT;rT.lineEnd=lT;if(ND<0)XD=-(VD=180),HD=-(KD=90);else if(eT>jb)KD=90;else if(eT<-jb)HD=-90;iT[0]=XD,iT[1]=VD},sphere:function(){XD=-(VD=180),HD=-(KD=90)}};function oT(t,e){nT.push(iT=[XD=t,VD=t]);if(e<HD)HD=e;if(e>KD)KD=e}function aT(t,e){var n=$_([t*Kb,e*Kb]);if(tT){var i=R_(tT,n),r=[i[1],-i[0],0],o=R_(r,i);N_(o);o=A_(o);var a=t-ZD,s=a>0?1:-1,l=o[0]*Vb*s,u,c=Zb(a)>180;if(c^(s*ZD<l&&l<s*t)){u=o[1]*Vb;if(u>KD)KD=u}else if(l=(l+360)%360-180,c^(s*ZD<l&&l<s*t)){u=-o[1]*Vb;if(u<HD)HD=u}else{if(e<HD)HD=e;if(e>KD)KD=e}if(c){if(t<ZD){if(dT(XD,t)>dT(XD,VD))VD=t}else{if(dT(t,VD)>dT(XD,VD))XD=t}}else{if(VD>=XD){if(t<XD)XD=t;if(t>VD)VD=t}else{if(t>ZD){if(dT(XD,t)>dT(XD,VD))VD=t}else{if(dT(t,VD)>dT(XD,VD))XD=t}}}}else{nT.push(iT=[XD=t,VD=t])}if(e<HD)HD=e;if(e>KD)KD=e;tT=n,ZD=t}function sT(){rT.point=aT}function lT(){iT[0]=XD,iT[1]=VD;rT.point=oT;tT=null}function uT(t,e){if(tT){var n=t-ZD;eT.add(Zb(n)>180?n+(n>0?360:-360):n)}else{QD=t,JD=e}BD.point(t,e);aT(t,e)}function cT(){BD.lineStart()}function fT(){uT(QD,JD);BD.lineEnd();if(Zb(eT)>jb)XD=-(VD=180);iT[0]=XD,iT[1]=VD;tT=null}function dT(t,e){return(e-=t)<0?e+360:e}function hT(t,e){return t[0]-e[0]}function pT(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}function mT(t){var e,n,i,r,o,a,s;KD=VD=-(XD=HD=Infinity);nT=[];Fb(t,rT);if(n=nT.length){nT.sort(hT);for(e=1,i=nT[0],o=[i];e<n;++e){r=nT[e];if(pT(i,r[0])||pT(i,r[1])){if(dT(i[0],r[1])>dT(i[0],i[1]))i[1]=r[1];if(dT(r[0],i[1])>dT(i[0],i[1]))i[0]=r[0]}else{o.push(i=r)}}for(a=-Infinity,n=o.length-1,e=0,i=o[n];e<=n;i=r,++e){r=o[e];if((s=dT(i[1],r[0]))>a)a=s,XD=r[0],VD=i[1]}}nT=iT=null;return XD===Infinity||HD===Infinity?[[NaN,NaN],[NaN,NaN]]:[[XD,HD],[VD,KD]]}var gT,yT,vT,bT,xT,_T,wT,kT,MT,ST,ET,zT,AT,$T,OT,RT;var DT={sphere:px,point:TT,lineStart:CT,lineEnd:qT,polygonStart:function(){DT.lineStart=FT;DT.lineEnd=IT},polygonEnd:function(){DT.lineStart=CT;DT.lineEnd=qT}};function TT(t,e){t*=Kb,e*=Kb;var n=tx(e);NT(n*tx(t),n*sx(t),sx(e))}function NT(t,e,n){++gT;vT+=(t-vT)/gT;bT+=(e-bT)/gT;xT+=(n-xT)/gT}function CT(){DT.point=LT}function LT(t,e){t*=Kb,e*=Kb;var n=tx(e);$T=n*tx(t);OT=n*sx(t);RT=sx(e);DT.point=PT;NT($T,OT,RT)}function PT(t,e){t*=Kb,e*=Kb;var n=tx(e),i=n*tx(t),r=n*sx(t),o=sx(e),a=Jb(ux((a=OT*o-RT*r)*a+(a=RT*i-$T*o)*a+(a=$T*r-OT*i)*a),$T*i+OT*r+RT*o);yT+=a;_T+=a*($T+($T=i));wT+=a*(OT+(OT=r));kT+=a*(RT+(RT=o));NT($T,OT,RT)}function qT(){DT.point=TT}function FT(){DT.point=BT}function IT(){UT(zT,AT);DT.point=TT}function BT(t,e){zT=t,AT=e;t*=Kb,e*=Kb;DT.point=UT;var n=tx(e);$T=n*tx(t);OT=n*sx(t);RT=sx(e);NT($T,OT,RT)}function UT(t,e){t*=Kb,e*=Kb;var n=tx(e),i=n*tx(t),r=n*sx(t),o=sx(e),a=OT*o-RT*r,s=RT*i-$T*o,l=$T*r-OT*i,u=rx(a,s,l),c=dx(u),f=u&&-c/u;MT.add(f*a);ST.add(f*s);ET.add(f*l);yT+=c;_T+=c*($T+($T=i));wT+=c*(OT+(OT=r));kT+=c*(RT+(RT=o));NT($T,OT,RT)}function jT(t){gT=yT=vT=bT=xT=_T=wT=kT=0;MT=new Ib;ST=new Ib;ET=new Ib;Fb(t,DT);var e=+MT,n=+ST,i=+ET,r=rx(e,n,i);if(r<Yb){e=_T,n=wT,i=kT;if(yT<jb)e=vT,n=bT,i=xT;r=rx(e,n,i);if(r<Yb)return[NaN,NaN]}return[Jb(n,e)*Vb,dx(i/r)*Vb]}var YT=n(14180);var GT=n(30352);function WT(...t){const e=new GT.v;for(const n of t){for(const t of n){e.add(t)}}return e}function XT(t,...e){t=new GT.v(t);e=e.map(HT);t:for(const n of t){for(const i of e){if(!i.has(n)){t.delete(n);continue t}}}return t}function HT(t){return t instanceof GT.v?t:new GT.v(t)}const VT="intersect";const KT="union";const ZT="vlMulti";const QT="vlPoint";const JT="or";const tN="and";const eN="_vgsid_";const nN=(0,p.ZZ)(eN);const iN="E",rN="R",oN="R-E",aN="R-LE",sN="R-RE",lN="index:unit";function uN(t,e){var n=e.fields,i=e.values,r=n.length,o=0,a,s;for(;o<r;++o){s=n[o];s.getter=p.ZZ.getter||(0,p.ZZ)(s.field);a=s.getter(t);if((0,p.$P)(a))a=(0,p.Ro)(a);if((0,p.$P)(i[o]))i[o]=(0,p.Ro)(i[o]);if((0,p.$P)(i[o][0]))i[o]=i[o].map(p.Ro);if(s.type===iN){if((0,p.cy)(i[o])?i[o].indexOf(a)<0:a!==i[o]){return false}}else{if(s.type===rN){if(!(0,p.PK)(a,i[o]))return false}else if(s.type===sN){if(!(0,p.PK)(a,i[o],true,false))return false}else if(s.type===oN){if(!(0,p.PK)(a,i[o],false,false))return false}else if(s.type===aN){if(!(0,p.PK)(a,i[o],false,true))return false}}}return true}function cN(t,e,n){var i=this.context.data[t],r=i?i.values.value:[],o=i?i[lN]&&i[lN].value:undefined,a=n===VT,s=r.length,l=0,u,c,f,d,h;for(;l<s;++l){u=r[l];if(o&&a){c=c||{};f=c[d=u.unit]||0;if(f===-1)continue;h=uN(e,u);c[d]=h?-1:++f;if(h&&o.size===1)return true;if(!h&&f===o.get(d).count)return false}else{h=uN(e,u);if(a^h)return h}}return s&&a}const fN=(0,Q.A)(nN),dN=fN.left,hN=fN.right;function pN(t,e,n){const i=this.context.data[t],r=i?i.values.value:[],o=i?i[lN]&&i[lN].value:undefined,a=n===VT,s=nN(e),l=dN(r,s);if(l===r.length)return false;if(nN(r[l])!==s)return false;if(o&&a){if(o.size===1)return true;if(hN(r,s)-l<o.size)return false}return true}function mN(t,e){return t.map((t=>(0,p.X$)(e.fields?{values:e.fields.map((e=>(e.getter||(e.getter=(0,p.ZZ)(e.field)))(t.datum)))}:{[eN]:nN(t.datum)},e)))}function gN(t,e,n,i){var r=this.context.data[t],o=r?r.values.value:[],a={},s={},l={},u,c,f,d,h,m,g,y,v,b,x=o.length,_=0,w,k;for(;_<x;++_){u=o[_];d=u.unit;c=u.fields;f=u.values;if(c&&f){for(w=0,k=c.length;w<k;++w){h=c[w];g=a[h.field]||(a[h.field]={});y=g[d]||(g[d]=[]);l[h.field]=v=h.type.charAt(0);b=yN[`${v}_union`];g[d]=b(y,(0,p.YO)(f[w]))}if(n){y=s[d]||(s[d]=[]);y.push((0,p.YO)(f).reduce(((t,e,n)=>(t[c[n].field]=e,t)),{}))}}else{h=eN;m=nN(u);g=a[h]||(a[h]={});y=g[d]||(g[d]=[]);y.push(m);if(n){y=s[d]||(s[d]=[]);y.push({[eN]:m})}}}e=e||KT;if(a[eN]){a[eN]=yN[`${eN}_${e}`](...Object.values(a[eN]))}else{Object.keys(a).forEach((t=>{a[t]=Object.keys(a[t]).map((e=>a[t][e])).reduce(((n,i)=>n===undefined?i:yN[`${l[t]}_${e}`](n,i)))}))}o=Object.keys(s);if(n&&o.length){const t=i?QT:ZT;a[t]=e===KT?{[JT]:o.reduce(((t,e)=>(t.push(...s[e]),t)),[])}:{[tN]:o.map((t=>({[JT]:s[t]})))}}return a}var yN={[`${eN}_union`]:WT,[`${eN}_intersect`]:XT,E_union:function(t,e){if(!t.length)return e;var n=0,i=e.length;for(;n<i;++n)if(t.indexOf(e[n])<0)t.push(e[n]);return t},E_intersect:function(t,e){return!t.length?e:t.filter((t=>e.indexOf(t)>=0))},R_union:function(t,e){var n=(0,p.Ro)(e[0]),i=(0,p.Ro)(e[1]);if(n>i){n=e[1];i=e[0]}if(!t.length)return[n,i];if(t[0]>n)t[0]=n;if(t[1]<i)t[1]=i;return t},R_intersect:function(t,e){var n=(0,p.Ro)(e[0]),i=(0,p.Ro)(e[1]);if(n>i){n=e[1];i=e[0]}if(!t.length)return[n,i];if(i<t[0]||t[1]<n){return[]}else{if(t[0]<n)t[0]=n;if(t[1]>i)t[1]=i}return t}};const vN=":",bN="@";function xN(t,e,n,i){if(e[0].type!==TD.uS)(0,p.z3)("First argument to selection functions must be a string literal.");const r=e[0].value,o=e.length>=2&&(0,p.se)(e).value,a="unit",s=bN+a,l=vN+r;if(o===VT&&!(0,p.mQ)(i,s)){i[s]=n.getData(r).indataRef(n,a)}if(!(0,p.mQ)(i,l)){i[l]=n.getData(r).tuplesRef()}}function _N(t){const e=this.context.data[t];return e?e.values.value:[]}function wN(t,e,n){const i=this.context.data[t]["index:"+e],r=i?i.value.get(n):undefined;return r?r.count:r}function kN(t,e){const n=this.context.dataflow,i=this.context.data[t],r=i.input;n.pulse(r,n.changeset().remove(p.vN).insert(e));return 1}function MN(t,e,n){if(t){const n=this.context.dataflow,i=t.mark.source;n.pulse(i,n.changeset().encode(t,e))}return n!==undefined?n:t}const SN=t=>function(e,n){const i=this.context.dataflow.locale();return i[t](n)(e)};const EN=SN("format");const zN=SN("timeFormat");const AN=SN("utcFormat");const $N=SN("timeParse");const ON=SN("utcParse");const RN=new Date(2e3,0,1);function DN(t,e,n){if(!Number.isInteger(t)||!Number.isInteger(e))return"";RN.setYear(2e3);RN.setMonth(t);RN.setDate(e);return zN.call(this,RN,n)}function TN(t){return DN.call(this,t,1,"%B")}function NN(t){return DN.call(this,t,1,"%b")}function CN(t){return DN.call(this,0,2+t,"%A")}function LN(t){return DN.call(this,0,2+t,"%a")}const PN=":";const qN="@";const FN="%";const IN="$";function BN(t,e,n,i){if(e[0].type!==TD.uS){(0,p.z3)("First argument to data functions must be a string literal.")}const r=e[0].value,o=PN+r;if(!(0,p.mQ)(o,i)){try{i[o]=n.getData(r).tuplesRef()}catch(a){}}}function UN(t,e,n,i){if(e[0].type!==TD.uS)(0,p.z3)("First argument to indata must be a string literal.");if(e[1].type!==TD.uS)(0,p.z3)("Second argument to indata must be a string literal.");const r=e[0].value,o=e[1].value,a=qN+o;if(!(0,p.mQ)(a,i)){i[a]=n.getData(r).indataRef(n,o)}}function jN(t,e,n,i){if(e[0].type===TD.uS){YN(n,i,e[0].value)}else{for(t in n.scales){YN(n,i,t)}}}function YN(t,e,n){const i=FN+n;if(!(0,p.mQ)(e,i)){try{e[i]=t.scaleRef(n)}catch(r){}}}function GN(t,e){if((0,p.Tn)(t)){return t}if((0,p.Kg)(t)){const n=e.scales[t];return n&&Ru(n.value)?n.value:undefined}return undefined}function WN(t,e,n){e.__bandwidth=t=>t&&t.bandwidth?t.bandwidth():0;n._bandwidth=jN;n._range=jN;n._scale=jN;const i=e=>"_["+(e.type===TD.uS?(0,p.r$)(FN+e.value):(0,p.r$)(FN)+"+"+t(e))+"]";return{_bandwidth:t=>`this.__bandwidth(${i(t[0])})`,_range:t=>`${i(t[0])}.range()`,_scale:e=>`${i(e[0])}(${t(e[1])})`}}function XN(t,e){return function(n,i,r){if(n){const e=GN(n,(r||this).context);return e&&e.path[t](i)}else{return e(i)}}}const HN=XN("area",WD);const VN=XN("bounds",mT);const KN=XN("centroid",jT);function ZN(t){const e=this.context.group;let n=false;if(e)while(t){if(t===e){n=true;break}t=t.mark.group}return n}function QN(t,e,n){try{t[e].apply(t,["EXPRESSION"].concat([].slice.call(n)))}catch(i){t.warn(i)}return n[n.length-1]}function JN(){return QN(this.context.dataflow,"warn",arguments)}function tC(){return QN(this.context.dataflow,"info",arguments)}function eC(){return QN(this.context.dataflow,"debug",arguments)}function nC(t){const e=t/255;if(e<=.03928){return e/12.92}return Math.pow((e+.055)/1.055,2.4)}function iC(t){const e=(0,uM.Qh)(t),n=nC(e.r),i=nC(e.g),r=nC(e.b);return.2126*n+.7152*i+.0722*r}function rC(t,e){const n=iC(t),i=iC(e),r=Math.max(n,i),o=Math.min(n,i);return(r+.05)/(o+.05)}function oC(){const t=[].slice.call(arguments);t.unshift({});return(0,p.X$)(...t)}function aC(t,e){return t===e||t!==t&&e!==e?true:(0,p.cy)(t)?(0,p.cy)(e)&&t.length===e.length?sC(t,e):false:(0,p.Gv)(t)&&(0,p.Gv)(e)?lC(t,e):false}function sC(t,e){for(let n=0,i=t.length;n<i;++n){if(!aC(t[n],e[n]))return false}return true}function lC(t,e){for(const n in t){if(!aC(t[n],e[n]))return false}return true}function uC(t){return e=>lC(t,e)}function cC(t,e,n,i,r,o){const a=this.context.dataflow,s=this.context.data[t],l=s.input,u=a.stamp();let c=s.changes,f,d;if(a._trigger===false||!(l.value.length||e||i)){return 0}if(!c||c.stamp<u){s.changes=c=a.changeset();c.stamp=u;a.runAfter((()=>{s.modified=true;a.pulse(l,c).run()}),true,1)}if(n){f=n===true?p.vN:(0,p.cy)(n)||gn(n)?n:uC(n);c.remove(f)}if(e){c.insert(e)}if(i){f=uC(i);if(l.value.some(f)){c.remove(f)}else{c.insert(i)}}if(r){for(d in o){c.modify(r,d,o[d])}}return 1}function fC(t){const e=t.touches,n=e[0].clientX-e[1].clientX,i=e[0].clientY-e[1].clientY;return Math.sqrt(n*n+i*i)}function dC(t){const e=t.touches;return Math.atan2(e[0].clientY-e[1].clientY,e[0].clientX-e[1].clientX)}const hC={};function pC(t,e){const n=hC[e]||(hC[e]=(0,p.ZZ)(e));return(0,p.cy)(t)?t.map(n):n(t)}function mC(t){return(0,p.cy)(t)||ArrayBuffer.isView(t)?t:null}function gC(t){return mC(t)||((0,p.Kg)(t)?t:null)}function yC(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++){n[i-1]=arguments[i]}return mC(t).join(...n)}function vC(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++){n[i-1]=arguments[i]}return gC(t).indexOf(...n)}function bC(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++){n[i-1]=arguments[i]}return gC(t).lastIndexOf(...n)}function xC(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++){n[i-1]=arguments[i]}return gC(t).slice(...n)}function _C(t,e,n){if((0,p.Tn)(n))(0,p.z3)("Function argument passed to replace.");return String(t).replace(e,n)}function wC(t){return mC(t).slice().reverse()}function kC(t,e,n){return Kl(t||0,e||0,n||0)}function MC(t,e){const n=GN(t,(e||this).context);return n&&n.bandwidth?n.bandwidth():0}function SC(t,e){const n=GN(t,(e||this).context);return n?n.copy():undefined}function EC(t,e){const n=GN(t,(e||this).context);return n?n.domain():[]}function zC(t,e,n){const i=GN(t,(n||this).context);return!i?undefined:(0,p.cy)(e)?(i.invertRange||i.invert)(e):(i.invert||i.invertExtent)(e)}function AC(t,e){const n=GN(t,(e||this).context);return n&&n.range?n.range():[]}function $C(t,e,n){const i=GN(t,(n||this).context);return i?i(e):undefined}function OC(t,e,n,i,r){t=GN(t,(r||this).context);const o=Lc(e,n);let a=t.domain(),s=a[0],l=(0,p.se)(a),u=p.D_;if(!(l-s)){t=(t.interpolator?Tu("sequential")().interpolator(t.interpolator()):Tu("linear")().interpolate(t.interpolate()).range(t.range())).domain([s=0,l=1])}else{u=Hu(t,s,l)}if(t.ticks){a=t.ticks(+i||15);if(s!==a[0])a.unshift(s);if(l!==(0,p.se)(a))a.push(l)}a.forEach((e=>o.stop(u(e),t(e))));return o}function RC(t,e,n){const i=GN(t,(n||this).context);return function(t){return i?i.path.context(t)(e):""}}function DC(t){let e=null;return function(n){return n?of(n,e=e||Yc(t)):t}}const TC=t=>t.data;function NC(t,e){const n=_N.call(e,t);return n.root&&n.root.lookup||{}}function CC(t,e,n){const i=NC(t,this),r=i[e],o=i[n];return r&&o?r.path(o).map(TC):undefined}function LC(t,e){const n=NC(t,this)[e];return n?n.ancestors().map(TC):undefined}const PC=()=>typeof window!=="undefined"&&window||null;function qC(){const t=PC();return t?t.screen:{}}function FC(){const t=PC();return t?[t.innerWidth,t.innerHeight]:[undefined,undefined]}function IC(){const t=this.context.dataflow,e=t.container&&t.container();return e?[e.clientWidth,e.clientHeight]:[undefined,undefined]}function BC(t,e,n){if(!t)return[];const[i,r]=t,o=(new ad).set(i[0],i[1],r[0],r[1]),a=n||this.context.dataflow.scenegraph().root;return Yg(a,o,UC(e))}function UC(t){let e=null;if(t){const n=(0,p.YO)(t.marktype),i=(0,p.YO)(t.markname);e=t=>(!n.length||n.some((e=>t.marktype===e)))&&(!i.length||i.some((e=>t.name===e)))}return e}function jC(t,e,n){let i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:5;t=(0,p.YO)(t);const r=t[t.length-1];return r===undefined||Math.sqrt((r[0]-e)**2+(r[1]-n)**2)>i?[...t,[e,n]]:t}function YC(t){return(0,p.YO)(t).reduce(((e,n,i)=>{let[r,o]=n;return e+=i==0?`M ${r},${o} `:i===t.length-1?" Z":`L ${r},${o} `}),"")}function GC(t,e,n){const{x:i,y:r,mark:o}=n;const a=(new ad).set(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,Number.MIN_SAFE_INTEGER,Number.MIN_SAFE_INTEGER);for(const[l,u]of e){if(l<a.x1)a.x1=l;if(l>a.x2)a.x2=l;if(u<a.y1)a.y1=u;if(u>a.y2)a.y2=u}a.translate(i,r);const s=BC([[a.x1,a.y1],[a.x2,a.y2]],t,o);return s.filter((t=>WC(t.x,t.y,e)))}function WC(t,e,n){let i=0;for(let r=0,o=n.length-1;r<n.length;o=r++){const[a,s]=n[o];const[l,u]=n[r];if(u>e!=s>e&&t<(a-l)*(e-u)/(s-u)+l){i++}}return i&1}const XC={random(){return ir()},cumulativeNormal:mr,cumulativeLogNormal:wr,cumulativeUniform:Ar,densityNormal:pr,densityLogNormal:_r,densityUniform:zr,quantileNormal:gr,quantileLogNormal:kr,quantileUniform:$r,sampleNormal:hr,sampleLogNormal:xr,sampleUniform:Er,isArray:p.cy,isBoolean:p.Lm,isDate:p.$P,isDefined(t){return t!==undefined},isNumber:p.Et,isObject:p.Gv,isRegExp:p.gd,isString:p.Kg,isTuple:gn,isValid(t){return t!=null&&t===t},toBoolean:p.G4,toDate(t){return(0,p.ay)(t)},toNumber:p.Ro,toString:p.dI,indexof:vC,join:yC,lastindexof:bC,replace:_C,reverse:wC,slice:xC,flush:p.bX,lerp:p.Cc,merge:oC,pad:p.eV,peek:p.se,pluck:pC,span:p.Ln,inrange:p.PK,truncate:p.xv,rgb:uM.Qh,lab:YT.Ay,hcl:YT.aq,hsl:uM.KI,luminance:iC,contrast:rC,sequence:to.A,format:EN,utcFormat:AN,utcParse:ON,utcOffset:Yt,utcSequence:Xt,timeFormat:zN,timeParse:$N,timeOffset:jt,timeSequence:Wt,timeUnitSpecifier:pt,monthFormat:TN,monthAbbrevFormat:NN,dayFormat:CN,dayAbbrevFormat:LN,quarter:p.$G,utcquarter:p.vu,week:vt,utcweek:Mt,dayofyear:yt,utcdayofyear:kt,warn:JN,info:tC,debug:eC,extent(t){return(0,p.Xx)(t)},inScope:ZN,intersect:BC,clampRange:p.BS,pinchDistance:fC,pinchAngle:dC,screen:qC,containerSize:IC,windowSize:FC,bandspace:kC,setdata:kN,pathShape:DC,panLinear:p.VC,panLog:p.KH,panPow:p.co,panSymlog:p.zy,zoomLinear:p.lL,zoomLog:p.oV,zoomPow:p.SW,zoomSymlog:p.B2,encode:MN,modify:cC,lassoAppend:jC,lassoPath:YC,intersectLasso:GC};const HC=["view","item","group","xy","x","y"],VC="event.vega.",KC="this.",ZC={};const QC={forbidden:["_"],allowed:["datum","event","item"],fieldvar:"datum",globalvar:t=>`_[${(0,p.r$)(IN+t)}]`,functions:tL,constants:TD.AA,visitors:ZC};const JC=(0,TD.Se)(QC);function tL(t){const e=(0,TD.Cn)(t);HC.forEach((t=>e[t]=VC+t));for(const n in XC){e[n]=KC+n}(0,p.X$)(e,WN(t,XC,ZC));return e}function eL(t,e,n){if(arguments.length===1){return XC[t]}XC[t]=e;if(n)ZC[t]=n;if(JC)JC.functions[t]=KC+t;return this}eL("bandwidth",MC,jN);eL("copy",SC,jN);eL("domain",EC,jN);eL("range",AC,jN);eL("invert",zC,jN);eL("scale",$C,jN);eL("gradient",OC,jN);eL("geoArea",HN,jN);eL("geoBounds",VN,jN);eL("geoCentroid",KN,jN);eL("geoShape",RC,jN);eL("indata",wN,UN);eL("data",_N,BN);eL("treePath",CC,BN);eL("treeAncestors",LC,BN);eL("vlSelectionTest",cN,xN);eL("vlSelectionIdTest",pN,xN);eL("vlSelectionResolve",gN,xN);eL("vlSelectionTuples",mN);function nL(t,e){const n={};let i;try{t=(0,p.Kg)(t)?t:(0,p.r$)(t)+"";i=(0,TD.YK)(t)}catch(o){(0,p.z3)("Expression parse error: "+t)}i.visit((t=>{if(t.type!==TD.DG)return;const i=t.callee.name,r=QC.visitors[i];if(r)r(i,t.arguments,e,n)}));const r=JC(i);r.globals.forEach((t=>{const i=IN+t;if(!(0,p.mQ)(n,i)&&e.getSignal(t)){n[i]=e.signalRef(t)}}));return{$expr:(0,p.X$)({code:r.code},e.options.ast?{ast:i}:null),$fields:r.fields,$params:n}}function iL(t){const e=this,n=t.operators||[];if(t.background){e.background=t.background}if(t.eventConfig){e.eventConfig=t.eventConfig}if(t.locale){e.locale=t.locale}n.forEach((t=>e.parseOperator(t)));n.forEach((t=>e.parseOperatorParameters(t)));(t.streams||[]).forEach((t=>e.parseStream(t)));(t.updates||[]).forEach((t=>e.parseUpdate(t)));return e.resolve()}const rL=(0,p.M1)(["rule"]),oL=(0,p.M1)(["group","image","rect"]);function aL(t,e){let n="";if(rL[e])return n;if(t.x2){if(t.x){if(oL[e]){n+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"}n+="o.width=o.x2-o.x;"}else{n+="o.x=o.x2-(o.width||0);"}}if(t.xc){n+="o.x=o.xc-(o.width||0)/2;"}if(t.y2){if(t.y){if(oL[e]){n+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"}n+="o.height=o.y2-o.y;"}else{n+="o.y=o.y2-(o.height||0);"}}if(t.yc){n+="o.y=o.yc-(o.height||0)/2;"}return n}function sL(t){return(t+"").toLowerCase()}function lL(t){return sL(t)==="operator"}function uL(t){return sL(t)==="collect"}function cL(t,e,n){if(!n.endsWith(";")){n="return("+n+");"}const i=Function(...e.concat(n));return t&&t.functions?i.bind(t.functions):i}function fL(t,e,n,i){return`((u = ${t}) < (v = ${e}) || u == null) && v != null ? ${n}\n : (u > v || v == null) && u != null ? ${i}\n : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${n}\n : v !== v && u === u ? ${i} : `}var dL={operator:(t,e)=>cL(t,["_"],e.code),parameter:(t,e)=>cL(t,["datum","_"],e.code),event:(t,e)=>cL(t,["event"],e.code),handler:(t,e)=>{const n=`var datum=event.item&&event.item.datum;return ${e.code};`;return cL(t,["_","event"],n)},encode:(t,e)=>{const{marktype:n,channels:i}=e;let r="var o=item,datum=o.datum,m=0,$;";for(const o in i){const t="o["+(0,p.r$)(o)+"]";r+=`$=${i[o].code};if(${t}!==$)${t}=$,m=1;`}r+=aL(i,n);r+="return m;";return cL(t,["item","_"],r)},codegen:{get(t){const e=`[${t.map(p.r$).join("][")}]`;const n=Function("_",`return _${e};`);n.path=e;return n},comparator(t,e){let n;const i=(t,i)=>{const r=e[i];let o,a;if(t.path){o=`a${t.path}`;a=`b${t.path}`}else{(n=n||{})["f"+i]=t;o=`this.f${i}(a)`;a=`this.f${i}(b)`}return fL(o,a,-r,r)};const r=Function("a","b","var u, v; return "+t.map(i).join("")+"0;");return n?r.bind(n):r}}};function hL(t){const e=this;if(lL(t.type)||!t.type){e.operator(t,t.update?e.operatorExpression(t.update):null)}else{e.transform(t,t.type)}}function pL(t){const e=this;if(t.params){const n=e.get(t.id);if(!n)(0,p.z3)("Invalid operator id: "+t.id);e.dataflow.connect(n,n.parameters(e.parseParameters(t.params),t.react,t.initonly))}}function mL(t,e){e=e||{};const n=this;for(const i in t){const r=t[i];e[i]=(0,p.cy)(r)?r.map((t=>gL(t,n,e))):gL(r,n,e)}return e}function gL(t,e,n){if(!t||!(0,p.Gv)(t))return t;for(let i=0,r=yL.length,o;i<r;++i){o=yL[i];if((0,p.mQ)(t,o.key)){return o.parse(t,e,n)}}return t}var yL=[{key:"$ref",parse:vL},{key:"$key",parse:xL},{key:"$expr",parse:bL},{key:"$field",parse:_L},{key:"$encode",parse:kL},{key:"$compare",parse:wL},{key:"$context",parse:ML},{key:"$subflow",parse:SL},{key:"$tupleid",parse:EL}];function vL(t,e){return e.get(t.$ref)||(0,p.z3)("Operator not defined: "+t.$ref)}function bL(t,e,n){if(t.$params){e.parseParameters(t.$params,n)}const i="e:"+t.$expr.code;return e.fn[i]||(e.fn[i]=(0,p.sY)(e.parameterExpression(t.$expr),t.$fields))}function xL(t,e){const n="k:"+t.$key+"_"+!!t.$flat;return e.fn[n]||(e.fn[n]=(0,p.Eb)(t.$key,t.$flat,e.expr.codegen))}function _L(t,e){if(!t.$field)return null;const n="f:"+t.$field+"_"+t.$name;return e.fn[n]||(e.fn[n]=(0,p.ZZ)(t.$field,t.$name,e.expr.codegen))}function wL(t,e){const n="c:"+t.$compare+"_"+t.$order,i=(0,p.YO)(t.$compare).map((t=>t&&t.$tupleid?yn:t));return e.fn[n]||(e.fn[n]=(0,p.UD)(i,t.$order,e.expr.codegen))}function kL(t,e){const n=t.$encode,i={};for(const r in n){const t=n[r];i[r]=(0,p.sY)(e.encodeExpression(t.$expr),t.$fields);i[r].output=t.$output}return i}function ML(t,e){return e}function SL(t,e){const n=t.$subflow;return function(t,i,r){const o=e.fork().parse(n),a=o.get(n.operators[0].id),s=o.signals.parent;if(s)s.set(r);a.detachSubflow=()=>e.detach(o);return a}}function EL(){return yn}function zL(t){var e=this,n=t.filter!=null?e.eventExpression(t.filter):undefined,i=t.stream!=null?e.get(t.stream):undefined,r;if(t.source){i=e.events(t.source,t.type,n)}else if(t.merge){r=t.merge.map((t=>e.get(t)));i=r[0].merge.apply(r[0],r.slice(1))}if(t.between){r=t.between.map((t=>e.get(t)));i=i.between(r[0],r[1])}if(t.filter){i=i.filter(n)}if(t.throttle!=null){i=i.throttle(+t.throttle)}if(t.debounce!=null){i=i.debounce(+t.debounce)}if(i==null){(0,p.z3)("Invalid stream definition: "+JSON.stringify(t))}if(t.consume)i.consume(true);e.stream(t,i)}function AL(t){var e=this,n=(0,p.Gv)(n=t.source)?n.$ref:n,i=e.get(n),r=null,o=t.update,a=undefined;if(!i)(0,p.z3)("Source not defined: "+t.source);r=t.target&&t.target.$expr?e.eventExpression(t.target.$expr):e.get(t.target);if(o&&o.$expr){if(o.$params){a=e.parseParameters(o.$params)}o=e.handlerExpression(o.$expr)}e.update(t,i,r,o,a)}const $L={skip:true};function OL(t){var e=this,n={};if(t.signals){var i=n.signals={};Object.keys(e.signals).forEach((n=>{const r=e.signals[n];if(t.signals(n,r)){i[n]=r.value}}))}if(t.data){var r=n.data={};Object.keys(e.data).forEach((n=>{const i=e.data[n];if(t.data(n,i)){r[n]=i.input.value}}))}if(e.subcontext&&t.recurse!==false){n.subcontext=e.subcontext.map((e=>e.getState(t)))}return n}function RL(t){var e=this,n=e.dataflow,i=t.data,r=t.signals;Object.keys(r||{}).forEach((t=>{n.update(e.signals[t],r[t],$L)}));Object.keys(i||{}).forEach((t=>{n.pulse(e.data[t].input,n.changeset().remove(p.vN).insert(i[t]))}));(t.subcontext||[]).forEach(((t,n)=>{const i=e.subcontext[n];if(i)i.setState(t)}))}function DL(t,e,n,i){return new TL(t,e,n,i)}function TL(t,e,n,i){this.dataflow=t;this.transforms=e;this.events=t.events.bind(t);this.expr=i||dL,this.signals={};this.scales={};this.nodes={};this.data={};this.fn={};if(n){this.functions=Object.create(n);this.functions.context=this}}function NL(t){this.dataflow=t.dataflow;this.transforms=t.transforms;this.events=t.events;this.expr=t.expr;this.signals=Object.create(t.signals);this.scales=Object.create(t.scales);this.nodes=Object.create(t.nodes);this.data=Object.create(t.data);this.fn=Object.create(t.fn);if(t.functions){this.functions=Object.create(t.functions);this.functions.context=this}}TL.prototype=NL.prototype={fork(){const t=new NL(this);(this.subcontext||(this.subcontext=[])).push(t);return t},detach(t){this.subcontext=this.subcontext.filter((e=>e!==t));const e=Object.keys(t.nodes);for(const n of e)t.nodes[n]._targets=null;for(const n of e)t.nodes[n].detach();t.nodes=null},get(t){return this.nodes[t]},set(t,e){return this.nodes[t]=e},add(t,e){const n=this,i=n.dataflow,r=t.value;n.set(t.id,e);if(uL(t.type)&&r){if(r.$ingest){i.ingest(e,r.$ingest,r.$format)}else if(r.$request){i.preload(e,r.$request,r.$format)}else{i.pulse(e,i.changeset().insert(r))}}if(t.root){n.root=e}if(t.parent){let r=n.get(t.parent.$ref);if(r){i.connect(r,[e]);e.targets().add(r)}else{(n.unresolved=n.unresolved||[]).push((()=>{r=n.get(t.parent.$ref);i.connect(r,[e]);e.targets().add(r)}))}}if(t.signal){n.signals[t.signal]=e}if(t.scale){n.scales[t.scale]=e}if(t.data){for(const i in t.data){const r=n.data[i]||(n.data[i]={});t.data[i].forEach((t=>r[t]=e))}}},resolve(){(this.unresolved||[]).forEach((t=>t()));delete this.unresolved;return this},operator(t,e){this.add(t,this.dataflow.add(t.value,e))},transform(t,e){this.add(t,this.dataflow.add(this.transforms[sL(e)]))},stream(t,e){this.set(t.id,e)},update(t,e,n,i,r){this.dataflow.on(e,n,i,r,t.options)},operatorExpression(t){return this.expr.operator(this,t)},parameterExpression(t){return this.expr.parameter(this,t)},eventExpression(t){return this.expr.event(this,t)},handlerExpression(t){return this.expr.handler(this,t)},encodeExpression(t){return this.expr.encode(this,t)},parse:iL,parseOperator:hL,parseOperatorParameters:pL,parseParameters:mL,parseStream:zL,parseUpdate:AL,getState:OL,setState:RL};function CL(t,e,n){var i=new OS.M4,r=e;if(e==null)return i.restart(t,e,n),i;i._restart=i.restart;i.restart=function(t,e,n){e=+e,n=n==null?(0,OS.tB)():+n;i._restart((function o(a){a+=r;i._restart(o,r+=e,n);t(a)}),e,n)};i.restart(t,e,n);return i}function LL(t){const e=t.container();if(e){e.setAttribute("role","graphics-document");e.setAttribute("aria-roleDescription","visualization");PL(e,t.description())}}function PL(t,e){if(t)e==null?t.removeAttribute("aria-label"):t.setAttribute("aria-label",e)}function qL(t){t.add(null,(e=>{t._background=e.bg;t._resize=1;return e.bg}),{bg:t._signals.background})}const FL="default";function IL(t){const e=t._signals.cursor||(t._signals.cursor=t.add({user:FL,item:null}));t.on(t.events("view","mousemove"),e,((t,n)=>{const i=e.value,r=i?(0,p.Kg)(i)?i:i.user:FL,o=n.item&&n.item.cursor||null;return i&&r===i.user&&o==i.item?i:{user:r,item:o}}));t.add(null,(function(e){let n=e.cursor,i=this.value;if(!(0,p.Kg)(n)){i=n.item;n=n.user}BL(t,n&&n!==FL?n:i||n);return i}),{cursor:e})}function BL(t,e){const n=t.globalCursor()?typeof document!=="undefined"&&document.body:t.container();if(n){return e==null?n.style.removeProperty("cursor"):n.style.cursor=e}}function UL(t,e){var n=t._runtime.data;if(!(0,p.mQ)(n,e)){(0,p.z3)("Unrecognized data set: "+e)}return n[e]}function jL(t,e){return arguments.length<2?UL(this,t).values.value:YL.call(this,t,Sn().remove(p.vN).insert(e))}function YL(t,e){if(!Mn(e)){(0,p.z3)("Second argument to changes must be a changeset.")}const n=UL(this,t);n.modified=true;return this.pulse(n.input,e)}function GL(t,e){return YL.call(this,t,Sn().insert(e))}function WL(t,e){return YL.call(this,t,Sn().remove(e))}function XL(t){var e=t.padding();return Math.max(0,t._viewWidth+e.left+e.right)}function HL(t){var e=t.padding();return Math.max(0,t._viewHeight+e.top+e.bottom)}function VL(t){var e=t.padding(),n=t._origin;return[e.left+n[0],e.top+n[1]]}function KL(t){var e=VL(t),n=XL(t),i=HL(t);t._renderer.background(t.background());t._renderer.resize(n,i,e);t._handler.origin(e);t._resizeListeners.forEach((e=>{try{e(n,i)}catch(r){t.error(r)}}))}function ZL(t,e,n){var i=t._renderer,r=i&&i.canvas(),o,a,s;if(r){s=VL(t);a=e.changedTouches?e.changedTouches[0]:e;o=Jp(a,r);o[0]-=s[0];o[1]-=s[1]}e.dataflow=t;e.item=n;e.vega=QL(t,n,o);return e}function QL(t,e,n){const i=e?e.mark.marktype==="group"?e:e.mark.group:null;function r(t){var n=i,r;if(t)for(r=e;r;r=r.mark.group){if(r.mark.name===t){n=r;break}}return n&&n.mark&&n.mark.interactive?n:{}}function o(t){if(!t)return n;if((0,p.Kg)(t))t=r(t);const e=n.slice();while(t){e[0]-=t.x||0;e[1]-=t.y||0;t=t.mark&&t.mark.group}return e}return{view:(0,p.dY)(t),item:(0,p.dY)(e||{}),group:r,xy:o,x:t=>o(t)[0],y:t=>o(t)[1]}}const JL="view",tP="timer",eP="window",nP={trap:false};function iP(t){const e=(0,p.X$)({defaults:{}},t);const n=(t,e)=>{e.forEach((e=>{if((0,p.cy)(t[e]))t[e]=(0,p.M1)(t[e])}))};n(e.defaults,["prevent","allow"]);n(e,["view","window","selector"]);return e}function rP(t,e,n,i){t._eventListeners.push({type:n,sources:(0,p.YO)(e),handler:i})}function oP(t,e){var n=t._eventConfig.defaults,i=n.prevent,r=n.allow;return i===false||r===true?false:i===true||r===false?true:i?i[e]:r?!r[e]:t.preventDefault()}function aP(t,e,n){const i=t._eventConfig&&t._eventConfig[e];if(i===false||(0,p.Gv)(i)&&!i[n]){t.warn(`Blocked ${e} ${n} event listener.`);return false}return true}function sP(t,e,n){var i=this,r=new qn(n),o=function(n,o){i.runAsync(null,(()=>{if(t===JL&&oP(i,e)){n.preventDefault()}r.receive(ZL(i,n,o))}))},a;if(t===tP){if(aP(i,"timer",e)){i.timer(o,e)}}else if(t===JL){if(aP(i,"view",e)){i.addEventListener(e,o,nP)}}else{if(t===eP){if(aP(i,"window",e)&&typeof window!=="undefined"){a=[window]}}else if(typeof document!=="undefined"){if(aP(i,"selector",e)){a=Array.from(document.querySelectorAll(t))}}if(!a){i.warn("Can not resolve event source: "+t)}else{for(var s=0,l=a.length;s<l;++s){a[s].addEventListener(e,o)}rP(i,a,e,o)}}return r}function lP(t){return t.item}function uP(t){return t.item.mark.source}function cP(t){return function(e,n){return n.vega.view().changeset().encode(n.item,t)}}function fP(t,e){t=[t||"hover"];e=[e||"update",t[0]];this.on(this.events("view","mouseover",lP),uP,cP(t));this.on(this.events("view","mouseout",lP),uP,cP(e));return this}function dP(){var t=this._tooltip,e=this._timers,n=this._eventListeners,i,r,o;i=e.length;while(--i>=0){e[i].stop()}i=n.length;while(--i>=0){o=n[i];r=o.sources.length;while(--r>=0){o.sources[r].removeEventListener(o.type,o.handler)}}if(t){t.call(this,this._handler,null,null,null)}return this}function hP(t,e,n){const i=document.createElement(t);for(const r in e)i.setAttribute(r,e[r]);if(n!=null)i.textContent=n;return i}const pP="vega-bind",mP="vega-bind-name",gP="vega-bind-radio";function yP(t,e,n){if(!e)return;const i=n.param;let r=n.state;if(!r){r=n.state={elements:null,active:false,set:null,update:e=>{if(e!=t.signal(i.signal)){t.runAsync(null,(()=>{r.source=true;t.signal(i.signal,e)}))}}};if(i.debounce){r.update=(0,p.sg)(i.debounce,r.update)}}const o=i.input==null&&i.element?vP:xP;o(r,e,i,t);if(!r.active){t.on(t._signals[i.signal],null,(()=>{r.source?r.source=false:r.set(t.signal(i.signal))}));r.active=true}return r}function vP(t,e,n,i){const r=n.event||"input";const o=()=>t.update(e.value);i.signal(n.signal,e.value);e.addEventListener(r,o);rP(i,e,r,o);t.set=t=>{e.value=t;e.dispatchEvent(bP(r))}}function bP(t){return typeof Event!=="undefined"?new Event(t):{type:t}}function xP(t,e,n,i){const r=i.signal(n.signal);const o=hP("div",{class:pP});const a=n.input==="radio"?o:o.appendChild(hP("label"));a.appendChild(hP("span",{class:mP},n.name||n.signal));e.appendChild(o);let s=_P;switch(n.input){case"checkbox":s=wP;break;case"select":s=kP;break;case"radio":s=MP;break;case"range":s=SP;break}s(t,a,n,r)}function _P(t,e,n,i){const r=hP("input");for(const o in n){if(o!=="signal"&&o!=="element"){r.setAttribute(o==="input"?"type":o,n[o])}}r.setAttribute("name",n.signal);r.value=i;e.appendChild(r);r.addEventListener("input",(()=>t.update(r.value)));t.elements=[r];t.set=t=>r.value=t}function wP(t,e,n,i){const r={type:"checkbox",name:n.signal};if(i)r.checked=true;const o=hP("input",r);e.appendChild(o);o.addEventListener("change",(()=>t.update(o.checked)));t.elements=[o];t.set=t=>o.checked=!!t||null}function kP(t,e,n,i){const r=hP("select",{name:n.signal}),o=n.labels||[];n.options.forEach(((t,e)=>{const n={value:t};if(EP(t,i))n.selected=true;r.appendChild(hP("option",n,(o[e]||t)+""))}));e.appendChild(r);r.addEventListener("change",(()=>{t.update(n.options[r.selectedIndex])}));t.elements=[r];t.set=t=>{for(let e=0,i=n.options.length;e<i;++e){if(EP(n.options[e],t)){r.selectedIndex=e;return}}}}function MP(t,e,n,i){const r=hP("span",{class:gP}),o=n.labels||[];e.appendChild(r);t.elements=n.options.map(((e,a)=>{const s={type:"radio",name:n.signal,value:e};if(EP(e,i))s.checked=true;const l=hP("input",s);l.addEventListener("change",(()=>t.update(e)));const u=hP("label",{},(o[a]||e)+"");u.prepend(l);r.appendChild(u);return l}));t.set=e=>{const n=t.elements,i=n.length;for(let t=0;t<i;++t){if(EP(n[t].value,e))n[t].checked=true}}}function SP(t,e,n,i){i=i!==undefined?i:(+n.max+ +n.min)/2;const r=n.max!=null?n.max:Math.max(100,+i)||100,o=n.min||Math.min(0,r,+i)||0,a=n.step||(0,P.sG)(o,r,100);const s=hP("input",{type:"range",name:n.signal,min:o,max:r,step:a});s.value=i;const l=hP("span",{},+i);e.appendChild(s);e.appendChild(l);const u=()=>{l.textContent=s.value;t.update(+s.value)};s.addEventListener("input",u);s.addEventListener("change",u);t.elements=[s];t.set=t=>{s.value=t;l.textContent=t}}function EP(t,e){return t===e||t+""===e+""}function zP(t,e,n,i,r,o){e=e||new i(t.loader());return e.initialize(n,XL(t),HL(t),VL(t),r,o).background(t.background())}function AP(t,e){return!e?null:function(){try{e.apply(this,arguments)}catch(n){t.error(n)}}}function $P(t,e,n,i){const r=new i(t.loader(),AP(t,t.tooltip())).scene(t.scenegraph().root).initialize(n,VL(t),t);if(e){e.handlers().forEach((t=>{r.on(t.type,t.handler)}))}return r}function OP(t,e){const n=this,i=n._renderType,r=n._eventConfig.bind,o=jg(i);t=n._el=t?RP(n,t,true):null;LL(n);if(!o)n.error("Unrecognized renderer type: "+i);const a=o.handler||Em,s=t?o.renderer:o.headless;n._renderer=!s?null:zP(n,n._renderer,t,s);n._handler=$P(n,n._handler,t,a);n._redraw=true;if(t&&r!=="none"){e=e?n._elBind=RP(n,e,true):t.appendChild(hP("form",{class:"vega-bindings"}));n._bind.forEach((t=>{if(t.param.element&&r!=="container"){t.element=RP(n,t.param.element,!!t.param.input)}}));n._bind.forEach((t=>{yP(n,t.element||e,t)}))}return n}function RP(t,e,n){if(typeof e==="string"){if(typeof document!=="undefined"){e=document.querySelector(e);if(!e){t.error("Signal bind element not found: "+e);return null}}else{t.error("DOM document instance not found.");return null}}if(e&&n){try{e.textContent=""}catch(i){e=null;t.error(i)}}return e}const DP=t=>+t||0;const TP=t=>({top:t,bottom:t,left:t,right:t});function NP(t){return(0,p.Gv)(t)?{top:DP(t.top),bottom:DP(t.bottom),left:DP(t.left),right:DP(t.right)}:TP(DP(t))}async function CP(t,e,n,i){const r=jg(e),o=r&&r.headless;if(!o)(0,p.z3)("Unrecognized renderer type: "+e);await t.runAsync();return zP(t,null,null,o,n,i).renderAsync(t._scenegraph.root)}async function LP(t,e){if(t!==Bg.Canvas&&t!==Bg.SVG&&t!==Bg.PNG){(0,p.z3)("Unrecognized image type: "+t)}const n=await CP(this,t,e);return t===Bg.SVG?PP(n.svg(),"image/svg+xml"):n.canvas().toDataURL("image/png")}function PP(t,e){const n=new Blob([t],{type:e});return window.URL.createObjectURL(n)}async function qP(t,e){const n=await CP(this,Bg.Canvas,t,e);return n.canvas()}async function FP(t){const e=await CP(this,Bg.SVG,t);return e.svg()}function IP(t,e,n){return DL(t,Ti,XC,n).parse(e)}function BP(t){var e=this._runtime.scales;if(!(0,p.mQ)(e,t)){(0,p.z3)("Unrecognized scale or projection: "+t)}return e[t].value}var UP="width",jP="height",YP="padding",GP={skip:true};function WP(t,e){var n=t.autosize(),i=t.padding();return e-(n&&n.contains===YP?i.left+i.right:0)}function XP(t,e){var n=t.autosize(),i=t.padding();return e-(n&&n.contains===YP?i.top+i.bottom:0)}function HP(t){var e=t._signals,n=e[UP],i=e[jP],r=e[YP];function o(){t._autosize=t._resize=1}t._resizeWidth=t.add(null,(e=>{t._width=e.size;t._viewWidth=WP(t,e.size);o()}),{size:n});t._resizeHeight=t.add(null,(e=>{t._height=e.size;t._viewHeight=XP(t,e.size);o()}),{size:i});const a=t.add(null,o,{pad:r});t._resizeWidth.rank=n.rank+1;t._resizeHeight.rank=i.rank+1;a.rank=r.rank+1}function VP(t,e,n,i,r,o){this.runAfter((a=>{let s=0;a._autosize=0;if(a.width()!==n){s=1;a.signal(UP,n,GP);a._resizeWidth.skip(true)}if(a.height()!==i){s=1;a.signal(jP,i,GP);a._resizeHeight.skip(true)}if(a._viewWidth!==t){a._resize=1;a._viewWidth=t}if(a._viewHeight!==e){a._resize=1;a._viewHeight=e}if(a._origin[0]!==r[0]||a._origin[1]!==r[1]){a._resize=1;a._origin=r}if(s)a.run("enter");if(o)a.runAfter((t=>t.resize()))}),false,1)}function KP(t){return this._runtime.getState(t||{data:ZP,signals:QP,recurse:true})}function ZP(t,e){return e.modified&&(0,p.cy)(e.input.value)&&t.indexOf("_:vega:_")}function QP(t,e){return!(t==="parent"||e instanceof Ti.proxy)}function JP(t){this.runAsync(null,(e=>{e._trigger=false;e._runtime.setState(t)}),(t=>{t._trigger=true}));return this}function tq(t,e){function n(e){t({timestamp:Date.now(),elapsed:e})}this._timers.push(CL(n,e))}function eq(t,e,n,i){const r=t.element();if(r)r.setAttribute("title",nq(i))}function nq(t){return t==null?"":(0,p.cy)(t)?rq(t):(0,p.Gv)(t)&&!(0,p.$P)(t)?iq(t):t+""}function iq(t){return Object.keys(t).map((e=>{const n=t[e];return e+": "+((0,p.cy)(n)?rq(n):oq(n))})).join("\n")}function rq(t){return"["+t.map(oq).join(", ")+"]"}function oq(t){return(0,p.cy)(t)?"[…]":(0,p.Gv)(t)&&!(0,p.$P)(t)?"{…}":t}function aq(t,e){const n=this;e=e||{};Oi.call(n);if(e.loader)n.loader(e.loader);if(e.logger)n.logger(e.logger);if(e.logLevel!=null)n.logLevel(e.logLevel);if(e.locale||t.locale){const i=(0,p.X$)({},t.locale,e.locale);n.locale(Ae(i.number,i.time))}n._el=null;n._elBind=null;n._renderType=e.renderer||Bg.Canvas;n._scenegraph=new Wp;const i=n._scenegraph.root;n._renderer=null;n._tooltip=e.tooltip||eq,n._redraw=true;n._handler=(new Em).scene(i);n._globalCursor=false;n._preventDefault=false;n._timers=[];n._eventListeners=[];n._resizeListeners=[];n._eventConfig=iP(t.eventConfig);n.globalCursor(n._eventConfig.globalCursor);const r=IP(n,t,e.expr);n._runtime=r;n._signals=r.signals;n._bind=(t.bindings||[]).map((t=>({state:null,param:(0,p.X$)({},t)})));if(r.root)r.root.set(i);i.source=r.data.root.input;n.pulse(r.data.root.input,n.changeset().insert(i.items));n._width=n.width();n._height=n.height();n._viewWidth=WP(n,n._width);n._viewHeight=XP(n,n._height);n._origin=[0,0];n._resize=0;n._autosize=1;HP(n);qL(n);IL(n);n.description(t.description);if(e.hover)n.hover();if(e.container)n.initialize(e.container,e.bind)}function sq(t,e){return(0,p.mQ)(t._signals,e)?t._signals[e]:(0,p.z3)("Unrecognized signal name: "+(0,p.r$)(e))}function lq(t,e){const n=(t._targets||[]).filter((t=>t._update&&t._update.handler===e));return n.length?n[0]:null}function uq(t,e,n,i){let r=lq(n,i);if(!r){r=AP(t,(()=>i(e,n.value)));r.handler=i;t.on(n,null,r)}return t}function cq(t,e,n){const i=lq(e,n);if(i)e._targets.remove(i);return t}(0,p.B)(aq,Oi,{async evaluate(t,e,n){await Oi.prototype.evaluate.call(this,t,e);if(this._redraw||this._resize){try{if(this._renderer){if(this._resize){this._resize=0;KL(this)}await this._renderer.renderAsync(this._scenegraph.root)}this._redraw=false}catch(i){this.error(i)}}if(n)hn(this,n);return this},dirty(t){this._redraw=true;this._renderer&&this._renderer.dirty(t)},description(t){if(arguments.length){const e=t!=null?t+"":null;if(e!==this._desc)PL(this._el,this._desc=e);return this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(t,e,n){const i=sq(this,t);return arguments.length===1?i.value:this.update(i,e,n)},width(t){return arguments.length?this.signal("width",t):this.signal("width")},height(t){return arguments.length?this.signal("height",t):this.signal("height")},padding(t){return arguments.length?this.signal("padding",NP(t)):NP(this.signal("padding"))},autosize(t){return arguments.length?this.signal("autosize",t):this.signal("autosize")},background(t){return arguments.length?this.signal("background",t):this.signal("background")},renderer(t){if(!arguments.length)return this._renderType;if(!jg(t))(0,p.z3)("Unrecognized renderer type: "+t);if(t!==this._renderType){this._renderType=t;this._resetRenderer()}return this},tooltip(t){if(!arguments.length)return this._tooltip;if(t!==this._tooltip){this._tooltip=t;this._resetRenderer()}return this},loader(t){if(!arguments.length)return this._loader;if(t!==this._loader){Oi.prototype.loader.call(this,t);this._resetRenderer()}return this},resize(){this._autosize=1;return this.touch(sq(this,"autosize"))},_resetRenderer(){if(this._renderer){this._renderer=null;this.initialize(this._el,this._elBind)}},_resizeView:VP,addEventListener(t,e,n){let i=e;if(!(n&&n.trap===false)){i=AP(this,e);i.raw=e}this._handler.on(t,i);return this},removeEventListener(t,e){var n=this._handler.handlers(t),i=n.length,r,o;while(--i>=0){o=n[i].type;r=n[i].handler;if(t===o&&(e===r||e===r.raw)){this._handler.off(o,r);break}}return this},addResizeListener(t){const e=this._resizeListeners;if(e.indexOf(t)<0){e.push(t)}return this},removeResizeListener(t){var e=this._resizeListeners,n=e.indexOf(t);if(n>=0){e.splice(n,1)}return this},addSignalListener(t,e){return uq(this,t,sq(this,t),e)},removeSignalListener(t,e){return cq(this,sq(this,t),e)},addDataListener(t,e){return uq(this,t,UL(this,t).values,e)},removeDataListener(t,e){return cq(this,UL(this,t).values,e)},globalCursor(t){if(arguments.length){if(this._globalCursor!==!!t){const e=BL(this,null);this._globalCursor=!!t;if(e)BL(this,e)}return this}else{return this._globalCursor}},preventDefault(t){if(arguments.length){this._preventDefault=t;return this}else{return this._preventDefault}},timer:tq,events:sP,finalize:dP,hover:fP,data:jL,change:YL,insert:GL,remove:WL,scale:BP,initialize:OP,toImageURL:LP,toCanvas:qP,toSVG:FP,getState:KP,setState:JP});var fq=n(45948);function dq(t){return(0,p.Gv)(t)?t:{type:t||"pad"}}const hq=t=>+t||0;const pq=t=>({top:t,bottom:t,left:t,right:t});function mq(t){return!(0,p.Gv)(t)?pq(hq(t)):t.signal?t:{top:hq(t.top),bottom:hq(t.bottom),left:hq(t.left),right:hq(t.right)}}const gq=t=>(0,p.Gv)(t)&&!(0,p.cy)(t)?(0,p.X$)({},t):{value:t};function yq(t,e,n,i){if(n!=null){const r=(0,p.Gv)(n)&&!(0,p.cy)(n)||(0,p.cy)(n)&&n.length&&(0,p.Gv)(n[0]);if(r){t.update[e]=n}else{t[i||"enter"][e]={value:n}}return 1}else{return 0}}function vq(t,e,n){for(const i in e){yq(t,i,e[i])}for(const i in n){yq(t,i,n[i],"update")}}function bq(t,e,n){for(const i in e){if(n&&(0,p.mQ)(n,i))continue;t[i]=(0,p.X$)(t[i]||{},e[i])}return t}function xq(t,e){return e&&(e.enter&&e.enter[t]||e.update&&e.update[t])}const _q="mark";const wq="frame";const kq="scope";const Mq="axis";const Sq="axis-domain";const Eq="axis-grid";const zq="axis-label";const Aq="axis-tick";const $q="axis-title";const Oq="legend";const Rq="legend-band";const Dq="legend-entry";const Tq="legend-gradient";const Nq="legend-label";const Cq="legend-symbol";const Lq="legend-title";const Pq="title";const qq="title-text";const Fq="title-subtitle";function Iq(t,e,n,i,r){const o={},a={};let s,l,u,c;l="lineBreak";if(e==="text"&&r[l]!=null&&!xq(l,t)){Bq(o,l,r[l])}if(n=="legend"||String(n).startsWith("axis")){n=null}c=n===wq?r.group:n===_q?(0,p.X$)({},r.mark,r[e]):null;for(l in c){u=xq(l,t)||(l==="fill"||l==="stroke")&&(xq("fill",t)||xq("stroke",t));if(!u)Bq(o,l,c[l])}(0,p.YO)(i).forEach((e=>{const n=r.style&&r.style[e];for(const i in n){if(!xq(i,t)){Bq(o,i,n[i])}}}));t=(0,p.X$)({},t);for(l in o){c=o[l];if(c.signal){(s=s||{})[l]=c}else{a[l]=c}}t.enter=(0,p.X$)(a,t.enter);if(s)t.update=(0,p.X$)(s,t.update);return t}function Bq(t,e,n){t[e]=n&&n.signal?{signal:n.signal}:{value:n}}const Uq=t=>(0,p.Kg)(t)?(0,p.r$)(t):t.signal?`(${t.signal})`:Hq(t);function jq(t){if(t.gradient!=null){return Wq(t)}let e=t.signal?`(${t.signal})`:t.color?Gq(t.color):t.field!=null?Hq(t.field):t.value!==undefined?(0,p.r$)(t.value):undefined;if(t.scale!=null){e=Kq(t,e)}if(e===undefined){e=null}if(t.exponent!=null){e=`pow(${e},${Xq(t.exponent)})`}if(t.mult!=null){e+=`*${Xq(t.mult)}`}if(t.offset!=null){e+=`+${Xq(t.offset)}`}if(t.round){e=`round(${e})`}return e}const Yq=(t,e,n,i)=>`(${t}(${[e,n,i].map(jq).join(",")})+'')`;function Gq(t){return t.c?Yq("hcl",t.h,t.c,t.l):t.h||t.s?Yq("hsl",t.h,t.s,t.l):t.l||t.a?Yq("lab",t.l,t.a,t.b):t.r||t.g||t.b?Yq("rgb",t.r,t.g,t.b):null}function Wq(t){const e=[t.start,t.stop,t.count].map((t=>t==null?null:(0,p.r$)(t)));while(e.length&&(0,p.se)(e)==null)e.pop();e.unshift(Uq(t.gradient));return`gradient(${e.join(",")})`}function Xq(t){return(0,p.Gv)(t)?"("+jq(t)+")":t}function Hq(t){return Vq((0,p.Gv)(t)?t:{datum:t})}function Vq(t){let e,n,i;if(t.signal){e="datum";i=t.signal}else if(t.group||t.parent){n=Math.max(1,t.level||1);e="item";while(n-- >0){e+=".mark.group"}if(t.parent){i=t.parent;e+=".datum"}else{i=t.group}}else if(t.datum){e="datum";i=t.datum}else{(0,p.z3)("Invalid field reference: "+(0,p.r$)(t))}if(!t.signal){i=(0,p.Kg)(i)?(0,p.iv)(i).map(p.r$).join("]["):Vq(i)}return e+"["+i+"]"}function Kq(t,e){const n=Uq(t.scale);if(t.range!=null){e=`lerp(_range(${n}), ${+t.range})`}else{if(e!==undefined)e=`_scale(${n}, ${e})`;if(t.band){e=(e?e+"+":"")+`_bandwidth(${n})`+(+t.band===1?"":"*"+Xq(t.band));if(t.extra){e=`(datum.extra ? _scale(${n}, datum.extra.value) : ${e})`}}if(e==null)e="0"}return e}function Zq(t){let e="";t.forEach((t=>{const n=jq(t);e+=t.test?`(${t.test})?${n}:`:n}));if((0,p.se)(e)===":"){e+="null"}return e}function Qq(t,e,n,i,r,o){const a={};o=o||{};o.encoders={$encode:a};t=Iq(t,e,n,i,r.config);for(const s in t){a[s]=Jq(t[s],e,o,r)}return o}function Jq(t,e,n,i){const r={},o={};for(const a in t){if(t[a]!=null){r[a]=eF(tF(t[a]),i,n,o)}}return{$expr:{marktype:e,channels:r},$fields:Object.keys(o),$output:Object.keys(t)}}function tF(t){return(0,p.cy)(t)?Zq(t):jq(t)}function eF(t,e,n,i){const r=nL(t,e);r.$fields.forEach((t=>i[t]=1));(0,p.X$)(n,r.$params);return r.$expr}const nF="outer",iF=["value","update","init","react","bind"];function rF(t,e){(0,p.z3)(t+' for "outer" push: '+(0,p.r$)(e))}function oF(t,e){const n=t.name;if(t.push===nF){if(!e.signals[n])rF("No prior signal definition",n);iF.forEach((e=>{if(t[e]!==undefined)rF("Invalid property ",e)}))}else{const i=e.addSignal(n,t.value);if(t.react===false)i.react=false;if(t.bind)e.addBinding(n,t.bind)}}function aF(t,e,n,i){this.id=-1;this.type=t;this.value=e;this.params=n;if(i)this.parent=i}function sF(t,e,n,i){return new aF(t,e,n,i)}function lF(t,e){return sF("operator",t,e)}function uF(t){const e={$ref:t.id};if(t.id<0)(t.refs=t.refs||[]).push(e);return e}function cF(t,e){return e?{$field:t,$name:e}:{$field:t}}const fF=cF("key");function dF(t,e){return{$compare:t,$order:e}}function hF(t,e){const n={$key:t};if(e)n.$flat=true;return n}const pF="ascending";const mF="descending";function gF(t){return!(0,p.Gv)(t)?"":(t.order===mF?"-":"+")+yF(t.op,t.field)}function yF(t,e){return(t&&t.signal?"$"+t.signal:t||"")+(t&&e?"_":"")+(e&&e.signal?"$"+e.signal:e||"")}const vF="scope";const bF="view";function xF(t){return t&&t.signal}function _F(t){return t&&t.expr}function wF(t){if(xF(t))return true;if((0,p.Gv)(t))for(const e in t){if(wF(t[e]))return true}return false}function kF(t,e){return t!=null?t:e}function MF(t){return t&&t.signal||t}const SF="timer";function EF(t,e){const n=t.merge?AF:t.stream?$F:t.type?OF:(0,p.z3)("Invalid stream specification: "+(0,p.r$)(t));return n(t,e)}function zF(t){return t===vF?bF:t||bF}function AF(t,e){const n=t.merge.map((t=>EF(t,e))),i=RF({merge:n},t,e);return e.addStream(i).id}function $F(t,e){const n=EF(t.stream,e),i=RF({stream:n},t,e);return e.addStream(i).id}function OF(t,e){let n;if(t.type===SF){n=e.event(SF,t.throttle);t={between:t.between,filter:t.filter}}else{n=e.event(zF(t.source),t.type)}const i=RF({stream:n},t,e);return Object.keys(i).length===1?n:e.addStream(i).id}function RF(t,e,n){let i=e.between;if(i){if(i.length!==2){(0,p.z3)('Stream "between" parameter must have 2 entries: '+(0,p.r$)(e))}t.between=[EF(i[0],n),EF(i[1],n)]}i=e.filter?[].concat(e.filter):[];if(e.marktype||e.markname||e.markrole){i.push(DF(e.marktype,e.markname,e.markrole))}if(e.source===vF){i.push("inScope(event.item)")}if(i.length){t.filter=nL("("+i.join(")&&(")+")",n).$expr}if((i=e.throttle)!=null){t.throttle=+i}if((i=e.debounce)!=null){t.debounce=+i}if(e.consume){t.consume=true}return t}function DF(t,e,n){const i="event.item";return i+(t&&t!=="*"?"&&"+i+".mark.marktype==='"+t+"'":"")+(n?"&&"+i+".mark.role==='"+n+"'":"")+(e?"&&"+i+".mark.name==='"+e+"'":"")}const TF={code:"_.$value",ast:{type:"Identifier",value:"value"}};function NF(t,e,n){const i=t.encode,r={target:n};let o=t.events,a=t.update,s=[];if(!o){(0,p.z3)("Signal update missing events specification.")}if((0,p.Kg)(o)){o=(0,fq.P)(o,e.isSubscope()?vF:bF)}o=(0,p.YO)(o).filter((t=>t.signal||t.scale?(s.push(t),0):1));if(s.length>1){s=[LF(s)]}if(o.length){s.push(o.length>1?{merge:o}:o[0])}if(i!=null){if(a)(0,p.z3)("Signal encode and update are mutually exclusive.");a="encode(item(),"+(0,p.r$)(i)+")"}r.update=(0,p.Kg)(a)?nL(a,e):a.expr!=null?nL(a.expr,e):a.value!=null?a.value:a.signal!=null?{$expr:TF,$params:{$value:e.signalRef(a.signal)}}:(0,p.z3)("Invalid signal update specification.");if(t.force){r.options={force:true}}s.forEach((t=>e.addUpdate((0,p.X$)(CF(t,e),r))))}function CF(t,e){return{source:t.signal?e.signalRef(t.signal):t.scale?e.scaleRef(t.scale):EF(t,e)}}function LF(t){return{signal:"["+t.map((t=>t.scale?'scale("'+t.scale+'")':t.signal))+"]"}}function PF(t,e){const n=e.getSignal(t.name);let i=t.update;if(t.init){if(i){(0,p.z3)("Signals can not include both init and update expressions.")}else{i=t.init;n.initonly=true}}if(i){i=nL(i,e);n.update=i.$expr;n.params=i.$params}if(t.on){t.on.forEach((t=>NF(t,e,n.id)))}}const qF=t=>(e,n,i)=>sF(t,n,e||undefined,i);const FF=qF("aggregate");const IF=qF("axisticks");const BF=qF("bound");const UF=qF("collect");const jF=qF("compare");const YF=qF("datajoin");const GF=qF("encode");const WF=qF("expression");const XF=qF("facet");const HF=qF("field");const VF=qF("key");const KF=qF("legendentries");const ZF=qF("load");const QF=qF("mark");const JF=qF("multiextent");const tI=qF("multivalues");const eI=qF("overlap");const nI=qF("params");const iI=qF("prefacet");const rI=qF("projection");const oI=qF("proxy");const aI=qF("relay");const sI=qF("render");const lI=qF("scale");const uI=qF("sieve");const cI=qF("sortitems");const fI=qF("viewlayout");const dI=qF("values");let hI=0;const pI={min:"min",max:"max",count:"sum"};function mI(t,e){const n=t.type||"linear";if(!Nu(n)){(0,p.z3)("Unrecognized scale type: "+(0,p.r$)(n))}e.addScale(t.name,{type:n,domain:undefined})}function gI(t,e){const n=e.getScale(t.name).params;let i;n.domain=xI(t.domain,t,e);if(t.range!=null){n.range=DI(t,e,n)}if(t.interpolate!=null){RI(t.interpolate,n)}if(t.nice!=null){n.nice=OI(t.nice)}if(t.bins!=null){n.bins=$I(t.bins,e)}for(i in t){if((0,p.mQ)(n,i)||i==="name")continue;n[i]=yI(t[i],e)}}function yI(t,e){return!(0,p.Gv)(t)?t:t.signal?e.signalRef(t.signal):(0,p.z3)("Unsupported object: "+(0,p.r$)(t))}function vI(t,e){return t.signal?e.signalRef(t.signal):t.map((t=>yI(t,e)))}function bI(t){(0,p.z3)("Can not find data set: "+(0,p.r$)(t))}function xI(t,e,n){if(!t){if(e.domainMin!=null||e.domainMax!=null){(0,p.z3)("No scale domain defined for domainMin/domainMax to override.")}return}return t.signal?n.signalRef(t.signal):((0,p.cy)(t)?_I:t.fields?kI:wI)(t,e,n)}function _I(t,e,n){return t.map((t=>yI(t,n)))}function wI(t,e,n){const i=n.getData(t.data);if(!i)bI(t.data);return Pu(e.type)?i.valuesRef(n,t.field,EI(t.sort,false)):Uu(e.type)?i.domainRef(n,t.field):i.extentRef(n,t.field)}function kI(t,e,n){const i=t.data,r=t.fields.reduce(((t,e)=>{e=(0,p.Kg)(e)?{data:i,field:e}:(0,p.cy)(e)||e.signal?MI(e,n):e;t.push(e);return t}),[]);return(Pu(e.type)?SI:Uu(e.type)?zI:AI)(t,n,r)}function MI(t,e){const n="_:vega:_"+hI++,i=UF({});if((0,p.cy)(t)){i.value={$ingest:t}}else if(t.signal){const r="setdata("+(0,p.r$)(n)+","+t.signal+")";i.params.input=e.signalRef(r)}e.addDataPipeline(n,[i,uI({})]);return{data:n,field:"data"}}function SI(t,e,n){const i=EI(t.sort,true);let r,o;const a=n.map((t=>{const n=e.getData(t.data);if(!n)bI(t.data);return n.countsRef(e,t.field,i)}));const s={groupby:fF,pulse:a};if(i){r=i.op||"count";o=i.field?yF(r,i.field):"count";s.ops=[pI[r]];s.fields=[e.fieldRef(o)];s.as=[o]}r=e.add(FF(s));const l=e.add(UF({pulse:uF(r)}));o=e.add(dI({field:fF,sort:e.sortRef(i),pulse:uF(l)}));return uF(o)}function EI(t,e){if(t){if(!t.field&&!t.op){if((0,p.Gv)(t))t.field="key";else t={field:"key"}}else if(!t.field&&t.op!=="count"){(0,p.z3)("No field provided for sort aggregate op: "+t.op)}else if(e&&t.field){if(t.op&&!pI[t.op]){(0,p.z3)("Multiple domain scales can not be sorted using "+t.op)}}}return t}function zI(t,e,n){const i=n.map((t=>{const n=e.getData(t.data);if(!n)bI(t.data);return n.domainRef(e,t.field)}));return uF(e.add(tI({values:i})))}function AI(t,e,n){const i=n.map((t=>{const n=e.getData(t.data);if(!n)bI(t.data);return n.extentRef(e,t.field)}));return uF(e.add(JF({extents:i})))}function $I(t,e){return t.signal||(0,p.cy)(t)?vI(t,e):e.objectProperty(t)}function OI(t){return(0,p.Gv)(t)?{interval:yI(t.interval),step:yI(t.step)}:yI(t)}function RI(t,e){e.interpolate=yI(t.type||t);if(t.gamma!=null){e.interpolateGamma=yI(t.gamma)}}function DI(t,e,n){const i=e.config.range;let r=t.range;if(r.signal){return e.signalRef(r.signal)}else if((0,p.Kg)(r)){if(i&&(0,p.mQ)(i,r)){t=(0,p.X$)({},t,{range:i[r]});return DI(t,e,n)}else if(r==="width"){r=[0,{signal:"width"}]}else if(r==="height"){r=Pu(t.type)?[0,{signal:"height"}]:[{signal:"height"},0]}else{(0,p.z3)("Unrecognized scale range value: "+(0,p.r$)(r))}}else if(r.scheme){n.scheme=(0,p.cy)(r.scheme)?vI(r.scheme,e):yI(r.scheme,e);if(r.extent)n.schemeExtent=vI(r.extent,e);if(r.count)n.schemeCount=yI(r.count,e);return}else if(r.step){n.rangeStep=yI(r.step,e);return}else if(Pu(t.type)&&!(0,p.cy)(r)){return xI(r,t,e)}else if(!(0,p.cy)(r)){(0,p.z3)("Unsupported range type: "+(0,p.r$)(r))}return r.map((t=>((0,p.cy)(t)?vI:yI)(t,e)))}function TI(t,e){const n=e.config.projection||{},i={};for(const r in t){if(r==="name")continue;i[r]=NI(t[r],r,e)}for(const r in n){if(i[r]==null){i[r]=NI(n[r],r,e)}}e.addProjection(t.name,i)}function NI(t,e,n){return(0,p.cy)(t)?t.map((t=>NI(t,e,n))):!(0,p.Gv)(t)?t:t.signal?n.signalRef(t.signal):e==="fit"?t:(0,p.z3)("Unsupported parameter object: "+(0,p.r$)(t))}const CI="top";const LI="left";const PI="right";const qI="bottom";const FI="center";const II="vertical";const BI="start";const UI="middle";const jI="end";const YI="index";const GI="label";const WI="offset";const XI="perc";const HI="perc2";const VI="value";const KI="guide-label";const ZI="guide-title";const QI="group-title";const JI="group-subtitle";const tB="symbol";const eB="gradient";const nB="discrete";const iB="size";const rB="shape";const oB="fill";const aB="stroke";const sB="strokeWidth";const lB="strokeDash";const uB="opacity";const cB=[iB,rB,oB,aB,sB,lB,uB];const fB={name:1,style:1,interactive:1};const dB={value:0};const hB={value:1};const pB="group";const mB="rect";const gB="rule";const yB="symbol";const vB="text";function bB(t){t.type=pB;t.interactive=t.interactive||false;return t}function xB(t,e){const n=(n,i)=>kF(t[n],kF(e[n],i));n.isVertical=n=>II===kF(t.direction,e.direction||(n?e.symbolDirection:e.gradientDirection));n.gradientLength=()=>kF(t.gradientLength,e.gradientLength||e.gradientWidth);n.gradientThickness=()=>kF(t.gradientThickness,e.gradientThickness||e.gradientHeight);n.entryColumns=()=>kF(t.columns,kF(e.columns,+n.isVertical(true)));return n}function _B(t,e){const n=e&&(e.update&&e.update[t]||e.enter&&e.enter[t]);return n&&n.signal?n:n?n.value:null}function wB(t,e,n){const i=e.config.style[n];return i&&i[t]}function kB(t,e,n){return`item.anchor === '${BI}' ? ${t} : item.anchor === '${jI}' ? ${e} : ${n}`}const MB=kB((0,p.r$)(LI),(0,p.r$)(PI),(0,p.r$)(FI));function SB(t){const e=t("tickBand");let n=t("tickOffset"),i,r;if(!e){i=t("bandPosition");r=t("tickExtra")}else if(e.signal){i={signal:`(${e.signal}) === 'extent' ? 1 : 0.5`};r={signal:`(${e.signal}) === 'extent'`};if(!(0,p.Gv)(n)){n={signal:`(${e.signal}) === 'extent' ? 0 : ${n}`}}}else if(e==="extent"){i=1;r=true;n=0}else{i=.5;r=false}return{extra:r,band:i,offset:n}}function EB(t,e){return!e?t:!t?e:!(0,p.Gv)(t)?{value:t,offset:e}:Object.assign({},t,{offset:EB(t.offset,e)})}function zB(t,e){if(e){t.name=e.name;t.style=e.style||t.style;t.interactive=!!e.interactive;t.encode=bq(t.encode,e,fB)}else{t.interactive=false}return t}function AB(t,e,n,i){const r=xB(t,n),o=r.isVertical(),a=r.gradientThickness(),s=r.gradientLength();let l,u,c,f,d;if(o){u=[0,1];c=[0,0];f=a;d=s}else{u=[0,0];c=[1,0];f=s;d=a}const h={enter:l={opacity:dB,x:dB,y:dB,width:gq(f),height:gq(d)},update:(0,p.X$)({},l,{opacity:hB,fill:{gradient:e,start:u,stop:c}}),exit:{opacity:dB}};vq(h,{stroke:r("gradientStrokeColor"),strokeWidth:r("gradientStrokeWidth")},{opacity:r("gradientOpacity")});return zB({type:mB,role:Tq,encode:h},i)}function $B(t,e,n,i,r){const o=xB(t,n),a=o.isVertical(),s=o.gradientThickness(),l=o.gradientLength();let u,c,f,d,h="";a?(u="y",f="y2",c="x",d="width",h="1-"):(u="x",f="x2",c="y",d="height");const m={opacity:dB,fill:{scale:e,field:VI}};m[u]={signal:h+"datum."+XI,mult:l};m[c]=dB;m[f]={signal:h+"datum."+HI,mult:l};m[d]=gq(s);const g={enter:m,update:(0,p.X$)({},m,{opacity:hB}),exit:{opacity:dB}};vq(g,{stroke:o("gradientStrokeColor"),strokeWidth:o("gradientStrokeWidth")},{opacity:o("gradientOpacity")});return zB({type:mB,role:Rq,key:VI,from:r,encode:g},i)}const OB=`datum.${XI}<=0?"${LI}":datum.${XI}>=1?"${PI}":"${FI}"`,RB=`datum.${XI}<=0?"${qI}":datum.${XI}>=1?"${CI}":"${UI}"`;function DB(t,e,n,i){const r=xB(t,e),o=r.isVertical(),a=gq(r.gradientThickness()),s=r.gradientLength();let l=r("labelOverlap"),u,c,f,d,h="";const p={enter:u={opacity:dB},update:c={opacity:hB,text:{field:GI}},exit:{opacity:dB}};vq(p,{fill:r("labelColor"),fillOpacity:r("labelOpacity"),font:r("labelFont"),fontSize:r("labelFontSize"),fontStyle:r("labelFontStyle"),fontWeight:r("labelFontWeight"),limit:kF(t.labelLimit,e.gradientLabelLimit)});if(o){u.align={value:"left"};u.baseline=c.baseline={signal:RB};f="y";d="x";h="1-"}else{u.align=c.align={signal:OB};u.baseline={value:"top"};f="x";d="y"}u[f]=c[f]={signal:h+"datum."+XI,mult:s};u[d]=c[d]=a;a.offset=kF(t.labelOffset,e.gradientLabelOffset)||0;l=l?{separation:r("labelSeparation"),method:l,order:"datum."+YI}:undefined;return zB({type:vB,role:Nq,style:KI,key:VI,from:i,encode:p,overlap:l},n)}function TB(t,e,n,i,r){const o=xB(t,e),a=n.entries,s=!!(a&&a.interactive),l=a?a.name:undefined,u=o("clipHeight"),c=o("symbolOffset"),f={data:"value"},d=`(${r}) ? datum.${WI} : datum.${iB}`,h=u?gq(u):{field:iB},p=`datum.${YI}`,m=`max(1, ${r})`;let g,y,v,b,x;h.mult=.5;g={enter:y={opacity:dB,x:{signal:d,mult:.5,offset:c},y:h},update:v={opacity:hB,x:y.x,y:y.y},exit:{opacity:dB}};let _=null,w=null;if(!t.fill){_=e.symbolBaseFillColor;w=e.symbolBaseStrokeColor}vq(g,{fill:o("symbolFillColor",_),shape:o("symbolType"),size:o("symbolSize"),stroke:o("symbolStrokeColor",w),strokeDash:o("symbolDash"),strokeDashOffset:o("symbolDashOffset"),strokeWidth:o("symbolStrokeWidth")},{opacity:o("symbolOpacity")});cB.forEach((e=>{if(t[e]){v[e]=y[e]={scale:t[e],field:VI}}}));const k=zB({type:yB,role:Cq,key:VI,from:f,clip:u?true:undefined,encode:g},n.symbols);const M=gq(c);M.offset=o("labelOffset");g={enter:y={opacity:dB,x:{signal:d,offset:M},y:h},update:v={opacity:hB,text:{field:GI},x:y.x,y:y.y},exit:{opacity:dB}};vq(g,{align:o("labelAlign"),baseline:o("labelBaseline"),fill:o("labelColor"),fillOpacity:o("labelOpacity"),font:o("labelFont"),fontSize:o("labelFontSize"),fontStyle:o("labelFontStyle"),fontWeight:o("labelFontWeight"),limit:o("labelLimit")});const S=zB({type:vB,role:Nq,style:KI,key:VI,from:f,encode:g},n.labels);g={enter:{noBound:{value:!u},width:dB,height:u?gq(u):dB,opacity:dB},exit:{opacity:dB},update:v={opacity:hB,row:{signal:null},column:{signal:null}}};if(o.isVertical(true)){b=`ceil(item.mark.items.length / ${m})`;v.row.signal=`${p}%${b}`;v.column.signal=`floor(${p} / ${b})`;x={field:["row",p]}}else{v.row.signal=`floor(${p} / ${m})`;v.column.signal=`${p} % ${m}`;x={field:p}}v.column.signal=`(${r})?${v.column.signal}:${p}`;i={facet:{data:i,name:"value",groupby:YI}};return bB({role:kq,from:i,encode:bq(g,a,fB),marks:[k,S],name:l,interactive:s,sort:x})}function NB(t,e){const n=xB(t,e);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:true,column:false},padding:{row:n("rowPadding"),column:n("columnPadding")}}}const CB='item.orient === "left"',LB='item.orient === "right"',PB=`(${CB} || ${LB})`,qB=`datum.vgrad && ${PB}`,FB=kB('"top"','"bottom"','"middle"'),IB=kB('"right"','"left"','"center"'),BB=`datum.vgrad && ${LB} ? (${IB}) : (${PB} && !(datum.vgrad && ${CB})) ? "left" : ${MB}`,UB=`item._anchor || (${PB} ? "middle" : "start")`,jB=`${qB} ? (${CB} ? -90 : 90) : 0`,YB=`${PB} ? (datum.vgrad ? (${LB} ? "bottom" : "top") : ${FB}) : "top"`;function GB(t,e,n,i){const r=xB(t,e);const o={enter:{opacity:dB},update:{opacity:hB,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:dB}};vq(o,{orient:r("titleOrient"),_anchor:r("titleAnchor"),anchor:{signal:UB},angle:{signal:jB},align:{signal:BB},baseline:{signal:YB},text:t.title,fill:r("titleColor"),fillOpacity:r("titleOpacity"),font:r("titleFont"),fontSize:r("titleFontSize"),fontStyle:r("titleFontStyle"),fontWeight:r("titleFontWeight"),limit:r("titleLimit"),lineHeight:r("titleLineHeight")},{align:r("titleAlign"),baseline:r("titleBaseline")});return zB({type:vB,role:Lq,style:ZI,from:i,encode:o},n)}function WB(t,e){let n;if((0,p.Gv)(t)){if(t.signal){n=t.signal}else if(t.path){n="pathShape("+XB(t.path)+")"}else if(t.sphere){n="geoShape("+XB(t.sphere)+', {type: "Sphere"})'}}return n?e.signalRef(n):!!t}function XB(t){return(0,p.Gv)(t)&&t.signal?t.signal:(0,p.r$)(t)}function HB(t){const e=t.role||"";return!e.indexOf("axis")||!e.indexOf("legend")||!e.indexOf("title")?e:t.type===pB?kq:e||_q}function VB(t){return{marktype:t.type,name:t.name||undefined,role:t.role||HB(t),zindex:+t.zindex||undefined,aria:t.aria,description:t.description}}function KB(t,e){return t&&t.signal?e.signalRef(t.signal):t===false?false:true}function ZB(t,e){const n=Ni(t.type);if(!n)(0,p.z3)("Unrecognized transform type: "+(0,p.r$)(t.type));const i=sF(n.type.toLowerCase(),null,QB(n,t,e));if(t.signal)e.addSignal(t.signal,e.proxy(i));i.metadata=n.metadata||{};return i}function QB(t,e,n){const i={},r=t.params.length;for(let o=0;o<r;++o){const r=t.params[o];i[r.name]=JB(r,e,n)}return i}function JB(t,e,n){const i=t.type,r=e[t.name];if(i==="index"){return eU(t,e,n)}else if(r===undefined){if(t.required){(0,p.z3)("Missing required "+(0,p.r$)(e.type)+" parameter: "+(0,p.r$)(t.name))}return}else if(i==="param"){return nU(t,e,n)}else if(i==="projection"){return n.projectionRef(e[t.name])}return t.array&&!xF(r)?r.map((e=>tU(t,e,n))):tU(t,r,n)}function tU(t,e,n){const i=t.type;if(xF(e)){return sU(i)?(0,p.z3)("Expression references can not be signals."):lU(i)?n.fieldRef(e):uU(i)?n.compareRef(e):n.signalRef(e.signal)}else{const r=t.expr||lU(i);return r&&rU(e)?n.exprRef(e.expr,e.as):r&&oU(e)?cF(e.field,e.as):sU(i)?nL(e,n):aU(i)?uF(n.getData(e).values):lU(i)?cF(e):uU(i)?n.compareRef(e):e}}function eU(t,e,n){if(!(0,p.Kg)(e.from)){(0,p.z3)('Lookup "from" parameter must be a string literal.')}return n.getData(e.from).lookupRef(n,e.key)}function nU(t,e,n){const i=e[t.name];if(t.array){if(!(0,p.cy)(i)){(0,p.z3)("Expected an array of sub-parameters. Instead: "+(0,p.r$)(i))}return i.map((e=>iU(t,e,n)))}else{return iU(t,i,n)}}function iU(t,e,n){const i=t.params.length;let r;for(let a=0;a<i;++a){r=t.params[a];for(const t in r.key){if(r.key[t]!==e[t]){r=null;break}}if(r)break}if(!r)(0,p.z3)("Unsupported parameter: "+(0,p.r$)(e));const o=(0,p.X$)(QB(r,e,n),r.key);return uF(n.add(nI(o)))}const rU=t=>t&&t.expr;const oU=t=>t&&t.field;const aU=t=>t==="data";const sU=t=>t==="expr";const lU=t=>t==="field";const uU=t=>t==="compare";function cU(t,e,n){let i,r,o,a,s;if(!t){a=uF(n.add(UF(null,[{}])))}else if(i=t.facet){if(!e)(0,p.z3)("Only group marks can be faceted.");if(i.field!=null){a=s=fU(i,n)}else{if(!t.data){o=ZB((0,p.X$)({type:"aggregate",groupby:(0,p.YO)(i.groupby)},i.aggregate),n);o.params.key=n.keyRef(i.groupby);o.params.pulse=fU(i,n);a=s=uF(n.add(o))}else{s=uF(n.getData(t.data).aggregate)}r=n.keyRef(i.groupby,true)}}if(!a){a=fU(t,n)}return{key:r,pulse:a,parent:s}}function fU(t,e){return t.$ref?t:t.data&&t.data.$ref?t.data:uF(e.getData(t.data).output)}function dU(t,e,n,i,r){this.scope=t;this.input=e;this.output=n;this.values=i;this.aggregate=r;this.index={}}dU.fromEntries=function(t,e){const n=e.length,i=e[n-1],r=e[n-2];let o=e[0],a=null,s=1;if(o&&o.type==="load"){o=e[1]}t.add(e[0]);for(;s<n;++s){e[s].params.pulse=uF(e[s-1]);t.add(e[s]);if(e[s].type==="aggregate")a=e[s]}return new dU(t,o,r,i,a)};function hU(t){return(0,p.Kg)(t)?t:null}function pU(t,e,n){const i=yF(n.op,n.field);let r;if(e.ops){for(let t=0,n=e.as.length;t<n;++t){if(e.as[t]===i)return}}else{e.ops=["count"];e.fields=[null];e.as=["count"]}if(n.op){e.ops.push((r=n.op.signal)?t.signalRef(r):n.op);e.fields.push(t.fieldRef(n.field));e.as.push(i)}}function mU(t,e,n,i,r,o,a){const s=e[n]||(e[n]={}),l=gF(o);let u=hU(r),c,f;if(u!=null){t=e.scope;u=u+(l?"|"+l:"");c=s[u]}if(!c){const n=o?{field:fF,pulse:e.countsRef(t,r,o)}:{field:t.fieldRef(r),pulse:uF(e.output)};if(l)n.sort=t.sortRef(o);f=t.add(sF(i,undefined,n));if(a)e.index[r]=f;c=uF(f);if(u!=null)s[u]=c}return c}dU.prototype={countsRef(t,e,n){const i=this,r=i.counts||(i.counts={}),o=hU(e);let a,s,l;if(o!=null){t=i.scope;a=r[o]}if(!a){l={groupby:t.fieldRef(e,"key"),pulse:uF(i.output)};if(n&&n.field)pU(t,l,n);s=t.add(FF(l));a=t.add(UF({pulse:uF(s)}));a={agg:s,ref:uF(a)};if(o!=null)r[o]=a}else if(n&&n.field){pU(t,a.agg.params,n)}return a.ref},tuplesRef(){return uF(this.values)},extentRef(t,e){return mU(t,this,"extent","extent",e,false)},domainRef(t,e){return mU(t,this,"domain","values",e,false)},valuesRef(t,e,n){return mU(t,this,"vals","values",e,n||true)},lookupRef(t,e){return mU(t,this,"lookup","tupleindex",e,false)},indataRef(t,e){return mU(t,this,"indata","tupleindex",e,true,true)}};function gU(t,e,n){const i=t.from.facet,r=i.name,o=fU(i,e);let a;if(!i.name){(0,p.z3)("Facet must have a name: "+(0,p.r$)(i))}if(!i.data){(0,p.z3)("Facet must reference a data set: "+(0,p.r$)(i))}if(i.field){a=e.add(iI({field:e.fieldRef(i.field),pulse:o}))}else if(i.groupby){a=e.add(XF({key:e.keyRef(i.groupby),group:uF(e.proxy(n.parent)),pulse:o}))}else{(0,p.z3)("Facet must specify groupby or field: "+(0,p.r$)(i))}const s=e.fork(),l=s.add(UF()),u=s.add(uI({pulse:uF(l)}));s.addData(r,new dU(s,l,l,u));s.addSignal("parent",null);a.params.subflow={$subflow:s.parse(t).toRuntime()}}function yU(t,e,n){const i=e.add(iI({pulse:n.pulse})),r=e.fork();r.add(uI());r.addSignal("parent",null);i.params.subflow={$subflow:r.parse(t).toRuntime()}}function vU(t,e,n){const i=t.remove,r=t.insert,o=t.toggle,a=t.modify,s=t.values,l=e.add(lF());const u="if("+t.trigger+',modify("'+n+'",'+[r,i,o,a,s].map((t=>t==null?"null":t)).join(",")+"),0)";const c=nL(u,e);l.update=c.$expr;l.params=c.$params}function bU(t,e){const n=HB(t),i=t.type===pB,r=t.from&&t.from.facet,o=t.overlap;let a=t.layout||n===kq||n===wq,s,l,u,c,f,d,h;const m=n===_q||a||r;const g=cU(t.from,i,e);l=e.add(YF({key:g.key||(t.key?cF(t.key):undefined),pulse:g.pulse,clean:!i}));const y=uF(l);l=u=e.add(UF({pulse:y}));l=e.add(QF({markdef:VB(t),interactive:KB(t.interactive,e),clip:WB(t.clip,e),context:{$context:true},groups:e.lookup(),parent:e.signals.parent?e.signalRef("parent"):null,index:e.markpath(),pulse:uF(l)}));const v=uF(l);l=c=e.add(GF(Qq(t.encode,t.type,n,t.style,e,{mod:false,pulse:v})));l.params.parent=e.encode();if(t.transform){t.transform.forEach((t=>{const n=ZB(t,e),i=n.metadata;if(i.generates||i.changes){(0,p.z3)("Mark transforms should not generate new data.")}if(!i.nomod)c.params.mod=true;n.params.pulse=uF(l);e.add(l=n)}))}if(t.sort){l=e.add(cI({sort:e.compareRef(t.sort),pulse:uF(l)}))}const b=uF(l);if(r||a){a=e.add(fI({layout:e.objectProperty(t.layout),legends:e.legends,mark:v,pulse:b}));d=uF(a)}const x=e.add(BF({mark:v,pulse:d||b}));h=uF(x);if(i){if(m){s=e.operators;s.pop();if(a)s.pop()}e.pushState(b,d||h,y);r?gU(t,e,g):m?yU(t,e,g):e.parse(t);e.popState();if(m){if(a)s.push(a);s.push(x)}}if(o){h=xU(o,h,e)}const _=e.add(sI({pulse:h})),w=e.add(uI({pulse:uF(_)},undefined,e.parent()));if(t.name!=null){f=t.name;e.addData(f,new dU(e,u,_,w));if(t.on)t.on.forEach((t=>{if(t.insert||t.remove||t.toggle){(0,p.z3)("Marks only support modify triggers.")}vU(t,e,f)}))}}function xU(t,e,n){const i=t.method,r=t.bound,o=t.separation;const a={separation:xF(o)?n.signalRef(o.signal):o,method:xF(i)?n.signalRef(i.signal):i,pulse:e};if(t.order){a.sort=n.compareRef({field:t.order})}if(r){const t=r.tolerance;a.boundTolerance=xF(t)?n.signalRef(t.signal):+t;a.boundScale=n.scaleRef(r.scale);a.boundOrient=r.orient}return uF(n.add(eI(a)))}function _U(t,e){const n=e.config.legend,i=t.encode||{},r=xB(t,n),o=i.legend||{},a=o.name||undefined,s=o.interactive,l=o.style,u={};let c=0,f,d,h;cB.forEach((e=>t[e]?(u[e]=t[e],c=c||t[e]):0));if(!c)(0,p.z3)("Missing valid scale for legend.");const m=wU(t,e.scaleType(c));const g={title:t.title!=null,scales:u,type:m,vgrad:m!=="symbol"&&r.isVertical()};const y=uF(e.add(UF(null,[g])));const v={enter:{x:{value:0},y:{value:0}}};const b=uF(e.add(KF(d={type:m,scale:e.scaleRef(c),count:e.objectProperty(r("tickCount")),limit:e.property(r("symbolLimit")),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)})));if(m===eB){h=[AB(t,c,n,i.gradient),DB(t,n,i.labels,b)];d.count=d.count||e.signalRef(`max(2,2*floor((${MF(r.gradientLength())})/100))`)}else if(m===nB){h=[$B(t,c,n,i.gradient,b),DB(t,n,i.labels,b)]}else{f=NB(t,n);h=[TB(t,n,i,b,MF(f.columns))];d.size=SU(t,e,h[0].marks)}h=[bB({role:Dq,from:y,encode:v,marks:h,layout:f,interactive:s})];if(g.title){h.push(GB(t,n,i.title,y))}return bU(bB({role:Oq,from:y,encode:bq(MU(r,t,n),o,fB),marks:h,aria:r("aria"),description:r("description"),zindex:r("zindex"),name:a,interactive:s,style:l}),e)}function wU(t,e){let n=t.type||tB;if(!t.type&&kU(t)===1&&(t.fill||t.stroke)){n=Lu(e)?eB:qu(e)?nB:tB}return n!==eB?n:qu(e)?nB:eB}function kU(t){return cB.reduce(((e,n)=>e+(t[n]?1:0)),0)}function MU(t,e,n){const i={enter:{},update:{}};vq(i,{orient:t("orient"),offset:t("offset"),padding:t("padding"),titlePadding:t("titlePadding"),cornerRadius:t("cornerRadius"),fill:t("fillColor"),stroke:t("strokeColor"),strokeWidth:n.strokeWidth,strokeDash:n.strokeDash,x:t("legendX"),y:t("legendY"),format:e.format,formatType:e.formatType});return i}function SU(t,e,n){const i=MF(EU("size",t,n)),r=MF(EU("strokeWidth",t,n)),o=MF(zU(n[1].encode,e,KI));return nL(`max(ceil(sqrt(${i})+${r}),${o})`,e)}function EU(t,e,n){return e[t]?`scale("${e[t]}",datum)`:_B(t,n[0].encode)}function zU(t,e,n){return _B("fontSize",t)||wB("fontSize",e,n)}const AU=`item.orient==="${LI}"?-90:item.orient==="${PI}"?90:0`;function $U(t,e){t=(0,p.Kg)(t)?{text:t}:t;const n=xB(t,e.config.title),i=t.encode||{},r=i.group||{},o=r.name||undefined,a=r.interactive,s=r.style,l=[];const u={},c=uF(e.add(UF(null,[u])));l.push(DU(t,n,OU(t),c));if(t.subtitle){l.push(TU(t,n,i.subtitle,c))}return bU(bB({role:Pq,from:c,encode:RU(n,r),marks:l,aria:n("aria"),description:n("description"),zindex:n("zindex"),name:o,interactive:a,style:s}),e)}function OU(t){const e=t.encode;return e&&e.title||(0,p.X$)({name:t.name,interactive:t.interactive,style:t.style},e)}function RU(t,e){const n={enter:{},update:{}};vq(n,{orient:t("orient"),anchor:t("anchor"),align:{signal:MB},angle:{signal:AU},limit:t("limit"),frame:t("frame"),offset:t("offset")||0,padding:t("subtitlePadding")});return bq(n,e,fB)}function DU(t,e,n,i){const r={value:0},o=t.text,a={enter:{opacity:r},update:{opacity:{value:1}},exit:{opacity:r}};vq(a,{text:o,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:e("dx"),dy:e("dy"),fill:e("color"),font:e("font"),fontSize:e("fontSize"),fontStyle:e("fontStyle"),fontWeight:e("fontWeight"),lineHeight:e("lineHeight")},{align:e("align"),angle:e("angle"),baseline:e("baseline")});return zB({type:vB,role:qq,style:QI,from:i,encode:a},n)}function TU(t,e,n,i){const r={value:0},o=t.subtitle,a={enter:{opacity:r},update:{opacity:{value:1}},exit:{opacity:r}};vq(a,{text:o,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:e("dx"),dy:e("dy"),fill:e("subtitleColor"),font:e("subtitleFont"),fontSize:e("subtitleFontSize"),fontStyle:e("subtitleFontStyle"),fontWeight:e("subtitleFontWeight"),lineHeight:e("subtitleLineHeight")},{align:e("align"),angle:e("angle"),baseline:e("baseline")});return zB({type:vB,role:Fq,style:JI,from:i,encode:a},n)}function NU(t,e){const n=[];if(t.transform){t.transform.forEach((t=>{n.push(ZB(t,e))}))}if(t.on){t.on.forEach((n=>{vU(n,e,t.name)}))}e.addDataPipeline(t.name,CU(t,e,n))}function CU(t,e,n){const i=[];let r=null,o=false,a=false,s,l,u,c,f;if(t.values){if(xF(t.values)||wF(t.format)){i.push(PU(e,t));i.push(r=LU())}else{i.push(r=LU({$ingest:t.values,$format:t.format}))}}else if(t.url){if(wF(t.url)||wF(t.format)){i.push(PU(e,t));i.push(r=LU())}else{i.push(r=LU({$request:t.url,$format:t.format}))}}else if(t.source){r=s=(0,p.YO)(t.source).map((t=>uF(e.getData(t).output)));i.push(null)}for(l=0,u=n.length;l<u;++l){c=n[l];f=c.metadata;if(!r&&!f.source){i.push(r=LU())}i.push(c);if(f.generates)a=true;if(f.modifies&&!a)o=true;if(f.source)r=c;else if(f.changes)r=null}if(s){u=s.length-1;i[0]=aI({derive:o,pulse:u?s:s[0]});if(o||u){i.splice(1,0,LU())}}if(!r)i.push(LU());i.push(uI({}));return i}function LU(t){const e=UF({},t);e.metadata={source:true};return e}function PU(t,e){return ZF({url:e.url?t.property(e.url):undefined,async:e.async?t.property(e.async):undefined,values:e.values?t.property(e.values):undefined,format:t.objectProperty(e.format)})}const qU=t=>t===qI||t===CI;const FU=(t,e,n)=>xF(t)?WU(t.signal,e,n):t===LI||t===CI?e:n;const IU=(t,e,n)=>xF(t)?YU(t.signal,e,n):qU(t)?e:n;const BU=(t,e,n)=>xF(t)?GU(t.signal,e,n):qU(t)?n:e;const UU=(t,e,n)=>xF(t)?XU(t.signal,e,n):t===CI?{value:e}:{value:n};const jU=(t,e,n)=>xF(t)?HU(t.signal,e,n):t===PI?{value:e}:{value:n};const YU=(t,e,n)=>VU(`${t} === '${CI}' || ${t} === '${qI}'`,e,n);const GU=(t,e,n)=>VU(`${t} !== '${CI}' && ${t} !== '${qI}'`,e,n);const WU=(t,e,n)=>ZU(`${t} === '${LI}' || ${t} === '${CI}'`,e,n);const XU=(t,e,n)=>ZU(`${t} === '${CI}'`,e,n);const HU=(t,e,n)=>ZU(`${t} === '${PI}'`,e,n);const VU=(t,e,n)=>{e=e!=null?gq(e):e;n=n!=null?gq(n):n;if(KU(e)&&KU(n)){e=e?e.signal||(0,p.r$)(e.value):null;n=n?n.signal||(0,p.r$)(n.value):null;return{signal:`${t} ? (${e}) : (${n})`}}else{return[(0,p.X$)({test:t},e)].concat(n||[])}};const KU=t=>t==null||Object.keys(t).length===1;const ZU=(t,e,n)=>({signal:`${t} ? (${JU(e)}) : (${JU(n)})`});const QU=(t,e,n,i,r)=>({signal:(i!=null?`${t} === '${LI}' ? (${JU(i)}) : `:"")+(n!=null?`${t} === '${qI}' ? (${JU(n)}) : `:"")+(r!=null?`${t} === '${PI}' ? (${JU(r)}) : `:"")+(e!=null?`${t} === '${CI}' ? (${JU(e)}) : `:"")+"(null)"});const JU=t=>xF(t)?t.signal:t==null?null:(0,p.r$)(t);const tj=(t,e)=>e===0?0:xF(t)?{signal:`(${t.signal}) * ${e}`}:{value:t*e};const ej=(t,e)=>{const n=t.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+e.signal}:t};function nj(t,e,n,i){let r;if(e&&(0,p.mQ)(e,t)){return e[t]}else if((0,p.mQ)(n,t)){return n[t]}else if(t.startsWith("title")){switch(t){case"titleColor":r="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":r=t[5].toLowerCase()+t.slice(6)}return i[ZI][r]}else if(t.startsWith("label")){switch(t){case"labelColor":r="fill";break;case"labelFont":case"labelFontSize":r=t[5].toLowerCase()+t.slice(6)}return i[KI][r]}return null}function ij(t){const e={};for(const n of t){if(!n)continue;for(const t in n)e[t]=1}return Object.keys(e)}function rj(t,e){var n=e.config,i=n.style,r=n.axis,o=e.scaleType(t.scale)==="band"&&n.axisBand,a=t.orient,s,l,u;if(xF(a)){const t=ij([n.axisX,n.axisY]),e=ij([n.axisTop,n.axisBottom,n.axisLeft,n.axisRight]);s={};for(u of t){s[u]=IU(a,nj(u,n.axisX,r,i),nj(u,n.axisY,r,i))}l={};for(u of e){l[u]=QU(a.signal,nj(u,n.axisTop,r,i),nj(u,n.axisBottom,r,i),nj(u,n.axisLeft,r,i),nj(u,n.axisRight,r,i))}}else{s=a===CI||a===qI?n.axisX:n.axisY;l=n["axis"+a[0].toUpperCase()+a.slice(1)]}const c=s||l||o?(0,p.X$)({},r,s,l,o):r;return c}function oj(t,e,n,i){const r=xB(t,e),o=t.orient;let a,s;const l={enter:a={opacity:dB},update:s={opacity:hB},exit:{opacity:dB}};vq(l,{stroke:r("domainColor"),strokeCap:r("domainCap"),strokeDash:r("domainDash"),strokeDashOffset:r("domainDashOffset"),strokeWidth:r("domainWidth"),strokeOpacity:r("domainOpacity")});const u=aj(t,0);const c=aj(t,1);a.x=s.x=IU(o,u,dB);a.x2=s.x2=IU(o,c);a.y=s.y=BU(o,u,dB);a.y2=s.y2=BU(o,c);return zB({type:gB,role:Sq,from:i,encode:l},n)}function aj(t,e){return{scale:t.scale,range:e}}function sj(t,e,n,i,r){const o=xB(t,e),a=t.orient,s=t.gridScale,l=FU(a,1,-1),u=lj(t.offset,l);let c,f,d;const h={enter:c={opacity:dB},update:d={opacity:hB},exit:f={opacity:dB}};vq(h,{stroke:o("gridColor"),strokeCap:o("gridCap"),strokeDash:o("gridDash"),strokeDashOffset:o("gridDashOffset"),strokeOpacity:o("gridOpacity"),strokeWidth:o("gridWidth")});const m={scale:t.scale,field:VI,band:r.band,extra:r.extra,offset:r.offset,round:o("tickRound")};const g=IU(a,{signal:"height"},{signal:"width"});const y=s?{scale:s,range:0,mult:l,offset:u}:{value:0,offset:u};const v=s?{scale:s,range:1,mult:l,offset:u}:(0,p.X$)(g,{mult:l,offset:u});c.x=d.x=IU(a,m,y);c.y=d.y=BU(a,m,y);c.x2=d.x2=BU(a,v);c.y2=d.y2=IU(a,v);f.x=IU(a,m);f.y=BU(a,m);return zB({type:gB,role:Eq,key:VI,from:i,encode:h},n)}function lj(t,e){if(e===1);else if(!(0,p.Gv)(t)){t=xF(e)?{signal:`(${e.signal}) * (${t||0})`}:e*(t||0)}else{let n=t=(0,p.X$)({},t);while(n.mult!=null){if(!(0,p.Gv)(n.mult)){n.mult=xF(e)?{signal:`(${n.mult}) * (${e.signal})`}:n.mult*e;return t}else{n=n.mult=(0,p.X$)({},n.mult)}}n.mult=e}return t}function uj(t,e,n,i,r,o){const a=xB(t,e),s=t.orient,l=FU(s,-1,1);let u,c,f;const d={enter:u={opacity:dB},update:f={opacity:hB},exit:c={opacity:dB}};vq(d,{stroke:a("tickColor"),strokeCap:a("tickCap"),strokeDash:a("tickDash"),strokeDashOffset:a("tickDashOffset"),strokeOpacity:a("tickOpacity"),strokeWidth:a("tickWidth")});const h=gq(r);h.mult=l;const p={scale:t.scale,field:VI,band:o.band,extra:o.extra,offset:o.offset,round:a("tickRound")};f.y=u.y=IU(s,dB,p);f.y2=u.y2=IU(s,h);c.x=IU(s,p);f.x=u.x=BU(s,dB,p);f.x2=u.x2=BU(s,h);c.y=BU(s,p);return zB({type:gB,role:Aq,key:VI,from:i,encode:d},n)}function cj(t,e,n,i,r){return{signal:'flush(range("'+t+'"), '+'scale("'+t+'", datum.value), '+e+","+n+","+i+","+r+")"}}function fj(t,e,n,i,r,o){const a=xB(t,e),s=t.orient,l=t.scale,u=FU(s,-1,1),c=MF(a("labelFlush")),f=MF(a("labelFlushOffset")),d=a("labelAlign"),h=a("labelBaseline");let p=c===0||!!c,m;const g=gq(r);g.mult=u;g.offset=gq(a("labelPadding")||0);g.offset.mult=u;const y={scale:l,field:VI,band:.5,offset:EB(o.offset,a("labelOffset"))};const v=IU(s,p?cj(l,c,'"left"','"right"','"center"'):{value:"center"},jU(s,"left","right"));const b=IU(s,UU(s,"bottom","top"),p?cj(l,c,'"top"','"bottom"','"middle"'):{value:"middle"});const x=cj(l,c,`-(${f})`,f,0);p=p&&f;const _={opacity:dB,x:IU(s,y,g),y:BU(s,y,g)};const w={enter:_,update:m={opacity:hB,text:{field:GI},x:_.x,y:_.y,align:v,baseline:b},exit:{opacity:dB,x:_.x,y:_.y}};vq(w,{dx:!d&&p?IU(s,x):null,dy:!h&&p?BU(s,x):null});vq(w,{angle:a("labelAngle"),fill:a("labelColor"),fillOpacity:a("labelOpacity"),font:a("labelFont"),fontSize:a("labelFontSize"),fontWeight:a("labelFontWeight"),fontStyle:a("labelFontStyle"),limit:a("labelLimit"),lineHeight:a("labelLineHeight")},{align:d,baseline:h});const k=a("labelBound");let M=a("labelOverlap");M=M||k?{separation:a("labelSeparation"),method:M,order:"datum.index",bound:k?{scale:l,orient:s,tolerance:k}:null}:undefined;if(m.align!==v){m.align=ej(m.align,v)}if(m.baseline!==b){m.baseline=ej(m.baseline,b)}return zB({type:vB,role:zq,style:KI,key:VI,from:i,encode:w,overlap:M},n)}function dj(t,e,n,i){const r=xB(t,e),o=t.orient,a=FU(o,-1,1);let s,l;const u={enter:s={opacity:dB,anchor:gq(r("titleAnchor",null)),align:{signal:MB}},update:l=(0,p.X$)({},s,{opacity:hB,text:gq(t.title)}),exit:{opacity:dB}};const c={signal:`lerp(range("${t.scale}"), ${kB(0,1,.5)})`};l.x=IU(o,c);l.y=BU(o,c);s.angle=IU(o,dB,tj(a,90));s.baseline=IU(o,UU(o,qI,CI),{value:qI});l.angle=s.angle;l.baseline=s.baseline;vq(u,{fill:r("titleColor"),fillOpacity:r("titleOpacity"),font:r("titleFont"),fontSize:r("titleFontSize"),fontStyle:r("titleFontStyle"),fontWeight:r("titleFontWeight"),limit:r("titleLimit"),lineHeight:r("titleLineHeight")},{align:r("titleAlign"),angle:r("titleAngle"),baseline:r("titleBaseline")});hj(r,o,u,n);u.update.align=ej(u.update.align,s.align);u.update.angle=ej(u.update.angle,s.angle);u.update.baseline=ej(u.update.baseline,s.baseline);return zB({type:vB,role:$q,style:ZI,from:i,encode:u},n)}function hj(t,e,n,i){const r=(t,e)=>t!=null?(n.update[e]=ej(gq(t),n.update[e]),false):!xq(e,i)?true:false;const o=r(t("titleX"),"x"),a=r(t("titleY"),"y");n.enter.auto=a===o?gq(a):IU(e,gq(a),gq(o))}function pj(t,e){const n=rj(t,e),i=t.encode||{},r=i.axis||{},o=r.name||undefined,a=r.interactive,s=r.style,l=xB(t,n),u=SB(l);const c={scale:t.scale,ticks:!!l("ticks"),labels:!!l("labels"),grid:!!l("grid"),domain:!!l("domain"),title:t.title!=null};const f=uF(e.add(UF({},[c])));const d=uF(e.add(IF({scale:e.scaleRef(t.scale),extra:e.property(u.extra),count:e.objectProperty(t.tickCount),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)})));const h=[];let p;if(c.grid){h.push(sj(t,n,i.grid,d,u))}if(c.ticks){p=l("tickSize");h.push(uj(t,n,i.ticks,d,p,u))}if(c.labels){p=c.ticks?p:0;h.push(fj(t,n,i.labels,d,p,u))}if(c.domain){h.push(oj(t,n,i.domain,f))}if(c.title){h.push(dj(t,n,i.title,f))}return bU(bB({role:Mq,from:f,encode:bq(mj(l,t),r,fB),marks:h,aria:l("aria"),description:l("description"),zindex:l("zindex"),name:o,interactive:a,style:s}),e)}function mj(t,e){const n={enter:{},update:{}};vq(n,{orient:t("orient"),offset:t("offset")||0,position:kF(e.position,0),titlePadding:t("titlePadding"),minExtent:t("minExtent"),maxExtent:t("maxExtent"),range:{signal:`abs(span(range("${e.scale}")))`},translate:t("translate"),format:e.format,formatType:e.formatType});return n}function gj(t,e,n){const i=(0,p.YO)(t.signals),r=(0,p.YO)(t.scales);if(!n)i.forEach((t=>oF(t,e)));(0,p.YO)(t.projections).forEach((t=>TI(t,e)));r.forEach((t=>mI(t,e)));(0,p.YO)(t.data).forEach((t=>NU(t,e)));r.forEach((t=>gI(t,e)));(n||i).forEach((t=>PF(t,e)));(0,p.YO)(t.axes).forEach((t=>pj(t,e)));(0,p.YO)(t.marks).forEach((t=>bU(t,e)));(0,p.YO)(t.legends).forEach((t=>_U(t,e)));if(t.title)$U(t.title,e);e.parseLambdas();return e}const yj=t=>bq({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},t);function vj(t,e){const n=e.config;const i=uF(e.root=e.add(lF()));const r=xj(t,n);r.forEach((t=>oF(t,e)));e.description=t.description||n.description;e.eventConfig=n.events;e.legends=e.objectProperty(n.legend&&n.legend.layout);e.locale=n.locale;const o=e.add(UF());const a=e.add(GF(Qq(yj(t.encode),pB,wq,t.style,e,{pulse:uF(o)})));const s=e.add(fI({layout:e.objectProperty(t.layout),legends:e.legends,autosize:e.signalRef("autosize"),mark:i,pulse:uF(a)}));e.operators.pop();e.pushState(uF(a),uF(s),null);gj(t,e,r);e.operators.push(s);let l=e.add(BF({mark:i,pulse:uF(s)}));l=e.add(sI({pulse:uF(l)}));l=e.add(uI({pulse:uF(l)}));e.addData("root",new dU(e,o,o,l));return e}function bj(t,e){return e&&e.signal?{name:t,update:e.signal}:{name:t,value:e}}function xj(t,e){const n=n=>kF(t[n],e[n]),i=[bj("background",n("background")),bj("autosize",dq(n("autosize"))),bj("padding",mq(n("padding"))),bj("width",n("width")||0),bj("height",n("height")||0)],r=i.reduce(((t,e)=>(t[e.name]=e,t)),{}),o={};(0,p.YO)(t.signals).forEach((t=>{if((0,p.mQ)(r,t.name)){t=(0,p.X$)(r[t.name],t)}else{i.push(t)}o[t.name]=t}));(0,p.YO)(e.signals).forEach((t=>{if(!(0,p.mQ)(o,t.name)&&!(0,p.mQ)(r,t.name)){i.push(t)}}));return i}function _j(t,e){this.config=t||{};this.options=e||{};this.bindings=[];this.field={};this.signals={};this.lambdas={};this.scales={};this.events={};this.data={};this.streams=[];this.updates=[];this.operators=[];this.eventConfig=null;this.locale=null;this._id=0;this._subid=0;this._nextsub=[0];this._parent=[];this._encode=[];this._lookup=[];this._markpath=[]}function wj(t){this.config=t.config;this.options=t.options;this.legends=t.legends;this.field=Object.create(t.field);this.signals=Object.create(t.signals);this.lambdas=Object.create(t.lambdas);this.scales=Object.create(t.scales);this.events=Object.create(t.events);this.data=Object.create(t.data);this.streams=[];this.updates=[];this.operators=[];this._id=0;this._subid=++t._nextsub[0];this._nextsub=t._nextsub;this._parent=t._parent.slice();this._encode=t._encode.slice();this._lookup=t._lookup.slice();this._markpath=t._markpath}_j.prototype=wj.prototype={parse(t){return gj(t,this)},fork(){return new wj(this)},isSubscope(){return this._subid>0},toRuntime(){this.finish();return{description:this.description,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig,locale:this.locale}},id(){return(this._subid?this._subid+":":0)+this._id++},add(t){this.operators.push(t);t.id=this.id();if(t.refs){t.refs.forEach((e=>{e.$ref=t.id}));t.refs=null}return t},proxy(t){const e=t instanceof aF?uF(t):t;return this.add(oI({value:e}))},addStream(t){this.streams.push(t);t.id=this.id();return t},addUpdate(t){this.updates.push(t);return t},finish(){let t,e;if(this.root)this.root.root=true;for(t in this.signals){this.signals[t].signal=t}for(t in this.scales){this.scales[t].scale=t}function n(t,e,n){let i,r;if(t){i=t.data||(t.data={});r=i[e]||(i[e]=[]);r.push(n)}}for(t in this.data){e=this.data[t];n(e.input,t,"input");n(e.output,t,"output");n(e.values,t,"values");for(const i in e.index){n(e.index[i],t,"index:"+i)}}return this},pushState(t,e,n){this._encode.push(uF(this.add(uI({pulse:t}))));this._parent.push(e);this._lookup.push(n?uF(this.proxy(n)):null);this._markpath.push(-1)},popState(){this._encode.pop();this._parent.pop();this._lookup.pop();this._markpath.pop()},parent(){return(0,p.se)(this._parent)},encode(){return(0,p.se)(this._encode)},lookup(){return(0,p.se)(this._lookup)},markpath(){const t=this._markpath;return++t[t.length-1]},fieldRef(t,e){if((0,p.Kg)(t))return cF(t,e);if(!t.signal){(0,p.z3)("Unsupported field reference: "+(0,p.r$)(t))}const n=t.signal;let i=this.field[n];if(!i){const t={name:this.signalRef(n)};if(e)t.as=e;this.field[n]=i=uF(this.add(HF(t)))}return i},compareRef(t){let e=false;const n=t=>xF(t)?(e=true,this.signalRef(t.signal)):_F(t)?(e=true,this.exprRef(t.expr)):t;const i=(0,p.YO)(t.field).map(n),r=(0,p.YO)(t.order).map(n);return e?uF(this.add(jF({fields:i,orders:r}))):dF(i,r)},keyRef(t,e){let n=false;const i=t=>xF(t)?(n=true,uF(r[t.signal])):t;const r=this.signals;t=(0,p.YO)(t).map(i);return n?uF(this.add(VF({fields:t,flat:e}))):hF(t,e)},sortRef(t){if(!t)return t;const e=yF(t.op,t.field),n=t.order||pF;return n.signal?uF(this.add(jF({fields:e,orders:this.signalRef(n.signal)}))):dF(e,n)},event(t,e){const n=t+":"+e;if(!this.events[n]){const i=this.id();this.streams.push({id:i,source:t,type:e});this.events[n]=i}return this.events[n]},hasOwnSignal(t){return(0,p.mQ)(this.signals,t)},addSignal(t,e){if(this.hasOwnSignal(t)){(0,p.z3)("Duplicate signal name: "+(0,p.r$)(t))}const n=e instanceof aF?e:this.add(lF(e));return this.signals[t]=n},getSignal(t){if(!this.signals[t]){(0,p.z3)("Unrecognized signal name: "+(0,p.r$)(t))}return this.signals[t]},signalRef(t){if(this.signals[t]){return uF(this.signals[t])}else if(!(0,p.mQ)(this.lambdas,t)){this.lambdas[t]=this.add(lF(null))}return uF(this.lambdas[t])},parseLambdas(){const t=Object.keys(this.lambdas);for(let e=0,n=t.length;e<n;++e){const n=t[e],i=nL(n,this),r=this.lambdas[n];r.params=i.$params;r.update=i.$expr}},property(t){return t&&t.signal?this.signalRef(t.signal):t},objectProperty(t){return!t||!(0,p.Gv)(t)?t:this.signalRef(t.signal||kj(t))},exprRef(t,e){const n={expr:nL(t,this)};if(e)n.expr.$name=e;return uF(this.add(WF(n)))},addBinding(t,e){if(!this.bindings){(0,p.z3)("Nested signals do not support binding: "+(0,p.r$)(t))}this.bindings.push((0,p.X$)({signal:t},e))},addScaleProj(t,e){if((0,p.mQ)(this.scales,t)){(0,p.z3)("Duplicate scale or projection name: "+(0,p.r$)(t))}this.scales[t]=this.add(e)},addScale(t,e){this.addScaleProj(t,lI(e))},addProjection(t,e){this.addScaleProj(t,rI(e))},getScale(t){if(!this.scales[t]){(0,p.z3)("Unrecognized scale name: "+(0,p.r$)(t))}return this.scales[t]},scaleRef(t){return uF(this.getScale(t))},scaleType(t){return this.getScale(t).params.type},projectionRef(t){return this.scaleRef(t)},projectionType(t){return this.scaleType(t)},addData(t,e){if((0,p.mQ)(this.data,t)){(0,p.z3)("Duplicate data set name: "+(0,p.r$)(t))}return this.data[t]=e},getData(t){if(!this.data[t]){(0,p.z3)("Undefined data set name: "+(0,p.r$)(t))}return this.data[t]},addDataPipeline(t,e){if((0,p.mQ)(this.data,t)){(0,p.z3)("Duplicate data set name: "+(0,p.r$)(t))}return this.addData(t,dU.fromEntries(this,e))}};function kj(t){return((0,p.cy)(t)?Mj:Sj)(t)}function Mj(t){const e=t.length;let n="[";for(let i=0;i<e;++i){const e=t[i];n+=(i>0?",":"")+((0,p.Gv)(e)?e.signal||kj(e):(0,p.r$)(e))}return n+"]"}function Sj(t){let e="{",n=0,i,r;for(i in t){r=t[i];e+=(++n>1?",":"")+(0,p.r$)(i)+":"+((0,p.Gv)(r)?r.signal||kj(r):(0,p.r$)(r))}return e+"}"}function Ej(){const t="sans-serif",e=30,n=2,i="#4c78a8",r="#000",o="#888",a="#ddd";return{description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:i},area:{fill:i},image:null,line:{stroke:i,strokeWidth:n},path:{stroke:i},rect:{fill:i},rule:{stroke:r},shape:{stroke:i},symbol:{fill:i,size:64},text:{fill:r,font:t,fontSize:11},trail:{fill:i,size:n},style:{"guide-label":{fill:r,font:t,fontSize:10},"guide-title":{fill:r,font:t,fontSize:11,fontWeight:"bold"},"group-title":{fill:r,font:t,fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:r,font:t,fontSize:12},point:{size:e,strokeWidth:n,shape:"circle"},circle:{size:e,strokeWidth:n},square:{size:e,strokeWidth:n,shape:"square"},cell:{fill:"transparent",stroke:a},view:{fill:"transparent"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:true,domainWidth:1,domainColor:o,grid:false,gridWidth:1,gridColor:a,labels:true,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:true,tickColor:o,tickOffset:0,tickRound:true,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-.5},projection:{type:"mercator"},legend:{orient:"right",padding:0,gridAlign:"each",columnPadding:10,rowPadding:2,symbolDirection:"vertical",gradientDirection:"vertical",gradientLength:200,gradientThickness:16,gradientStrokeColor:a,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:true,symbolLimit:30,symbolType:"circle",symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:"transparent",symbolBaseStrokeColor:o,titleLimit:180,titleOrient:"top",titlePadding:5,layout:{offset:18,direction:"horizontal",left:{direction:"vertical"},right:{direction:"vertical"}}},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues"},heatmap:{scheme:"yellowgreenblue"},ramp:{scheme:"blues"},diverging:{scheme:"blueorange",extent:[1,0]},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}}}function zj(t,e,n){if(!(0,p.Gv)(t)){(0,p.z3)("Input Vega specification must be an object.")}e=(0,p.io)(Ej(),e,t.config);return vj(t,new _j(e,n)).toRuntime()}var Aj="5.24.0";(0,p.X$)(Ti,i,r,o,a,s,u,l,c,f,d,h)}}]);
|
1
|
+
"use strict";(self["webpackChunk_jupyterlab_application_top"]=self["webpackChunk_jupyterlab_application_top"]||[]).push([[9582],{99582:(t,e,n)=>{n.r(e);n.d(e,{Bounds:()=>ad,CanvasHandler:()=>Em,CanvasRenderer:()=>Cm,DATE:()=>it,DAY:()=>rt,DAYOFYEAR:()=>ot,Dataflow:()=>Oi,Debug:()=>p.y,Error:()=>p.$D,EventStream:()=>qn,Gradient:()=>Lc,GroupItem:()=>ld,HOURS:()=>at,Handler:()=>em,Info:()=>p.R2,Item:()=>sd,MILLISECONDS:()=>ut,MINUTES:()=>st,MONTH:()=>et,Marks:()=>qp,MultiPulse:()=>pi,None:()=>p.NV,Operator:()=>Tn,Parameters:()=>zn,Pulse:()=>ci,QUARTER:()=>tt,RenderType:()=>Bg,Renderer:()=>im,ResourceLoader:()=>ud,SECONDS:()=>lt,SVGHandler:()=>Fm,SVGRenderer:()=>vg,SVGStringRenderer:()=>Cg,Scenegraph:()=>Wp,TIME_UNITS:()=>ct,Transform:()=>Di,View:()=>aq,WEEK:()=>nt,Warn:()=>p.P$,YEAR:()=>J,accessor:()=>p.sY,accessorFields:()=>p.nS,accessorName:()=>p.N6,array:()=>p.YO,ascending:()=>p.V_,bandwidthNRD:()=>er,bin:()=>nr,bootstrapCI:()=>or,boundClip:()=>Kg,boundContext:()=>Rd,boundItem:()=>Fp,boundMark:()=>Bp,boundStroke:()=>dd,changeset:()=>Sn,clampRange:()=>p.BS,codegenExpression:()=>TD.Se,compare:()=>p.UD,constant:()=>p.dY,cumulativeLogNormal:()=>wr,cumulativeNormal:()=>mr,cumulativeUniform:()=>Ar,dayofyear:()=>yt,debounce:()=>p.sg,defaultLocale:()=>$e,definition:()=>Ni,densityLogNormal:()=>_r,densityNormal:()=>pr,densityUniform:()=>zr,domChild:()=>Kp,domClear:()=>Zp,domCreate:()=>Hp,domFind:()=>Vp,dotbin:()=>ar,error:()=>p.z3,expressionFunction:()=>eL,extend:()=>p.X$,extent:()=>p.Xx,extentIndex:()=>p.n,falsy:()=>p.me,fastmap:()=>p.nG,field:()=>p.ZZ,flush:()=>p.bX,font:()=>Ep,fontFamily:()=>Sp,fontSize:()=>yp,format:()=>an,formatLocale:()=>xe,formats:()=>sn,hasOwnProperty:()=>p.mQ,id:()=>p.id,identity:()=>p.D_,inferType:()=>Ke,inferTypes:()=>Ze,ingest:()=>bn,inherits:()=>p.B,inrange:()=>p.PK,interpolate:()=>Vu,interpolateColors:()=>Gu,interpolateRange:()=>Yu,intersect:()=>Yg,intersectBoxLine:()=>Ud,intersectPath:()=>qd,intersectPoint:()=>Fd,intersectRule:()=>Bd,isArray:()=>p.cy,isBoolean:()=>p.Lm,isDate:()=>p.$P,isFunction:()=>p.Tn,isIterable:()=>p.xZ,isNumber:()=>p.Et,isObject:()=>p.Gv,isRegExp:()=>p.gd,isString:()=>p.Kg,isTuple:()=>gn,key:()=>p.Eb,lerp:()=>p.Cc,lineHeight:()=>vp,loader:()=>fn,locale:()=>Ae,logger:()=>p.vF,lruCache:()=>p.EV,markup:()=>ug,merge:()=>p.h1,mergeConfig:()=>p.io,multiLineOffset:()=>_p,one:()=>p.xH,pad:()=>p.eV,panLinear:()=>p.VC,panLog:()=>p.KH,panPow:()=>p.co,panSymlog:()=>p.zy,parse:()=>zj,parseExpression:()=>TD.YK,parseSelector:()=>fq.P,path:()=>Vs.Ae,pathCurves:()=>qc,pathEqual:()=>Jg,pathParse:()=>Yc,pathRectangle:()=>bf,pathRender:()=>of,pathSymbols:()=>uf,pathTrail:()=>xf,peek:()=>p.se,point:()=>Jp,projection:()=>nM,quantileLogNormal:()=>kr,quantileNormal:()=>gr,quantileUniform:()=>$r,quantiles:()=>Ji,quantizeInterpolator:()=>Wu,quarter:()=>p.$G,quartiles:()=>tr,random:()=>ir,randomInteger:()=>ur,randomKDE:()=>br,randomLCG:()=>lr,randomLogNormal:()=>Mr,randomMixture:()=>Sr,randomNormal:()=>vr,randomUniform:()=>Or,read:()=>un,regressionExp:()=>Pr,regressionLinear:()=>Cr,regressionLoess:()=>Gr,regressionLog:()=>Lr,regressionPoly:()=>Ir,regressionPow:()=>qr,regressionQuad:()=>Fr,renderModule:()=>jg,repeat:()=>p.ux,resetDefaultLocale:()=>Oe,resetSVGClipId:()=>rd,resetSVGDefIds:()=>ey,responseType:()=>ln,runtimeContext:()=>DL,sampleCurve:()=>Kr,sampleLogNormal:()=>xr,sampleNormal:()=>hr,sampleUniform:()=>Er,scale:()=>Tu,sceneEqual:()=>Qg,sceneFromJSON:()=>Yp,scenePickVisit:()=>th,sceneToJSON:()=>jp,sceneVisit:()=>Jd,sceneZOrder:()=>Qd,scheme:()=>nc,serializeXML:()=>cg,setRandom:()=>rr,span:()=>p.Ln,splitAccessPath:()=>p.iv,stringValue:()=>p.r$,textMetrics:()=>fp,timeBin:()=>ce,timeFloor:()=>Nt,timeFormatLocale:()=>Ee,timeInterval:()=>It,timeOffset:()=>jt,timeSequence:()=>Wt,timeUnitSpecifier:()=>pt,timeUnits:()=>dt,toBoolean:()=>p.G4,toDate:()=>p.ay,toNumber:()=>p.Ro,toSet:()=>p.M1,toString:()=>p.dI,transform:()=>Ci,transforms:()=>Ti,truncate:()=>p.xv,truthy:()=>p.vN,tupleid:()=>yn,typeParsers:()=>Xe,utcFloor:()=>Pt,utcInterval:()=>Bt,utcOffset:()=>Yt,utcSequence:()=>Xt,utcdayofyear:()=>kt,utcquarter:()=>p.vu,utcweek:()=>Mt,version:()=>Aj,visitArray:()=>p.rt,week:()=>vt,writeConfig:()=>p.AU,zero:()=>p.v_,zoomLinear:()=>p.lL,zoomLog:()=>p.oV,zoomPow:()=>p.SW,zoomSymlog:()=>p.B2});var i={};n.r(i);n.d(i,{aggregate:()=>xo,bin:()=>wo,collect:()=>Mo,compare:()=>So,countpattern:()=>zo,cross:()=>$o,density:()=>Lo,dotbin:()=>jo,expression:()=>Go,extent:()=>Xo,facet:()=>Vo,field:()=>Ko,filter:()=>Qo,flatten:()=>Jo,fold:()=>ta,formula:()=>ea,generate:()=>na,impute:()=>oa,joinaggregate:()=>ua,kde:()=>ca,key:()=>fa,load:()=>ha,lookup:()=>ga,multiextent:()=>ya,multivalues:()=>ba,params:()=>_a,pivot:()=>wa,prefacet:()=>Ea,project:()=>za,proxy:()=>$a,quantile:()=>Oa,relay:()=>Da,sample:()=>Ta,sequence:()=>Na,sieve:()=>Ca,subflow:()=>Ho,timeunit:()=>La,tupleindex:()=>qa,values:()=>Fa,window:()=>Xa});var r={};n.r(r);n.d(r,{bound:()=>Fy,identifier:()=>Uy,mark:()=>Yy,overlap:()=>Wy,render:()=>tv,viewlayout:()=>Ov});var o={};n.r(o);n.d(o,{axisticks:()=>Cv,datajoin:()=>Lv,encode:()=>Fv,legendentries:()=>Iv,linkpath:()=>Gv,pie:()=>ob,scale:()=>cb,sortitems:()=>kb,stack:()=>Ab});var a={};n.r(a);n.d(a,{contour:()=>TM,geojson:()=>PM,geopath:()=>qM,geopoint:()=>IM,geoshape:()=>BM,graticule:()=>jM,heatmap:()=>YM,isocontour:()=>xM,kde2d:()=>$M,projection:()=>VM});var s={};n.r(s);n.d(s,{force:()=>ZS});var l={};n.r(l);n.d(l,{nest:()=>Bz,pack:()=>Vz,partition:()=>Zz,stratify:()=>Qz,tree:()=>eA,treelinks:()=>nA,treemap:()=>oA});var u={};n.r(u);n.d(u,{label:()=>GA});var c={};n.r(c);n.d(c,{loess:()=>XA,regression:()=>KA});var f={};n.r(f);n.d(f,{voronoi:()=>eD});var d={};n.r(d);n.d(d,{wordcloud:()=>bD});var h={};n.r(h);n.d(h,{crossfilter:()=>RD,resolvefilter:()=>DD});var p=n(26372);var m={},g={},y=34,v=10,b=13;function x(t){return new Function("d","return {"+t.map((function(t,e){return JSON.stringify(t)+": d["+e+'] || ""'})).join(",")+"}")}function _(t,e){var n=x(t);return function(i,r){return e(n(i),r,t)}}function w(t){var e=Object.create(null),n=[];t.forEach((function(t){for(var i in t){if(!(i in e)){n.push(e[i]=i)}}}));return n}function k(t,e){var n=t+"",i=n.length;return i<e?new Array(e-i+1).join(0)+n:n}function M(t){return t<0?"-"+k(-t,6):t>9999?"+"+k(t,6):k(t,4)}function S(t){var e=t.getUTCHours(),n=t.getUTCMinutes(),i=t.getUTCSeconds(),r=t.getUTCMilliseconds();return isNaN(t)?"Invalid Date":M(t.getUTCFullYear(),4)+"-"+k(t.getUTCMonth()+1,2)+"-"+k(t.getUTCDate(),2)+(r?"T"+k(e,2)+":"+k(n,2)+":"+k(i,2)+"."+k(r,3)+"Z":i?"T"+k(e,2)+":"+k(n,2)+":"+k(i,2)+"Z":n||e?"T"+k(e,2)+":"+k(n,2)+"Z":"")}function E(t){var e=new RegExp('["'+t+"\n\r]"),n=t.charCodeAt(0);function i(t,e){var n,i,o=r(t,(function(t,r){if(n)return n(t,r-1);i=t,n=e?_(t,e):x(t)}));o.columns=i||[];return o}function r(t,e){var i=[],r=t.length,o=0,a=0,s,l=r<=0,u=false;if(t.charCodeAt(r-1)===v)--r;if(t.charCodeAt(r-1)===b)--r;function c(){if(l)return g;if(u)return u=false,m;var e,i=o,a;if(t.charCodeAt(i)===y){while(o++<r&&t.charCodeAt(o)!==y||t.charCodeAt(++o)===y);if((e=o)>=r)l=true;else if((a=t.charCodeAt(o++))===v)u=true;else if(a===b){u=true;if(t.charCodeAt(o)===v)++o}return t.slice(i+1,e-1).replace(/""/g,'"')}while(o<r){if((a=t.charCodeAt(e=o++))===v)u=true;else if(a===b){u=true;if(t.charCodeAt(o)===v)++o}else if(a!==n)continue;return t.slice(i,e)}return l=true,t.slice(i,r)}while((s=c())!==g){var f=[];while(s!==m&&s!==g)f.push(s),s=c();if(e&&(f=e(f,a++))==null)continue;i.push(f)}return i}function o(e,n){return e.map((function(e){return n.map((function(t){return c(e[t])})).join(t)}))}function a(e,n){if(n==null)n=w(e);return[n.map(c).join(t)].concat(o(e,n)).join("\n")}function s(t,e){if(e==null)e=w(t);return o(t,e).join("\n")}function l(t){return t.map(u).join("\n")}function u(e){return e.map(c).join(t)}function c(t){return t==null?"":t instanceof Date?S(t):e.test(t+="")?'"'+t.replace(/"/g,'""')+'"':t}return{parse:i,parseRows:r,format:a,formatBody:s,formatRows:l,formatRow:u,formatValue:c}}function z(t,e){var n,i=t.length,r=i-e;while(r<--i)n=t[r],t[r++]=t[i],t[i]=n}function A(t){return t}function $(t){if(t==null)return A;var e,n,i=t.scale[0],r=t.scale[1],o=t.translate[0],a=t.translate[1];return function(t,s){if(!s)e=n=0;var l=2,u=t.length,c=new Array(u);c[0]=(e+=t[0])*i+o;c[1]=(n+=t[1])*r+a;while(l<u)c[l]=t[l],++l;return c}}function O(t,e){if(typeof e==="string")e=t.objects[e];return e.type==="GeometryCollection"?{type:"FeatureCollection",features:e.geometries.map((function(e){return R(t,e)}))}:R(t,e)}function R(t,e){var n=e.id,i=e.bbox,r=e.properties==null?{}:e.properties,o=D(t,e);return n==null&&i==null?{type:"Feature",properties:r,geometry:o}:i==null?{type:"Feature",id:n,properties:r,geometry:o}:{type:"Feature",id:n,bbox:i,properties:r,geometry:o}}function D(t,e){var n=$(t.transform),i=t.arcs;function r(t,e){if(e.length)e.pop();for(var r=i[t<0?~t:t],o=0,a=r.length;o<a;++o){e.push(n(r[o],o))}if(t<0)z(e,a)}function o(t){return n(t)}function a(t){var e=[];for(var n=0,i=t.length;n<i;++n)r(t[n],e);if(e.length<2)e.push(e[0]);return e}function s(t){var e=a(t);while(e.length<4)e.push(e[0]);return e}function l(t){return t.map(s)}function u(t){var e=t.type,n;switch(e){case"GeometryCollection":return{type:e,geometries:t.geometries.map(u)};case"Point":n=o(t.coordinates);break;case"MultiPoint":n=t.coordinates.map(o);break;case"LineString":n=a(t.arcs);break;case"MultiLineString":n=t.arcs.map(a);break;case"Polygon":n=l(t.arcs);break;case"MultiPolygon":n=t.arcs.map(l);break;default:return null}return{type:e,coordinates:n}}return u(e)}function T(t,e){var n={},i={},r={},o=[],a=-1;e.forEach((function(n,i){var r=t.arcs[n<0?~n:n],o;if(r.length<3&&!r[1][0]&&!r[1][1]){o=e[++a],e[a]=n,e[i]=o}}));e.forEach((function(t){var e=s(t),n=e[0],o=e[1],a,l;if(a=r[n]){delete r[a.end];a.push(t);a.end=o;if(l=i[o]){delete i[l.start];var u=l===a?a:a.concat(l);i[u.start=a.start]=r[u.end=l.end]=u}else{i[a.start]=r[a.end]=a}}else if(a=i[o]){delete i[a.start];a.unshift(t);a.start=n;if(l=r[n]){delete r[l.end];var c=l===a?a:l.concat(a);i[c.start=l.start]=r[c.end=a.end]=c}else{i[a.start]=r[a.end]=a}}else{a=[t];i[a.start=n]=r[a.end=o]=a}}));function s(e){var n=t.arcs[e<0?~e:e],i=n[0],r;if(t.transform)r=[0,0],n.forEach((function(t){r[0]+=t[0],r[1]+=t[1]}));else r=n[n.length-1];return e<0?[r,i]:[i,r]}function l(t,e){for(var i in t){var r=t[i];delete e[r.start];delete r.start;delete r.end;r.forEach((function(t){n[t<0?~t:t]=1}));o.push(r)}}l(r,i);l(i,r);e.forEach((function(t){if(!n[t<0?~t:t])o.push([t])}));return o}function N(t){return D(t,C.apply(this,arguments))}function C(t,e,n){var i,r,o;if(arguments.length>1)i=L(t,e,n);else for(r=0,i=new Array(o=t.arcs.length);r<o;++r)i[r]=r;return{type:"MultiLineString",arcs:T(t,i)}}function L(t,e,n){var i=[],r=[],o;function a(t){var e=t<0?~t:t;(r[e]||(r[e]=[])).push({i:t,g:o})}function s(t){t.forEach(a)}function l(t){t.forEach(s)}function u(t){t.forEach(l)}function c(t){switch(o=t,t.type){case"GeometryCollection":t.geometries.forEach(c);break;case"LineString":s(t.arcs);break;case"MultiLineString":case"Polygon":l(t.arcs);break;case"MultiPolygon":u(t.arcs);break}}c(e);r.forEach(n==null?function(t){i.push(t[0].i)}:function(t){if(n(t[0].g,t[t.length-1].g))i.push(t[0].i)});return i}var P=n(97119);var q=n(71688);var F=n(86093);var I=n(78209);var B=n(93391);var U=n(24626);var j=n(25216);var Y=n(20293);var G=n(61779);var W=n(42706);var X=n(77849);var H=n(9017);var V=n(23383);var K=n(61147);var Z=n(26530);var Q=n(9791);const J="year";const tt="quarter";const et="month";const nt="week";const it="date";const rt="day";const ot="dayofyear";const at="hours";const st="minutes";const lt="seconds";const ut="milliseconds";const ct=[J,tt,et,nt,it,rt,ot,at,st,lt,ut];const ft=ct.reduce(((t,e,n)=>(t[e]=1+n,t)),{});function dt(t){const e=(0,p.YO)(t).slice(),n={};if(!e.length)(0,p.z3)("Missing time unit.");e.forEach((t=>{if((0,p.mQ)(ft,t)){n[t]=1}else{(0,p.z3)(`Invalid time unit: ${t}.`)}}));const i=(n[nt]||n[rt]?1:0)+(n[tt]||n[et]||n[it]?1:0)+(n[ot]?1:0);if(i>1){(0,p.z3)(`Incompatible time units: ${t}`)}e.sort(((t,e)=>ft[t]-ft[e]));return e}const ht={[J]:"%Y ",[tt]:"Q%q ",[et]:"%b ",[it]:"%d ",[nt]:"W%U ",[rt]:"%a ",[ot]:"%j ",[at]:"%H:00",[st]:"00:%M",[lt]:":%S",[ut]:".%L",[`${J}-${et}`]:"%Y-%m ",[`${J}-${et}-${it}`]:"%Y-%m-%d ",[`${at}-${st}`]:"%H:%M"};function pt(t,e){const n=(0,p.X$)({},ht,e),i=dt(t),r=i.length;let o="",a=0,s,l;for(a=0;a<r;){for(s=i.length;s>a;--s){l=i.slice(a,s).join("-");if(n[l]!=null){o+=n[l];a=s;break}}}return o.trim()}const mt=new Date;function gt(t){mt.setFullYear(t);mt.setMonth(0);mt.setDate(1);mt.setHours(0,0,0,0);return mt}function yt(t){return bt(new Date(t))}function vt(t){return xt(new Date(t))}function bt(t){return Y.UA.count(gt(t.getFullYear())-1,t)}function xt(t){return G.YP.count(gt(t.getFullYear())-1,t)}function _t(t){return gt(t).getDay()}function wt(t,e,n,i,r,o,a){if(0<=t&&t<100){const s=new Date(-1,e,n,i,r,o,a);s.setFullYear(t);return s}return new Date(t,e,n,i,r,o,a)}function kt(t){return St(new Date(t))}function Mt(t){return Et(new Date(t))}function St(t){const e=Date.UTC(t.getUTCFullYear(),0,1);return Y.dA.count(e-1,t)}function Et(t){const e=Date.UTC(t.getUTCFullYear(),0,1);return G.Hl.count(e-1,t)}function zt(t){mt.setTime(Date.UTC(t,0,1));return mt.getUTCDay()}function At(t,e,n,i,r,o,a){if(0<=t&&t<100){const t=new Date(Date.UTC(-1,e,n,i,r,o,a));t.setUTCFullYear(n.y);return t}return new Date(Date.UTC(t,e,n,i,r,o,a))}function $t(t,e,n,i,r){const o=e||1,a=(0,p.se)(t),s=(t,e,r)=>{r=r||t;return Ot(n[r],i[r],t===a&&o,e)};const l=new Date,u=(0,p.M1)(t),c=u[J]?s(J):(0,p.dY)(2012),f=u[et]?s(et):u[tt]?s(tt):p.v_,d=u[nt]&&u[rt]?s(rt,1,nt+rt):u[nt]?s(nt,1):u[rt]?s(rt,1):u[it]?s(it,1):u[ot]?s(ot,1):p.xH,h=u[at]?s(at):p.v_,m=u[st]?s(st):p.v_,g=u[lt]?s(lt):p.v_,y=u[ut]?s(ut):p.v_;return function(t){l.setTime(+t);const e=c(l);return r(e,f(l),d(l,e),h(l),m(l),g(l),y(l))}}function Ot(t,e,n,i){const r=n<=1?t:i?(e,r)=>i+n*Math.floor((t(e,r)-i)/n):(e,i)=>n*Math.floor(t(e,i)/n);return e?(t,n)=>e(r(t,n),n):r}function Rt(t,e,n){return e+t*7-(n+6)%7}const Dt={[J]:t=>t.getFullYear(),[tt]:t=>Math.floor(t.getMonth()/3),[et]:t=>t.getMonth(),[it]:t=>t.getDate(),[at]:t=>t.getHours(),[st]:t=>t.getMinutes(),[lt]:t=>t.getSeconds(),[ut]:t=>t.getMilliseconds(),[ot]:t=>bt(t),[nt]:t=>xt(t),[nt+rt]:(t,e)=>Rt(xt(t),t.getDay(),_t(e)),[rt]:(t,e)=>Rt(1,t.getDay(),_t(e))};const Tt={[tt]:t=>3*t,[nt]:(t,e)=>Rt(t,0,_t(e))};function Nt(t,e){return $t(t,e||1,Dt,Tt,wt)}const Ct={[J]:t=>t.getUTCFullYear(),[tt]:t=>Math.floor(t.getUTCMonth()/3),[et]:t=>t.getUTCMonth(),[it]:t=>t.getUTCDate(),[at]:t=>t.getUTCHours(),[st]:t=>t.getUTCMinutes(),[lt]:t=>t.getUTCSeconds(),[ut]:t=>t.getUTCMilliseconds(),[ot]:t=>St(t),[nt]:t=>Et(t),[rt]:(t,e)=>Rt(1,t.getUTCDay(),zt(e)),[nt+rt]:(t,e)=>Rt(Et(t),t.getUTCDay(),zt(e))};const Lt={[tt]:t=>3*t,[nt]:(t,e)=>Rt(t,0,zt(e))};function Pt(t,e){return $t(t,e||1,Ct,Lt,At)}const qt={[J]:W.he,[tt]:X.Ui.every(3),[et]:X.Ui,[nt]:G.YP,[it]:Y.UA,[rt]:Y.UA,[ot]:Y.UA,[at]:H.Ag,[st]:V.wX,[lt]:K.R,[ut]:Z.y};const Ft={[J]:W.Mb,[tt]:X.R6.every(3),[et]:X.R6,[nt]:G.Hl,[it]:Y.dA,[rt]:Y.dA,[ot]:Y.dA,[at]:H.pz,[st]:V.vD,[lt]:K.R,[ut]:Z.y};function It(t){return qt[t]}function Bt(t){return Ft[t]}function Ut(t,e,n){return t?t.offset(e,n):undefined}function jt(t,e,n){return Ut(It(t),e,n)}function Yt(t,e,n){return Ut(Bt(t),e,n)}function Gt(t,e,n,i){return t?t.range(e,n,i):undefined}function Wt(t,e,n,i){return Gt(It(t),e,n,i)}function Xt(t,e,n,i){return Gt(Bt(t),e,n,i)}const Ht=1e3,Vt=Ht*60,Kt=Vt*60,Zt=Kt*24,Qt=Zt*7,Jt=Zt*30,te=Zt*365;const ee=[J,et,it,at,st,lt,ut],ne=ee.slice(0,-1),ie=ne.slice(0,-1),re=ie.slice(0,-1),oe=re.slice(0,-1),ae=[J,nt],se=[J,et],le=[J];const ue=[[ne,1,Ht],[ne,5,5*Ht],[ne,15,15*Ht],[ne,30,30*Ht],[ie,1,Vt],[ie,5,5*Vt],[ie,15,15*Vt],[ie,30,30*Vt],[re,1,Kt],[re,3,3*Kt],[re,6,6*Kt],[re,12,12*Kt],[oe,1,Zt],[ae,1,Qt],[se,1,Jt],[se,3,3*Jt],[le,1,te]];function ce(t){const e=t.extent,n=t.maxbins||40,i=Math.abs((0,p.Ln)(e))/n;let r=(0,Q.A)((t=>t[2])).right(ue,i),o,a;if(r===ue.length){o=le,a=(0,P.sG)(e[0]/te,e[1]/te,n)}else if(r){r=ue[i/ue[r-1][2]<ue[r][2]/i?r-1:r];o=r[0];a=r[1]}else{o=ee;a=Math.max((0,P.sG)(e[0],e[1],n),1)}return{units:o,step:a}}var fe=n(82692);var de=n(77613);function he(t){const e={};return n=>e[n]||(e[n]=t(n))}function pe(t,e){return n=>{const i=t(n),r=i.indexOf(e);if(r<0)return i;let o=me(i,r);const a=o<i.length?i.slice(o):"";while(--o>r)if(i[o]!=="0"){++o;break}return i.slice(0,o)+a}}function me(t,e){let n=t.lastIndexOf("e"),i;if(n>0)return n;for(n=t.length;--n>e;){i=t.charCodeAt(n);if(i>=48&&i<=57)return n+1}}function ge(t){const e=he(t.format),n=t.formatPrefix;return{format:e,formatPrefix:n,formatFloat(t){const n=(0,q.A)(t||",");if(n.precision==null){n.precision=12;switch(n.type){case"%":n.precision-=2;break;case"e":n.precision-=1;break}return pe(e(n),e(".1f")(1)[1])}else{return e(n)}},formatSpan(t,i,r,o){o=(0,q.A)(o==null?",f":o);const a=(0,P.sG)(t,i,r),s=Math.max(Math.abs(t),Math.abs(i));let l;if(o.precision==null){switch(o.type){case"s":{if(!isNaN(l=(0,F.A)(a,s))){o.precision=l}return n(o,s)}case"":case"e":case"g":case"p":case"r":{if(!isNaN(l=(0,I.A)(a,s))){o.precision=l-(o.type==="e")}break}case"f":case"%":{if(!isNaN(l=(0,B.A)(a))){o.precision=l-(o.type==="%")*2}break}}}return e(o)}}}let ye;ve();function ve(){return ye=ge({format:U.GP,formatPrefix:U.s})}function be(t){return ge((0,j.A)(t))}function xe(t){return arguments.length?ye=be(t):ye}function _e(t,e,n){n=n||{};if(!(0,p.Gv)(n)){(0,p.z3)(`Invalid time multi-format specifier: ${n}`)}const i=e(lt),r=e(st),o=e(at),a=e(it),s=e(nt),l=e(et),u=e(tt),c=e(J),f=t(n[ut]||".%L"),d=t(n[lt]||":%S"),h=t(n[st]||"%I:%M"),m=t(n[at]||"%I %p"),g=t(n[it]||n[rt]||"%a %d"),y=t(n[nt]||"%b %d"),v=t(n[et]||"%B"),b=t(n[tt]||"%B"),x=t(n[J]||"%Y");return t=>(i(t)<t?f:r(t)<t?d:o(t)<t?h:a(t)<t?m:l(t)<t?s(t)<t?g:y:c(t)<t?u(t)<t?v:b:x)(t)}function we(t){const e=he(t.format),n=he(t.utcFormat);return{timeFormat:t=>(0,p.Kg)(t)?e(t):_e(e,It,t),utcFormat:t=>(0,p.Kg)(t)?n(t):_e(n,Bt,t),timeParse:he(t.parse),utcParse:he(t.utcParse)}}let ke;Me();function Me(){return ke=we({format:fe.DC,parse:fe.T6,utcFormat:fe.aL,utcParse:fe.GY})}function Se(t){return we((0,de.A)(t))}function Ee(t){return arguments.length?ke=Se(t):ke}const ze=(t,e)=>(0,p.X$)({},t,e);function Ae(t,e){const n=t?be(t):xe();const i=e?Se(e):Ee();return ze(n,i)}function $e(t,e){const n=arguments.length;if(n&&n!==2){(0,p.z3)("defaultLocale expects either zero or two arguments.")}return n?ze(xe(t),Ee(e)):ze(xe(),Ee())}function Oe(){ve();Me();return $e()}const Re=/^(data:|([A-Za-z]+:)?\/\/)/;const De=/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp|file|data):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i;const Te=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g;const Ne="file://";function Ce(t,e){return n=>({options:n||{},sanitize:Pe,load:Le,fileAccess:!!e,file:qe(e),http:Ie(t)})}async function Le(t,e){const n=await this.sanitize(t,e),i=n.href;return n.localFile?this.file(i):this.http(i,e)}async function Pe(t,e){e=(0,p.X$)({},this.options,e);const n=this.fileAccess,i={href:null};let r,o,a;const s=De.test(t.replace(Te,""));if(t==null||typeof t!=="string"||!s){(0,p.z3)("Sanitize failure, invalid URI: "+(0,p.r$)(t))}const l=Re.test(t);if((a=e.baseURL)&&!l){if(!t.startsWith("/")&&!a.endsWith("/")){t="/"+t}t=a+t}o=(r=t.startsWith(Ne))||e.mode==="file"||e.mode!=="http"&&!l&&n;if(r){t=t.slice(Ne.length)}else if(t.startsWith("//")){if(e.defaultProtocol==="file"){t=t.slice(2);o=true}else{t=(e.defaultProtocol||"http")+":"+t}}Object.defineProperty(i,"localFile",{value:!!o});i.href=t;if(e.target){i.target=e.target+""}if(e.rel){i.rel=e.rel+""}if(e.context==="image"&&e.crossOrigin){i.crossOrigin=e.crossOrigin+""}return i}function qe(t){return t?e=>new Promise(((n,i)=>{t.readFile(e,((t,e)=>{if(t)i(t);else n(e)}))})):Fe}async function Fe(){(0,p.z3)("No file system access.")}function Ie(t){return t?async function(e,n){const i=(0,p.X$)({},this.options.http,n),r=n&&n.response,o=await t(e,i);return!o.ok?(0,p.z3)(o.status+""+o.statusText):(0,p.Tn)(o[r])?o[r]():o.text()}:Be}async function Be(){(0,p.z3)("No HTTP fetch method available.")}const Ue=t=>t!=null&&t===t;const je=t=>t==="true"||t==="false"||t===true||t===false;const Ye=t=>!Number.isNaN(Date.parse(t));const Ge=t=>!Number.isNaN(+t)&&!(t instanceof Date);const We=t=>Ge(t)&&Number.isInteger(+t);const Xe={boolean:p.G4,integer:p.Ro,number:p.Ro,date:p.ay,string:p.dI,unknown:p.D_};const He=[je,We,Ge,Ye];const Ve=["boolean","integer","number","date"];function Ke(t,e){if(!t||!t.length)return"unknown";const n=t.length,i=He.length,r=He.map(((t,e)=>e+1));for(let o=0,a=0,s,l;o<n;++o){l=e?t[o][e]:t[o];for(s=0;s<i;++s){if(r[s]&&Ue(l)&&!He[s](l)){r[s]=0;++a;if(a===He.length)return"string"}}}return Ve[r.reduce(((t,e)=>t===0?e:t),0)-1]}function Ze(t,e){return e.reduce(((e,n)=>{e[n]=Ke(t,n);return e}),{})}function Qe(t){const e=function(e,n){const i={delimiter:t};return Je(e,n?(0,p.X$)(n,i):i)};e.responseType="text";return e}function Je(t,e){if(e.header){t=e.header.map(p.r$).join(e.delimiter)+"\n"+t}return E(e.delimiter).parse(t+"")}Je.responseType="text";function tn(t){return typeof Buffer==="function"&&(0,p.Tn)(Buffer.isBuffer)?Buffer.isBuffer(t):false}function en(t,e){const n=e&&e.property?(0,p.ZZ)(e.property):p.D_;return(0,p.Gv)(t)&&!tn(t)?nn(n(t),e):n(JSON.parse(t))}en.responseType="json";function nn(t,e){if(!(0,p.cy)(t)&&(0,p.xZ)(t)){t=[...t]}return e&&e.copy?JSON.parse(JSON.stringify(t)):t}const rn={interior:(t,e)=>t!==e,exterior:(t,e)=>t===e};function on(t,e){let n,i,r,o;t=en(t,e);if(e&&e.feature){n=O;r=e.feature}else if(e&&e.mesh){n=N;r=e.mesh;o=rn[e.filter]}else{(0,p.z3)("Missing TopoJSON feature or mesh parameter.")}i=(i=t.objects[r])?n(t,i,o):(0,p.z3)("Invalid TopoJSON object: "+r);return i&&i.features||[i]}on.responseType="json";const an={dsv:Je,csv:Qe(","),tsv:Qe("\t"),json:en,topojson:on};function sn(t,e){if(arguments.length>1){an[t]=e;return this}else{return(0,p.mQ)(an,t)?an[t]:null}}function ln(t){const e=sn(t);return e&&e.responseType||"text"}function un(t,e,n,i){e=e||{};const r=sn(e.type||"json");if(!r)(0,p.z3)("Unknown data format type: "+e.type);t=r(t,e);if(e.parse)cn(t,e.parse,n,i);if((0,p.mQ)(t,"columns"))delete t.columns;return t}function cn(t,e,n,i){if(!t.length)return;const r=Ee();n=n||r.timeParse;i=i||r.utcParse;let o=t.columns||Object.keys(t[0]),a,s,l,u,c,f;if(e==="auto")e=Ze(t,o);o=Object.keys(e);const d=o.map((t=>{const r=e[t];let o,a;if(r&&(r.startsWith("date:")||r.startsWith("utc:"))){o=r.split(/:(.+)?/,2);a=o[1];if(a[0]==="'"&&a[a.length-1]==="'"||a[0]==='"'&&a[a.length-1]==='"'){a=a.slice(1,-1)}const t=o[0]==="utc"?i:n;return t(a)}if(!Xe[r]){throw Error("Illegal format pattern: "+t+":"+r)}return Xe[r]}));for(l=0,c=t.length,f=o.length;l<c;++l){a=t[l];for(u=0;u<f;++u){s=o[u];a[s]=d[u](a[s])}}}const fn=Ce(typeof fetch!=="undefined"&&fetch,null);function dn(t){const e=t||p.D_,n=[],i={};n.add=t=>{const r=e(t);if(!i[r]){i[r]=1;n.push(t)}return n};n.remove=t=>{const r=e(t);if(i[r]){i[r]=0;const e=n.indexOf(t);if(e>=0)n.splice(e,1)}return n};return n}async function hn(t,e){try{await e(t)}catch(n){t.error(n)}}const pn=Symbol("vega_id");let mn=1;function gn(t){return!!(t&&yn(t))}function yn(t){return t[pn]}function vn(t,e){t[pn]=e;return t}function bn(t){const e=t===Object(t)?t:{data:t};return yn(e)?e:vn(e,mn++)}function xn(t){return _n(t,bn({}))}function _n(t,e){for(const n in t)e[n]=t[n];return e}function wn(t,e){return vn(e,yn(t))}function kn(t,e){return!t?null:e?(n,i)=>t(n,i)||yn(e(n))-yn(e(i)):(e,n)=>t(e,n)||yn(e)-yn(n)}function Mn(t){return t&&t.constructor===Sn}function Sn(){const t=[],e=[],n=[],i=[],r=[];let o=null,a=false;return{constructor:Sn,insert(e){const n=(0,p.YO)(e),i=n.length;for(let r=0;r<i;++r)t.push(n[r]);return this},remove(t){const n=(0,p.Tn)(t)?i:e,r=(0,p.YO)(t),o=r.length;for(let e=0;e<o;++e)n.push(r[e]);return this},modify(t,e,i){const o={field:e,value:(0,p.dY)(i)};if((0,p.Tn)(t)){o.filter=t;r.push(o)}else{o.tuple=t;n.push(o)}return this},encode(t,e){if((0,p.Tn)(t))r.push({filter:t,field:e});else n.push({tuple:t,field:e});return this},clean(t){o=t;return this},reflow(){a=true;return this},pulse(s,l){const u={},c={};let f,d,h,p,m,g;for(f=0,d=l.length;f<d;++f){u[yn(l[f])]=1}for(f=0,d=e.length;f<d;++f){m=e[f];u[yn(m)]=-1}for(f=0,d=i.length;f<d;++f){p=i[f];l.forEach((t=>{if(p(t))u[yn(t)]=-1}))}for(f=0,d=t.length;f<d;++f){m=t[f];g=yn(m);if(u[g]){u[g]=1}else{s.add.push(bn(t[f]))}}for(f=0,d=l.length;f<d;++f){m=l[f];if(u[yn(m)]<0)s.rem.push(m)}function y(t,e,n){if(n){t[e]=n(t)}else{s.encode=e}if(!a)c[yn(t)]=t}for(f=0,d=n.length;f<d;++f){h=n[f];m=h.tuple;p=h.field;g=u[yn(m)];if(g>0){y(m,p,h.value);s.modifies(p)}}for(f=0,d=r.length;f<d;++f){h=r[f];p=h.filter;l.forEach((t=>{if(p(t)&&u[yn(t)]>0){y(t,h.field,h.value)}}));s.modifies(h.field)}if(a){s.mod=e.length||i.length?l.filter((t=>u[yn(t)]>0)):l.slice()}else{for(g in c)s.mod.push(c[g])}if(o||o==null&&(e.length||i.length)){s.clean(true)}return s}}}const En="_:mod:_";function zn(){Object.defineProperty(this,En,{writable:true,value:{}})}zn.prototype={set(t,e,n,i){const r=this,o=r[t],a=r[En];if(e!=null&&e>=0){if(o[e]!==n||i){o[e]=n;a[e+":"+t]=-1;a[t]=-1}}else if(o!==n||i){r[t]=n;a[t]=(0,p.cy)(n)?1+n.length:-1}return r},modified(t,e){const n=this[En];if(!arguments.length){for(const t in n){if(n[t])return true}return false}else if((0,p.cy)(t)){for(let e=0;e<t.length;++e){if(n[t[e]])return true}return false}return e!=null&&e>=0?e+1<n[t]||!!n[e+":"+t]:!!n[t]},clear(){this[En]={};return this}};let An=0;const $n="pulse",On=new zn;const Rn=1,Dn=2;function Tn(t,e,n,i){this.id=++An;this.value=t;this.stamp=-1;this.rank=-1;this.qrank=-1;this.flags=0;if(e){this._update=e}if(n)this.parameters(n,i)}function Nn(t){return function(e){const n=this.flags;if(arguments.length===0)return!!(n&t);this.flags=e?n|t:n&~t;return this}}Tn.prototype={targets(){return this._targets||(this._targets=dn(p.id))},set(t){if(this.value!==t){this.value=t;return 1}else{return 0}},skip:Nn(Rn),modified:Nn(Dn),parameters(t,e,n){e=e!==false;const i=this._argval=this._argval||new zn,r=this._argops=this._argops||[],o=[];let a,s,l,u;const c=(t,n,a)=>{if(a instanceof Tn){if(a!==this){if(e)a.targets().add(this);o.push(a)}r.push({op:a,name:t,index:n})}else{i.set(t,n,a)}};for(a in t){s=t[a];if(a===$n){(0,p.YO)(s).forEach((t=>{if(!(t instanceof Tn)){(0,p.z3)("Pulse parameters must be operator instances.")}else if(t!==this){t.targets().add(this);o.push(t)}}));this.source=s}else if((0,p.cy)(s)){i.set(a,-1,Array(l=s.length));for(u=0;u<l;++u)c(a,u,s[u])}else{c(a,-1,s)}}this.marshall().clear();if(n)r.initonly=true;return o},marshall(t){const e=this._argval||On,n=this._argops;let i,r,o,a;if(n){const s=n.length;for(r=0;r<s;++r){i=n[r];o=i.op;a=o.modified()&&o.stamp===t;e.set(i.name,i.index,o.value,a)}if(n.initonly){for(r=0;r<s;++r){i=n[r];i.op.targets().remove(this)}this._argops=null;this._update=null}}return e},detach(){const t=this._argops;let e,n,i,r;if(t){for(e=0,n=t.length;e<n;++e){i=t[e];r=i.op;if(r._targets){r._targets.remove(this)}}}this.pulse=null;this.source=null},evaluate(t){const e=this._update;if(e){const n=this.marshall(t.stamp),i=e.call(this,n,t);n.clear();if(i!==this.value){this.value=i}else if(!this.modified()){return t.StopPropagation}}},run(t){if(t.stamp<this.stamp)return t.StopPropagation;let e;if(this.skip()){this.skip(false);e=0}else{e=this.evaluate(t)}return this.pulse=e||t}};function Cn(t,e,n,i){let r=1,o;if(t instanceof Tn){o=t}else if(t&&t.prototype instanceof Tn){o=new t}else if((0,p.Tn)(t)){o=new Tn(null,t)}else{r=0;o=new Tn(t,e)}this.rank(o);if(r){i=n;n=e}if(n)this.connect(o,o.parameters(n,i));this.touch(o);return o}function Ln(t,e){const n=t.rank,i=e.length;for(let r=0;r<i;++r){if(n<e[r].rank){this.rerank(t);return}}}let Pn=0;function qn(t,e,n){this.id=++Pn;this.value=null;if(n)this.receive=n;if(t)this._filter=t;if(e)this._apply=e}function Fn(t,e,n){return new qn(t,e,n)}qn.prototype={_filter:p.vN,_apply:p.D_,targets(){return this._targets||(this._targets=dn(p.id))},consume(t){if(!arguments.length)return!!this._consume;this._consume=!!t;return this},receive(t){if(this._filter(t)){const e=this.value=this._apply(t),n=this._targets,i=n?n.length:0;for(let t=0;t<i;++t)n[t].receive(e);if(this._consume){t.preventDefault();t.stopPropagation()}}},filter(t){const e=Fn(t);this.targets().add(e);return e},apply(t){const e=Fn(null,t);this.targets().add(e);return e},merge(){const t=Fn();this.targets().add(t);for(let e=0,n=arguments.length;e<n;++e){arguments[e].targets().add(t)}return t},throttle(t){let e=-1;return this.filter((()=>{const n=Date.now();if(n-e>t){e=n;return 1}else{return 0}}))},debounce(t){const e=Fn();this.targets().add(Fn(null,null,(0,p.sg)(t,(t=>{const n=t.dataflow;e.receive(t);if(n&&n.run)n.run()}))));return e},between(t,e){let n=false;t.targets().add(Fn(null,null,(()=>n=true)));e.targets().add(Fn(null,null,(()=>n=false)));return this.filter((()=>n))},detach(){this._filter=p.vN;this._targets=null}};function In(t,e,n,i){const r=this,o=Fn(n,i),a=function(t){t.dataflow=r;try{o.receive(t)}catch(e){r.error(e)}finally{r.run()}};let s;if(typeof t==="string"&&typeof document!=="undefined"){s=document.querySelectorAll(t)}else{s=(0,p.YO)(t)}const l=s.length;for(let u=0;u<l;++u){s[u].addEventListener(e,a)}return o}function Bn(t,e){const n=this.locale();return un(t,e,n.timeParse,n.utcParse)}function Un(t,e,n){e=this.parse(e,n);return this.pulse(t,this.changeset().insert(e))}async function jn(t,e){const n=this;let i=0,r;try{r=await n.loader().load(t,{context:"dataflow",response:ln(e&&e.type)});try{r=n.parse(r,e)}catch(o){i=-2;n.warn("Data ingestion failed",t,o)}}catch(o){i=-1;n.warn("Loading failed",t,o)}return{data:r,status:i}}async function Yn(t,e,n){const i=this,r=i._pending||Gn(i);r.requests+=1;const o=await i.request(e,n);i.pulse(t,i.changeset().remove(p.vN).insert(o.data||[]));r.done();return o}function Gn(t){let e;const n=new Promise((t=>e=t));n.requests=0;n.done=()=>{if(--n.requests===0){t._pending=null;e(t)}};return t._pending=n}const Wn={skip:true};function Xn(t,e,n,i,r){const o=t instanceof Tn?Vn:Hn;o(this,t,e,n,i,r);return this}function Hn(t,e,n,i,r,o){const a=(0,p.X$)({},o,Wn);let s,l;if(!(0,p.Tn)(n))n=(0,p.dY)(n);if(i===undefined){s=e=>t.touch(n(e))}else if((0,p.Tn)(i)){l=new Tn(null,i,r,false);s=e=>{l.evaluate(e);const i=n(e),r=l.value;Mn(r)?t.pulse(i,r,o):t.update(i,r,a)}}else{s=e=>t.update(n(e),i,a)}e.apply(s)}function Vn(t,e,n,i,r,o){if(i===undefined){e.targets().add(n)}else{const a=o||{},s=new Tn(null,Kn(n,i),r,false);s.modified(a.force);s.rank=e.rank;e.targets().add(s);if(n){s.skip(true);s.value=n.value;s.targets().add(n);t.connect(n,[s])}}}function Kn(t,e){e=(0,p.Tn)(e)?e:(0,p.dY)(e);return t?function(n,i){const r=e(n,i);if(!t.skip()){t.skip(r!==this.value).value=r}return r}:e}function Zn(t){t.rank=++this._rank}function Qn(t){const e=[t];let n,i,r;while(e.length){this.rank(n=e.pop());if(i=n._targets){for(r=i.length;--r>=0;){e.push(n=i[r]);if(n===t)(0,p.z3)("Cycle detected in dataflow graph.")}}}}const Jn={};const ti=1<<0,ei=1<<1,ni=1<<2,ii=ti|ei,ri=ti|ni,oi=ti|ei|ni,ai=1<<3,si=1<<4,li=1<<5,ui=1<<6;function ci(t,e,n){this.dataflow=t;this.stamp=e==null?-1:e;this.add=[];this.rem=[];this.mod=[];this.fields=null;this.encode=n||null}function fi(t,e){const n=[];(0,p.rt)(t,e,(t=>n.push(t)));return n}function di(t,e){const n={};t.visit(e,(t=>{n[yn(t)]=1}));return t=>n[yn(t)]?null:t}function hi(t,e){return t?(n,i)=>t(n,i)&&e(n,i):e}ci.prototype={StopPropagation:Jn,ADD:ti,REM:ei,MOD:ni,ADD_REM:ii,ADD_MOD:ri,ALL:oi,REFLOW:ai,SOURCE:si,NO_SOURCE:li,NO_FIELDS:ui,fork(t){return new ci(this.dataflow).init(this,t)},clone(){const t=this.fork(oi);t.add=t.add.slice();t.rem=t.rem.slice();t.mod=t.mod.slice();if(t.source)t.source=t.source.slice();return t.materialize(oi|si)},addAll(){let t=this;const e=!t.source||t.add===t.rem||!t.rem.length&&t.source.length===t.add.length;if(e){return t}else{t=new ci(this.dataflow).init(this);t.add=t.source;t.rem=[];return t}},init(t,e){const n=this;n.stamp=t.stamp;n.encode=t.encode;if(t.fields&&!(e&ui)){n.fields=t.fields}if(e&ti){n.addF=t.addF;n.add=t.add}else{n.addF=null;n.add=[]}if(e&ei){n.remF=t.remF;n.rem=t.rem}else{n.remF=null;n.rem=[]}if(e&ni){n.modF=t.modF;n.mod=t.mod}else{n.modF=null;n.mod=[]}if(e&li){n.srcF=null;n.source=null}else{n.srcF=t.srcF;n.source=t.source;if(t.cleans)n.cleans=t.cleans}return n},runAfter(t){this.dataflow.runAfter(t)},changed(t){const e=t||oi;return e&ti&&this.add.length||e&ei&&this.rem.length||e&ni&&this.mod.length},reflow(t){if(t)return this.fork(oi).reflow();const e=this.add.length,n=this.source&&this.source.length;if(n&&n!==e){this.mod=this.source;if(e)this.filter(ni,di(this,ti))}return this},clean(t){if(arguments.length){this.cleans=!!t;return this}else{return this.cleans}},modifies(t){const e=this.fields||(this.fields={});if((0,p.cy)(t)){t.forEach((t=>e[t]=true))}else{e[t]=true}return this},modified(t,e){const n=this.fields;return!((e||this.mod.length)&&n)?false:!arguments.length?!!n:(0,p.cy)(t)?t.some((t=>n[t])):n[t]},filter(t,e){const n=this;if(t&ti)n.addF=hi(n.addF,e);if(t&ei)n.remF=hi(n.remF,e);if(t&ni)n.modF=hi(n.modF,e);if(t&si)n.srcF=hi(n.srcF,e);return n},materialize(t){t=t||oi;const e=this;if(t&ti&&e.addF){e.add=fi(e.add,e.addF);e.addF=null}if(t&ei&&e.remF){e.rem=fi(e.rem,e.remF);e.remF=null}if(t&ni&&e.modF){e.mod=fi(e.mod,e.modF);e.modF=null}if(t&si&&e.srcF){e.source=e.source.filter(e.srcF);e.srcF=null}return e},visit(t,e){const n=this,i=e;if(t&si){(0,p.rt)(n.source,n.srcF,i);return n}if(t&ti)(0,p.rt)(n.add,n.addF,i);if(t&ei)(0,p.rt)(n.rem,n.remF,i);if(t&ni)(0,p.rt)(n.mod,n.modF,i);const r=n.source;if(t&ai&&r){const t=n.add.length+n.mod.length;if(t===r.length);else if(t){(0,p.rt)(r,di(n,ri),i)}else{(0,p.rt)(r,n.srcF,i)}}return n}};function pi(t,e,n,i){const r=this;let o=0;this.dataflow=t;this.stamp=e;this.fields=null;this.encode=i||null;this.pulses=n;for(const a of n){if(a.stamp!==e)continue;if(a.fields){const t=r.fields||(r.fields={});for(const e in a.fields){t[e]=1}}if(a.changed(r.ADD))o|=r.ADD;if(a.changed(r.REM))o|=r.REM;if(a.changed(r.MOD))o|=r.MOD}this.changes=o}(0,p.B)(pi,ci,{fork(t){const e=new ci(this.dataflow).init(this,t&this.NO_FIELDS);if(t!==undefined){if(t&e.ADD)this.visit(e.ADD,(t=>e.add.push(t)));if(t&e.REM)this.visit(e.REM,(t=>e.rem.push(t)));if(t&e.MOD)this.visit(e.MOD,(t=>e.mod.push(t)))}return e},changed(t){return this.changes&t},modified(t){const e=this,n=e.fields;return!(n&&e.changes&e.MOD)?0:(0,p.cy)(t)?t.some((t=>n[t])):n[t]},filter(){(0,p.z3)("MultiPulse does not support filtering.")},materialize(){(0,p.z3)("MultiPulse does not support materialization.")},visit(t,e){const n=this,i=n.pulses,r=i.length;let o=0;if(t&n.SOURCE){for(;o<r;++o){i[o].visit(t,e)}}else{for(;o<r;++o){if(i[o].stamp===n.stamp){i[o].visit(t,e)}}}return n}});async function mi(t,e,n){const i=this,r=[];if(i._pulse)return bi(i);if(i._pending)await i._pending;if(e)await hn(i,e);if(!i._touched.length){i.debug("Dataflow invoked, but nothing to do.");return i}const o=++i._clock;i._pulse=new ci(i,o,t);i._touched.forEach((t=>i._enqueue(t,true)));i._touched=dn(p.id);let a=0,s,l,u;try{while(i._heap.size()>0){s=i._heap.pop();if(s.rank!==s.qrank){i._enqueue(s,true);continue}l=s.run(i._getPulse(s,t));if(l.then){l=await l}else if(l.async){r.push(l.async);l=Jn}if(l!==Jn){if(s._targets)s._targets.forEach((t=>i._enqueue(t)))}++a}}catch(c){i._heap.clear();u=c}i._input={};i._pulse=null;i.debug(`Pulse ${o}: ${a} operators`);if(u){i._postrun=[];i.error(u)}if(i._postrun.length){const t=i._postrun.sort(((t,e)=>e.priority-t.priority));i._postrun=[];for(let e=0;e<t.length;++e){await hn(i,t[e].callback)}}if(n)await hn(i,n);if(r.length){Promise.all(r).then((t=>i.runAsync(null,(()=>{t.forEach((t=>{try{t(i)}catch(c){i.error(c)}}))}))))}return i}async function gi(t,e,n){while(this._running)await this._running;const i=()=>this._running=null;(this._running=this.evaluate(t,e,n)).then(i,i);return this._running}function yi(t,e,n){return this._pulse?bi(this):(this.evaluate(t,e,n),this)}function vi(t,e,n){if(this._pulse||e){this._postrun.push({priority:n||0,callback:t})}else{try{t(this)}catch(i){this.error(i)}}}function bi(t){t.error("Dataflow already running. Use runAsync() to chain invocations.");return t}function xi(t,e){const n=t.stamp<this._clock;if(n)t.stamp=this._clock;if(n||e){t.qrank=t.rank;this._heap.push(t)}}function _i(t,e){const n=t.source,i=this._clock;return n&&(0,p.cy)(n)?new pi(this,i,n.map((t=>t.pulse)),e):this._input[t.id]||wi(this._pulse,n&&n.pulse)}function wi(t,e){if(e&&e.stamp===t.stamp){return e}t=t.fork();if(e&&e!==Jn){t.source=e.source}return t}const ki={skip:false,force:false};function Mi(t,e){const n=e||ki;if(this._pulse){this._enqueue(t)}else{this._touched.add(t)}if(n.skip)t.skip(true);return this}function Si(t,e,n){const i=n||ki;if(t.set(e)||i.force){this.touch(t,i)}return this}function Ei(t,e,n){this.touch(t,n||ki);const i=new ci(this,this._clock+(this._pulse?0:1)),r=t.pulse&&t.pulse.source||[];i.target=t;this._input[t.id]=e.pulse(i,r);return this}function zi(t){let e=[];return{clear:()=>e=[],size:()=>e.length,peek:()=>e[0],push:n=>{e.push(n);return Ai(e,0,e.length-1,t)},pop:()=>{const n=e.pop();let i;if(e.length){i=e[0];e[0]=n;$i(e,0,t)}else{i=n}return i}}}function Ai(t,e,n,i){let r,o;const a=t[n];while(n>e){o=n-1>>1;r=t[o];if(i(a,r)<0){t[n]=r;n=o;continue}break}return t[n]=a}function $i(t,e,n){const i=e,r=t.length,o=t[e];let a=(e<<1)+1,s;while(a<r){s=a+1;if(s<r&&n(t[a],t[s])>=0){a=s}t[e]=t[a];e=a;a=(e<<1)+1}t[e]=o;return Ai(t,i,e,n)}function Oi(){this.logger((0,p.vF)());this.logLevel(p.$D);this._clock=0;this._rank=0;this._locale=$e();try{this._loader=fn()}catch(t){}this._touched=dn(p.id);this._input={};this._pulse=null;this._heap=zi(((t,e)=>t.qrank-e.qrank));this._postrun=[]}function Ri(t){return function(){return this._log[t].apply(this,arguments)}}Oi.prototype={stamp(){return this._clock},loader(t){if(arguments.length){this._loader=t;return this}else{return this._loader}},locale(t){if(arguments.length){this._locale=t;return this}else{return this._locale}},logger(t){if(arguments.length){this._log=t;return this}else{return this._log}},error:Ri("error"),warn:Ri("warn"),info:Ri("info"),debug:Ri("debug"),logLevel:Ri("level"),cleanThreshold:1e4,add:Cn,connect:Ln,rank:Zn,rerank:Qn,pulse:Ei,touch:Mi,update:Si,changeset:Sn,ingest:Un,parse:Bn,preload:Yn,request:jn,events:In,on:Xn,evaluate:mi,run:yi,runAsync:gi,runAfter:vi,_enqueue:xi,_getPulse:_i};function Di(t,e){Tn.call(this,t,null,e)}(0,p.B)(Di,Tn,{run(t){if(t.stamp<this.stamp)return t.StopPropagation;let e;if(this.skip()){this.skip(false)}else{e=this.evaluate(t)}e=e||t;if(e.then){e=e.then((t=>this.pulse=t))}else if(e!==t.StopPropagation){this.pulse=e}return e},evaluate(t){const e=this.marshall(t.stamp),n=this.transform(e,t);e.clear();return n},transform(){}});const Ti={};function Ni(t){const e=Ci(t);return e&&e.Definition||null}function Ci(t){t=t&&t.toLowerCase();return(0,p.mQ)(Ti,t)?Ti[t]:null}var Li=n(82887);var Pi=n(21671);var qi=n(44317);function Fi(t,...e){if(typeof t[Symbol.iterator]!=="function")throw new TypeError("values is not iterable");t=Array.from(t);let[n]=e;if(n&&n.length!==2||e.length>1){const i=Uint32Array.from(t,((t,e)=>e));if(e.length>1){e=e.map((e=>t.map(e)));i.sort(((t,n)=>{for(const i of e){const e=Bi(i[t],i[n]);if(e)return e}}))}else{n=t.map(n);i.sort(((t,e)=>Bi(n[t],n[e])))}return permute(t,i)}return t.sort(Ii(n))}function Ii(t=Li.A){if(t===Li.A)return Bi;if(typeof t!=="function")throw new TypeError("compare is not a function");return(e,n)=>{const i=t(e,n);if(i||i===0)return i;return(t(n,n)===0)-(t(e,e)===0)}}function Bi(t,e){return(t==null||!(t>=t))-(e==null||!(e>=e))||(t<e?-1:t>e?1:0)}function Ui(t,e,n=0,i=Infinity,r){e=Math.floor(e);n=Math.floor(Math.max(0,n));i=Math.floor(Math.min(t.length-1,i));if(!(n<=e&&e<=i))return t;r=r===undefined?Bi:Ii(r);while(i>n){if(i-n>600){const o=i-n+1;const a=e-n+1;const s=Math.log(o);const l=.5*Math.exp(2*s/3);const u=.5*Math.sqrt(s*l*(o-l)/o)*(a-o/2<0?-1:1);const c=Math.max(n,Math.floor(e-a*l/o+u));const f=Math.min(i,Math.floor(e+(o-a)*l/o+u));Ui(t,e,c,f,r)}const o=t[e];let a=n;let s=i;ji(t,n,e);if(r(t[i],o)>0)ji(t,n,i);while(a<s){ji(t,a,s),++a,--s;while(r(t[a],o)<0)++a;while(r(t[s],o)>0)--s}if(r(t[n],o)===0)ji(t,n,s);else++s,ji(t,s,i);if(s<=e)n=s+1;if(e<=s)i=s-1}return t}function ji(t,e,n){const i=t[e];t[e]=t[n];t[n]=i}var Yi=n(40168);function Gi(t,e,n){t=Float64Array.from((0,Yi.n)(t,n));if(!(i=t.length)||isNaN(e=+e))return;if(e<=0||i<2)return(0,qi.A)(t);if(e>=1)return(0,Pi.A)(t);var i,r=(i-1)*e,o=Math.floor(r),a=(0,Pi.A)(Ui(t,o).subarray(0,o+1)),s=(0,qi.A)(t.subarray(o+1));return a+(s-a)*(r-o)}function Wi(t,e,n=Yi.A){if(!(i=t.length)||isNaN(e=+e))return;if(e<=0||i<2)return+n(t[0],0,t);if(e>=1)return+n(t[i-1],i-1,t);var i,r=(i-1)*e,o=Math.floor(r),a=+n(t[o],o,t),s=+n(t[o+1],o+1,t);return a+(s-a)*(r-o)}function Xi(t,e,n){t=Float64Array.from(numbers(t,n));if(!(i=t.length)||isNaN(e=+e))return;if(e<=0||i<2)return minIndex(t);if(e>=1)return maxIndex(t);var i,r=Math.floor((i-1)*e),o=(e,n)=>ascendingDefined(t[e],t[n]),a=quickselect(Uint32Array.from(t,((t,e)=>e)),r,0,i-1,o);return greatest(a.subarray(0,r+1),(e=>t[e]))}function Hi(t,e){let n=0;let i;let r=0;let o=0;if(e===undefined){for(let e of t){if(e!=null&&(e=+e)>=e){i=e-r;r+=i/++n;o+=i*(e-r)}}}else{let a=-1;for(let s of t){if((s=e(s,++a,t))!=null&&(s=+s)>=s){i=s-r;r+=i/++n;o+=i*(s-r)}}}if(n>1)return o/(n-1)}function Vi(t,e){const n=Hi(t,e);return n?Math.sqrt(n):n}function Ki(t,e){return Gi(t,.5,e)}function Zi(t,e){return quantileIndex(t,.5,e)}function*Qi(t,e){if(e==null){for(let e of t){if(e!=null&&e!==""&&(e=+e)>=e){yield e}}}else{let n=-1;for(let i of t){i=e(i,++n,t);if(i!=null&&i!==""&&(i=+i)>=i){yield i}}}}function Ji(t,e,n){const i=Float64Array.from(Qi(t,n));i.sort(Li.A);return e.map((t=>Wi(i,t)))}function tr(t,e){return Ji(t,[.25,.5,.75],e)}function er(t,e){const n=t.length,i=Vi(t,e),r=tr(t,e),o=(r[2]-r[0])/1.34,a=Math.min(i,o)||i||Math.abs(r[0])||1;return 1.06*a*Math.pow(n,-.2)}function nr(t){const e=t.maxbins||20,n=t.base||10,i=Math.log(n),r=t.divide||[5,2];let o=t.extent[0],a=t.extent[1],s,l,u,c,f,d;const h=t.span||a-o||Math.abs(o)||1;if(t.step){s=t.step}else if(t.steps){c=h/e;for(f=0,d=t.steps.length;f<d&&t.steps[f]<c;++f);s=t.steps[Math.max(0,f-1)]}else{l=Math.ceil(Math.log(e)/i);u=t.minstep||0;s=Math.max(u,Math.pow(n,Math.round(Math.log(h)/i)-l));while(Math.ceil(h/s)>e){s*=n}for(f=0,d=r.length;f<d;++f){c=s/r[f];if(c>=u&&h/c<=e)s=c}}c=Math.log(s);const p=c>=0?0:~~(-c/i)+1,m=Math.pow(n,-p-1);if(t.nice||t.nice===undefined){c=Math.floor(o/s+m)*s;o=o<c?c-s:c;a=Math.ceil(a/s)*s}return{start:o,stop:a===o?o+s:a,step:s}}var ir=Math.random;function rr(t){ir=t}function or(t,e,n,i){if(!t.length)return[undefined,undefined];const r=Float64Array.from(Qi(t,i)),o=r.length,a=e;let s,l,u,c;for(u=0,c=Array(a);u<a;++u){for(s=0,l=0;l<o;++l){s+=r[~~(ir()*o)]}c[u]=s/o}c.sort(Li.A);return[Gi(c,n/2),Gi(c,1-n/2)]}function ar(t,e,n,i){i=i||(t=>t);const r=t.length,o=new Float64Array(r);let a=0,s=1,l=i(t[0]),u=l,c=l+e,f;for(;s<r;++s){f=i(t[s]);if(f>=c){u=(l+u)/2;for(;a<s;++a)o[a]=u;c=f+e;l=f}u=f}u=(l+u)/2;for(;a<s;++a)o[a]=u;return n?sr(o,e+e/4):o}function sr(t,e){const n=t.length;let i=0,r=1,o,a;while(t[i]===t[r])++r;while(r<n){o=r+1;while(t[r]===t[o])++o;if(t[r]-t[r-1]<e){a=r+(i+o-r-r>>1);while(a<r)t[a++]=t[r];while(a>r)t[a--]=t[i]}i=r;r=o}return t}function lr(t){return function(){t=(1103515245*t+12345)%2147483647;return t/2147483647}}function ur(t,e){if(e==null){e=t;t=0}let n,i,r;const o={min(t){if(arguments.length){n=t||0;r=i-n;return o}else{return n}},max(t){if(arguments.length){i=t||0;r=i-n;return o}else{return i}},sample(){return n+Math.floor(r*ir())},pdf(t){return t===Math.floor(t)&&t>=n&&t<i?1/r:0},cdf(t){const e=Math.floor(t);return e<n?0:e>=i?1:(e-n+1)/r},icdf(t){return t>=0&&t<=1?n-1+Math.floor(t*r):NaN}};return o.min(t).max(e)}const cr=Math.sqrt(2*Math.PI);const fr=Math.SQRT2;let dr=NaN;function hr(t,e){t=t||0;e=e==null?1:e;let n=0,i=0,r,o;if(dr===dr){n=dr;dr=NaN}else{do{n=ir()*2-1;i=ir()*2-1;r=n*n+i*i}while(r===0||r>1);o=Math.sqrt(-2*Math.log(r)/r);n*=o;dr=i*o}return t+n*e}function pr(t,e,n){n=n==null?1:n;const i=(t-(e||0))/n;return Math.exp(-.5*i*i)/(n*cr)}function mr(t,e,n){e=e||0;n=n==null?1:n;const i=(t-e)/n,r=Math.abs(i);let o;if(r>37){o=0}else{const t=Math.exp(-r*r/2);let e;if(r<7.07106781186547){e=.0352624965998911*r+.700383064443688;e=e*r+6.37396220353165;e=e*r+33.912866078383;e=e*r+112.079291497871;e=e*r+221.213596169931;e=e*r+220.206867912376;o=t*e;e=.0883883476483184*r+1.75566716318264;e=e*r+16.064177579207;e=e*r+86.7807322029461;e=e*r+296.564248779674;e=e*r+637.333633378831;e=e*r+793.826512519948;e=e*r+440.413735824752;o=o/e}else{e=r+.65;e=r+4/e;e=r+3/e;e=r+2/e;e=r+1/e;o=t/e/2.506628274631}}return i>0?1-o:o}function gr(t,e,n){if(t<0||t>1)return NaN;return(e||0)+(n==null?1:n)*fr*yr(2*t-1)}function yr(t){let e=-Math.log((1-t)*(1+t)),n;if(e<6.25){e-=3.125;n=-364441206401782e-35;n=-16850591381820166e-35+n*e;n=128584807152564e-32+n*e;n=11157877678025181e-33+n*e;n=-1333171662854621e-31+n*e;n=20972767875968562e-33+n*e;n=6637638134358324e-30+n*e;n=-4054566272975207e-29+n*e;n=-8151934197605472e-29+n*e;n=26335093153082323e-28+n*e;n=-12975133253453532e-27+n*e;n=-5415412054294628e-26+n*e;n=1.0512122733215323e-9+n*e;n=-4.112633980346984e-9+n*e;n=-2.9070369957882005e-8+n*e;n=4.2347877827932404e-7+n*e;n=-13654692000834679e-22+n*e;n=-13882523362786469e-21+n*e;n=.00018673420803405714+n*e;n=-.000740702534166267+n*e;n=-.006033670871430149+n*e;n=.24015818242558962+n*e;n=1.6536545626831027+n*e}else if(e<16){e=Math.sqrt(e)-3.25;n=2.2137376921775787e-9;n=9.075656193888539e-8+n*e;n=-2.7517406297064545e-7+n*e;n=1.8239629214389228e-8+n*e;n=15027403968909828e-22+n*e;n=-4013867526981546e-21+n*e;n=29234449089955446e-22+n*e;n=12475304481671779e-21+n*e;n=-47318229009055734e-21+n*e;n=6828485145957318e-20+n*e;n=24031110387097894e-21+n*e;n=-.0003550375203628475+n*e;n=.0009532893797373805+n*e;n=-.0016882755560235047+n*e;n=.002491442096107851+n*e;n=-.003751208507569241+n*e;n=.005370914553590064+n*e;n=1.0052589676941592+n*e;n=3.0838856104922208+n*e}else if(Number.isFinite(e)){e=Math.sqrt(e)-5;n=-27109920616438573e-27;n=-2.555641816996525e-10+n*e;n=1.5076572693500548e-9+n*e;n=-3.789465440126737e-9+n*e;n=7.61570120807834e-9+n*e;n=-1.496002662714924e-8+n*e;n=2.914795345090108e-8+n*e;n=-6.771199775845234e-8+n*e;n=2.2900482228026655e-7+n*e;n=-9.9298272942317e-7+n*e;n=4526062597223154e-21+n*e;n=-1968177810553167e-20+n*e;n=7599527703001776e-20+n*e;n=-.00021503011930044477+n*e;n=-.00013871931833623122+n*e;n=1.0103004648645344+n*e;n=4.849906401408584+n*e}else{n=Infinity}return n*t}function vr(t,e){let n,i;const r={mean(t){if(arguments.length){n=t||0;return r}else{return n}},stdev(t){if(arguments.length){i=t==null?1:t;return r}else{return i}},sample:()=>hr(n,i),pdf:t=>pr(t,n,i),cdf:t=>mr(t,n,i),icdf:t=>gr(t,n,i)};return r.mean(t).stdev(e)}function br(t,e){const n=vr();let i=0;const r={data(n){if(arguments.length){t=n;i=n?n.length:0;return r.bandwidth(e)}else{return t}},bandwidth(n){if(!arguments.length)return e;e=n;if(!e&&t)e=er(t);return r},sample(){return t[~~(ir()*i)]+e*n.sample()},pdf(r){let o=0,a=0;for(;a<i;++a){o+=n.pdf((r-t[a])/e)}return o/e/i},cdf(r){let o=0,a=0;for(;a<i;++a){o+=n.cdf((r-t[a])/e)}return o/i},icdf(){throw Error("KDE icdf not supported.")}};return r.data(t)}function xr(t,e){t=t||0;e=e==null?1:e;return Math.exp(t+hr()*e)}function _r(t,e,n){if(t<=0)return 0;e=e||0;n=n==null?1:n;const i=(Math.log(t)-e)/n;return Math.exp(-.5*i*i)/(n*cr*t)}function wr(t,e,n){return mr(Math.log(t),e,n)}function kr(t,e,n){return Math.exp(gr(t,e,n))}function Mr(t,e){let n,i;const r={mean(t){if(arguments.length){n=t||0;return r}else{return n}},stdev(t){if(arguments.length){i=t==null?1:t;return r}else{return i}},sample:()=>xr(n,i),pdf:t=>_r(t,n,i),cdf:t=>wr(t,n,i),icdf:t=>kr(t,n,i)};return r.mean(t).stdev(e)}function Sr(t,e){let n=0,i;function r(t){const e=[];let i=0,r;for(r=0;r<n;++r){i+=e[r]=t[r]==null?1:+t[r]}for(r=0;r<n;++r){e[r]/=i}return e}const o={weights(t){if(arguments.length){i=r(e=t||[]);return o}return e},distributions(i){if(arguments.length){if(i){n=i.length;t=i}else{n=0;t=[]}return o.weights(e)}return t},sample(){const e=ir();let r=t[n-1],o=i[0],a=0;for(;a<n-1;o+=i[++a]){if(e<o){r=t[a];break}}return r.sample()},pdf(e){let r=0,o=0;for(;o<n;++o){r+=i[o]*t[o].pdf(e)}return r},cdf(e){let r=0,o=0;for(;o<n;++o){r+=i[o]*t[o].cdf(e)}return r},icdf(){throw Error("Mixture icdf not supported.")}};return o.distributions(t).weights(e)}function Er(t,e){if(e==null){e=t==null?1:t;t=0}return t+(e-t)*ir()}function zr(t,e,n){if(n==null){n=e==null?1:e;e=0}return t>=e&&t<=n?1/(n-e):0}function Ar(t,e,n){if(n==null){n=e==null?1:e;e=0}return t<e?0:t>n?1:(t-e)/(n-e)}function $r(t,e,n){if(n==null){n=e==null?1:e;e=0}return t>=0&&t<=1?e+t*(n-e):NaN}function Or(t,e){let n,i;const r={min(t){if(arguments.length){n=t||0;return r}else{return n}},max(t){if(arguments.length){i=t==null?1:t;return r}else{return i}},sample:()=>Er(n,i),pdf:t=>zr(t,n,i),cdf:t=>Ar(t,n,i),icdf:t=>$r(t,n,i)};if(e==null){e=t==null?1:t;t=0}return r.min(t).max(e)}function Rr(t,e,n,i){const r=i-t*t,o=Math.abs(r)<1e-24?0:(n-t*e)/r,a=e-o*t;return[a,o]}function Dr(t,e,n,i){t=t.filter((t=>{let i=e(t),r=n(t);return i!=null&&(i=+i)>=i&&r!=null&&(r=+r)>=r}));if(i){t.sort(((t,n)=>e(t)-e(n)))}const r=t.length,o=new Float64Array(r),a=new Float64Array(r);let s=0,l=0,u=0,c,f,d;for(d of t){o[s]=c=+e(d);a[s]=f=+n(d);++s;l+=(c-l)/s;u+=(f-u)/s}for(s=0;s<r;++s){o[s]-=l;a[s]-=u}return[o,a,l,u]}function Tr(t,e,n,i){let r=-1,o,a;for(const s of t){o=e(s);a=n(s);if(o!=null&&(o=+o)>=o&&a!=null&&(a=+a)>=a){i(o,a,++r)}}}function Nr(t,e,n,i,r){let o=0,a=0;Tr(t,e,n,((t,e)=>{const n=e-r(t),s=e-i;o+=n*n;a+=s*s}));return 1-o/a}function Cr(t,e,n){let i=0,r=0,o=0,a=0,s=0;Tr(t,e,n,((t,e)=>{++s;i+=(t-i)/s;r+=(e-r)/s;o+=(t*e-o)/s;a+=(t*t-a)/s}));const l=Rr(i,r,o,a),u=t=>l[0]+l[1]*t;return{coef:l,predict:u,rSquared:Nr(t,e,n,r,u)}}function Lr(t,e,n){let i=0,r=0,o=0,a=0,s=0;Tr(t,e,n,((t,e)=>{++s;t=Math.log(t);i+=(t-i)/s;r+=(e-r)/s;o+=(t*e-o)/s;a+=(t*t-a)/s}));const l=Rr(i,r,o,a),u=t=>l[0]+l[1]*Math.log(t);return{coef:l,predict:u,rSquared:Nr(t,e,n,r,u)}}function Pr(t,e,n){const[i,r,o,a]=Dr(t,e,n);let s=0,l=0,u=0,c=0,f=0,d,h,p;Tr(t,e,n,((t,e)=>{d=i[f++];h=Math.log(e);p=d*e;s+=(e*h-s)/f;l+=(p-l)/f;u+=(p*h-u)/f;c+=(d*p-c)/f}));const[m,g]=Rr(l/a,s/a,u/a,c/a),y=t=>Math.exp(m+g*(t-o));return{coef:[Math.exp(m-g*o),g],predict:y,rSquared:Nr(t,e,n,a,y)}}function qr(t,e,n){let i=0,r=0,o=0,a=0,s=0,l=0;Tr(t,e,n,((t,e)=>{const n=Math.log(t),u=Math.log(e);++l;i+=(n-i)/l;r+=(u-r)/l;o+=(n*u-o)/l;a+=(n*n-a)/l;s+=(e-s)/l}));const u=Rr(i,r,o,a),c=t=>u[0]*Math.pow(t,u[1]);u[0]=Math.exp(u[0]);return{coef:u,predict:c,rSquared:Nr(t,e,n,s,c)}}function Fr(t,e,n){const[i,r,o,a]=Dr(t,e,n),s=i.length;let l=0,u=0,c=0,f=0,d=0,h,p,m,g;for(h=0;h<s;){p=i[h];m=r[h++];g=p*p;l+=(g-l)/h;u+=(g*p-u)/h;c+=(g*g-c)/h;f+=(p*m-f)/h;d+=(g*m-d)/h}const y=c-l*l,v=l*y-u*u,b=(d*l-f*u)/v,x=(f*y-d*u)/v,_=-b*l,w=t=>{t=t-o;return b*t*t+x*t+_+a};return{coef:[_-x*o+b*o*o+a,x-2*b*o,b],predict:w,rSquared:Nr(t,e,n,a,w)}}function Ir(t,e,n,i){if(i===1)return Cr(t,e,n);if(i===2)return Fr(t,e,n);const[r,o,a,s]=Dr(t,e,n),l=r.length,u=[],c=[],f=i+1;let d,h,p,m,g;for(d=0;d<f;++d){for(p=0,m=0;p<l;++p){m+=Math.pow(r[p],d)*o[p]}u.push(m);g=new Float64Array(f);for(h=0;h<f;++h){for(p=0,m=0;p<l;++p){m+=Math.pow(r[p],d+h)}g[h]=m}c.push(g)}c.push(u);const y=Ur(c),v=t=>{t-=a;let e=s+y[0]+y[1]*t+y[2]*t*t;for(d=3;d<f;++d)e+=y[d]*Math.pow(t,d);return e};return{coef:Br(f,y,-a,s),predict:v,rSquared:Nr(t,e,n,s,v)}}function Br(t,e,n,i){const r=Array(t);let o,a,s,l;for(o=0;o<t;++o)r[o]=0;for(o=t-1;o>=0;--o){s=e[o];l=1;r[o]+=s;for(a=1;a<=o;++a){l*=(o+1-a)/a;r[o-a]+=s*Math.pow(n,a)*l}}r[0]+=i;return r}function Ur(t){const e=t.length-1,n=[];let i,r,o,a,s;for(i=0;i<e;++i){a=i;for(r=i+1;r<e;++r){if(Math.abs(t[i][r])>Math.abs(t[i][a])){a=r}}for(o=i;o<e+1;++o){s=t[o][i];t[o][i]=t[o][a];t[o][a]=s}for(r=i+1;r<e;++r){for(o=e;o>=i;o--){t[o][r]-=t[o][i]*t[i][r]/t[i][i]}}}for(r=e-1;r>=0;--r){s=0;for(o=r+1;o<e;++o){s+=t[o][r]*n[o]}n[r]=(t[e][r]-s)/t[r][r]}return n}const jr=2,Yr=1e-12;function Gr(t,e,n,i){const[r,o,a,s]=Dr(t,e,n,true),l=r.length,u=Math.max(2,~~(i*l)),c=new Float64Array(l),f=new Float64Array(l),d=new Float64Array(l).fill(1);for(let h=-1;++h<=jr;){const t=[0,u-1];for(let n=0;n<l;++n){const e=r[n],i=t[0],a=t[1],s=e-r[i]>r[a]-e?i:a;let l=0,u=0,h=0,p=0,m=0;const g=1/Math.abs(r[s]-e||1);for(let t=i;t<=a;++t){const n=r[t],i=o[t],a=Wr(Math.abs(e-n)*g)*d[t],s=n*a;l+=a;u+=s;h+=i*a;p+=i*s;m+=n*s}const[y,v]=Rr(u/l,h/l,p/l,m/l);c[n]=y+v*e;f[n]=Math.abs(o[n]-c[n]);Xr(r,n+1,t)}if(h===jr){break}const e=Ki(f);if(Math.abs(e)<Yr)break;for(let n=0,i,r;n<l;++n){i=f[n]/(6*e);d[n]=i>=1?Yr:(r=1-i*i)*r}}return Hr(r,c,a,s)}function Wr(t){return(t=1-t*t*t)*t*t}function Xr(t,e,n){const i=t[e];let r=n[0],o=n[1]+1;if(o>=t.length)return;while(e>r&&t[o]-i<=i-t[r]){n[0]=++r;n[1]=o;++o}}function Hr(t,e,n,i){const r=t.length,o=[];let a=0,s=0,l=[],u;for(;a<r;++a){u=t[a]+n;if(l[0]===u){l[1]+=(e[a]-l[1])/++s}else{s=0;l[1]+=i;l=[u,e[a]];o.push(l)}}l[1]+=i;return o}const Vr=.5*Math.PI/180;function Kr(t,e,n,i){n=n||25;i=Math.max(n,i||200);const r=e=>[e,t(e)],o=e[0],a=e[1],s=a-o,l=s/i,u=[r(o)],c=[];if(n===i){for(let t=1;t<i;++t){u.push(r(o+t/n*s))}u.push(r(a));return u}else{c.push(r(a));for(let t=n;--t>0;){c.push(r(o+t/n*s))}}let f=u[0];let d=c[c.length-1];const h=1/s;const p=Zr(f[1],c);while(d){const t=r((f[0]+d[0])/2);const e=t[0]-f[0]>=l;if(e&&Qr(f,t,d,h,p)>Vr){c.push(t)}else{f=d;u.push(d);c.pop()}d=c[c.length-1]}return u}function Zr(t,e){let n=t;let i=t;const r=e.length;for(let o=0;o<r;++o){const t=e[o][1];if(t<n)n=t;if(t>i)i=t}return 1/(i-n)}function Qr(t,e,n,i,r){const o=Math.atan2(r*(n[1]-t[1]),i*(n[0]-t[0])),a=Math.atan2(r*(e[1]-t[1]),i*(e[0]-t[0]));return Math.abs(o-a)}function Jr(t,e){let n=0;let i=0;if(e===undefined){for(let e of t){if(e!=null&&(e=+e)>=e){++n,i+=e}}}else{let r=-1;for(let o of t){if((o=e(o,++r,t))!=null&&(o=+o)>=o){++n,i+=o}}}if(n)return i/n}var to=n(18312);function eo(t){return e=>{const n=t.length;let i=1,r=String(t[0](e));for(;i<n;++i){r+="|"+t[i](e)}return r}}function no(t){return!t||!t.length?function(){return""}:t.length===1?t[0]:eo(t)}function io(t,e,n){return n||t+(!e?"":"_"+e)}const ro=()=>{};const oo={init:ro,add:ro,rem:ro,idx:0};const ao={values:{init:t=>t.cell.store=true,value:t=>t.cell.data.values(),idx:-1},count:{value:t=>t.cell.num},__count__:{value:t=>t.missing+t.valid},missing:{value:t=>t.missing},valid:{value:t=>t.valid},sum:{init:t=>t.sum=0,value:t=>t.sum,add:(t,e)=>t.sum+=+e,rem:(t,e)=>t.sum-=e},product:{init:t=>t.product=1,value:t=>t.valid?t.product:undefined,add:(t,e)=>t.product*=e,rem:(t,e)=>t.product/=e},mean:{init:t=>t.mean=0,value:t=>t.valid?t.mean:undefined,add:(t,e)=>(t.mean_d=e-t.mean,t.mean+=t.mean_d/t.valid),rem:(t,e)=>(t.mean_d=e-t.mean,t.mean-=t.valid?t.mean_d/t.valid:t.mean)},average:{value:t=>t.valid?t.mean:undefined,req:["mean"],idx:1},variance:{init:t=>t.dev=0,value:t=>t.valid>1?t.dev/(t.valid-1):undefined,add:(t,e)=>t.dev+=t.mean_d*(e-t.mean),rem:(t,e)=>t.dev-=t.mean_d*(e-t.mean),req:["mean"],idx:1},variancep:{value:t=>t.valid>1?t.dev/t.valid:undefined,req:["variance"],idx:2},stdev:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid-1)):undefined,req:["variance"],idx:2},stdevp:{value:t=>t.valid>1?Math.sqrt(t.dev/t.valid):undefined,req:["variance"],idx:2},stderr:{value:t=>t.valid>1?Math.sqrt(t.dev/(t.valid*(t.valid-1))):undefined,req:["variance"],idx:2},distinct:{value:t=>t.cell.data.distinct(t.get),req:["values"],idx:3},ci0:{value:t=>t.cell.data.ci0(t.get),req:["values"],idx:3},ci1:{value:t=>t.cell.data.ci1(t.get),req:["values"],idx:3},median:{value:t=>t.cell.data.q2(t.get),req:["values"],idx:3},q1:{value:t=>t.cell.data.q1(t.get),req:["values"],idx:3},q3:{value:t=>t.cell.data.q3(t.get),req:["values"],idx:3},min:{init:t=>t.min=undefined,value:t=>t.min=Number.isNaN(t.min)?t.cell.data.min(t.get):t.min,add:(t,e)=>{if(e<t.min||t.min===undefined)t.min=e},rem:(t,e)=>{if(e<=t.min)t.min=NaN},req:["values"],idx:4},max:{init:t=>t.max=undefined,value:t=>t.max=Number.isNaN(t.max)?t.cell.data.max(t.get):t.max,add:(t,e)=>{if(e>t.max||t.max===undefined)t.max=e},rem:(t,e)=>{if(e>=t.max)t.max=NaN},req:["values"],idx:4},argmin:{init:t=>t.argmin=undefined,value:t=>t.argmin||t.cell.data.argmin(t.get),add:(t,e,n)=>{if(e<t.min)t.argmin=n},rem:(t,e)=>{if(e<=t.min)t.argmin=undefined},req:["min","values"],idx:3},argmax:{init:t=>t.argmax=undefined,value:t=>t.argmax||t.cell.data.argmax(t.get),add:(t,e,n)=>{if(e>t.max)t.argmax=n},rem:(t,e)=>{if(e>=t.max)t.argmax=undefined},req:["max","values"],idx:3}};const so=Object.keys(ao).filter((t=>t!=="__count__"));function lo(t,e){return n=>(0,p.X$)({name:t,out:n||t},oo,e)}[...so,"__count__"].forEach((t=>{ao[t]=lo(t,ao[t])}));function uo(t,e){return ao[t](e)}function co(t,e){return t.idx-e.idx}function fo(t){const e={};t.forEach((t=>e[t.name]=t));const n=t=>{if(!t.req)return;t.req.forEach((t=>{if(!e[t])n(e[t]=ao[t]())}))};t.forEach(n);return Object.values(e).sort(co)}function ho(){this.valid=0;this.missing=0;this._ops.forEach((t=>t.init(this)))}function po(t,e){if(t==null||t===""){++this.missing;return}if(t!==t)return;++this.valid;this._ops.forEach((n=>n.add(this,t,e)))}function mo(t,e){if(t==null||t===""){--this.missing;return}if(t!==t)return;--this.valid;this._ops.forEach((n=>n.rem(this,t,e)))}function go(t){this._out.forEach((e=>t[e.out]=e.value(this)));return t}function yo(t,e){const n=e||p.D_,i=fo(t),r=t.slice().sort(co);function o(t){this._ops=i;this._out=r;this.cell=t;this.init()}o.prototype.init=ho;o.prototype.add=po;o.prototype.rem=mo;o.prototype.set=go;o.prototype.get=n;o.fields=t.map((t=>t.out));return o}function vo(t){this._key=t?(0,p.ZZ)(t):yn;this.reset()}const bo=vo.prototype;bo.reset=function(){this._add=[];this._rem=[];this._ext=null;this._get=null;this._q=null};bo.add=function(t){this._add.push(t)};bo.rem=function(t){this._rem.push(t)};bo.values=function(){this._get=null;if(this._rem.length===0)return this._add;const t=this._add,e=this._rem,n=this._key,i=t.length,r=e.length,o=Array(i-r),a={};let s,l,u;for(s=0;s<r;++s){a[n(e[s])]=1}for(s=0,l=0;s<i;++s){if(a[n(u=t[s])]){a[n(u)]=0}else{o[l++]=u}}this._rem=[];return this._add=o};bo.distinct=function(t){const e=this.values(),n={};let i=e.length,r=0,o;while(--i>=0){o=t(e[i])+"";if(!(0,p.mQ)(n,o)){n[o]=1;++r}}return r};bo.extent=function(t){if(this._get!==t||!this._ext){const e=this.values(),n=(0,p.n)(e,t);this._ext=[e[n[0]],e[n[1]]];this._get=t}return this._ext};bo.argmin=function(t){return this.extent(t)[0]||{}};bo.argmax=function(t){return this.extent(t)[1]||{}};bo.min=function(t){const e=this.extent(t)[0];return e!=null?t(e):undefined};bo.max=function(t){const e=this.extent(t)[1];return e!=null?t(e):undefined};bo.quartile=function(t){if(this._get!==t||!this._q){this._q=tr(this.values(),t);this._get=t}return this._q};bo.q1=function(t){return this.quartile(t)[0]};bo.q2=function(t){return this.quartile(t)[1]};bo.q3=function(t){return this.quartile(t)[2]};bo.ci=function(t){if(this._get!==t||!this._ci){this._ci=or(this.values(),1e3,.05,t);this._get=t}return this._ci};bo.ci0=function(t){return this.ci(t)[0]};bo.ci1=function(t){return this.ci(t)[1]};function xo(t){Di.call(this,null,t);this._adds=[];this._mods=[];this._alen=0;this._mlen=0;this._drop=true;this._cross=false;this._dims=[];this._dnames=[];this._measures=[];this._countOnly=false;this._counts=null;this._prev=null;this._inputs=null;this._outputs=null}xo.Definition={type:"Aggregate",metadata:{generates:true,changes:true},params:[{name:"groupby",type:"field",array:true},{name:"ops",type:"enum",array:true,values:so},{name:"fields",type:"field",null:true,array:true},{name:"as",type:"string",null:true,array:true},{name:"drop",type:"boolean",default:true},{name:"cross",type:"boolean",default:false},{name:"key",type:"field"}]};(0,p.B)(xo,Di,{transform(t,e){const n=this,i=e.fork(e.NO_SOURCE|e.NO_FIELDS),r=t.modified();n.stamp=i.stamp;if(n.value&&(r||e.modified(n._inputs,true))){n._prev=n.value;n.value=r?n.init(t):{};e.visit(e.SOURCE,(t=>n.add(t)))}else{n.value=n.value||n.init(t);e.visit(e.REM,(t=>n.rem(t)));e.visit(e.ADD,(t=>n.add(t)))}i.modifies(n._outputs);n._drop=t.drop!==false;if(t.cross&&n._dims.length>1){n._drop=false;n.cross()}if(e.clean()&&n._drop){i.clean(true).runAfter((()=>this.clean()))}return n.changes(i)},cross(){const t=this,e=t.value,n=t._dnames,i=n.map((()=>({}))),r=n.length;function o(t){let e,o,a,s;for(e in t){a=t[e].tuple;for(o=0;o<r;++o){i[o][s=a[n[o]]]=s}}}o(t._prev);o(e);function a(o,s,l){const u=n[l],c=i[l++];for(const n in c){const i=o?o+"|"+n:n;s[u]=c[n];if(l<r)a(i,s,l);else if(!e[i])t.cell(i,s)}}a("",{},0)},init(t){const e=this._inputs=[],n=this._outputs=[],i={};function r(t){const n=(0,p.YO)((0,p.nS)(t)),r=n.length;let o=0,a;for(;o<r;++o){if(!i[a=n[o]]){i[a]=1;e.push(a)}}}this._dims=(0,p.YO)(t.groupby);this._dnames=this._dims.map((t=>{const e=(0,p.N6)(t);r(t);n.push(e);return e}));this.cellkey=t.key?t.key:no(this._dims);this._countOnly=true;this._counts=[];this._measures=[];const o=t.fields||[null],a=t.ops||["count"],s=t.as||[],l=o.length,u={};let c,f,d,h,m,g;if(l!==a.length){(0,p.z3)("Unmatched number of fields and aggregate ops.")}for(g=0;g<l;++g){c=o[g];f=a[g];if(c==null&&f!=="count"){(0,p.z3)("Null aggregate field specified.")}h=(0,p.N6)(c);m=io(f,h,s[g]);n.push(m);if(f==="count"){this._counts.push(m);continue}d=u[h];if(!d){r(c);d=u[h]=[];d.field=c;this._measures.push(d)}if(f!=="count")this._countOnly=false;d.push(uo(f,m))}this._measures=this._measures.map((t=>yo(t,t.field)));return{}},cellkey:no(),cell(t,e){let n=this.value[t];if(!n){n=this.value[t]=this.newcell(t,e);this._adds[this._alen++]=n}else if(n.num===0&&this._drop&&n.stamp<this.stamp){n.stamp=this.stamp;this._adds[this._alen++]=n}else if(n.stamp<this.stamp){n.stamp=this.stamp;this._mods[this._mlen++]=n}return n},newcell(t,e){const n={key:t,num:0,agg:null,tuple:this.newtuple(e,this._prev&&this._prev[t]),stamp:this.stamp,store:false};if(!this._countOnly){const t=this._measures,e=t.length;n.agg=Array(e);for(let i=0;i<e;++i){n.agg[i]=new t[i](n)}}if(n.store){n.data=new vo}return n},newtuple(t,e){const n=this._dnames,i=this._dims,r=i.length,o={};for(let a=0;a<r;++a){o[n[a]]=i[a](t)}return e?wn(e.tuple,o):bn(o)},clean(){const t=this.value;for(const e in t){if(t[e].num===0){delete t[e]}}},add(t){const e=this.cellkey(t),n=this.cell(e,t);n.num+=1;if(this._countOnly)return;if(n.store)n.data.add(t);const i=n.agg;for(let r=0,o=i.length;r<o;++r){i[r].add(i[r].get(t),t)}},rem(t){const e=this.cellkey(t),n=this.cell(e,t);n.num-=1;if(this._countOnly)return;if(n.store)n.data.rem(t);const i=n.agg;for(let r=0,o=i.length;r<o;++r){i[r].rem(i[r].get(t),t)}},celltuple(t){const e=t.tuple,n=this._counts;if(t.store){t.data.values()}for(let i=0,r=n.length;i<r;++i){e[n[i]]=t.num}if(!this._countOnly){const n=t.agg;for(let t=0,i=n.length;t<i;++t){n[t].set(e)}}return e},changes(t){const e=this._adds,n=this._mods,i=this._prev,r=this._drop,o=t.add,a=t.rem,s=t.mod;let l,u,c,f;if(i)for(u in i){l=i[u];if(!r||l.num)a.push(l.tuple)}for(c=0,f=this._alen;c<f;++c){o.push(this.celltuple(e[c]));e[c]=null}for(c=0,f=this._mlen;c<f;++c){l=n[c];(l.num===0&&r?a:s).push(this.celltuple(l));n[c]=null}this._alen=this._mlen=0;this._prev=null;return t}});const _o=1e-14;function wo(t){Di.call(this,null,t)}wo.Definition={type:"Bin",metadata:{modifies:true},params:[{name:"field",type:"field",required:true},{name:"interval",type:"boolean",default:true},{name:"anchor",type:"number"},{name:"maxbins",type:"number",default:20},{name:"base",type:"number",default:10},{name:"divide",type:"number",array:true,default:[5,2]},{name:"extent",type:"number",array:true,length:2,required:true},{name:"span",type:"number"},{name:"step",type:"number"},{name:"steps",type:"number",array:true},{name:"minstep",type:"number",default:0},{name:"nice",type:"boolean",default:true},{name:"name",type:"string"},{name:"as",type:"string",array:true,length:2,default:["bin0","bin1"]}]};(0,p.B)(wo,Di,{transform(t,e){const n=t.interval!==false,i=this._bins(t),r=i.start,o=i.step,a=t.as||["bin0","bin1"],s=a[0],l=a[1];let u;if(t.modified()){e=e.reflow(true);u=e.SOURCE}else{u=e.modified((0,p.nS)(t.field))?e.ADD_MOD:e.ADD}e.visit(u,n?t=>{const e=i(t);t[s]=e;t[l]=e==null?null:r+o*(1+(e-r)/o)}:t=>t[s]=i(t));return e.modifies(n?a:s)},_bins(t){if(this.value&&!t.modified()){return this.value}const e=t.field,n=nr(t),i=n.step;let r=n.start,o=r+Math.ceil((n.stop-r)/i)*i,a,s;if((a=t.anchor)!=null){s=a-(r+i*Math.floor((a-r)/i));r+=s;o+=s}const l=function(t){let n=(0,p.Ro)(e(t));return n==null?null:n<r?-Infinity:n>o?+Infinity:(n=Math.max(r,Math.min(n,o-i)),r+i*Math.floor(_o+(n-r)/i))};l.start=r;l.stop=n.stop;l.step=i;return this.value=(0,p.sY)(l,(0,p.nS)(e),t.name||"bin_"+(0,p.N6)(e))}});function ko(t,e,n){const i=t;let r=e||[],o=n||[],a={},s=0;return{add:t=>o.push(t),remove:t=>a[i(t)]=++s,size:()=>r.length,data:(t,e)=>{if(s){r=r.filter((t=>!a[i(t)]));a={};s=0}if(e&&t){r.sort(t)}if(o.length){r=t?(0,p.h1)(t,r,o.sort(t)):r.concat(o);o=[]}return r}}}function Mo(t){Di.call(this,[],t)}Mo.Definition={type:"Collect",metadata:{source:true},params:[{name:"sort",type:"compare"}]};(0,p.B)(Mo,Di,{transform(t,e){const n=e.fork(e.ALL),i=ko(yn,this.value,n.materialize(n.ADD).add),r=t.sort,o=e.changed()||r&&(t.modified("sort")||e.modified(r.fields));n.visit(n.REM,i.remove);this.modified(o);this.value=n.source=i.data(kn(r),o);if(e.source&&e.source.root){this.value.root=e.source.root}return n}});function So(t){Tn.call(this,null,Eo,t)}(0,p.B)(So,Tn);function Eo(t){return this.value&&!t.modified()?this.value:(0,p.UD)(t.fields,t.orders)}function zo(t){Di.call(this,null,t)}zo.Definition={type:"CountPattern",metadata:{generates:true,changes:true},params:[{name:"field",type:"field",required:true},{name:"case",type:"enum",values:["upper","lower","mixed"],default:"mixed"},{name:"pattern",type:"string",default:'[\\w"]+'},{name:"stopwords",type:"string",default:""},{name:"as",type:"string",array:true,length:2,default:["text","count"]}]};function Ao(t,e,n){switch(e){case"upper":t=t.toUpperCase();break;case"lower":t=t.toLowerCase();break}return t.match(n)}(0,p.B)(zo,Di,{transform(t,e){const n=e=>n=>{var i=Ao(s(n),t.case,o)||[],r;for(var l=0,u=i.length;l<u;++l){if(!a.test(r=i[l]))e(r)}};const i=this._parameterCheck(t,e),r=this._counts,o=this._match,a=this._stop,s=t.field,l=t.as||["text","count"],u=n((t=>r[t]=1+(r[t]||0))),c=n((t=>r[t]-=1));if(i){e.visit(e.SOURCE,u)}else{e.visit(e.ADD,u);e.visit(e.REM,c)}return this._finish(e,l)},_parameterCheck(t,e){let n=false;if(t.modified("stopwords")||!this._stop){this._stop=new RegExp("^"+(t.stopwords||"")+"$","i");n=true}if(t.modified("pattern")||!this._match){this._match=new RegExp(t.pattern||"[\\w']+","g");n=true}if(t.modified("field")||e.modified(t.field.fields)){n=true}if(n)this._counts={};return n},_finish(t,e){const n=this._counts,i=this._tuples||(this._tuples={}),r=e[0],o=e[1],a=t.fork(t.NO_SOURCE|t.NO_FIELDS);let s,l,u;for(s in n){l=i[s];u=n[s]||0;if(!l&&u){i[s]=l=bn({});l[r]=s;l[o]=u;a.add.push(l)}else if(u===0){if(l)a.rem.push(l);n[s]=null;i[s]=null}else if(l[o]!==u){l[o]=u;a.mod.push(l)}}return a.modifies(e)}});function $o(t){Di.call(this,null,t)}$o.Definition={type:"Cross",metadata:{generates:true},params:[{name:"filter",type:"expr"},{name:"as",type:"string",array:true,length:2,default:["a","b"]}]};(0,p.B)($o,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE),i=t.as||["a","b"],r=i[0],o=i[1],a=!this.value||e.changed(e.ADD_REM)||t.modified("as")||t.modified("filter");let s=this.value;if(a){if(s)n.rem=s;s=e.materialize(e.SOURCE).source;n.add=this.value=Oo(s,r,o,t.filter||p.vN)}else{n.mod=s}n.source=this.value;return n.modifies(i)}});function Oo(t,e,n,i){var r=[],o={},a=t.length,s=0,l,u;for(;s<a;++s){o[e]=u=t[s];for(l=0;l<a;++l){o[n]=t[l];if(i(o)){r.push(bn(o));o={};o[e]=u}}}return r}const Ro={kde:br,mixture:Sr,normal:vr,lognormal:Mr,uniform:Or};const Do="distributions",To="function",No="field";function Co(t,e){const n=t[To];if(!(0,p.mQ)(Ro,n)){(0,p.z3)("Unknown distribution function: "+n)}const i=Ro[n]();for(const r in t){if(r===No){i.data((t.from||e()).map(t[r]))}else if(r===Do){i[r](t[r].map((t=>Co(t,e))))}else if(typeof i[r]===To){i[r](t[r])}}return i}function Lo(t){Di.call(this,null,t)}const Po=[{key:{function:"normal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"lognormal"},params:[{name:"mean",type:"number",default:0},{name:"stdev",type:"number",default:1}]},{key:{function:"uniform"},params:[{name:"min",type:"number",default:0},{name:"max",type:"number",default:1}]},{key:{function:"kde"},params:[{name:"field",type:"field",required:true},{name:"from",type:"data"},{name:"bandwidth",type:"number",default:0}]}];const qo={key:{function:"mixture"},params:[{name:"distributions",type:"param",array:true,params:Po},{name:"weights",type:"number",array:true}]};Lo.Definition={type:"Density",metadata:{generates:true},params:[{name:"extent",type:"number",array:true,length:2},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"method",type:"string",default:"pdf",values:["pdf","cdf"]},{name:"distribution",type:"param",params:Po.concat(qo)},{name:"as",type:"string",array:true,default:["value","density"]}]};(0,p.B)(Lo,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE|e.NO_FIELDS);if(!this.value||e.changed()||t.modified()){const i=Co(t.distribution,Fo(e)),r=t.steps||t.minsteps||25,o=t.steps||t.maxsteps||200;let a=t.method||"pdf";if(a!=="pdf"&&a!=="cdf"){(0,p.z3)("Invalid density method: "+a)}if(!t.extent&&!i.data){(0,p.z3)("Missing density extent parameter.")}a=i[a];const s=t.as||["value","density"],l=t.extent||(0,p.Xx)(i.data()),u=Kr(a,l,r,o).map((t=>{const e={};e[s[0]]=t[0];e[s[1]]=t[1];return bn(e)}));if(this.value)n.rem=this.value;this.value=n.add=n.source=u}return n}});function Fo(t){return()=>t.materialize(t.SOURCE).source}function Io(t,e){if(!t)return null;return t.map(((t,n)=>e[n]||(0,p.N6)(t)))}function Bo(t,e,n){const i=[],r=t=>t(l);let o,a,s,l,u,c;if(e==null){i.push(t.map(n))}else{for(o={},a=0,s=t.length;a<s;++a){l=t[a];u=e.map(r);c=o[u];if(!c){o[u]=c=[];c.dims=u;i.push(c)}c.push(n(l))}}return i}const Uo="bin";function jo(t){Di.call(this,null,t)}jo.Definition={type:"DotBin",metadata:{modifies:true},params:[{name:"field",type:"field",required:true},{name:"groupby",type:"field",array:true},{name:"step",type:"number"},{name:"smooth",type:"boolean",default:false},{name:"as",type:"string",default:Uo}]};const Yo=(t,e)=>(0,p.Ln)((0,p.Xx)(t,e))/30;(0,p.B)(jo,Di,{transform(t,e){if(this.value&&!(t.modified()||e.changed())){return e}const n=e.materialize(e.SOURCE).source,i=Bo(e.source,t.groupby,p.D_),r=t.smooth||false,o=t.field,a=t.step||Yo(n,o),s=kn(((t,e)=>o(t)-o(e))),l=t.as||Uo,u=i.length;let c=Infinity,f=-Infinity,d=0,h;for(;d<u;++d){const t=i[d].sort(s);h=-1;for(const e of ar(t,a,r,o)){if(e<c)c=e;if(e>f)f=e;t[++h][l]=e}}this.value={start:c,stop:f,step:a};return e.reflow(true).modifies(l)}});function Go(t){Tn.call(this,null,Wo,t);this.modified(true)}(0,p.B)(Go,Tn);function Wo(t){const e=t.expr;return this.value&&!t.modified("expr")?this.value:(0,p.sY)((n=>e(n,t)),(0,p.nS)(e),(0,p.N6)(e))}function Xo(t){Di.call(this,[undefined,undefined],t)}Xo.Definition={type:"Extent",metadata:{},params:[{name:"field",type:"field",required:true}]};(0,p.B)(Xo,Di,{transform(t,e){const n=this.value,i=t.field,r=e.changed()||e.modified(i.fields)||t.modified("field");let o=n[0],a=n[1];if(r||o==null){o=+Infinity;a=-Infinity}e.visit(r?e.SOURCE:e.ADD,(t=>{const e=(0,p.Ro)(i(t));if(e!=null){if(e<o)o=e;if(e>a)a=e}}));if(!Number.isFinite(o)||!Number.isFinite(a)){let t=(0,p.N6)(i);if(t)t=` for field "${t}"`;e.dataflow.warn(`Infinite extent${t}: [${o}, ${a}]`);o=a=undefined}this.value=[o,a]}});function Ho(t,e){Tn.call(this,t);this.parent=e;this.count=0}(0,p.B)(Ho,Tn,{connect(t){this.detachSubflow=t.detachSubflow;this.targets().add(t);return t.source=this},add(t){this.count+=1;this.value.add.push(t)},rem(t){this.count-=1;this.value.rem.push(t)},mod(t){this.value.mod.push(t)},init(t){this.value.init(t,t.NO_SOURCE)},evaluate(){return this.value}});function Vo(t){Di.call(this,{},t);this._keys=(0,p.nG)();const e=this._targets=[];e.active=0;e.forEach=t=>{for(let n=0,i=e.active;n<i;++n){t(e[n],n,e)}}}(0,p.B)(Vo,Di,{activate(t){this._targets[this._targets.active++]=t},subflow(t,e,n,i){const r=this.value;let o=(0,p.mQ)(r,t)&&r[t],a,s;if(!o){s=i||(s=this._group[t])&&s.tuple;a=n.dataflow;o=new Ho(n.fork(n.NO_SOURCE),this);a.add(o).connect(e(a,t,s));r[t]=o;this.activate(o)}else if(o.value.stamp<n.stamp){o.init(n);this.activate(o)}return o},clean(){const t=this.value;let e=0;for(const n in t){if(t[n].count===0){const i=t[n].detachSubflow;if(i)i();delete t[n];++e}}if(e){const t=this._targets.filter((t=>t&&t.count>0));this.initTargets(t)}},initTargets(t){const e=this._targets,n=e.length,i=t?t.length:0;let r=0;for(;r<i;++r){e[r]=t[r]}for(;r<n&&e[r]!=null;++r){e[r]=null}e.active=i},transform(t,e){const n=e.dataflow,i=t.key,r=t.subflow,o=this._keys,a=t.modified("key"),s=t=>this.subflow(t,r,e);this._group=t.group||{};this.initTargets();e.visit(e.REM,(t=>{const e=yn(t),n=o.get(e);if(n!==undefined){o.delete(e);s(n).rem(t)}}));e.visit(e.ADD,(t=>{const e=i(t);o.set(yn(t),e);s(e).add(t)}));if(a||e.modified(i.fields)){e.visit(e.MOD,(t=>{const e=yn(t),n=o.get(e),r=i(t);if(n===r){s(r).mod(t)}else{o.set(e,r);s(n).rem(t);s(r).add(t)}}))}else if(e.changed(e.MOD)){e.visit(e.MOD,(t=>{s(o.get(yn(t))).mod(t)}))}if(a){e.visit(e.REFLOW,(t=>{const e=yn(t),n=o.get(e),r=i(t);if(n!==r){o.set(e,r);s(n).rem(t);s(r).add(t)}}))}if(e.clean()){n.runAfter((()=>{this.clean();o.clean()}))}else if(o.empty>n.cleanThreshold){n.runAfter(o.clean)}return e}});function Ko(t){Tn.call(this,null,Zo,t)}(0,p.B)(Ko,Tn);function Zo(t){return this.value&&!t.modified()?this.value:(0,p.cy)(t.name)?(0,p.YO)(t.name).map((t=>(0,p.ZZ)(t))):(0,p.ZZ)(t.name,t.as)}function Qo(t){Di.call(this,(0,p.nG)(),t)}Qo.Definition={type:"Filter",metadata:{changes:true},params:[{name:"expr",type:"expr",required:true}]};(0,p.B)(Qo,Di,{transform(t,e){const n=e.dataflow,i=this.value,r=e.fork(),o=r.add,a=r.rem,s=r.mod,l=t.expr;let u=true;e.visit(e.REM,(t=>{const e=yn(t);if(!i.has(e))a.push(t);else i.delete(e)}));e.visit(e.ADD,(e=>{if(l(e,t))o.push(e);else i.set(yn(e),1)}));function c(e){const n=yn(e),r=l(e,t),c=i.get(n);if(r&&c){i.delete(n);o.push(e)}else if(!r&&!c){i.set(n,1);a.push(e)}else if(u&&r&&!c){s.push(e)}}e.visit(e.MOD,c);if(t.modified()){u=false;e.visit(e.REFLOW,c)}if(i.empty>n.cleanThreshold)n.runAfter(i.clean);return r}});function Jo(t){Di.call(this,[],t)}Jo.Definition={type:"Flatten",metadata:{generates:true},params:[{name:"fields",type:"field",array:true,required:true},{name:"index",type:"string"},{name:"as",type:"string",array:true}]};(0,p.B)(Jo,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE),i=t.fields,r=Io(i,t.as||[]),o=t.index||null,a=r.length;n.rem=this.value;e.visit(e.SOURCE,(t=>{const e=i.map((e=>e(t))),s=e.reduce(((t,e)=>Math.max(t,e.length)),0);let l=0,u,c,f;for(;l<s;++l){c=xn(t);for(u=0;u<a;++u){c[r[u]]=(f=e[u][l])==null?null:f}if(o){c[o]=l}n.add.push(c)}}));this.value=n.source=n.add;if(o)n.modifies(o);return n.modifies(r)}});function ta(t){Di.call(this,[],t)}ta.Definition={type:"Fold",metadata:{generates:true},params:[{name:"fields",type:"field",array:true,required:true},{name:"as",type:"string",array:true,length:2,default:["key","value"]}]};(0,p.B)(ta,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE),i=t.fields,r=i.map(p.N6),o=t.as||["key","value"],a=o[0],s=o[1],l=i.length;n.rem=this.value;e.visit(e.SOURCE,(t=>{for(let e=0,o;e<l;++e){o=xn(t);o[a]=r[e];o[s]=i[e](t);n.add.push(o)}}));this.value=n.source=n.add;return n.modifies(o)}});function ea(t){Di.call(this,null,t)}ea.Definition={type:"Formula",metadata:{modifies:true},params:[{name:"expr",type:"expr",required:true},{name:"as",type:"string",required:true},{name:"initonly",type:"boolean"}]};(0,p.B)(ea,Di,{transform(t,e){const n=t.expr,i=t.as,r=t.modified(),o=t.initonly?e.ADD:r?e.SOURCE:e.modified(n.fields)||e.modified(i)?e.ADD_MOD:e.ADD;if(r){e=e.materialize().reflow(true)}if(!t.initonly){e.modifies(i)}return e.visit(o,(e=>e[i]=n(e,t)))}});function na(t){Di.call(this,[],t)}(0,p.B)(na,Di,{transform(t,e){const n=e.fork(e.ALL),i=t.generator;let r=this.value,o=t.size-r.length,a,s,l;if(o>0){for(a=[];--o>=0;){a.push(l=bn(i(t)));r.push(l)}n.add=n.add.length?n.materialize(n.ADD).add.concat(a):a}else{s=r.slice(0,-o);n.rem=n.rem.length?n.materialize(n.REM).rem.concat(s):s;r=r.slice(-o)}n.source=this.value=r;return n}});const ia={value:"value",median:Ki,mean:Jr,min:qi.A,max:Pi.A};const ra=[];function oa(t){Di.call(this,[],t)}oa.Definition={type:"Impute",metadata:{changes:true},params:[{name:"field",type:"field",required:true},{name:"key",type:"field",required:true},{name:"keyvals",array:true},{name:"groupby",type:"field",array:true},{name:"method",type:"enum",default:"value",values:["value","mean","median","max","min"]},{name:"value",default:0}]};function aa(t){var e=t.method||ia.value,n;if(ia[e]==null){(0,p.z3)("Unrecognized imputation method: "+e)}else if(e===ia.value){n=t.value!==undefined?t.value:0;return()=>n}else{return ia[e]}}function sa(t){const e=t.field;return t=>t?e(t):NaN}(0,p.B)(oa,Di,{transform(t,e){var n=e.fork(e.ALL),i=aa(t),r=sa(t),o=(0,p.N6)(t.field),a=(0,p.N6)(t.key),s=(t.groupby||[]).map(p.N6),l=la(e.source,t.groupby,t.key,t.keyvals),u=[],c=this.value,f=l.domain.length,d,h,m,g,y,v,b,x,_,w;for(y=0,x=l.length;y<x;++y){d=l[y];m=d.values;h=NaN;for(b=0;b<f;++b){if(d[b]!=null)continue;g=l.domain[b];w={_impute:true};for(v=0,_=m.length;v<_;++v)w[s[v]]=m[v];w[a]=g;w[o]=Number.isNaN(h)?h=i(d,r):h;u.push(bn(w))}}if(u.length)n.add=n.materialize(n.ADD).add.concat(u);if(c.length)n.rem=n.materialize(n.REM).rem.concat(c);this.value=u;return n}});function la(t,e,n,i){var r=t=>t(g),o=[],a=i?i.slice():[],s={},l={},u,c,f,d,h,p,m,g;a.forEach(((t,e)=>s[t]=e+1));for(d=0,m=t.length;d<m;++d){g=t[d];p=n(g);h=s[p]||(s[p]=a.push(p));c=(u=e?e.map(r):ra)+"";if(!(f=l[c])){f=l[c]=[];o.push(f);f.values=u}f[h-1]=g}o.domain=a;return o}function ua(t){xo.call(this,t)}ua.Definition={type:"JoinAggregate",metadata:{modifies:true},params:[{name:"groupby",type:"field",array:true},{name:"fields",type:"field",null:true,array:true},{name:"ops",type:"enum",array:true,values:so},{name:"as",type:"string",null:true,array:true},{name:"key",type:"field"}]};(0,p.B)(ua,xo,{transform(t,e){const n=this,i=t.modified();let r;if(n.value&&(i||e.modified(n._inputs,true))){r=n.value=i?n.init(t):{};e.visit(e.SOURCE,(t=>n.add(t)))}else{r=n.value=n.value||this.init(t);e.visit(e.REM,(t=>n.rem(t)));e.visit(e.ADD,(t=>n.add(t)))}n.changes();e.visit(e.SOURCE,(t=>{(0,p.X$)(t,r[n.cellkey(t)].tuple)}));return e.reflow(i).modifies(this._outputs)},changes(){const t=this._adds,e=this._mods;let n,i;for(n=0,i=this._alen;n<i;++n){this.celltuple(t[n]);t[n]=null}for(n=0,i=this._mlen;n<i;++n){this.celltuple(e[n]);e[n]=null}this._alen=this._mlen=0}});function ca(t){Di.call(this,null,t)}ca.Definition={type:"KDE",metadata:{generates:true},params:[{name:"groupby",type:"field",array:true},{name:"field",type:"field",required:true},{name:"cumulative",type:"boolean",default:false},{name:"counts",type:"boolean",default:false},{name:"bandwidth",type:"number",default:0},{name:"extent",type:"number",array:true,length:2},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"steps",type:"number"},{name:"minsteps",type:"number",default:25},{name:"maxsteps",type:"number",default:200},{name:"as",type:"string",array:true,default:["value","density"]}]};(0,p.B)(ca,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE|e.NO_FIELDS);if(!this.value||e.changed()||t.modified()){const i=e.materialize(e.SOURCE).source,r=Bo(i,t.groupby,t.field),o=(t.groupby||[]).map(p.N6),a=t.bandwidth,s=t.cumulative?"cdf":"pdf",l=t.as||["value","density"],u=[];let c=t.extent,f=t.steps||t.minsteps||25,d=t.steps||t.maxsteps||200;if(s!=="pdf"&&s!=="cdf"){(0,p.z3)("Invalid density method: "+s)}if(t.resolve==="shared"){if(!c)c=(0,p.Xx)(i,t.field);f=d=t.steps||d}r.forEach((e=>{const n=br(e,a)[s],i=t.counts?e.length:1,r=c||(0,p.Xx)(e);Kr(n,r,f,d).forEach((t=>{const n={};for(let i=0;i<o.length;++i){n[o[i]]=e.dims[i]}n[l[0]]=t[0];n[l[1]]=t[1]*i;u.push(bn(n))}))}));if(this.value)n.rem=this.value;this.value=n.add=n.source=u}return n}});function fa(t){Tn.call(this,null,da,t)}(0,p.B)(fa,Tn);function da(t){return this.value&&!t.modified()?this.value:(0,p.Eb)(t.fields,t.flat)}function ha(t){Di.call(this,[],t);this._pending=null}(0,p.B)(ha,Di,{transform(t,e){const n=e.dataflow;if(this._pending){return ma(this,e,this._pending)}if(pa(t))return e.StopPropagation;if(t.values){return ma(this,e,n.parse(t.values,t.format))}else if(t.async){const e=n.request(t.url,t.format).then((t=>{this._pending=(0,p.YO)(t.data);return t=>t.touch(this)}));return{async:e}}else{return n.request(t.url,t.format).then((t=>ma(this,e,(0,p.YO)(t.data))))}}});function pa(t){return t.modified("async")&&!(t.modified("values")||t.modified("url")||t.modified("format"))}function ma(t,e,n){n.forEach(bn);const i=e.fork(e.NO_FIELDS&e.NO_SOURCE);i.rem=t.value;t.value=i.source=i.add=n;t._pending=null;if(i.rem.length)i.clean(true);return i}function ga(t){Di.call(this,{},t)}ga.Definition={type:"Lookup",metadata:{modifies:true},params:[{name:"index",type:"index",params:[{name:"from",type:"data",required:true},{name:"key",type:"field",required:true}]},{name:"values",type:"field",array:true},{name:"fields",type:"field",array:true,required:true},{name:"as",type:"string",array:true},{name:"default",default:null}]};(0,p.B)(ga,Di,{transform(t,e){const n=t.fields,i=t.index,r=t.values,o=t.default==null?null:t.default,a=t.modified(),s=n.length;let l=a?e.SOURCE:e.ADD,u=e,c=t.as,f,d,h;if(r){d=r.length;if(s>1&&!c){(0,p.z3)('Multi-field lookup requires explicit "as" parameter.')}if(c&&c.length!==s*d){(0,p.z3)('The "as" parameter has too few output field names.')}c=c||r.map(p.N6);f=function(t){for(var e=0,a=0,l,u;e<s;++e){u=i.get(n[e](t));if(u==null)for(l=0;l<d;++l,++a)t[c[a]]=o;else for(l=0;l<d;++l,++a)t[c[a]]=r[l](u)}}}else{if(!c){(0,p.z3)("Missing output field names.")}f=function(t){for(var e=0,r;e<s;++e){r=i.get(n[e](t));t[c[e]]=r==null?o:r}}}if(a){u=e.reflow(true)}else{h=n.some((t=>e.modified(t.fields)));l|=h?e.MOD:0}e.visit(l,f);return u.modifies(c)}});function ya(t){Tn.call(this,null,va,t)}(0,p.B)(ya,Tn);function va(t){if(this.value&&!t.modified()){return this.value}const e=t.extents,n=e.length;let i=+Infinity,r=-Infinity,o,a;for(o=0;o<n;++o){a=e[o];if(a[0]<i)i=a[0];if(a[1]>r)r=a[1]}return[i,r]}function ba(t){Tn.call(this,null,xa,t)}(0,p.B)(ba,Tn);function xa(t){return this.value&&!t.modified()?this.value:t.values.reduce(((t,e)=>t.concat(e)),[])}function _a(t){Di.call(this,null,t)}(0,p.B)(_a,Di,{transform(t,e){this.modified(t.modified());this.value=t;return e.fork(e.NO_SOURCE|e.NO_FIELDS)}});function wa(t){xo.call(this,t)}wa.Definition={type:"Pivot",metadata:{generates:true,changes:true},params:[{name:"groupby",type:"field",array:true},{name:"field",type:"field",required:true},{name:"value",type:"field",required:true},{name:"op",type:"enum",values:so,default:"sum"},{name:"limit",type:"number",default:0},{name:"key",type:"field"}]};(0,p.B)(wa,xo,{_transform:xo.prototype.transform,transform(t,e){return this._transform(ka(t,e),e)}});function ka(t,e){const n=t.field,i=t.value,r=(t.op==="count"?"__count__":t.op)||"sum",o=(0,p.nS)(n).concat((0,p.nS)(i)),a=Sa(n,t.limit||0,e);if(e.changed())t.set("__pivot__",null,null,true);return{key:t.key,groupby:t.groupby,ops:a.map((()=>r)),fields:a.map((t=>Ma(t,n,i,o))),as:a.map((t=>t+"")),modified:t.modified.bind(t)}}function Ma(t,e,n,i){return(0,p.sY)((i=>e(i)===t?n(i):NaN),i,t+"")}function Sa(t,e,n){const i={},r=[];n.visit(n.SOURCE,(e=>{const n=t(e);if(!i[n]){i[n]=1;r.push(n)}}));r.sort(p.V_);return e?r.slice(0,e):r}function Ea(t){Vo.call(this,t)}(0,p.B)(Ea,Vo,{transform(t,e){const n=t.subflow,i=t.field,r=t=>this.subflow(yn(t),n,e,t);if(t.modified("field")||i&&e.modified((0,p.nS)(i))){(0,p.z3)("PreFacet does not support field modification.")}this.initTargets();if(i){e.visit(e.MOD,(t=>{const e=r(t);i(t).forEach((t=>e.mod(t)))}));e.visit(e.ADD,(t=>{const e=r(t);i(t).forEach((t=>e.add(bn(t))))}));e.visit(e.REM,(t=>{const e=r(t);i(t).forEach((t=>e.rem(t)))}))}else{e.visit(e.MOD,(t=>r(t).mod(t)));e.visit(e.ADD,(t=>r(t).add(t)));e.visit(e.REM,(t=>r(t).rem(t)))}if(e.clean()){e.runAfter((()=>this.clean()))}return e}});function za(t){Di.call(this,null,t)}za.Definition={type:"Project",metadata:{generates:true,changes:true},params:[{name:"fields",type:"field",array:true},{name:"as",type:"string",null:true,array:true}]};(0,p.B)(za,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE),i=t.fields,r=Io(t.fields,t.as||[]),o=i?(t,e)=>Aa(t,e,i,r):_n;let a;if(this.value){a=this.value}else{e=e.addAll();a=this.value={}}e.visit(e.REM,(t=>{const e=yn(t);n.rem.push(a[e]);a[e]=null}));e.visit(e.ADD,(t=>{const e=o(t,bn({}));a[yn(t)]=e;n.add.push(e)}));e.visit(e.MOD,(t=>{n.mod.push(o(t,a[yn(t)]))}));return n}});function Aa(t,e,n,i){for(let r=0,o=n.length;r<o;++r){e[i[r]]=n[r](t)}return e}function $a(t){Di.call(this,null,t)}(0,p.B)($a,Di,{transform(t,e){this.value=t.value;return t.modified("value")?e.fork(e.NO_SOURCE|e.NO_FIELDS):e.StopPropagation}});function Oa(t){Di.call(this,null,t)}Oa.Definition={type:"Quantile",metadata:{generates:true,changes:true},params:[{name:"groupby",type:"field",array:true},{name:"field",type:"field",required:true},{name:"probs",type:"number",array:true},{name:"step",type:"number",default:.01},{name:"as",type:"string",array:true,default:["prob","value"]}]};const Ra=1e-14;(0,p.B)(Oa,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=t.as||["prob","value"];if(this.value&&!t.modified()&&!e.changed()){n.source=this.value;return n}const r=e.materialize(e.SOURCE).source,o=Bo(r,t.groupby,t.field),a=(t.groupby||[]).map(p.N6),s=[],l=t.step||.01,u=t.probs||(0,to.A)(l/2,1-Ra,l),c=u.length;o.forEach((t=>{const e=Ji(t,u);for(let n=0;n<c;++n){const r={};for(let e=0;e<a.length;++e){r[a[e]]=t.dims[e]}r[i[0]]=u[n];r[i[1]]=e[n];s.push(bn(r))}}));if(this.value)n.rem=this.value;this.value=n.add=n.source=s;return n}});function Da(t){Di.call(this,null,t)}(0,p.B)(Da,Di,{transform(t,e){let n,i;if(this.value){i=this.value}else{n=e=e.addAll();i=this.value={}}if(t.derive){n=e.fork(e.NO_SOURCE);e.visit(e.REM,(t=>{const e=yn(t);n.rem.push(i[e]);i[e]=null}));e.visit(e.ADD,(t=>{const e=xn(t);i[yn(t)]=e;n.add.push(e)}));e.visit(e.MOD,(t=>{const e=i[yn(t)];for(const i in t){e[i]=t[i];n.modifies(i)}n.mod.push(e)}))}return n}});function Ta(t){Di.call(this,[],t);this.count=0}Ta.Definition={type:"Sample",metadata:{},params:[{name:"size",type:"number",default:1e3}]};(0,p.B)(Ta,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE),i=t.modified("size"),r=t.size,o=this.value.reduce(((t,e)=>(t[yn(e)]=1,t)),{});let a=this.value,s=this.count,l=0;function u(t){let e,i;if(a.length<r){a.push(t)}else{i=~~((s+1)*ir());if(i<a.length&&i>=l){e=a[i];if(o[yn(e)])n.rem.push(e);a[i]=t}}++s}if(e.rem.length){e.visit(e.REM,(t=>{const e=yn(t);if(o[e]){o[e]=-1;n.rem.push(t)}--s}));a=a.filter((t=>o[yn(t)]!==-1))}if((e.rem.length||i)&&a.length<r&&e.source){l=s=a.length;e.visit(e.SOURCE,(t=>{if(!o[yn(t)])u(t)}));l=-1}if(i&&a.length>r){const t=a.length-r;for(let e=0;e<t;++e){o[yn(a[e])]=-1;n.rem.push(a[e])}a=a.slice(t)}if(e.mod.length){e.visit(e.MOD,(t=>{if(o[yn(t)])n.mod.push(t)}))}if(e.add.length){e.visit(e.ADD,u)}if(e.add.length||l<0){n.add=a.filter((t=>!o[yn(t)]))}this.count=s;this.value=n.source=a;return n}});function Na(t){Di.call(this,null,t)}Na.Definition={type:"Sequence",metadata:{generates:true,changes:true},params:[{name:"start",type:"number",required:true},{name:"stop",type:"number",required:true},{name:"step",type:"number",default:1},{name:"as",type:"string",default:"data"}]};(0,p.B)(Na,Di,{transform(t,e){if(this.value&&!t.modified())return;const n=e.materialize().fork(e.MOD),i=t.as||"data";n.rem=this.value?e.rem.concat(this.value):e.rem;this.value=(0,to.A)(t.start,t.stop,t.step||1).map((t=>{const e={};e[i]=t;return bn(e)}));n.add=e.add.concat(this.value);return n}});function Ca(t){Di.call(this,null,t);this.modified(true)}(0,p.B)(Ca,Di,{transform(t,e){this.value=e.source;return e.changed()?e.fork(e.NO_SOURCE|e.NO_FIELDS):e.StopPropagation}});function La(t){Di.call(this,null,t)}const Pa=["unit0","unit1"];La.Definition={type:"TimeUnit",metadata:{modifies:true},params:[{name:"field",type:"field",required:true},{name:"interval",type:"boolean",default:true},{name:"units",type:"enum",values:ct,array:true},{name:"step",type:"number",default:1},{name:"maxbins",type:"number",default:40},{name:"extent",type:"date",array:true},{name:"timezone",type:"enum",default:"local",values:["local","utc"]},{name:"as",type:"string",array:true,length:2,default:Pa}]};(0,p.B)(La,Di,{transform(t,e){const n=t.field,i=t.interval!==false,r=t.timezone==="utc",o=this._floor(t,e),a=(r?Bt:It)(o.unit).offset,s=t.as||Pa,l=s[0],u=s[1],c=o.step;let f=o.start||Infinity,d=o.stop||-Infinity,h=e.ADD;if(t.modified()||e.changed(e.REM)||e.modified((0,p.nS)(n))){e=e.reflow(true);h=e.SOURCE;f=Infinity;d=-Infinity}e.visit(h,(t=>{const e=n(t);let r,s;if(e==null){t[l]=null;if(i)t[u]=null}else{t[l]=r=s=o(e);if(i)t[u]=s=a(r,c);if(r<f)f=r;if(s>d)d=s}}));o.start=f;o.stop=d;return e.modifies(i?s:l)},_floor(t,e){const n=t.timezone==="utc";const{units:i,step:r}=t.units?{units:t.units,step:t.step||1}:ce({extent:t.extent||(0,p.Xx)(e.materialize(e.SOURCE).source,t.field),maxbins:t.maxbins});const o=dt(i),a=this.value||{},s=(n?Pt:Nt)(o,r);s.unit=(0,p.se)(o);s.units=o;s.step=r;s.start=a.start;s.stop=a.stop;return this.value=s}});function qa(t){Di.call(this,(0,p.nG)(),t)}(0,p.B)(qa,Di,{transform(t,e){const n=e.dataflow,i=t.field,r=this.value,o=t=>r.set(i(t),t);let a=true;if(t.modified("field")||e.modified(i.fields)){r.clear();e.visit(e.SOURCE,o)}else if(e.changed()){e.visit(e.REM,(t=>r.delete(i(t))));e.visit(e.ADD,o)}else{a=false}this.modified(a);if(r.empty>n.cleanThreshold)n.runAfter(r.clean);return e.fork()}});function Fa(t){Di.call(this,null,t)}(0,p.B)(Fa,Di,{transform(t,e){const n=!this.value||t.modified("field")||t.modified("sort")||e.changed()||t.sort&&e.modified(t.sort.fields);if(n){this.value=(t.sort?e.source.slice().sort(kn(t.sort)):e.source).map(t.field)}}});function Ia(t,e,n,i){const r=Ba[t](e,n);return{init:r.init||p.v_,update:function(t,e){e[i]=r.next(t)}}}const Ba={row_number:function(){return{next:t=>t.index+1}},rank:function(){let t;return{init:()=>t=1,next:e=>{const n=e.index,i=e.data;return n&&e.compare(i[n-1],i[n])?t=n+1:t}}},dense_rank:function(){let t;return{init:()=>t=1,next:e=>{const n=e.index,i=e.data;return n&&e.compare(i[n-1],i[n])?++t:t}}},percent_rank:function(){const t=Ba.rank(),e=t.next;return{init:t.init,next:t=>(e(t)-1)/(t.data.length-1)}},cume_dist:function(){let t;return{init:()=>t=0,next:e=>{const n=e.data,i=e.compare;let r=e.index;if(t<r){while(r+1<n.length&&!i(n[r],n[r+1]))++r;t=r}return(1+t)/n.length}}},ntile:function(t,e){e=+e;if(!(e>0))(0,p.z3)("ntile num must be greater than zero.");const n=Ba.cume_dist(),i=n.next;return{init:n.init,next:t=>Math.ceil(e*i(t))}},lag:function(t,e){e=+e||1;return{next:n=>{const i=n.index-e;return i>=0?t(n.data[i]):null}}},lead:function(t,e){e=+e||1;return{next:n=>{const i=n.index+e,r=n.data;return i<r.length?t(r[i]):null}}},first_value:function(t){return{next:e=>t(e.data[e.i0])}},last_value:function(t){return{next:e=>t(e.data[e.i1-1])}},nth_value:function(t,e){e=+e;if(!(e>0))(0,p.z3)("nth_value nth must be greater than zero.");return{next:n=>{const i=n.i0+(e-1);return i<n.i1?t(n.data[i]):null}}},prev_value:function(t){let e;return{init:()=>e=null,next:n=>{const i=t(n.data[n.index]);return i!=null?e=i:e}}},next_value:function(t){let e,n;return{init:()=>(e=null,n=-1),next:i=>{const r=i.data;return i.index<=n?e:(n=Ua(t,r,i.index))<0?(n=r.length,e=null):e=t(r[n])}}}};function Ua(t,e,n){for(let i=e.length;n<i;++n){const i=t(e[n]);if(i!=null)return n}return-1}const ja=Object.keys(Ba);function Ya(t){const e=(0,p.YO)(t.ops),n=(0,p.YO)(t.fields),i=(0,p.YO)(t.params),r=(0,p.YO)(t.as),o=this.outputs=[],a=this.windows=[],s={},l={},u=[],c=[];let f=true;function d(t){(0,p.YO)((0,p.nS)(t)).forEach((t=>s[t]=1))}d(t.sort);e.forEach(((t,e)=>{const s=n[e],h=(0,p.N6)(s),m=io(t,h,r[e]);d(s);o.push(m);if((0,p.mQ)(Ba,t)){a.push(Ia(t,n[e],i[e],m))}else{if(s==null&&t!=="count"){(0,p.z3)("Null aggregate field specified.")}if(t==="count"){u.push(m);return}f=false;let e=l[h];if(!e){e=l[h]=[];e.field=s;c.push(e)}e.push(uo(t,m))}}));if(u.length||c.length){this.cell=Wa(c,u,f)}this.inputs=Object.keys(s)}const Ga=Ya.prototype;Ga.init=function(){this.windows.forEach((t=>t.init()));if(this.cell)this.cell.init()};Ga.update=function(t,e){const n=this.cell,i=this.windows,r=t.data,o=i&&i.length;let a;if(n){for(a=t.p0;a<t.i0;++a)n.rem(r[a]);for(a=t.p1;a<t.i1;++a)n.add(r[a]);n.set(e)}for(a=0;a<o;++a)i[a].update(t,e)};function Wa(t,e,n){t=t.map((t=>yo(t,t.field)));const i={num:0,agg:null,store:false,count:e};if(!n){var r=t.length,o=i.agg=Array(r),a=0;for(;a<r;++a)o[a]=new t[a](i)}if(i.store){var s=i.data=new vo}i.add=function(t){i.num+=1;if(n)return;if(s)s.add(t);for(let e=0;e<r;++e){o[e].add(o[e].get(t),t)}};i.rem=function(t){i.num-=1;if(n)return;if(s)s.rem(t);for(let e=0;e<r;++e){o[e].rem(o[e].get(t),t)}};i.set=function(t){let r,a;if(s)s.values();for(r=0,a=e.length;r<a;++r)t[e[r]]=i.num;if(!n)for(r=0,a=o.length;r<a;++r)o[r].set(t)};i.init=function(){i.num=0;if(s)s.reset();for(let t=0;t<r;++t)o[t].init()};return i}function Xa(t){Di.call(this,{},t);this._mlen=0;this._mods=[]}Xa.Definition={type:"Window",metadata:{modifies:true},params:[{name:"sort",type:"compare"},{name:"groupby",type:"field",array:true},{name:"ops",type:"enum",array:true,values:ja.concat(so)},{name:"params",type:"number",null:true,array:true},{name:"fields",type:"field",null:true,array:true},{name:"as",type:"string",null:true,array:true},{name:"frame",type:"number",null:true,array:true,length:2,default:[null,0]},{name:"ignorePeers",type:"boolean",default:false}]};(0,p.B)(Xa,Di,{transform(t,e){this.stamp=e.stamp;const n=t.modified(),i=kn(t.sort),r=no(t.groupby),o=t=>this.group(r(t));let a=this.state;if(!a||n){a=this.state=new Ya(t)}if(n||e.modified(a.inputs)){this.value={};e.visit(e.SOURCE,(t=>o(t).add(t)))}else{e.visit(e.REM,(t=>o(t).remove(t)));e.visit(e.ADD,(t=>o(t).add(t)))}for(let s=0,l=this._mlen;s<l;++s){Ha(this._mods[s],a,i,t)}this._mlen=0;this._mods=[];return e.reflow(n).modifies(a.outputs)},group(t){let e=this.value[t];if(!e){e=this.value[t]=ko(yn);e.stamp=-1}if(e.stamp<this.stamp){e.stamp=this.stamp;this._mods[this._mlen++]=e}return e}});function Ha(t,e,n,i){const r=i.sort,o=r&&!i.ignorePeers,a=i.frame||[null,0],s=t.data(n),l=s.length,u=o?(0,Q.A)(r):null,c={i0:0,i1:0,p0:0,p1:0,index:0,data:s,compare:r||(0,p.dY)(-1)};e.init();for(let f=0;f<l;++f){Va(c,a,f,l);if(o)Ka(c,u);e.update(c,s[f])}}function Va(t,e,n,i){t.p0=t.i0;t.p1=t.i1;t.i0=e[0]==null?0:Math.max(0,n-Math.abs(e[0]));t.i1=e[1]==null?i:Math.min(i,n+Math.abs(e[1])+1);t.index=n}function Ka(t,e){const n=t.i0,i=t.i1-1,r=t.compare,o=t.data,a=o.length-1;if(n>0&&!r(o[n],o[n-1]))t.i0=e.left(o,o[n]);if(i<a&&!r(o[i],o[i+1]))t.i1=e.right(o,o[i])}var Za=n(24363);var Qa=n(60075);var Ja=n(69683);var ts=n(54545);var es=n(43793);var ns=n(46457);var is=n(13893);var rs=n(76413);var os=n(25633);var as=n(13309);var ss=n(71228);var ls=n(43272);var us=n(67694);var cs=n(29944);var fs=n(79011);var ds=n(16681);var hs=n(12736);var ps=n(84653);var ms=n(58679);var gs=n(18226);var ys=n(59835);function vs(t,e,n){var i=null,r=(0,ps.A)(true),o=null,a=ss.A,s=null,l=(0,gs.i)(u);t=typeof t==="function"?t:t===undefined?ys.x:(0,ps.A)(+t);e=typeof e==="function"?e:e===undefined?(0,ps.A)(0):(0,ps.A)(+e);n=typeof n==="function"?n:n===undefined?ys.y:(0,ps.A)(+n);function u(u){var c,f,d,h=(u=(0,hs.A)(u)).length,p,m=false,g,y=new Array(h),v=new Array(h);if(o==null)s=a(g=l());for(c=0;c<=h;++c){if(!(c<h&&r(p=u[c],c,u))===m){if(m=!m){f=c;s.areaStart();s.lineStart()}else{s.lineEnd();s.lineStart();for(d=c-1;d>=f;--d){s.point(y[d],v[d])}s.lineEnd();s.areaEnd()}}if(m){y[c]=+t(p,c,u),v[c]=+e(p,c,u);s.point(i?+i(p,c,u):y[c],n?+n(p,c,u):v[c])}}if(g)return s=null,g+""||null}function c(){return(0,ms.A)().defined(r).curve(a).context(o)}u.x=function(e){return arguments.length?(t=typeof e==="function"?e:(0,ps.A)(+e),i=null,u):t};u.x0=function(e){return arguments.length?(t=typeof e==="function"?e:(0,ps.A)(+e),u):t};u.x1=function(t){return arguments.length?(i=t==null?null:typeof t==="function"?t:(0,ps.A)(+t),u):i};u.y=function(t){return arguments.length?(e=typeof t==="function"?t:(0,ps.A)(+t),n=null,u):e};u.y0=function(t){return arguments.length?(e=typeof t==="function"?t:(0,ps.A)(+t),u):e};u.y1=function(t){return arguments.length?(n=t==null?null:typeof t==="function"?t:(0,ps.A)(+t),u):n};u.lineX0=u.lineY0=function(){return c().x(t).y(e)};u.lineY1=function(){return c().x(t).y(n)};u.lineX1=function(){return c().x(i).y(e)};u.defined=function(t){return arguments.length?(r=typeof t==="function"?t:(0,ps.A)(!!t),u):r};u.curve=function(t){return arguments.length?(a=t,o!=null&&(s=a(o)),u):a};u.context=function(t){return arguments.length?(t==null?o=s=null:s=a(o=t),u):o};return u}var bs=n(98247);const xs=(0,bs.RZ)(3);const _s={draw(t,e){const n=(0,bs.RZ)(e+(0,bs.jk)(e/28,.75))*.59436;const i=n/2;const r=i*xs;t.moveTo(0,n);t.lineTo(0,-n);t.moveTo(-r,-i);t.lineTo(r,i);t.moveTo(-r,i);t.lineTo(r,-i)}};const ws={draw(t,e){const n=(0,bs.RZ)(e/bs.pi);t.moveTo(n,0);t.arc(0,0,n,0,bs.FA)}};const ks={draw(t,e){const n=(0,bs.RZ)(e/5)/2;t.moveTo(-3*n,-n);t.lineTo(-n,-n);t.lineTo(-n,-3*n);t.lineTo(n,-3*n);t.lineTo(n,-n);t.lineTo(3*n,-n);t.lineTo(3*n,n);t.lineTo(n,n);t.lineTo(n,3*n);t.lineTo(-n,3*n);t.lineTo(-n,n);t.lineTo(-3*n,n);t.closePath()}};const Ms=(0,bs.RZ)(1/3);const Ss=Ms*2;const Es={draw(t,e){const n=(0,bs.RZ)(e/Ss);const i=n*Ms;t.moveTo(0,-n);t.lineTo(i,0);t.lineTo(0,n);t.lineTo(-i,0);t.closePath()}};const zs={draw(t,e){const n=(0,bs.RZ)(e)*.62625;t.moveTo(0,-n);t.lineTo(n,0);t.lineTo(0,n);t.lineTo(-n,0);t.closePath()}};const As={draw(t,e){const n=(0,bs.RZ)(e-(0,bs.jk)(e/7,2))*.87559;t.moveTo(-n,0);t.lineTo(n,0);t.moveTo(0,n);t.lineTo(0,-n)}};const $s={draw(t,e){const n=(0,bs.RZ)(e);const i=-n/2;t.rect(i,i,n,n)}};const Os={draw(t,e){const n=(0,bs.RZ)(e)*.4431;t.moveTo(n,n);t.lineTo(n,-n);t.lineTo(-n,-n);t.lineTo(-n,n);t.closePath()}};const Rs=.8908130915292852;const Ds=(0,bs.F8)(bs.pi/10)/(0,bs.F8)(7*bs.pi/10);const Ts=(0,bs.F8)(bs.FA/10)*Ds;const Ns=-(0,bs.gn)(bs.FA/10)*Ds;const Cs={draw(t,e){const n=(0,bs.RZ)(e*Rs);const i=Ts*n;const r=Ns*n;t.moveTo(0,-n);t.lineTo(i,r);for(let o=1;o<5;++o){const e=bs.FA*o/5;const a=(0,bs.gn)(e);const s=(0,bs.F8)(e);t.lineTo(s*n,-a*n);t.lineTo(a*i-s*r,s*i+a*r)}t.closePath()}};const Ls=(0,bs.RZ)(3);const Ps={draw(t,e){const n=-(0,bs.RZ)(e/(Ls*3));t.moveTo(0,n*2);t.lineTo(-Ls*n,-n);t.lineTo(Ls*n,-n);t.closePath()}};const qs=(0,bs.RZ)(3);const Fs={draw(t,e){const n=(0,bs.RZ)(e)*.6824;const i=n/2;const r=n*qs/2;t.moveTo(0,-n);t.lineTo(r,i);t.lineTo(-r,i);t.closePath()}};const Is=-.5;const Bs=(0,bs.RZ)(3)/2;const Us=1/(0,bs.RZ)(12);const js=(Us/2+1)*3;const Ys={draw(t,e){const n=(0,bs.RZ)(e/js);const i=n/2,r=n*Us;const o=i,a=n*Us+n;const s=-o,l=a;t.moveTo(i,r);t.lineTo(o,a);t.lineTo(s,l);t.lineTo(Is*i-Bs*r,Bs*i+Is*r);t.lineTo(Is*o-Bs*a,Bs*o+Is*a);t.lineTo(Is*s-Bs*l,Bs*s+Is*l);t.lineTo(Is*i+Bs*r,Is*r-Bs*i);t.lineTo(Is*o+Bs*a,Is*a-Bs*o);t.lineTo(Is*s+Bs*l,Is*l-Bs*s);t.closePath()}};const Gs={draw(t,e){const n=(0,bs.RZ)(e-(0,bs.jk)(e/6,1.7))*.6189;t.moveTo(-n,-n);t.lineTo(n,n);t.moveTo(-n,n);t.lineTo(n,-n)}};const Ws=[ws,ks,Es,$s,Cs,Ps,Ys];const Xs=[ws,As,Gs,Fs,_s,Os,zs];function Hs(t,e){let n=null,i=(0,gs.i)(r);t=typeof t==="function"?t:(0,ps.A)(t||ws);e=typeof e==="function"?e:(0,ps.A)(e===undefined?64:+e);function r(){let r;if(!n)n=r=i();t.apply(this,arguments).draw(n,+e.apply(this,arguments));if(r)return n=null,r+""||null}r.type=function(e){return arguments.length?(t=typeof e==="function"?e:(0,ps.A)(e),r):t};r.size=function(t){return arguments.length?(e=typeof t==="function"?t:(0,ps.A)(+t),r):e};r.context=function(t){return arguments.length?(n=t==null?null:t,r):n};return r}var Vs=n(69450);function Ks(t,e){if(typeof document!=="undefined"&&document.createElement){const n=document.createElement("canvas");if(n&&n.getContext){n.width=t;n.height=e;return n}}return null}const Zs=()=>typeof Image!=="undefined"?Image:null;var Qs=n(71363);var Js=n(20481);var tl=n(60117);function el(t){var e;function n(t){return t==null||isNaN(t=+t)?e:t}n.invert=n;n.domain=n.range=function(e){return arguments.length?(t=Array.from(e,tl.A),n):t.slice()};n.unknown=function(t){return arguments.length?(e=t,n):e};n.copy=function(){return el(t).unknown(e)};t=arguments.length?Array.from(t,tl.A):[0,1];return(0,Js.C)(n)}var nl=n(60125);var il=n(52178);var rl=n(25758);function ol(t){return Math.log(t)}function al(t){return Math.exp(t)}function sl(t){return-Math.log(-t)}function ll(t){return-Math.exp(-t)}function ul(t){return isFinite(t)?+("1e"+t):t<0?0:t}function cl(t){return t===10?ul:t===Math.E?Math.exp:e=>Math.pow(t,e)}function fl(t){return t===Math.E?Math.log:t===10&&Math.log10||t===2&&Math.log2||(t=Math.log(t),e=>Math.log(e)/t)}function dl(t){return(e,n)=>-t(-e,n)}function hl(t){const e=t(ol,al);const n=e.domain;let i=10;let r;let o;function a(){r=fl(i),o=cl(i);if(n()[0]<0){r=dl(r),o=dl(o);t(sl,ll)}else{t(ol,al)}return e}e.base=function(t){return arguments.length?(i=+t,a()):i};e.domain=function(t){return arguments.length?(n(t),a()):n()};e.ticks=t=>{const e=n();let a=e[0];let s=e[e.length-1];const l=s<a;if(l)[a,s]=[s,a];let u=r(a);let c=r(s);let f;let d;const h=t==null?10:+t;let p=[];if(!(i%1)&&c-u<h){u=Math.floor(u),c=Math.ceil(c);if(a>0)for(;u<=c;++u){for(f=1;f<i;++f){d=u<0?f/o(-u):f*o(u);if(d<a)continue;if(d>s)break;p.push(d)}}else for(;u<=c;++u){for(f=i-1;f>=1;--f){d=u>0?f/o(-u):f*o(u);if(d<a)continue;if(d>s)break;p.push(d)}}if(p.length*2<h)p=(0,P.Ay)(a,s,h)}else{p=(0,P.Ay)(u,c,Math.min(c-u,h)).map(o)}return l?p.reverse():p};e.tickFormat=(t,n)=>{if(t==null)t=10;if(n==null)n=i===10?"s":",";if(typeof n!=="function"){if(!(i%1)&&(n=(0,q.A)(n)).precision==null)n.trim=true;n=(0,U.GP)(n)}if(t===Infinity)return n;const a=Math.max(1,i*t/e.ticks().length);return t=>{let e=t/o(Math.round(r(t)));if(e*i<i-.5)e*=i;return e<=a?n(t):""}};e.nice=()=>n((0,nl.A)(n(),{floor:t=>o(Math.floor(r(t))),ceil:t=>o(Math.ceil(r(t)))}));return e}function pl(){const t=hl((0,il.Gu)()).domain([1,10]);t.copy=()=>(0,il.C)(t,pl()).base(t.base());rl.C.apply(t,arguments);return t}function ml(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function gl(t){return t<0?-Math.sqrt(-t):Math.sqrt(t)}function yl(t){return t<0?-t*t:t*t}function vl(t){var e=t(il.D_,il.D_),n=1;function i(){return n===1?t(il.D_,il.D_):n===.5?t(gl,yl):t(ml(n),ml(1/n))}e.exponent=function(t){return arguments.length?(n=+t,i()):n};return(0,Js.C)(e)}function bl(){var t=vl((0,il.Gu)());t.copy=function(){return(0,il.C)(t,bl()).exponent(t.exponent())};rl.C.apply(t,arguments);return t}function xl(){return bl.apply(null,arguments).exponent(.5)}function _l(t){return function(e){return Math.sign(e)*Math.log1p(Math.abs(e/t))}}function wl(t){return function(e){return Math.sign(e)*Math.expm1(Math.abs(e))*t}}function kl(t){var e=1,n=t(_l(e),wl(e));n.constant=function(n){return arguments.length?t(_l(e=+n),wl(e)):e};return(0,Js.C)(n)}function Ml(){var t=kl((0,il.Gu)());t.copy=function(){return(0,il.C)(t,Ml()).constant(t.constant())};return rl.C.apply(t,arguments)}var Sl=n(74725);var El=n(20421);function zl(){return rl.C.apply((0,Sl.B)(El.$Z,El.lk,W.Mb,X.R6,G.Hl,Y.dA,H.pz,V.vD,K.R,fe.aL).domain([Date.UTC(2e3,0,1),Date.UTC(2e3,0,2)]),arguments)}var Al=n(21406);var $l=n(15307);function Ol(){var t=0,e=1,n,i,r,o,a=il.D_,s=false,l;function u(t){return t==null||isNaN(t=+t)?l:a(r===0?.5:(t=(o(t)-n)*r,s?Math.max(0,Math.min(1,t)):t))}u.domain=function(a){return arguments.length?([t,e]=a,n=o(t=+t),i=o(e=+e),r=n===i?0:1/(i-n),u):[t,e]};u.clamp=function(t){return arguments.length?(s=!!t,u):s};u.interpolator=function(t){return arguments.length?(a=t,u):a};function c(t){return function(e){var n,i;return arguments.length?([n,i]=e,a=t(n,i),u):[a(0),a(1)]}}u.range=c(Al.A);u.rangeRound=c($l.A);u.unknown=function(t){return arguments.length?(l=t,u):l};return function(a){o=a,n=a(t),i=a(e),r=n===i?0:1/(i-n);return u}}function Rl(t,e){return e.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown())}function Dl(){var t=(0,Js.C)(Ol()(il.D_));t.copy=function(){return Rl(t,Dl())};return rl.K.apply(t,arguments)}function Tl(){var t=hl(Ol()).domain([1,10]);t.copy=function(){return Rl(t,Tl()).base(t.base())};return rl.K.apply(t,arguments)}function Nl(){var t=kl(Ol());t.copy=function(){return Rl(t,Nl()).constant(t.constant())};return rl.K.apply(t,arguments)}function Cl(){var t=vl(Ol());t.copy=function(){return Rl(t,Cl()).exponent(t.exponent())};return rl.K.apply(t,arguments)}function Ll(){return Cl.apply(null,arguments).exponent(.5)}var Pl=n(99793);function ql(){var t=0,e=.5,n=1,i=1,r,o,a,s,l,u=il.D_,c,f=false,d;function h(t){return isNaN(t=+t)?d:(t=.5+((t=+c(t))-o)*(i*t<i*o?s:l),u(f?Math.max(0,Math.min(1,t)):t))}h.domain=function(u){return arguments.length?([t,e,n]=u,r=c(t=+t),o=c(e=+e),a=c(n=+n),s=r===o?0:.5/(o-r),l=o===a?0:.5/(a-o),i=o<r?-1:1,h):[t,e,n]};h.clamp=function(t){return arguments.length?(f=!!t,h):f};h.interpolator=function(t){return arguments.length?(u=t,h):u};function p(t){return function(e){var n,i,r;return arguments.length?([n,i,r]=e,u=(0,Pl.A)(t,[n,i,r]),h):[u(0),u(.5),u(1)]}}h.range=p(Al.A);h.rangeRound=p($l.A);h.unknown=function(t){return arguments.length?(d=t,h):d};return function(u){c=u,r=u(t),o=u(e),a=u(n),s=r===o?0:.5/(o-r),l=o===a?0:.5/(a-o),i=o<r?-1:1;return h}}function Fl(){var t=(0,Js.C)(ql()(il.D_));t.copy=function(){return Rl(t,Fl())};return rl.K.apply(t,arguments)}function Il(){var t=hl(ql()).domain([.1,1,10]);t.copy=function(){return Rl(t,Il()).base(t.base())};return rl.K.apply(t,arguments)}function Bl(){var t=kl(ql());t.copy=function(){return Rl(t,Bl()).constant(t.constant())};return rl.K.apply(t,arguments)}function Ul(){var t=vl(ql());t.copy=function(){return Rl(t,Ul()).exponent(t.exponent())};return rl.K.apply(t,arguments)}function jl(){return Ul.apply(null,arguments).exponent(.5)}function Yl(){var t=[],e=[],n=[],i;function r(){var i=0,r=Math.max(1,e.length);n=new Array(r-1);while(++i<r)n[i-1]=Wi(t,i/r);return o}function o(t){return t==null||isNaN(t=+t)?i:e[(0,Qs.Ay)(n,t)]}o.invertExtent=function(i){var r=e.indexOf(i);return r<0?[NaN,NaN]:[r>0?n[r-1]:t[0],r<n.length?n[r]:t[t.length-1]]};o.domain=function(e){if(!arguments.length)return t.slice();t=[];for(let n of e)if(n!=null&&!isNaN(n=+n))t.push(n);t.sort(Li.A);return r()};o.range=function(t){return arguments.length?(e=Array.from(t),r()):e.slice()};o.unknown=function(t){return arguments.length?(i=t,o):i};o.quantiles=function(){return n.slice()};o.copy=function(){return Yl().domain(t).range(e).unknown(i)};return rl.C.apply(o,arguments)}function Gl(){var t=0,e=1,n=1,i=[.5],r=[0,1],o;function a(t){return t!=null&&t<=t?r[(0,Qs.Ay)(i,t,0,n)]:o}function s(){var r=-1;i=new Array(n);while(++r<n)i[r]=((r+1)*e-(r-n)*t)/(n+1);return a}a.domain=function(n){return arguments.length?([t,e]=n,t=+t,e=+e,s()):[t,e]};a.range=function(t){return arguments.length?(n=(r=Array.from(t)).length-1,s()):r.slice()};a.invertExtent=function(o){var a=r.indexOf(o);return a<0?[NaN,NaN]:a<1?[t,i[0]]:a>=n?[i[n-1],e]:[i[a-1],i[a]]};a.unknown=function(t){return arguments.length?(o=t,a):a};a.thresholds=function(){return i.slice()};a.copy=function(){return Gl().domain([t,e]).range(r).unknown(o)};return rl.C.apply((0,Js.C)(a),arguments)}function Wl(){var t=[.5],e=[0,1],n,i=1;function r(r){return r!=null&&r<=r?e[(0,Qs.Ay)(t,r,0,i)]:n}r.domain=function(n){return arguments.length?(t=Array.from(n),i=Math.min(t.length,e.length-1),r):t.slice()};r.range=function(n){return arguments.length?(e=Array.from(n),i=Math.min(t.length,e.length-1),r):e.slice()};r.invertExtent=function(n){var i=e.indexOf(n);return[t[i-1],t[i]]};r.unknown=function(t){return arguments.length?(n=t,r):n};r.copy=function(){return Wl().domain(t).range(e).unknown(n)};return rl.C.apply(r,arguments)}var Xl=n(16527);var Hl=n(26698);var Vl=n(67360);function Kl(t,e,n){const i=t-e+n*2;return t?i>0?i:1:0}const Zl="identity";const Ql="linear";const Jl="log";const tu="pow";const eu="sqrt";const nu="symlog";const iu="time";const ru="utc";const ou="sequential";const au="diverging";const su="quantile";const lu="quantize";const uu="threshold";const cu="ordinal";const fu="point";const du="band";const hu="bin-ordinal";const pu="continuous";const mu="discrete";const gu="discretizing";const yu="interpolating";const vu="temporal";function bu(t){return function(e){let n=e[0],i=e[1],r;if(i<n){r=n;n=i;i=r}return[t.invert(n),t.invert(i)]}}function xu(t){return function(e){const n=t.range();let i=e[0],r=e[1],o=-1,a,s,l,u;if(r<i){s=i;i=r;r=s}for(l=0,u=n.length;l<u;++l){if(n[l]>=i&&n[l]<=r){if(o<0)o=l;a=l}}if(o<0)return undefined;i=t.invertExtent(n[o]);r=t.invertExtent(n[a]);return[i[0]===undefined?i[1]:i[0],r[1]===undefined?r[0]:r[1]]}}function _u(){const t=(0,Xl.A)().unknown(undefined),e=t.domain,n=t.range;let i=[0,1],r,o,a=false,s=0,l=0,u=.5;delete t.unknown;function c(){const t=e().length,c=i[1]<i[0],f=i[1-c],d=Kl(t,s,l);let h=i[c-0];r=(f-h)/(d||1);if(a){r=Math.floor(r)}h+=(f-h-r*(t-s))*u;o=r*(1-s);if(a){h=Math.round(h);o=Math.round(o)}const p=(0,to.A)(t).map((t=>h+r*t));return n(c?p.reverse():p)}t.domain=function(t){if(arguments.length){e(t);return c()}else{return e()}};t.range=function(t){if(arguments.length){i=[+t[0],+t[1]];return c()}else{return i.slice()}};t.rangeRound=function(t){i=[+t[0],+t[1]];a=true;return c()};t.bandwidth=function(){return o};t.step=function(){return r};t.round=function(t){if(arguments.length){a=!!t;return c()}else{return a}};t.padding=function(t){if(arguments.length){l=Math.max(0,Math.min(1,t));s=l;return c()}else{return s}};t.paddingInner=function(t){if(arguments.length){s=Math.max(0,Math.min(1,t));return c()}else{return s}};t.paddingOuter=function(t){if(arguments.length){l=Math.max(0,Math.min(1,t));return c()}else{return l}};t.align=function(t){if(arguments.length){u=Math.max(0,Math.min(1,t));return c()}else{return u}};t.invertRange=function(t){if(t[0]==null||t[1]==null)return;const r=i[1]<i[0],a=r?n().reverse():n(),s=a.length-1;let l=+t[0],u=+t[1],c,f,d;if(l!==l||u!==u)return;if(u<l){d=l;l=u;u=d}if(u<a[0]||l>i[1-r])return;c=Math.max(0,(0,Qs.Jj)(a,l)-1);f=l===u?c:(0,Qs.Jj)(a,u)-1;if(l-a[c]>o+1e-10)++c;if(r){d=c;c=s-f;f=s-d}return c>f?undefined:e().slice(c,f+1)};t.invert=function(e){const n=t.invertRange([e,e]);return n?n[0]:n};t.copy=function(){return _u().domain(e()).range(i).round(a).paddingInner(s).paddingOuter(l).align(u)};return c()}function wu(t){const e=t.copy;t.padding=t.paddingOuter;delete t.paddingInner;t.copy=function(){return wu(e())};return t}function ku(){return wu(_u().paddingInner(1))}var Mu=Array.prototype.map;function Su(t){return Mu.call(t,p.Ro)}const Eu=Array.prototype.slice;function zu(){let t=[],e=[];function n(n){return n==null||n!==n?undefined:e[((0,Qs.Ay)(t,n)-1)%e.length]}n.domain=function(e){if(arguments.length){t=Su(e);return n}else{return t.slice()}};n.range=function(t){if(arguments.length){e=Eu.call(t);return n}else{return e.slice()}};n.tickFormat=function(e,n){return(0,Hl.A)(t[0],(0,p.se)(t),e==null?10:e,n)};n.copy=function(){return zu().domain(n.domain()).range(n.range())};return n}const Au=new Map;const $u=Symbol("vega_scale");function Ou(t){t[$u]=true;return t}function Ru(t){return t&&t[$u]===true}function Du(t,e,n){const i=function n(){const i=e();if(!i.invertRange){i.invertRange=i.invert?bu(i):i.invertExtent?xu(i):undefined}i.type=t;return Ou(i)};i.metadata=(0,p.M1)((0,p.YO)(n));return i}function Tu(t,e,n){if(arguments.length>1){Au.set(t,Du(t,e,n));return this}else{return Nu(t)?Au.get(t):undefined}}Tu(Zl,el);Tu(Ql,Js.A,pu);Tu(Jl,pl,[pu,Jl]);Tu(tu,bl,pu);Tu(eu,xl,pu);Tu(nu,Ml,pu);Tu(iu,Sl.A,[pu,vu]);Tu(ru,zl,[pu,vu]);Tu(ou,Dl,[pu,yu]);Tu(`${ou}-${Ql}`,Dl,[pu,yu]);Tu(`${ou}-${Jl}`,Tl,[pu,yu,Jl]);Tu(`${ou}-${tu}`,Cl,[pu,yu]);Tu(`${ou}-${eu}`,Ll,[pu,yu]);Tu(`${ou}-${nu}`,Nl,[pu,yu]);Tu(`${au}-${Ql}`,Fl,[pu,yu]);Tu(`${au}-${Jl}`,Il,[pu,yu,Jl]);Tu(`${au}-${tu}`,Ul,[pu,yu]);Tu(`${au}-${eu}`,jl,[pu,yu]);Tu(`${au}-${nu}`,Bl,[pu,yu]);Tu(su,Yl,[gu,su]);Tu(lu,Gl,gu);Tu(uu,Wl,gu);Tu(hu,zu,[mu,gu]);Tu(cu,Xl.A,mu);Tu(du,_u,mu);Tu(fu,ku,mu);function Nu(t){return Au.has(t)}function Cu(t,e){const n=Au.get(t);return n&&n.metadata[e]}function Lu(t){return Cu(t,pu)}function Pu(t){return Cu(t,mu)}function qu(t){return Cu(t,gu)}function Fu(t){return Cu(t,Jl)}function Iu(t){return Cu(t,vu)}function Bu(t){return Cu(t,yu)}function Uu(t){return Cu(t,su)}const ju=["clamp","base","constant","exponent"];function Yu(t,e){const n=e[0],i=(0,p.se)(e)-n;return function(e){return t(n+e*i)}}function Gu(t,e,n){return Pl.A(Vu(e||"rgb",n),t)}function Wu(t,e){const n=new Array(e),i=e+1;for(let r=0;r<e;)n[r]=t(++r/i);return n}function Xu(t){const e=t.type,n=t.copy();n.type=e;return n}function Hu(t,e,n){const i=n-e;let r,o,a;if(!i||!Number.isFinite(i)){return(0,p.dY)(.5)}else{r=(o=t.type).indexOf("-");o=r<0?o:o.slice(r+1);a=Tu(o)().domain([e,n]).range([0,1]);ju.forEach((e=>t[e]?a[e](t[e]()):0));return a}}function Vu(t,e){const n=Vl[Ku(t)];return e!=null&&n&&n.gamma?n.gamma(e):n}function Ku(t){return"interpolate"+t.toLowerCase().split("-").map((t=>t[0].toUpperCase()+t.slice(1))).join("")}const Zu={blues:"cfe1f2bed8eca8cee58fc1de74b2d75ba3cf4592c63181bd206fb2125ca40a4a90",greens:"d3eecdc0e6baabdda594d3917bc77d60ba6c46ab5e329a512089430e7735036429",greys:"e2e2e2d4d4d4c4c4c4b1b1b19d9d9d8888887575756262624d4d4d3535351e1e1e",oranges:"fdd8b3fdc998fdb87bfda55efc9244f87f2cf06b18e4580bd14904b93d029f3303",purples:"e2e1efd4d4e8c4c5e0b4b3d6a3a0cc928ec3827cb97566ae684ea25c3696501f8c",reds:"fdc9b4fcb49afc9e80fc8767fa7051f6573fec3f2fdc2a25c81b1db21218970b13",blueGreen:"d5efedc1e8e0a7ddd18bd2be70c6a958ba9144ad77319c5d2089460e7736036429",bluePurple:"ccddecbad0e4a8c2dd9ab0d4919cc98d85be8b6db28a55a6873c99822287730f71",greenBlue:"d3eecec5e8c3b1e1bb9bd8bb82cec269c2ca51b2cd3c9fc7288abd1675b10b60a1",orangeRed:"fddcaffdcf9bfdc18afdad77fb9562f67d53ee6545e24932d32d1ebf130da70403",purpleBlue:"dbdaebc8cee4b1c3de97b7d87bacd15b9fc93a90c01e7fb70b70ab056199045281",purpleBlueGreen:"dbd8eac8cee4b0c3de93b7d872acd1549fc83892bb1c88a3097f8702736b016353",purpleRed:"dcc9e2d3b3d7ce9eccd186c0da6bb2e14da0e23189d91e6fc61159ab07498f023a",redPurple:"fccfccfcbec0faa9b8f98faff571a5ec539ddb3695c41b8aa908808d0179700174",yellowGreen:"e4f4acd1eca0b9e2949ed68880c97c62bb6e47aa5e3297502083440e723b036034",yellowOrangeBrown:"feeaa1fedd84fecc63feb746fca031f68921eb7215db5e0bc54c05ab3d038f3204",yellowOrangeRed:"fee087fed16ffebd59fea849fd903efc7335f9522bee3423de1b20ca0b22af0225",blueOrange:"134b852f78b35da2cb9dcae1d2e5eff2f0ebfce0bafbbf74e8932fc5690d994a07",brownBlueGreen:"704108a0651ac79548e3c78af3e6c6eef1eac9e9e48ed1c74da79e187a72025147",purpleGreen:"5b1667834792a67fb6c9aed3e6d6e8eff0efd9efd5aedda971bb75368e490e5e29",purpleOrange:"4114696647968f83b7b9b4d6dadbebf3eeeafce0bafbbf74e8932fc5690d994a07",redBlue:"8c0d25bf363adf745ef4ae91fbdbc9f2efeed2e5ef9dcae15da2cb2f78b3134b85",redGrey:"8c0d25bf363adf745ef4ae91fcdccbfaf4f1e2e2e2c0c0c0969696646464343434",yellowGreenBlue:"eff9bddbf1b4bde5b594d5b969c5be45b4c22c9ec02182b82163aa23479c1c3185",redYellowBlue:"a50026d4322cf16e43fcac64fedd90faf8c1dcf1ecabd6e875abd04a74b4313695",redYellowGreen:"a50026d4322cf16e43fcac63fedd8df9f7aed7ee8ea4d86e64bc6122964f006837",pinkYellowGreen:"8e0152c0267edd72adf0b3d6faddedf5f3efe1f2cab6de8780bb474f9125276419",spectral:"9e0142d13c4bf0704afcac63fedd8dfbf8b0e0f3a1a9dda269bda94288b55e4fa2",viridis:"440154470e61481a6c482575472f7d443a834144873d4e8a39568c35608d31688e2d708e2a788e27818e23888e21918d1f988b1fa08822a8842ab07f35b77943bf7154c56866cc5d7ad1518fd744a5db36bcdf27d2e21be9e51afde725",magma:"0000040404130b0924150e3720114b2c11603b0f704a107957157e651a80721f817f24828c29819a2e80a8327db6377ac43c75d1426fde4968e95462f1605df76f5cfa7f5efc8f65fe9f6dfeaf78febf84fece91fddea0fcedaffcfdbf",inferno:"0000040403130c0826170c3b240c4f330a5f420a68500d6c5d126e6b176e781c6d86216b932667a12b62ae305cbb3755c73e4cd24644dd513ae65c30ed6925f3771af8850ffb9506fca50afcb519fac62df6d645f2e661f3f484fcffa4",plasma:"0d088723069033059742039d5002a25d01a66a00a87801a88405a7900da49c179ea72198b12a90ba3488c33d80cb4779d35171da5a69e16462e76e5bed7953f2834cf68f44fa9a3dfca636fdb32ffec029fcce25f9dc24f5ea27f0f921",cividis:"00205100235800265d002961012b65042e670831690d346b11366c16396d1c3c6e213f6e26426e2c456e31476e374a6e3c4d6e42506e47536d4c566d51586e555b6e5a5e6e5e616e62646f66676f6a6a706e6d717270717573727976737c79747f7c75827f758682768985778c8877908b78938e789691789a94789e9778a19b78a59e77a9a177aea575b2a874b6ab73bbaf71c0b26fc5b66dc9b96acebd68d3c065d8c462ddc85fe2cb5ce7cf58ebd355f0d652f3da4ff7de4cfae249fce647",rainbow:"6e40aa883eb1a43db3bf3cafd83fa4ee4395fe4b83ff576eff6659ff7847ff8c38f3a130e2b72fcfcc36bee044aff05b8ff4576ff65b52f6673af27828ea8d1ddfa319d0b81cbecb23abd82f96e03d82e14c6edb5a5dd0664dbf6e40aa",sinebow:"ff4040fc582af47218e78d0bd5a703bfbf00a7d5038de70b72f41858fc2a40ff402afc5818f4720be78d03d5a700bfbf03a7d50b8de71872f42a58fc4040ff582afc7218f48d0be7a703d5bf00bfd503a7e70b8df41872fc2a58ff4040",turbo:"23171b32204a3e2a71453493493eae4b49c54a53d7485ee44569ee4074f53c7ff8378af93295f72e9ff42ba9ef28b3e926bce125c5d925cdcf27d5c629dcbc2de3b232e9a738ee9d3ff39347f68950f9805afc7765fd6e70fe667cfd5e88fc5795fb51a1f84badf545b9f140c5ec3cd0e637dae034e4d931ecd12ef4c92bfac029ffb626ffad24ffa223ff9821ff8d1fff821dff771cfd6c1af76118f05616e84b14df4111d5380fcb2f0dc0260ab61f07ac1805a313029b0f00950c00910b00",browns:"eedbbdecca96e9b97ae4a865dc9856d18954c7784cc0673fb85536ad44339f3632",tealBlues:"bce4d89dd3d181c3cb65b3c245a2b9368fae347da0306a932c5985",teals:"bbdfdfa2d4d58ac9c975bcbb61b0af4da5a43799982b8b8c1e7f7f127273006667",warmGreys:"dcd4d0cec5c1c0b8b4b3aaa7a59c9998908c8b827f7e7673726866665c5a59504e",goldGreen:"f4d166d5ca60b6c35c98bb597cb25760a6564b9c533f8f4f33834a257740146c36",goldOrange:"f4d166f8be5cf8aa4cf5983bf3852aef701be2621fd65322c54923b142239e3a26",goldRed:"f4d166f6be59f9aa51fc964ef6834bee734ae56249db5247cf4244c43141b71d3e",lightGreyRed:"efe9e6e1dad7d5cbc8c8bdb9bbaea9cd967ddc7b43e15f19df4011dc000b",lightGreyTeal:"e4eaead6dcddc8ced2b7c2c7a6b4bc64b0bf22a6c32295c11f85be1876bc",lightMulti:"e0f1f2c4e9d0b0de9fd0e181f6e072f6c053f3993ef77440ef4a3c",lightOrange:"f2e7daf7d5baf9c499fab184fa9c73f68967ef7860e8645bde515bd43d5b",lightTealBlue:"e3e9e0c0dccf9aceca7abfc859afc0389fb9328dad2f7ca0276b95255988",darkBlue:"3232322d46681a5c930074af008cbf05a7ce25c0dd38daed50f3faffffff",darkGold:"3c3c3c584b37725e348c7631ae8b2bcfa424ecc31ef9de30fff184ffffff",darkGreen:"3a3a3a215748006f4d048942489e4276b340a6c63dd2d836ffeb2cffffaa",darkMulti:"3737371f5287197d8c29a86995ce3fffe800ffffff",darkRed:"3434347036339e3c38cc4037e75d1eec8620eeab29f0ce32ffeb2c"};const Qu={category10:"1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf",category20:"1f77b4aec7e8ff7f0effbb782ca02c98df8ad62728ff98969467bdc5b0d58c564bc49c94e377c2f7b6d27f7f7fc7c7c7bcbd22dbdb8d17becf9edae5",category20b:"393b795254a36b6ecf9c9ede6379398ca252b5cf6bcedb9c8c6d31bd9e39e7ba52e7cb94843c39ad494ad6616be7969c7b4173a55194ce6dbdde9ed6",category20c:"3182bd6baed69ecae1c6dbefe6550dfd8d3cfdae6bfdd0a231a35474c476a1d99bc7e9c0756bb19e9ac8bcbddcdadaeb636363969696bdbdbdd9d9d9",tableau10:"4c78a8f58518e4575672b7b254a24beeca3bb279a2ff9da69d755dbab0ac",tableau20:"4c78a89ecae9f58518ffbf7954a24b88d27ab79a20f2cf5b43989483bcb6e45756ff9d9879706ebab0acd67195fcbfd2b279a2d6a5c99e765fd8b5a5",accent:"7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666",dark2:"1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666",paired:"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928",pastel1:"fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2",pastel2:"b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc",set1:"e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999",set2:"66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3",set3:"8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f"};function Ju(t){const e=t.length/6|0,n=new Array(e);for(let i=0;i<e;){n[i]="#"+t.slice(i*6,++i*6)}return n}function tc(t,e){for(const n in t)nc(n,e(t[n]))}const ec={};tc(Qu,Ju);tc(Zu,(t=>Gu(Ju(t))));function nc(t,e){t=t&&t.toLowerCase();if(arguments.length>1){ec[t]=e;return this}else{return ec[t]}}const ic="symbol";const rc="discrete";const oc="gradient";const ac=t=>(0,p.cy)(t)?t.map((t=>String(t))):String(t);const sc=(t,e)=>t[1]-e[1];const lc=(t,e)=>e[1]-t[1];function uc(t,e,n){let i;if((0,p.Et)(e)){if(t.bins){e=Math.max(e,t.bins.length)}if(n!=null){e=Math.min(e,Math.floor((0,p.Ln)(t.domain())/n||1))}}if((0,p.Gv)(e)){i=e.step;e=e.interval}if((0,p.Kg)(e)){e=t.type===iu?It(e):t.type==ru?Bt(e):(0,p.z3)("Only time and utc scales accept interval strings.");if(i)e=e.every(i)}return e}function cc(t,e,n){let i=t.range(),r=i[0],o=(0,p.se)(i),a=sc;if(r>o){i=o;o=r;r=i;a=lc}r=Math.floor(r);o=Math.ceil(o);e=e.map((e=>[e,t(e)])).filter((t=>r<=t[1]&&t[1]<=o)).sort(a).map((t=>t[0]));if(n>0&&e.length>1){const t=[e[0],(0,p.se)(e)];while(e.length>n&&e.length>=3){e=e.filter(((t,e)=>!(e%2)))}if(e.length<3){e=t}}return e}function fc(t,e){return t.bins?cc(t,t.bins):t.ticks?t.ticks(e):t.domain()}function dc(t,e,n,i,r,o){const a=e.type;let s=ac;if(a===iu||r===iu){s=t.timeFormat(i)}else if(a===ru||r===ru){s=t.utcFormat(i)}else if(Fu(a)){const r=t.formatFloat(i);if(o||e.bins){s=r}else{const t=hc(e,n,false);s=e=>t(e)?r(e):""}}else if(e.tickFormat){const r=e.domain();s=t.formatSpan(r[0],r[r.length-1],n,i)}else if(i){s=t.format(i)}return s}function hc(t,e,n){const i=fc(t,e),r=t.base(),o=Math.log(r),a=Math.max(1,r*e/i.length);const s=t=>{let e=t/Math.pow(r,Math.round(Math.log(t)/o));if(e*r<r-.5)e*=r;return e<=a};return n?i.filter(s):s}const pc={[su]:"quantiles",[lu]:"thresholds",[uu]:"domain"};const mc={[su]:"quantiles",[lu]:"domain"};function gc(t,e){return t.bins?bc(t.bins):t.type===Jl?hc(t,e,true):pc[t.type]?vc(t[pc[t.type]]()):fc(t,e)}function yc(t,e,n){const i=e[mc[e.type]](),r=i.length;let o=r>1?i[1]-i[0]:i[0],a;for(a=1;a<r;++a){o=Math.min(o,i[a]-i[a-1])}return t.formatSpan(0,o,3*10,n)}function vc(t){const e=[-Infinity].concat(t);e.max=+Infinity;return e}function bc(t){const e=t.slice(0,-1);e.max=(0,p.se)(t);return e}const xc=t=>pc[t.type]||t.bins;function _c(t,e,n,i,r,o,a){const s=mc[e.type]&&o!==iu&&o!==ru?yc(t,e,r):dc(t,e,n,r,o,a);return i===ic&&xc(e)?wc(s):i===rc?Mc(s):Sc(s)}const wc=t=>(e,n,i)=>{const r=kc(i[n+1],kc(i.max,+Infinity)),o=Ec(e,t),a=Ec(r,t);return o&&a?o+" – "+a:a?"< "+a:"≥ "+o};const kc=(t,e)=>t!=null?t:e;const Mc=t=>(e,n)=>n?t(e):null;const Sc=t=>e=>t(e);const Ec=(t,e)=>Number.isFinite(t)?e(t):null;function zc(t){const e=t.domain(),n=e.length-1;let i=+e[0],r=+(0,p.se)(e),o=r-i;if(t.type===uu){const t=n?o/n:.1;i-=t;r+=t;o=r-i}return t=>(t-i)/o}function Ac(t,e,n,i){const r=i||e.type;if((0,p.Kg)(n)&&Iu(r)){n=n.replace(/%a/g,"%A").replace(/%b/g,"%B")}return!n&&r===iu?t.timeFormat("%A, %d %B %Y, %X"):!n&&r===ru?t.utcFormat("%A, %d %B %Y, %X UTC"):_c(t,e,5,null,n,i,true)}function $c(t,e,n){n=n||{};const i=Math.max(3,n.maxlen||7),r=Ac(t,e,n.format,n.formatType);if(qu(e.type)){const t=gc(e).slice(1).map(r),n=t.length;return`${n} boundar${n===1?"y":"ies"}: ${t.join(", ")}`}else if(Pu(e.type)){const t=e.domain(),n=t.length,o=n>i?t.slice(0,i-2).map(r).join(", ")+", ending with "+t.slice(-1).map(r):t.map(r).join(", ");return`${n} value${n===1?"":"s"}: ${o}`}else{const t=e.domain();return`values from ${r(t[0])} to ${r((0,p.se)(t))}`}}let Oc=0;function Rc(){Oc=0}const Dc="p_";function Tc(t){return t&&t.gradient}function Nc(t,e,n){const i=t.gradient;let r=t.id,o=i==="radial"?Dc:"";if(!r){r=t.id="gradient_"+Oc++;if(i==="radial"){t.x1=Cc(t.x1,.5);t.y1=Cc(t.y1,.5);t.r1=Cc(t.r1,0);t.x2=Cc(t.x2,.5);t.y2=Cc(t.y2,.5);t.r2=Cc(t.r2,.5);o=Dc}else{t.x1=Cc(t.x1,0);t.y1=Cc(t.y1,0);t.x2=Cc(t.x2,1);t.y2=Cc(t.y2,0)}}e[r]=t;return"url("+(n||"")+"#"+o+r+")"}function Cc(t,e){return t!=null?t:e}function Lc(t,e){var n=[],i;return i={gradient:"linear",x1:t?t[0]:0,y1:t?t[1]:0,x2:e?e[0]:1,y2:e?e[1]:0,stops:n,stop:function(t,e){n.push({offset:t,color:e});return i}}}const Pc={basis:{curve:Za.Ay},"basis-closed":{curve:Qa.A},"basis-open":{curve:Ja.A},bundle:{curve:ts.A,tension:"beta",value:.85},cardinal:{curve:es.Ay,tension:"tension",value:0},"cardinal-open":{curve:ns.A,tension:"tension",value:0},"cardinal-closed":{curve:is.A,tension:"tension",value:0},"catmull-rom":{curve:rs.A,tension:"alpha",value:.5},"catmull-rom-closed":{curve:os.A,tension:"alpha",value:.5},"catmull-rom-open":{curve:as.A,tension:"alpha",value:.5},linear:{curve:ss.A},"linear-closed":{curve:ls.A},monotone:{horizontal:us.N,vertical:us.G},natural:{curve:cs.A},step:{curve:fs.Ay},"step-after":{curve:fs.Ps},"step-before":{curve:fs.Ko}};function qc(t,e,n){var i=(0,p.mQ)(Pc,t)&&Pc[t],r=null;if(i){r=i.curve||i[e||"vertical"];if(i.tension&&n!=null){r=r[i.tension](n)}}return r}const Fc={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7};const Ic=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi;const Bc=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/;const Uc=/^((\s+,?\s*)|(,\s*))/;const jc=/^[01]/;function Yc(t){const e=[];const n=t.match(Ic)||[];n.forEach((t=>{let n=t[0];const i=n.toLowerCase();const r=Fc[i];const o=Gc(i,r,t.slice(1).trim());const a=o.length;if(a<r||a&&a%r!==0){throw Error("Invalid SVG path, incorrect parameter count")}e.push([n,...o.slice(0,r)]);if(a===r){return}if(i==="m"){n=n==="M"?"L":"l"}for(let s=r;s<a;s+=r){e.push([n,...o.slice(s,s+r)])}}));return e}function Gc(t,e,n){const i=[];for(let r=0;e&&r<n.length;){for(let o=0;o<e;++o){const e=t==="a"&&(o===3||o===4)?jc:Bc;const a=n.slice(r).match(e);if(a===null){throw Error("Invalid SVG path, incorrect parameter type")}r+=a[0].length;i.push(+a[0]);const s=n.slice(r).match(Uc);if(s!==null){r+=s[0].length}}}return i}const Wc=Math.PI/180;const Xc=1e-14;const Hc=Math.PI/2;const Vc=Math.PI*2;const Kc=Math.sqrt(3)/2;var Zc={};var Qc={};var Jc=[].join;function tf(t,e,n,i,r,o,a,s,l){const u=Jc.call(arguments);if(Zc[u]){return Zc[u]}const c=a*Wc;const f=Math.sin(c);const d=Math.cos(c);n=Math.abs(n);i=Math.abs(i);const h=d*(s-t)*.5+f*(l-e)*.5;const p=d*(l-e)*.5-f*(s-t)*.5;let m=h*h/(n*n)+p*p/(i*i);if(m>1){m=Math.sqrt(m);n*=m;i*=m}const g=d/n;const y=f/n;const v=-f/i;const b=d/i;const x=g*s+y*l;const _=v*s+b*l;const w=g*t+y*e;const k=v*t+b*e;const M=(w-x)*(w-x)+(k-_)*(k-_);let S=1/M-.25;if(S<0)S=0;let E=Math.sqrt(S);if(o==r)E=-E;const z=.5*(x+w)-E*(k-_);const A=.5*(_+k)+E*(w-x);const $=Math.atan2(_-A,x-z);const O=Math.atan2(k-A,w-z);let R=O-$;if(R<0&&o===1){R+=Vc}else if(R>0&&o===0){R-=Vc}const D=Math.ceil(Math.abs(R/(Hc+.001)));const T=[];for(let N=0;N<D;++N){const t=$+N*R/D;const e=$+(N+1)*R/D;T[N]=[z,A,t,e,n,i,f,d]}return Zc[u]=T}function ef(t){const e=Jc.call(t);if(Qc[e]){return Qc[e]}var n=t[0],i=t[1],r=t[2],o=t[3],a=t[4],s=t[5],l=t[6],u=t[7];const c=u*a;const f=-l*s;const d=l*a;const h=u*s;const p=Math.cos(r);const m=Math.sin(r);const g=Math.cos(o);const y=Math.sin(o);const v=.5*(o-r);const b=Math.sin(v*.5);const x=8/3*b*b/Math.sin(v);const _=n+p-x*m;const w=i+m+x*p;const k=n+g;const M=i+y;const S=k+x*y;const E=M-x*g;return Qc[e]=[c*_+f*w,d*_+h*w,c*S+f*E,d*S+h*E,c*k+f*M,d*k+h*M]}const nf=["l",0,0,0,0,0,0,0];function rf(t,e,n){const i=nf[0]=t[0];if(i==="a"||i==="A"){nf[1]=e*t[1];nf[2]=n*t[2];nf[3]=t[3];nf[4]=t[4];nf[5]=t[5];nf[6]=e*t[6];nf[7]=n*t[7]}else if(i==="h"||i==="H"){nf[1]=e*t[1]}else if(i==="v"||i==="V"){nf[1]=n*t[1]}else{for(var r=1,o=t.length;r<o;++r){nf[r]=(r%2==1?e:n)*t[r]}}return nf}function of(t,e,n,i,r,o){var a,s=null,l=0,u=0,c=0,f=0,d,h,p,m,g=0,y=0;if(n==null)n=0;if(i==null)i=0;if(r==null)r=1;if(o==null)o=r;if(t.beginPath)t.beginPath();for(var v=0,b=e.length;v<b;++v){a=e[v];if(r!==1||o!==1){a=rf(a,r,o)}switch(a[0]){case"l":l+=a[1];u+=a[2];t.lineTo(l+n,u+i);break;case"L":l=a[1];u=a[2];t.lineTo(l+n,u+i);break;case"h":l+=a[1];t.lineTo(l+n,u+i);break;case"H":l=a[1];t.lineTo(l+n,u+i);break;case"v":u+=a[1];t.lineTo(l+n,u+i);break;case"V":u=a[1];t.lineTo(l+n,u+i);break;case"m":l+=a[1];u+=a[2];g=l;y=u;t.moveTo(l+n,u+i);break;case"M":l=a[1];u=a[2];g=l;y=u;t.moveTo(l+n,u+i);break;case"c":d=l+a[5];h=u+a[6];c=l+a[3];f=u+a[4];t.bezierCurveTo(l+a[1]+n,u+a[2]+i,c+n,f+i,d+n,h+i);l=d;u=h;break;case"C":l=a[5];u=a[6];c=a[3];f=a[4];t.bezierCurveTo(a[1]+n,a[2]+i,c+n,f+i,l+n,u+i);break;case"s":d=l+a[3];h=u+a[4];c=2*l-c;f=2*u-f;t.bezierCurveTo(c+n,f+i,l+a[1]+n,u+a[2]+i,d+n,h+i);c=l+a[1];f=u+a[2];l=d;u=h;break;case"S":d=a[3];h=a[4];c=2*l-c;f=2*u-f;t.bezierCurveTo(c+n,f+i,a[1]+n,a[2]+i,d+n,h+i);l=d;u=h;c=a[1];f=a[2];break;case"q":d=l+a[3];h=u+a[4];c=l+a[1];f=u+a[2];t.quadraticCurveTo(c+n,f+i,d+n,h+i);l=d;u=h;break;case"Q":d=a[3];h=a[4];t.quadraticCurveTo(a[1]+n,a[2]+i,d+n,h+i);l=d;u=h;c=a[1];f=a[2];break;case"t":d=l+a[1];h=u+a[2];if(s[0].match(/[QqTt]/)===null){c=l;f=u}else if(s[0]==="t"){c=2*l-p;f=2*u-m}else if(s[0]==="q"){c=2*l-c;f=2*u-f}p=c;m=f;t.quadraticCurveTo(c+n,f+i,d+n,h+i);l=d;u=h;c=l+a[1];f=u+a[2];break;case"T":d=a[1];h=a[2];c=2*l-c;f=2*u-f;t.quadraticCurveTo(c+n,f+i,d+n,h+i);l=d;u=h;break;case"a":af(t,l+n,u+i,[a[1],a[2],a[3],a[4],a[5],a[6]+l+n,a[7]+u+i]);l+=a[6];u+=a[7];break;case"A":af(t,l+n,u+i,[a[1],a[2],a[3],a[4],a[5],a[6]+n,a[7]+i]);l=a[6];u=a[7];break;case"z":case"Z":l=g;u=y;t.closePath();break}s=a}}function af(t,e,n,i){const r=tf(i[5],i[6],i[0],i[1],i[3],i[4],i[2],e,n);for(let o=0;o<r.length;++o){const e=ef(r[o]);t.bezierCurveTo(e[0],e[1],e[2],e[3],e[4],e[5])}}const sf=.5773502691896257;const lf={circle:{draw:function(t,e){const n=Math.sqrt(e)/2;t.moveTo(n,0);t.arc(0,0,n,0,Vc)}},cross:{draw:function(t,e){var n=Math.sqrt(e)/2,i=n/2.5;t.moveTo(-n,-i);t.lineTo(-n,i);t.lineTo(-i,i);t.lineTo(-i,n);t.lineTo(i,n);t.lineTo(i,i);t.lineTo(n,i);t.lineTo(n,-i);t.lineTo(i,-i);t.lineTo(i,-n);t.lineTo(-i,-n);t.lineTo(-i,-i);t.closePath()}},diamond:{draw:function(t,e){const n=Math.sqrt(e)/2;t.moveTo(-n,0);t.lineTo(0,-n);t.lineTo(n,0);t.lineTo(0,n);t.closePath()}},square:{draw:function(t,e){var n=Math.sqrt(e),i=-n/2;t.rect(i,i,n,n)}},arrow:{draw:function(t,e){var n=Math.sqrt(e)/2,i=n/7,r=n/2.5,o=n/8;t.moveTo(-i,n);t.lineTo(i,n);t.lineTo(i,-o);t.lineTo(r,-o);t.lineTo(0,-n);t.lineTo(-r,-o);t.lineTo(-i,-o);t.closePath()}},wedge:{draw:function(t,e){var n=Math.sqrt(e)/2,i=Kc*n,r=i-n*sf,o=n/4;t.moveTo(0,-i-r);t.lineTo(-o,i-r);t.lineTo(o,i-r);t.closePath()}},triangle:{draw:function(t,e){var n=Math.sqrt(e)/2,i=Kc*n,r=i-n*sf;t.moveTo(0,-i-r);t.lineTo(-n,i-r);t.lineTo(n,i-r);t.closePath()}},"triangle-up":{draw:function(t,e){var n=Math.sqrt(e)/2,i=Kc*n;t.moveTo(0,-i);t.lineTo(-n,i);t.lineTo(n,i);t.closePath()}},"triangle-down":{draw:function(t,e){var n=Math.sqrt(e)/2,i=Kc*n;t.moveTo(0,i);t.lineTo(-n,-i);t.lineTo(n,-i);t.closePath()}},"triangle-right":{draw:function(t,e){var n=Math.sqrt(e)/2,i=Kc*n;t.moveTo(i,0);t.lineTo(-i,-n);t.lineTo(-i,n);t.closePath()}},"triangle-left":{draw:function(t,e){var n=Math.sqrt(e)/2,i=Kc*n;t.moveTo(-i,0);t.lineTo(i,-n);t.lineTo(i,n);t.closePath()}},stroke:{draw:function(t,e){const n=Math.sqrt(e)/2;t.moveTo(-n,0);t.lineTo(n,0)}}};function uf(t){return(0,p.mQ)(lf,t)?lf[t]:ff(t)}var cf={};function ff(t){if(!(0,p.mQ)(cf,t)){const e=Yc(t);cf[t]={draw:function(t,n){of(t,e,0,0,Math.sqrt(n)/2)}}}return cf[t]}const df=.448084975506;function hf(t){return t.x}function pf(t){return t.y}function mf(t){return t.width}function gf(t){return t.height}function yf(t){return typeof t==="function"?t:()=>+t}function vf(t,e,n){return Math.max(e,Math.min(t,n))}function bf(){var t=hf,e=pf,n=mf,i=gf,r=yf(0),o=r,a=r,s=r,l=null;function u(u,c,f){var d,h=c!=null?c:+t.call(this,u),p=f!=null?f:+e.call(this,u),m=+n.call(this,u),g=+i.call(this,u),y=Math.min(m,g)/2,v=vf(+r.call(this,u),0,y),b=vf(+o.call(this,u),0,y),x=vf(+a.call(this,u),0,y),_=vf(+s.call(this,u),0,y);if(!l)l=d=(0,Vs.Ae)();if(v<=0&&b<=0&&x<=0&&_<=0){l.rect(h,p,m,g)}else{var w=h+m,k=p+g;l.moveTo(h+v,p);l.lineTo(w-b,p);l.bezierCurveTo(w-df*b,p,w,p+df*b,w,p+b);l.lineTo(w,k-_);l.bezierCurveTo(w,k-df*_,w-df*_,k,w-_,k);l.lineTo(h+x,k);l.bezierCurveTo(h+df*x,k,h,k-df*x,h,k-x);l.lineTo(h,p+v);l.bezierCurveTo(h,p+df*v,h+df*v,p,h+v,p);l.closePath()}if(d){l=null;return d+""||null}}u.x=function(e){if(arguments.length){t=yf(e);return u}else{return t}};u.y=function(t){if(arguments.length){e=yf(t);return u}else{return e}};u.width=function(t){if(arguments.length){n=yf(t);return u}else{return n}};u.height=function(t){if(arguments.length){i=yf(t);return u}else{return i}};u.cornerRadius=function(t,e,n,i){if(arguments.length){r=yf(t);o=e!=null?yf(e):r;s=n!=null?yf(n):r;a=i!=null?yf(i):o;return u}else{return r}};u.context=function(t){if(arguments.length){l=t==null?null:t;return u}else{return l}};return u}function xf(){var t,e,n,i,r=null,o,a,s,l;function u(t,e,n){const i=n/2;if(o){var u=s-e,c=t-a;if(u||c){var f=Math.sqrt(u*u+c*c),d=(u/=f)*l,h=(c/=f)*l,p=Math.atan2(c,u);r.moveTo(a-d,s-h);r.lineTo(t-u*i,e-c*i);r.arc(t,e,i,p-Math.PI,p);r.lineTo(a+d,s+h);r.arc(a,s,l,p,p+Math.PI)}else{r.arc(t,e,i,0,Vc)}r.closePath()}else{o=1}a=t;s=e;l=i}function c(a){var s,l=a.length,c,f=false,d;if(r==null)r=d=(0,Vs.Ae)();for(s=0;s<=l;++s){if(!(s<l&&i(c=a[s],s,a))===f){if(f=!f)o=0}if(f)u(+t(c,s,a),+e(c,s,a),+n(c,s,a))}if(d){r=null;return d+""||null}}c.x=function(e){if(arguments.length){t=e;return c}else{return t}};c.y=function(t){if(arguments.length){e=t;return c}else{return e}};c.size=function(t){if(arguments.length){n=t;return c}else{return n}};c.defined=function(t){if(arguments.length){i=t;return c}else{return i}};c.context=function(t){if(arguments.length){if(t==null){r=null}else{r=t}return c}else{return r}};return c}function _f(t,e){return t!=null?t:e}const wf=t=>t.x||0,kf=t=>t.y||0,Mf=t=>t.width||0,Sf=t=>t.height||0,Ef=t=>(t.x||0)+(t.width||0),zf=t=>(t.y||0)+(t.height||0),Af=t=>t.startAngle||0,$f=t=>t.endAngle||0,Of=t=>t.padAngle||0,Rf=t=>t.innerRadius||0,Df=t=>t.outerRadius||0,Tf=t=>t.cornerRadius||0,Nf=t=>_f(t.cornerRadiusTopLeft,t.cornerRadius)||0,Cf=t=>_f(t.cornerRadiusTopRight,t.cornerRadius)||0,Lf=t=>_f(t.cornerRadiusBottomRight,t.cornerRadius)||0,Pf=t=>_f(t.cornerRadiusBottomLeft,t.cornerRadius)||0,qf=t=>_f(t.size,64),Ff=t=>t.size||1,If=t=>!(t.defined===false),Bf=t=>uf(t.shape||"circle");const Uf=(0,ds.A)().startAngle(Af).endAngle($f).padAngle(Of).innerRadius(Rf).outerRadius(Df).cornerRadius(Tf),jf=vs().x(wf).y1(kf).y0(zf).defined(If),Yf=vs().y(kf).x1(wf).x0(Ef).defined(If),Gf=(0,ms.A)().x(wf).y(kf).defined(If),Wf=bf().x(wf).y(kf).width(Mf).height(Sf).cornerRadius(Nf,Cf,Lf,Pf),Xf=Hs().type(Bf).size(qf),Hf=xf().x(wf).y(kf).defined(If).size(Ff);function Vf(t){return t.cornerRadius||t.cornerRadiusTopLeft||t.cornerRadiusTopRight||t.cornerRadiusBottomRight||t.cornerRadiusBottomLeft}function Kf(t,e){return Uf.context(t)(e)}function Zf(t,e){const n=e[0],i=n.interpolate||"linear";return(n.orient==="horizontal"?Yf:jf).curve(qc(i,n.orient,n.tension)).context(t)(e)}function Qf(t,e){const n=e[0],i=n.interpolate||"linear";return Gf.curve(qc(i,n.orient,n.tension)).context(t)(e)}function Jf(t,e,n,i){return Wf.context(t)(e,n,i)}function td(t,e){return(e.mark.shape||e.shape).context(t)(e)}function ed(t,e){return Xf.context(t)(e)}function nd(t,e){return Hf.context(t)(e)}var id=1;function rd(){id=1}function od(t,e,n){var i=e.clip,r=t._defs,o=e.clip_id||(e.clip_id="clip"+id++),a=r.clipping[o]||(r.clipping[o]={id:o});if((0,p.Tn)(i)){a.path=i(null)}else if(Vf(n)){a.path=Jf(null,n,0,0)}else{a.width=n.width||0;a.height=n.height||0}return"url(#"+o+")"}function ad(t){this.clear();if(t)this.union(t)}ad.prototype={clone(){return new ad(this)},clear(){this.x1=+Number.MAX_VALUE;this.y1=+Number.MAX_VALUE;this.x2=-Number.MAX_VALUE;this.y2=-Number.MAX_VALUE;return this},empty(){return this.x1===+Number.MAX_VALUE&&this.y1===+Number.MAX_VALUE&&this.x2===-Number.MAX_VALUE&&this.y2===-Number.MAX_VALUE},equals(t){return this.x1===t.x1&&this.y1===t.y1&&this.x2===t.x2&&this.y2===t.y2},set(t,e,n,i){if(n<t){this.x2=t;this.x1=n}else{this.x1=t;this.x2=n}if(i<e){this.y2=e;this.y1=i}else{this.y1=e;this.y2=i}return this},add(t,e){if(t<this.x1)this.x1=t;if(e<this.y1)this.y1=e;if(t>this.x2)this.x2=t;if(e>this.y2)this.y2=e;return this},expand(t){this.x1-=t;this.y1-=t;this.x2+=t;this.y2+=t;return this},round(){this.x1=Math.floor(this.x1);this.y1=Math.floor(this.y1);this.x2=Math.ceil(this.x2);this.y2=Math.ceil(this.y2);return this},scale(t){this.x1*=t;this.y1*=t;this.x2*=t;this.y2*=t;return this},translate(t,e){this.x1+=t;this.x2+=t;this.y1+=e;this.y2+=e;return this},rotate(t,e,n){const i=this.rotatedPoints(t,e,n);return this.clear().add(i[0],i[1]).add(i[2],i[3]).add(i[4],i[5]).add(i[6],i[7])},rotatedPoints(t,e,n){var{x1:i,y1:r,x2:o,y2:a}=this,s=Math.cos(t),l=Math.sin(t),u=e-e*s+n*l,c=n-e*l-n*s;return[s*i-l*r+u,l*i+s*r+c,s*i-l*a+u,l*i+s*a+c,s*o-l*r+u,l*o+s*r+c,s*o-l*a+u,l*o+s*a+c]},union(t){if(t.x1<this.x1)this.x1=t.x1;if(t.y1<this.y1)this.y1=t.y1;if(t.x2>this.x2)this.x2=t.x2;if(t.y2>this.y2)this.y2=t.y2;return this},intersect(t){if(t.x1>this.x1)this.x1=t.x1;if(t.y1>this.y1)this.y1=t.y1;if(t.x2<this.x2)this.x2=t.x2;if(t.y2<this.y2)this.y2=t.y2;return this},encloses(t){return t&&this.x1<=t.x1&&this.x2>=t.x2&&this.y1<=t.y1&&this.y2>=t.y2},alignsWith(t){return t&&(this.x1==t.x1||this.x2==t.x2||this.y1==t.y1||this.y2==t.y2)},intersects(t){return t&&!(this.x2<t.x1||this.x1>t.x2||this.y2<t.y1||this.y1>t.y2)},contains(t,e){return!(t<this.x1||t>this.x2||e<this.y1||e>this.y2)},width(){return this.x2-this.x1},height(){return this.y2-this.y1}};function sd(t){this.mark=t;this.bounds=this.bounds||new ad}function ld(t){sd.call(this,t);this.items=this.items||[]}(0,p.B)(ld,sd);function ud(t){this._pending=0;this._loader=t||fn()}function cd(t){t._pending+=1}function fd(t){t._pending-=1}ud.prototype={pending(){return this._pending},sanitizeURL(t){const e=this;cd(e);return e._loader.sanitize(t,{context:"href"}).then((t=>{fd(e);return t})).catch((()=>{fd(e);return null}))},loadImage(t){const e=this,n=Zs();cd(e);return e._loader.sanitize(t,{context:"image"}).then((t=>{const i=t.href;if(!i||!n)throw{url:i};const r=new n;const o=(0,p.mQ)(t,"crossOrigin")?t.crossOrigin:"anonymous";if(o!=null)r.crossOrigin=o;r.onload=()=>fd(e);r.onerror=()=>fd(e);r.src=i;return r})).catch((t=>{fd(e);return{complete:false,width:0,height:0,src:t&&t.url||""}}))},ready(){const t=this;return new Promise((e=>{function n(i){if(!t.pending())e(i);else setTimeout((()=>{n(true)}),10)}n(false)}))}};function dd(t,e,n){if(e.stroke&&e.opacity!==0&&e.strokeOpacity!==0){const i=e.strokeWidth!=null?+e.strokeWidth:1;t.expand(i+(n?hd(e,i):0))}return t}function hd(t,e){return t.strokeJoin&&t.strokeJoin!=="miter"?0:e}const pd=Vc-1e-8;let md,gd,yd,vd,bd,xd,_d,wd;const kd=(t,e)=>md.add(t,e);const Md=(t,e)=>kd(gd=t,yd=e);const Sd=t=>kd(t,md.y1);const Ed=t=>kd(md.x1,t);const zd=(t,e)=>bd*t+_d*e;const Ad=(t,e)=>xd*t+wd*e;const $d=(t,e)=>kd(zd(t,e),Ad(t,e));const Od=(t,e)=>Md(zd(t,e),Ad(t,e));function Rd(t,e){md=t;if(e){vd=e*Wc;bd=wd=Math.cos(vd);xd=Math.sin(vd);_d=-xd}else{bd=wd=1;vd=xd=_d=0}return Dd}const Dd={beginPath(){},closePath(){},moveTo:Od,lineTo:Od,rect(t,e,n,i){if(vd){$d(t+n,e);$d(t+n,e+i);$d(t,e+i);Od(t,e)}else{kd(t+n,e+i);Md(t,e)}},quadraticCurveTo(t,e,n,i){const r=zd(t,e),o=Ad(t,e),a=zd(n,i),s=Ad(n,i);Td(gd,r,a,Sd);Td(yd,o,s,Ed);Md(a,s)},bezierCurveTo(t,e,n,i,r,o){const a=zd(t,e),s=Ad(t,e),l=zd(n,i),u=Ad(n,i),c=zd(r,o),f=Ad(r,o);Nd(gd,a,l,c,Sd);Nd(yd,s,u,f,Ed);Md(c,f)},arc(t,e,n,i,r,o){i+=vd;r+=vd;gd=n*Math.cos(r)+t;yd=n*Math.sin(r)+e;if(Math.abs(r-i)>pd){kd(t-n,e-n);kd(t+n,e+n)}else{const a=i=>kd(n*Math.cos(i)+t,n*Math.sin(i)+e);let s,l;a(i);a(r);if(r!==i){i=i%Vc;if(i<0)i+=Vc;r=r%Vc;if(r<0)r+=Vc;if(r<i){o=!o;s=i;i=r;r=s}if(o){r-=Vc;s=i-i%Hc;for(l=0;l<4&&s>r;++l,s-=Hc)a(s)}else{s=i-i%Hc+Hc;for(l=0;l<4&&s<r;++l,s=s+Hc)a(s)}}}}};function Td(t,e,n,i){const r=(t-e)/(t+n-2*e);if(0<r&&r<1)i(t+(e-t)*r)}function Nd(t,e,n,i,r){const o=i-t+3*e-3*n,a=t+n-2*e,s=t-e;let l=0,u=0,c;if(Math.abs(o)>Xc){c=a*a+s*o;if(c>=0){c=Math.sqrt(c);l=(-a+c)/o;u=(-a-c)/o}}else{l=.5*s/a}if(0<l&&l<1)r(Cd(l,t,e,n,i));if(0<u&&u<1)r(Cd(u,t,e,n,i))}function Cd(t,e,n,i,r){const o=1-t,a=o*o,s=t*t;return a*o*e+3*a*t*n+3*o*s*i+s*t*r}var Ld=(Ld=Ks(1,1))?Ld.getContext("2d"):null;const Pd=new ad;function qd(t){return function(e,n){if(!Ld)return true;t(Ld,e);Pd.clear().union(e.bounds).intersect(n).round();const{x1:i,y1:r,x2:o,y2:a}=Pd;for(let t=r;t<=a;++t){for(let e=i;e<=o;++e){if(Ld.isPointInPath(e,t)){return true}}}return false}}function Fd(t,e){return e.contains(t.x||0,t.y||0)}function Id(t,e){const n=t.x||0,i=t.y||0,r=t.width||0,o=t.height||0;return e.intersects(Pd.set(n,i,n+r,i+o))}function Bd(t,e){const n=t.x||0,i=t.y||0,r=t.x2!=null?t.x2:n,o=t.y2!=null?t.y2:i;return Ud(e,n,i,r,o)}function Ud(t,e,n,i,r){const{x1:o,y1:a,x2:s,y2:l}=t,u=i-e,c=r-n;let f=0,d=1,h,p,m,g;for(g=0;g<4;++g){if(g===0){h=-u;p=-(o-e)}if(g===1){h=u;p=s-e}if(g===2){h=-c;p=-(a-n)}if(g===3){h=c;p=l-n}if(Math.abs(h)<1e-10&&p<0)return false;m=p/h;if(h<0){if(m>d)return false;else if(m>f)f=m}else if(h>0){if(m<f)return false;else if(m<d)d=m}}return true}function jd(t,e){t.globalCompositeOperation=e.blend||"source-over"}function Yd(t,e){return t==null?e:t}function Gd(t,e){const n=e.length;for(let i=0;i<n;++i){t.addColorStop(e[i].offset,e[i].color)}return t}function Wd(t,e,n){const i=n.width(),r=n.height();let o;if(e.gradient==="radial"){o=t.createRadialGradient(n.x1+Yd(e.x1,.5)*i,n.y1+Yd(e.y1,.5)*r,Math.max(i,r)*Yd(e.r1,0),n.x1+Yd(e.x2,.5)*i,n.y1+Yd(e.y2,.5)*r,Math.max(i,r)*Yd(e.r2,.5))}else{const a=Yd(e.x1,0),s=Yd(e.y1,0),l=Yd(e.x2,1),u=Yd(e.y2,0);if(a===l||s===u||i===r){o=t.createLinearGradient(n.x1+a*i,n.y1+s*r,n.x1+l*i,n.y1+u*r)}else{const n=Ks(Math.ceil(i),Math.ceil(r)),o=n.getContext("2d");o.scale(i,r);o.fillStyle=Gd(o.createLinearGradient(a,s,l,u),e.stops);o.fillRect(0,0,i,r);return t.createPattern(n,"no-repeat")}}return Gd(o,e.stops)}function Xd(t,e,n){return Tc(n)?Wd(t,n,e.bounds):n}function Hd(t,e,n){n*=e.fillOpacity==null?1:e.fillOpacity;if(n>0){t.globalAlpha=n;t.fillStyle=Xd(t,e,e.fill);return true}else{return false}}var Vd=[];function Kd(t,e,n){var i=(i=e.strokeWidth)!=null?i:1;if(i<=0)return false;n*=e.strokeOpacity==null?1:e.strokeOpacity;if(n>0){t.globalAlpha=n;t.strokeStyle=Xd(t,e,e.stroke);t.lineWidth=i;t.lineCap=e.strokeCap||"butt";t.lineJoin=e.strokeJoin||"miter";t.miterLimit=e.strokeMiterLimit||10;if(t.setLineDash){t.setLineDash(e.strokeDash||Vd);t.lineDashOffset=e.strokeDashOffset||0}return true}else{return false}}function Zd(t,e){return t.zindex-e.zindex||t.index-e.index}function Qd(t){if(!t.zdirty)return t.zitems;var e=t.items,n=[],i,r,o;for(r=0,o=e.length;r<o;++r){i=e[r];i.index=r;if(i.zindex)n.push(i)}t.zdirty=false;return t.zitems=n.sort(Zd)}function Jd(t,e){var n=t.items,i,r;if(!n||!n.length)return;const o=Qd(t);if(o&&o.length){for(i=0,r=n.length;i<r;++i){if(!n[i].zindex)e(n[i])}n=o}for(i=0,r=n.length;i<r;++i){e(n[i])}}function th(t,e){var n=t.items,i,r;if(!n||!n.length)return null;const o=Qd(t);if(o&&o.length)n=o;for(r=n.length;--r>=0;){if(i=e(n[r]))return i}if(n===o){for(n=t.items,r=n.length;--r>=0;){if(!n[r].zindex){if(i=e(n[r]))return i}}}return null}function eh(t){return function(e,n,i){Jd(n,(n=>{if(!i||i.intersects(n.bounds)){ih(t,e,n,n)}}))}}function nh(t){return function(e,n,i){if(n.items.length&&(!i||i.intersects(n.bounds))){ih(t,e,n.items[0],n.items)}}}function ih(t,e,n,i){var r=n.opacity==null?1:n.opacity;if(r===0)return;if(t(e,i))return;jd(e,n);if(n.fill&&Hd(e,n,r)){e.fill()}if(n.stroke&&Kd(e,n,r)){e.stroke()}}function rh(t){t=t||p.vN;return function(e,n,i,r,o,a){i*=e.pixelRatio;r*=e.pixelRatio;return th(n,(n=>{const s=n.bounds;if(s&&!s.contains(o,a)||!s)return;if(t(e,n,i,r,o,a))return n}))}}function oh(t,e){return function(n,i,r,o){var a=Array.isArray(i)?i[0]:i,s=e==null?a.fill:e,l=a.stroke&&n.isPointInStroke,u,c;if(l){u=a.strokeWidth;c=a.strokeCap;n.lineWidth=u!=null?u:1;n.lineCap=c!=null?c:"butt"}return t(n,i)?false:s&&n.isPointInPath(r,o)||l&&n.isPointInStroke(r,o)}}function ah(t){return rh(oh(t))}function sh(t,e){return"translate("+t+","+e+")"}function lh(t){return"rotate("+t+")"}function uh(t,e){return"scale("+t+","+e+")"}function ch(t){return sh(t.x||0,t.y||0)}function fh(t){return sh(t.x||0,t.y||0)+(t.angle?" "+lh(t.angle):"")}function dh(t){return sh(t.x||0,t.y||0)+(t.angle?" "+lh(t.angle):"")+(t.scaleX||t.scaleY?" "+uh(t.scaleX||1,t.scaleY||1):"")}function hh(t,e,n){function i(t,n){t("transform",fh(n));t("d",e(null,n))}function r(t,n){e(Rd(t,n.angle),n);return dd(t,n).translate(n.x||0,n.y||0)}function o(t,n){var i=n.x||0,r=n.y||0,o=n.angle||0;t.translate(i,r);if(o)t.rotate(o*=Wc);t.beginPath();e(t,n);if(o)t.rotate(-o);t.translate(-i,-r)}return{type:t,tag:"path",nested:false,attr:i,bound:r,draw:eh(o),pick:ah(o),isect:n||qd(o)}}var ph=hh("arc",Kf);function mh(t,e){var n=t[0].orient==="horizontal"?e[1]:e[0],i=t[0].orient==="horizontal"?"y":"x",r=t.length,o=+Infinity,a,s;while(--r>=0){if(t[r].defined===false)continue;s=Math.abs(t[r][i]-n);if(s<o){o=s;a=t[r]}}return a}function gh(t,e){var n=Math.pow(t[0].strokeWidth||1,2),i=t.length,r,o,a;while(--i>=0){if(t[i].defined===false)continue;r=t[i].x-e[0];o=t[i].y-e[1];a=r*r+o*o;if(a<n)return t[i]}return null}function yh(t,e){var n=t.length,i,r,o;while(--n>=0){if(t[n].defined===false)continue;i=t[n].x-e[0];r=t[n].y-e[1];o=i*i+r*r;i=t[n].size||1;if(o<i*i)return t[n]}return null}function vh(t,e,n){function i(t,n){var i=n.mark.items;if(i.length)t("d",e(null,i))}function r(t,n){var i=n.items;if(i.length===0){return t}else{e(Rd(t),i);return dd(t,i[0])}}function o(t,n){t.beginPath();e(t,n)}const a=oh(o);function s(t,e,n,i,r,o){var s=e.items,l=e.bounds;if(!s||!s.length||l&&!l.contains(r,o)){return null}n*=t.pixelRatio;i*=t.pixelRatio;return a(t,s,n,i)?s[0]:null}return{type:t,tag:"path",nested:true,attr:i,bound:r,draw:nh(o),pick:s,isect:Fd,tip:n}}var bh=vh("area",Zf,mh);function xh(t,e){var n=e.clip;t.save();if((0,p.Tn)(n)){t.beginPath();n(t);t.clip()}else{_h(t,e.group)}}function _h(t,e){t.beginPath();Vf(e)?Jf(t,e,0,0):t.rect(0,0,e.width||0,e.height||0);t.clip()}function wh(t){const e=Yd(t.strokeWidth,1);return t.strokeOffset!=null?t.strokeOffset:t.stroke&&e>.5&&e<1.5?.5-Math.abs(e-1):0}function kh(t,e){t("transform",ch(e))}function Mh(t,e){const n=wh(e);t("d",Jf(null,e,n,n))}function Sh(t,e){t("class","background");t("aria-hidden",true);Mh(t,e)}function Eh(t,e){t("class","foreground");t("aria-hidden",true);if(e.strokeForeground){Mh(t,e)}else{t("d","")}}function zh(t,e,n){const i=e.clip?od(n,e,e):null;t("clip-path",i)}function Ah(t,e){if(!e.clip&&e.items){const n=e.items,i=n.length;for(let e=0;e<i;++e){t.union(n[e].bounds)}}if((e.clip||e.width||e.height)&&!e.noBound){t.add(0,0).add(e.width||0,e.height||0)}dd(t,e);return t.translate(e.x||0,e.y||0)}function $h(t,e,n,i){const r=wh(e);t.beginPath();Jf(t,e,(n||0)+r,(i||0)+r)}const Oh=oh($h);const Rh=oh($h,false);const Dh=oh($h,true);function Th(t,e,n){Jd(e,(e=>{const i=e.x||0,r=e.y||0,o=e.strokeForeground,a=e.opacity==null?1:e.opacity;if((e.stroke||e.fill)&&a){$h(t,e,i,r);jd(t,e);if(e.fill&&Hd(t,e,a)){t.fill()}if(e.stroke&&!o&&Kd(t,e,a)){t.stroke()}}t.save();t.translate(i,r);if(e.clip)_h(t,e);if(n)n.translate(-i,-r);Jd(e,(e=>{this.draw(t,e,n)}));if(n)n.translate(i,r);t.restore();if(o&&e.stroke&&a){$h(t,e,i,r);jd(t,e);if(Kd(t,e,a)){t.stroke()}}}))}function Nh(t,e,n,i,r,o){if(e.bounds&&!e.bounds.contains(r,o)||!e.items){return null}const a=n*t.pixelRatio,s=i*t.pixelRatio;return th(e,(l=>{let u,c,f;const d=l.bounds;if(d&&!d.contains(r,o))return;c=l.x||0;f=l.y||0;const h=c+(l.width||0),p=f+(l.height||0),m=l.clip;if(m&&(r<c||r>h||o<f||o>p))return;t.save();t.translate(c,f);c=r-c;f=o-f;if(m&&Vf(l)&&!Dh(t,l,a,s)){t.restore();return null}const g=l.strokeForeground,y=e.interactive!==false;if(y&&g&&l.stroke&&Rh(t,l,a,s)){t.restore();return l}u=th(l,(t=>Ch(t,c,f)?this.pick(t,n,i,c,f):null));if(!u&&y&&(l.fill||!g&&l.stroke)&&Oh(t,l,a,s)){u=l}t.restore();return u||null}))}function Ch(t,e,n){return(t.interactive!==false||t.marktype==="group")&&t.bounds&&t.bounds.contains(e,n)}var Lh={type:"group",tag:"g",nested:false,attr:kh,bound:Ah,draw:Th,pick:Nh,isect:Id,content:zh,background:Sh,foreground:Eh};var Ph={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1"};function qh(t,e){var n=t.image;if(!n||t.url&&t.url!==n.url){n={complete:false,width:0,height:0};e.loadImage(t.url).then((e=>{t.image=e;t.image.url=t.url}))}return n}function Fh(t,e){return t.width!=null?t.width:!e||!e.width?0:t.aspect!==false&&t.height?t.height*e.width/e.height:e.width}function Ih(t,e){return t.height!=null?t.height:!e||!e.height?0:t.aspect!==false&&t.width?t.width*e.height/e.width:e.height}function Bh(t,e){return t==="center"?e/2:t==="right"?e:0}function Uh(t,e){return t==="middle"?e/2:t==="bottom"?e:0}function jh(t,e,n){const i=qh(e,n),r=Fh(e,i),o=Ih(e,i),a=(e.x||0)-Bh(e.align,r),s=(e.y||0)-Uh(e.baseline,o),l=!i.src&&i.toDataURL?i.toDataURL():i.src||"";t("href",l,Ph["xmlns:xlink"],"xlink:href");t("transform",sh(a,s));t("width",r);t("height",o);t("preserveAspectRatio",e.aspect===false?"none":"xMidYMid")}function Yh(t,e){const n=e.image,i=Fh(e,n),r=Ih(e,n),o=(e.x||0)-Bh(e.align,i),a=(e.y||0)-Uh(e.baseline,r);return t.set(o,a,o+i,a+r)}function Gh(t,e,n){Jd(e,(e=>{if(n&&!n.intersects(e.bounds))return;const i=qh(e,this);let r=Fh(e,i);let o=Ih(e,i);if(r===0||o===0)return;let a=(e.x||0)-Bh(e.align,r),s=(e.y||0)-Uh(e.baseline,o),l,u,c,f;if(e.aspect!==false){u=i.width/i.height;c=e.width/e.height;if(u===u&&c===c&&u!==c){if(c<u){f=r/u;s+=(o-f)/2;o=f}else{f=o*u;a+=(r-f)/2;r=f}}}if(i.complete||i.toDataURL){jd(t,e);t.globalAlpha=(l=e.opacity)!=null?l:1;t.imageSmoothingEnabled=e.smooth!==false;t.drawImage(i,a,s,r,o)}}))}var Wh={type:"image",tag:"image",nested:false,attr:jh,bound:Yh,draw:Gh,pick:rh(),isect:p.vN,get:qh,xOffset:Bh,yOffset:Uh};var Xh=vh("line",Qf,gh);function Hh(t,e){var n=e.scaleX||1,i=e.scaleY||1;if(n!==1||i!==1){t("vector-effect","non-scaling-stroke")}t("transform",dh(e));t("d",e.path)}function Vh(t,e){var n=e.path;if(n==null)return true;var i=e.x||0,r=e.y||0,o=e.scaleX||1,a=e.scaleY||1,s=(e.angle||0)*Wc,l=e.pathCache;if(!l||l.path!==n){(e.pathCache=l=Yc(n)).path=n}if(s&&t.rotate&&t.translate){t.translate(i,r);t.rotate(s);of(t,l,0,0,o,a);t.rotate(-s);t.translate(-i,-r)}else{of(t,l,i,r,o,a)}}function Kh(t,e){return Vh(Rd(t,e.angle),e)?t.set(0,0,0,0):dd(t,e,true)}var Zh={type:"path",tag:"path",nested:false,attr:Hh,bound:Kh,draw:eh(Vh),pick:ah(Vh),isect:qd(Vh)};function Qh(t,e){t("d",Jf(null,e))}function Jh(t,e){var n,i;return dd(t.set(n=e.x||0,i=e.y||0,n+e.width||0,i+e.height||0),e)}function tp(t,e){t.beginPath();Jf(t,e)}var ep={type:"rect",tag:"path",nested:false,attr:Qh,bound:Jh,draw:eh(tp),pick:ah(tp),isect:Id};function np(t,e){t("transform",ch(e));t("x2",e.x2!=null?e.x2-(e.x||0):0);t("y2",e.y2!=null?e.y2-(e.y||0):0)}function ip(t,e){var n,i;return dd(t.set(n=e.x||0,i=e.y||0,e.x2!=null?e.x2:n,e.y2!=null?e.y2:i),e)}function rp(t,e,n){var i,r,o,a;if(e.stroke&&Kd(t,e,n)){i=e.x||0;r=e.y||0;o=e.x2!=null?e.x2:i;a=e.y2!=null?e.y2:r;t.beginPath();t.moveTo(i,r);t.lineTo(o,a);return true}return false}function op(t,e,n){Jd(e,(e=>{if(n&&!n.intersects(e.bounds))return;var i=e.opacity==null?1:e.opacity;if(i&&rp(t,e,i)){jd(t,e);t.stroke()}}))}function ap(t,e,n,i){if(!t.isPointInStroke)return false;return rp(t,e,1)&&t.isPointInStroke(n,i)}var sp={type:"rule",tag:"line",nested:false,attr:np,bound:ip,draw:op,pick:rh(ap),isect:Bd};var lp=hh("shape",td);var up=hh("symbol",ed,Fd);const cp=(0,p.EV)();var fp={height:yp,measureWidth:mp,estimateWidth:hp,width:hp,canvas:dp};dp(true);function dp(t){fp.width=t&&Ld?mp:hp}function hp(t,e){return pp(wp(t,e),yp(t))}function pp(t,e){return~~(.8*t.length*e)}function mp(t,e){return yp(t)<=0||!(e=wp(t,e))?0:gp(e,Ep(t))}function gp(t,e){const n=`(${e}) ${t}`;let i=cp.get(n);if(i===undefined){Ld.font=e;i=Ld.measureText(t).width;cp.set(n,i)}return i}function yp(t){return t.fontSize!=null?+t.fontSize||0:11}function vp(t){return t.lineHeight!=null?t.lineHeight:yp(t)+2}function bp(t){return(0,p.cy)(t)?t.length>1?t:t[0]:t}function xp(t){return bp(t.lineBreak&&t.text&&!(0,p.cy)(t.text)?t.text.split(t.lineBreak):t.text)}function _p(t){const e=xp(t);return((0,p.cy)(e)?e.length-1:0)*vp(t)}function wp(t,e){const n=e==null?"":(e+"").trim();return t.limit>0&&n.length?Mp(t,n):n}function kp(t){if(fp.width===mp){const e=Ep(t);return t=>gp(t,e)}else{const e=yp(t);return t=>pp(t,e)}}function Mp(t,e){var n=+t.limit,i=kp(t);if(i(e)<n)return e;var r=t.ellipsis||"…",o=t.dir==="rtl",a=0,s=e.length,l;n-=i(r);if(o){while(a<s){l=a+s>>>1;if(i(e.slice(l))>n)a=l+1;else s=l}return r+e.slice(a)}else{while(a<s){l=1+(a+s>>>1);if(i(e.slice(0,l))<n)a=l;else s=l-1}return e.slice(0,a)+r}}function Sp(t,e){var n=t.font;return(e&&n?String(n).replace(/"/g,"'"):n)||"sans-serif"}function Ep(t,e){return""+(t.fontStyle?t.fontStyle+" ":"")+(t.fontVariant?t.fontVariant+" ":"")+(t.fontWeight?t.fontWeight+" ":"")+yp(t)+"px "+Sp(t,e)}function zp(t){var e=t.baseline,n=yp(t);return Math.round(e==="top"?.79*n:e==="middle"?.3*n:e==="bottom"?-.21*n:e==="line-top"?.29*n+.5*vp(t):e==="line-bottom"?.29*n-.5*vp(t):0)}const Ap={left:"start",center:"middle",right:"end"};const $p=new ad;function Op(t){var e=t.x||0,n=t.y||0,i=t.radius||0,r;if(i){r=(t.theta||0)-Hc;e+=i*Math.cos(r);n+=i*Math.sin(r)}$p.x1=e;$p.y1=n;return $p}function Rp(t,e){var n=e.dx||0,i=(e.dy||0)+zp(e),r=Op(e),o=r.x1,a=r.y1,s=e.angle||0,l;t("text-anchor",Ap[e.align]||"start");if(s){l=sh(o,a)+" "+lh(s);if(n||i)l+=" "+sh(n,i)}else{l=sh(o+n,a+i)}t("transform",l)}function Dp(t,e,n){var i=fp.height(e),r=e.align,o=Op(e),a=o.x1,s=o.y1,l=e.dx||0,u=(e.dy||0)+zp(e)-Math.round(.8*i),c=xp(e),f;if((0,p.cy)(c)){i+=vp(e)*(c.length-1);f=c.reduce(((t,n)=>Math.max(t,fp.width(e,n))),0)}else{f=fp.width(e,c)}if(r==="center"){l-=f/2}else if(r==="right"){l-=f}else;t.set(l+=a,u+=s,l+f,u+i);if(e.angle&&!n){t.rotate(e.angle*Wc,a,s)}else if(n===2){return t.rotatedPoints(e.angle*Wc,a,s)}return t}function Tp(t,e,n){Jd(e,(e=>{var i=e.opacity==null?1:e.opacity,r,o,a,s,l,u,c;if(n&&!n.intersects(e.bounds)||i===0||e.fontSize<=0||e.text==null||e.text.length===0)return;t.font=Ep(e);t.textAlign=e.align||"left";r=Op(e);o=r.x1,a=r.y1;if(e.angle){t.save();t.translate(o,a);t.rotate(e.angle*Wc);o=a=0}o+=e.dx||0;a+=(e.dy||0)+zp(e);u=xp(e);jd(t,e);if((0,p.cy)(u)){l=vp(e);for(s=0;s<u.length;++s){c=wp(e,u[s]);if(e.fill&&Hd(t,e,i)){t.fillText(c,o,a)}if(e.stroke&&Kd(t,e,i)){t.strokeText(c,o,a)}a+=l}}else{c=wp(e,u);if(e.fill&&Hd(t,e,i)){t.fillText(c,o,a)}if(e.stroke&&Kd(t,e,i)){t.strokeText(c,o,a)}}if(e.angle)t.restore()}))}function Np(t,e,n,i,r,o){if(e.fontSize<=0)return false;if(!e.angle)return true;var a=Op(e),s=a.x1,l=a.y1,u=Dp($p,e,1),c=-e.angle*Wc,f=Math.cos(c),d=Math.sin(c),h=f*r-d*o+(s-f*s+d*l),p=d*r+f*o+(l-d*s-f*l);return u.contains(h,p)}function Cp(t,e){const n=Dp($p,t,2);return Ud(e,n[0],n[1],n[2],n[3])||Ud(e,n[0],n[1],n[4],n[5])||Ud(e,n[4],n[5],n[6],n[7])||Ud(e,n[2],n[3],n[6],n[7])}var Lp={type:"text",tag:"text",nested:false,attr:Rp,bound:Dp,draw:Tp,pick:rh(Np),isect:Cp};var Pp=vh("trail",nd,yh);var qp={arc:ph,area:bh,group:Lh,image:Wh,line:Xh,path:Zh,rect:ep,rule:sp,shape:lp,symbol:up,text:Lp,trail:Pp};function Fp(t,e,n){var i=qp[t.mark.marktype],r=e||i.bound;if(i.nested)t=t.mark;return r(t.bounds||(t.bounds=new ad),t,n)}var Ip={mark:null};function Bp(t,e,n){var i=qp[t.marktype],r=i.bound,o=t.items,a=o&&o.length,s,l,u,c;if(i.nested){if(a){u=o[0]}else{Ip.mark=t;u=Ip}c=Fp(u,r,n);e=e&&e.union(c)||c;return e}e=e||t.bounds&&t.bounds.clear()||new ad;if(a){for(s=0,l=o.length;s<l;++s){e.union(Fp(o[s],r,n))}}return t.bounds=e}const Up=["marktype","name","role","interactive","clip","items","zindex","x","y","width","height","align","baseline","fill","fillOpacity","opacity","blend","stroke","strokeOpacity","strokeWidth","strokeCap","strokeDash","strokeDashOffset","strokeForeground","strokeOffset","startAngle","endAngle","innerRadius","outerRadius","cornerRadius","padAngle","cornerRadiusTopLeft","cornerRadiusTopRight","cornerRadiusBottomLeft","cornerRadiusBottomRight","interpolate","tension","orient","defined","url","aspect","smooth","path","scaleX","scaleY","x2","y2","size","shape","text","angle","theta","radius","dir","dx","dy","ellipsis","limit","lineBreak","lineHeight","font","fontSize","fontWeight","fontStyle","fontVariant","description","aria","ariaRole","ariaRoleDescription"];function jp(t,e){return JSON.stringify(t,Up,e)}function Yp(t){const e=typeof t==="string"?JSON.parse(t):t;return Gp(e)}function Gp(t){var e=t.marktype,n=t.items,i,r,o;if(n){for(r=0,o=n.length;r<o;++r){i=e?"mark":"group";n[r][i]=t;if(n[r].zindex)n[r][i].zdirty=true;if("group"===(e||i))Gp(n[r])}}if(e)Bp(t);return t}function Wp(t){if(arguments.length){this.root=Yp(t)}else{this.root=Xp({marktype:"group",name:"root",role:"frame"});this.root.items=[new ld(this.root)]}}Wp.prototype={toJSON(t){return jp(this.root,t||0)},mark(t,e,n){e=e||this.root.items[0];const i=Xp(t,e);e.items[n]=i;if(i.zindex)i.group.zdirty=true;return i}};function Xp(t,e){const n={bounds:new ad,clip:!!t.clip,group:e,interactive:t.interactive===false?false:true,items:[],marktype:t.marktype,name:t.name||undefined,role:t.role||undefined,zindex:t.zindex||0};if(t.aria!=null){n.aria=t.aria}if(t.description){n.description=t.description}return n}function Hp(t,e,n){if(!t&&typeof document!=="undefined"&&document.createElement){t=document}return t?n?t.createElementNS(n,e):t.createElement(e):null}function Vp(t,e){e=e.toLowerCase();var n=t.childNodes,i=0,r=n.length;for(;i<r;++i)if(n[i].tagName.toLowerCase()===e){return n[i]}}function Kp(t,e,n,i){var r=t.childNodes[e],o;if(!r||r.tagName.toLowerCase()!==n.toLowerCase()){o=r||null;r=Hp(t.ownerDocument,n,i);t.insertBefore(r,o)}return r}function Zp(t,e){var n=t.childNodes,i=n.length;while(i>e)t.removeChild(n[--i]);return t}function Qp(t){return"mark-"+t.marktype+(t.role?" role-"+t.role:"")+(t.name?" "+t.name:"")}function Jp(t,e){const n=e.getBoundingClientRect();return[t.clientX-n.left-(e.clientLeft||0),t.clientY-n.top-(e.clientTop||0)]}function tm(t,e,n,i){var r=t&&t.mark,o,a;if(r&&(o=qp[r.marktype]).tip){a=Jp(e,n);a[0]-=i[0];a[1]-=i[1];while(t=t.mark.group){a[0]-=t.x||0;a[1]-=t.y||0}t=o.tip(r.items,a)}return t}function em(t,e){this._active=null;this._handlers={};this._loader=t||fn();this._tooltip=e||nm}function nm(t,e,n,i){t.element().setAttribute("title",i||"")}em.prototype={initialize(t,e,n){this._el=t;this._obj=n||null;return this.origin(e)},element(){return this._el},canvas(){return this._el&&this._el.firstChild},origin(t){if(arguments.length){this._origin=t||[0,0];return this}else{return this._origin.slice()}},scene(t){if(!arguments.length)return this._scene;this._scene=t;return this},on(){},off(){},_handlerIndex(t,e,n){for(let i=t?t.length:0;--i>=0;){if(t[i].type===e&&(!n||t[i].handler===n)){return i}}return-1},handlers(t){const e=this._handlers,n=[];if(t){n.push(...e[this.eventName(t)])}else{for(const t in e){n.push(...e[t])}}return n},eventName(t){const e=t.indexOf(".");return e<0?t:t.slice(0,e)},handleHref(t,e,n){this._loader.sanitize(n,{context:"href"}).then((e=>{const n=new MouseEvent(t.type,t),i=Hp(null,"a");for(const t in e)i.setAttribute(t,e[t]);i.dispatchEvent(n)})).catch((()=>{}))},handleTooltip(t,e,n){if(e&&e.tooltip!=null){e=tm(e,t,this.canvas(),this._origin);const i=n&&e&&e.tooltip||null;this._tooltip.call(this._obj,this,t,e,i)}},getItemBoundingClientRect(t){const e=this.canvas();if(!e)return;const n=e.getBoundingClientRect(),i=this._origin,r=t.bounds,o=r.width(),a=r.height();let s=r.x1+i[0]+n.left,l=r.y1+i[1]+n.top;while(t.mark&&(t=t.mark.group)){s+=t.x||0;l+=t.y||0}return{x:s,y:l,width:o,height:a,left:s,top:l,right:s+o,bottom:l+a}}};function im(t){this._el=null;this._bgcolor=null;this._loader=new ud(t)}im.prototype={initialize(t,e,n,i,r){this._el=t;return this.resize(e,n,i,r)},element(){return this._el},canvas(){return this._el&&this._el.firstChild},background(t){if(arguments.length===0)return this._bgcolor;this._bgcolor=t;return this},resize(t,e,n,i){this._width=t;this._height=e;this._origin=n||[0,0];this._scale=i||1;return this},dirty(){},render(t){const e=this;e._call=function(){e._render(t)};e._call();e._call=null;return e},_render(){},renderAsync(t){const e=this.render(t);return this._ready?this._ready.then((()=>e)):Promise.resolve(e)},_load(t,e){var n=this,i=n._loader[t](e);if(!n._ready){const t=n._call;n._ready=n._loader.ready().then((e=>{if(e)t();n._ready=null}))}return i},sanitizeURL(t){return this._load("sanitizeURL",t)},loadImage(t){return this._load("loadImage",t)}};const rm="keydown";const om="keypress";const am="keyup";const sm="dragenter";const lm="dragleave";const um="dragover";const cm="mousedown";const fm="mouseup";const dm="mousemove";const hm="mouseout";const pm="mouseover";const mm="click";const gm="dblclick";const ym="wheel";const vm="mousewheel";const bm="touchstart";const xm="touchmove";const _m="touchend";const wm=[rm,om,am,sm,lm,um,cm,fm,dm,hm,pm,mm,gm,ym,vm,bm,xm,_m];const km=dm;const Mm=hm;const Sm=mm;function Em(t,e){em.call(this,t,e);this._down=null;this._touch=null;this._first=true;this._events={}}const zm=t=>t===bm||t===xm||t===_m?[bm,xm,_m]:[t];function Am(t,e){zm(e).forEach((e=>$m(t,e)))}function $m(t,e){const n=t.canvas();if(n&&!t._events[e]){t._events[e]=1;n.addEventListener(e,t[e]?n=>t[e](n):n=>t.fire(e,n))}}function Om(t,e,n){return function(i){const r=this._active,o=this.pickEvent(i);if(o===r){this.fire(t,i)}else{if(!r||!r.exit){this.fire(n,i)}this._active=o;this.fire(e,i);this.fire(t,i)}}}function Rm(t){return function(e){this.fire(t,e);this._active=null}}(0,p.B)(Em,em,{initialize(t,e,n){this._canvas=t&&Vp(t,"canvas");[mm,cm,dm,hm,lm].forEach((t=>Am(this,t)));return em.prototype.initialize.call(this,t,e,n)},canvas(){return this._canvas},context(){return this._canvas.getContext("2d")},events:wm,DOMMouseScroll(t){this.fire(vm,t)},mousemove:Om(dm,pm,hm),dragover:Om(um,sm,lm),mouseout:Rm(hm),dragleave:Rm(lm),mousedown(t){this._down=this._active;this.fire(cm,t)},click(t){if(this._down===this._active){this.fire(mm,t);this._down=null}},touchstart(t){this._touch=this.pickEvent(t.changedTouches[0]);if(this._first){this._active=this._touch;this._first=false}this.fire(bm,t,true)},touchmove(t){this.fire(xm,t,true)},touchend(t){this.fire(_m,t,true);this._touch=null},fire(t,e,n){const i=n?this._touch:this._active,r=this._handlers[t];e.vegaType=t;if(t===Sm&&i&&i.href){this.handleHref(e,i,i.href)}else if(t===km||t===Mm){this.handleTooltip(e,i,t!==Mm)}if(r){for(let t=0,n=r.length;t<n;++t){r[t].handler.call(this._obj,e,i)}}},on(t,e){const n=this.eventName(t),i=this._handlers,r=this._handlerIndex(i[n],t,e);if(r<0){Am(this,t);(i[n]||(i[n]=[])).push({type:t,handler:e})}return this},off(t,e){const n=this.eventName(t),i=this._handlers[n],r=this._handlerIndex(i,t,e);if(r>=0){i.splice(r,1)}return this},pickEvent(t){const e=Jp(t,this._canvas),n=this._origin;return this.pick(this._scene,e[0],e[1],e[0]-n[0],e[1]-n[1])},pick(t,e,n,i,r){const o=this.context(),a=qp[t.marktype];return a.pick.call(this,o,t,e,n,i,r)}});function Dm(){return typeof window!=="undefined"?window.devicePixelRatio||1:1}var Tm=Dm();function Nm(t,e,n,i,r,o){const a=typeof HTMLElement!=="undefined"&&t instanceof HTMLElement&&t.parentNode!=null,s=t.getContext("2d"),l=a?Tm:r;t.width=e*l;t.height=n*l;for(const u in o){s[u]=o[u]}if(a&&l!==1){t.style.width=e+"px";t.style.height=n+"px"}s.pixelRatio=l;s.setTransform(l,0,0,l,l*i[0],l*i[1]);return t}function Cm(t){im.call(this,t);this._options={};this._redraw=false;this._dirty=new ad;this._tempb=new ad}const Lm=im.prototype;const Pm=(t,e,n)=>(new ad).set(0,0,e,n).translate(-t[0],-t[1]);function qm(t,e,n){e.expand(1).round();if(t.pixelRatio%1){e.scale(t.pixelRatio).round().scale(1/t.pixelRatio)}e.translate(-(n[0]%1),-(n[1]%1));t.beginPath();t.rect(e.x1,e.y1,e.width(),e.height());t.clip();return e}(0,p.B)(Cm,im,{initialize(t,e,n,i,r,o){this._options=o||{};this._canvas=this._options.externalContext?null:Ks(1,1,this._options.type);if(t&&this._canvas){Zp(t,0).appendChild(this._canvas);this._canvas.setAttribute("class","marks")}return Lm.initialize.call(this,t,e,n,i,r)},resize(t,e,n,i){Lm.resize.call(this,t,e,n,i);if(this._canvas){Nm(this._canvas,this._width,this._height,this._origin,this._scale,this._options.context)}else{const t=this._options.externalContext;if(!t)(0,p.z3)("CanvasRenderer is missing a valid canvas or context");t.scale(this._scale,this._scale);t.translate(this._origin[0],this._origin[1])}this._redraw=true;return this},canvas(){return this._canvas},context(){return this._options.externalContext||(this._canvas?this._canvas.getContext("2d"):null)},dirty(t){const e=this._tempb.clear().union(t.bounds);let n=t.mark.group;while(n){e.translate(n.x||0,n.y||0);n=n.mark.group}this._dirty.union(e)},_render(t){const e=this.context(),n=this._origin,i=this._width,r=this._height,o=this._dirty,a=Pm(n,i,r);e.save();const s=this._redraw||o.empty()?(this._redraw=false,a.expand(1)):qm(e,a.intersect(o),n);this.clear(-n[0],-n[1],i,r);this.draw(e,t,s);e.restore();o.clear();return this},draw(t,e,n){const i=qp[e.marktype];if(e.clip)xh(t,e);i.draw.call(this,t,e,n);if(e.clip)t.restore()},clear(t,e,n,i){const r=this._options,o=this.context();if(r.type!=="pdf"&&!r.externalContext){o.clearRect(t,e,n,i)}if(this._bgcolor!=null){o.fillStyle=this._bgcolor;o.fillRect(t,e,n,i)}}});function Fm(t,e){em.call(this,t,e);const n=this;n._hrefHandler=Im(n,((t,e)=>{if(e&&e.href)n.handleHref(t,e,e.href)}));n._tooltipHandler=Im(n,((t,e)=>{n.handleTooltip(t,e,t.type!==Mm)}))}const Im=(t,e)=>n=>{let i=n.target.__data__;i=Array.isArray(i)?i[0]:i;n.vegaType=n.type;e.call(t._obj,n,i)};(0,p.B)(Fm,em,{initialize(t,e,n){let i=this._svg;if(i){i.removeEventListener(Sm,this._hrefHandler);i.removeEventListener(km,this._tooltipHandler);i.removeEventListener(Mm,this._tooltipHandler)}this._svg=i=t&&Vp(t,"svg");if(i){i.addEventListener(Sm,this._hrefHandler);i.addEventListener(km,this._tooltipHandler);i.addEventListener(Mm,this._tooltipHandler)}return em.prototype.initialize.call(this,t,e,n)},canvas(){return this._svg},on(t,e){const n=this.eventName(t),i=this._handlers,r=this._handlerIndex(i[n],t,e);if(r<0){const r={type:t,handler:e,listener:Im(this,e)};(i[n]||(i[n]=[])).push(r);if(this._svg){this._svg.addEventListener(n,r.listener)}}return this},off(t,e){const n=this.eventName(t),i=this._handlers[n],r=this._handlerIndex(i,t,e);if(r>=0){if(this._svg){this._svg.removeEventListener(n,i[r].listener)}i.splice(r,1)}return this}});const Bm="aria-hidden";const Um="aria-label";const jm="role";const Ym="aria-roledescription";const Gm="graphics-object";const Wm="graphics-symbol";const Xm=(t,e,n)=>({[jm]:t,[Ym]:e,[Um]:n||undefined});const Hm=(0,p.M1)(["axis-domain","axis-grid","axis-label","axis-tick","axis-title","legend-band","legend-entry","legend-gradient","legend-label","legend-title","legend-symbol","title"]);const Vm={axis:{desc:"axis",caption:ng},legend:{desc:"legend",caption:ig},"title-text":{desc:"title",caption:t=>`Title text '${eg(t)}'`},"title-subtitle":{desc:"subtitle",caption:t=>`Subtitle text '${eg(t)}'`}};const Km={ariaRole:jm,ariaRoleDescription:Ym,description:Um};function Zm(t,e){const n=e.aria===false;t(Bm,n||undefined);if(n||e.description==null){for(const e in Km){t(Km[e],undefined)}}else{const n=e.mark.marktype;t(Um,e.description);t(jm,e.ariaRole||(n==="group"?Gm:Wm));t(Ym,e.ariaRoleDescription||`${n} mark`)}}function Qm(t){return t.aria===false?{[Bm]:true}:Hm[t.role]?null:Vm[t.role]?tg(t,Vm[t.role]):Jm(t)}function Jm(t){const e=t.marktype;const n=e==="group"||e==="text"||t.items.some((t=>t.description!=null&&t.aria!==false));return Xm(n?Gm:Wm,`${e} mark container`,t.description)}function tg(t,e){try{const n=t.items[0],i=e.caption||(()=>"");return Xm(e.role||Wm,e.desc,n.description||i(n))}catch(n){return null}}function eg(t){return(0,p.YO)(t.text).join(" ")}function ng(t){const e=t.datum,n=t.orient,i=e.title?rg(t):null,r=t.context,o=r.scales[e.scale].value,a=r.dataflow.locale(),s=o.type,l=n==="left"||n==="right"?"Y":"X";return`${l}-axis`+(i?` titled '${i}'`:"")+` for a ${Pu(s)?"discrete":s} scale`+` with ${$c(a,o,t)}`}function ig(t){const e=t.datum,n=e.title?rg(t):null,i=`${e.type||""} legend`.trim(),r=e.scales,o=Object.keys(r),a=t.context,s=a.scales[r[o[0]]].value,l=a.dataflow.locale();return ag(i)+(n?` titled '${n}'`:"")+` for ${og(o)}`+` with ${$c(l,s,t)}`}function rg(t){try{return(0,p.YO)((0,p.se)(t.items).items[0].text).join(" ")}catch(e){return null}}function og(t){t=t.map((t=>t+(t==="fill"||t==="stroke"?" color":"")));return t.length<2?t[0]:t.slice(0,-1).join(", ")+" and "+(0,p.se)(t)}function ag(t){return t.length?t[0].toUpperCase()+t.slice(1):t}const sg=t=>(t+"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");const lg=t=>sg(t).replace(/"/g,""").replace(/\t/g,"	").replace(/\n/g,"
").replace(/\r/g,"
");function ug(){let t="",e="",n="";const i=[],r=()=>e=n="",o=o=>{if(e){t+=`${e}>${n}`;r()}i.push(o)},a=(t,n)=>{if(n!=null)e+=` ${t}="${lg(n)}"`;return s},s={open(t){o(t);e="<"+t;for(var n=arguments.length,i=new Array(n>1?n-1:0),r=1;r<n;r++){i[r-1]=arguments[r]}for(const e of i){for(const t in e)a(t,e[t])}return s},close(){const o=i.pop();if(e){t+=e+(n?`>${n}</${o}>`:"/>")}else{t+=`</${o}>`}r();return s},attr:a,text:t=>(n+=sg(t),s),toString:()=>t};return s}const cg=t=>fg(ug(),t)+"";function fg(t,e){t.open(e.tagName);if(e.hasAttributes()){const n=e.attributes,i=n.length;for(let e=0;e<i;++e){t.attr(n[e].name,n[e].value)}}if(e.hasChildNodes()){const n=e.childNodes;for(const e of n){e.nodeType===3?t.text(e.nodeValue):fg(t,e)}}return t.close()}const dg={fill:"fill",fillOpacity:"fill-opacity",stroke:"stroke",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",strokeCap:"stroke-linecap",strokeJoin:"stroke-linejoin",strokeDash:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeMiterLimit:"stroke-miterlimit",opacity:"opacity"};const hg={blend:"mix-blend-mode"};const pg={fill:"none","stroke-miterlimit":10};const mg=0,gg="http://www.w3.org/2000/xmlns/",yg=Ph.xmlns;function vg(t){im.call(this,t);this._dirtyID=0;this._dirty=[];this._svg=null;this._root=null;this._defs=null}const bg=im.prototype;(0,p.B)(vg,im,{initialize(t,e,n,i,r){this._defs={};this._clearDefs();if(t){this._svg=Kp(t,0,"svg",yg);this._svg.setAttributeNS(gg,"xmlns",yg);this._svg.setAttributeNS(gg,"xmlns:xlink",Ph["xmlns:xlink"]);this._svg.setAttribute("version",Ph["version"]);this._svg.setAttribute("class","marks");Zp(t,1);this._root=Kp(this._svg,mg,"g",yg);Rg(this._root,pg);Zp(this._svg,mg+1)}this.background(this._bgcolor);return bg.initialize.call(this,t,e,n,i,r)},background(t){if(arguments.length&&this._svg){this._svg.style.setProperty("background-color",t)}return bg.background.apply(this,arguments)},resize(t,e,n,i){bg.resize.call(this,t,e,n,i);if(this._svg){Rg(this._svg,{width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`});this._root.setAttribute("transform",`translate(${this._origin})`)}this._dirty=[];return this},canvas(){return this._svg},svg(){const t=this._svg,e=this._bgcolor;if(!t)return null;let n;if(e){t.removeAttribute("style");n=Kp(t,mg,"rect",yg);Rg(n,{width:this._width,height:this._height,fill:e})}const i=cg(t);if(e){t.removeChild(n);this._svg.style.setProperty("background-color",e)}return i},_render(t){if(this._dirtyCheck()){if(this._dirtyAll)this._clearDefs();this.mark(this._root,t);Zp(this._root,1)}this.defs();this._dirty=[];++this._dirtyID;return this},dirty(t){if(t.dirty!==this._dirtyID){t.dirty=this._dirtyID;this._dirty.push(t)}},isDirty(t){return this._dirtyAll||!t._svg||!t._svg.ownerSVGElement||t.dirty===this._dirtyID},_dirtyCheck(){this._dirtyAll=true;const t=this._dirty;if(!t.length||!this._dirtyID)return true;const e=++this._dirtyID;let n,i,r,o,a,s,l;for(a=0,s=t.length;a<s;++a){n=t[a];i=n.mark;if(i.marktype!==r){r=i.marktype;o=qp[r]}if(i.zdirty&&i.dirty!==e){this._dirtyAll=false;xg(n,e);i.items.forEach((t=>{t.dirty=e}))}if(i.zdirty)continue;if(n.exit){if(o.nested&&i.items.length){l=i.items[0];if(l._svg)this._update(o,l._svg,l)}else if(n._svg){l=n._svg.parentNode;if(l)l.removeChild(n._svg)}n._svg=null;continue}n=o.nested?i.items[0]:n;if(n._update===e)continue;if(!n._svg||!n._svg.ownerSVGElement){this._dirtyAll=false;xg(n,e)}else{this._update(o,n._svg,n)}n._update=e}return!this._dirtyAll},mark(t,e,n){if(!this.isDirty(e)){return e._svg}const i=this._svg,r=qp[e.marktype],o=e.interactive===false?"none":null,a=r.tag==="g";const s=Mg(e,t,n,"g",i);s.setAttribute("class",Qp(e));const l=Qm(e);for(const d in l)Dg(s,d,l[d]);if(!a){Dg(s,"pointer-events",o)}Dg(s,"clip-path",e.clip?od(this,e,e.group):null);let u=null,c=0;const f=t=>{const e=this.isDirty(t),n=Mg(t,s,u,r.tag,i);if(e){this._update(r,n,t);if(a)kg(this,n,t)}u=n;++c};if(r.nested){if(e.items.length)f(e.items[0])}else{Jd(e,f)}Zp(s,c);return s},_update(t,e,n){Eg=e;zg=e.__values__;Zm($g,n);t.attr($g,n,this);const i=Ag[t.type];if(i)i.call(this,t,e,n);if(Eg)this.style(Eg,n)},style(t,e){if(e==null)return;for(const n in dg){let i=n==="font"?Sp(e):e[n];if(i===zg[n])continue;const r=dg[n];if(i==null){t.removeAttribute(r)}else{if(Tc(i)){i=Nc(i,this._defs.gradient,Ng())}t.setAttribute(r,i+"")}zg[n]=i}for(const n in hg){Og(t,hg[n],e[n])}},defs(){const t=this._svg,e=this._defs;let n=e.el,i=0;for(const r in e.gradient){if(!n)e.el=n=Kp(t,mg+1,"defs",yg);i=_g(n,e.gradient[r],i)}for(const r in e.clipping){if(!n)e.el=n=Kp(t,mg+1,"defs",yg);i=wg(n,e.clipping[r],i)}if(n){i===0?(t.removeChild(n),e.el=null):Zp(n,i)}},_clearDefs(){const t=this._defs;t.gradient={};t.clipping={}}});function xg(t,e){for(;t&&t.dirty!==e;t=t.mark.group){t.dirty=e;if(t.mark&&t.mark.dirty!==e){t.mark.dirty=e}else return}}function _g(t,e,n){let i,r,o;if(e.gradient==="radial"){let i=Kp(t,n++,"pattern",yg);Rg(i,{id:Dc+e.id,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"});i=Kp(i,0,"rect",yg);Rg(i,{width:1,height:1,fill:`url(${Ng()}#${e.id})`});t=Kp(t,n++,"radialGradient",yg);Rg(t,{id:e.id,fx:e.x1,fy:e.y1,fr:e.r1,cx:e.x2,cy:e.y2,r:e.r2})}else{t=Kp(t,n++,"linearGradient",yg);Rg(t,{id:e.id,x1:e.x1,x2:e.x2,y1:e.y1,y2:e.y2})}for(i=0,r=e.stops.length;i<r;++i){o=Kp(t,i,"stop",yg);o.setAttribute("offset",e.stops[i].offset);o.setAttribute("stop-color",e.stops[i].color)}Zp(t,i);return n}function wg(t,e,n){let i;t=Kp(t,n,"clipPath",yg);t.setAttribute("id",e.id);if(e.path){i=Kp(t,0,"path",yg);i.setAttribute("d",e.path)}else{i=Kp(t,0,"rect",yg);Rg(i,{x:0,y:0,width:e.width,height:e.height})}Zp(t,1);return n+1}function kg(t,e,n){e=e.lastChild.previousSibling;let i,r=0;Jd(n,(n=>{i=t.mark(e,n,i);++r}));Zp(e,1+r)}function Mg(t,e,n,i,r){let o=t._svg,a;if(!o){a=e.ownerDocument;o=Hp(a,i,yg);t._svg=o;if(t.mark){o.__data__=t;o.__values__={fill:"default"};if(i==="g"){const e=Hp(a,"path",yg);o.appendChild(e);e.__data__=t;const n=Hp(a,"g",yg);o.appendChild(n);n.__data__=t;const i=Hp(a,"path",yg);o.appendChild(i);i.__data__=t;i.__values__={fill:"default"}}}}if(o.ownerSVGElement!==r||Sg(o,n)){e.insertBefore(o,n?n.nextSibling:e.firstChild)}return o}function Sg(t,e){return t.parentNode&&t.parentNode.childNodes.length>1&&t.previousSibling!=e}let Eg=null,zg=null;const Ag={group(t,e,n){const i=Eg=e.childNodes[2];zg=i.__values__;t.foreground($g,n,this);zg=e.__values__;Eg=e.childNodes[1];t.content($g,n,this);const r=Eg=e.childNodes[0];t.background($g,n,this);const o=n.mark.interactive===false?"none":null;if(o!==zg.events){Dg(i,"pointer-events",o);Dg(r,"pointer-events",o);zg.events=o}if(n.strokeForeground&&n.stroke){const t=n.fill;Dg(i,"display",null);this.style(r,n);Dg(r,"stroke",null);if(t)n.fill=null;zg=i.__values__;this.style(i,n);if(t)n.fill=t;Eg=null}else{Dg(i,"display","none")}},image(t,e,n){if(n.smooth===false){Og(e,"image-rendering","optimizeSpeed");Og(e,"image-rendering","pixelated")}else{Og(e,"image-rendering",null)}},text(t,e,n){const i=xp(n);let r,o,a,s;if((0,p.cy)(i)){o=i.map((t=>wp(n,t)));r=o.join("\n");if(r!==zg.text){Zp(e,0);a=e.ownerDocument;s=vp(n);o.forEach(((t,i)=>{const r=Hp(a,"tspan",yg);r.__data__=n;r.textContent=t;if(i){r.setAttribute("x",0);r.setAttribute("dy",s)}e.appendChild(r)}));zg.text=r}}else{o=wp(n,i);if(o!==zg.text){e.textContent=o;zg.text=o}}Dg(e,"font-family",Sp(n));Dg(e,"font-size",yp(n)+"px");Dg(e,"font-style",n.fontStyle);Dg(e,"font-variant",n.fontVariant);Dg(e,"font-weight",n.fontWeight)}};function $g(t,e,n){if(e===zg[t])return;if(n){Tg(Eg,t,e,n)}else{Dg(Eg,t,e)}zg[t]=e}function Og(t,e,n){if(n!==zg[e]){if(n==null){t.style.removeProperty(e)}else{t.style.setProperty(e,n+"")}zg[e]=n}}function Rg(t,e){for(const n in e){Dg(t,n,e[n])}}function Dg(t,e,n){if(n!=null){t.setAttribute(e,n)}else{t.removeAttribute(e)}}function Tg(t,e,n,i){if(n!=null){t.setAttributeNS(i,e,n)}else{t.removeAttributeNS(i,e)}}function Ng(){let t;return typeof window==="undefined"?"":(t=window.location).hash?t.href.slice(0,-t.hash.length):t.href}function Cg(t){im.call(this,t);this._text=null;this._defs={gradient:{},clipping:{}}}(0,p.B)(Cg,im,{svg(){return this._text},_render(t){const e=ug();e.open("svg",(0,p.X$)({},Ph,{class:"marks",width:this._width*this._scale,height:this._height*this._scale,viewBox:`0 0 ${this._width} ${this._height}`}));const n=this._bgcolor;if(n&&n!=="transparent"&&n!=="none"){e.open("rect",{width:this._width,height:this._height,fill:n}).close()}e.open("g",pg,{transform:"translate("+this._origin+")"});this.mark(e,t);e.close();this.defs(e);this._text=e.close()+"";return this},mark(t,e){const n=qp[e.marktype],i=n.tag,r=[Zm,n.attr];t.open("g",{class:Qp(e),"clip-path":e.clip?od(this,e,e.group):null},Qm(e),{"pointer-events":i!=="g"&&e.interactive===false?"none":null});const o=o=>{const a=this.href(o);if(a)t.open("a",a);t.open(i,this.attr(e,o,r,i!=="g"?i:null));if(i==="text"){const e=xp(o);if((0,p.cy)(e)){const n={x:0,dy:vp(o)};for(let i=0;i<e.length;++i){t.open("tspan",i?n:null).text(wp(o,e[i])).close()}}else{t.text(wp(o,e))}}else if(i==="g"){const i=o.strokeForeground,r=o.fill,a=o.stroke;if(i&&a){o.stroke=null}t.open("path",this.attr(e,o,n.background,"bgrect")).close();t.open("g",this.attr(e,o,n.content));Jd(o,(e=>this.mark(t,e)));t.close();if(i&&a){if(r)o.fill=null;o.stroke=a;t.open("path",this.attr(e,o,n.foreground,"bgrect")).close();if(r)o.fill=r}else{t.open("path",this.attr(e,o,n.foreground,"bgfore")).close()}}t.close();if(a)t.close()};if(n.nested){if(e.items&&e.items.length)o(e.items[0])}else{Jd(e,o)}return t.close()},href(t){const e=t.href;let n;if(e){if(n=this._hrefs&&this._hrefs[e]){return n}else{this.sanitizeURL(e).then((t=>{t["xlink:href"]=t.href;t.href=null;(this._hrefs||(this._hrefs={}))[e]=t}))}}return null},attr(t,e,n,i){const r={},o=(t,e,n,i)=>{r[i||t]=e};if(Array.isArray(n)){n.forEach((t=>t(o,e,this)))}else{n(o,e,this)}if(i){Lg(r,e,t,i,this._defs)}return r},defs(t){const e=this._defs.gradient,n=this._defs.clipping,i=Object.keys(e).length+Object.keys(n).length;if(i===0)return;t.open("defs");for(const r in e){const n=e[r],i=n.stops;if(n.gradient==="radial"){t.open("pattern",{id:Dc+r,viewBox:"0,0,1,1",width:"100%",height:"100%",preserveAspectRatio:"xMidYMid slice"});t.open("rect",{width:"1",height:"1",fill:"url(#"+r+")"}).close();t.close();t.open("radialGradient",{id:r,fx:n.x1,fy:n.y1,fr:n.r1,cx:n.x2,cy:n.y2,r:n.r2})}else{t.open("linearGradient",{id:r,x1:n.x1,x2:n.x2,y1:n.y1,y2:n.y2})}for(let e=0;e<i.length;++e){t.open("stop",{offset:i[e].offset,"stop-color":i[e].color}).close()}t.close()}for(const r in n){const e=n[r];t.open("clipPath",{id:r});if(e.path){t.open("path",{d:e.path}).close()}else{t.open("rect",{x:0,y:0,width:e.width,height:e.height}).close()}t.close()}t.close()}});function Lg(t,e,n,i,r){let o;if(e==null)return t;if(i==="bgrect"&&n.interactive===false){t["pointer-events"]="none"}if(i==="bgfore"){if(n.interactive===false){t["pointer-events"]="none"}t.display="none";if(e.fill!==null)return t}if(i==="image"&&e.smooth===false){o=["image-rendering: optimizeSpeed;","image-rendering: pixelated;"]}if(i==="text"){t["font-family"]=Sp(e);t["font-size"]=yp(e)+"px";t["font-style"]=e.fontStyle;t["font-variant"]=e.fontVariant;t["font-weight"]=e.fontWeight}for(const a in dg){let n=e[a];const i=dg[a];if(n==="transparent"&&(i==="fill"||i==="stroke"));else if(n!=null){if(Tc(n)){n=Nc(n,r.gradient,"")}t[i]=n}}for(const a in hg){const t=e[a];if(t!=null){o=o||[];o.push(`${hg[a]}: ${t};`)}}if(o){t.style=o.join(" ")}return t}const Pg="canvas";const qg="png";const Fg="svg";const Ig="none";const Bg={Canvas:Pg,PNG:qg,SVG:Fg,None:Ig};const Ug={};Ug[Pg]=Ug[qg]={renderer:Cm,headless:Cm,handler:Em};Ug[Fg]={renderer:vg,headless:Cg,handler:Fm};Ug[Ig]={};function jg(t,e){t=String(t||"").toLowerCase();if(arguments.length>1){Ug[t]=e;return this}else{return Ug[t]}}function Yg(t,e,n){const i=[],r=(new ad).union(e),o=t.marktype;return o?Gg(t,r,n,i):o==="group"?Xg(t,r,n,i):(0,p.z3)("Intersect scene must be mark node or group item.")}function Gg(t,e,n,i){if(Wg(t,e,n)){const r=t.items,o=t.marktype,a=r.length;let s=0;if(o==="group"){for(;s<a;++s){Xg(r[s],e,n,i)}}else{for(const t=qp[o].isect;s<a;++s){const n=r[s];if(Hg(n,e,t))i.push(n)}}}return i}function Wg(t,e,n){return t.bounds&&e.intersects(t.bounds)&&(t.marktype==="group"||t.interactive!==false&&(!n||n(t)))}function Xg(t,e,n,i){if(n&&n(t.mark)&&Hg(t,e,qp.group.isect)){i.push(t)}const r=t.items,o=r&&r.length;if(o){const a=t.x||0,s=t.y||0;e.translate(-a,-s);for(let t=0;t<o;++t){Gg(r[t],e,n,i)}e.translate(a,s)}return i}function Hg(t,e,n){const i=t.bounds;return e.encloses(i)||e.intersects(i)&&n(t,e)}const Vg=new ad;function Kg(t){const e=t.clip;if((0,p.Tn)(e)){e(Rd(Vg.clear()))}else if(e){Vg.set(0,0,t.group.width,t.group.height)}else return;t.bounds.intersect(Vg)}const Zg=1e-9;function Qg(t,e,n){return t===e?true:n==="path"?Jg(t,e):t instanceof Date&&e instanceof Date?+t===+e:(0,p.Et)(t)&&(0,p.Et)(e)?Math.abs(t-e)<=Zg:!t||!e||!(0,p.Gv)(t)&&!(0,p.Gv)(e)?t==e:ty(t,e)}function Jg(t,e){return Qg(Yc(t),Yc(e))}function ty(t,e){var n=Object.keys(t),i=Object.keys(e),r,o;if(n.length!==i.length)return false;n.sort();i.sort();for(o=n.length-1;o>=0;o--){if(n[o]!=i[o])return false}for(o=n.length-1;o>=0;o--){r=n[o];if(!Qg(t[r],e[r],r))return false}return typeof t===typeof e}function ey(){rd();Rc()}const ny="top";const iy="left";const ry="right";const oy="bottom";const ay="top-left";const sy="top-right";const ly="bottom-left";const uy="bottom-right";const cy="start";const fy="middle";const dy="end";const hy="x";const py="y";const my="group";const gy="axis";const yy="title";const vy="frame";const by="scope";const xy="legend";const _y="row-header";const wy="row-footer";const ky="row-title";const My="column-header";const Sy="column-footer";const Ey="column-title";const zy="padding";const Ay="symbol";const $y="fit";const Oy="fit-x";const Ry="fit-y";const Dy="pad";const Ty="none";const Ny="all";const Cy="each";const Ly="flush";const Py="column";const qy="row";function Fy(t){Di.call(this,null,t)}(0,p.B)(Fy,Di,{transform(t,e){const n=e.dataflow,i=t.mark,r=i.marktype,o=qp[r],a=o.bound;let s=i.bounds,l;if(o.nested){if(i.items.length)n.dirty(i.items[0]);s=Iy(i,a);i.items.forEach((t=>{t.bounds.clear().union(s)}))}else if(r===my||t.modified()){e.visit(e.MOD,(t=>n.dirty(t)));s.clear();i.items.forEach((t=>s.union(Iy(t,a))));switch(i.role){case gy:case xy:case yy:e.reflow()}}else{l=e.changed(e.REM);e.visit(e.ADD,(t=>{s.union(Iy(t,a))}));e.visit(e.MOD,(t=>{l=l||s.alignsWith(t.bounds);n.dirty(t);s.union(Iy(t,a))}));if(l){s.clear();i.items.forEach((t=>s.union(t.bounds)))}}Kg(i);return e.modifies("bounds")}});function Iy(t,e,n){return e(t.bounds.clear(),t,n)}const By=":vega_identifier:";function Uy(t){Di.call(this,0,t)}Uy.Definition={type:"Identifier",metadata:{modifies:true},params:[{name:"as",type:"string",required:true}]};(0,p.B)(Uy,Di,{transform(t,e){const n=jy(e.dataflow),i=t.as;let r=n.value;e.visit(e.ADD,(t=>t[i]=t[i]||++r));n.set(this.value=r);return e}});function jy(t){return t._signals[By]||(t._signals[By]=t.add(0))}function Yy(t){Di.call(this,null,t)}(0,p.B)(Yy,Di,{transform(t,e){let n=this.value;if(!n){n=e.dataflow.scenegraph().mark(t.markdef,Gy(t),t.index);n.group.context=t.context;if(!t.context.group)t.context.group=n.group;n.source=this.source;n.clip=t.clip;n.interactive=t.interactive;this.value=n}const i=n.marktype===my?ld:sd;e.visit(e.ADD,(t=>i.call(t,n)));if(t.modified("clip")||t.modified("interactive")){n.clip=t.clip;n.interactive=!!t.interactive;n.zdirty=true;e.reflow()}n.items=e.source;return e}});function Gy(t){const e=t.groups,n=t.parent;return e&&e.size===1?e.get(Object.keys(e.object)[0]):e&&n?e.lookup(n):null}function Wy(t){Di.call(this,null,t)}const Xy={parity:t=>t.filter(((t,e)=>e%2?t.opacity=0:1)),greedy:(t,e)=>{let n;return t.filter(((t,i)=>!i||!Hy(n.bounds,t.bounds,e)?(n=t,1):t.opacity=0))}};const Hy=(t,e,n)=>n>Math.max(e.x1-t.x2,t.x1-e.x2,e.y1-t.y2,t.y1-e.y2);const Vy=(t,e)=>{for(var n=1,i=t.length,r=t[0].bounds,o;n<i;r=o,++n){if(Hy(r,o=t[n].bounds,e))return true}};const Ky=t=>{const e=t.bounds;return e.width()>1&&e.height()>1};const Zy=(t,e,n)=>{var i=t.range(),r=new ad;if(e===ny||e===oy){r.set(i[0],-Infinity,i[1],+Infinity)}else{r.set(-Infinity,i[0],+Infinity,i[1])}r.expand(n||1);return t=>r.encloses(t.bounds)};const Qy=t=>{t.forEach((t=>t.opacity=1));return t};const Jy=(t,e)=>t.reflow(e.modified()).modifies("opacity");(0,p.B)(Wy,Di,{transform(t,e){const n=Xy[t.method]||Xy.parity,i=t.separation||0;let r=e.materialize(e.SOURCE).source,o,a;if(!r||!r.length)return;if(!t.method){if(t.modified("method")){Qy(r);e=Jy(e,t)}return e}r=r.filter(Ky);if(!r.length)return;if(t.sort){r=r.slice().sort(t.sort)}o=Qy(r);e=Jy(e,t);if(o.length>=3&&Vy(o,i)){do{o=n(o,i)}while(o.length>=3&&Vy(o,i));if(o.length<3&&!(0,p.se)(r).opacity){if(o.length>1)(0,p.se)(o).opacity=0;(0,p.se)(r).opacity=1}}if(t.boundScale&&t.boundTolerance>=0){a=Zy(t.boundScale,t.boundOrient,+t.boundTolerance);r.forEach((t=>{if(!a(t))t.opacity=0}))}const s=o[0].mark.bounds.clear();r.forEach((t=>{if(t.opacity)s.union(t.bounds)}));return e}});function tv(t){Di.call(this,null,t)}(0,p.B)(tv,Di,{transform(t,e){const n=e.dataflow;e.visit(e.ALL,(t=>n.dirty(t)));if(e.fields&&e.fields["zindex"]){const t=e.source&&e.source[0];if(t)t.mark.zdirty=true}}});const ev=new ad;function nv(t,e,n){return t[e]===n?0:(t[e]=n,1)}function iv(t){var e=t.items[0].orient;return e===iy||e===ry}function rv(t){let e=+t.grid;return[t.ticks?e++:-1,t.labels?e++:-1,e+ +t.domain]}function ov(t,e,n,i){var r=e.items[0],o=r.datum,a=r.translate!=null?r.translate:.5,s=r.orient,l=rv(o),u=r.range,c=r.offset,f=r.position,d=r.minExtent,h=r.maxExtent,p=o.title&&r.items[l[2]].items[0],m=r.titlePadding,g=r.bounds,y=p&&_p(p),v=0,b=0,x,_;ev.clear().union(g);g.clear();if((x=l[0])>-1)g.union(r.items[x].bounds);if((x=l[1])>-1)g.union(r.items[x].bounds);switch(s){case ny:v=f||0;b=-c;_=Math.max(d,Math.min(h,-g.y1));g.add(0,-_).add(u,0);if(p)av(t,p,_,m,y,0,-1,g);break;case iy:v=-c;b=f||0;_=Math.max(d,Math.min(h,-g.x1));g.add(-_,0).add(0,u);if(p)av(t,p,_,m,y,1,-1,g);break;case ry:v=n+c;b=f||0;_=Math.max(d,Math.min(h,g.x2));g.add(0,0).add(_,u);if(p)av(t,p,_,m,y,1,1,g);break;case oy:v=f||0;b=i+c;_=Math.max(d,Math.min(h,g.y2));g.add(0,0).add(u,_);if(p)av(t,p,_,m,0,0,1,g);break;default:v=r.x;b=r.y}dd(g.translate(v,b),r);if(nv(r,"x",v+a)|nv(r,"y",b+a)){r.bounds=ev;t.dirty(r);r.bounds=g;t.dirty(r)}return r.mark.bounds.clear().union(g)}function av(t,e,n,i,r,o,a,s){const l=e.bounds;if(e.auto){const s=a*(n+r+i);let u=0,c=0;t.dirty(e);o?u=(e.x||0)-(e.x=s):c=(e.y||0)-(e.y=s);e.mark.bounds.clear().union(l.translate(-u,-c));t.dirty(e)}s.union(l)}const sv=(t,e)=>Math.floor(Math.min(t,e));const lv=(t,e)=>Math.ceil(Math.max(t,e));function uv(t){var e=t.items,n=e.length,i=0,r,o;const a={marks:[],rowheaders:[],rowfooters:[],colheaders:[],colfooters:[],rowtitle:null,coltitle:null};for(;i<n;++i){r=e[i];o=r.items;if(r.marktype===my){switch(r.role){case gy:case xy:case yy:break;case _y:a.rowheaders.push(...o);break;case wy:a.rowfooters.push(...o);break;case My:a.colheaders.push(...o);break;case Sy:a.colfooters.push(...o);break;case ky:a.rowtitle=o[0];break;case Ey:a.coltitle=o[0];break;default:a.marks.push(...o)}}}return a}function cv(t){return(new ad).set(0,0,t.width||0,t.height||0)}function fv(t){const e=t.bounds.clone();return e.empty()?e.set(0,0,0,0):e.translate(-(t.x||0),-(t.y||0))}function dv(t,e,n){const i=(0,p.Gv)(t)?t[e]:t;return i!=null?i:n!==undefined?n:0}function hv(t){return t<0?Math.ceil(-t):0}function pv(t,e,n){var i=!n.nodirty,r=n.bounds===Ly?cv:fv,o=ev.set(0,0,0,0),a=dv(n.align,Py),s=dv(n.align,qy),l=dv(n.padding,Py),u=dv(n.padding,qy),c=n.columns||e.length,f=c<=0?1:Math.ceil(e.length/c),d=e.length,h=Array(d),p=Array(c),m=0,g=Array(d),y=Array(f),v=0,b=Array(d),x=Array(d),_=Array(d),w,k,M,S,E,z,A,$,O,R,D;for(k=0;k<c;++k)p[k]=0;for(k=0;k<f;++k)y[k]=0;for(k=0;k<d;++k){z=e[k];E=_[k]=r(z);z.x=z.x||0;b[k]=0;z.y=z.y||0;x[k]=0;M=k%c;S=~~(k/c);m=Math.max(m,A=Math.ceil(E.x2));v=Math.max(v,$=Math.ceil(E.y2));p[M]=Math.max(p[M],A);y[S]=Math.max(y[S],$);h[k]=l+hv(E.x1);g[k]=u+hv(E.y1);if(i)t.dirty(e[k])}for(k=0;k<d;++k){if(k%c===0)h[k]=0;if(k<c)g[k]=0}if(a===Cy){for(M=1;M<c;++M){for(D=0,k=M;k<d;k+=c){if(D<h[k])D=h[k]}for(k=M;k<d;k+=c){h[k]=D+p[M-1]}}}else if(a===Ny){for(D=0,k=0;k<d;++k){if(k%c&&D<h[k])D=h[k]}for(k=0;k<d;++k){if(k%c)h[k]=D+m}}else{for(a=false,M=1;M<c;++M){for(k=M;k<d;k+=c){h[k]+=p[M-1]}}}if(s===Cy){for(S=1;S<f;++S){for(D=0,k=S*c,w=k+c;k<w;++k){if(D<g[k])D=g[k]}for(k=S*c;k<w;++k){g[k]=D+y[S-1]}}}else if(s===Ny){for(D=0,k=c;k<d;++k){if(D<g[k])D=g[k]}for(k=c;k<d;++k){g[k]=D+v}}else{for(s=false,S=1;S<f;++S){for(k=S*c,w=k+c;k<w;++k){g[k]+=y[S-1]}}}for(O=0,k=0;k<d;++k){O=h[k]+(k%c?O:0);b[k]+=O-e[k].x}for(M=0;M<c;++M){for(R=0,k=M;k<d;k+=c){R+=g[k];x[k]+=R-e[k].y}}if(a&&dv(n.center,Py)&&f>1){for(k=0;k<d;++k){E=a===Ny?m:p[k%c];O=E-_[k].x2-e[k].x-b[k];if(O>0)b[k]+=O/2}}if(s&&dv(n.center,qy)&&c!==1){for(k=0;k<d;++k){E=s===Ny?v:y[~~(k/c)];R=E-_[k].y2-e[k].y-x[k];if(R>0)x[k]+=R/2}}for(k=0;k<d;++k){o.union(_[k].translate(b[k],x[k]))}O=dv(n.anchor,hy);R=dv(n.anchor,py);switch(dv(n.anchor,Py)){case dy:O-=o.width();break;case fy:O-=o.width()/2}switch(dv(n.anchor,qy)){case dy:R-=o.height();break;case fy:R-=o.height()/2}O=Math.round(O);R=Math.round(R);o.clear();for(k=0;k<d;++k){e[k].mark.bounds.clear()}for(k=0;k<d;++k){z=e[k];z.x+=b[k]+=O;z.y+=x[k]+=R;o.union(z.mark.bounds.union(z.bounds.translate(b[k],x[k])));if(i)t.dirty(z)}return o}function mv(t,e,n){var i=uv(e),r=i.marks,o=n.bounds===Ly?gv:yv,a=n.offset,s=n.columns||r.length,l=s<=0?1:Math.ceil(r.length/s),u=l*s,c,f,d,h,p,m,g;const y=pv(t,r,n);if(y.empty())y.set(0,0,0,0);if(i.rowheaders){m=dv(n.headerBand,qy,null);c=vv(t,i.rowheaders,r,s,l,-dv(a,"rowHeader"),sv,0,o,"x1",0,s,1,m)}if(i.colheaders){m=dv(n.headerBand,Py,null);f=vv(t,i.colheaders,r,s,s,-dv(a,"columnHeader"),sv,1,o,"y1",0,1,s,m)}if(i.rowfooters){m=dv(n.footerBand,qy,null);d=vv(t,i.rowfooters,r,s,l,dv(a,"rowFooter"),lv,0,o,"x2",s-1,s,1,m)}if(i.colfooters){m=dv(n.footerBand,Py,null);h=vv(t,i.colfooters,r,s,s,dv(a,"columnFooter"),lv,1,o,"y2",u-s,1,s,m)}if(i.rowtitle){p=dv(n.titleAnchor,qy);g=dv(a,"rowTitle");g=p===dy?d+g:c-g;m=dv(n.titleBand,qy,.5);bv(t,i.rowtitle,g,0,y,m)}if(i.coltitle){p=dv(n.titleAnchor,Py);g=dv(a,"columnTitle");g=p===dy?h+g:f-g;m=dv(n.titleBand,Py,.5);bv(t,i.coltitle,g,1,y,m)}}function gv(t,e){return e==="x1"?t.x||0:e==="y1"?t.y||0:e==="x2"?(t.x||0)+(t.width||0):e==="y2"?(t.y||0)+(t.height||0):undefined}function yv(t,e){return t.bounds[e]}function vv(t,e,n,i,r,o,a,s,l,u,c,f,d,h){var p=n.length,m=0,g=0,y,v,b,x,_,w,k,M,S;if(!p)return m;for(y=c;y<p;y+=f){if(n[y])m=a(m,l(n[y],u))}if(!e.length)return m;if(e.length>r){t.warn("Grid headers exceed limit: "+r);e=e.slice(0,r)}m+=o;for(v=0,x=e.length;v<x;++v){t.dirty(e[v]);e[v].mark.bounds.clear()}for(y=c,v=0,x=e.length;v<x;++v,y+=f){w=e[v];_=w.mark.bounds;for(b=y;b>=0&&(k=n[b])==null;b-=d);if(s){M=h==null?k.x:Math.round(k.bounds.x1+h*k.bounds.width());S=m}else{M=m;S=h==null?k.y:Math.round(k.bounds.y1+h*k.bounds.height())}_.union(w.bounds.translate(M-(w.x||0),S-(w.y||0)));w.x=M;w.y=S;t.dirty(w);g=a(g,_[u])}return g}function bv(t,e,n,i,r,o){if(!e)return;t.dirty(e);var a=n,s=n;i?a=Math.round(r.x1+o*r.width()):s=Math.round(r.y1+o*r.height());e.bounds.translate(a-(e.x||0),s-(e.y||0));e.mark.bounds.clear().union(e.bounds);e.x=a;e.y=s;t.dirty(e)}function xv(t,e){const n=t[e]||{};return(e,i)=>n[e]!=null?n[e]:t[e]!=null?t[e]:i}function _v(t,e){let n=-Infinity;t.forEach((t=>{if(t.offset!=null)n=Math.max(n,t.offset)}));return n>-Infinity?n:e}function wv(t,e,n,i,r,o,a){const s=xv(n,e),l=_v(t,s("offset",0)),u=s("anchor",cy),c=u===dy?1:u===fy?.5:0;const f={align:Cy,bounds:s("bounds",Ly),columns:s("direction")==="vertical"?1:t.length,padding:s("margin",8),center:s("center"),nodirty:true};switch(e){case iy:f.anchor={x:Math.floor(i.x1)-l,column:dy,y:c*(a||i.height()+2*i.y1),row:u};break;case ry:f.anchor={x:Math.ceil(i.x2)+l,y:c*(a||i.height()+2*i.y1),row:u};break;case ny:f.anchor={y:Math.floor(r.y1)-l,row:dy,x:c*(o||r.width()+2*r.x1),column:u};break;case oy:f.anchor={y:Math.ceil(r.y2)+l,x:c*(o||r.width()+2*r.x1),column:u};break;case ay:f.anchor={x:l,y:l};break;case sy:f.anchor={x:o-l,y:l,column:dy};break;case ly:f.anchor={x:l,y:a-l,row:dy};break;case uy:f.anchor={x:o-l,y:a-l,column:dy,row:dy};break}return f}function kv(t,e){var n=e.items[0],i=n.datum,r=n.orient,o=n.bounds,a=n.x,s=n.y,l,u;n._bounds?n._bounds.clear().union(o):n._bounds=o.clone();o.clear();Sv(t,n,n.items[0].items[0]);o=Mv(n,o);l=2*n.padding;u=2*n.padding;if(!o.empty()){l=Math.ceil(o.width()+l);u=Math.ceil(o.height()+u)}if(i.type===Ay){Av(n.items[0].items[0].items[0].items)}if(r!==Ty){n.x=a=0;n.y=s=0}n.width=l;n.height=u;dd(o.set(a,s,a+l,s+u),n);n.mark.bounds.clear().union(o);return n}function Mv(t,e){t.items.forEach((t=>e.union(t.bounds)));e.x1=t.padding;e.y1=t.padding;return e}function Sv(t,e,n){var i=e.padding,r=i-n.x,o=i-n.y;if(!e.datum.title){if(r||o)zv(t,n,r,o)}else{var a=e.items[1].items[0],s=a.anchor,l=e.titlePadding||0,u=i-a.x,c=i-a.y;switch(a.orient){case iy:r+=Math.ceil(a.bounds.width())+l;break;case ry:case oy:break;default:o+=a.bounds.height()+l}if(r||o)zv(t,n,r,o);switch(a.orient){case iy:c+=Ev(e,n,a,s,1,1);break;case ry:u+=Ev(e,n,a,dy,0,0)+l;c+=Ev(e,n,a,s,1,1);break;case oy:u+=Ev(e,n,a,s,0,0);c+=Ev(e,n,a,dy,-1,0,1)+l;break;default:u+=Ev(e,n,a,s,0,0)}if(u||c)zv(t,a,u,c);if((u=Math.round(a.bounds.x1-i))<0){zv(t,n,-u,0);zv(t,a,-u,0)}}}function Ev(t,e,n,i,r,o,a){const s=t.datum.type!=="symbol",l=n.datum.vgrad,u=s&&(o||!l)&&!a?e.items[0]:e,c=u.bounds[r?"y2":"x2"]-t.padding,f=l&&o?c:0,d=l&&o?0:c,h=r<=0?0:_p(n);return Math.round(i===cy?f:i===dy?d-h:.5*(c-h))}function zv(t,e,n,i){e.x+=n;e.y+=i;e.bounds.translate(n,i);e.mark.bounds.translate(n,i);t.dirty(e)}function Av(t){const e=t.reduce(((t,e)=>{t[e.column]=Math.max(e.bounds.x2-e.x,t[e.column]||0);return t}),{});t.forEach((t=>{t.width=e[t.column];t.height=t.bounds.y2-t.y}))}function $v(t,e,n,i,r){var o=e.items[0],a=o.frame,s=o.orient,l=o.anchor,u=o.offset,c=o.padding,f=o.items[0].items[0],d=o.items[1]&&o.items[1].items[0],h=s===iy||s===ry?i:n,p=0,m=0,g=0,y=0,v=0,b;if(a!==my){s===iy?(p=r.y2,h=r.y1):s===ry?(p=r.y1,h=r.y2):(p=r.x1,h=r.x2)}else if(s===iy){p=i,h=0}b=l===cy?p:l===dy?h:(p+h)/2;if(d&&d.text){switch(s){case ny:case oy:v=f.bounds.height()+c;break;case iy:y=f.bounds.width()+c;break;case ry:y=-f.bounds.width()-c;break}ev.clear().union(d.bounds);ev.translate(y-(d.x||0),v-(d.y||0));if(nv(d,"x",y)|nv(d,"y",v)){t.dirty(d);d.bounds.clear().union(ev);d.mark.bounds.clear().union(ev);t.dirty(d)}ev.clear().union(d.bounds)}else{ev.clear()}ev.union(f.bounds);switch(s){case ny:m=b;g=r.y1-ev.height()-u;break;case iy:m=r.x1-ev.width()-u;g=b;break;case ry:m=r.x2+ev.width()+u;g=b;break;case oy:m=b;g=r.y2+u;break;default:m=o.x;g=o.y}if(nv(o,"x",m)|nv(o,"y",g)){ev.translate(m,g);t.dirty(o);o.bounds.clear().union(ev);e.bounds.clear().union(ev);t.dirty(o)}return o.bounds}function Ov(t){Di.call(this,null,t)}(0,p.B)(Ov,Di,{transform(t,e){const n=e.dataflow;t.mark.items.forEach((e=>{if(t.layout)mv(n,e,t.layout);Dv(n,e,t)}));return Rv(t.mark.group)?e.reflow():e}});function Rv(t){return t&&t.mark.role!=="legend-entry"}function Dv(t,e,n){var i=e.items,r=Math.max(0,e.width||0),o=Math.max(0,e.height||0),a=(new ad).set(0,0,r,o),s=a.clone(),l=a.clone(),u=[],c,f,d,h,p,m;for(p=0,m=i.length;p<m;++p){f=i[p];switch(f.role){case gy:h=iv(f)?s:l;h.union(ov(t,f,r,o));break;case yy:c=f;break;case xy:u.push(kv(t,f));break;case vy:case by:case _y:case wy:case ky:case My:case Sy:case Ey:s.union(f.bounds);l.union(f.bounds);break;default:a.union(f.bounds)}}if(u.length){const e={};u.forEach((t=>{d=t.orient||ry;if(d!==Ty)(e[d]||(e[d]=[])).push(t)}));for(const i in e){const a=e[i];pv(t,a,wv(a,i,n.legends,s,l,r,o))}u.forEach((e=>{const i=e.bounds;if(!i.equals(e._bounds)){e.bounds=e._bounds;t.dirty(e);e.bounds=i;t.dirty(e)}if(n.autosize&&(n.autosize.type===$y||n.autosize.type===Oy||n.autosize.type===Ry)){switch(e.orient){case iy:case ry:a.add(i.x1,0).add(i.x2,0);break;case ny:case oy:a.add(0,i.y1).add(0,i.y2)}}else{a.union(i)}}))}a.union(s).union(l);if(c){a.union($v(t,c,r,o,a))}if(e.clip){a.set(0,0,e.width||0,e.height||0)}Tv(t,e,a,n)}function Tv(t,e,n,i){const r=i.autosize||{},o=r.type;if(t._autosize<1||!o)return;let a=t._width,s=t._height,l=Math.max(0,e.width||0),u=Math.max(0,Math.ceil(-n.x1)),c=Math.max(0,e.height||0),f=Math.max(0,Math.ceil(-n.y1));const d=Math.max(0,Math.ceil(n.x2-l)),h=Math.max(0,Math.ceil(n.y2-c));if(r.contains===zy){const e=t.padding();a-=e.left+e.right;s-=e.top+e.bottom}if(o===Ty){u=0;f=0;l=a;c=s}else if(o===$y){l=Math.max(0,a-u-d);c=Math.max(0,s-f-h)}else if(o===Oy){l=Math.max(0,a-u-d);s=c+f+h}else if(o===Ry){a=l+u+d;c=Math.max(0,s-f-h)}else if(o===Dy){a=l+u+d;s=c+f+h}t._resizeView(a,s,l,c,[u,f],r.resize)}function Nv(t,e){let n=0;if(e===undefined){for(let e of t){if(e=+e){n+=e}}}else{let i=-1;for(let r of t){if(r=+e(r,++i,t)){n+=r}}}return n}function Cv(t){Di.call(this,null,t)}(0,p.B)(Cv,Di,{transform(t,e){if(this.value&&!t.modified()){return e.StopPropagation}var n=e.dataflow.locale(),i=e.fork(e.NO_SOURCE|e.NO_FIELDS),r=this.value,o=t.scale,a=t.count==null?t.values?t.values.length:10:t.count,s=uc(o,a,t.minstep),l=t.format||dc(n,o,s,t.formatSpecifier,t.formatType,!!t.values),u=t.values?cc(o,t.values,s):fc(o,s);if(r)i.rem=r;r=u.map(((t,e)=>bn({index:e/(u.length-1||1),value:t,label:l(t)})));if(t.extra&&r.length){r.push(bn({index:-1,extra:{value:r[0].value},label:""}))}i.source=r;i.add=r;this.value=r;return i}});function Lv(t){Di.call(this,null,t)}function Pv(){return bn({})}function qv(t){const e=(0,p.nG)().test((t=>t.exit));e.lookup=n=>e.get(t(n));return e}(0,p.B)(Lv,Di,{transform(t,e){var n=e.dataflow,i=e.fork(e.NO_SOURCE|e.NO_FIELDS),r=t.item||Pv,o=t.key||yn,a=this.value;if((0,p.cy)(i.encode)){i.encode=null}if(a&&(t.modified("key")||e.modified(o))){(0,p.z3)("DataJoin does not support modified key function or fields.")}if(!a){e=e.addAll();this.value=a=qv(o)}e.visit(e.ADD,(t=>{const e=o(t);let n=a.get(e);if(n){if(n.exit){a.empty--;i.add.push(n)}else{i.mod.push(n)}}else{n=r(t);a.set(e,n);i.add.push(n)}n.datum=t;n.exit=false}));e.visit(e.MOD,(t=>{const e=o(t),n=a.get(e);if(n){n.datum=t;i.mod.push(n)}}));e.visit(e.REM,(t=>{const e=o(t),n=a.get(e);if(t===n.datum&&!n.exit){i.rem.push(n);n.exit=true;++a.empty}}));if(e.changed(e.ADD_MOD))i.modifies("datum");if(e.clean()||t.clean&&a.empty>n.cleanThreshold){n.runAfter(a.clean)}return i}});function Fv(t){Di.call(this,null,t)}(0,p.B)(Fv,Di,{transform(t,e){var n=e.fork(e.ADD_REM),i=t.mod||false,r=t.encoders,o=e.encode;if((0,p.cy)(o)){if(n.changed()||o.every((t=>r[t]))){o=o[0];n.encode=null}else{return e.StopPropagation}}var a=o==="enter",s=r.update||p.me,l=r.enter||p.me,u=r.exit||p.me,c=(o&&!a?r[o]:s)||p.me;if(e.changed(e.ADD)){e.visit(e.ADD,(e=>{l(e,t);s(e,t)}));n.modifies(l.output);n.modifies(s.output);if(c!==p.me&&c!==s){e.visit(e.ADD,(e=>{c(e,t)}));n.modifies(c.output)}}if(e.changed(e.REM)&&u!==p.me){e.visit(e.REM,(e=>{u(e,t)}));n.modifies(u.output)}if(a||c!==p.me){const r=e.MOD|(t.modified()?e.REFLOW:0);if(a){e.visit(r,(e=>{const r=l(e,t)||i;if(c(e,t)||r)n.mod.push(e)}));if(n.mod.length)n.modifies(l.output)}else{e.visit(r,(e=>{if(c(e,t)||i)n.mod.push(e)}))}if(n.mod.length)n.modifies(c.output)}return n.changed()?n:e.StopPropagation}});function Iv(t){Di.call(this,[],t)}(0,p.B)(Iv,Di,{transform(t,e){if(this.value!=null&&!t.modified()){return e.StopPropagation}var n=e.dataflow.locale(),i=e.fork(e.NO_SOURCE|e.NO_FIELDS),r=this.value,o=t.type||ic,a=t.scale,s=+t.limit,l=uc(a,t.count==null?5:t.count,t.minstep),u=!!t.values||o===ic,c=t.format||_c(n,a,l,o,t.formatSpecifier,t.formatType,u),f=t.values||gc(a,l),d,h,m,g,y;if(r)i.rem=r;if(o===ic){if(s&&f.length>s){e.dataflow.warn("Symbol legend count exceeds limit, filtering items.");r=f.slice(0,s-1);y=true}else{r=f}if((0,p.Tn)(m=t.size)){if(!t.values&&a(r[0])===0){r=r.slice(1)}g=r.reduce(((e,n)=>Math.max(e,m(n,t))),0)}else{m=(0,p.dY)(g=m||8)}r=r.map(((e,n)=>bn({index:n,label:c(e,n,r),value:e,offset:g,size:m(e,t)})));if(y){y=f[r.length];r.push(bn({index:r.length,label:`…${f.length-r.length} entries`,value:y,offset:g,size:m(y,t)}))}}else if(o===oc){d=a.domain(),h=Hu(a,d[0],(0,p.se)(d));if(f.length<3&&!t.values&&d[0]!==(0,p.se)(d)){f=[d[0],(0,p.se)(d)]}r=f.map(((t,e)=>bn({index:e,label:c(t,e,f),value:t,perc:h(t)})))}else{m=f.length-1;h=zc(a);r=f.map(((t,e)=>bn({index:e,label:c(t,e,f),value:t,perc:e?h(t):0,perc2:e===m?1:h(f[e+1])})))}i.source=r;i.add=r;this.value=r;return i}});const Bv=t=>t.source.x;const Uv=t=>t.source.y;const jv=t=>t.target.x;const Yv=t=>t.target.y;function Gv(t){Di.call(this,{},t)}Gv.Definition={type:"LinkPath",metadata:{modifies:true},params:[{name:"sourceX",type:"field",default:"source.x"},{name:"sourceY",type:"field",default:"source.y"},{name:"targetX",type:"field",default:"target.x"},{name:"targetY",type:"field",default:"target.y"},{name:"orient",type:"enum",default:"vertical",values:["horizontal","vertical","radial"]},{name:"shape",type:"enum",default:"line",values:["line","arc","curve","diagonal","orthogonal"]},{name:"require",type:"signal"},{name:"as",type:"string",default:"path"}]};(0,p.B)(Gv,Di,{transform(t,e){var n=t.sourceX||Bv,i=t.sourceY||Uv,r=t.targetX||jv,o=t.targetY||Yv,a=t.as||"path",s=t.orient||"vertical",l=t.shape||"line",u=rb.get(l+"-"+s)||rb.get(l);if(!u){(0,p.z3)("LinkPath unsupported type: "+t.shape+(t.orient?"-"+t.orient:""))}e.visit(e.SOURCE,(t=>{t[a]=u(n(t),i(t),r(t),o(t))}));return e.reflow(t.modified()).modifies(a)}});const Wv=(t,e,n,i)=>"M"+t+","+e+"L"+n+","+i;const Xv=(t,e,n,i)=>Wv(e*Math.cos(t),e*Math.sin(t),i*Math.cos(n),i*Math.sin(n));const Hv=(t,e,n,i)=>{var r=n-t,o=i-e,a=Math.sqrt(r*r+o*o)/2,s=180*Math.atan2(o,r)/Math.PI;return"M"+t+","+e+"A"+a+","+a+" "+s+" 0 1"+" "+n+","+i};const Vv=(t,e,n,i)=>Hv(e*Math.cos(t),e*Math.sin(t),i*Math.cos(n),i*Math.sin(n));const Kv=(t,e,n,i)=>{const r=n-t,o=i-e,a=.2*(r+o),s=.2*(o-r);return"M"+t+","+e+"C"+(t+a)+","+(e+s)+" "+(n+s)+","+(i-a)+" "+n+","+i};const Zv=(t,e,n,i)=>Kv(e*Math.cos(t),e*Math.sin(t),i*Math.cos(n),i*Math.sin(n));const Qv=(t,e,n,i)=>"M"+t+","+e+"V"+i+"H"+n;const Jv=(t,e,n,i)=>"M"+t+","+e+"H"+n+"V"+i;const tb=(t,e,n,i)=>{const r=Math.cos(t),o=Math.sin(t),a=Math.cos(n),s=Math.sin(n),l=Math.abs(n-t)>Math.PI?n<=t:n>t;return"M"+e*r+","+e*o+"A"+e+","+e+" 0 0,"+(l?1:0)+" "+e*a+","+e*s+"L"+i*a+","+i*s};const eb=(t,e,n,i)=>{const r=(t+n)/2;return"M"+t+","+e+"C"+r+","+e+" "+r+","+i+" "+n+","+i};const nb=(t,e,n,i)=>{const r=(e+i)/2;return"M"+t+","+e+"C"+t+","+r+" "+n+","+r+" "+n+","+i};const ib=(t,e,n,i)=>{const r=Math.cos(t),o=Math.sin(t),a=Math.cos(n),s=Math.sin(n),l=(e+i)/2;return"M"+e*r+","+e*o+"C"+l*r+","+l*o+" "+l*a+","+l*s+" "+i*a+","+i*s};const rb=(0,p.nG)({line:Wv,"line-radial":Xv,arc:Hv,"arc-radial":Vv,curve:Kv,"curve-radial":Zv,"orthogonal-horizontal":Qv,"orthogonal-vertical":Jv,"orthogonal-radial":tb,"diagonal-horizontal":eb,"diagonal-vertical":nb,"diagonal-radial":ib});function ob(t){Di.call(this,null,t)}ob.Definition={type:"Pie",metadata:{modifies:true},params:[{name:"field",type:"field"},{name:"startAngle",type:"number",default:0},{name:"endAngle",type:"number",default:6.283185307179586},{name:"sort",type:"boolean",default:false},{name:"as",type:"string",array:true,length:2,default:["startAngle","endAngle"]}]};(0,p.B)(ob,Di,{transform(t,e){var n=t.as||["startAngle","endAngle"],i=n[0],r=n[1],o=t.field||p.xH,a=t.startAngle||0,s=t.endAngle!=null?t.endAngle:2*Math.PI,l=e.source,u=l.map(o),c=u.length,f=a,d=(s-a)/Nv(u),h=(0,to.A)(c),m,g,y;if(t.sort){h.sort(((t,e)=>u[t]-u[e]))}for(m=0;m<c;++m){y=u[h[m]];g=l[h[m]];g[i]=f;g[r]=f+=y*d}this.value=u;return e.reflow(t.modified()).modifies(n)}});const ab=5;function sb(t){const e=t.type;return!t.bins&&(e===Ql||e===tu||e===eu)}function lb(t){return Lu(t)&&t!==ou}const ub=(0,p.M1)(["set","modified","clear","type","scheme","schemeExtent","schemeCount","domain","domainMin","domainMid","domainMax","domainRaw","domainImplicit","nice","zero","bins","range","rangeStep","round","reverse","interpolate","interpolateGamma"]);function cb(t){Di.call(this,null,t);this.modified(true)}(0,p.B)(cb,Di,{transform(t,e){var n=e.dataflow,i=this.value,r=fb(t);if(!i||r!==i.type){this.value=i=Tu(r)()}for(r in t)if(!ub[r]){if(r==="padding"&&lb(i.type))continue;(0,p.Tn)(i[r])?i[r](t[r]):n.warn("Unsupported scale property: "+r)}vb(i,t,yb(i,t,hb(i,t,n)));return e.fork(e.NO_SOURCE|e.NO_FIELDS)}});function fb(t){var e=t.type,n="",i;if(e===ou)return ou+"-"+Ql;if(db(t)){i=t.rawDomain?t.rawDomain.length:t.domain?t.domain.length+ +(t.domainMid!=null):0;n=i===2?ou+"-":i===3?au+"-":""}return(n+e||Ql).toLowerCase()}function db(t){const e=t.type;return Lu(e)&&e!==iu&&e!==ru&&(t.scheme||t.range&&t.range.length&&t.range.every(p.Kg))}function hb(t,e,n){const i=pb(t,e.domainRaw,n);if(i>-1)return i;var r=e.domain,o=t.type,a=e.zero||e.zero===undefined&&sb(t),s,l;if(!r)return 0;if(lb(o)&&e.padding&&r[0]!==(0,p.se)(r)){r=mb(o,r,e.range,e.padding,e.exponent,e.constant)}if(a||e.domainMin!=null||e.domainMax!=null||e.domainMid!=null){s=(r=r.slice()).length-1||1;if(a){if(r[0]>0)r[0]=0;if(r[s]<0)r[s]=0}if(e.domainMin!=null)r[0]=e.domainMin;if(e.domainMax!=null)r[s]=e.domainMax;if(e.domainMid!=null){l=e.domainMid;const t=l>r[s]?s+1:l<r[0]?0:s;if(t!==s)n.warn("Scale domainMid exceeds domain min or max.",l);r.splice(t,0,l)}}t.domain(gb(o,r,n));if(o===cu){t.unknown(e.domainImplicit?Xl.h:undefined)}if(e.nice&&t.nice){t.nice(e.nice!==true&&uc(t,e.nice)||null)}return r.length}function pb(t,e,n){if(e){t.domain(gb(t.type,e,n));return e.length}else{return-1}}function mb(t,e,n,i,r,o){var a=Math.abs((0,p.se)(n)-n[0]),s=a/(a-2*i),l=t===Jl?(0,p.oV)(e,null,s):t===eu?(0,p.SW)(e,null,s,.5):t===tu?(0,p.SW)(e,null,s,r||1):t===nu?(0,p.B2)(e,null,s,o||1):(0,p.lL)(e,null,s);e=e.slice();e[0]=l[0];e[e.length-1]=l[1];return e}function gb(t,e,n){if(Fu(t)){var i=Math.abs(e.reduce(((t,e)=>t+(e<0?-1:e>0?1:0)),0));if(i!==e.length){n.warn("Log scale domain includes zero: "+(0,p.r$)(e))}}return e}function yb(t,e,n){let i=e.bins;if(i&&!(0,p.cy)(i)){const e=t.domain(),n=e[0],r=(0,p.se)(e),o=i.step;let a=i.start==null?n:i.start,s=i.stop==null?r:i.stop;if(!o)(0,p.z3)("Scale bins parameter missing step property.");if(a<n)a=o*Math.ceil(n/o);if(s>r)s=o*Math.floor(r/o);i=(0,to.A)(a,s+o/2,o)}if(i){t.bins=i}else if(t.bins){delete t.bins}if(t.type===hu){if(!i){t.bins=t.domain()}else if(!e.domain&&!e.domainRaw){t.domain(i);n=i.length}}return n}function vb(t,e,n){var i=t.type,r=e.round||false,o=e.range;if(e.rangeStep!=null){o=bb(i,e,n)}else if(e.scheme){o=xb(i,e,n);if((0,p.Tn)(o)){if(t.interpolator){return t.interpolator(o)}else{(0,p.z3)(`Scale type ${i} does not support interpolating color schemes.`)}}}if(o&&Bu(i)){return t.interpolator(Gu(wb(o,e.reverse),e.interpolate,e.interpolateGamma))}if(o&&e.interpolate&&t.interpolate){t.interpolate(Vu(e.interpolate,e.interpolateGamma))}else if((0,p.Tn)(t.round)){t.round(r)}else if((0,p.Tn)(t.rangeRound)){t.interpolate(r?$l.A:Al.A)}if(o)t.range(wb(o,e.reverse))}function bb(t,e,n){if(t!==du&&t!==fu){(0,p.z3)("Only band and point scales support rangeStep.")}var i=(e.paddingOuter!=null?e.paddingOuter:e.padding)||0,r=t===fu?1:(e.paddingInner!=null?e.paddingInner:e.padding)||0;return[0,e.rangeStep*Kl(n,r,i)]}function xb(t,e,n){var i=e.schemeExtent,r,o;if((0,p.cy)(e.scheme)){o=Gu(e.scheme,e.interpolate,e.interpolateGamma)}else{r=e.scheme.toLowerCase();o=nc(r);if(!o)(0,p.z3)(`Unrecognized scheme name: ${e.scheme}`)}n=t===uu?n+1:t===hu?n-1:t===su||t===lu?+e.schemeCount||ab:n;return Bu(t)?_b(o,i,e.reverse):(0,p.Tn)(o)?Wu(_b(o,i),n):t===cu?o:o.slice(0,n)}function _b(t,e,n){return(0,p.Tn)(t)&&(e||n)?Yu(t,wb(e||[0,1],n)):t}function wb(t,e){return e?t.slice().reverse():t}function kb(t){Di.call(this,null,t)}(0,p.B)(kb,Di,{transform(t,e){const n=t.modified("sort")||e.changed(e.ADD)||e.modified(t.sort.fields)||e.modified("datum");if(n)e.source.sort(kn(t.sort));this.modified(n);return e}});const Mb="zero",Sb="center",Eb="normalize",zb=["y0","y1"];function Ab(t){Di.call(this,null,t)}Ab.Definition={type:"Stack",metadata:{modifies:true},params:[{name:"field",type:"field"},{name:"groupby",type:"field",array:true},{name:"sort",type:"compare"},{name:"offset",type:"enum",default:Mb,values:[Mb,Sb,Eb]},{name:"as",type:"string",array:true,length:2,default:zb}]};(0,p.B)(Ab,Di,{transform(t,e){var n=t.as||zb,i=n[0],r=n[1],o=kn(t.sort),a=t.field||p.xH,s=t.offset===Sb?$b:t.offset===Eb?Ob:Rb,l,u,c,f;l=Db(e.source,t.groupby,o,a);for(u=0,c=l.length,f=l.max;u<c;++u){s(l[u],f,a,i,r)}return e.reflow(t.modified()).modifies(n)}});function $b(t,e,n,i,r){var o=(e-t.sum)/2,a=t.length,s=0,l;for(;s<a;++s){l=t[s];l[i]=o;l[r]=o+=Math.abs(n(l))}}function Ob(t,e,n,i,r){var o=1/t.sum,a=0,s=t.length,l=0,u=0,c;for(;l<s;++l){c=t[l];c[i]=a;c[r]=a=o*(u+=Math.abs(n(c)))}}function Rb(t,e,n,i,r){var o=0,a=0,s=t.length,l=0,u,c;for(;l<s;++l){c=t[l];u=+n(c);if(u<0){c[i]=a;c[r]=a+=u}else{c[i]=o;c[r]=o+=u}}}function Db(t,e,n,i){var r=[],o=t=>t(c),a,s,l,u,c,f,d,h,p;if(e==null){r.push(t.slice())}else{for(a={},s=0,l=t.length;s<l;++s){c=t[s];f=e.map(o);d=a[f];if(!d){a[f]=d=[];r.push(d)}d.push(c)}}for(f=0,p=0,u=r.length;f<u;++f){d=r[f];for(s=0,h=0,l=d.length;s<l;++s){h+=Math.abs(i(d[s]))}d.sum=h;if(h>p)p=h;if(n)d.sort(n)}r.max=p;return r}const Tb=t=>t;function Nb(t,e){if(t&&Lb.hasOwnProperty(t.type)){Lb[t.type](t,e)}}var Cb={Feature:function(t,e){Nb(t.geometry,e)},FeatureCollection:function(t,e){var n=t.features,i=-1,r=n.length;while(++i<r)Nb(n[i].geometry,e)}};var Lb={Sphere:function(t,e){e.sphere()},Point:function(t,e){t=t.coordinates;e.point(t[0],t[1],t[2])},MultiPoint:function(t,e){var n=t.coordinates,i=-1,r=n.length;while(++i<r)t=n[i],e.point(t[0],t[1],t[2])},LineString:function(t,e){Pb(t.coordinates,e,0)},MultiLineString:function(t,e){var n=t.coordinates,i=-1,r=n.length;while(++i<r)Pb(n[i],e,0)},Polygon:function(t,e){qb(t.coordinates,e)},MultiPolygon:function(t,e){var n=t.coordinates,i=-1,r=n.length;while(++i<r)qb(n[i],e)},GeometryCollection:function(t,e){var n=t.geometries,i=-1,r=n.length;while(++i<r)Nb(n[i],e)}};function Pb(t,e,n){var i=-1,r=t.length-n,o;e.lineStart();while(++i<r)o=t[i],e.point(o[0],o[1],o[2]);e.lineEnd()}function qb(t,e){var n=-1,i=t.length;e.polygonStart();while(++n<i)Pb(t[n],e,1);e.polygonEnd()}function Fb(t,e){if(t&&Cb.hasOwnProperty(t.type)){Cb[t.type](t,e)}else{Nb(t,e)}}class Ib{constructor(){this._partials=new Float64Array(32);this._n=0}add(t){const e=this._partials;let n=0;for(let i=0;i<this._n&&i<32;i++){const r=e[i],o=t+r,a=Math.abs(t)<Math.abs(r)?t-(o-r):r-(o-t);if(a)e[n++]=a;t=o}e[n]=t;this._n=n+1;return this}valueOf(){const t=this._partials;let e=this._n,n,i,r,o=0;if(e>0){o=t[--e];while(e>0){n=o;i=t[--e];o=n+i;r=i-(o-n);if(r)break}if(e>0&&(r<0&&t[e-1]<0||r>0&&t[e-1]>0)){i=r*2;n=o+i;if(i==n-o)o=n}}return o}}function Bb(t,e){const n=new Ib;if(e===undefined){for(let e of t){if(e=+e){n.add(e)}}}else{let i=-1;for(let r of t){if(r=+e(r,++i,t)){n.add(r)}}}return+n}function Ub(t,e){const n=new Ib;let i=-1;return Float64Array.from(t,e===undefined?t=>n.add(+t||0):r=>n.add(+e(r,++i,t)||0))}var jb=1e-6;var Yb=1e-12;var Gb=Math.PI;var Wb=Gb/2;var Xb=Gb/4;var Hb=Gb*2;var Vb=180/Gb;var Kb=Gb/180;var Zb=Math.abs;var Qb=Math.atan;var Jb=Math.atan2;var tx=Math.cos;var ex=Math.ceil;var nx=Math.exp;var ix=Math.floor;var rx=Math.hypot;var ox=Math.log;var ax=Math.pow;var sx=Math.sin;var lx=Math.sign||function(t){return t>0?1:t<0?-1:0};var ux=Math.sqrt;var cx=Math.tan;function fx(t){return t>1?0:t<-1?Gb:Math.acos(t)}function dx(t){return t>1?Wb:t<-1?-Wb:Math.asin(t)}function hx(t){return(t=sx(t/2))*t}function px(){}var mx=new Ib,gx=new Ib,yx,vx,bx,xx;var _x={point:px,lineStart:px,lineEnd:px,polygonStart:function(){_x.lineStart=wx;_x.lineEnd=Sx},polygonEnd:function(){_x.lineStart=_x.lineEnd=_x.point=px;mx.add(Zb(gx));gx=new Ib},result:function(){var t=mx/2;mx=new Ib;return t}};function wx(){_x.point=kx}function kx(t,e){_x.point=Mx;yx=bx=t,vx=xx=e}function Mx(t,e){gx.add(xx*t-bx*e);bx=t,xx=e}function Sx(){Mx(yx,vx)}const Ex=_x;var zx=Infinity,Ax=zx,$x=-zx,Ox=$x;var Rx={point:Dx,lineStart:px,lineEnd:px,polygonStart:px,polygonEnd:px,result:function(){var t=[[zx,Ax],[$x,Ox]];$x=Ox=-(Ax=zx=Infinity);return t}};function Dx(t,e){if(t<zx)zx=t;if(t>$x)$x=t;if(e<Ax)Ax=e;if(e>Ox)Ox=e}const Tx=Rx;var Nx=0,Cx=0,Lx=0,Px=0,qx=0,Fx=0,Ix=0,Bx=0,Ux=0,jx,Yx,Gx,Wx;var Xx={point:Hx,lineStart:Vx,lineEnd:Qx,polygonStart:function(){Xx.lineStart=Jx;Xx.lineEnd=t_},polygonEnd:function(){Xx.point=Hx;Xx.lineStart=Vx;Xx.lineEnd=Qx},result:function(){var t=Ux?[Ix/Ux,Bx/Ux]:Fx?[Px/Fx,qx/Fx]:Lx?[Nx/Lx,Cx/Lx]:[NaN,NaN];Nx=Cx=Lx=Px=qx=Fx=Ix=Bx=Ux=0;return t}};function Hx(t,e){Nx+=t;Cx+=e;++Lx}function Vx(){Xx.point=Kx}function Kx(t,e){Xx.point=Zx;Hx(Gx=t,Wx=e)}function Zx(t,e){var n=t-Gx,i=e-Wx,r=ux(n*n+i*i);Px+=r*(Gx+t)/2;qx+=r*(Wx+e)/2;Fx+=r;Hx(Gx=t,Wx=e)}function Qx(){Xx.point=Hx}function Jx(){Xx.point=e_}function t_(){n_(jx,Yx)}function e_(t,e){Xx.point=n_;Hx(jx=Gx=t,Yx=Wx=e)}function n_(t,e){var n=t-Gx,i=e-Wx,r=ux(n*n+i*i);Px+=r*(Gx+t)/2;qx+=r*(Wx+e)/2;Fx+=r;r=Wx*t-Gx*e;Ix+=r*(Gx+t);Bx+=r*(Wx+e);Ux+=r*3;Hx(Gx=t,Wx=e)}const i_=Xx;function r_(t){this._context=t}r_.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){if(this._line===0)this._context.closePath();this._point=NaN},point:function(t,e){switch(this._point){case 0:{this._context.moveTo(t,e);this._point=1;break}case 1:{this._context.lineTo(t,e);break}default:{this._context.moveTo(t+this._radius,e);this._context.arc(t,e,this._radius,0,Hb);break}}},result:px};var o_=new Ib,a_,s_,l_,u_,c_;var f_={point:px,lineStart:function(){f_.point=d_},lineEnd:function(){if(a_)h_(s_,l_);f_.point=px},polygonStart:function(){a_=true},polygonEnd:function(){a_=null},result:function(){var t=+o_;o_=new Ib;return t}};function d_(t,e){f_.point=h_;s_=u_=t,l_=c_=e}function h_(t,e){u_-=t,c_-=e;o_.add(ux(u_*u_+c_*c_));u_=t,c_=e}const p_=f_;let m_,g_,y_,v_;class b_{constructor(t){this._append=t==null?x_:__(t);this._radius=4.5;this._=""}pointRadius(t){this._radius=+t;return this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){if(this._line===0)this._+="Z";this._point=NaN}point(t,e){switch(this._point){case 0:{this._append`M${t},${e}`;this._point=1;break}case 1:{this._append`L${t},${e}`;break}default:{this._append`M${t},${e}`;if(this._radius!==y_||this._append!==g_){const t=this._radius;const e=this._;this._="";this._append`m0,${t}a${t},${t} 0 1,1 0,${-2*t}a${t},${t} 0 1,1 0,${2*t}z`;y_=t;g_=this._append;v_=this._;this._=e}this._+=v_;break}}}result(){const t=this._;this._="";return t.length?t:null}}function x_(t){let e=1;this._+=t[0];for(const n=t.length;e<n;++e){this._+=arguments[e]+t[e]}}function __(t){const e=Math.floor(t);if(!(e>=0))throw new RangeError(`invalid digits: ${t}`);if(e>15)return x_;if(e!==m_){const t=10**e;m_=e;g_=function e(n){let i=1;this._+=n[0];for(const r=n.length;i<r;++i){this._+=Math.round(arguments[i]*t)/t+n[i]}}}return g_}function w_(t,e){let n=3,i=4.5,r,o;function a(t){if(t){if(typeof i==="function")o.pointRadius(+i.apply(this,arguments));Fb(t,r(o))}return o.result()}a.area=function(t){Fb(t,r(Ex));return Ex.result()};a.measure=function(t){Fb(t,r(p_));return p_.result()};a.bounds=function(t){Fb(t,r(Tx));return Tx.result()};a.centroid=function(t){Fb(t,r(i_));return i_.result()};a.projection=function(e){if(!arguments.length)return t;r=e==null?(t=null,Tb):(t=e).stream;return a};a.context=function(t){if(!arguments.length)return e;o=t==null?(e=null,new b_(n)):new r_(e=t);if(typeof i!=="function")o.pointRadius(i);return a};a.pointRadius=function(t){if(!arguments.length)return i;i=typeof t==="function"?t:(o.pointRadius(+t),+t);return a};a.digits=function(t){if(!arguments.length)return n;if(t==null)n=null;else{const e=Math.floor(t);if(!(e>=0))throw new RangeError(`invalid digits: ${t}`);n=e}if(e===null)o=new b_(n);return a};return a.projection(t).digits(n).context(e)}function k_(){var t=[],e;return{point:function(t,n,i){e.push([t,n,i])},lineStart:function(){t.push(e=[])},lineEnd:px,rejoin:function(){if(t.length>1)t.push(t.pop().concat(t.shift()))},result:function(){var n=t;t=[];e=null;return n}}}function M_(t,e){return Zb(t[0]-e[0])<jb&&Zb(t[1]-e[1])<jb}function S_(t,e,n,i){this.x=t;this.z=e;this.o=n;this.e=i;this.v=false;this.n=this.p=null}function E_(t,e,n,i,r){var o=[],a=[],s,l;t.forEach((function(t){if((e=t.length-1)<=0)return;var e,n=t[0],i=t[e],l;if(M_(n,i)){if(!n[2]&&!i[2]){r.lineStart();for(s=0;s<e;++s)r.point((n=t[s])[0],n[1]);r.lineEnd();return}i[0]+=2*jb}o.push(l=new S_(n,t,null,true));a.push(l.o=new S_(n,null,l,false));o.push(l=new S_(i,t,null,false));a.push(l.o=new S_(i,null,l,true))}));if(!o.length)return;a.sort(e);z_(o);z_(a);for(s=0,l=a.length;s<l;++s){a[s].e=n=!n}var u=o[0],c,f;while(1){var d=u,h=true;while(d.v)if((d=d.n)===u)return;c=d.z;r.lineStart();do{d.v=d.o.v=true;if(d.e){if(h){for(s=0,l=c.length;s<l;++s)r.point((f=c[s])[0],f[1])}else{i(d.x,d.n.x,1,r)}d=d.n}else{if(h){c=d.p.z;for(s=c.length-1;s>=0;--s)r.point((f=c[s])[0],f[1])}else{i(d.x,d.p.x,-1,r)}d=d.p}d=d.o;c=d.z;h=!h}while(!d.v);r.lineEnd()}}function z_(t){if(!(e=t.length))return;var e,n=0,i=t[0],r;while(++n<e){i.n=r=t[n];r.p=i;i=r}i.n=r=t[0];r.p=i}function A_(t){return[Jb(t[1],t[0]),dx(t[2])]}function $_(t){var e=t[0],n=t[1],i=tx(n);return[i*tx(e),i*sx(e),sx(n)]}function O_(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function R_(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function D_(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function T_(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function N_(t){var e=ux(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}function C_(t){return Zb(t[0])<=Gb?t[0]:lx(t[0])*((Zb(t[0])+Gb)%Hb-Gb)}function L_(t,e){var n=C_(e),i=e[1],r=sx(i),o=[sx(n),-tx(n),0],a=0,s=0;var l=new Ib;if(r===1)i=Wb+jb;else if(r===-1)i=-Wb-jb;for(var u=0,c=t.length;u<c;++u){if(!(d=(f=t[u]).length))continue;var f,d,h=f[d-1],p=C_(h),m=h[1]/2+Xb,g=sx(m),y=tx(m);for(var v=0;v<d;++v,p=x,g=w,y=k,h=b){var b=f[v],x=C_(b),_=b[1]/2+Xb,w=sx(_),k=tx(_),M=x-p,S=M>=0?1:-1,E=S*M,z=E>Gb,A=g*w;l.add(Jb(A*S*sx(E),y*k+A*tx(E)));a+=z?M+S*Hb:M;if(z^p>=n^x>=n){var $=R_($_(h),$_(b));N_($);var O=R_(o,$);N_(O);var R=(z^M>=0?-1:1)*dx(O[2]);if(i>R||i===R&&($[0]||$[1])){s+=z^M>=0?1:-1}}}}return(a<-jb||a<jb&&l<-Yb)^s&1}function*P_(t){for(const e of t){yield*e}}function q_(t){return Array.from(P_(t))}function F_(t,e,n,i){return function(r){var o=e(r),a=k_(),s=e(a),l=false,u,c,f;var d={point:h,lineStart:m,lineEnd:g,polygonStart:function(){d.point=y;d.lineStart=v;d.lineEnd=b;c=[];u=[]},polygonEnd:function(){d.point=h;d.lineStart=m;d.lineEnd=g;c=q_(c);var t=L_(u,i);if(c.length){if(!l)r.polygonStart(),l=true;E_(c,B_,t,n,r)}else if(t){if(!l)r.polygonStart(),l=true;r.lineStart();n(null,null,1,r);r.lineEnd()}if(l)r.polygonEnd(),l=false;c=u=null},sphere:function(){r.polygonStart();r.lineStart();n(null,null,1,r);r.lineEnd();r.polygonEnd()}};function h(e,n){if(t(e,n))r.point(e,n)}function p(t,e){o.point(t,e)}function m(){d.point=p;o.lineStart()}function g(){d.point=h;o.lineEnd()}function y(t,e){f.push([t,e]);s.point(t,e)}function v(){s.lineStart();f=[]}function b(){y(f[0][0],f[0][1]);s.lineEnd();var t=s.clean(),e=a.result(),n,i=e.length,o,d,h;f.pop();u.push(f);f=null;if(!i)return;if(t&1){d=e[0];if((o=d.length-1)>0){if(!l)r.polygonStart(),l=true;r.lineStart();for(n=0;n<o;++n)r.point((h=d[n])[0],h[1]);r.lineEnd()}return}if(i>1&&t&2)e.push(e.pop().concat(e.shift()));c.push(e.filter(I_))}return d}}function I_(t){return t.length>1}function B_(t,e){return((t=t.x)[0]<0?t[1]-Wb-jb:Wb-t[1])-((e=e.x)[0]<0?e[1]-Wb-jb:Wb-e[1])}const U_=F_((function(){return true}),j_,G_,[-Gb,-Wb]);function j_(t){var e=NaN,n=NaN,i=NaN,r;return{lineStart:function(){t.lineStart();r=1},point:function(o,a){var s=o>0?Gb:-Gb,l=Zb(o-e);if(Zb(l-Gb)<jb){t.point(e,n=(n+a)/2>0?Wb:-Wb);t.point(i,n);t.lineEnd();t.lineStart();t.point(s,n);t.point(o,n);r=0}else if(i!==s&&l>=Gb){if(Zb(e-i)<jb)e-=i*jb;if(Zb(o-s)<jb)o-=s*jb;n=Y_(e,n,o,a);t.point(i,n);t.lineEnd();t.lineStart();t.point(s,n);r=0}t.point(e=o,n=a);i=s},lineEnd:function(){t.lineEnd();e=n=NaN},clean:function(){return 2-r}}}function Y_(t,e,n,i){var r,o,a=sx(t-n);return Zb(a)>jb?Qb((sx(e)*(o=tx(i))*sx(n)-sx(i)*(r=tx(e))*sx(t))/(r*o*a)):(e+i)/2}function G_(t,e,n,i){var r;if(t==null){r=n*Wb;i.point(-Gb,r);i.point(0,r);i.point(Gb,r);i.point(Gb,0);i.point(Gb,-r);i.point(0,-r);i.point(-Gb,-r);i.point(-Gb,0);i.point(-Gb,r)}else if(Zb(t[0]-e[0])>jb){var o=t[0]<e[0]?Gb:-Gb;r=n*o/2;i.point(-o,r);i.point(0,r);i.point(o,r)}else{i.point(e[0],e[1])}}function W_(t,e,n,i,r,o){if(!n)return;var a=tx(e),s=sx(e),l=i*n;if(r==null){r=e+i*Hb;o=e-l/2}else{r=X_(a,r);o=X_(a,o);if(i>0?r<o:r>o)r+=i*Hb}for(var u,c=r;i>0?c>o:c<o;c-=l){u=A_([a,-s*tx(c),-s*sx(c)]);t.point(u[0],u[1])}}function X_(t,e){e=$_(e),e[0]-=t;N_(e);var n=fx(-e[1]);return((-e[2]<0?-n:n)+Hb-jb)%Hb}function H_(){var t=constant([0,0]),e=constant(90),n=constant(6),i,r,o={point:a};function a(t,e){i.push(t=r(t,e));t[0]*=degrees,t[1]*=degrees}function s(){var a=t.apply(this,arguments),s=e.apply(this,arguments)*radians,l=n.apply(this,arguments)*radians;i=[];r=rotateRadians(-a[0]*radians,-a[1]*radians,0).invert;W_(o,s,l,1);a={type:"Polygon",coordinates:[i]};i=r=null;return a}s.center=function(e){return arguments.length?(t=typeof e==="function"?e:constant([+e[0],+e[1]]),s):t};s.radius=function(t){return arguments.length?(e=typeof t==="function"?t:constant(+t),s):e};s.precision=function(t){return arguments.length?(n=typeof t==="function"?t:constant(+t),s):n};return s}function V_(t){var e=tx(t),n=6*Kb,i=e>0,r=Zb(e)>jb;function o(e,i,r,o){W_(o,t,n,r,e,i)}function a(t,n){return tx(t)*tx(n)>e}function s(t){var e,n,o,s,c;return{lineStart:function(){s=o=false;c=1},point:function(f,d){var h=[f,d],p,m=a(f,d),g=i?m?0:u(f,d):m?u(f+(f<0?Gb:-Gb),d):0;if(!e&&(s=o=m))t.lineStart();if(m!==o){p=l(e,h);if(!p||M_(e,p)||M_(h,p))h[2]=1}if(m!==o){c=0;if(m){t.lineStart();p=l(h,e);t.point(p[0],p[1])}else{p=l(e,h);t.point(p[0],p[1],2);t.lineEnd()}e=p}else if(r&&e&&i^m){var y;if(!(g&n)&&(y=l(h,e,true))){c=0;if(i){t.lineStart();t.point(y[0][0],y[0][1]);t.point(y[1][0],y[1][1]);t.lineEnd()}else{t.point(y[1][0],y[1][1]);t.lineEnd();t.lineStart();t.point(y[0][0],y[0][1],3)}}}if(m&&(!e||!M_(e,h))){t.point(h[0],h[1])}e=h,o=m,n=g},lineEnd:function(){if(o)t.lineEnd();e=null},clean:function(){return c|(s&&o)<<1}}}function l(t,n,i){var r=$_(t),o=$_(n);var a=[1,0,0],s=R_(r,o),l=O_(s,s),u=s[0],c=l-u*u;if(!c)return!i&&t;var f=e*l/c,d=-e*u/c,h=R_(a,s),p=T_(a,f),m=T_(s,d);D_(p,m);var g=h,y=O_(p,g),v=O_(g,g),b=y*y-v*(O_(p,p)-1);if(b<0)return;var x=ux(b),_=T_(g,(-y-x)/v);D_(_,p);_=A_(_);if(!i)return _;var w=t[0],k=n[0],M=t[1],S=n[1],E;if(k<w)E=w,w=k,k=E;var z=k-w,A=Zb(z-Gb)<jb,$=A||z<jb;if(!A&&S<M)E=M,M=S,S=E;if($?A?M+S>0^_[1]<(Zb(_[0]-w)<jb?M:S):M<=_[1]&&_[1]<=S:z>Gb^(w<=_[0]&&_[0]<=k)){var O=T_(g,(-y+x)/v);D_(O,p);return[_,A_(O)]}}function u(e,n){var r=i?t:Gb-t,o=0;if(e<-r)o|=1;else if(e>r)o|=2;if(n<-r)o|=4;else if(n>r)o|=8;return o}return F_(a,s,o,i?[0,-t]:[-Gb,t-Gb])}function K_(t,e,n,i,r,o){var a=t[0],s=t[1],l=e[0],u=e[1],c=0,f=1,d=l-a,h=u-s,p;p=n-a;if(!d&&p>0)return;p/=d;if(d<0){if(p<c)return;if(p<f)f=p}else if(d>0){if(p>f)return;if(p>c)c=p}p=r-a;if(!d&&p<0)return;p/=d;if(d<0){if(p>f)return;if(p>c)c=p}else if(d>0){if(p<c)return;if(p<f)f=p}p=i-s;if(!h&&p>0)return;p/=h;if(h<0){if(p<c)return;if(p<f)f=p}else if(h>0){if(p>f)return;if(p>c)c=p}p=o-s;if(!h&&p<0)return;p/=h;if(h<0){if(p>f)return;if(p>c)c=p}else if(h>0){if(p<c)return;if(p<f)f=p}if(c>0)t[0]=a+c*d,t[1]=s+c*h;if(f<1)e[0]=a+f*d,e[1]=s+f*h;return true}var Z_=1e9,Q_=-Z_;function J_(t,e,n,i){function r(r,o){return t<=r&&r<=n&&e<=o&&o<=i}function o(r,o,s,u){var c=0,f=0;if(r==null||(c=a(r,s))!==(f=a(o,s))||l(r,o)<0^s>0){do{u.point(c===0||c===3?t:n,c>1?i:e)}while((c=(c+s+4)%4)!==f)}else{u.point(o[0],o[1])}}function a(i,r){return Zb(i[0]-t)<jb?r>0?0:3:Zb(i[0]-n)<jb?r>0?2:1:Zb(i[1]-e)<jb?r>0?1:0:r>0?3:2}function s(t,e){return l(t.x,e.x)}function l(t,e){var n=a(t,1),i=a(e,1);return n!==i?n-i:n===0?e[1]-t[1]:n===1?t[0]-e[0]:n===2?t[1]-e[1]:e[0]-t[0]}return function(a){var l=a,u=k_(),c,f,d,h,p,m,g,y,v,b,x;var _={point:w,lineStart:E,lineEnd:z,polygonStart:M,polygonEnd:S};function w(t,e){if(r(t,e))l.point(t,e)}function k(){var e=0;for(var n=0,r=f.length;n<r;++n){for(var o=f[n],a=1,s=o.length,l=o[0],u,c,d=l[0],h=l[1];a<s;++a){u=d,c=h,l=o[a],d=l[0],h=l[1];if(c<=i){if(h>i&&(d-u)*(i-c)>(h-c)*(t-u))++e}else{if(h<=i&&(d-u)*(i-c)<(h-c)*(t-u))--e}}}return e}function M(){l=u,c=[],f=[],x=true}function S(){var t=k(),e=x&&t,n=(c=q_(c)).length;if(e||n){a.polygonStart();if(e){a.lineStart();o(null,null,1,a);a.lineEnd()}if(n){E_(c,s,t,o,a)}a.polygonEnd()}l=a,c=f=d=null}function E(){_.point=A;if(f)f.push(d=[]);b=true;v=false;g=y=NaN}function z(){if(c){A(h,p);if(m&&v)u.rejoin();c.push(u.result())}_.point=w;if(v)l.lineEnd()}function A(o,a){var s=r(o,a);if(f)d.push([o,a]);if(b){h=o,p=a,m=s;b=false;if(s){l.lineStart();l.point(o,a)}}else{if(s&&v)l.point(o,a);else{var u=[g=Math.max(Q_,Math.min(Z_,g)),y=Math.max(Q_,Math.min(Z_,y))],c=[o=Math.max(Q_,Math.min(Z_,o)),a=Math.max(Q_,Math.min(Z_,a))];if(K_(u,c,t,e,n,i)){if(!v){l.lineStart();l.point(u[0],u[1])}l.point(c[0],c[1]);if(!s)l.lineEnd();x=false}else if(s){l.lineStart();l.point(o,a);x=false}}}g=o,y=a,v=s}return _}}function tw(t,e){function n(n,i){return n=t(n,i),e(n[0],n[1])}if(t.invert&&e.invert)n.invert=function(n,i){return n=e.invert(n,i),n&&t.invert(n[0],n[1])};return n}function ew(t,e){if(Zb(t)>Gb)t-=Math.round(t/Hb)*Hb;return[t,e]}ew.invert=ew;function nw(t,e,n){return(t%=Hb)?e||n?tw(rw(t),ow(e,n)):rw(t):e||n?ow(e,n):ew}function iw(t){return function(e,n){e+=t;if(Zb(e)>Gb)e-=Math.round(e/Hb)*Hb;return[e,n]}}function rw(t){var e=iw(t);e.invert=iw(-t);return e}function ow(t,e){var n=tx(t),i=sx(t),r=tx(e),o=sx(e);function a(t,e){var a=tx(e),s=tx(t)*a,l=sx(t)*a,u=sx(e),c=u*n+s*i;return[Jb(l*r-c*o,s*n-u*i),dx(c*r+l*o)]}a.invert=function(t,e){var a=tx(e),s=tx(t)*a,l=sx(t)*a,u=sx(e),c=u*r-l*o;return[Jb(l*r+u*o,s*n+c*i),dx(c*n-s*i)]};return a}function aw(t){t=nw(t[0]*Kb,t[1]*Kb,t.length>2?t[2]*Kb:0);function e(e){e=t(e[0]*Kb,e[1]*Kb);return e[0]*=Vb,e[1]*=Vb,e}e.invert=function(e){e=t.invert(e[0]*Kb,e[1]*Kb);return e[0]*=Vb,e[1]*=Vb,e};return e}function sw(t){return{stream:lw(t)}}function lw(t){return function(e){var n=new uw;for(var i in t)n[i]=t[i];n.stream=e;return n}}function uw(){}uw.prototype={constructor:uw,point:function(t,e){this.stream.point(t,e)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function cw(t,e,n){var i=t.clipExtent&&t.clipExtent();t.scale(150).translate([0,0]);if(i!=null)t.clipExtent(null);Fb(n,t.stream(Tx));e(Tx.result());if(i!=null)t.clipExtent(i);return t}function fw(t,e,n){return cw(t,(function(n){var i=e[1][0]-e[0][0],r=e[1][1]-e[0][1],o=Math.min(i/(n[1][0]-n[0][0]),r/(n[1][1]-n[0][1])),a=+e[0][0]+(i-o*(n[1][0]+n[0][0]))/2,s=+e[0][1]+(r-o*(n[1][1]+n[0][1]))/2;t.scale(150*o).translate([a,s])}),n)}function dw(t,e,n){return fw(t,[[0,0],e],n)}function hw(t,e,n){return cw(t,(function(n){var i=+e,r=i/(n[1][0]-n[0][0]),o=(i-r*(n[1][0]+n[0][0]))/2,a=-r*n[0][1];t.scale(150*r).translate([o,a])}),n)}function pw(t,e,n){return cw(t,(function(n){var i=+e,r=i/(n[1][1]-n[0][1]),o=-r*n[0][0],a=(i-r*(n[1][1]+n[0][1]))/2;t.scale(150*r).translate([o,a])}),n)}var mw=16,gw=tx(30*Kb);function yw(t,e){return+e?bw(t,e):vw(t)}function vw(t){return lw({point:function(e,n){e=t(e,n);this.stream.point(e[0],e[1])}})}function bw(t,e){function n(i,r,o,a,s,l,u,c,f,d,h,p,m,g){var y=u-i,v=c-r,b=y*y+v*v;if(b>4*e&&m--){var x=a+d,_=s+h,w=l+p,k=ux(x*x+_*_+w*w),M=dx(w/=k),S=Zb(Zb(w)-1)<jb||Zb(o-f)<jb?(o+f)/2:Jb(_,x),E=t(S,M),z=E[0],A=E[1],$=z-i,O=A-r,R=v*$-y*O;if(R*R/b>e||Zb((y*$+v*O)/b-.5)>.3||a*d+s*h+l*p<gw){n(i,r,o,a,s,l,z,A,S,x/=k,_/=k,w,m,g);g.point(z,A);n(z,A,S,x,_,w,u,c,f,d,h,p,m,g)}}}return function(e){var i,r,o,a,s,l,u,c,f,d,h,p;var m={point:g,lineStart:y,lineEnd:b,polygonStart:function(){e.polygonStart();m.lineStart=x},polygonEnd:function(){e.polygonEnd();m.lineStart=y}};function g(n,i){n=t(n,i);e.point(n[0],n[1])}function y(){c=NaN;m.point=v;e.lineStart()}function v(i,r){var o=$_([i,r]),a=t(i,r);n(c,f,u,d,h,p,c=a[0],f=a[1],u=i,d=o[0],h=o[1],p=o[2],mw,e);e.point(c,f)}function b(){m.point=g;e.lineEnd()}function x(){y();m.point=_;m.lineEnd=w}function _(t,e){v(i=t,e),r=c,o=f,a=d,s=h,l=p;m.point=v}function w(){n(c,f,u,d,h,p,r,o,i,a,s,l,mw,e);m.lineEnd=b;b()}return m}}var xw=lw({point:function(t,e){this.stream.point(t*Kb,e*Kb)}});function _w(t){return lw({point:function(e,n){var i=t(e,n);return this.stream.point(i[0],i[1])}})}function ww(t,e,n,i,r){function o(o,a){o*=i;a*=r;return[e+t*o,n-t*a]}o.invert=function(o,a){return[(o-e)/t*i,(n-a)/t*r]};return o}function kw(t,e,n,i,r,o){if(!o)return ww(t,e,n,i,r);var a=tx(o),s=sx(o),l=a*t,u=s*t,c=a/t,f=s/t,d=(s*n-a*e)/t,h=(s*e+a*n)/t;function p(t,o){t*=i;o*=r;return[l*t-u*o+e,n-u*t-l*o]}p.invert=function(t,e){return[i*(c*t-f*e+d),r*(h-f*t-c*e)]};return p}function Mw(t){return Sw((function(){return t}))()}function Sw(t){var e,n=150,i=480,r=250,o=0,a=0,s=0,l=0,u=0,c,f=0,d=1,h=1,p=null,m=U_,g=null,y,v,b,x=Tb,_=.5,w,k,M,S,E;function z(t){return M(t[0]*Kb,t[1]*Kb)}function A(t){t=M.invert(t[0],t[1]);return t&&[t[0]*Vb,t[1]*Vb]}z.stream=function(t){return S&&E===t?S:S=xw(_w(c)(m(w(x(E=t)))))};z.preclip=function(t){return arguments.length?(m=t,p=undefined,O()):m};z.postclip=function(t){return arguments.length?(x=t,g=y=v=b=null,O()):x};z.clipAngle=function(t){return arguments.length?(m=+t?V_(p=t*Kb):(p=null,U_),O()):p*Vb};z.clipExtent=function(t){return arguments.length?(x=t==null?(g=y=v=b=null,Tb):J_(g=+t[0][0],y=+t[0][1],v=+t[1][0],b=+t[1][1]),O()):g==null?null:[[g,y],[v,b]]};z.scale=function(t){return arguments.length?(n=+t,$()):n};z.translate=function(t){return arguments.length?(i=+t[0],r=+t[1],$()):[i,r]};z.center=function(t){return arguments.length?(o=t[0]%360*Kb,a=t[1]%360*Kb,$()):[o*Vb,a*Vb]};z.rotate=function(t){return arguments.length?(s=t[0]%360*Kb,l=t[1]%360*Kb,u=t.length>2?t[2]%360*Kb:0,$()):[s*Vb,l*Vb,u*Vb]};z.angle=function(t){return arguments.length?(f=t%360*Kb,$()):f*Vb};z.reflectX=function(t){return arguments.length?(d=t?-1:1,$()):d<0};z.reflectY=function(t){return arguments.length?(h=t?-1:1,$()):h<0};z.precision=function(t){return arguments.length?(w=yw(k,_=t*t),O()):ux(_)};z.fitExtent=function(t,e){return fw(z,t,e)};z.fitSize=function(t,e){return dw(z,t,e)};z.fitWidth=function(t,e){return hw(z,t,e)};z.fitHeight=function(t,e){return pw(z,t,e)};function $(){var t=kw(n,0,0,d,h,f).apply(null,e(o,a)),p=kw(n,i-t[0],r-t[1],d,h,f);c=nw(s,l,u);k=tw(e,p);M=tw(c,k);w=yw(k,_);return O()}function O(){S=E=null;return z}return function(){e=t.apply(this,arguments);z.invert=e.invert&&A;return $()}}function Ew(t){var e=0,n=Gb/3,i=Sw(t),r=i(e,n);r.parallels=function(t){return arguments.length?i(e=t[0]*Kb,n=t[1]*Kb):[e*Vb,n*Vb]};return r}function zw(t){var e=tx(t);function n(t,n){return[t*e,sx(n)/e]}n.invert=function(t,n){return[t/e,dx(n*e)]};return n}function Aw(t,e){var n=sx(t),i=(n+sx(e))/2;if(Zb(i)<jb)return zw(t);var r=1+n*(2*i-n),o=ux(r)/i;function a(t,e){var n=ux(r-2*i*sx(e))/i;return[n*sx(t*=i),o-n*tx(t)]}a.invert=function(t,e){var n=o-e,a=Jb(t,Zb(n))*lx(n);if(n*i<0)a-=Gb*lx(t)*lx(n);return[a/i,dx((r-(t*t+n*n)*i*i)/(2*i))]};return a}function $w(){return Ew(Aw).scale(155.424).center([0,33.6442])}function Ow(){return $w().parallels([29.5,45.5]).scale(1070).translate([480,250]).rotate([96,0]).center([-.6,38.7])}function Rw(t){var e=t.length;return{point:function(n,i){var r=-1;while(++r<e)t[r].point(n,i)},sphere:function(){var n=-1;while(++n<e)t[n].sphere()},lineStart:function(){var n=-1;while(++n<e)t[n].lineStart()},lineEnd:function(){var n=-1;while(++n<e)t[n].lineEnd()},polygonStart:function(){var n=-1;while(++n<e)t[n].polygonStart()},polygonEnd:function(){var n=-1;while(++n<e)t[n].polygonEnd()}}}function Dw(){var t,e,n=Ow(),i,r=$w().rotate([154,0]).center([-2,58.5]).parallels([55,65]),o,a=$w().rotate([157,0]).center([-3,19.9]).parallels([8,18]),s,l,u={point:function(t,e){l=[t,e]}};function c(t){var e=t[0],n=t[1];return l=null,(i.point(e,n),l)||(o.point(e,n),l)||(s.point(e,n),l)}c.invert=function(t){var e=n.scale(),i=n.translate(),o=(t[0]-i[0])/e,s=(t[1]-i[1])/e;return(s>=.12&&s<.234&&o>=-.425&&o<-.214?r:s>=.166&&s<.234&&o>=-.214&&o<-.115?a:n).invert(t)};c.stream=function(i){return t&&e===i?t:t=Rw([n.stream(e=i),r.stream(i),a.stream(i)])};c.precision=function(t){if(!arguments.length)return n.precision();n.precision(t),r.precision(t),a.precision(t);return f()};c.scale=function(t){if(!arguments.length)return n.scale();n.scale(t),r.scale(t*.35),a.scale(t);return c.translate(n.translate())};c.translate=function(t){if(!arguments.length)return n.translate();var e=n.scale(),l=+t[0],c=+t[1];i=n.translate(t).clipExtent([[l-.455*e,c-.238*e],[l+.455*e,c+.238*e]]).stream(u);o=r.translate([l-.307*e,c+.201*e]).clipExtent([[l-.425*e+jb,c+.12*e+jb],[l-.214*e-jb,c+.234*e-jb]]).stream(u);s=a.translate([l-.205*e,c+.212*e]).clipExtent([[l-.214*e+jb,c+.166*e+jb],[l-.115*e-jb,c+.234*e-jb]]).stream(u);return f()};c.fitExtent=function(t,e){return fw(c,t,e)};c.fitSize=function(t,e){return dw(c,t,e)};c.fitWidth=function(t,e){return hw(c,t,e)};c.fitHeight=function(t,e){return pw(c,t,e)};function f(){t=e=null;return c}return c.scale(1070)}function Tw(t){return function(e,n){var i=tx(e),r=tx(n),o=t(i*r);if(o===Infinity)return[2,0];return[o*r*sx(e),o*sx(n)]}}function Nw(t){return function(e,n){var i=ux(e*e+n*n),r=t(i),o=sx(r),a=tx(r);return[Jb(e*o,i*a),dx(i&&n*o/i)]}}var Cw=Tw((function(t){return ux(2/(1+t))}));Cw.invert=Nw((function(t){return 2*dx(t/2)}));function Lw(){return Mw(Cw).scale(124.75).clipAngle(180-.001)}var Pw=Tw((function(t){return(t=fx(t))&&t/sx(t)}));Pw.invert=Nw((function(t){return t}));function qw(){return Mw(Pw).scale(79.4188).clipAngle(180-.001)}function Fw(t,e){return[t,ox(cx((Wb+e)/2))]}Fw.invert=function(t,e){return[t,2*Qb(nx(e))-Wb]};function Iw(){return Bw(Fw).scale(961/Hb)}function Bw(t){var e=Mw(t),n=e.center,i=e.scale,r=e.translate,o=e.clipExtent,a=null,s,l,u;e.scale=function(t){return arguments.length?(i(t),c()):i()};e.translate=function(t){return arguments.length?(r(t),c()):r()};e.center=function(t){return arguments.length?(n(t),c()):n()};e.clipExtent=function(t){return arguments.length?(t==null?a=s=l=u=null:(a=+t[0][0],s=+t[0][1],l=+t[1][0],u=+t[1][1]),c()):a==null?null:[[a,s],[l,u]]};function c(){var n=Gb*i(),r=e(aw(e.rotate()).invert([0,0]));return o(a==null?[[r[0]-n,r[1]-n],[r[0]+n,r[1]+n]]:t===Fw?[[Math.max(r[0]-n,a),s],[Math.min(r[0]+n,l),u]]:[[a,Math.max(r[1]-n,s)],[l,Math.min(r[1]+n,u)]])}return c()}function Uw(t){return cx((Wb+t)/2)}function jw(t,e){var n=tx(t),i=t===e?sx(t):ox(n/tx(e))/ox(Uw(e)/Uw(t)),r=n*ax(Uw(t),i)/i;if(!i)return Fw;function o(t,e){if(r>0){if(e<-Wb+jb)e=-Wb+jb}else{if(e>Wb-jb)e=Wb-jb}var n=r/ax(Uw(e),i);return[n*sx(i*t),r-n*tx(i*t)]}o.invert=function(t,e){var n=r-e,o=lx(i)*ux(t*t+n*n),a=Jb(t,Zb(n))*lx(n);if(n*i<0)a-=Gb*lx(t)*lx(n);return[a/i,2*Qb(ax(r/o,1/i))-Wb]};return o}function Yw(){return Ew(jw).scale(109.5).parallels([30,30])}function Gw(t,e){return[t,e]}Gw.invert=Gw;function Ww(){return Mw(Gw).scale(152.63)}function Xw(t,e){var n=tx(t),i=t===e?sx(t):(n-tx(e))/(e-t),r=n/i+t;if(Zb(i)<jb)return Gw;function o(t,e){var n=r-e,o=i*t;return[n*sx(o),r-n*tx(o)]}o.invert=function(t,e){var n=r-e,o=Jb(t,Zb(n))*lx(n);if(n*i<0)o-=Gb*lx(t)*lx(n);return[o/i,r-lx(i)*ux(t*t+n*n)]};return o}function Hw(){return Ew(Xw).scale(131.154).center([0,13.9389])}var Vw=1.340264,Kw=-.081106,Zw=893e-6,Qw=.003796,Jw=ux(3)/2,tk=12;function ek(t,e){var n=dx(Jw*sx(e)),i=n*n,r=i*i*i;return[t*tx(n)/(Jw*(Vw+3*Kw*i+r*(7*Zw+9*Qw*i))),n*(Vw+Kw*i+r*(Zw+Qw*i))]}ek.invert=function(t,e){var n=e,i=n*n,r=i*i*i;for(var o=0,a,s,l;o<tk;++o){s=n*(Vw+Kw*i+r*(Zw+Qw*i))-e;l=Vw+3*Kw*i+r*(7*Zw+9*Qw*i);n-=a=s/l,i=n*n,r=i*i*i;if(Zb(a)<Yb)break}return[Jw*t*(Vw+3*Kw*i+r*(7*Zw+9*Qw*i))/tx(n),dx(sx(n)/Jw)]};function nk(){return Mw(ek).scale(177.158)}function ik(t,e){var n=tx(e),i=tx(t)*n;return[n*sx(t)/i,sx(e)/i]}ik.invert=Nw(Qb);function rk(){return Mw(ik).scale(144.049).clipAngle(60)}function ok(){var t=1,e=0,n=0,i=1,r=1,o=0,a,s,l=null,u,c,f,d=1,h=1,p=lw({point:function(t,e){var n=b([t,e]);this.stream.point(n[0],n[1])}}),m=Tb,g,y;function v(){d=t*i;h=t*r;g=y=null;return b}function b(t){var i=t[0]*d,r=t[1]*h;if(o){var l=r*a-i*s;i=i*a+r*s;r=l}return[i+e,r+n]}b.invert=function(t){var i=t[0]-e,r=t[1]-n;if(o){var l=r*a+i*s;i=i*a-r*s;r=l}return[i/d,r/h]};b.stream=function(t){return g&&y===t?g:g=p(m(y=t))};b.postclip=function(t){return arguments.length?(m=t,l=u=c=f=null,v()):m};b.clipExtent=function(t){return arguments.length?(m=t==null?(l=u=c=f=null,Tb):J_(l=+t[0][0],u=+t[0][1],c=+t[1][0],f=+t[1][1]),v()):l==null?null:[[l,u],[c,f]]};b.scale=function(e){return arguments.length?(t=+e,v()):t};b.translate=function(t){return arguments.length?(e=+t[0],n=+t[1],v()):[e,n]};b.angle=function(t){return arguments.length?(o=t%360*Kb,s=sx(o),a=tx(o),v()):o*Vb};b.reflectX=function(t){return arguments.length?(i=t?-1:1,v()):i<0};b.reflectY=function(t){return arguments.length?(r=t?-1:1,v()):r<0};b.fitExtent=function(t,e){return fw(b,t,e)};b.fitSize=function(t,e){return dw(b,t,e)};b.fitWidth=function(t,e){return hw(b,t,e)};b.fitHeight=function(t,e){return pw(b,t,e)};return b}function ak(t,e){var n=e*e,i=n*n;return[t*(.8707-.131979*n+i*(-.013791+i*(.003971*n-.001529*i))),e*(1.007226+n*(.015085+i*(-.044475+.028874*n-.005916*i)))]}ak.invert=function(t,e){var n=e,i=25,r;do{var o=n*n,a=o*o;n-=r=(n*(1.007226+o*(.015085+a*(-.044475+.028874*o-.005916*a)))-e)/(1.007226+o*(.015085*3+a*(-.044475*7+.028874*9*o-.005916*11*a)))}while(Zb(r)>jb&&--i>0);return[t/(.8707+(o=n*n)*(-.131979+o*(-.013791+o*o*o*(.003971-.001529*o)))),n]};function sk(){return Mw(ak).scale(175.295)}function lk(t,e){return[tx(e)*sx(t),sx(e)]}lk.invert=Nw(dx);function uk(){return Mw(lk).scale(249.5).clipAngle(90+jb)}function ck(t,e){var n=tx(e),i=1+tx(t)*n;return[n*sx(t)/i,sx(e)/i]}ck.invert=Nw((function(t){return 2*Qb(t)}));function fk(){return Mw(ck).scale(250).clipAngle(142)}function dk(t,e){return[ox(cx((Wb+e)/2)),-t]}dk.invert=function(t,e){return[-e,2*Qb(nx(t))-Wb]};function hk(){var t=Bw(dk),e=t.center,n=t.rotate;t.center=function(t){return arguments.length?e([-t[1],t[0]]):(t=e(),[t[1],-t[0]])};t.rotate=function(t){return arguments.length?n([t[0],t[1],t.length>2?t[2]+90:90]):(t=n(),[t[0],t[1],t[2]-90])};return n([0,0,90]).scale(159.155)}var pk=Math.abs;var mk=Math.atan;var gk=Math.atan2;var yk=Math.ceil;var vk=Math.cos;var bk=Math.exp;var xk=Math.floor;var _k=Math.log;var wk=Math.max;var kk=Math.min;var Mk=Math.pow;var Sk=Math.round;var Ek=Math.sign||function(t){return t>0?1:t<0?-1:0};var zk=Math.sin;var Ak=Math.tan;var $k=1e-6;var Ok=1e-12;var Rk=Math.PI;var Dk=Rk/2;var Tk=Rk/4;var Nk=Math.SQRT1_2;var Ck=jk(2);var Lk=jk(Rk);var Pk=Rk*2;var qk=180/Rk;var Fk=Rk/180;function Ik(t){return t?t/Math.sin(t):1}function Bk(t){return t>1?Dk:t<-1?-Dk:Math.asin(t)}function Uk(t){return t>1?0:t<-1?Rk:Math.acos(t)}function jk(t){return t>0?Math.sqrt(t):0}function Yk(t){t=bk(2*t);return(t-1)/(t+1)}function Gk(t){return(bk(t)-bk(-t))/2}function Wk(t){return(bk(t)+bk(-t))/2}function Xk(t){return _k(t+jk(t*t+1))}function Hk(t){return _k(t+jk(t*t-1))}function Vk(t,e){var n=t*zk(e),i=30,r;do{e-=r=(e+zk(e)-n)/(1+vk(e))}while(pk(r)>$k&&--i>0);return e/2}function Kk(t,e,n){function i(i,r){return[t*i*vk(r=Vk(n,r)),e*zk(r)]}i.invert=function(i,r){return r=Bk(r/e),[i/(t*vk(r)),Bk((2*r+zk(2*r))/n)]};return i}var Zk=Kk(Ck/Dk,Ck,Rk);function Qk(){return Mw(Zk).scale(169.529)}const Jk=w_();const tM=["clipAngle","clipExtent","scale","translate","center","rotate","parallels","precision","reflectX","reflectY","coefficient","distance","fraction","lobes","parallel","radius","ratio","spacing","tilt"];function eM(t,e){return function n(){const i=e();i.type=t;i.path=w_().projection(i);i.copy=i.copy||function(){const t=n();tM.forEach((e=>{if(i[e])t[e](i[e]())}));t.path.pointRadius(i.path.pointRadius());return t};return Ou(i)}}function nM(t,e){if(!t||typeof t!=="string"){throw new Error("Projection type must be a name string.")}t=t.toLowerCase();if(arguments.length>1){rM[t]=eM(t,e);return this}else{return rM[t]||null}}function iM(t){return t&&t.path||Jk}const rM={albers:Ow,albersusa:Dw,azimuthalequalarea:Lw,azimuthalequidistant:qw,conicconformal:Yw,conicequalarea:$w,conicequidistant:Hw,equalEarth:nk,equirectangular:Ww,gnomonic:rk,identity:ok,mercator:Iw,mollweide:Qk,naturalEarth1:sk,orthographic:uk,stereographic:fk,transversemercator:hk};for(const $j in rM){nM($j,rM[$j])}function oM(t,e,n){var i=(0,to.A)(t,e-jb,n).concat(e);return function(t){return i.map((function(e){return[t,e]}))}}function aM(t,e,n){var i=(0,to.A)(t,e-jb,n).concat(e);return function(t){return i.map((function(e){return[e,t]}))}}function sM(){var t,e,n,i,r,o,a,s,l=10,u=l,c=90,f=360,d,h,p,m,g=2.5;function y(){return{type:"MultiLineString",coordinates:v()}}function v(){return(0,to.A)(ex(i/c)*c,n,c).map(p).concat((0,to.A)(ex(s/f)*f,a,f).map(m)).concat((0,to.A)(ex(e/l)*l,t,l).filter((function(t){return Zb(t%c)>jb})).map(d)).concat((0,to.A)(ex(o/u)*u,r,u).filter((function(t){return Zb(t%f)>jb})).map(h))}y.lines=function(){return v().map((function(t){return{type:"LineString",coordinates:t}}))};y.outline=function(){return{type:"Polygon",coordinates:[p(i).concat(m(a).slice(1),p(n).reverse().slice(1),m(s).reverse().slice(1))]}};y.extent=function(t){if(!arguments.length)return y.extentMinor();return y.extentMajor(t).extentMinor(t)};y.extentMajor=function(t){if(!arguments.length)return[[i,s],[n,a]];i=+t[0][0],n=+t[1][0];s=+t[0][1],a=+t[1][1];if(i>n)t=i,i=n,n=t;if(s>a)t=s,s=a,a=t;return y.precision(g)};y.extentMinor=function(n){if(!arguments.length)return[[e,o],[t,r]];e=+n[0][0],t=+n[1][0];o=+n[0][1],r=+n[1][1];if(e>t)n=e,e=t,t=n;if(o>r)n=o,o=r,r=n;return y.precision(g)};y.step=function(t){if(!arguments.length)return y.stepMinor();return y.stepMajor(t).stepMinor(t)};y.stepMajor=function(t){if(!arguments.length)return[c,f];c=+t[0],f=+t[1];return y};y.stepMinor=function(t){if(!arguments.length)return[l,u];l=+t[0],u=+t[1];return y};y.precision=function(l){if(!arguments.length)return g;g=+l;d=oM(o,r,90);h=aM(e,t,g);p=oM(s,a,90);m=aM(i,n,g);return y};return y.extentMajor([[-180,-90+jb],[180,90-jb]]).extentMinor([[-180,-80-jb],[180,80+jb]])}function lM(){return sM()()}var uM=n(33844);function cM(){}const fM=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function dM(){var t=1,e=1,n=s;function i(t,e){return e.map((e=>r(t,e)))}function r(t,e){var i=[],r=[];o(t,e,(o=>{n(o,t,e);if(hM(o)>0)i.push([o]);else r.push(o)}));r.forEach((t=>{for(var e=0,n=i.length,r;e<n;++e){if(pM((r=i[e])[0],t)!==-1){r.push(t);return}}}));return{type:"MultiPolygon",value:e,coordinates:i}}function o(n,i,r){var o=new Array,s=new Array,l,u,c,f,d,h;l=u=-1;f=n[0]>=i;fM[f<<1].forEach(p);while(++l<t-1){c=f,f=n[l+1]>=i;fM[c|f<<1].forEach(p)}fM[f<<0].forEach(p);while(++u<e-1){l=-1;f=n[u*t+t]>=i;d=n[u*t]>=i;fM[f<<1|d<<2].forEach(p);while(++l<t-1){c=f,f=n[u*t+t+l+1]>=i;h=d,d=n[u*t+l+1]>=i;fM[c|f<<1|d<<2|h<<3].forEach(p)}fM[f|d<<3].forEach(p)}l=-1;d=n[u*t]>=i;fM[d<<2].forEach(p);while(++l<t-1){h=d,d=n[u*t+l+1]>=i;fM[d<<2|h<<3].forEach(p)}fM[d<<3].forEach(p);function p(t){var e=[t[0][0]+l,t[0][1]+u],n=[t[1][0]+l,t[1][1]+u],i=a(e),c=a(n),f,d;if(f=s[i]){if(d=o[c]){delete s[f.end];delete o[d.start];if(f===d){f.ring.push(n);r(f.ring)}else{o[f.start]=s[d.end]={start:f.start,end:d.end,ring:f.ring.concat(d.ring)}}}else{delete s[f.end];f.ring.push(n);s[f.end=c]=f}}else if(f=o[c]){if(d=s[i]){delete o[f.start];delete s[d.end];if(f===d){f.ring.push(n);r(f.ring)}else{o[d.start]=s[f.end]={start:d.start,end:f.end,ring:d.ring.concat(f.ring)}}}else{delete o[f.start];f.ring.unshift(e);o[f.start=i]=f}}else{o[i]=s[c]={start:i,end:c,ring:[e,n]}}}}function a(e){return e[0]*2+e[1]*(t+1)*4}function s(n,i,r){n.forEach((n=>{var o=n[0],a=n[1],s=o|0,l=a|0,u,c=i[l*t+s];if(o>0&&o<t&&s===o){u=i[l*t+s-1];n[0]=o+(r-u)/(c-u)-.5}if(a>0&&a<e&&l===a){u=i[(l-1)*t+s];n[1]=a+(r-u)/(c-u)-.5}}))}i.contour=r;i.size=function(n){if(!arguments.length)return[t,e];var r=Math.floor(n[0]),o=Math.floor(n[1]);if(!(r>=0&&o>=0))(0,p.z3)("invalid size");return t=r,e=o,i};i.smooth=function(t){return arguments.length?(n=t?s:cM,i):n===s};return i}function hM(t){var e=0,n=t.length,i=t[n-1][1]*t[0][0]-t[n-1][0]*t[0][1];while(++e<n)i+=t[e-1][1]*t[e][0]-t[e-1][0]*t[e][1];return i}function pM(t,e){var n=-1,i=e.length,r;while(++n<i)if(r=mM(t,e[n]))return r;return 0}function mM(t,e){var n=e[0],i=e[1],r=-1;for(var o=0,a=t.length,s=a-1;o<a;s=o++){var l=t[o],u=l[0],c=l[1],f=t[s],d=f[0],h=f[1];if(gM(l,f,e))return 0;if(c>i!==h>i&&n<(d-u)*(i-c)/(h-c)+u)r=-r}return r}function gM(t,e,n){var i;return yM(t,e,n)&&vM(t[i=+(t[0]===e[0])],n[i],e[i])}function yM(t,e,n){return(e[0]-t[0])*(n[1]-t[1])===(n[0]-t[0])*(e[1]-t[1])}function vM(t,e,n){return t<=e&&e<=n||n<=e&&e<=t}function bM(t,e,n){return function(i){var r=(0,p.Xx)(i),o=n?Math.min(r[0],0):r[0],a=r[1],s=a-o,l=e?(0,P.sG)(o,a,t):s/(t+1);return(0,to.A)(o+l,a,l)}}function xM(t){Di.call(this,null,t)}xM.Definition={type:"Isocontour",metadata:{generates:true},params:[{name:"field",type:"field"},{name:"thresholds",type:"number",array:true},{name:"levels",type:"number"},{name:"nice",type:"boolean",default:false},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"zero",type:"boolean",default:true},{name:"smooth",type:"boolean",default:true},{name:"scale",type:"number",expr:true},{name:"translate",type:"number",array:true,expr:true},{name:"as",type:"string",null:true,default:"contour"}]};(0,p.B)(xM,Di,{transform(t,e){if(this.value&&!e.changed()&&!t.modified()){return e.StopPropagation}var n=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=e.materialize(e.SOURCE).source,r=t.field||p.D_,o=dM().smooth(t.smooth!==false),a=t.thresholds||_M(i,r,t),s=t.as===null?null:t.as||"contour",l=[];i.forEach((e=>{const n=r(e);const i=o.size([n.width,n.height])(n.values,(0,p.cy)(a)?a:a(n.values));wM(i,n,e,t);i.forEach((t=>{l.push(_n(e,bn(s!=null?{[s]:t}:t)))}))}));if(this.value)n.rem=this.value;this.value=n.source=n.add=l;return n}});function _M(t,e,n){const i=bM(n.levels||10,n.nice,n.zero!==false);return n.resolve!=="shared"?i:i(t.map((t=>(0,Pi.A)(e(t).values))))}function wM(t,e,n,i){let r=i.scale||e.scale,o=i.translate||e.translate;if((0,p.Tn)(r))r=r(n,i);if((0,p.Tn)(o))o=o(n,i);if((r===1||r==null)&&!o)return;const a=((0,p.Et)(r)?r:r[0])||1,s=((0,p.Et)(r)?r:r[1])||1,l=o&&o[0]||0,u=o&&o[1]||0;t.forEach(kM(e,a,s,l,u))}function kM(t,e,n,i,r){const o=t.x1||0,a=t.y1||0,s=e*n<0;function l(t){t.forEach(u)}function u(t){if(s)t.reverse();t.forEach(c)}function c(t){t[0]=(t[0]-o)*e+i;t[1]=(t[1]-a)*n+r}return function(t){t.coordinates.forEach(l);return t}}function MM(t,e,n){const i=t>=0?t:er(e,n);return Math.round((Math.sqrt(4*i*i+1)-1)/2)}function SM(t){return(0,p.Tn)(t)?t:(0,p.dY)(+t)}function EM(){var t=t=>t[0],e=t=>t[1],n=p.xH,i=[-1,-1],r=960,o=500,a=2;function s(s,l){const u=MM(i[0],s,t)>>a,c=MM(i[1],s,e)>>a,f=u?u+2:0,d=c?c+2:0,h=2*f+(r>>a),p=2*d+(o>>a),m=new Float32Array(h*p),g=new Float32Array(h*p);let y=m;s.forEach((i=>{const r=f+(+t(i)>>a),o=d+(+e(i)>>a);if(r>=0&&r<h&&o>=0&&o<p){m[r+o*h]+=+n(i)}}));if(u>0&&c>0){zM(h,p,m,g,u);AM(h,p,g,m,c);zM(h,p,m,g,u);AM(h,p,g,m,c);zM(h,p,m,g,u);AM(h,p,g,m,c)}else if(u>0){zM(h,p,m,g,u);zM(h,p,g,m,u);zM(h,p,m,g,u);y=g}else if(c>0){AM(h,p,m,g,c);AM(h,p,g,m,c);AM(h,p,m,g,c);y=g}const v=l?Math.pow(2,-2*a):1/Nv(y);for(let t=0,e=h*p;t<e;++t)y[t]*=v;return{values:y,scale:1<<a,width:h,height:p,x1:f,y1:d,x2:f+(r>>a),y2:d+(o>>a)}}s.x=function(e){return arguments.length?(t=SM(e),s):t};s.y=function(t){return arguments.length?(e=SM(t),s):e};s.weight=function(t){return arguments.length?(n=SM(t),s):n};s.size=function(t){if(!arguments.length)return[r,o];var e=+t[0],n=+t[1];if(!(e>=0&&n>=0))(0,p.z3)("invalid size");return r=e,o=n,s};s.cellSize=function(t){if(!arguments.length)return 1<<a;if(!((t=+t)>=1))(0,p.z3)("invalid cell size");a=Math.floor(Math.log(t)/Math.LN2);return s};s.bandwidth=function(t){if(!arguments.length)return i;t=(0,p.YO)(t);if(t.length===1)t=[+t[0],+t[0]];if(t.length!==2)(0,p.z3)("invalid bandwidth");return i=t,s};return s}function zM(t,e,n,i,r){const o=(r<<1)+1;for(let a=0;a<e;++a){for(let e=0,s=0;e<t+r;++e){if(e<t){s+=n[e+a*t]}if(e>=r){if(e>=o){s-=n[e-o+a*t]}i[e-r+a*t]=s/Math.min(e+1,t-1+o-e,o)}}}}function AM(t,e,n,i,r){const o=(r<<1)+1;for(let a=0;a<t;++a){for(let s=0,l=0;s<e+r;++s){if(s<e){l+=n[a+s*t]}if(s>=r){if(s>=o){l-=n[a+(s-o)*t]}i[a+(s-r)*t]=l/Math.min(s+1,e-1+o-s,o)}}}}function $M(t){Di.call(this,null,t)}$M.Definition={type:"KDE2D",metadata:{generates:true},params:[{name:"size",type:"number",array:true,length:2,required:true},{name:"x",type:"field",required:true},{name:"y",type:"field",required:true},{name:"weight",type:"field"},{name:"groupby",type:"field",array:true},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number",array:true,length:2},{name:"counts",type:"boolean",default:false},{name:"as",type:"string",default:"grid"}]};const OM=["x","y","weight","size","cellSize","bandwidth"];function RM(t,e){OM.forEach((n=>e[n]!=null?t[n](e[n]):0));return t}(0,p.B)($M,Di,{transform(t,e){if(this.value&&!e.changed()&&!t.modified())return e.StopPropagation;var n=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=e.materialize(e.SOURCE).source,r=DM(i,t.groupby),o=(t.groupby||[]).map(p.N6),a=RM(EM(),t),s=t.as||"grid",l=[];function u(t,e){for(let n=0;n<o.length;++n)t[o[n]]=e[n];return t}l=r.map((e=>bn(u({[s]:a(e,t.counts)},e.dims))));if(this.value)n.rem=this.value;this.value=n.source=n.add=l;return n}});function DM(t,e){var n=[],i=t=>t(s),r,o,a,s,l,u;if(e==null){n.push(t)}else{for(r={},o=0,a=t.length;o<a;++o){s=t[o];l=e.map(i);u=r[l];if(!u){r[l]=u=[];u.dims=l;n.push(u)}u.push(s)}}return n}function TM(t){Di.call(this,null,t)}TM.Definition={type:"Contour",metadata:{generates:true},params:[{name:"size",type:"number",array:true,length:2,required:true},{name:"values",type:"number",array:true},{name:"x",type:"field"},{name:"y",type:"field"},{name:"weight",type:"field"},{name:"cellSize",type:"number"},{name:"bandwidth",type:"number"},{name:"count",type:"number"},{name:"nice",type:"boolean",default:false},{name:"thresholds",type:"number",array:true},{name:"smooth",type:"boolean",default:true}]};(0,p.B)(TM,Di,{transform(t,e){if(this.value&&!e.changed()&&!t.modified()){return e.StopPropagation}var n=e.fork(e.NO_SOURCE|e.NO_FIELDS),i=dM().smooth(t.smooth!==false),r=t.values,o=t.thresholds||bM(t.count||10,t.nice,!!r),a=t.size,s,l;if(!r){r=e.materialize(e.SOURCE).source;s=RM(EM(),t)(r,true);l=kM(s,s.scale||1,s.scale||1,0,0);a=[s.width,s.height];r=s.values}o=(0,p.cy)(o)?o:o(r);r=i.size(a)(r,o);if(l)r.forEach(l);if(this.value)n.rem=this.value;this.value=n.source=n.add=(r||[]).map(bn);return n}});const NM="Feature";const CM="FeatureCollection";const LM="MultiPoint";function PM(t){Di.call(this,null,t)}PM.Definition={type:"GeoJSON",metadata:{},params:[{name:"fields",type:"field",array:true,length:2},{name:"geojson",type:"field"}]};(0,p.B)(PM,Di,{transform(t,e){var n=this._features,i=this._points,r=t.fields,o=r&&r[0],a=r&&r[1],s=t.geojson||!r&&p.D_,l=e.ADD,u;u=t.modified()||e.changed(e.REM)||e.modified((0,p.nS)(s))||o&&e.modified((0,p.nS)(o))||a&&e.modified((0,p.nS)(a));if(!this.value||u){l=e.SOURCE;this._features=n=[];this._points=i=[]}if(s){e.visit(l,(t=>n.push(s(t))))}if(o&&a){e.visit(l,(t=>{var e=o(t),n=a(t);if(e!=null&&n!=null&&(e=+e)===e&&(n=+n)===n){i.push([e,n])}}));n=n.concat({type:NM,geometry:{type:LM,coordinates:i}})}this.value={type:CM,features:n}}});function qM(t){Di.call(this,null,t)}qM.Definition={type:"GeoPath",metadata:{modifies:true},params:[{name:"projection",type:"projection"},{name:"field",type:"field"},{name:"pointRadius",type:"number",expr:true},{name:"as",type:"string",default:"path"}]};(0,p.B)(qM,Di,{transform(t,e){var n=e.fork(e.ALL),i=this.value,r=t.field||p.D_,o=t.as||"path",a=n.SOURCE;if(!i||t.modified()){this.value=i=iM(t.projection);n.materialize().reflow()}else{a=r===p.D_||e.modified(r.fields)?n.ADD_MOD:n.ADD}const s=FM(i,t.pointRadius);n.visit(a,(t=>t[o]=i(r(t))));i.pointRadius(s);return n.modifies(o)}});function FM(t,e){const n=t.pointRadius();t.context(null);if(e!=null){t.pointRadius(e)}return n}function IM(t){Di.call(this,null,t)}IM.Definition={type:"GeoPoint",metadata:{modifies:true},params:[{name:"projection",type:"projection",required:true},{name:"fields",type:"field",array:true,required:true,length:2},{name:"as",type:"string",array:true,length:2,default:["x","y"]}]};(0,p.B)(IM,Di,{transform(t,e){var n=t.projection,i=t.fields[0],r=t.fields[1],o=t.as||["x","y"],a=o[0],s=o[1],l;function u(t){const e=n([i(t),r(t)]);if(e){t[a]=e[0];t[s]=e[1]}else{t[a]=undefined;t[s]=undefined}}if(t.modified()){e=e.materialize().reflow(true).visit(e.SOURCE,u)}else{l=e.modified(i.fields)||e.modified(r.fields);e.visit(l?e.ADD_MOD:e.ADD,u)}return e.modifies(o)}});function BM(t){Di.call(this,null,t)}BM.Definition={type:"GeoShape",metadata:{modifies:true,nomod:true},params:[{name:"projection",type:"projection"},{name:"field",type:"field",default:"datum"},{name:"pointRadius",type:"number",expr:true},{name:"as",type:"string",default:"shape"}]};(0,p.B)(BM,Di,{transform(t,e){var n=e.fork(e.ALL),i=this.value,r=t.as||"shape",o=n.ADD;if(!i||t.modified()){this.value=i=UM(iM(t.projection),t.field||(0,p.ZZ)("datum"),t.pointRadius);n.materialize().reflow();o=n.SOURCE}n.visit(o,(t=>t[r]=i));return n.modifies(r)}});function UM(t,e,n){const i=n==null?n=>t(e(n)):i=>{var r=t.pointRadius(),o=t.pointRadius(n)(e(i));t.pointRadius(r);return o};i.context=e=>{t.context(e);return i};return i}function jM(t){Di.call(this,[],t);this.generator=sM()}jM.Definition={type:"Graticule",metadata:{changes:true,generates:true},params:[{name:"extent",type:"array",array:true,length:2,content:{type:"number",array:true,length:2}},{name:"extentMajor",type:"array",array:true,length:2,content:{type:"number",array:true,length:2}},{name:"extentMinor",type:"array",array:true,length:2,content:{type:"number",array:true,length:2}},{name:"step",type:"number",array:true,length:2},{name:"stepMajor",type:"number",array:true,length:2,default:[90,360]},{name:"stepMinor",type:"number",array:true,length:2,default:[10,10]},{name:"precision",type:"number",default:2.5}]};(0,p.B)(jM,Di,{transform(t,e){var n=this.value,i=this.generator,r;if(!n.length||t.modified()){for(const e in t){if((0,p.Tn)(i[e])){i[e](t[e])}}}r=i();if(n.length){e.mod.push(wn(n[0],r))}else{e.add.push(bn(r))}n[0]=r;return e}});function YM(t){Di.call(this,null,t)}YM.Definition={type:"heatmap",metadata:{modifies:true},params:[{name:"field",type:"field"},{name:"color",type:"string",expr:true},{name:"opacity",type:"number",expr:true},{name:"resolve",type:"enum",values:["shared","independent"],default:"independent"},{name:"as",type:"string",default:"image"}]};(0,p.B)(YM,Di,{transform(t,e){if(!e.changed()&&!t.modified()){return e.StopPropagation}var n=e.materialize(e.SOURCE).source,i=t.resolve==="shared",r=t.field||p.D_,o=WM(t.opacity,t),a=GM(t.color,t),s=t.as||"image",l={$x:0,$y:0,$value:0,$max:i?(0,Pi.A)(n.map((t=>(0,Pi.A)(r(t).values)))):0};n.forEach((t=>{const e=r(t);const n=(0,p.X$)({},t,l);if(!i)n.$max=(0,Pi.A)(e.values||[]);t[s]=HM(e,n,a.dep?a:(0,p.dY)(a(n)),o.dep?o:(0,p.dY)(o(n)))}));return e.reflow(true).modifies(s)}});function GM(t,e){let n;if((0,p.Tn)(t)){n=n=>(0,uM.Qh)(t(n,e));n.dep=XM(t)}else{n=(0,p.dY)((0,uM.Qh)(t||"#888"))}return n}function WM(t,e){let n;if((0,p.Tn)(t)){n=n=>t(n,e);n.dep=XM(t)}else if(t){n=(0,p.dY)(t)}else{n=t=>t.$value/t.$max||0;n.dep=true}return n}function XM(t){if(!(0,p.Tn)(t))return false;const e=(0,p.M1)((0,p.nS)(t));return e.$x||e.$y||e.$value||e.$max}function HM(t,e,n,i){const r=t.width,o=t.height,a=t.x1||0,s=t.y1||0,l=t.x2||r,u=t.y2||o,c=t.values,f=c?t=>c[t]:p.v_,d=Ks(l-a,u-s),h=d.getContext("2d"),m=h.getImageData(0,0,l-a,u-s),g=m.data;for(let p=s,y=0;p<u;++p){e.$y=p-s;for(let t=a,o=p*r;t<l;++t,y+=4){e.$x=t-a;e.$value=f(t+o);const r=n(e);g[y+0]=r.r;g[y+1]=r.g;g[y+2]=r.b;g[y+3]=~~(255*i(e))}}h.putImageData(m,0,0);return d}function VM(t){Di.call(this,null,t);this.modified(true)}(0,p.B)(VM,Di,{transform(t,e){let n=this.value;if(!n||t.modified("type")){this.value=n=ZM(t.type);tM.forEach((e=>{if(t[e]!=null)QM(n,e,t[e])}))}else{tM.forEach((e=>{if(t.modified(e))QM(n,e,t[e])}))}if(t.pointRadius!=null)n.path.pointRadius(t.pointRadius);if(t.fit)KM(n,t);return e.fork(e.NO_SOURCE|e.NO_FIELDS)}});function KM(t,e){const n=JM(e.fit);e.extent?t.fitExtent(e.extent,n):e.size?t.fitSize(e.size,n):0}function ZM(t){const e=nM((t||"mercator").toLowerCase());if(!e)(0,p.z3)("Unrecognized projection type: "+t);return e()}function QM(t,e,n){if((0,p.Tn)(t[e]))t[e](n)}function JM(t){t=(0,p.YO)(t);return t.length===1?t[0]:{type:CM,features:t.reduce(((t,e)=>t.concat(tS(e))),[])}}function tS(t){return t.type===CM?t.features:(0,p.YO)(t).filter((t=>t!=null)).map((t=>t.type===NM?t:{type:NM,geometry:t}))}function eS(t,e){var n,i=1;if(t==null)t=0;if(e==null)e=0;function r(){var r,o=n.length,a,s=0,l=0;for(r=0;r<o;++r){a=n[r],s+=a.x,l+=a.y}for(s=(s/o-t)*i,l=(l/o-e)*i,r=0;r<o;++r){a=n[r],a.x-=s,a.y-=l}}r.initialize=function(t){n=t};r.x=function(e){return arguments.length?(t=+e,r):t};r.y=function(t){return arguments.length?(e=+t,r):e};r.strength=function(t){return arguments.length?(i=+t,r):i};return r}function nS(t){const e=+this._x.call(null,t),n=+this._y.call(null,t);return iS(this.cover(e,n),e,n,t)}function iS(t,e,n,i){if(isNaN(e)||isNaN(n))return t;var r,o=t._root,a={data:i},s=t._x0,l=t._y0,u=t._x1,c=t._y1,f,d,h,p,m,g,y,v;if(!o)return t._root=a,t;while(o.length){if(m=e>=(f=(s+u)/2))s=f;else u=f;if(g=n>=(d=(l+c)/2))l=d;else c=d;if(r=o,!(o=o[y=g<<1|m]))return r[y]=a,t}h=+t._x.call(null,o.data);p=+t._y.call(null,o.data);if(e===h&&n===p)return a.next=o,r?r[y]=a:t._root=a,t;do{r=r?r[y]=new Array(4):t._root=new Array(4);if(m=e>=(f=(s+u)/2))s=f;else u=f;if(g=n>=(d=(l+c)/2))l=d;else c=d}while((y=g<<1|m)===(v=(p>=d)<<1|h>=f));return r[v]=o,r[y]=a,t}function rS(t){var e,n,i=t.length,r,o,a=new Array(i),s=new Array(i),l=Infinity,u=Infinity,c=-Infinity,f=-Infinity;for(n=0;n<i;++n){if(isNaN(r=+this._x.call(null,e=t[n]))||isNaN(o=+this._y.call(null,e)))continue;a[n]=r;s[n]=o;if(r<l)l=r;if(r>c)c=r;if(o<u)u=o;if(o>f)f=o}if(l>c||u>f)return this;this.cover(l,u).cover(c,f);for(n=0;n<i;++n){iS(this,a[n],s[n],t[n])}return this}function oS(t,e){if(isNaN(t=+t)||isNaN(e=+e))return this;var n=this._x0,i=this._y0,r=this._x1,o=this._y1;if(isNaN(n)){r=(n=Math.floor(t))+1;o=(i=Math.floor(e))+1}else{var a=r-n||1,s=this._root,l,u;while(n>t||t>=r||i>e||e>=o){u=(e<i)<<1|t<n;l=new Array(4),l[u]=s,s=l,a*=2;switch(u){case 0:r=n+a,o=i+a;break;case 1:n=r-a,o=i+a;break;case 2:r=n+a,i=o-a;break;case 3:n=r-a,i=o-a;break}}if(this._root&&this._root.length)this._root=s}this._x0=n;this._y0=i;this._x1=r;this._y1=o;return this}function aS(){var t=[];this.visit((function(e){if(!e.length)do{t.push(e.data)}while(e=e.next)}));return t}function sS(t){return arguments.length?this.cover(+t[0][0],+t[0][1]).cover(+t[1][0],+t[1][1]):isNaN(this._x0)?undefined:[[this._x0,this._y0],[this._x1,this._y1]]}function lS(t,e,n,i,r){this.node=t;this.x0=e;this.y0=n;this.x1=i;this.y1=r}function uS(t,e,n){var i,r=this._x0,o=this._y0,a,s,l,u,c=this._x1,f=this._y1,d=[],h=this._root,p,m;if(h)d.push(new lS(h,r,o,c,f));if(n==null)n=Infinity;else{r=t-n,o=e-n;c=t+n,f=e+n;n*=n}while(p=d.pop()){if(!(h=p.node)||(a=p.x0)>c||(s=p.y0)>f||(l=p.x1)<r||(u=p.y1)<o)continue;if(h.length){var g=(a+l)/2,y=(s+u)/2;d.push(new lS(h[3],g,y,l,u),new lS(h[2],a,y,g,u),new lS(h[1],g,s,l,y),new lS(h[0],a,s,g,y));if(m=(e>=y)<<1|t>=g){p=d[d.length-1];d[d.length-1]=d[d.length-1-m];d[d.length-1-m]=p}}else{var v=t-+this._x.call(null,h.data),b=e-+this._y.call(null,h.data),x=v*v+b*b;if(x<n){var _=Math.sqrt(n=x);r=t-_,o=e-_;c=t+_,f=e+_;i=h.data}}}return i}function cS(t){if(isNaN(c=+this._x.call(null,t))||isNaN(f=+this._y.call(null,t)))return this;var e,n=this._root,i,r,o,a=this._x0,s=this._y0,l=this._x1,u=this._y1,c,f,d,h,p,m,g,y;if(!n)return this;if(n.length)while(true){if(p=c>=(d=(a+l)/2))a=d;else l=d;if(m=f>=(h=(s+u)/2))s=h;else u=h;if(!(e=n,n=n[g=m<<1|p]))return this;if(!n.length)break;if(e[g+1&3]||e[g+2&3]||e[g+3&3])i=e,y=g}while(n.data!==t)if(!(r=n,n=n.next))return this;if(o=n.next)delete n.next;if(r)return o?r.next=o:delete r.next,this;if(!e)return this._root=o,this;o?e[g]=o:delete e[g];if((n=e[0]||e[1]||e[2]||e[3])&&n===(e[3]||e[2]||e[1]||e[0])&&!n.length){if(i)i[y]=n;else this._root=n}return this}function fS(t){for(var e=0,n=t.length;e<n;++e)this.remove(t[e]);return this}function dS(){return this._root}function hS(){var t=0;this.visit((function(e){if(!e.length)do{++t}while(e=e.next)}));return t}function pS(t){var e=[],n,i=this._root,r,o,a,s,l;if(i)e.push(new lS(i,this._x0,this._y0,this._x1,this._y1));while(n=e.pop()){if(!t(i=n.node,o=n.x0,a=n.y0,s=n.x1,l=n.y1)&&i.length){var u=(o+s)/2,c=(a+l)/2;if(r=i[3])e.push(new lS(r,u,c,s,l));if(r=i[2])e.push(new lS(r,o,c,u,l));if(r=i[1])e.push(new lS(r,u,a,s,c));if(r=i[0])e.push(new lS(r,o,a,u,c))}}return this}function mS(t){var e=[],n=[],i;if(this._root)e.push(new lS(this._root,this._x0,this._y0,this._x1,this._y1));while(i=e.pop()){var r=i.node;if(r.length){var o,a=i.x0,s=i.y0,l=i.x1,u=i.y1,c=(a+l)/2,f=(s+u)/2;if(o=r[0])e.push(new lS(o,a,s,c,f));if(o=r[1])e.push(new lS(o,c,s,l,f));if(o=r[2])e.push(new lS(o,a,f,c,u));if(o=r[3])e.push(new lS(o,c,f,l,u))}n.push(i)}while(i=n.pop()){t(i.node,i.x0,i.y0,i.x1,i.y1)}return this}function gS(t){return t[0]}function yS(t){return arguments.length?(this._x=t,this):this._x}function vS(t){return t[1]}function bS(t){return arguments.length?(this._y=t,this):this._y}function xS(t,e,n){var i=new _S(e==null?gS:e,n==null?vS:n,NaN,NaN,NaN,NaN);return t==null?i:i.addAll(t)}function _S(t,e,n,i,r,o){this._x=t;this._y=e;this._x0=n;this._y0=i;this._x1=r;this._y1=o;this._root=undefined}function wS(t){var e={data:t.data},n=e;while(t=t.next)n=n.next={data:t.data};return e}var kS=xS.prototype=_S.prototype;kS.copy=function(){var t=new _S(this._x,this._y,this._x0,this._y0,this._x1,this._y1),e=this._root,n,i;if(!e)return t;if(!e.length)return t._root=wS(e),t;n=[{source:e,target:t._root=new Array(4)}];while(e=n.pop()){for(var r=0;r<4;++r){if(i=e.source[r]){if(i.length)n.push({source:i,target:e.target[r]=new Array(4)});else e.target[r]=wS(i)}}}return t};kS.add=nS;kS.addAll=rS;kS.cover=oS;kS.data=aS;kS.extent=sS;kS.find=uS;kS.remove=cS;kS.removeAll=fS;kS.root=dS;kS.size=hS;kS.visit=pS;kS.visitAfter=mS;kS.x=yS;kS.y=bS;function MS(t){return function(){return t}}function SS(t){return(t()-.5)*1e-6}function ES(t){return t.x+t.vx}function zS(t){return t.y+t.vy}function AS(t){var e,n,i,r=1,o=1;if(typeof t!=="function")t=MS(t==null?1:+t);function a(){var t,a=e.length,l,u,c,f,d,h;for(var p=0;p<o;++p){l=xS(e,ES,zS).visitAfter(s);for(t=0;t<a;++t){u=e[t];d=n[u.index],h=d*d;c=u.x+u.vx;f=u.y+u.vy;l.visit(m)}}function m(t,e,n,o,a){var s=t.data,l=t.r,p=d+l;if(s){if(s.index>u.index){var m=c-s.x-s.vx,g=f-s.y-s.vy,y=m*m+g*g;if(y<p*p){if(m===0)m=SS(i),y+=m*m;if(g===0)g=SS(i),y+=g*g;y=(p-(y=Math.sqrt(y)))/y*r;u.vx+=(m*=y)*(p=(l*=l)/(h+l));u.vy+=(g*=y)*p;s.vx-=m*(p=1-p);s.vy-=g*p}}return}return e>c+p||o<c-p||n>f+p||a<f-p}}function s(t){if(t.data)return t.r=n[t.data.index];for(var e=t.r=0;e<4;++e){if(t[e]&&t[e].r>t.r){t.r=t[e].r}}}function l(){if(!e)return;var i,r=e.length,o;n=new Array(r);for(i=0;i<r;++i)o=e[i],n[o.index]=+t(o,i,e)}a.initialize=function(t,n){e=t;i=n;l()};a.iterations=function(t){return arguments.length?(o=+t,a):o};a.strength=function(t){return arguments.length?(r=+t,a):r};a.radius=function(e){return arguments.length?(t=typeof e==="function"?e:MS(+e),l(),a):t};return a}var $S=n(62996);var OS=n(14036);const RS=1664525;const DS=1013904223;const TS=4294967296;function NS(){let t=1;return()=>(t=(RS*t+DS)%TS)/TS}function CS(t){return t.x}function LS(t){return t.y}var PS=10,qS=Math.PI*(3-Math.sqrt(5));function FS(t){var e,n=1,i=.001,r=1-Math.pow(i,1/300),o=0,a=.6,s=new Map,l=(0,OS.O1)(f),u=(0,$S.A)("tick","end"),c=NS();if(t==null)t=[];function f(){d();u.call("tick",e);if(n<i){l.stop();u.call("end",e)}}function d(i){var l,u=t.length,c;if(i===undefined)i=1;for(var f=0;f<i;++f){n+=(o-n)*r;s.forEach((function(t){t(n)}));for(l=0;l<u;++l){c=t[l];if(c.fx==null)c.x+=c.vx*=a;else c.x=c.fx,c.vx=0;if(c.fy==null)c.y+=c.vy*=a;else c.y=c.fy,c.vy=0}}return e}function h(){for(var e=0,n=t.length,i;e<n;++e){i=t[e],i.index=e;if(i.fx!=null)i.x=i.fx;if(i.fy!=null)i.y=i.fy;if(isNaN(i.x)||isNaN(i.y)){var r=PS*Math.sqrt(.5+e),o=e*qS;i.x=r*Math.cos(o);i.y=r*Math.sin(o)}if(isNaN(i.vx)||isNaN(i.vy)){i.vx=i.vy=0}}}function p(e){if(e.initialize)e.initialize(t,c);return e}h();return e={tick:d,restart:function(){return l.restart(f),e},stop:function(){return l.stop(),e},nodes:function(n){return arguments.length?(t=n,h(),s.forEach(p),e):t},alpha:function(t){return arguments.length?(n=+t,e):n},alphaMin:function(t){return arguments.length?(i=+t,e):i},alphaDecay:function(t){return arguments.length?(r=+t,e):+r},alphaTarget:function(t){return arguments.length?(o=+t,e):o},velocityDecay:function(t){return arguments.length?(a=1-t,e):1-a},randomSource:function(t){return arguments.length?(c=t,s.forEach(p),e):c},force:function(t,n){return arguments.length>1?(n==null?s.delete(t):s.set(t,p(n)),e):s.get(t)},find:function(e,n,i){var r=0,o=t.length,a,s,l,u,c;if(i==null)i=Infinity;else i*=i;for(r=0;r<o;++r){u=t[r];a=e-u.x;s=n-u.y;l=a*a+s*s;if(l<i)c=u,i=l}return c},on:function(t,n){return arguments.length>1?(u.on(t,n),e):u.on(t)}}}function IS(){var t,e,n,i,r=MS(-30),o,a=1,s=Infinity,l=.81;function u(n){var r,o=t.length,a=xS(t,CS,LS).visitAfter(f);for(i=n,r=0;r<o;++r)e=t[r],a.visit(d)}function c(){if(!t)return;var e,n=t.length,i;o=new Array(n);for(e=0;e<n;++e)i=t[e],o[i.index]=+r(i,e,t)}function f(t){var e=0,n,i,r=0,a,s,l;if(t.length){for(a=s=l=0;l<4;++l){if((n=t[l])&&(i=Math.abs(n.value))){e+=n.value,r+=i,a+=i*n.x,s+=i*n.y}}t.x=a/r;t.y=s/r}else{n=t;n.x=n.data.x;n.y=n.data.y;do{e+=o[n.data.index]}while(n=n.next)}t.value=e}function d(t,r,u,c){if(!t.value)return true;var f=t.x-e.x,d=t.y-e.y,h=c-r,p=f*f+d*d;if(h*h/l<p){if(p<s){if(f===0)f=SS(n),p+=f*f;if(d===0)d=SS(n),p+=d*d;if(p<a)p=Math.sqrt(a*p);e.vx+=f*t.value*i/p;e.vy+=d*t.value*i/p}return true}else if(t.length||p>=s)return;if(t.data!==e||t.next){if(f===0)f=SS(n),p+=f*f;if(d===0)d=SS(n),p+=d*d;if(p<a)p=Math.sqrt(a*p)}do{if(t.data!==e){h=o[t.data.index]*i/p;e.vx+=f*h;e.vy+=d*h}}while(t=t.next)}u.initialize=function(e,i){t=e;n=i;c()};u.strength=function(t){return arguments.length?(r=typeof t==="function"?t:MS(+t),c(),u):r};u.distanceMin=function(t){return arguments.length?(a=t*t,u):Math.sqrt(a)};u.distanceMax=function(t){return arguments.length?(s=t*t,u):Math.sqrt(s)};u.theta=function(t){return arguments.length?(l=t*t,u):Math.sqrt(l)};return u}function BS(t){return t.index}function US(t,e){var n=t.get(e);if(!n)throw new Error("node not found: "+e);return n}function jS(t){var e=BS,n=f,i,r=MS(30),o,a,s,l,u,c=1;if(t==null)t=[];function f(t){return 1/Math.min(s[t.source.index],s[t.target.index])}function d(e){for(var n=0,r=t.length;n<c;++n){for(var a=0,s,f,d,h,p,m,g;a<r;++a){s=t[a],f=s.source,d=s.target;h=d.x+d.vx-f.x-f.vx||SS(u);p=d.y+d.vy-f.y-f.vy||SS(u);m=Math.sqrt(h*h+p*p);m=(m-o[a])/m*e*i[a];h*=m,p*=m;d.vx-=h*(g=l[a]);d.vy-=p*g;f.vx+=h*(g=1-g);f.vy+=p*g}}}function h(){if(!a)return;var n,r=a.length,u=t.length,c=new Map(a.map(((t,n)=>[e(t,n,a),t]))),f;for(n=0,s=new Array(r);n<u;++n){f=t[n],f.index=n;if(typeof f.source!=="object")f.source=US(c,f.source);if(typeof f.target!=="object")f.target=US(c,f.target);s[f.source.index]=(s[f.source.index]||0)+1;s[f.target.index]=(s[f.target.index]||0)+1}for(n=0,l=new Array(u);n<u;++n){f=t[n],l[n]=s[f.source.index]/(s[f.source.index]+s[f.target.index])}i=new Array(u),p();o=new Array(u),m()}function p(){if(!a)return;for(var e=0,r=t.length;e<r;++e){i[e]=+n(t[e],e,t)}}function m(){if(!a)return;for(var e=0,n=t.length;e<n;++e){o[e]=+r(t[e],e,t)}}d.initialize=function(t,e){a=t;u=e;h()};d.links=function(e){return arguments.length?(t=e,h(),d):t};d.id=function(t){return arguments.length?(e=t,d):e};d.iterations=function(t){return arguments.length?(c=+t,d):c};d.strength=function(t){return arguments.length?(n=typeof t==="function"?t:MS(+t),p(),d):n};d.distance=function(t){return arguments.length?(r=typeof t==="function"?t:MS(+t),m(),d):r};return d}function YS(t){var e=MS(.1),n,i,r;if(typeof t!=="function")t=MS(t==null?0:+t);function o(t){for(var e=0,o=n.length,a;e<o;++e){a=n[e],a.vx+=(r[e]-a.x)*i[e]*t}}function a(){if(!n)return;var o,a=n.length;i=new Array(a);r=new Array(a);for(o=0;o<a;++o){i[o]=isNaN(r[o]=+t(n[o],o,n))?0:+e(n[o],o,n)}}o.initialize=function(t){n=t;a()};o.strength=function(t){return arguments.length?(e=typeof t==="function"?t:MS(+t),a(),o):e};o.x=function(e){return arguments.length?(t=typeof e==="function"?e:MS(+e),a(),o):t};return o}function GS(t){var e=MS(.1),n,i,r;if(typeof t!=="function")t=MS(t==null?0:+t);function o(t){for(var e=0,o=n.length,a;e<o;++e){a=n[e],a.vy+=(r[e]-a.y)*i[e]*t}}function a(){if(!n)return;var o,a=n.length;i=new Array(a);r=new Array(a);for(o=0;o<a;++o){i[o]=isNaN(r[o]=+t(n[o],o,n))?0:+e(n[o],o,n)}}o.initialize=function(t){n=t;a()};o.strength=function(t){return arguments.length?(e=typeof t==="function"?t:MS(+t),a(),o):e};o.y=function(e){return arguments.length?(t=typeof e==="function"?e:MS(+e),a(),o):t};return o}const WS={center:eS,collide:AS,nbody:IS,link:jS,x:YS,y:GS};const XS="forces",HS=["alpha","alphaMin","alphaTarget","velocityDecay","forces"],VS=["static","iterations"],KS=["x","y","vx","vy"];function ZS(t){Di.call(this,null,t)}ZS.Definition={type:"Force",metadata:{modifies:true},params:[{name:"static",type:"boolean",default:false},{name:"restart",type:"boolean",default:false},{name:"iterations",type:"number",default:300},{name:"alpha",type:"number",default:1},{name:"alphaMin",type:"number",default:.001},{name:"alphaTarget",type:"number",default:0},{name:"velocityDecay",type:"number",default:.4},{name:"forces",type:"param",array:true,params:[{key:{force:"center"},params:[{name:"x",type:"number",default:0},{name:"y",type:"number",default:0}]},{key:{force:"collide"},params:[{name:"radius",type:"number",expr:true},{name:"strength",type:"number",default:.7},{name:"iterations",type:"number",default:1}]},{key:{force:"nbody"},params:[{name:"strength",type:"number",default:-30,expr:true},{name:"theta",type:"number",default:.9},{name:"distanceMin",type:"number",default:1},{name:"distanceMax",type:"number"}]},{key:{force:"link"},params:[{name:"links",type:"data"},{name:"id",type:"field"},{name:"distance",type:"number",default:30,expr:true},{name:"strength",type:"number",expr:true},{name:"iterations",type:"number",default:1}]},{key:{force:"x"},params:[{name:"strength",type:"number",default:.1},{name:"x",type:"field"}]},{key:{force:"y"},params:[{name:"strength",type:"number",default:.1},{name:"y",type:"field"}]}]},{name:"as",type:"string",array:true,modify:false,default:KS}]};(0,p.B)(ZS,Di,{transform(t,e){var n=this.value,i=e.changed(e.ADD_REM),r=t.modified(HS),o=t.iterations||300;if(!n){this.value=n=JS(e.source,t);n.on("tick",QS(e.dataflow,this));if(!t.static){i=true;n.tick()}e.modifies("index")}else{if(i){e.modifies("index");n.nodes(e.source)}if(r||e.changed(e.MOD)){tE(n,t,0,e)}}if(r||i||t.modified(VS)||e.changed()&&t.restart){n.alpha(Math.max(n.alpha(),t.alpha||1)).alphaDecay(1-Math.pow(n.alphaMin(),1/o));if(t.static){for(n.stop();--o>=0;)n.tick()}else{if(n.stopped())n.restart();if(!i)return e.StopPropagation}}return this.finish(t,e)},finish(t,e){const n=e.dataflow;for(let s=this._argops,l=0,u=s.length,c;l<u;++l){c=s[l];if(c.name!==XS||c.op._argval.force!=="link"){continue}for(var i=c.op._argops,r=0,o=i.length,a;r<o;++r){if(i[r].name==="links"&&(a=i[r].op.source)){n.pulse(a,n.changeset().reflow());break}}}return e.reflow(t.modified()).modifies(KS)}});function QS(t,e){return()=>t.touch(e).run()}function JS(t,e){const n=FS(t),i=n.stop,r=n.restart;let o=false;n.stopped=()=>o;n.restart=()=>(o=false,r());n.stop=()=>(o=true,i());return tE(n,e,true).on("end",(()=>o=true))}function tE(t,e,n,i){var r=(0,p.YO)(e.forces),o,a,s,l;for(o=0,a=HS.length;o<a;++o){s=HS[o];if(s!==XS&&e.modified(s))t[s](e[s])}for(o=0,a=r.length;o<a;++o){l=XS+o;s=n||e.modified(XS,o)?nE(r[o]):i&&eE(r[o],i)?t.force(l):null;if(s)t.force(l,s)}for(a=t.numForces||0;o<a;++o){t.force(XS+o,null)}t.numForces=r.length;return t}function eE(t,e){var n,i;for(n in t){if((0,p.Tn)(i=t[n])&&e.modified((0,p.nS)(i)))return 1}return 0}function nE(t){var e,n;if(!(0,p.mQ)(WS,t.force)){(0,p.z3)("Unrecognized force: "+t.force)}e=WS[t.force]();for(n in t){if((0,p.Tn)(e[n]))iE(e[n],t[n],t)}return e}function iE(t,e,n){t((0,p.Tn)(e)?t=>e(t,n):e)}function rE(t){var e=0,n=t.children,i=n&&n.length;if(!i)e=1;else while(--i>=0)e+=n[i].value;t.value=e}function oE(){return this.eachAfter(rE)}function aE(t,e){let n=-1;for(const i of this){t.call(e,i,++n,this)}return this}function sE(t,e){var n=this,i=[n],r,o,a=-1;while(n=i.pop()){t.call(e,n,++a,this);if(r=n.children){for(o=r.length-1;o>=0;--o){i.push(r[o])}}}return this}function lE(t,e){var n=this,i=[n],r=[],o,a,s,l=-1;while(n=i.pop()){r.push(n);if(o=n.children){for(a=0,s=o.length;a<s;++a){i.push(o[a])}}}while(n=r.pop()){t.call(e,n,++l,this)}return this}function uE(t,e){let n=-1;for(const i of this){if(t.call(e,i,++n,this)){return i}}}function cE(t){return this.eachAfter((function(e){var n=+t(e.data)||0,i=e.children,r=i&&i.length;while(--r>=0)n+=i[r].value;e.value=n}))}function fE(t){return this.eachBefore((function(e){if(e.children){e.children.sort(t)}}))}function dE(t){var e=this,n=hE(e,t),i=[e];while(e!==n){e=e.parent;i.push(e)}var r=i.length;while(t!==n){i.splice(r,0,t);t=t.parent}return i}function hE(t,e){if(t===e)return t;var n=t.ancestors(),i=e.ancestors(),r=null;t=n.pop();e=i.pop();while(t===e){r=t;t=n.pop();e=i.pop()}return r}function pE(){var t=this,e=[t];while(t=t.parent){e.push(t)}return e}function mE(){return Array.from(this)}function gE(){var t=[];this.eachBefore((function(e){if(!e.children){t.push(e)}}));return t}function yE(){var t=this,e=[];t.each((function(n){if(n!==t){e.push({source:n.parent,target:n})}}));return e}function*vE(){var t=this,e,n=[t],i,r,o;do{e=n.reverse(),n=[];while(t=e.pop()){yield t;if(i=t.children){for(r=0,o=i.length;r<o;++r){n.push(i[r])}}}}while(n.length)}function bE(t,e){if(t instanceof Map){t=[undefined,t];if(e===undefined)e=wE}else if(e===undefined){e=_E}var n=new SE(t),i,r=[n],o,a,s,l;while(i=r.pop()){if((a=e(i.data))&&(l=(a=Array.from(a)).length)){i.children=a;for(s=l-1;s>=0;--s){r.push(o=a[s]=new SE(a[s]));o.parent=i;o.depth=i.depth+1}}}return n.eachBefore(ME)}function xE(){return bE(this).eachBefore(kE)}function _E(t){return t.children}function wE(t){return Array.isArray(t)?t[1]:null}function kE(t){if(t.data.value!==undefined)t.value=t.data.value;t.data=t.data.data}function ME(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function SE(t){this.data=t;this.depth=this.height=0;this.parent=null}SE.prototype=bE.prototype={constructor:SE,count:oE,each:aE,eachAfter:lE,eachBefore:sE,find:uE,sum:cE,sort:fE,path:dE,ancestors:pE,descendants:mE,leaves:gE,links:yE,copy:xE,[Symbol.iterator]:vE};function EE(t){return t==null?null:zE(t)}function zE(t){if(typeof t!=="function")throw new Error;return t}function AE(){return 0}function $E(t){return function(){return t}}const OE=1664525;const RE=1013904223;const DE=4294967296;function TE(){let t=1;return()=>(t=(OE*t+RE)%DE)/DE}function NE(t){return typeof t==="object"&&"length"in t?t:Array.from(t)}function CE(t,e){let n=t.length,i,r;while(n){r=e()*n--|0;i=t[n];t[n]=t[r];t[r]=i}return t}function LE(t){return PE(t,lcg())}function PE(t,e){var n=0,i=(t=CE(Array.from(t),e)).length,r=[],o,a;while(n<i){o=t[n];if(a&&IE(a,o))++n;else a=UE(r=qE(r,o)),n=0}return a}function qE(t,e){var n,i;if(BE(e,t))return[e];for(n=0;n<t.length;++n){if(FE(e,t[n])&&BE(YE(t[n],e),t)){return[t[n],e]}}for(n=0;n<t.length-1;++n){for(i=n+1;i<t.length;++i){if(FE(YE(t[n],t[i]),e)&&FE(YE(t[n],e),t[i])&&FE(YE(t[i],e),t[n])&&BE(GE(t[n],t[i],e),t)){return[t[n],t[i],e]}}}throw new Error}function FE(t,e){var n=t.r-e.r,i=e.x-t.x,r=e.y-t.y;return n<0||n*n<i*i+r*r}function IE(t,e){var n=t.r-e.r+Math.max(t.r,e.r,1)*1e-9,i=e.x-t.x,r=e.y-t.y;return n>0&&n*n>i*i+r*r}function BE(t,e){for(var n=0;n<e.length;++n){if(!IE(t,e[n])){return false}}return true}function UE(t){switch(t.length){case 1:return jE(t[0]);case 2:return YE(t[0],t[1]);case 3:return GE(t[0],t[1],t[2])}}function jE(t){return{x:t.x,y:t.y,r:t.r}}function YE(t,e){var n=t.x,i=t.y,r=t.r,o=e.x,a=e.y,s=e.r,l=o-n,u=a-i,c=s-r,f=Math.sqrt(l*l+u*u);return{x:(n+o+l/f*c)/2,y:(i+a+u/f*c)/2,r:(f+r+s)/2}}function GE(t,e,n){var i=t.x,r=t.y,o=t.r,a=e.x,s=e.y,l=e.r,u=n.x,c=n.y,f=n.r,d=i-a,h=i-u,p=r-s,m=r-c,g=l-o,y=f-o,v=i*i+r*r-o*o,b=v-a*a-s*s+l*l,x=v-u*u-c*c+f*f,_=h*p-d*m,w=(p*x-m*b)/(_*2)-i,k=(m*g-p*y)/_,M=(h*b-d*x)/(_*2)-r,S=(d*y-h*g)/_,E=k*k+S*S-1,z=2*(o+w*k+M*S),A=w*w+M*M-o*o,$=-(Math.abs(E)>1e-6?(z+Math.sqrt(z*z-4*E*A))/(2*E):A/z);return{x:i+w+k*$,y:r+M+S*$,r:$}}function WE(t,e,n){var i=t.x-e.x,r,o,a=t.y-e.y,s,l,u=i*i+a*a;if(u){o=e.r+n.r,o*=o;l=t.r+n.r,l*=l;if(o>l){r=(u+l-o)/(2*u);s=Math.sqrt(Math.max(0,l/u-r*r));n.x=t.x-r*i-s*a;n.y=t.y-r*a+s*i}else{r=(u+o-l)/(2*u);s=Math.sqrt(Math.max(0,o/u-r*r));n.x=e.x+r*i-s*a;n.y=e.y+r*a+s*i}}else{n.x=e.x+n.r;n.y=e.y}}function XE(t,e){var n=t.r+e.r-1e-6,i=e.x-t.x,r=e.y-t.y;return n>0&&n*n>i*i+r*r}function HE(t){var e=t._,n=t.next._,i=e.r+n.r,r=(e.x*n.r+n.x*e.r)/i,o=(e.y*n.r+n.y*e.r)/i;return r*r+o*o}function VE(t){this._=t;this.next=null;this.previous=null}function KE(t,e){if(!(o=(t=NE(t)).length))return 0;var n,i,r,o,a,s,l,u,c,f,d;n=t[0],n.x=0,n.y=0;if(!(o>1))return n.r;i=t[1],n.x=-i.r,i.x=n.r,i.y=0;if(!(o>2))return n.r+i.r;WE(i,n,r=t[2]);n=new VE(n),i=new VE(i),r=new VE(r);n.next=r.previous=i;i.next=n.previous=r;r.next=i.previous=n;t:for(l=3;l<o;++l){WE(n._,i._,r=t[l]),r=new VE(r);u=i.next,c=n.previous,f=i._.r,d=n._.r;do{if(f<=d){if(XE(u._,r._)){i=u,n.next=i,i.previous=n,--l;continue t}f+=u._.r,u=u.next}else{if(XE(c._,r._)){n=c,n.next=i,i.previous=n,--l;continue t}d+=c._.r,c=c.previous}}while(u!==c.next);r.previous=n,r.next=i,n.next=i.previous=i=r;a=HE(n);while((r=r.next)!==i){if((s=HE(r))<a){n=r,a=s}}i=n.next}n=[i._],r=i;while((r=r.next)!==i)n.push(r._);r=PE(n,e);for(l=0;l<o;++l)n=t[l],n.x-=r.x,n.y-=r.y;return r.r}function ZE(t){KE(t,lcg());return t}function QE(t){return Math.sqrt(t.value)}function JE(){var t=null,e=1,n=1,i=AE;function r(r){const o=TE();r.x=e/2,r.y=n/2;if(t){r.eachBefore(tz(t)).eachAfter(ez(i,.5,o)).eachBefore(nz(1))}else{r.eachBefore(tz(QE)).eachAfter(ez(AE,1,o)).eachAfter(ez(i,r.r/Math.min(e,n),o)).eachBefore(nz(Math.min(e,n)/(2*r.r)))}return r}r.radius=function(e){return arguments.length?(t=EE(e),r):t};r.size=function(t){return arguments.length?(e=+t[0],n=+t[1],r):[e,n]};r.padding=function(t){return arguments.length?(i=typeof t==="function"?t:$E(+t),r):i};return r}function tz(t){return function(e){if(!e.children){e.r=Math.max(0,+t(e)||0)}}}function ez(t,e,n){return function(i){if(r=i.children){var r,o,a=r.length,s=t(i)*e||0,l;if(s)for(o=0;o<a;++o)r[o].r+=s;l=KE(r,n);if(s)for(o=0;o<a;++o)r[o].r-=s;i.r=l+s}}}function nz(t){return function(e){var n=e.parent;e.r*=t;if(n){e.x=n.x+t*e.x;e.y=n.y+t*e.y}}}function iz(t){t.x0=Math.round(t.x0);t.y0=Math.round(t.y0);t.x1=Math.round(t.x1);t.y1=Math.round(t.y1)}function rz(t,e,n,i,r){var o=t.children,a,s=-1,l=o.length,u=t.value&&(i-e)/t.value;while(++s<l){a=o[s],a.y0=n,a.y1=r;a.x0=e,a.x1=e+=a.value*u}}function oz(){var t=1,e=1,n=0,i=false;function r(r){var a=r.height+1;r.x0=r.y0=n;r.x1=t;r.y1=e/a;r.eachBefore(o(e,a));if(i)r.eachBefore(iz);return r}function o(t,e){return function(i){if(i.children){rz(i,i.x0,t*(i.depth+1)/e,i.x1,t*(i.depth+2)/e)}var r=i.x0,o=i.y0,a=i.x1-n,s=i.y1-n;if(a<r)r=a=(r+a)/2;if(s<o)o=s=(o+s)/2;i.x0=r;i.y0=o;i.x1=a;i.y1=s}}r.round=function(t){return arguments.length?(i=!!t,r):i};r.size=function(n){return arguments.length?(t=+n[0],e=+n[1],r):[t,e]};r.padding=function(t){return arguments.length?(n=+t,r):n};return r}var az={depth:-1},sz={},lz={};function uz(t){return t.id}function cz(t){return t.parentId}function fz(){var t=uz,e=cz,n;function i(i){var r=Array.from(i),o=t,a=e,s,l,u,c,f,d,h,p,m=new Map;if(n!=null){const t=r.map(((t,e)=>dz(n(t,e,i))));const e=t.map(hz);const s=new Set(t).add("");for(const n of e){if(!s.has(n)){s.add(n);t.push(n);e.push(hz(n));r.push(lz)}}o=(e,n)=>t[n];a=(t,n)=>e[n]}for(u=0,s=r.length;u<s;++u){l=r[u],d=r[u]=new SE(l);if((h=o(l,u,i))!=null&&(h+="")){p=d.id=h;m.set(p,m.has(p)?sz:d)}if((h=a(l,u,i))!=null&&(h+="")){d.parent=h}}for(u=0;u<s;++u){d=r[u];if(h=d.parent){f=m.get(h);if(!f)throw new Error("missing: "+h);if(f===sz)throw new Error("ambiguous: "+h);if(f.children)f.children.push(d);else f.children=[d];d.parent=f}else{if(c)throw new Error("multiple roots");c=d}}if(!c)throw new Error("no root");if(n!=null){while(c.data===lz&&c.children.length===1){c=c.children[0],--s}for(let t=r.length-1;t>=0;--t){d=r[t];if(d.data!==lz)break;d.data=null}}c.parent=az;c.eachBefore((function(t){t.depth=t.parent.depth+1;--s})).eachBefore(ME);c.parent=null;if(s>0)throw new Error("cycle");return c}i.id=function(e){return arguments.length?(t=EE(e),i):t};i.parentId=function(t){return arguments.length?(e=EE(t),i):e};i.path=function(t){return arguments.length?(n=EE(t),i):n};return i}function dz(t){t=`${t}`;let e=t.length;if(pz(t,e-1)&&!pz(t,e-2))t=t.slice(0,-1);return t[0]==="/"?t:`/${t}`}function hz(t){let e=t.length;if(e<2)return"";while(--e>1)if(pz(t,e))break;return t.slice(0,e)}function pz(t,e){if(t[e]==="/"){let n=0;while(e>0&&t[--e]==="\\")++n;if((n&1)===0)return true}return false}function mz(t,e){return t.parent===e.parent?1:2}function gz(t){var e=t.children;return e?e[0]:t.t}function yz(t){var e=t.children;return e?e[e.length-1]:t.t}function vz(t,e,n){var i=n/(e.i-t.i);e.c-=i;e.s+=n;t.c+=i;e.z+=n;e.m+=n}function bz(t){var e=0,n=0,i=t.children,r=i.length,o;while(--r>=0){o=i[r];o.z+=e;o.m+=e;e+=o.s+(n+=o.c)}}function xz(t,e,n){return t.a.parent===e.parent?t.a:n}function _z(t,e){this._=t;this.parent=null;this.children=null;this.A=null;this.a=this;this.z=0;this.m=0;this.c=0;this.s=0;this.t=null;this.i=e}_z.prototype=Object.create(SE.prototype);function wz(t){var e=new _z(t,0),n,i=[e],r,o,a,s;while(n=i.pop()){if(o=n._.children){n.children=new Array(s=o.length);for(a=s-1;a>=0;--a){i.push(r=n.children[a]=new _z(o[a],a));r.parent=n}}}(e.parent=new _z(null,0)).children=[e];return e}function kz(){var t=mz,e=1,n=1,i=null;function r(r){var s=wz(r);s.eachAfter(o),s.parent.m=-s.z;s.eachBefore(a);if(i)r.eachBefore(l);else{var u=r,c=r,f=r;r.eachBefore((function(t){if(t.x<u.x)u=t;if(t.x>c.x)c=t;if(t.depth>f.depth)f=t}));var d=u===c?1:t(u,c)/2,h=d-u.x,p=e/(c.x+d+h),m=n/(f.depth||1);r.eachBefore((function(t){t.x=(t.x+h)*p;t.y=t.depth*m}))}return r}function o(e){var n=e.children,i=e.parent.children,r=e.i?i[e.i-1]:null;if(n){bz(e);var o=(n[0].z+n[n.length-1].z)/2;if(r){e.z=r.z+t(e._,r._);e.m=e.z-o}else{e.z=o}}else if(r){e.z=r.z+t(e._,r._)}e.parent.A=s(e,r,e.parent.A||i[0])}function a(t){t._.x=t.z+t.parent.m;t.m+=t.parent.m}function s(e,n,i){if(n){var r=e,o=e,a=n,s=r.parent.children[0],l=r.m,u=o.m,c=a.m,f=s.m,d;while(a=yz(a),r=gz(r),a&&r){s=gz(s);o=yz(o);o.a=e;d=a.z+c-r.z-l+t(a._,r._);if(d>0){vz(xz(a,e,i),e,d);l+=d;u+=d}c+=a.m;l+=r.m;f+=s.m;u+=o.m}if(a&&!yz(o)){o.t=a;o.m+=c-u}if(r&&!gz(s)){s.t=r;s.m+=l-f;i=e}}return i}function l(t){t.x*=e;t.y=t.depth*n}r.separation=function(e){return arguments.length?(t=e,r):t};r.size=function(t){return arguments.length?(i=false,e=+t[0],n=+t[1],r):i?null:[e,n]};r.nodeSize=function(t){return arguments.length?(i=true,e=+t[0],n=+t[1],r):i?[e,n]:null};return r}function Mz(t,e){return t.parent===e.parent?1:2}function Sz(t){return t.reduce(Ez,0)/t.length}function Ez(t,e){return t+e.x}function zz(t){return 1+t.reduce(Az,0)}function Az(t,e){return Math.max(t,e.y)}function $z(t){var e;while(e=t.children)t=e[0];return t}function Oz(t){var e;while(e=t.children)t=e[e.length-1];return t}function Rz(){var t=Mz,e=1,n=1,i=false;function r(r){var o,a=0;r.eachAfter((function(e){var n=e.children;if(n){e.x=Sz(n);e.y=zz(n)}else{e.x=o?a+=t(e,o):0;e.y=0;o=e}}));var s=$z(r),l=Oz(r),u=s.x-t(s,l)/2,c=l.x+t(l,s)/2;return r.eachAfter(i?function(t){t.x=(t.x-r.x)*e;t.y=(r.y-t.y)*n}:function(t){t.x=(t.x-u)/(c-u)*e;t.y=(1-(r.y?t.y/r.y:1))*n})}r.separation=function(e){return arguments.length?(t=e,r):t};r.size=function(t){return arguments.length?(i=false,e=+t[0],n=+t[1],r):i?null:[e,n]};r.nodeSize=function(t){return arguments.length?(i=true,e=+t[0],n=+t[1],r):i?[e,n]:null};return r}function Dz(t,e,n,i,r){var o=t.children,a,s=o.length,l,u=new Array(s+1);for(u[0]=l=a=0;a<s;++a){u[a+1]=l+=o[a].value}c(0,s,t.value,e,n,i,r);function c(t,e,n,i,r,a,s){if(t>=e-1){var l=o[t];l.x0=i,l.y0=r;l.x1=a,l.y1=s;return}var f=u[t],d=n/2+f,h=t+1,p=e-1;while(h<p){var m=h+p>>>1;if(u[m]<d)h=m+1;else p=m}if(d-u[h-1]<u[h]-d&&t+1<h)--h;var g=u[h]-f,y=n-g;if(a-i>s-r){var v=n?(i*y+a*g)/n:a;c(t,h,g,i,r,v,s);c(h,e,y,v,r,a,s)}else{var b=n?(r*y+s*g)/n:s;c(t,h,g,i,r,a,b);c(h,e,y,i,b,a,s)}}}function Tz(t,e,n,i,r){var o=t.children,a,s=-1,l=o.length,u=t.value&&(r-n)/t.value;while(++s<l){a=o[s],a.x0=e,a.x1=i;a.y0=n,a.y1=n+=a.value*u}}function Nz(t,e,n,i,r){(t.depth&1?Tz:rz)(t,e,n,i,r)}var Cz=(1+Math.sqrt(5))/2;function Lz(t,e,n,i,r,o){var a=[],s=e.children,l,u,c=0,f=0,d=s.length,h,p,m=e.value,g,y,v,b,x,_,w;while(c<d){h=r-n,p=o-i;do{g=s[f++].value}while(!g&&f<d);y=v=g;_=Math.max(p/h,h/p)/(m*t);w=g*g*_;x=Math.max(v/w,w/y);for(;f<d;++f){g+=u=s[f].value;if(u<y)y=u;if(u>v)v=u;w=g*g*_;b=Math.max(v/w,w/y);if(b>x){g-=u;break}x=b}a.push(l={value:g,dice:h<p,children:s.slice(c,f)});if(l.dice)rz(l,n,i,r,m?i+=p*g/m:o);else Tz(l,n,i,m?n+=h*g/m:r,o);m-=g,c=f}return a}const Pz=function t(e){function n(t,n,i,r,o){Lz(e,t,n,i,r,o)}n.ratio=function(e){return t((e=+e)>1?e:1)};return n}(Cz);const qz=function t(e){function n(t,n,i,r,o){if((a=t._squarify)&&a.ratio===e){var a,s,l,u,c=-1,f,d=a.length,h=t.value;while(++c<d){s=a[c],l=s.children;for(u=s.value=0,f=l.length;u<f;++u)s.value+=l[u].value;if(s.dice)rz(s,n,i,r,h?i+=(o-i)*s.value/h:o);else Tz(s,n,i,h?n+=(r-n)*s.value/h:r,o);h-=s.value}}else{t._squarify=a=Lz(e,t,n,i,r,o);a.ratio=e}}n.ratio=function(e){return t((e=+e)>1?e:1)};return n}(Cz);function Fz(){var t=Pz,e=false,n=1,i=1,r=[0],o=AE,a=AE,s=AE,l=AE,u=AE;function c(t){t.x0=t.y0=0;t.x1=n;t.y1=i;t.eachBefore(f);r=[0];if(e)t.eachBefore(iz);return t}function f(e){var n=r[e.depth],i=e.x0+n,c=e.y0+n,f=e.x1-n,d=e.y1-n;if(f<i)i=f=(i+f)/2;if(d<c)c=d=(c+d)/2;e.x0=i;e.y0=c;e.x1=f;e.y1=d;if(e.children){n=r[e.depth+1]=o(e)/2;i+=u(e)-n;c+=a(e)-n;f-=s(e)-n;d-=l(e)-n;if(f<i)i=f=(i+f)/2;if(d<c)c=d=(c+d)/2;t(e,i,c,f,d)}}c.round=function(t){return arguments.length?(e=!!t,c):e};c.size=function(t){return arguments.length?(n=+t[0],i=+t[1],c):[n,i]};c.tile=function(e){return arguments.length?(t=zE(e),c):t};c.padding=function(t){return arguments.length?c.paddingInner(t).paddingOuter(t):c.paddingInner()};c.paddingInner=function(t){return arguments.length?(o=typeof t==="function"?t:$E(+t),c):o};c.paddingOuter=function(t){return arguments.length?c.paddingTop(t).paddingRight(t).paddingBottom(t).paddingLeft(t):c.paddingTop()};c.paddingTop=function(t){return arguments.length?(a=typeof t==="function"?t:$E(+t),c):a};c.paddingRight=function(t){return arguments.length?(s=typeof t==="function"?t:$E(+t),c):s};c.paddingBottom=function(t){return arguments.length?(l=typeof t==="function"?t:$E(+t),c):l};c.paddingLeft=function(t){return arguments.length?(u=typeof t==="function"?t:$E(+t),c):u};return c}function Iz(t,e,n){const i={};t.each((t=>{const r=t.data;if(n(r))i[e(r)]=t}));t.lookup=i;return t}function Bz(t){Di.call(this,null,t)}Bz.Definition={type:"Nest",metadata:{treesource:true,changes:true},params:[{name:"keys",type:"field",array:true},{name:"generate",type:"boolean"}]};const Uz=t=>t.values;(0,p.B)(Bz,Di,{transform(t,e){if(!e.source){(0,p.z3)("Nest transform requires an upstream data source.")}var n=t.generate,i=t.modified(),r=e.clone(),o=this.value;if(!o||i||e.changed()){if(o){o.each((t=>{if(t.children&&gn(t.data)){r.rem.push(t.data)}}))}this.value=o=bE({values:(0,p.YO)(t.keys).reduce(((t,e)=>{t.key(e);return t}),jz()).entries(r.source)},Uz);if(n){o.each((t=>{if(t.children){t=bn(t.data);r.add.push(t);r.source.push(t)}}))}Iz(o,yn,yn)}r.source.root=o;return r}});function jz(){const t=[],e={entries:t=>i(n(t,0),0),key:n=>(t.push(n),e)};function n(e,i){if(i>=t.length){return e}const r=e.length,o=t[i++],a={},s={};let l=-1,u,c,f;while(++l<r){u=o(c=e[l])+"";if(f=a[u]){f.push(c)}else{a[u]=[c]}}for(u in a){s[u]=n(a[u],i)}return s}function i(e,n){if(++n>t.length)return e;const r=[];for(const t in e){r.push({key:t,values:i(e[t],n)})}return r}return e}function Yz(t){Di.call(this,null,t)}const Gz=(t,e)=>t.parent===e.parent?1:2;(0,p.B)(Yz,Di,{transform(t,e){if(!e.source||!e.source.root){(0,p.z3)(this.constructor.name+" transform requires a backing tree data source.")}const n=this.layout(t.method),i=this.fields,r=e.source.root,o=t.as||i;if(t.field)r.sum(t.field);else r.count();if(t.sort)r.sort(kn(t.sort,(t=>t.data)));Wz(n,this.params,t);if(n.separation){n.separation(t.separation!==false?Gz:p.xH)}try{this.value=n(r)}catch(a){(0,p.z3)(a)}r.each((t=>Xz(t,i,o)));return e.reflow(t.modified()).modifies(o).modifies("leaf")}});function Wz(t,e,n){for(let i,r=0,o=e.length;r<o;++r){i=e[r];if(i in n)t[i](n[i])}}function Xz(t,e,n){const i=t.data,r=e.length-1;for(let o=0;o<r;++o){i[n[o]]=t[e[o]]}i[n[r]]=t.children?t.children.length:0}const Hz=["x","y","r","depth","children"];function Vz(t){Yz.call(this,t)}Vz.Definition={type:"Pack",metadata:{tree:true,modifies:true},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"radius",type:"field",default:null},{name:"size",type:"number",array:true,length:2},{name:"as",type:"string",array:true,length:Hz.length,default:Hz}]};(0,p.B)(Vz,Yz,{layout:JE,params:["radius","size","padding"],fields:Hz});const Kz=["x0","y0","x1","y1","depth","children"];function Zz(t){Yz.call(this,t)}Zz.Definition={type:"Partition",metadata:{tree:true,modifies:true},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"padding",type:"number",default:0},{name:"round",type:"boolean",default:false},{name:"size",type:"number",array:true,length:2},{name:"as",type:"string",array:true,length:Kz.length,default:Kz}]};(0,p.B)(Zz,Yz,{layout:oz,params:["size","round","padding"],fields:Kz});function Qz(t){Di.call(this,null,t)}Qz.Definition={type:"Stratify",metadata:{treesource:true},params:[{name:"key",type:"field",required:true},{name:"parentKey",type:"field",required:true}]};(0,p.B)(Qz,Di,{transform(t,e){if(!e.source){(0,p.z3)("Stratify transform requires an upstream data source.")}let n=this.value;const i=t.modified(),r=e.fork(e.ALL).materialize(e.SOURCE),o=!n||i||e.changed(e.ADD_REM)||e.modified(t.key.fields)||e.modified(t.parentKey.fields);r.source=r.source.slice();if(o){n=r.source.length?Iz(fz().id(t.key).parentId(t.parentKey)(r.source),t.key,p.vN):Iz(fz()([{}]),t.key,t.key)}r.source.root=this.value=n;return r}});const Jz={tidy:kz,cluster:Rz};const tA=["x","y","depth","children"];function eA(t){Yz.call(this,t)}eA.Definition={type:"Tree",metadata:{tree:true,modifies:true},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"tidy",values:["tidy","cluster"]},{name:"size",type:"number",array:true,length:2},{name:"nodeSize",type:"number",array:true,length:2},{name:"separation",type:"boolean",default:true},{name:"as",type:"string",array:true,length:tA.length,default:tA}]};(0,p.B)(eA,Yz,{layout(t){const e=t||"tidy";if((0,p.mQ)(Jz,e))return Jz[e]();else(0,p.z3)("Unrecognized Tree layout method: "+e)},params:["size","nodeSize"],fields:tA});function nA(t){Di.call(this,[],t)}nA.Definition={type:"TreeLinks",metadata:{tree:true,generates:true,changes:true},params:[]};(0,p.B)(nA,Di,{transform(t,e){const n=this.value,i=e.source&&e.source.root,r=e.fork(e.NO_SOURCE),o={};if(!i)(0,p.z3)("TreeLinks transform requires a tree data source.");if(e.changed(e.ADD_REM)){r.rem=n;e.visit(e.SOURCE,(t=>o[yn(t)]=1));i.each((t=>{const e=t.data,n=t.parent&&t.parent.data;if(n&&o[yn(e)]&&o[yn(n)]){r.add.push(bn({source:n,target:e}))}}));this.value=r.add}else if(e.changed(e.MOD)){e.visit(e.MOD,(t=>o[yn(t)]=1));n.forEach((t=>{if(o[yn(t.source)]||o[yn(t.target)]){r.mod.push(t)}}))}return r}});const iA={binary:Dz,dice:rz,slice:Tz,slicedice:Nz,squarify:Pz,resquarify:qz};const rA=["x0","y0","x1","y1","depth","children"];function oA(t){Yz.call(this,t)}oA.Definition={type:"Treemap",metadata:{tree:true,modifies:true},params:[{name:"field",type:"field"},{name:"sort",type:"compare"},{name:"method",type:"enum",default:"squarify",values:["squarify","resquarify","binary","dice","slice","slicedice"]},{name:"padding",type:"number",default:0},{name:"paddingInner",type:"number",default:0},{name:"paddingOuter",type:"number",default:0},{name:"paddingTop",type:"number",default:0},{name:"paddingRight",type:"number",default:0},{name:"paddingBottom",type:"number",default:0},{name:"paddingLeft",type:"number",default:0},{name:"ratio",type:"number",default:1.618033988749895},{name:"round",type:"boolean",default:false},{name:"size",type:"number",array:true,length:2},{name:"as",type:"string",array:true,length:rA.length,default:rA}]};(0,p.B)(oA,Yz,{layout(){const t=Fz();t.ratio=e=>{const n=t.tile();if(n.ratio)t.tile(n.ratio(e))};t.method=e=>{if((0,p.mQ)(iA,e))t.tile(iA[e]);else(0,p.z3)("Unrecognized Treemap layout method: "+e)};return t},params:["method","ratio","size","round","padding","paddingInner","paddingOuter","paddingTop","paddingRight","paddingBottom","paddingLeft"],fields:rA});const aA=4278190080;function sA(t,e){const n=t.bitmap();(e||[]).forEach((e=>n.set(t(e.boundary[0]),t(e.boundary[3]))));return[n,undefined]}function lA(t,e,n,i,r){const o=t.width,a=t.height,s=i||r,l=Ks(o,a).getContext("2d"),u=Ks(o,a).getContext("2d"),c=s&&Ks(o,a).getContext("2d");n.forEach((t=>cA(l,t,false)));cA(u,e,false);if(s){cA(c,e,true)}const f=uA(l,o,a),d=uA(u,o,a),h=s&&uA(c,o,a),p=t.bitmap(),m=s&&t.bitmap();let g,y,v,b,x,_,w,k;for(y=0;y<a;++y){for(g=0;g<o;++g){x=y*o+g;_=f[x]&aA;k=d[x]&aA;w=s&&h[x]&aA;if(_||w||k){v=t(g);b=t(y);if(!r&&(_||k))p.set(v,b);if(s&&(_||w))m.set(v,b)}}}return[p,m]}function uA(t,e,n){return new Uint32Array(t.getImageData(0,0,e,n).data.buffer)}function cA(t,e,n){if(!e.length)return;const i=e[0].mark.marktype;if(i==="group"){e.forEach((e=>{e.items.forEach((e=>cA(t,e.items,n)))}))}else{qp[i].draw(t,{items:n?e.map(fA):e})}}function fA(t){const e=_n(t,{});if(e.stroke&&e.strokeOpacity!==0||e.fill&&e.fillOpacity!==0){return{...e,strokeOpacity:1,stroke:"#000",fillOpacity:0}}return e}const dA=5,hA=31,pA=32,mA=new Uint32Array(pA+1),gA=new Uint32Array(pA+1);gA[0]=0;mA[0]=~gA[0];for(let $j=1;$j<=pA;++$j){gA[$j]=gA[$j-1]<<1|1;mA[$j]=~gA[$j]}function yA(t,e){const n=new Uint32Array(~~((t*e+pA)/pA));function i(t,e){n[t]|=e}function r(t,e){n[t]&=e}return{array:n,get:(e,i)=>{const r=i*t+e;return n[r>>>dA]&1<<(r&hA)},set:(e,n)=>{const r=n*t+e;i(r>>>dA,1<<(r&hA))},clear:(e,n)=>{const i=n*t+e;r(i>>>dA,~(1<<(i&hA)))},getRange:(e,i,r,o)=>{let a=o,s,l,u,c;for(;a>=i;--a){s=a*t+e;l=a*t+r;u=s>>>dA;c=l>>>dA;if(u===c){if(n[u]&mA[s&hA]&gA[(l&hA)+1]){return true}}else{if(n[u]&mA[s&hA])return true;if(n[c]&gA[(l&hA)+1])return true;for(let t=u+1;t<c;++t){if(n[t])return true}}}return false},setRange:(e,n,r,o)=>{let a,s,l,u,c;for(;n<=o;++n){a=n*t+e;s=n*t+r;l=a>>>dA;u=s>>>dA;if(l===u){i(l,mA[a&hA]&gA[(s&hA)+1])}else{i(l,mA[a&hA]);i(u,gA[(s&hA)+1]);for(c=l+1;c<u;++c)i(c,4294967295)}}},clearRange:(e,n,i,o)=>{let a,s,l,u,c;for(;n<=o;++n){a=n*t+e;s=n*t+i;l=a>>>dA;u=s>>>dA;if(l===u){r(l,gA[a&hA]|mA[(s&hA)+1])}else{r(l,gA[a&hA]);r(u,mA[(s&hA)+1]);for(c=l+1;c<u;++c)r(c,0)}}},outOfBounds:(n,i,r,o)=>n<0||i<0||o>=e||r>=t}}function vA(t,e,n){const i=Math.max(1,Math.sqrt(t*e/1e6)),r=~~((t+2*n+i)/i),o=~~((e+2*n+i)/i),a=t=>~~((t+n)/i);a.invert=t=>t*i-n;a.bitmap=()=>yA(r,o);a.ratio=i;a.padding=n;a.width=t;a.height=e;return a}function bA(t,e,n,i){const r=t.width,o=t.height;return function(t){const e=t.datum.datum.items[i].items,n=e.length,a=t.datum.fontSize,s=fp.width(t.datum,t.datum.text);let l=0,u,c,f,d,h,p,m;for(let i=0;i<n;++i){u=e[i].x;f=e[i].y;c=e[i].x2===undefined?u:e[i].x2;d=e[i].y2===undefined?f:e[i].y2;h=(u+c)/2;p=(f+d)/2;m=Math.abs(c-u+d-f);if(m>=l){l=m;t.x=h;t.y=p}}h=s/2;p=a/2;u=t.x-h;c=t.x+h;f=t.y-p;d=t.y+p;t.align="center";if(u<0&&c<=r){t.align="left"}else if(0<=u&&r<c){t.align="right"}t.baseline="middle";if(f<0&&d<=o){t.baseline="top"}else if(0<=f&&o<d){t.baseline="bottom"}return true}}function xA(t,e,n,i,r,o){let a=n/2;return t-a<0||t+a>r||e-(a=i/2)<0||e+a>o}function _A(t,e,n,i,r,o,a,s){const l=r*o/(i*2),u=t(e-l),c=t(e+l),f=t(n-(o=o/2)),d=t(n+o);return a.outOfBounds(u,f,c,d)||a.getRange(u,f,c,d)||s&&s.getRange(u,f,c,d)}function wA(t,e,n,i){const r=t.width,o=t.height,a=e[0],s=e[1];function l(e,n,i,l,u){const c=t.invert(e),f=t.invert(n);let d=i,h=o,p;if(!xA(c,f,l,u,r,o)&&!_A(t,c,f,u,l,d,a,s)&&!_A(t,c,f,u,l,u,a,null)){while(h-d>=1){p=(d+h)/2;if(_A(t,c,f,u,l,p,a,s)){h=p}else{d=p}}if(d>i){return[c,f,d,true]}}}return function(e){const s=e.datum.datum.items[i].items,u=s.length,c=e.datum.fontSize,f=fp.width(e.datum,e.datum.text);let d=n?c:0,h=false,p=false,m=0,g,y,v,b,x,_,w,k,M,S,E,z,A,$,O,R,D;for(let i=0;i<u;++i){g=s[i].x;v=s[i].y;y=s[i].x2===undefined?g:s[i].x2;b=s[i].y2===undefined?v:s[i].y2;if(g>y){D=g;g=y;y=D}if(v>b){D=v;v=b;b=D}M=t(g);E=t(y);S=~~((M+E)/2);z=t(v);$=t(b);A=~~((z+$)/2);for(w=S;w>=M;--w){for(k=A;k>=z;--k){R=l(w,k,d,f,c);if(R){[e.x,e.y,d,h]=R}}}for(w=S;w<=E;++w){for(k=A;k<=$;++k){R=l(w,k,d,f,c);if(R){[e.x,e.y,d,h]=R}}}if(!h&&!n){O=Math.abs(y-g+b-v);x=(g+y)/2;_=(v+b)/2;if(O>=m&&!xA(x,_,f,c,r,o)&&!_A(t,x,_,c,f,c,a,null)){m=O;e.x=x;e.y=_;p=true}}}if(h||p){x=f/2;_=c/2;a.setRange(t(e.x-x),t(e.y-_),t(e.x+x),t(e.y+_));e.align="center";e.baseline="middle";return true}else{return false}}}const kA=[-1,-1,1,1];const MA=[-1,1,-1,1];function SA(t,e,n,i){const r=t.width,o=t.height,a=e[0],s=e[1],l=t.bitmap();return function(e){const u=e.datum.datum.items[i].items,c=u.length,f=e.datum.fontSize,d=fp.width(e.datum,e.datum.text),h=[];let p=n?f:0,m=false,g=false,y=0,v,b,x,_,w,k,M,S,E,z,A,$;for(let i=0;i<c;++i){v=u[i].x;x=u[i].y;b=u[i].x2===undefined?v:u[i].x2;_=u[i].y2===undefined?x:u[i].y2;h.push([t((v+b)/2),t((x+_)/2)]);while(h.length){[M,S]=h.pop();if(a.get(M,S)||s.get(M,S)||l.get(M,S))continue;l.set(M,S);for(let t=0;t<4;++t){w=M+kA[t];k=S+MA[t];if(!l.outOfBounds(w,k,w,k))h.push([w,k])}w=t.invert(M);k=t.invert(S);E=p;z=o;if(!xA(w,k,d,f,r,o)&&!_A(t,w,k,f,d,E,a,s)&&!_A(t,w,k,f,d,f,a,null)){while(z-E>=1){A=(E+z)/2;if(_A(t,w,k,f,d,A,a,s)){z=A}else{E=A}}if(E>p){e.x=w;e.y=k;p=E;m=true}}}if(!m&&!n){$=Math.abs(b-v+_-x);w=(v+b)/2;k=(x+_)/2;if($>=y&&!xA(w,k,d,f,r,o)&&!_A(t,w,k,f,d,f,a,null)){y=$;e.x=w;e.y=k;g=true}}}if(m||g){w=d/2;k=f/2;a.setRange(t(e.x-w),t(e.y-k),t(e.x+w),t(e.y+k));e.align="center";e.baseline="middle";return true}else{return false}}}const EA=["right","center","left"],zA=["bottom","middle","top"];function AA(t,e,n,i){const r=t.width,o=t.height,a=e[0],s=e[1],l=i.length;return function(e){const u=e.boundary,c=e.datum.fontSize;if(u[2]<0||u[5]<0||u[0]>r||u[3]>o){return false}let f=e.textWidth??0,d,h,p,m,g,y,v,b,x,_,w,k,M,S,E;for(let r=0;r<l;++r){d=(n[r]&3)-1;h=(n[r]>>>2&3)-1;p=d===0&&h===0||i[r]<0;m=d&&h?Math.SQRT1_2:1;g=i[r]<0?-1:1;y=u[1+d]+i[r]*d*m;w=u[4+h]+g*c*h/2+i[r]*h*m;b=w-c/2;x=w+c/2;k=t(y);S=t(b);E=t(x);if(!f){if(!$A(k,k,S,E,a,s,y,y,b,x,u,p)){continue}else{f=fp.width(e.datum,e.datum.text)}}_=y+g*f*d/2;y=_-f/2;v=_+f/2;k=t(y);M=t(v);if($A(k,M,S,E,a,s,y,v,b,x,u,p)){e.x=!d?_:d*g<0?v:y;e.y=!h?w:h*g<0?x:b;e.align=EA[d*g+1];e.baseline=zA[h*g+1];a.setRange(k,S,M,E);return true}}return false}}function $A(t,e,n,i,r,o,a,s,l,u,c,f){return!(r.outOfBounds(t,n,e,i)||(f&&o||r).getRange(t,n,e,i))}const OA=0,RA=4,DA=8,TA=0,NA=1,CA=2;const LA={"top-left":OA+TA,top:OA+NA,"top-right":OA+CA,left:RA+TA,middle:RA+NA,right:RA+CA,"bottom-left":DA+TA,bottom:DA+NA,"bottom-right":DA+CA};const PA={naive:bA,"reduced-search":wA,floodfill:SA};function qA(t,e,n,i,r,o,a,s,l,u,c){if(!t.length)return t;const f=Math.max(i.length,r.length),d=FA(i,f),h=IA(r,f),p=BA(t[0].datum),m=p==="group"&&t[0].datum.items[l].marktype,g=m==="area",y=UA(p,m,s,l),v=u===null||u===Infinity,b=g&&c==="naive";let x=-1,_=-1;const w=t.map((t=>{const e=v?fp.width(t,t.text):undefined;x=Math.max(x,e);_=Math.max(_,t.fontSize);return{datum:t,opacity:0,x:undefined,y:undefined,align:undefined,baseline:undefined,boundary:y(t),textWidth:e}}));u=u===null||u===Infinity?Math.max(x,_)+Math.max(...i):u;const k=vA(e[0],e[1],u);let M;if(!b){if(n){w.sort(((t,e)=>n(t.datum,e.datum)))}let e=false;for(let t=0;t<h.length&&!e;++t){e=h[t]===5||d[t]<0}const i=(p&&a||g)&&t.map((t=>t.datum));M=o.length||i?lA(k,i||[],o,e,g):sA(k,a&&w)}const S=g?PA[c](k,M,a,l):AA(k,M,h,d);w.forEach((t=>t.opacity=+S(t)));return w}function FA(t,e){const n=new Float64Array(e),i=t.length;for(let r=0;r<i;++r)n[r]=t[r]||0;for(let r=i;r<e;++r)n[r]=n[i-1];return n}function IA(t,e){const n=new Int8Array(e),i=t.length;for(let r=0;r<i;++r)n[r]|=LA[t[r]];for(let r=i;r<e;++r)n[r]=n[i-1];return n}function BA(t){return t&&t.mark&&t.mark.marktype}function UA(t,e,n,i){const r=t=>[t.x,t.x,t.x,t.y,t.y,t.y];if(!t){return r}else if(t==="line"||t==="area"){return t=>r(t.datum)}else if(e==="line"){return t=>{const e=t.datum.items[i].items;return r(e.length?e[n==="start"?0:e.length-1]:{x:NaN,y:NaN})}}else{return t=>{const e=t.datum.bounds;return[e.x1,(e.x1+e.x2)/2,e.x2,e.y1,(e.y1+e.y2)/2,e.y2]}}}const jA=["x","y","opacity","align","baseline"];const YA=["top-left","left","bottom-left","top","bottom","top-right","right","bottom-right"];function GA(t){Di.call(this,null,t)}GA.Definition={type:"Label",metadata:{modifies:true},params:[{name:"size",type:"number",array:true,length:2,required:true},{name:"sort",type:"compare"},{name:"anchor",type:"string",array:true,default:YA},{name:"offset",type:"number",array:true,default:[1]},{name:"padding",type:"number",default:0,null:true},{name:"lineAnchor",type:"string",values:["start","end"],default:"end"},{name:"markIndex",type:"number",default:0},{name:"avoidBaseMark",type:"boolean",default:true},{name:"avoidMarks",type:"data",array:true},{name:"method",type:"string",default:"naive"},{name:"as",type:"string",array:true,length:jA.length,default:jA}]};(0,p.B)(GA,Di,{transform(t,e){function n(n){const i=t[n];return(0,p.Tn)(i)&&e.modified(i.fields)}const i=t.modified();if(!(i||e.changed(e.ADD_REM)||n("sort")))return;if(!t.size||t.size.length!==2){(0,p.z3)("Size parameter should be specified as a [width, height] array.")}const r=t.as||jA;qA(e.materialize(e.SOURCE).source||[],t.size,t.sort,(0,p.YO)(t.offset==null?1:t.offset),(0,p.YO)(t.anchor||YA),t.avoidMarks||[],t.avoidBaseMark!==false,t.lineAnchor||"end",t.markIndex||0,t.padding===undefined?0:t.padding,t.method||"naive").forEach((t=>{const e=t.datum;e[r[0]]=t.x;e[r[1]]=t.y;e[r[2]]=t.opacity;e[r[3]]=t.align;e[r[4]]=t.baseline}));return e.reflow(i).modifies(r)}});function WA(t,e){var n=[],i=function(t){return t(s)},r,o,a,s,l,u;if(e==null){n.push(t)}else{for(r={},o=0,a=t.length;o<a;++o){s=t[o];l=e.map(i);u=r[l];if(!u){r[l]=u=[];u.dims=l;n.push(u)}u.push(s)}}return n}function XA(t){Di.call(this,null,t)}XA.Definition={type:"Loess",metadata:{generates:true},params:[{name:"x",type:"field",required:true},{name:"y",type:"field",required:true},{name:"groupby",type:"field",array:true},{name:"bandwidth",type:"number",default:.3},{name:"as",type:"string",array:true}]};(0,p.B)(XA,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE|e.NO_FIELDS);if(!this.value||e.changed()||t.modified()){const i=e.materialize(e.SOURCE).source,r=WA(i,t.groupby),o=(t.groupby||[]).map(p.N6),a=o.length,s=t.as||[(0,p.N6)(t.x),(0,p.N6)(t.y)],l=[];r.forEach((e=>{Gr(e,t.x,t.y,t.bandwidth||.3).forEach((t=>{const n={};for(let i=0;i<a;++i){n[o[i]]=e.dims[i]}n[s[0]]=t[0];n[s[1]]=t[1];l.push(bn(n))}))}));if(this.value)n.rem=this.value;this.value=n.add=n.source=l}return n}});const HA={linear:Cr,log:Lr,exp:Pr,pow:qr,quad:Fr,poly:Ir};const VA=(t,e)=>t==="poly"?e:t==="quad"?2:1;function KA(t){Di.call(this,null,t)}KA.Definition={type:"Regression",metadata:{generates:true},params:[{name:"x",type:"field",required:true},{name:"y",type:"field",required:true},{name:"groupby",type:"field",array:true},{name:"method",type:"string",default:"linear",values:Object.keys(HA)},{name:"order",type:"number",default:3},{name:"extent",type:"number",array:true,length:2},{name:"params",type:"boolean",default:false},{name:"as",type:"string",array:true}]};(0,p.B)(KA,Di,{transform(t,e){const n=e.fork(e.NO_SOURCE|e.NO_FIELDS);if(!this.value||e.changed()||t.modified()){const i=e.materialize(e.SOURCE).source,r=WA(i,t.groupby),o=(t.groupby||[]).map(p.N6),a=t.method||"linear",s=t.order||3,l=VA(a,s),u=t.as||[(0,p.N6)(t.x),(0,p.N6)(t.y)],c=HA[a],f=[];let d=t.extent;if(!(0,p.mQ)(HA,a)){(0,p.z3)("Invalid regression method: "+a)}if(d!=null){if(a==="log"&&d[0]<=0){e.dataflow.warn("Ignoring extent with values <= 0 for log regression.");d=null}}r.forEach((n=>{const i=n.length;if(i<=l){e.dataflow.warn("Skipping regression with more parameters than data points.");return}const r=c(n,t.x,t.y,s);if(t.params){f.push(bn({keys:n.dims,coef:r.coef,rSquared:r.rSquared}));return}const h=d||(0,p.Xx)(n,t.x),m=t=>{const e={};for(let i=0;i<o.length;++i){e[o[i]]=n.dims[i]}e[u[0]]=t[0];e[u[1]]=t[1];f.push(bn(e))};if(a==="linear"){h.forEach((t=>m([t,r.predict(t)])))}else{Kr(r.predict,h,25,200).forEach(m)}}));if(this.value)n.rem=this.value;this.value=n.add=n.source=f}return n}});const ZA=11102230246251565e-32;const QA=134217729;const JA=(3+8*ZA)*ZA;function t$(t,e,n,i,r){let o,a,s,l;let u=e[0];let c=i[0];let f=0;let d=0;if(c>u===c>-u){o=u;u=e[++f]}else{o=c;c=i[++d]}let h=0;if(f<t&&d<n){if(c>u===c>-u){a=u+o;s=o-(a-u);u=e[++f]}else{a=c+o;s=o-(a-c);c=i[++d]}o=a;if(s!==0){r[h++]=s}while(f<t&&d<n){if(c>u===c>-u){a=o+u;l=a-o;s=o-(a-l)+(u-l);u=e[++f]}else{a=o+c;l=a-o;s=o-(a-l)+(c-l);c=i[++d]}o=a;if(s!==0){r[h++]=s}}}while(f<t){a=o+u;l=a-o;s=o-(a-l)+(u-l);u=e[++f];o=a;if(s!==0){r[h++]=s}}while(d<n){a=o+c;l=a-o;s=o-(a-l)+(c-l);c=i[++d];o=a;if(s!==0){r[h++]=s}}if(o!==0||h===0){r[h++]=o}return h}function e$(t,e,n,i,r,o,a,s){return t$(t$(t,e,n,i,a),a,r,o,s)}function n$(t,e,n,i){let r,o,a,s,l;let u,c,f,d,h,p;c=QA*n;h=c-(c-n);p=n-h;let m=e[0];r=m*n;c=QA*m;f=c-(c-m);d=m-f;a=d*p-(r-f*h-d*h-f*p);let g=0;if(a!==0){i[g++]=a}for(let y=1;y<t;y++){m=e[y];s=m*n;c=QA*m;f=c-(c-m);d=m-f;l=d*p-(s-f*h-d*h-f*p);o=r+l;u=o-r;a=r-(o-u)+(l-u);if(a!==0){i[g++]=a}r=s+o;a=o-(r-s);if(a!==0){i[g++]=a}}if(r!==0||g===0){i[g++]=r}return g}function i$(t,e){for(let n=0;n<t;n++)e[n]=-e[n];return t}function r$(t,e){let n=e[0];for(let i=1;i<t;i++)n+=e[i];return n}function o$(t){return new Float64Array(t)}const a$=(3+16*ZA)*ZA;const s$=(2+12*ZA)*ZA;const l$=(9+64*ZA)*ZA*ZA;const u$=o$(4);const c$=o$(8);const f$=o$(12);const d$=o$(16);const h$=o$(4);function p$(t,e,n,i,r,o,a){let s,l,u,c;let f,d,h,p,m,g,y,v,b,x,_,w,k,M;const S=t-r;const E=n-r;const z=e-o;const A=i-o;x=S*A;d=QA*S;h=d-(d-S);p=S-h;d=QA*A;m=d-(d-A);g=A-m;_=p*g-(x-h*m-p*m-h*g);w=z*E;d=QA*z;h=d-(d-z);p=z-h;d=QA*E;m=d-(d-E);g=E-m;k=p*g-(w-h*m-p*m-h*g);y=_-k;f=_-y;u$[0]=_-(y+f)+(f-k);v=x+y;f=v-x;b=x-(v-f)+(y-f);y=b-w;f=b-y;u$[1]=b-(y+f)+(f-w);M=v+y;f=M-v;u$[2]=v-(M-f)+(y-f);u$[3]=M;let $=r$(4,u$);let O=s$*a;if($>=O||-$>=O){return $}f=t-S;s=t-(S+f)+(f-r);f=n-E;u=n-(E+f)+(f-r);f=e-z;l=e-(z+f)+(f-o);f=i-A;c=i-(A+f)+(f-o);if(s===0&&l===0&&u===0&&c===0){return $}O=l$*a+JA*Math.abs($);$+=S*c+A*s-(z*u+E*l);if($>=O||-$>=O)return $;x=s*A;d=QA*s;h=d-(d-s);p=s-h;d=QA*A;m=d-(d-A);g=A-m;_=p*g-(x-h*m-p*m-h*g);w=l*E;d=QA*l;h=d-(d-l);p=l-h;d=QA*E;m=d-(d-E);g=E-m;k=p*g-(w-h*m-p*m-h*g);y=_-k;f=_-y;h$[0]=_-(y+f)+(f-k);v=x+y;f=v-x;b=x-(v-f)+(y-f);y=b-w;f=b-y;h$[1]=b-(y+f)+(f-w);M=v+y;f=M-v;h$[2]=v-(M-f)+(y-f);h$[3]=M;const R=t$(4,u$,4,h$,c$);x=S*c;d=QA*S;h=d-(d-S);p=S-h;d=QA*c;m=d-(d-c);g=c-m;_=p*g-(x-h*m-p*m-h*g);w=z*u;d=QA*z;h=d-(d-z);p=z-h;d=QA*u;m=d-(d-u);g=u-m;k=p*g-(w-h*m-p*m-h*g);y=_-k;f=_-y;h$[0]=_-(y+f)+(f-k);v=x+y;f=v-x;b=x-(v-f)+(y-f);y=b-w;f=b-y;h$[1]=b-(y+f)+(f-w);M=v+y;f=M-v;h$[2]=v-(M-f)+(y-f);h$[3]=M;const D=t$(R,c$,4,h$,f$);x=s*c;d=QA*s;h=d-(d-s);p=s-h;d=QA*c;m=d-(d-c);g=c-m;_=p*g-(x-h*m-p*m-h*g);w=l*u;d=QA*l;h=d-(d-l);p=l-h;d=QA*u;m=d-(d-u);g=u-m;k=p*g-(w-h*m-p*m-h*g);y=_-k;f=_-y;h$[0]=_-(y+f)+(f-k);v=x+y;f=v-x;b=x-(v-f)+(y-f);y=b-w;f=b-y;h$[1]=b-(y+f)+(f-w);M=v+y;f=M-v;h$[2]=v-(M-f)+(y-f);h$[3]=M;const T=t$(D,f$,4,h$,d$);return d$[T-1]}function m$(t,e,n,i,r,o){const a=(e-o)*(n-r);const s=(t-r)*(i-o);const l=a-s;if(a===0||s===0||a>0!==s>0)return l;const u=Math.abs(a+s);if(Math.abs(l)>=a$*u)return l;return-p$(t,e,n,i,r,o,u)}function g$(t,e,n,i,r,o){return(e-o)*(n-r)-(t-r)*(i-o)}const y$=(7+56*ZA)*ZA;const v$=(3+28*ZA)*ZA;const b$=(26+288*ZA)*ZA*ZA;const x$=o$(4);const _$=o$(4);const w$=o$(4);const k$=o$(4);const M$=o$(4);const S$=o$(4);const E$=o$(4);const z$=o$(4);const A$=o$(4);const $$=o$(8);const O$=o$(8);const R$=o$(8);const D$=o$(4);const T$=o$(8);const N$=o$(8);const C$=o$(8);const L$=o$(12);let P$=o$(192);let q$=o$(192);function F$(t,e,n){t=sum(t,P$,e,n,q$);const i=P$;P$=q$;q$=i;return t}function I$(t,e,n,i,r,o,a,s){let l,u,c,f,d,h,p,m,g,y,v,b,x,_,w,k;if(t===0){if(e===0){a[0]=0;s[0]=0;return 1}else{k=-e;v=k*n;u=splitter*k;c=u-(u-k);f=k-c;u=splitter*n;d=u-(u-n);h=n-d;a[0]=f*h-(v-c*d-f*d-c*h);a[1]=v;v=e*r;u=splitter*e;c=u-(u-e);f=e-c;u=splitter*r;d=u-(u-r);h=r-d;s[0]=f*h-(v-c*d-f*d-c*h);s[1]=v;return 2}}else{if(e===0){v=t*i;u=splitter*t;c=u-(u-t);f=t-c;u=splitter*i;d=u-(u-i);h=i-d;a[0]=f*h-(v-c*d-f*d-c*h);a[1]=v;k=-t;v=k*o;u=splitter*k;c=u-(u-k);f=k-c;u=splitter*o;d=u-(u-o);h=o-d;s[0]=f*h-(v-c*d-f*d-c*h);s[1]=v;return 2}else{v=t*i;u=splitter*t;c=u-(u-t);f=t-c;u=splitter*i;d=u-(u-i);h=i-d;b=f*h-(v-c*d-f*d-c*h);x=e*n;u=splitter*e;c=u-(u-e);f=e-c;u=splitter*n;d=u-(u-n);h=n-d;_=f*h-(x-c*d-f*d-c*h);p=b-_;l=b-p;a[0]=b-(p+l)+(l-_);m=v+p;l=m-v;y=v-(m-l)+(p-l);p=y-x;l=y-p;a[1]=y-(p+l)+(l-x);w=m+p;l=w-m;a[2]=m-(w-l)+(p-l);a[3]=w;v=e*r;u=splitter*e;c=u-(u-e);f=e-c;u=splitter*r;d=u-(u-r);h=r-d;b=f*h-(v-c*d-f*d-c*h);x=t*o;u=splitter*t;c=u-(u-t);f=t-c;u=splitter*o;d=u-(u-o);h=o-d;_=f*h-(x-c*d-f*d-c*h);p=b-_;l=b-p;s[0]=b-(p+l)+(l-_);m=v+p;l=m-v;y=v-(m-l)+(p-l);p=y-x;l=y-p;s[1]=y-(p+l)+(l-x);w=m+p;l=w-m;s[2]=m-(w-l)+(p-l);s[3]=w;return 4}}}function B$(t,e,n,i,r){let o,a,s,l,u,c,f,d,h,p,m,g,y;m=e*n;a=splitter*e;s=a-(a-e);l=e-s;a=splitter*n;u=a-(a-n);c=n-u;g=l*c-(m-s*u-l*u-s*c);a=splitter*i;u=a-(a-i);c=i-u;f=g*i;a=splitter*g;s=a-(a-g);l=g-s;D$[0]=l*c-(f-s*u-l*u-s*c);d=m*i;a=splitter*m;s=a-(a-m);l=m-s;p=l*c-(d-s*u-l*u-s*c);h=f+p;o=h-f;D$[1]=f-(h-o)+(p-o);y=d+h;D$[2]=h-(y-d);D$[3]=y;t=F$(t,4,D$);if(r!==0){a=splitter*r;u=a-(a-r);c=r-u;f=g*r;a=splitter*g;s=a-(a-g);l=g-s;D$[0]=l*c-(f-s*u-l*u-s*c);d=m*r;a=splitter*m;s=a-(a-m);l=m-s;p=l*c-(d-s*u-l*u-s*c);h=f+p;o=h-f;D$[1]=f-(h-o)+(p-o);y=d+h;D$[2]=h-(y-d);D$[3]=y;t=F$(t,4,D$)}return t}function U$(t,e,n,i,r,o,a,s,l,u,c,f,d){let h;let p,m,g;let y,v,b;let x,_,w;let k,M,S,E,z,A,$,O,R,D,T,N,C,L,P;const q=t-u;const F=i-u;const I=a-u;const B=e-c;const U=r-c;const j=s-c;const Y=n-f;const G=o-f;const W=l-f;T=F*j;M=splitter*F;S=M-(M-F);E=F-S;M=splitter*j;z=M-(M-j);A=j-z;N=E*A-(T-S*z-E*z-S*A);C=I*U;M=splitter*I;S=M-(M-I);E=I-S;M=splitter*U;z=M-(M-U);A=U-z;L=E*A-(C-S*z-E*z-S*A);$=N-L;k=N-$;x$[0]=N-($+k)+(k-L);O=T+$;k=O-T;D=T-(O-k)+($-k);$=D-C;k=D-$;x$[1]=D-($+k)+(k-C);P=O+$;k=P-O;x$[2]=O-(P-k)+($-k);x$[3]=P;T=I*B;M=splitter*I;S=M-(M-I);E=I-S;M=splitter*B;z=M-(M-B);A=B-z;N=E*A-(T-S*z-E*z-S*A);C=q*j;M=splitter*q;S=M-(M-q);E=q-S;M=splitter*j;z=M-(M-j);A=j-z;L=E*A-(C-S*z-E*z-S*A);$=N-L;k=N-$;_$[0]=N-($+k)+(k-L);O=T+$;k=O-T;D=T-(O-k)+($-k);$=D-C;k=D-$;_$[1]=D-($+k)+(k-C);P=O+$;k=P-O;_$[2]=O-(P-k)+($-k);_$[3]=P;T=q*U;M=splitter*q;S=M-(M-q);E=q-S;M=splitter*U;z=M-(M-U);A=U-z;N=E*A-(T-S*z-E*z-S*A);C=F*B;M=splitter*F;S=M-(M-F);E=F-S;M=splitter*B;z=M-(M-B);A=B-z;L=E*A-(C-S*z-E*z-S*A);$=N-L;k=N-$;w$[0]=N-($+k)+(k-L);O=T+$;k=O-T;D=T-(O-k)+($-k);$=D-C;k=D-$;w$[1]=D-($+k)+(k-C);P=O+$;k=P-O;w$[2]=O-(P-k)+($-k);w$[3]=P;h=sum(sum(scale(4,x$,Y,T$),T$,scale(4,_$,G,N$),N$,C$),C$,scale(4,w$,W,T$),T$,P$);let X=estimate(h,P$);let H=v$*d;if(X>=H||-X>=H){return X}k=t-q;p=t-(q+k)+(k-u);k=i-F;m=i-(F+k)+(k-u);k=a-I;g=a-(I+k)+(k-u);k=e-B;y=e-(B+k)+(k-c);k=r-U;v=r-(U+k)+(k-c);k=s-j;b=s-(j+k)+(k-c);k=n-Y;x=n-(Y+k)+(k-f);k=o-G;_=o-(G+k)+(k-f);k=l-W;w=l-(W+k)+(k-f);if(p===0&&m===0&&g===0&&y===0&&v===0&&b===0&&x===0&&_===0&&w===0){return X}H=b$*d+resulterrbound*Math.abs(X);X+=Y*(F*b+j*m-(U*g+I*v))+x*(F*j-U*I)+G*(I*y+B*g-(j*p+q*b))+_*(I*B-j*q)+W*(q*v+U*p-(B*m+F*y))+w*(q*U-B*F);if(X>=H||-X>=H){return X}const V=I$(p,y,F,U,I,j,k$,M$);const K=I$(m,v,I,j,q,B,S$,E$);const Z=I$(g,b,q,B,F,U,z$,A$);const Q=sum(K,S$,Z,A$,$$);h=F$(h,scale(Q,$$,Y,C$),C$);const J=sum(Z,z$,V,M$,O$);h=F$(h,scale(J,O$,G,C$),C$);const tt=sum(V,k$,K,E$,R$);h=F$(h,scale(tt,R$,W,C$),C$);if(x!==0){h=F$(h,scale(4,x$,x,L$),L$);h=F$(h,scale(Q,$$,x,C$),C$)}if(_!==0){h=F$(h,scale(4,_$,_,L$),L$);h=F$(h,scale(J,O$,_,C$),C$)}if(w!==0){h=F$(h,scale(4,w$,w,L$),L$);h=F$(h,scale(tt,R$,w,C$),C$)}if(p!==0){if(v!==0){h=B$(h,p,v,W,w)}if(b!==0){h=B$(h,-p,b,G,_)}}if(m!==0){if(b!==0){h=B$(h,m,b,Y,x)}if(y!==0){h=B$(h,-m,y,W,w)}}if(g!==0){if(y!==0){h=B$(h,g,y,G,_)}if(v!==0){h=B$(h,-g,v,Y,x)}}return P$[h-1]}function j$(t,e,n,i,r,o,a,s,l,u,c,f){const d=t-u;const h=i-u;const p=a-u;const m=e-c;const g=r-c;const y=s-c;const v=n-f;const b=o-f;const x=l-f;const _=h*y;const w=p*g;const k=p*m;const M=d*y;const S=d*g;const E=h*m;const z=v*(_-w)+b*(k-M)+x*(S-E);const A=(Math.abs(_)+Math.abs(w))*Math.abs(v)+(Math.abs(k)+Math.abs(M))*Math.abs(b)+(Math.abs(S)+Math.abs(E))*Math.abs(x);const $=y$*A;if(z>$||-z>$){return z}return U$(t,e,n,i,r,o,a,s,l,u,c,f,A)}function Y$(t,e,n,i,r,o,a,s,l,u,c,f){const d=t-u;const h=i-u;const p=a-u;const m=e-c;const g=r-c;const y=s-c;const v=n-f;const b=o-f;const x=l-f;return d*(g*x-b*y)+h*(y*v-x*m)+p*(m*b-v*g)}const G$=(10+96*ZA)*ZA;const W$=(4+48*ZA)*ZA;const X$=(44+576*ZA)*ZA*ZA;const H$=o$(4);const V$=o$(4);const K$=o$(4);const Z$=o$(4);const Q$=o$(4);const J$=o$(4);const tO=o$(4);const eO=o$(4);const nO=o$(8);const iO=o$(8);const rO=o$(8);const oO=o$(8);const aO=o$(8);const sO=o$(8);const lO=o$(8);const uO=o$(8);const cO=o$(8);const fO=o$(4);const dO=o$(4);const hO=o$(4);const pO=o$(8);const mO=o$(16);const gO=o$(16);const yO=o$(16);const vO=o$(32);const bO=o$(32);const xO=o$(48);const _O=o$(64);let wO=o$(1152);let kO=o$(1152);function MO(t,e,n){t=sum(t,wO,e,n,kO);const i=wO;wO=kO;kO=i;return t}function SO(t,e,n,i,r,o,a,s,l){let u;let c,f,d,h,p,m;let g,y,v,b,x,_;let w,k,M;let S,E,z;let A,$;let O,R,D,T,N,C,L,P,q,F,I,B,U,j;const Y=t-a;const G=n-a;const W=r-a;const X=e-s;const H=i-s;const V=o-s;F=G*V;R=splitter*G;D=R-(R-G);T=G-D;R=splitter*V;N=R-(R-V);C=V-N;I=T*C-(F-D*N-T*N-D*C);B=W*H;R=splitter*W;D=R-(R-W);T=W-D;R=splitter*H;N=R-(R-H);C=H-N;U=T*C-(B-D*N-T*N-D*C);L=I-U;O=I-L;H$[0]=I-(L+O)+(O-U);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q-B;O=q-L;H$[1]=q-(L+O)+(O-B);j=P+L;O=j-P;H$[2]=P-(j-O)+(L-O);H$[3]=j;F=W*X;R=splitter*W;D=R-(R-W);T=W-D;R=splitter*X;N=R-(R-X);C=X-N;I=T*C-(F-D*N-T*N-D*C);B=Y*V;R=splitter*Y;D=R-(R-Y);T=Y-D;R=splitter*V;N=R-(R-V);C=V-N;U=T*C-(B-D*N-T*N-D*C);L=I-U;O=I-L;V$[0]=I-(L+O)+(O-U);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q-B;O=q-L;V$[1]=q-(L+O)+(O-B);j=P+L;O=j-P;V$[2]=P-(j-O)+(L-O);V$[3]=j;F=Y*H;R=splitter*Y;D=R-(R-Y);T=Y-D;R=splitter*H;N=R-(R-H);C=H-N;I=T*C-(F-D*N-T*N-D*C);B=G*X;R=splitter*G;D=R-(R-G);T=G-D;R=splitter*X;N=R-(R-X);C=X-N;U=T*C-(B-D*N-T*N-D*C);L=I-U;O=I-L;K$[0]=I-(L+O)+(O-U);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q-B;O=q-L;K$[1]=q-(L+O)+(O-B);j=P+L;O=j-P;K$[2]=P-(j-O)+(L-O);K$[3]=j;u=sum(sum(sum(scale(scale(4,H$,Y,pO),pO,Y,mO),mO,scale(scale(4,H$,X,pO),pO,X,gO),gO,vO),vO,sum(scale(scale(4,V$,G,pO),pO,G,mO),mO,scale(scale(4,V$,H,pO),pO,H,gO),gO,bO),bO,_O),_O,sum(scale(scale(4,K$,W,pO),pO,W,mO),mO,scale(scale(4,K$,V,pO),pO,V,gO),gO,vO),vO,wO);let K=estimate(u,wO);let Z=W$*l;if(K>=Z||-K>=Z){return K}O=t-Y;c=t-(Y+O)+(O-a);O=e-X;h=e-(X+O)+(O-s);O=n-G;f=n-(G+O)+(O-a);O=i-H;p=i-(H+O)+(O-s);O=r-W;d=r-(W+O)+(O-a);O=o-V;m=o-(V+O)+(O-s);if(c===0&&f===0&&d===0&&h===0&&p===0&&m===0){return K}Z=X$*l+resulterrbound*Math.abs(K);K+=(Y*Y+X*X)*(G*m+V*f-(H*d+W*p))+2*(Y*c+X*h)*(G*V-H*W)+((G*G+H*H)*(W*h+X*d-(V*c+Y*m))+2*(G*f+H*p)*(W*X-V*Y))+((W*W+V*V)*(Y*p+H*c-(X*f+G*h))+2*(W*d+V*m)*(Y*H-X*G));if(K>=Z||-K>=Z){return K}if(f!==0||p!==0||d!==0||m!==0){F=Y*Y;R=splitter*Y;D=R-(R-Y);T=Y-D;I=T*T-(F-D*D-(D+D)*T);B=X*X;R=splitter*X;D=R-(R-X);T=X-D;U=T*T-(B-D*D-(D+D)*T);L=I+U;O=L-I;Z$[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;Z$[1]=q-(L-O)+(B-O);j=P+L;O=j-P;Z$[2]=P-(j-O)+(L-O);Z$[3]=j}if(d!==0||m!==0||c!==0||h!==0){F=G*G;R=splitter*G;D=R-(R-G);T=G-D;I=T*T-(F-D*D-(D+D)*T);B=H*H;R=splitter*H;D=R-(R-H);T=H-D;U=T*T-(B-D*D-(D+D)*T);L=I+U;O=L-I;Q$[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;Q$[1]=q-(L-O)+(B-O);j=P+L;O=j-P;Q$[2]=P-(j-O)+(L-O);Q$[3]=j}if(c!==0||h!==0||f!==0||p!==0){F=W*W;R=splitter*W;D=R-(R-W);T=W-D;I=T*T-(F-D*D-(D+D)*T);B=V*V;R=splitter*V;D=R-(R-V);T=V-D;U=T*T-(B-D*D-(D+D)*T);L=I+U;O=L-I;J$[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;J$[1]=q-(L-O)+(B-O);j=P+L;O=j-P;J$[2]=P-(j-O)+(L-O);J$[3]=j}if(c!==0){g=scale(4,H$,c,nO);u=MO(u,sum_three(scale(g,nO,2*Y,mO),mO,scale(scale(4,J$,c,pO),pO,H,gO),gO,scale(scale(4,Q$,c,pO),pO,-V,yO),yO,vO,xO),xO)}if(h!==0){y=scale(4,H$,h,iO);u=MO(u,sum_three(scale(y,iO,2*X,mO),mO,scale(scale(4,Q$,h,pO),pO,W,gO),gO,scale(scale(4,J$,h,pO),pO,-G,yO),yO,vO,xO),xO)}if(f!==0){v=scale(4,V$,f,rO);u=MO(u,sum_three(scale(v,rO,2*G,mO),mO,scale(scale(4,Z$,f,pO),pO,V,gO),gO,scale(scale(4,J$,f,pO),pO,-X,yO),yO,vO,xO),xO)}if(p!==0){b=scale(4,V$,p,oO);u=MO(u,sum_three(scale(b,oO,2*H,mO),mO,scale(scale(4,J$,p,pO),pO,Y,gO),gO,scale(scale(4,Z$,p,pO),pO,-W,yO),yO,vO,xO),xO)}if(d!==0){x=scale(4,K$,d,aO);u=MO(u,sum_three(scale(x,aO,2*W,mO),mO,scale(scale(4,Q$,d,pO),pO,X,gO),gO,scale(scale(4,Z$,d,pO),pO,-H,yO),yO,vO,xO),xO)}if(m!==0){_=scale(4,K$,m,sO);u=MO(u,sum_three(scale(_,sO,2*V,mO),mO,scale(scale(4,Z$,m,pO),pO,G,gO),gO,scale(scale(4,Q$,m,pO),pO,-Y,yO),yO,vO,xO),xO)}if(c!==0||h!==0){if(f!==0||p!==0||d!==0||m!==0){F=f*V;R=splitter*f;D=R-(R-f);T=f-D;R=splitter*V;N=R-(R-V);C=V-N;I=T*C-(F-D*N-T*N-D*C);B=G*m;R=splitter*G;D=R-(R-G);T=G-D;R=splitter*m;N=R-(R-m);C=m-N;U=T*C-(B-D*N-T*N-D*C);L=I+U;O=L-I;tO[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;tO[1]=q-(L-O)+(B-O);j=P+L;O=j-P;tO[2]=P-(j-O)+(L-O);tO[3]=j;F=d*-H;R=splitter*d;D=R-(R-d);T=d-D;R=splitter*-H;N=R-(R- -H);C=-H-N;I=T*C-(F-D*N-T*N-D*C);B=W*-p;R=splitter*W;D=R-(R-W);T=W-D;R=splitter*-p;N=R-(R- -p);C=-p-N;U=T*C-(B-D*N-T*N-D*C);L=I+U;O=L-I;eO[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;eO[1]=q-(L-O)+(B-O);j=P+L;O=j-P;eO[2]=P-(j-O)+(L-O);eO[3]=j;k=sum(4,tO,4,eO,uO);F=f*m;R=splitter*f;D=R-(R-f);T=f-D;R=splitter*m;N=R-(R-m);C=m-N;I=T*C-(F-D*N-T*N-D*C);B=d*p;R=splitter*d;D=R-(R-d);T=d-D;R=splitter*p;N=R-(R-p);C=p-N;U=T*C-(B-D*N-T*N-D*C);L=I-U;O=I-L;dO[0]=I-(L+O)+(O-U);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q-B;O=q-L;dO[1]=q-(L+O)+(O-B);j=P+L;O=j-P;dO[2]=P-(j-O)+(L-O);dO[3]=j;E=4}else{uO[0]=0;k=1;dO[0]=0;E=1}if(c!==0){const t=scale(k,uO,c,yO);u=MO(u,sum(scale(g,nO,c,mO),mO,scale(t,yO,2*Y,vO),vO,xO),xO);const e=scale(E,dO,c,pO);u=MO(u,sum_three(scale(e,pO,2*Y,mO),mO,scale(e,pO,c,gO),gO,scale(t,yO,c,vO),vO,bO,_O),_O);if(p!==0){u=MO(u,scale(scale(4,J$,c,pO),pO,p,mO),mO)}if(m!==0){u=MO(u,scale(scale(4,Q$,-c,pO),pO,m,mO),mO)}}if(h!==0){const t=scale(k,uO,h,yO);u=MO(u,sum(scale(y,iO,h,mO),mO,scale(t,yO,2*X,vO),vO,xO),xO);const e=scale(E,dO,h,pO);u=MO(u,sum_three(scale(e,pO,2*X,mO),mO,scale(e,pO,h,gO),gO,scale(t,yO,h,vO),vO,bO,_O),_O)}}if(f!==0||p!==0){if(d!==0||m!==0||c!==0||h!==0){F=d*X;R=splitter*d;D=R-(R-d);T=d-D;R=splitter*X;N=R-(R-X);C=X-N;I=T*C-(F-D*N-T*N-D*C);B=W*h;R=splitter*W;D=R-(R-W);T=W-D;R=splitter*h;N=R-(R-h);C=h-N;U=T*C-(B-D*N-T*N-D*C);L=I+U;O=L-I;tO[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;tO[1]=q-(L-O)+(B-O);j=P+L;O=j-P;tO[2]=P-(j-O)+(L-O);tO[3]=j;A=-V;$=-m;F=c*A;R=splitter*c;D=R-(R-c);T=c-D;R=splitter*A;N=R-(R-A);C=A-N;I=T*C-(F-D*N-T*N-D*C);B=Y*$;R=splitter*Y;D=R-(R-Y);T=Y-D;R=splitter*$;N=R-(R-$);C=$-N;U=T*C-(B-D*N-T*N-D*C);L=I+U;O=L-I;eO[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;eO[1]=q-(L-O)+(B-O);j=P+L;O=j-P;eO[2]=P-(j-O)+(L-O);eO[3]=j;M=sum(4,tO,4,eO,cO);F=d*h;R=splitter*d;D=R-(R-d);T=d-D;R=splitter*h;N=R-(R-h);C=h-N;I=T*C-(F-D*N-T*N-D*C);B=c*m;R=splitter*c;D=R-(R-c);T=c-D;R=splitter*m;N=R-(R-m);C=m-N;U=T*C-(B-D*N-T*N-D*C);L=I-U;O=I-L;hO[0]=I-(L+O)+(O-U);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q-B;O=q-L;hO[1]=q-(L+O)+(O-B);j=P+L;O=j-P;hO[2]=P-(j-O)+(L-O);hO[3]=j;z=4}else{cO[0]=0;M=1;hO[0]=0;z=1}if(f!==0){const t=scale(M,cO,f,yO);u=MO(u,sum(scale(v,rO,f,mO),mO,scale(t,yO,2*G,vO),vO,xO),xO);const e=scale(z,hO,f,pO);u=MO(u,sum_three(scale(e,pO,2*G,mO),mO,scale(e,pO,f,gO),gO,scale(t,yO,f,vO),vO,bO,_O),_O);if(m!==0){u=MO(u,scale(scale(4,Z$,f,pO),pO,m,mO),mO)}if(h!==0){u=MO(u,scale(scale(4,J$,-f,pO),pO,h,mO),mO)}}if(p!==0){const t=scale(M,cO,p,yO);u=MO(u,sum(scale(b,oO,p,mO),mO,scale(t,yO,2*H,vO),vO,xO),xO);const e=scale(z,hO,p,pO);u=MO(u,sum_three(scale(e,pO,2*H,mO),mO,scale(e,pO,p,gO),gO,scale(t,yO,p,vO),vO,bO,_O),_O)}}if(d!==0||m!==0){if(c!==0||h!==0||f!==0||p!==0){F=c*H;R=splitter*c;D=R-(R-c);T=c-D;R=splitter*H;N=R-(R-H);C=H-N;I=T*C-(F-D*N-T*N-D*C);B=Y*p;R=splitter*Y;D=R-(R-Y);T=Y-D;R=splitter*p;N=R-(R-p);C=p-N;U=T*C-(B-D*N-T*N-D*C);L=I+U;O=L-I;tO[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;tO[1]=q-(L-O)+(B-O);j=P+L;O=j-P;tO[2]=P-(j-O)+(L-O);tO[3]=j;A=-X;$=-h;F=f*A;R=splitter*f;D=R-(R-f);T=f-D;R=splitter*A;N=R-(R-A);C=A-N;I=T*C-(F-D*N-T*N-D*C);B=G*$;R=splitter*G;D=R-(R-G);T=G-D;R=splitter*$;N=R-(R-$);C=$-N;U=T*C-(B-D*N-T*N-D*C);L=I+U;O=L-I;eO[0]=I-(L-O)+(U-O);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q+B;O=L-q;eO[1]=q-(L-O)+(B-O);j=P+L;O=j-P;eO[2]=P-(j-O)+(L-O);eO[3]=j;w=sum(4,tO,4,eO,lO);F=c*p;R=splitter*c;D=R-(R-c);T=c-D;R=splitter*p;N=R-(R-p);C=p-N;I=T*C-(F-D*N-T*N-D*C);B=f*h;R=splitter*f;D=R-(R-f);T=f-D;R=splitter*h;N=R-(R-h);C=h-N;U=T*C-(B-D*N-T*N-D*C);L=I-U;O=I-L;fO[0]=I-(L+O)+(O-U);P=F+L;O=P-F;q=F-(P-O)+(L-O);L=q-B;O=q-L;fO[1]=q-(L+O)+(O-B);j=P+L;O=j-P;fO[2]=P-(j-O)+(L-O);fO[3]=j;S=4}else{lO[0]=0;w=1;fO[0]=0;S=1}if(d!==0){const t=scale(w,lO,d,yO);u=MO(u,sum(scale(x,aO,d,mO),mO,scale(t,yO,2*W,vO),vO,xO),xO);const e=scale(S,fO,d,pO);u=MO(u,sum_three(scale(e,pO,2*W,mO),mO,scale(e,pO,d,gO),gO,scale(t,yO,d,vO),vO,bO,_O),_O);if(h!==0){u=MO(u,scale(scale(4,Q$,d,pO),pO,h,mO),mO)}if(p!==0){u=MO(u,scale(scale(4,Z$,-d,pO),pO,p,mO),mO)}}if(m!==0){const t=scale(w,lO,m,yO);u=MO(u,sum(scale(_,sO,m,mO),mO,scale(t,yO,2*V,vO),vO,xO),xO);const e=scale(S,fO,m,pO);u=MO(u,sum_three(scale(e,pO,2*V,mO),mO,scale(e,pO,m,gO),gO,scale(t,yO,m,vO),vO,bO,_O),_O)}}return wO[u-1]}function EO(t,e,n,i,r,o,a,s){const l=t-a;const u=n-a;const c=r-a;const f=e-s;const d=i-s;const h=o-s;const p=u*h;const m=c*d;const g=l*l+f*f;const y=c*f;const v=l*h;const b=u*u+d*d;const x=l*d;const _=u*f;const w=c*c+h*h;const k=g*(p-m)+b*(y-v)+w*(x-_);const M=(Math.abs(p)+Math.abs(m))*g+(Math.abs(y)+Math.abs(v))*b+(Math.abs(x)+Math.abs(_))*w;const S=G$*M;if(k>S||-k>S){return k}return SO(t,e,n,i,r,o,a,s,M)}function zO(t,e,n,i,r,o,a,s){const l=t-a;const u=e-s;const c=n-a;const f=i-s;const d=r-a;const h=o-s;const p=l*f-c*u;const m=c*h-d*f;const g=d*u-l*h;const y=l*l+u*u;const v=c*c+f*f;const b=d*d+h*h;return y*m+v*g+b*p}const AO=(16+224*ZA)*ZA;const $O=(5+72*ZA)*ZA;const OO=(71+1408*ZA)*ZA*ZA;const RO=o$(4);const DO=o$(4);const TO=o$(4);const NO=o$(4);const CO=o$(4);const LO=o$(4);const PO=o$(4);const qO=o$(4);const FO=o$(4);const IO=o$(4);const BO=o$(24);const UO=o$(24);const jO=o$(24);const YO=o$(24);const GO=o$(24);const WO=o$(24);const XO=o$(24);const HO=o$(24);const VO=o$(24);const KO=o$(24);const ZO=o$(1152);const QO=o$(1152);const JO=o$(1152);const tR=o$(1152);const eR=o$(1152);const nR=o$(2304);const iR=o$(2304);const rR=o$(3456);const oR=o$(5760);const aR=o$(8);const sR=o$(8);const lR=o$(8);const uR=o$(16);const cR=o$(24);const fR=o$(48);const dR=o$(48);const hR=o$(96);const pR=o$(192);const mR=o$(384);const gR=o$(384);const yR=o$(384);const vR=o$(768);function bR(t,e,n,i,r,o,a){return sum_three(scale(4,t,i,aR),aR,scale(4,e,r,sR),sR,scale(4,n,o,lR),lR,uR,a)}function xR(t,e,n,i,r,o,a,s,l,u,c,f){const d=sum(sum(t,e,n,i,fR),fR,negate(sum(r,o,a,s,dR),dR),dR,hR);return sum_three(scale(scale(d,hR,l,pR),pR,l,mR),mR,scale(scale(d,hR,u,pR),pR,u,gR),gR,scale(scale(d,hR,c,pR),pR,c,yR),yR,vR,f)}function _R(t,e,n,i,r,o,a,s,l,u,c,f,d,h,p){let m,g,y,v,b,x,_,w,k,M,S,E,z,A;M=t*r;g=splitter*t;y=g-(g-t);v=t-y;g=splitter*r;b=g-(g-r);x=r-b;S=v*x-(M-y*b-v*b-y*x);E=i*e;g=splitter*i;y=g-(g-i);v=i-y;g=splitter*e;b=g-(g-e);x=e-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;RO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;RO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;RO[2]=w-(A-m)+(_-m);RO[3]=A;M=i*s;g=splitter*i;y=g-(g-i);v=i-y;g=splitter*s;b=g-(g-s);x=s-b;S=v*x-(M-y*b-v*b-y*x);E=a*r;g=splitter*a;y=g-(g-a);v=a-y;g=splitter*r;b=g-(g-r);x=r-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;DO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;DO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;DO[2]=w-(A-m)+(_-m);DO[3]=A;M=a*c;g=splitter*a;y=g-(g-a);v=a-y;g=splitter*c;b=g-(g-c);x=c-b;S=v*x-(M-y*b-v*b-y*x);E=u*s;g=splitter*u;y=g-(g-u);v=u-y;g=splitter*s;b=g-(g-s);x=s-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;TO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;TO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;TO[2]=w-(A-m)+(_-m);TO[3]=A;M=u*h;g=splitter*u;y=g-(g-u);v=u-y;g=splitter*h;b=g-(g-h);x=h-b;S=v*x-(M-y*b-v*b-y*x);E=d*c;g=splitter*d;y=g-(g-d);v=d-y;g=splitter*c;b=g-(g-c);x=c-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;NO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;NO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;NO[2]=w-(A-m)+(_-m);NO[3]=A;M=d*e;g=splitter*d;y=g-(g-d);v=d-y;g=splitter*e;b=g-(g-e);x=e-b;S=v*x-(M-y*b-v*b-y*x);E=t*h;g=splitter*t;y=g-(g-t);v=t-y;g=splitter*h;b=g-(g-h);x=h-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;CO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;CO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;CO[2]=w-(A-m)+(_-m);CO[3]=A;M=t*s;g=splitter*t;y=g-(g-t);v=t-y;g=splitter*s;b=g-(g-s);x=s-b;S=v*x-(M-y*b-v*b-y*x);E=a*e;g=splitter*a;y=g-(g-a);v=a-y;g=splitter*e;b=g-(g-e);x=e-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;LO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;LO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;LO[2]=w-(A-m)+(_-m);LO[3]=A;M=i*c;g=splitter*i;y=g-(g-i);v=i-y;g=splitter*c;b=g-(g-c);x=c-b;S=v*x-(M-y*b-v*b-y*x);E=u*r;g=splitter*u;y=g-(g-u);v=u-y;g=splitter*r;b=g-(g-r);x=r-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;PO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;PO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;PO[2]=w-(A-m)+(_-m);PO[3]=A;M=a*h;g=splitter*a;y=g-(g-a);v=a-y;g=splitter*h;b=g-(g-h);x=h-b;S=v*x-(M-y*b-v*b-y*x);E=d*s;g=splitter*d;y=g-(g-d);v=d-y;g=splitter*s;b=g-(g-s);x=s-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;qO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;qO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;qO[2]=w-(A-m)+(_-m);qO[3]=A;M=u*e;g=splitter*u;y=g-(g-u);v=u-y;g=splitter*e;b=g-(g-e);x=e-b;S=v*x-(M-y*b-v*b-y*x);E=t*c;g=splitter*t;y=g-(g-t);v=t-y;g=splitter*c;b=g-(g-c);x=c-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;FO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;FO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;FO[2]=w-(A-m)+(_-m);FO[3]=A;M=d*r;g=splitter*d;y=g-(g-d);v=d-y;g=splitter*r;b=g-(g-r);x=r-b;S=v*x-(M-y*b-v*b-y*x);E=i*h;g=splitter*i;y=g-(g-i);v=i-y;g=splitter*h;b=g-(g-h);x=h-b;z=v*x-(E-y*b-v*b-y*x);_=S-z;m=S-_;IO[0]=S-(_+m)+(m-z);w=M+_;m=w-M;k=M-(w-m)+(_-m);_=k-E;m=k-_;IO[1]=k-(_+m)+(m-E);A=w+_;m=A-w;IO[2]=w-(A-m)+(_-m);IO[3]=A;const $=bR(RO,DO,LO,l,n,-o,BO);const O=bR(DO,TO,PO,f,o,-l,UO);const R=bR(TO,NO,qO,p,l,-f,jO);const D=bR(NO,CO,FO,n,f,-p,YO);const T=bR(CO,RO,IO,o,p,-n,GO);const N=bR(RO,PO,FO,f,n,o,WO);const C=bR(DO,qO,IO,p,o,l,XO);const L=bR(TO,FO,LO,n,l,f,HO);const P=bR(NO,IO,PO,o,f,p,VO);const q=bR(CO,LO,qO,l,p,n,KO);const F=sum_three(xR(R,jO,C,XO,P,VO,O,UO,t,e,n,ZO),ZO,xR(D,YO,L,HO,q,KO,R,jO,i,r,o,QO),QO,sum_three(xR(T,GO,P,VO,N,WO,D,YO,a,s,l,JO),JO,xR($,BO,q,KO,C,XO,T,GO,u,c,f,tR),tR,xR(O,UO,N,WO,L,HO,$,BO,d,h,p,eR),eR,iR,rR),rR,nR,oR);return oR[F-1]}const wR=o$(96);const kR=o$(96);const MR=o$(96);const SR=o$(1152);function ER(t,e,n,i,r,o,a,s,l,u){const c=bR(t,e,n,i,r,o,cR);return sum_three(scale(scale(c,cR,a,fR),fR,a,wR),wR,scale(scale(c,cR,s,fR),fR,s,kR),kR,scale(scale(c,cR,l,fR),fR,l,MR),MR,pR,u)}function zR(t,e,n,i,r,o,a,s,l,u,c,f,d,h,p,m){let g,y,v,b,x,_;let w,k,M,S;let E,z,A,$;let O,R,D,T;let N,C,L,P,q,F,I,B,U,j,Y,G,W;const X=t-d;const H=i-d;const V=a-d;const K=u-d;const Z=e-h;const Q=r-h;const J=s-h;const tt=c-h;const et=n-p;const nt=o-p;const it=l-p;const rt=f-p;j=X*Q;C=splitter*X;L=C-(C-X);P=X-L;C=splitter*Q;q=C-(C-Q);F=Q-q;Y=P*F-(j-L*q-P*q-L*F);G=H*Z;C=splitter*H;L=C-(C-H);P=H-L;C=splitter*Z;q=C-(C-Z);F=Z-q;W=P*F-(G-L*q-P*q-L*F);I=Y-W;N=Y-I;RO[0]=Y-(I+N)+(N-W);B=j+I;N=B-j;U=j-(B-N)+(I-N);I=U-G;N=U-I;RO[1]=U-(I+N)+(N-G);g=B+I;N=g-B;RO[2]=B-(g-N)+(I-N);RO[3]=g;j=H*J;C=splitter*H;L=C-(C-H);P=H-L;C=splitter*J;q=C-(C-J);F=J-q;Y=P*F-(j-L*q-P*q-L*F);G=V*Q;C=splitter*V;L=C-(C-V);P=V-L;C=splitter*Q;q=C-(C-Q);F=Q-q;W=P*F-(G-L*q-P*q-L*F);I=Y-W;N=Y-I;DO[0]=Y-(I+N)+(N-W);B=j+I;N=B-j;U=j-(B-N)+(I-N);I=U-G;N=U-I;DO[1]=U-(I+N)+(N-G);y=B+I;N=y-B;DO[2]=B-(y-N)+(I-N);DO[3]=y;j=V*tt;C=splitter*V;L=C-(C-V);P=V-L;C=splitter*tt;q=C-(C-tt);F=tt-q;Y=P*F-(j-L*q-P*q-L*F);G=K*J;C=splitter*K;L=C-(C-K);P=K-L;C=splitter*J;q=C-(C-J);F=J-q;W=P*F-(G-L*q-P*q-L*F);I=Y-W;N=Y-I;TO[0]=Y-(I+N)+(N-W);B=j+I;N=B-j;U=j-(B-N)+(I-N);I=U-G;N=U-I;TO[1]=U-(I+N)+(N-G);v=B+I;N=v-B;TO[2]=B-(v-N)+(I-N);TO[3]=v;j=K*Z;C=splitter*K;L=C-(C-K);P=K-L;C=splitter*Z;q=C-(C-Z);F=Z-q;Y=P*F-(j-L*q-P*q-L*F);G=X*tt;C=splitter*X;L=C-(C-X);P=X-L;C=splitter*tt;q=C-(C-tt);F=tt-q;W=P*F-(G-L*q-P*q-L*F);I=Y-W;N=Y-I;FO[0]=Y-(I+N)+(N-W);B=j+I;N=B-j;U=j-(B-N)+(I-N);I=U-G;N=U-I;FO[1]=U-(I+N)+(N-G);b=B+I;N=b-B;FO[2]=B-(b-N)+(I-N);FO[3]=b;j=X*J;C=splitter*X;L=C-(C-X);P=X-L;C=splitter*J;q=C-(C-J);F=J-q;Y=P*F-(j-L*q-P*q-L*F);G=V*Z;C=splitter*V;L=C-(C-V);P=V-L;C=splitter*Z;q=C-(C-Z);F=Z-q;W=P*F-(G-L*q-P*q-L*F);I=Y-W;N=Y-I;LO[0]=Y-(I+N)+(N-W);B=j+I;N=B-j;U=j-(B-N)+(I-N);I=U-G;N=U-I;LO[1]=U-(I+N)+(N-G);x=B+I;N=x-B;LO[2]=B-(x-N)+(I-N);LO[3]=x;j=H*tt;C=splitter*H;L=C-(C-H);P=H-L;C=splitter*tt;q=C-(C-tt);F=tt-q;Y=P*F-(j-L*q-P*q-L*F);G=K*Q;C=splitter*K;L=C-(C-K);P=K-L;C=splitter*Q;q=C-(C-Q);F=Q-q;W=P*F-(G-L*q-P*q-L*F);I=Y-W;N=Y-I;PO[0]=Y-(I+N)+(N-W);B=j+I;N=B-j;U=j-(B-N)+(I-N);I=U-G;N=U-I;PO[1]=U-(I+N)+(N-G);_=B+I;N=_-B;PO[2]=B-(_-N)+(I-N);PO[3]=_;const ot=sum(sum(negate(ER(DO,TO,PO,rt,nt,-it,X,Z,et,ZO),ZO),ZO,ER(TO,FO,LO,et,it,rt,H,Q,nt,QO),QO,nR),nR,sum(negate(ER(FO,RO,PO,nt,rt,et,V,J,it,JO),JO),JO,ER(RO,DO,LO,it,et,-nt,K,tt,rt,tR),tR,iR),iR,SR);let at=estimate(ot,SR);let st=$O*m;if(at>=st||-at>=st){return at}N=t-X;w=t-(X+N)+(N-d);N=e-Z;E=e-(Z+N)+(N-h);N=n-et;O=n-(et+N)+(N-p);N=i-H;k=i-(H+N)+(N-d);N=r-Q;z=r-(Q+N)+(N-h);N=o-nt;R=o-(nt+N)+(N-p);N=a-V;M=a-(V+N)+(N-d);N=s-J;A=s-(J+N)+(N-h);N=l-it;D=l-(it+N)+(N-p);N=u-K;S=u-(K+N)+(N-d);N=c-tt;$=c-(tt+N)+(N-h);N=f-rt;T=f-(rt+N)+(N-p);if(w===0&&E===0&&O===0&&k===0&&z===0&&R===0&&M===0&&A===0&&D===0&&S===0&&$===0&&T===0){return at}st=OO*m+resulterrbound*Math.abs(at);const lt=X*z+Q*w-(Z*k+H*E);const ut=H*A+J*k-(Q*M+V*z);const ct=V*$+tt*M-(J*S+K*A);const ft=K*E+Z*S-(tt*w+X*$);const dt=X*A+J*w-(Z*M+V*E);const ht=H*$+tt*k-(Q*S+K*z);at+=(H*H+Q*Q+nt*nt)*(it*ft+rt*dt+et*ct+(D*b+T*x+O*v))+(K*K+tt*tt+rt*rt)*(et*ut-nt*dt+it*lt+(O*y-R*x+D*g))-((X*X+Z*Z+et*et)*(nt*ct-it*ht+rt*ut+(R*v-D*_+T*y))+(V*V+J*J+it*it)*(rt*lt+et*ht+nt*ft+(T*g+O*_+R*b)))+2*((H*k+Q*z+nt*R)*(it*b+rt*x+et*v)+(K*S+tt*$+rt*T)*(et*y-nt*x+it*g)-((X*w+Z*E+et*O)*(nt*v-it*_+rt*y)+(V*M+J*A+it*D)*(rt*g+et*_+nt*b)));if(at>=st||-at>=st){return at}return _R(t,e,n,i,r,o,a,s,l,u,c,f,d,h,p)}function AR(t,e,n,i,r,o,a,s,l,u,c,f,d,h,p){const m=t-d;const g=i-d;const y=a-d;const v=u-d;const b=e-h;const x=r-h;const _=s-h;const w=c-h;const k=n-p;const M=o-p;const S=l-p;const E=f-p;const z=m*x;const A=g*b;const $=z-A;const O=g*_;const R=y*x;const D=O-R;const T=y*w;const N=v*_;const C=T-N;const L=v*b;const P=m*w;const q=L-P;const F=m*_;const I=y*b;const B=F-I;const U=g*w;const j=v*x;const Y=U-j;const G=k*D-M*B+S*$;const W=M*C-S*Y+E*D;const X=S*q+E*B+k*C;const H=E*$+k*Y+M*q;const V=m*m+b*b+k*k;const K=g*g+x*x+M*M;const Z=y*y+_*_+S*S;const Q=v*v+w*w+E*E;const J=Z*H-Q*G+(V*W-K*X);const tt=Math.abs(k);const et=Math.abs(M);const nt=Math.abs(S);const it=Math.abs(E);const rt=Math.abs(z);const ot=Math.abs(A);const at=Math.abs(O);const st=Math.abs(R);const lt=Math.abs(T);const ut=Math.abs(N);const ct=Math.abs(L);const ft=Math.abs(P);const dt=Math.abs(F);const ht=Math.abs(I);const pt=Math.abs(U);const mt=Math.abs(j);const gt=((lt+ut)*et+(mt+pt)*nt+(at+st)*it)*V+((ct+ft)*nt+(dt+ht)*it+(lt+ut)*tt)*K+((rt+ot)*it+(pt+mt)*tt+(ct+ft)*et)*Z+((at+st)*tt+(ht+dt)*et+(rt+ot)*nt)*Q;const yt=AO*gt;if(J>yt||-J>yt){return J}return-zR(t,e,n,i,r,o,a,s,l,u,c,f,d,h,p,gt)}function $R(t,e,n,i,r,o,a,s,l,u,c,f,d,h,p){const m=t-d;const g=i-d;const y=a-d;const v=u-d;const b=e-h;const x=r-h;const _=s-h;const w=c-h;const k=n-p;const M=o-p;const S=l-p;const E=f-p;const z=m*x-g*b;const A=g*_-y*x;const $=y*w-v*_;const O=v*b-m*w;const R=m*_-y*b;const D=g*w-v*x;const T=k*A-M*R+S*z;const N=M*$-S*D+E*A;const C=S*O+E*R+k*$;const L=E*z+k*D+M*O;const P=m*m+b*b+k*k;const q=g*g+x*x+M*M;const F=y*y+_*_+S*S;const I=v*v+w*w+E*E;return F*L-I*T+(P*N-q*C)}const OR=Math.pow(2,-52);const RR=new Uint32Array(512);class DR{static from(t,e=IR,n=BR){const i=t.length;const r=new Float64Array(i*2);for(let o=0;o<i;o++){const i=t[o];r[2*o]=e(i);r[2*o+1]=n(i)}return new DR(r)}constructor(t){const e=t.length>>1;if(e>0&&typeof t[0]!=="number")throw new Error("Expected coords to contain numbers.");this.coords=t;const n=Math.max(2*e-5,0);this._triangles=new Uint32Array(n*3);this._halfedges=new Int32Array(n*3);this._hashSize=Math.ceil(Math.sqrt(e));this._hullPrev=new Uint32Array(e);this._hullNext=new Uint32Array(e);this._hullTri=new Uint32Array(e);this._hullHash=new Int32Array(this._hashSize).fill(-1);this._ids=new Uint32Array(e);this._dists=new Float64Array(e);this.update()}update(){const{coords:t,_hullPrev:e,_hullNext:n,_hullTri:i,_hullHash:r}=this;const o=t.length>>1;let a=Infinity;let s=Infinity;let l=-Infinity;let u=-Infinity;for(let S=0;S<o;S++){const e=t[2*S];const n=t[2*S+1];if(e<a)a=e;if(n<s)s=n;if(e>l)l=e;if(n>u)u=n;this._ids[S]=S}const c=(a+l)/2;const f=(s+u)/2;let d=Infinity;let h,p,m;for(let S=0;S<o;S++){const e=NR(c,f,t[2*S],t[2*S+1]);if(e<d){h=S;d=e}}const g=t[2*h];const y=t[2*h+1];d=Infinity;for(let S=0;S<o;S++){if(S===h)continue;const e=NR(g,y,t[2*S],t[2*S+1]);if(e<d&&e>0){p=S;d=e}}let v=t[2*p];let b=t[2*p+1];let x=Infinity;for(let S=0;S<o;S++){if(S===h||S===p)continue;const e=LR(g,y,v,b,t[2*S],t[2*S+1]);if(e<x){m=S;x=e}}let _=t[2*m];let w=t[2*m+1];if(x===Infinity){for(let i=0;i<o;i++){this._dists[i]=t[2*i]-t[0]||t[2*i+1]-t[1]}qR(this._ids,this._dists,0,o-1);const e=new Uint32Array(o);let n=0;for(let t=0,i=-Infinity;t<o;t++){const r=this._ids[t];if(this._dists[r]>i){e[n++]=r;i=this._dists[r]}}this.hull=e.subarray(0,n);this.triangles=new Uint32Array(0);this.halfedges=new Uint32Array(0);return}if(m$(g,y,v,b,_,w)<0){const t=p;const e=v;const n=b;p=m;v=_;b=w;m=t;_=e;w=n}const k=PR(g,y,v,b,_,w);this._cx=k.x;this._cy=k.y;for(let S=0;S<o;S++){this._dists[S]=NR(t[2*S],t[2*S+1],k.x,k.y)}qR(this._ids,this._dists,0,o-1);this._hullStart=h;let M=3;n[h]=e[m]=p;n[p]=e[h]=m;n[m]=e[p]=h;i[h]=0;i[p]=1;i[m]=2;r.fill(-1);r[this._hashKey(g,y)]=h;r[this._hashKey(v,b)]=p;r[this._hashKey(_,w)]=m;this.trianglesLen=0;this._addTriangle(h,p,m,-1,-1,-1);for(let S=0,E,z;S<this._ids.length;S++){const o=this._ids[S];const a=t[2*o];const s=t[2*o+1];if(S>0&&Math.abs(a-E)<=OR&&Math.abs(s-z)<=OR)continue;E=a;z=s;if(o===h||o===p||o===m)continue;let l=0;for(let t=0,e=this._hashKey(a,s);t<this._hashSize;t++){l=r[(e+t)%this._hashSize];if(l!==-1&&l!==n[l])break}l=e[l];let u=l,c;while(c=n[u],m$(a,s,t[2*u],t[2*u+1],t[2*c],t[2*c+1])>=0){u=c;if(u===l){u=-1;break}}if(u===-1)continue;let f=this._addTriangle(u,o,n[u],-1,-1,i[u]);i[o]=this._legalize(f+2);i[u]=f;M++;let d=n[u];while(c=n[d],m$(a,s,t[2*d],t[2*d+1],t[2*c],t[2*c+1])<0){f=this._addTriangle(d,o,c,i[o],-1,i[d]);i[o]=this._legalize(f+2);n[d]=d;M--;d=c}if(u===l){while(c=e[u],m$(a,s,t[2*c],t[2*c+1],t[2*u],t[2*u+1])<0){f=this._addTriangle(c,o,u,-1,i[u],i[c]);this._legalize(f+2);i[c]=f;n[u]=u;M--;u=c}}this._hullStart=e[o]=u;n[u]=e[d]=o;n[o]=d;r[this._hashKey(a,s)]=o;r[this._hashKey(t[2*u],t[2*u+1])]=u}this.hull=new Uint32Array(M);for(let S=0,E=this._hullStart;S<M;S++){this.hull[S]=E;E=n[E]}this.triangles=this._triangles.subarray(0,this.trianglesLen);this.halfedges=this._halfedges.subarray(0,this.trianglesLen)}_hashKey(t,e){return Math.floor(TR(t-this._cx,e-this._cy)*this._hashSize)%this._hashSize}_legalize(t){const{_triangles:e,_halfedges:n,coords:i}=this;let r=0;let o=0;while(true){const a=n[t];const s=t-t%3;o=s+(t+2)%3;if(a===-1){if(r===0)break;t=RR[--r];continue}const l=a-a%3;const u=s+(t+1)%3;const c=l+(a+2)%3;const f=e[o];const d=e[t];const h=e[u];const p=e[c];const m=CR(i[2*f],i[2*f+1],i[2*d],i[2*d+1],i[2*h],i[2*h+1],i[2*p],i[2*p+1]);if(m){e[t]=p;e[a]=f;const i=n[c];if(i===-1){let e=this._hullStart;do{if(this._hullTri[e]===c){this._hullTri[e]=t;break}e=this._hullPrev[e]}while(e!==this._hullStart)}this._link(t,i);this._link(a,n[o]);this._link(o,c);const s=l+(a+1)%3;if(r<RR.length){RR[r++]=s}}else{if(r===0)break;t=RR[--r]}}return o}_link(t,e){this._halfedges[t]=e;if(e!==-1)this._halfedges[e]=t}_addTriangle(t,e,n,i,r,o){const a=this.trianglesLen;this._triangles[a]=t;this._triangles[a+1]=e;this._triangles[a+2]=n;this._link(a,i);this._link(a+1,r);this._link(a+2,o);this.trianglesLen+=3;return a}}function TR(t,e){const n=t/(Math.abs(t)+Math.abs(e));return(e>0?3-n:1+n)/4}function NR(t,e,n,i){const r=t-n;const o=e-i;return r*r+o*o}function CR(t,e,n,i,r,o,a,s){const l=t-a;const u=e-s;const c=n-a;const f=i-s;const d=r-a;const h=o-s;const p=l*l+u*u;const m=c*c+f*f;const g=d*d+h*h;return l*(f*g-m*h)-u*(c*g-m*d)+p*(c*h-f*d)<0}function LR(t,e,n,i,r,o){const a=n-t;const s=i-e;const l=r-t;const u=o-e;const c=a*a+s*s;const f=l*l+u*u;const d=.5/(a*u-s*l);const h=(u*c-s*f)*d;const p=(a*f-l*c)*d;return h*h+p*p}function PR(t,e,n,i,r,o){const a=n-t;const s=i-e;const l=r-t;const u=o-e;const c=a*a+s*s;const f=l*l+u*u;const d=.5/(a*u-s*l);const h=t+(u*c-s*f)*d;const p=e+(a*f-l*c)*d;return{x:h,y:p}}function qR(t,e,n,i){if(i-n<=20){for(let r=n+1;r<=i;r++){const i=t[r];const o=e[i];let a=r-1;while(a>=n&&e[t[a]]>o)t[a+1]=t[a--];t[a+1]=i}}else{const r=n+i>>1;let o=n+1;let a=i;FR(t,r,o);if(e[t[n]]>e[t[i]])FR(t,n,i);if(e[t[o]]>e[t[i]])FR(t,o,i);if(e[t[n]]>e[t[o]])FR(t,n,o);const s=t[o];const l=e[s];while(true){do{o++}while(e[t[o]]<l);do{a--}while(e[t[a]]>l);if(a<o)break;FR(t,o,a)}t[n+1]=t[a];t[a]=s;if(i-o+1>=a-n){qR(t,e,o,i);qR(t,e,n,a-1)}else{qR(t,e,n,a-1);qR(t,e,o,i)}}}function FR(t,e,n){const i=t[e];t[e]=t[n];t[n]=i}function IR(t){return t[0]}function BR(t){return t[1]}const UR=1e-6;class jR{constructor(){this._x0=this._y0=this._x1=this._y1=null;this._=""}moveTo(t,e){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}`}closePath(){if(this._x1!==null){this._x1=this._x0,this._y1=this._y0;this._+="Z"}}lineTo(t,e){this._+=`L${this._x1=+t},${this._y1=+e}`}arc(t,e,n){t=+t,e=+e,n=+n;const i=t+n;const r=e;if(n<0)throw new Error("negative radius");if(this._x1===null)this._+=`M${i},${r}`;else if(Math.abs(this._x1-i)>UR||Math.abs(this._y1-r)>UR)this._+="L"+i+","+r;if(!n)return;this._+=`A${n},${n},0,1,1,${t-n},${e}A${n},${n},0,1,1,${this._x1=i},${this._y1=r}`}rect(t,e,n,i){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+e}h${+n}v${+i}h${-n}Z`}value(){return this._||null}}class YR{constructor(){this._=[]}moveTo(t,e){this._.push([t,e])}closePath(){this._.push(this._[0].slice())}lineTo(t,e){this._.push([t,e])}value(){return this._.length?this._:null}}class GR{constructor(t,[e,n,i,r]=[0,0,960,500]){if(!((i=+i)>=(e=+e))||!((r=+r)>=(n=+n)))throw new Error("invalid bounds");this.delaunay=t;this._circumcenters=new Float64Array(t.points.length*2);this.vectors=new Float64Array(t.points.length*2);this.xmax=i,this.xmin=e;this.ymax=r,this.ymin=n;this._init()}update(){this.delaunay.update();this._init();return this}_init(){const{delaunay:{points:t,hull:e,triangles:n},vectors:i}=this;let r,o;const a=this.circumcenters=this._circumcenters.subarray(0,n.length/3*2);for(let p=0,m=0,g=n.length,y,v;p<g;p+=3,m+=2){const i=n[p]*2;const s=n[p+1]*2;const l=n[p+2]*2;const u=t[i];const c=t[i+1];const f=t[s];const d=t[s+1];const h=t[l];const g=t[l+1];const b=f-u;const x=d-c;const _=h-u;const w=g-c;const k=(b*w-x*_)*2;if(Math.abs(k)<1e-9){if(r===undefined){r=o=0;for(const n of e)r+=t[n*2],o+=t[n*2+1];r/=e.length,o/=e.length}const n=1e9*Math.sign((r-u)*w-(o-c)*_);y=(u+h)/2-n*w;v=(c+g)/2+n*_}else{const t=1/k;const e=b*b+x*x;const n=_*_+w*w;y=u+(w*e-x*n)*t;v=c+(b*n-_*e)*t}a[m]=y;a[m+1]=v}let s=e[e.length-1];let l,u=s*4;let c,f=t[2*s];let d,h=t[2*s+1];i.fill(0);for(let p=0;p<e.length;++p){s=e[p];l=u,c=f,d=h;u=s*4,f=t[2*s],h=t[2*s+1];i[l+2]=i[u]=d-h;i[l+3]=i[u+1]=f-c}}render(t){const e=t==null?t=new jR:undefined;const{delaunay:{halfedges:n,inedges:i,hull:r},circumcenters:o,vectors:a}=this;if(r.length<=1)return null;for(let u=0,c=n.length;u<c;++u){const e=n[u];if(e<u)continue;const i=Math.floor(u/3)*2;const r=Math.floor(e/3)*2;const a=o[i];const s=o[i+1];const l=o[r];const c=o[r+1];this._renderSegment(a,s,l,c,t)}let s,l=r[r.length-1];for(let u=0;u<r.length;++u){s=l,l=r[u];const e=Math.floor(i[l]/3)*2;const n=o[e];const c=o[e+1];const f=s*4;const d=this._project(n,c,a[f+2],a[f+3]);if(d)this._renderSegment(n,c,d[0],d[1],t)}return e&&e.value()}renderBounds(t){const e=t==null?t=new jR:undefined;t.rect(this.xmin,this.ymin,this.xmax-this.xmin,this.ymax-this.ymin);return e&&e.value()}renderCell(t,e){const n=e==null?e=new jR:undefined;const i=this._clip(t);if(i===null||!i.length)return;e.moveTo(i[0],i[1]);let r=i.length;while(i[0]===i[r-2]&&i[1]===i[r-1]&&r>1)r-=2;for(let o=2;o<r;o+=2){if(i[o]!==i[o-2]||i[o+1]!==i[o-1])e.lineTo(i[o],i[o+1])}e.closePath();return n&&n.value()}*cellPolygons(){const{delaunay:{points:t}}=this;for(let e=0,n=t.length/2;e<n;++e){const t=this.cellPolygon(e);if(t)t.index=e,yield t}}cellPolygon(t){const e=new YR;this.renderCell(t,e);return e.value()}_renderSegment(t,e,n,i,r){let o;const a=this._regioncode(t,e);const s=this._regioncode(n,i);if(a===0&&s===0){r.moveTo(t,e);r.lineTo(n,i)}else if(o=this._clipSegment(t,e,n,i,a,s)){r.moveTo(o[0],o[1]);r.lineTo(o[2],o[3])}}contains(t,e,n){if((e=+e,e!==e)||(n=+n,n!==n))return false;return this.delaunay._step(t,e,n)===t}*neighbors(t){const e=this._clip(t);if(e)for(const n of this.delaunay.neighbors(t)){const t=this._clip(n);if(t)t:for(let i=0,r=e.length;i<r;i+=2){for(let o=0,a=t.length;o<a;o+=2){if(e[i]===t[o]&&e[i+1]===t[o+1]&&e[(i+2)%r]===t[(o+a-2)%a]&&e[(i+3)%r]===t[(o+a-1)%a]){yield n;break t}}}}}_cell(t){const{circumcenters:e,delaunay:{inedges:n,halfedges:i,triangles:r}}=this;const o=n[t];if(o===-1)return null;const a=[];let s=o;do{const n=Math.floor(s/3);a.push(e[n*2],e[n*2+1]);s=s%3===2?s-2:s+1;if(r[s]!==t)break;s=i[s]}while(s!==o&&s!==-1);return a}_clip(t){if(t===0&&this.delaunay.hull.length===1){return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin]}const e=this._cell(t);if(e===null)return null;const{vectors:n}=this;const i=t*4;return this._simplify(n[i]||n[i+1]?this._clipInfinite(t,e,n[i],n[i+1],n[i+2],n[i+3]):this._clipFinite(t,e))}_clipFinite(t,e){const n=e.length;let i=null;let r,o,a=e[n-2],s=e[n-1];let l,u=this._regioncode(a,s);let c,f=0;for(let d=0;d<n;d+=2){r=a,o=s,a=e[d],s=e[d+1];l=u,u=this._regioncode(a,s);if(l===0&&u===0){c=f,f=0;if(i)i.push(a,s);else i=[a,s]}else{let e,n,d,h,p;if(l===0){if((e=this._clipSegment(r,o,a,s,l,u))===null)continue;[n,d,h,p]=e}else{if((e=this._clipSegment(a,s,r,o,u,l))===null)continue;[h,p,n,d]=e;c=f,f=this._edgecode(n,d);if(c&&f)this._edge(t,c,f,i,i.length);if(i)i.push(n,d);else i=[n,d]}c=f,f=this._edgecode(h,p);if(c&&f)this._edge(t,c,f,i,i.length);if(i)i.push(h,p);else i=[h,p]}}if(i){c=f,f=this._edgecode(i[0],i[1]);if(c&&f)this._edge(t,c,f,i,i.length)}else if(this.contains(t,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)){return[this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax,this.xmin,this.ymin]}return i}_clipSegment(t,e,n,i,r,o){const a=r<o;if(a)[t,e,n,i,r,o]=[n,i,t,e,o,r];while(true){if(r===0&&o===0)return a?[n,i,t,e]:[t,e,n,i];if(r&o)return null;let s,l,u=r||o;if(u&8)s=t+(n-t)*(this.ymax-e)/(i-e),l=this.ymax;else if(u&4)s=t+(n-t)*(this.ymin-e)/(i-e),l=this.ymin;else if(u&2)l=e+(i-e)*(this.xmax-t)/(n-t),s=this.xmax;else l=e+(i-e)*(this.xmin-t)/(n-t),s=this.xmin;if(r)t=s,e=l,r=this._regioncode(t,e);else n=s,i=l,o=this._regioncode(n,i)}}_clipInfinite(t,e,n,i,r,o){let a=Array.from(e),s;if(s=this._project(a[0],a[1],n,i))a.unshift(s[0],s[1]);if(s=this._project(a[a.length-2],a[a.length-1],r,o))a.push(s[0],s[1]);if(a=this._clipFinite(t,a)){for(let e=0,n=a.length,i,r=this._edgecode(a[n-2],a[n-1]);e<n;e+=2){i=r,r=this._edgecode(a[e],a[e+1]);if(i&&r)e=this._edge(t,i,r,a,e),n=a.length}}else if(this.contains(t,(this.xmin+this.xmax)/2,(this.ymin+this.ymax)/2)){a=[this.xmin,this.ymin,this.xmax,this.ymin,this.xmax,this.ymax,this.xmin,this.ymax]}return a}_edge(t,e,n,i,r){while(e!==n){let n,o;switch(e){case 5:e=4;continue;case 4:e=6,n=this.xmax,o=this.ymin;break;case 6:e=2;continue;case 2:e=10,n=this.xmax,o=this.ymax;break;case 10:e=8;continue;case 8:e=9,n=this.xmin,o=this.ymax;break;case 9:e=1;continue;case 1:e=5,n=this.xmin,o=this.ymin;break}if((i[r]!==n||i[r+1]!==o)&&this.contains(t,n,o)){i.splice(r,0,n,o),r+=2}}return r}_project(t,e,n,i){let r=Infinity,o,a,s;if(i<0){if(e<=this.ymin)return null;if((o=(this.ymin-e)/i)<r)s=this.ymin,a=t+(r=o)*n}else if(i>0){if(e>=this.ymax)return null;if((o=(this.ymax-e)/i)<r)s=this.ymax,a=t+(r=o)*n}if(n>0){if(t>=this.xmax)return null;if((o=(this.xmax-t)/n)<r)a=this.xmax,s=e+(r=o)*i}else if(n<0){if(t<=this.xmin)return null;if((o=(this.xmin-t)/n)<r)a=this.xmin,s=e+(r=o)*i}return[a,s]}_edgecode(t,e){return(t===this.xmin?1:t===this.xmax?2:0)|(e===this.ymin?4:e===this.ymax?8:0)}_regioncode(t,e){return(t<this.xmin?1:t>this.xmax?2:0)|(e<this.ymin?4:e>this.ymax?8:0)}_simplify(t){if(t&&t.length>4){for(let e=0;e<t.length;e+=2){const n=(e+2)%t.length,i=(e+4)%t.length;if(t[e]===t[n]&&t[n]===t[i]||t[e+1]===t[n+1]&&t[n+1]===t[i+1]){t.splice(n,2),e-=2}}if(!t.length)t=null}return t}}const WR=2*Math.PI,XR=Math.pow;function HR(t){return t[0]}function VR(t){return t[1]}function KR(t){const{triangles:e,coords:n}=t;for(let i=0;i<e.length;i+=3){const t=2*e[i],r=2*e[i+1],o=2*e[i+2],a=(n[o]-n[t])*(n[r+1]-n[t+1])-(n[r]-n[t])*(n[o+1]-n[t+1]);if(a>1e-10)return false}return true}function ZR(t,e,n){return[t+Math.sin(t+e)*n,e+Math.cos(t-e)*n]}class QR{static from(t,e=HR,n=VR,i){return new QR("length"in t?JR(t,e,n,i):Float64Array.from(tD(t,e,n,i)))}constructor(t){this._delaunator=new DR(t);this.inedges=new Int32Array(t.length/2);this._hullIndex=new Int32Array(t.length/2);this.points=this._delaunator.coords;this._init()}update(){this._delaunator.update();this._init();return this}_init(){const t=this._delaunator,e=this.points;if(t.hull&&t.hull.length>2&&KR(t)){this.collinear=Int32Array.from({length:e.length/2},((t,e)=>e)).sort(((t,n)=>e[2*t]-e[2*n]||e[2*t+1]-e[2*n+1]));const t=this.collinear[0],n=this.collinear[this.collinear.length-1],i=[e[2*t],e[2*t+1],e[2*n],e[2*n+1]],r=1e-8*Math.hypot(i[3]-i[1],i[2]-i[0]);for(let o=0,a=e.length/2;o<a;++o){const t=ZR(e[2*o],e[2*o+1],r);e[2*o]=t[0];e[2*o+1]=t[1]}this._delaunator=new DR(e)}else{delete this.collinear}const n=this.halfedges=this._delaunator.halfedges;const i=this.hull=this._delaunator.hull;const r=this.triangles=this._delaunator.triangles;const o=this.inedges.fill(-1);const a=this._hullIndex.fill(-1);for(let s=0,l=n.length;s<l;++s){const t=r[s%3===2?s-2:s+1];if(n[s]===-1||o[t]===-1)o[t]=s}for(let s=0,l=i.length;s<l;++s){a[i[s]]=s}if(i.length<=2&&i.length>0){this.triangles=new Int32Array(3).fill(-1);this.halfedges=new Int32Array(3).fill(-1);this.triangles[0]=i[0];o[i[0]]=1;if(i.length===2){o[i[1]]=0;this.triangles[1]=i[1];this.triangles[2]=i[1]}}}voronoi(t){return new GR(this,t)}*neighbors(t){const{inedges:e,hull:n,_hullIndex:i,halfedges:r,triangles:o,collinear:a}=this;if(a){const e=a.indexOf(t);if(e>0)yield a[e-1];if(e<a.length-1)yield a[e+1];return}const s=e[t];if(s===-1)return;let l=s,u=-1;do{yield u=o[l];l=l%3===2?l-2:l+1;if(o[l]!==t)return;l=r[l];if(l===-1){const e=n[(i[t]+1)%n.length];if(e!==u)yield e;return}}while(l!==s)}find(t,e,n=0){if((t=+t,t!==t)||(e=+e,e!==e))return-1;const i=n;let r;while((r=this._step(n,t,e))>=0&&r!==n&&r!==i)n=r;return r}_step(t,e,n){const{inedges:i,hull:r,_hullIndex:o,halfedges:a,triangles:s,points:l}=this;if(i[t]===-1||!l.length)return(t+1)%(l.length>>1);let u=t;let c=XR(e-l[t*2],2)+XR(n-l[t*2+1],2);const f=i[t];let d=f;do{let i=s[d];const f=XR(e-l[i*2],2)+XR(n-l[i*2+1],2);if(f<c)c=f,u=i;d=d%3===2?d-2:d+1;if(s[d]!==t)break;d=a[d];if(d===-1){d=r[(o[t]+1)%r.length];if(d!==i){if(XR(e-l[d*2],2)+XR(n-l[d*2+1],2)<c)return d}break}}while(d!==f);return u}render(t){const e=t==null?t=new jR:undefined;const{points:n,halfedges:i,triangles:r}=this;for(let o=0,a=i.length;o<a;++o){const e=i[o];if(e<o)continue;const a=r[o]*2;const s=r[e]*2;t.moveTo(n[a],n[a+1]);t.lineTo(n[s],n[s+1])}this.renderHull(t);return e&&e.value()}renderPoints(t,e){if(e===undefined&&(!t||typeof t.moveTo!=="function"))e=t,t=null;e=e==undefined?2:+e;const n=t==null?t=new jR:undefined;const{points:i}=this;for(let r=0,o=i.length;r<o;r+=2){const n=i[r],o=i[r+1];t.moveTo(n+e,o);t.arc(n,o,e,0,WR)}return n&&n.value()}renderHull(t){const e=t==null?t=new jR:undefined;const{hull:n,points:i}=this;const r=n[0]*2,o=n.length;t.moveTo(i[r],i[r+1]);for(let a=1;a<o;++a){const e=2*n[a];t.lineTo(i[e],i[e+1])}t.closePath();return e&&e.value()}hullPolygon(){const t=new YR;this.renderHull(t);return t.value()}renderTriangle(t,e){const n=e==null?e=new jR:undefined;const{points:i,triangles:r}=this;const o=r[t*=3]*2;const a=r[t+1]*2;const s=r[t+2]*2;e.moveTo(i[o],i[o+1]);e.lineTo(i[a],i[a+1]);e.lineTo(i[s],i[s+1]);e.closePath();return n&&n.value()}*trianglePolygons(){const{triangles:t}=this;for(let e=0,n=t.length/3;e<n;++e){yield this.trianglePolygon(e)}}trianglePolygon(t){const e=new YR;this.renderTriangle(t,e);return e.value()}}function JR(t,e,n,i){const r=t.length;const o=new Float64Array(r*2);for(let a=0;a<r;++a){const r=t[a];o[a*2]=e.call(i,r,a,t);o[a*2+1]=n.call(i,r,a,t)}return o}function*tD(t,e,n,i){let r=0;for(const o of t){yield e.call(i,o,r,t);yield n.call(i,o,r,t);++r}}function eD(t){Di.call(this,null,t)}eD.Definition={type:"Voronoi",metadata:{modifies:true},params:[{name:"x",type:"field",required:true},{name:"y",type:"field",required:true},{name:"size",type:"number",array:true,length:2},{name:"extent",type:"array",array:true,length:2,default:[[-1e5,-1e5],[1e5,1e5]],content:{type:"number",array:true,length:2}},{name:"as",type:"string",default:"path"}]};const nD=[-1e5,-1e5,1e5,1e5];(0,p.B)(eD,Di,{transform(t,e){const n=t.as||"path",i=e.source;if(!i||!i.length)return e;let r=t.size;r=r?[0,0,r[0],r[1]]:(r=t.extent)?[r[0][0],r[0][1],r[1][0],r[1][1]]:nD;const o=this.value=QR.from(i,t.x,t.y).voronoi(r);for(let a=0,s=i.length;a<s;++a){const t=o.cellPolygon(a);i[a][n]=t?iD(t):null}return e.reflow(t.modified()).modifies(n)}});function iD(t){const e=t[0][0],n=t[0][1];let i=t.length-1;for(;t[i][0]===e&&t[i][1]===n;--i);return"M"+t.slice(0,i+1).join("L")+"Z"}var rD=Math.PI/180,oD=1<<11>>5,aD=1<<11;function sD(){var t=[256,256],e,n,i,r,o,a,s,l=dD,u=[],c=Math.random,f={};f.layout=function(){var l=d(Ks()),f=pD((t[0]>>5)*t[1]),p=null,m=u.length,g=-1,y=[],v=u.map((t=>({text:e(t),font:n(t),style:r(t),weight:o(t),rotate:a(t),size:~~(i(t)+1e-14),padding:s(t),xoff:0,yoff:0,x1:0,y1:0,x0:0,y0:0,hasText:false,sprite:null,datum:t}))).sort(((t,e)=>e.size-t.size));while(++g<m){var b=v[g];b.x=t[0]*(c()+.5)>>1;b.y=t[1]*(c()+.5)>>1;lD(l,b,v,g);if(b.hasText&&h(f,b,p)){y.push(b);if(p)cD(p,b);else p=[{x:b.x+b.x0,y:b.y+b.y0},{x:b.x+b.x1,y:b.y+b.y1}];b.x-=t[0]>>1;b.y-=t[1]>>1}}return y};function d(t){t.width=t.height=1;var e=Math.sqrt(t.getContext("2d").getImageData(0,0,1,1).data.length>>2);t.width=(oD<<5)/e;t.height=aD/e;var n=t.getContext("2d");n.fillStyle=n.strokeStyle="red";n.textAlign="center";return{context:n,ratio:e}}function h(e,n,i){var r=n.x,o=n.y,a=Math.sqrt(t[0]*t[0]+t[1]*t[1]),s=l(t),u=c()<.5?1:-1,f=-u,d,h,p;while(d=s(f+=u)){h=~~d[0];p=~~d[1];if(Math.min(Math.abs(h),Math.abs(p))>=a)break;n.x=r+h;n.y=o+p;if(n.x+n.x0<0||n.y+n.y0<0||n.x+n.x1>t[0]||n.y+n.y1>t[1])continue;if(!i||!uD(n,e,t[0])){if(!i||fD(n,i)){var m=n.sprite,g=n.width>>5,y=t[0]>>5,v=n.x-(g<<4),b=v&127,x=32-b,_=n.y1-n.y0,w=(n.y+n.y0)*y+(v>>5),k;for(var M=0;M<_;M++){k=0;for(var S=0;S<=g;S++){e[w+S]|=k<<x|(S<g?(k=m[M*g+S])>>>b:0)}w+=y}n.sprite=null;return true}}}return false}f.words=function(t){if(arguments.length){u=t;return f}else{return u}};f.size=function(e){if(arguments.length){t=[+e[0],+e[1]];return f}else{return t}};f.font=function(t){if(arguments.length){n=mD(t);return f}else{return n}};f.fontStyle=function(t){if(arguments.length){r=mD(t);return f}else{return r}};f.fontWeight=function(t){if(arguments.length){o=mD(t);return f}else{return o}};f.rotate=function(t){if(arguments.length){a=mD(t);return f}else{return a}};f.text=function(t){if(arguments.length){e=mD(t);return f}else{return e}};f.spiral=function(t){if(arguments.length){l=gD[t]||t;return f}else{return l}};f.fontSize=function(t){if(arguments.length){i=mD(t);return f}else{return i}};f.padding=function(t){if(arguments.length){s=mD(t);return f}else{return s}};f.random=function(t){if(arguments.length){c=t;return f}else{return c}};return f}function lD(t,e,n,i){if(e.sprite)return;var r=t.context,o=t.ratio;r.clearRect(0,0,(oD<<5)/o,aD/o);var a=0,s=0,l=0,u=n.length,c,f,d,h,p;--i;while(++i<u){e=n[i];r.save();r.font=e.style+" "+e.weight+" "+~~((e.size+1)/o)+"px "+e.font;c=r.measureText(e.text+"m").width*o;d=e.size<<1;if(e.rotate){var m=Math.sin(e.rotate*rD),g=Math.cos(e.rotate*rD),y=c*g,v=c*m,b=d*g,x=d*m;c=Math.max(Math.abs(y+x),Math.abs(y-x))+31>>5<<5;d=~~Math.max(Math.abs(v+b),Math.abs(v-b))}else{c=c+31>>5<<5}if(d>l)l=d;if(a+c>=oD<<5){a=0;s+=l;l=0}if(s+d>=aD)break;r.translate((a+(c>>1))/o,(s+(d>>1))/o);if(e.rotate)r.rotate(e.rotate*rD);r.fillText(e.text,0,0);if(e.padding){r.lineWidth=2*e.padding;r.strokeText(e.text,0,0)}r.restore();e.width=c;e.height=d;e.xoff=a;e.yoff=s;e.x1=c>>1;e.y1=d>>1;e.x0=-e.x1;e.y0=-e.y1;e.hasText=true;a+=c}var _=r.getImageData(0,0,(oD<<5)/o,aD/o).data,w=[];while(--i>=0){e=n[i];if(!e.hasText)continue;c=e.width;f=c>>5;d=e.y1-e.y0;for(h=0;h<d*f;h++)w[h]=0;a=e.xoff;if(a==null)return;s=e.yoff;var k=0,M=-1;for(p=0;p<d;p++){for(h=0;h<c;h++){var S=f*p+(h>>5),E=_[(s+p)*(oD<<5)+(a+h)<<2]?1<<31-h%32:0;w[S]|=E;k|=E}if(k)M=p;else{e.y0++;d--;p--;s++}}e.y1=e.y0+M;e.sprite=w.slice(0,(e.y1-e.y0)*f)}}function uD(t,e,n){n>>=5;var i=t.sprite,r=t.width>>5,o=t.x-(r<<4),a=o&127,s=32-a,l=t.y1-t.y0,u=(t.y+t.y0)*n+(o>>5),c;for(var f=0;f<l;f++){c=0;for(var d=0;d<=r;d++){if((c<<s|(d<r?(c=i[f*r+d])>>>a:0))&e[u+d])return true}u+=n}return false}function cD(t,e){var n=t[0],i=t[1];if(e.x+e.x0<n.x)n.x=e.x+e.x0;if(e.y+e.y0<n.y)n.y=e.y+e.y0;if(e.x+e.x1>i.x)i.x=e.x+e.x1;if(e.y+e.y1>i.y)i.y=e.y+e.y1}function fD(t,e){return t.x+t.x1>e[0].x&&t.x+t.x0<e[1].x&&t.y+t.y1>e[0].y&&t.y+t.y0<e[1].y}function dD(t){var e=t[0]/t[1];return function(t){return[e*(t*=.1)*Math.cos(t),t*Math.sin(t)]}}function hD(t){var e=4,n=e*t[0]/t[1],i=0,r=0;return function(t){var o=t<0?-1:1;switch(Math.sqrt(1+4*o*t)-o&3){case 0:i+=n;break;case 1:r+=e;break;case 2:i-=n;break;default:r-=e;break}return[i,r]}}function pD(t){var e=[],n=-1;while(++n<t)e[n]=0;return e}function mD(t){return typeof t==="function"?t:function(){return t}}var gD={archimedean:dD,rectangular:hD};const yD=["x","y","font","fontSize","fontStyle","fontWeight","angle"];const vD=["text","font","rotate","fontSize","fontStyle","fontWeight"];function bD(t){Di.call(this,sD(),t)}bD.Definition={type:"Wordcloud",metadata:{modifies:true},params:[{name:"size",type:"number",array:true,length:2},{name:"font",type:"string",expr:true,default:"sans-serif"},{name:"fontStyle",type:"string",expr:true,default:"normal"},{name:"fontWeight",type:"string",expr:true,default:"normal"},{name:"fontSize",type:"number",expr:true,default:14},{name:"fontSizeRange",type:"number",array:"nullable",default:[10,50]},{name:"rotate",type:"number",expr:true,default:0},{name:"text",type:"field"},{name:"spiral",type:"string",values:["archimedean","rectangular"]},{name:"padding",type:"number",expr:true},{name:"as",type:"string",array:true,length:7,default:yD}]};(0,p.B)(bD,Di,{transform(t,e){if(t.size&&!(t.size[0]&&t.size[1])){(0,p.z3)("Wordcloud size dimensions must be non-zero.")}function n(n){const i=t[n];return(0,p.Tn)(i)&&e.modified(i.fields)}const i=t.modified();if(!(i||e.changed(e.ADD_REM)||vD.some(n)))return;const r=e.materialize(e.SOURCE).source,o=this.value,a=t.as||yD;let s=t.fontSize||14,l;(0,p.Tn)(s)?l=t.fontSizeRange:s=(0,p.dY)(s);if(l){const t=s,e=Tu("sqrt")().domain((0,p.Xx)(r,t)).range(l);s=n=>e(t(n))}r.forEach((t=>{t[a[0]]=NaN;t[a[1]]=NaN;t[a[3]]=0}));const u=o.words(r).text(t.text).size(t.size||[500,500]).padding(t.padding||1).spiral(t.spiral||"archimedean").rotate(t.rotate||0).font(t.font||"sans-serif").fontStyle(t.fontStyle||"normal").fontWeight(t.fontWeight||"normal").fontSize(s).random(ir).layout();const c=o.size(),f=c[0]>>1,d=c[1]>>1,h=u.length;for(let p=0,m,g;p<h;++p){m=u[p];g=m.datum;g[a[0]]=m.x+f;g[a[1]]=m.y+d;g[a[2]]=m.font;g[a[3]]=m.size;g[a[4]]=m.style;g[a[5]]=m.weight;g[a[6]]=m.rotate}return e.reflow(i).modifies(a)}});function xD(t,e){return Array.from(e,(e=>t[e]))}const _D=t=>new Uint8Array(t);const wD=t=>new Uint16Array(t);const kD=t=>new Uint32Array(t);function MD(){let t=8,e=[],n=kD(0),i=ED(0,t),r=ED(0,t);return{data:()=>e,seen:()=>n=SD(n,e.length),add(t){for(let n=0,i=e.length,r=t.length,o;n<r;++n){o=t[n];o._index=i++;e.push(o)}},remove(t,n){const o=e.length,a=Array(o-t),s=e;let l,u,c;for(u=0;!n[u]&&u<o;++u){a[u]=e[u];s[u]=u}for(c=u;u<o;++u){l=e[u];if(!n[u]){s[u]=c;i[c]=i[u];r[c]=r[u];a[c]=l;l._index=c++}else{s[u]=-1}i[u]=0}e=a;return s},size:()=>e.length,curr:()=>i,prev:()=>r,reset:t=>r[t]=i[t],all:()=>t<257?255:t<65537?65535:4294967295,set(t,e){i[t]|=e},clear(t,e){i[t]&=~e},resize(e,n){const o=i.length;if(e>o||n>t){t=Math.max(n,t);i=ED(e,t,i);r=ED(e,t)}}}}function SD(t,e,n){if(t.length>=e)return t;n=n||new t.constructor(e);n.set(t);return n}function ED(t,e,n){const i=(e<257?_D:e<65537?wD:kD)(t);if(n)i.set(n);return i}function zD(t,e,n){const i=1<<e;return{one:i,zero:~i,range:n.slice(),bisect:t.bisect,index:t.index,size:t.size,onAdd(t,e){const n=this,r=n.bisect(n.range,t.value),o=t.index,a=r[0],s=r[1],l=o.length;let u;for(u=0;u<a;++u)e[o[u]]|=i;for(u=s;u<l;++u)e[o[u]]|=i;return n}}}function AD(){let t=kD(0),e=[],n=0;function i(i,r,o){if(!r.length)return[];const a=n,s=r.length,l=kD(s);let u=Array(s),c,f,d;for(d=0;d<s;++d){u[d]=i(r[d]);l[d]=d}u=$D(u,l);if(a){c=e;f=t;e=Array(a+s);t=kD(a+s);OD(o,c,f,a,u,l,s,e,t)}else{if(o>0)for(d=0;d<s;++d){l[d]+=o}e=u;t=l}n=a+s;return{index:l,value:u}}function r(i,r){const o=n;let a,s,l;for(s=0;!r[t[s]]&&s<o;++s);for(l=s;s<o;++s){if(!r[a=t[s]]){t[l]=a;e[l]=e[s];++l}}n=o-i}function o(e){for(let i=0,r=n;i<r;++i){t[i]=e[t[i]]}}function a(t,i){let r;if(i){r=i.length}else{i=e;r=n}return[(0,Qs.ah)(i,t[0],0,r),(0,Qs.Jj)(i,t[1],0,r)]}return{insert:i,remove:r,bisect:a,reindex:o,index:()=>t,size:()=>n}}function $D(t,e){t.sort.call(e,((e,n)=>{const i=t[e],r=t[n];return i<r?-1:i>r?1:0}));return xD(t,e)}function OD(t,e,n,i,r,o,a,s,l){let u=0,c=0,f;for(f=0;u<i&&c<a;++f){if(e[u]<r[c]){s[f]=e[u];l[f]=n[u++]}else{s[f]=r[c];l[f]=o[c++]+t}}for(;u<i;++u,++f){s[f]=e[u];l[f]=n[u]}for(;c<a;++c,++f){s[f]=r[c];l[f]=o[c]+t}}function RD(t){Di.call(this,MD(),t);this._indices=null;this._dims=null}RD.Definition={type:"CrossFilter",metadata:{},params:[{name:"fields",type:"field",array:true,required:true},{name:"query",type:"array",array:true,required:true,content:{type:"number",array:true,length:2}}]};(0,p.B)(RD,Di,{transform(t,e){if(!this._dims){return this.init(t,e)}else{var n=t.modified("fields")||t.fields.some((t=>e.modified(t.fields)));return n?this.reinit(t,e):this.eval(t,e)}},init(t,e){const n=t.fields,i=t.query,r=this._indices={},o=this._dims=[],a=i.length;let s=0,l,u;for(;s<a;++s){l=n[s].fname;u=r[l]||(r[l]=AD());o.push(zD(u,s,i[s]))}return this.eval(t,e)},reinit(t,e){const n=e.materialize().fork(),i=t.fields,r=t.query,o=this._indices,a=this._dims,s=this.value,l=s.curr(),u=s.prev(),c=s.all(),f=n.rem=n.add,d=n.mod,h=r.length,p={};let m,g,y,v,b,x,_,w,k;u.set(l);if(e.rem.length){b=this.remove(t,e,n)}if(e.add.length){s.add(e.add)}if(e.mod.length){x={};for(v=e.mod,_=0,w=v.length;_<w;++_){x[v[_]._index]=1}}for(_=0;_<h;++_){k=i[_];if(!a[_]||t.modified("fields",_)||e.modified(k.fields)){y=k.fname;if(!(m=p[y])){o[y]=g=AD();p[y]=m=g.insert(k,e.source,0)}a[_]=zD(g,_,r[_]).onAdd(m,l)}}for(_=0,w=s.data().length;_<w;++_){if(b[_]){continue}else if(u[_]!==l[_]){f.push(_)}else if(x[_]&&l[_]!==c){d.push(_)}}s.mask=(1<<h)-1;return n},eval(t,e){const n=e.materialize().fork(),i=this._dims.length;let r=0;if(e.rem.length){this.remove(t,e,n);r|=(1<<i)-1}if(t.modified("query")&&!t.modified("fields")){r|=this.update(t,e,n)}if(e.add.length){this.insert(t,e,n);r|=(1<<i)-1}if(e.mod.length){this.modify(e,n);r|=(1<<i)-1}this.value.mask=r;return n},insert(t,e,n){const i=e.add,r=this.value,o=this._dims,a=this._indices,s=t.fields,l={},u=n.add,c=r.size()+i.length,f=o.length;let d=r.size(),h,p,m;r.resize(c,f);r.add(i);const g=r.curr(),y=r.prev(),v=r.all();for(h=0;h<f;++h){p=s[h].fname;m=l[p]||(l[p]=a[p].insert(s[h],i,d));o[h].onAdd(m,g)}for(;d<c;++d){y[d]=v;if(g[d]!==v)u.push(d)}},modify(t,e){const n=e.mod,i=this.value,r=i.curr(),o=i.all(),a=t.mod;let s,l,u;for(s=0,l=a.length;s<l;++s){u=a[s]._index;if(r[u]!==o)n.push(u)}},remove(t,e,n){const i=this._indices,r=this.value,o=r.curr(),a=r.prev(),s=r.all(),l={},u=n.rem,c=e.rem;let f,d,h,p;for(f=0,d=c.length;f<d;++f){h=c[f]._index;l[h]=1;a[h]=p=o[h];o[h]=s;if(p!==s)u.push(h)}for(h in i){i[h].remove(d,l)}this.reindex(e,d,l);return l},reindex(t,e,n){const i=this._indices,r=this.value;t.runAfter((()=>{const t=r.remove(e,n);for(const e in i)i[e].reindex(t)}))},update(t,e,n){const i=this._dims,r=t.query,o=e.stamp,a=i.length;let s=0,l,u;n.filters=0;for(u=0;u<a;++u){if(t.modified("query",u)){l=u;++s}}if(s===1){s=i[l].one;this.incrementOne(i[l],r[l],n.add,n.rem)}else{for(u=0,s=0;u<a;++u){if(!t.modified("query",u))continue;s|=i[u].one;this.incrementAll(i[u],r[u],o,n.add);n.rem=n.add}}return s},incrementAll(t,e,n,i){const r=this.value,o=r.seen(),a=r.curr(),s=r.prev(),l=t.index(),u=t.bisect(t.range),c=t.bisect(e),f=c[0],d=c[1],h=u[0],p=u[1],m=t.one;let g,y,v;if(f<h){for(g=f,y=Math.min(h,d);g<y;++g){v=l[g];if(o[v]!==n){s[v]=a[v];o[v]=n;i.push(v)}a[v]^=m}}else if(f>h){for(g=h,y=Math.min(f,p);g<y;++g){v=l[g];if(o[v]!==n){s[v]=a[v];o[v]=n;i.push(v)}a[v]^=m}}if(d>p){for(g=Math.max(f,p),y=d;g<y;++g){v=l[g];if(o[v]!==n){s[v]=a[v];o[v]=n;i.push(v)}a[v]^=m}}else if(d<p){for(g=Math.max(h,d),y=p;g<y;++g){v=l[g];if(o[v]!==n){s[v]=a[v];o[v]=n;i.push(v)}a[v]^=m}}t.range=e.slice()},incrementOne(t,e,n,i){const r=this.value,o=r.curr(),a=t.index(),s=t.bisect(t.range),l=t.bisect(e),u=l[0],c=l[1],f=s[0],d=s[1],h=t.one;let p,m,g;if(u<f){for(p=u,m=Math.min(f,c);p<m;++p){g=a[p];o[g]^=h;n.push(g)}}else if(u>f){for(p=f,m=Math.min(u,d);p<m;++p){g=a[p];o[g]^=h;i.push(g)}}if(c>d){for(p=Math.max(u,d),m=c;p<m;++p){g=a[p];o[g]^=h;n.push(g)}}else if(c<d){for(p=Math.max(f,c),m=d;p<m;++p){g=a[p];o[g]^=h;i.push(g)}}t.range=e.slice()}});function DD(t){Di.call(this,null,t)}DD.Definition={type:"ResolveFilter",metadata:{},params:[{name:"ignore",type:"number",required:true,description:"A bit mask indicating which filters to ignore."},{name:"filter",type:"object",required:true,description:"Per-tuple filter bitmaps from a CrossFilter transform."}]};(0,p.B)(DD,Di,{transform(t,e){const n=~(t.ignore||0),i=t.filter,r=i.mask;if((r&n)===0)return e.StopPropagation;const o=e.fork(e.ALL),a=i.data(),s=i.curr(),l=i.prev(),u=t=>!(s[t]&n)?a[t]:null;o.filter(o.MOD,u);if(!(r&r-1)){o.filter(o.ADD,u);o.filter(o.REM,(t=>(s[t]&n)===r?a[t]:null))}else{o.filter(o.ADD,(t=>{const e=s[t]&n,i=!e&&e^l[t]&n;return i?a[t]:null}));o.filter(o.REM,(t=>{const e=s[t]&n,i=e&&!(e^(e^l[t]&n));return i?a[t]:null}))}return o.filter(o.SOURCE,(t=>u(t._index)))}});var TD=n(21720);var ND=new Ib;var CD=new Ib,LD,PD,qD,FD,ID;var BD={point:px,lineStart:px,lineEnd:px,polygonStart:function(){ND=new Ib;BD.lineStart=UD;BD.lineEnd=jD},polygonEnd:function(){var t=+ND;CD.add(t<0?Hb+t:t);this.lineStart=this.lineEnd=this.point=px},sphere:function(){CD.add(Hb)}};function UD(){BD.point=YD}function jD(){GD(LD,PD)}function YD(t,e){BD.point=GD;LD=t,PD=e;t*=Kb,e*=Kb;qD=t,FD=tx(e=e/2+Xb),ID=sx(e)}function GD(t,e){t*=Kb,e*=Kb;e=e/2+Xb;var n=t-qD,i=n>=0?1:-1,r=i*n,o=tx(e),a=sx(e),s=ID*a,l=FD*o+s*tx(r),u=s*i*sx(r);ND.add(Jb(u,l));qD=t,FD=o,ID=a}function WD(t){CD=new Ib;Fb(t,BD);return CD*2}var XD,HD,VD,KD,ZD,QD,JD,tT,eT,nT,iT;var rT={point:oT,lineStart:sT,lineEnd:lT,polygonStart:function(){rT.point=uT;rT.lineStart=cT;rT.lineEnd=fT;eT=new Ib;BD.polygonStart()},polygonEnd:function(){BD.polygonEnd();rT.point=oT;rT.lineStart=sT;rT.lineEnd=lT;if(ND<0)XD=-(VD=180),HD=-(KD=90);else if(eT>jb)KD=90;else if(eT<-jb)HD=-90;iT[0]=XD,iT[1]=VD},sphere:function(){XD=-(VD=180),HD=-(KD=90)}};function oT(t,e){nT.push(iT=[XD=t,VD=t]);if(e<HD)HD=e;if(e>KD)KD=e}function aT(t,e){var n=$_([t*Kb,e*Kb]);if(tT){var i=R_(tT,n),r=[i[1],-i[0],0],o=R_(r,i);N_(o);o=A_(o);var a=t-ZD,s=a>0?1:-1,l=o[0]*Vb*s,u,c=Zb(a)>180;if(c^(s*ZD<l&&l<s*t)){u=o[1]*Vb;if(u>KD)KD=u}else if(l=(l+360)%360-180,c^(s*ZD<l&&l<s*t)){u=-o[1]*Vb;if(u<HD)HD=u}else{if(e<HD)HD=e;if(e>KD)KD=e}if(c){if(t<ZD){if(dT(XD,t)>dT(XD,VD))VD=t}else{if(dT(t,VD)>dT(XD,VD))XD=t}}else{if(VD>=XD){if(t<XD)XD=t;if(t>VD)VD=t}else{if(t>ZD){if(dT(XD,t)>dT(XD,VD))VD=t}else{if(dT(t,VD)>dT(XD,VD))XD=t}}}}else{nT.push(iT=[XD=t,VD=t])}if(e<HD)HD=e;if(e>KD)KD=e;tT=n,ZD=t}function sT(){rT.point=aT}function lT(){iT[0]=XD,iT[1]=VD;rT.point=oT;tT=null}function uT(t,e){if(tT){var n=t-ZD;eT.add(Zb(n)>180?n+(n>0?360:-360):n)}else{QD=t,JD=e}BD.point(t,e);aT(t,e)}function cT(){BD.lineStart()}function fT(){uT(QD,JD);BD.lineEnd();if(Zb(eT)>jb)XD=-(VD=180);iT[0]=XD,iT[1]=VD;tT=null}function dT(t,e){return(e-=t)<0?e+360:e}function hT(t,e){return t[0]-e[0]}function pT(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:e<t[0]||t[1]<e}function mT(t){var e,n,i,r,o,a,s;KD=VD=-(XD=HD=Infinity);nT=[];Fb(t,rT);if(n=nT.length){nT.sort(hT);for(e=1,i=nT[0],o=[i];e<n;++e){r=nT[e];if(pT(i,r[0])||pT(i,r[1])){if(dT(i[0],r[1])>dT(i[0],i[1]))i[1]=r[1];if(dT(r[0],i[1])>dT(i[0],i[1]))i[0]=r[0]}else{o.push(i=r)}}for(a=-Infinity,n=o.length-1,e=0,i=o[n];e<=n;i=r,++e){r=o[e];if((s=dT(i[1],r[0]))>a)a=s,XD=r[0],VD=i[1]}}nT=iT=null;return XD===Infinity||HD===Infinity?[[NaN,NaN],[NaN,NaN]]:[[XD,HD],[VD,KD]]}var gT,yT,vT,bT,xT,_T,wT,kT,MT,ST,ET,zT,AT,$T,OT,RT;var DT={sphere:px,point:TT,lineStart:CT,lineEnd:qT,polygonStart:function(){DT.lineStart=FT;DT.lineEnd=IT},polygonEnd:function(){DT.lineStart=CT;DT.lineEnd=qT}};function TT(t,e){t*=Kb,e*=Kb;var n=tx(e);NT(n*tx(t),n*sx(t),sx(e))}function NT(t,e,n){++gT;vT+=(t-vT)/gT;bT+=(e-bT)/gT;xT+=(n-xT)/gT}function CT(){DT.point=LT}function LT(t,e){t*=Kb,e*=Kb;var n=tx(e);$T=n*tx(t);OT=n*sx(t);RT=sx(e);DT.point=PT;NT($T,OT,RT)}function PT(t,e){t*=Kb,e*=Kb;var n=tx(e),i=n*tx(t),r=n*sx(t),o=sx(e),a=Jb(ux((a=OT*o-RT*r)*a+(a=RT*i-$T*o)*a+(a=$T*r-OT*i)*a),$T*i+OT*r+RT*o);yT+=a;_T+=a*($T+($T=i));wT+=a*(OT+(OT=r));kT+=a*(RT+(RT=o));NT($T,OT,RT)}function qT(){DT.point=TT}function FT(){DT.point=BT}function IT(){UT(zT,AT);DT.point=TT}function BT(t,e){zT=t,AT=e;t*=Kb,e*=Kb;DT.point=UT;var n=tx(e);$T=n*tx(t);OT=n*sx(t);RT=sx(e);NT($T,OT,RT)}function UT(t,e){t*=Kb,e*=Kb;var n=tx(e),i=n*tx(t),r=n*sx(t),o=sx(e),a=OT*o-RT*r,s=RT*i-$T*o,l=$T*r-OT*i,u=rx(a,s,l),c=dx(u),f=u&&-c/u;MT.add(f*a);ST.add(f*s);ET.add(f*l);yT+=c;_T+=c*($T+($T=i));wT+=c*(OT+(OT=r));kT+=c*(RT+(RT=o));NT($T,OT,RT)}function jT(t){gT=yT=vT=bT=xT=_T=wT=kT=0;MT=new Ib;ST=new Ib;ET=new Ib;Fb(t,DT);var e=+MT,n=+ST,i=+ET,r=rx(e,n,i);if(r<Yb){e=_T,n=wT,i=kT;if(yT<jb)e=vT,n=bT,i=xT;r=rx(e,n,i);if(r<Yb)return[NaN,NaN]}return[Jb(n,e)*Vb,dx(i/r)*Vb]}var YT=n(14180);var GT=n(30352);function WT(...t){const e=new GT.v;for(const n of t){for(const t of n){e.add(t)}}return e}function XT(t,...e){t=new GT.v(t);e=e.map(HT);t:for(const n of t){for(const i of e){if(!i.has(n)){t.delete(n);continue t}}}return t}function HT(t){return t instanceof GT.v?t:new GT.v(t)}const VT="intersect";const KT="union";const ZT="vlMulti";const QT="vlPoint";const JT="or";const tN="and";const eN="_vgsid_";const nN=(0,p.ZZ)(eN);const iN="E",rN="R",oN="R-E",aN="R-LE",sN="R-RE",lN="index:unit";function uN(t,e){var n=e.fields,i=e.values,r=n.length,o=0,a,s;for(;o<r;++o){s=n[o];s.getter=p.ZZ.getter||(0,p.ZZ)(s.field);a=s.getter(t);if((0,p.$P)(a))a=(0,p.Ro)(a);if((0,p.$P)(i[o]))i[o]=(0,p.Ro)(i[o]);if((0,p.$P)(i[o][0]))i[o]=i[o].map(p.Ro);if(s.type===iN){if((0,p.cy)(i[o])?i[o].indexOf(a)<0:a!==i[o]){return false}}else{if(s.type===rN){if(!(0,p.PK)(a,i[o]))return false}else if(s.type===sN){if(!(0,p.PK)(a,i[o],true,false))return false}else if(s.type===oN){if(!(0,p.PK)(a,i[o],false,false))return false}else if(s.type===aN){if(!(0,p.PK)(a,i[o],false,true))return false}}}return true}function cN(t,e,n){var i=this.context.data[t],r=i?i.values.value:[],o=i?i[lN]&&i[lN].value:undefined,a=n===VT,s=r.length,l=0,u,c,f,d,h;for(;l<s;++l){u=r[l];if(o&&a){c=c||{};f=c[d=u.unit]||0;if(f===-1)continue;h=uN(e,u);c[d]=h?-1:++f;if(h&&o.size===1)return true;if(!h&&f===o.get(d).count)return false}else{h=uN(e,u);if(a^h)return h}}return s&&a}const fN=(0,Q.A)(nN),dN=fN.left,hN=fN.right;function pN(t,e,n){const i=this.context.data[t],r=i?i.values.value:[],o=i?i[lN]&&i[lN].value:undefined,a=n===VT,s=nN(e),l=dN(r,s);if(l===r.length)return false;if(nN(r[l])!==s)return false;if(o&&a){if(o.size===1)return true;if(hN(r,s)-l<o.size)return false}return true}function mN(t,e){return t.map((t=>(0,p.X$)(e.fields?{values:e.fields.map((e=>(e.getter||(e.getter=(0,p.ZZ)(e.field)))(t.datum)))}:{[eN]:nN(t.datum)},e)))}function gN(t,e,n,i){var r=this.context.data[t],o=r?r.values.value:[],a={},s={},l={},u,c,f,d,h,m,g,y,v,b,x=o.length,_=0,w,k;for(;_<x;++_){u=o[_];d=u.unit;c=u.fields;f=u.values;if(c&&f){for(w=0,k=c.length;w<k;++w){h=c[w];g=a[h.field]||(a[h.field]={});y=g[d]||(g[d]=[]);l[h.field]=v=h.type.charAt(0);b=yN[`${v}_union`];g[d]=b(y,(0,p.YO)(f[w]))}if(n){y=s[d]||(s[d]=[]);y.push((0,p.YO)(f).reduce(((t,e,n)=>(t[c[n].field]=e,t)),{}))}}else{h=eN;m=nN(u);g=a[h]||(a[h]={});y=g[d]||(g[d]=[]);y.push(m);if(n){y=s[d]||(s[d]=[]);y.push({[eN]:m})}}}e=e||KT;if(a[eN]){a[eN]=yN[`${eN}_${e}`](...Object.values(a[eN]))}else{Object.keys(a).forEach((t=>{a[t]=Object.keys(a[t]).map((e=>a[t][e])).reduce(((n,i)=>n===undefined?i:yN[`${l[t]}_${e}`](n,i)))}))}o=Object.keys(s);if(n&&o.length){const t=i?QT:ZT;a[t]=e===KT?{[JT]:o.reduce(((t,e)=>(t.push(...s[e]),t)),[])}:{[tN]:o.map((t=>({[JT]:s[t]})))}}return a}var yN={[`${eN}_union`]:WT,[`${eN}_intersect`]:XT,E_union:function(t,e){if(!t.length)return e;var n=0,i=e.length;for(;n<i;++n)if(t.indexOf(e[n])<0)t.push(e[n]);return t},E_intersect:function(t,e){return!t.length?e:t.filter((t=>e.indexOf(t)>=0))},R_union:function(t,e){var n=(0,p.Ro)(e[0]),i=(0,p.Ro)(e[1]);if(n>i){n=e[1];i=e[0]}if(!t.length)return[n,i];if(t[0]>n)t[0]=n;if(t[1]<i)t[1]=i;return t},R_intersect:function(t,e){var n=(0,p.Ro)(e[0]),i=(0,p.Ro)(e[1]);if(n>i){n=e[1];i=e[0]}if(!t.length)return[n,i];if(i<t[0]||t[1]<n){return[]}else{if(t[0]<n)t[0]=n;if(t[1]>i)t[1]=i}return t}};const vN=":",bN="@";function xN(t,e,n,i){if(e[0].type!==TD.uS)(0,p.z3)("First argument to selection functions must be a string literal.");const r=e[0].value,o=e.length>=2&&(0,p.se)(e).value,a="unit",s=bN+a,l=vN+r;if(o===VT&&!(0,p.mQ)(i,s)){i[s]=n.getData(r).indataRef(n,a)}if(!(0,p.mQ)(i,l)){i[l]=n.getData(r).tuplesRef()}}function _N(t){const e=this.context.data[t];return e?e.values.value:[]}function wN(t,e,n){const i=this.context.data[t]["index:"+e],r=i?i.value.get(n):undefined;return r?r.count:r}function kN(t,e){const n=this.context.dataflow,i=this.context.data[t],r=i.input;n.pulse(r,n.changeset().remove(p.vN).insert(e));return 1}function MN(t,e,n){if(t){const n=this.context.dataflow,i=t.mark.source;n.pulse(i,n.changeset().encode(t,e))}return n!==undefined?n:t}const SN=t=>function(e,n){const i=this.context.dataflow.locale();return i[t](n)(e)};const EN=SN("format");const zN=SN("timeFormat");const AN=SN("utcFormat");const $N=SN("timeParse");const ON=SN("utcParse");const RN=new Date(2e3,0,1);function DN(t,e,n){if(!Number.isInteger(t)||!Number.isInteger(e))return"";RN.setYear(2e3);RN.setMonth(t);RN.setDate(e);return zN.call(this,RN,n)}function TN(t){return DN.call(this,t,1,"%B")}function NN(t){return DN.call(this,t,1,"%b")}function CN(t){return DN.call(this,0,2+t,"%A")}function LN(t){return DN.call(this,0,2+t,"%a")}const PN=":";const qN="@";const FN="%";const IN="$";function BN(t,e,n,i){if(e[0].type!==TD.uS){(0,p.z3)("First argument to data functions must be a string literal.")}const r=e[0].value,o=PN+r;if(!(0,p.mQ)(o,i)){try{i[o]=n.getData(r).tuplesRef()}catch(a){}}}function UN(t,e,n,i){if(e[0].type!==TD.uS)(0,p.z3)("First argument to indata must be a string literal.");if(e[1].type!==TD.uS)(0,p.z3)("Second argument to indata must be a string literal.");const r=e[0].value,o=e[1].value,a=qN+o;if(!(0,p.mQ)(a,i)){i[a]=n.getData(r).indataRef(n,o)}}function jN(t,e,n,i){if(e[0].type===TD.uS){YN(n,i,e[0].value)}else{for(t in n.scales){YN(n,i,t)}}}function YN(t,e,n){const i=FN+n;if(!(0,p.mQ)(e,i)){try{e[i]=t.scaleRef(n)}catch(r){}}}function GN(t,e){if((0,p.Tn)(t)){return t}if((0,p.Kg)(t)){const n=e.scales[t];return n&&Ru(n.value)?n.value:undefined}return undefined}function WN(t,e,n){e.__bandwidth=t=>t&&t.bandwidth?t.bandwidth():0;n._bandwidth=jN;n._range=jN;n._scale=jN;const i=e=>"_["+(e.type===TD.uS?(0,p.r$)(FN+e.value):(0,p.r$)(FN)+"+"+t(e))+"]";return{_bandwidth:t=>`this.__bandwidth(${i(t[0])})`,_range:t=>`${i(t[0])}.range()`,_scale:e=>`${i(e[0])}(${t(e[1])})`}}function XN(t,e){return function(n,i,r){if(n){const e=GN(n,(r||this).context);return e&&e.path[t](i)}else{return e(i)}}}const HN=XN("area",WD);const VN=XN("bounds",mT);const KN=XN("centroid",jT);function ZN(t){const e=this.context.group;let n=false;if(e)while(t){if(t===e){n=true;break}t=t.mark.group}return n}function QN(t,e,n){try{t[e].apply(t,["EXPRESSION"].concat([].slice.call(n)))}catch(i){t.warn(i)}return n[n.length-1]}function JN(){return QN(this.context.dataflow,"warn",arguments)}function tC(){return QN(this.context.dataflow,"info",arguments)}function eC(){return QN(this.context.dataflow,"debug",arguments)}function nC(t){const e=t/255;if(e<=.03928){return e/12.92}return Math.pow((e+.055)/1.055,2.4)}function iC(t){const e=(0,uM.Qh)(t),n=nC(e.r),i=nC(e.g),r=nC(e.b);return.2126*n+.7152*i+.0722*r}function rC(t,e){const n=iC(t),i=iC(e),r=Math.max(n,i),o=Math.min(n,i);return(r+.05)/(o+.05)}function oC(){const t=[].slice.call(arguments);t.unshift({});return(0,p.X$)(...t)}function aC(t,e){return t===e||t!==t&&e!==e?true:(0,p.cy)(t)?(0,p.cy)(e)&&t.length===e.length?sC(t,e):false:(0,p.Gv)(t)&&(0,p.Gv)(e)?lC(t,e):false}function sC(t,e){for(let n=0,i=t.length;n<i;++n){if(!aC(t[n],e[n]))return false}return true}function lC(t,e){for(const n in t){if(!aC(t[n],e[n]))return false}return true}function uC(t){return e=>lC(t,e)}function cC(t,e,n,i,r,o){const a=this.context.dataflow,s=this.context.data[t],l=s.input,u=a.stamp();let c=s.changes,f,d;if(a._trigger===false||!(l.value.length||e||i)){return 0}if(!c||c.stamp<u){s.changes=c=a.changeset();c.stamp=u;a.runAfter((()=>{s.modified=true;a.pulse(l,c).run()}),true,1)}if(n){f=n===true?p.vN:(0,p.cy)(n)||gn(n)?n:uC(n);c.remove(f)}if(e){c.insert(e)}if(i){f=uC(i);if(l.value.some(f)){c.remove(f)}else{c.insert(i)}}if(r){for(d in o){c.modify(r,d,o[d])}}return 1}function fC(t){const e=t.touches,n=e[0].clientX-e[1].clientX,i=e[0].clientY-e[1].clientY;return Math.sqrt(n*n+i*i)}function dC(t){const e=t.touches;return Math.atan2(e[0].clientY-e[1].clientY,e[0].clientX-e[1].clientX)}const hC={};function pC(t,e){const n=hC[e]||(hC[e]=(0,p.ZZ)(e));return(0,p.cy)(t)?t.map(n):n(t)}function mC(t){return(0,p.cy)(t)||ArrayBuffer.isView(t)?t:null}function gC(t){return mC(t)||((0,p.Kg)(t)?t:null)}function yC(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++){n[i-1]=arguments[i]}return mC(t).join(...n)}function vC(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++){n[i-1]=arguments[i]}return gC(t).indexOf(...n)}function bC(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++){n[i-1]=arguments[i]}return gC(t).lastIndexOf(...n)}function xC(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i<e;i++){n[i-1]=arguments[i]}return gC(t).slice(...n)}function _C(t,e,n){if((0,p.Tn)(n))(0,p.z3)("Function argument passed to replace.");return String(t).replace(e,n)}function wC(t){return mC(t).slice().reverse()}function kC(t,e,n){return Kl(t||0,e||0,n||0)}function MC(t,e){const n=GN(t,(e||this).context);return n&&n.bandwidth?n.bandwidth():0}function SC(t,e){const n=GN(t,(e||this).context);return n?n.copy():undefined}function EC(t,e){const n=GN(t,(e||this).context);return n?n.domain():[]}function zC(t,e,n){const i=GN(t,(n||this).context);return!i?undefined:(0,p.cy)(e)?(i.invertRange||i.invert)(e):(i.invert||i.invertExtent)(e)}function AC(t,e){const n=GN(t,(e||this).context);return n&&n.range?n.range():[]}function $C(t,e,n){const i=GN(t,(n||this).context);return i?i(e):undefined}function OC(t,e,n,i,r){t=GN(t,(r||this).context);const o=Lc(e,n);let a=t.domain(),s=a[0],l=(0,p.se)(a),u=p.D_;if(!(l-s)){t=(t.interpolator?Tu("sequential")().interpolator(t.interpolator()):Tu("linear")().interpolate(t.interpolate()).range(t.range())).domain([s=0,l=1])}else{u=Hu(t,s,l)}if(t.ticks){a=t.ticks(+i||15);if(s!==a[0])a.unshift(s);if(l!==(0,p.se)(a))a.push(l)}a.forEach((e=>o.stop(u(e),t(e))));return o}function RC(t,e,n){const i=GN(t,(n||this).context);return function(t){return i?i.path.context(t)(e):""}}function DC(t){let e=null;return function(n){return n?of(n,e=e||Yc(t)):t}}const TC=t=>t.data;function NC(t,e){const n=_N.call(e,t);return n.root&&n.root.lookup||{}}function CC(t,e,n){const i=NC(t,this),r=i[e],o=i[n];return r&&o?r.path(o).map(TC):undefined}function LC(t,e){const n=NC(t,this)[e];return n?n.ancestors().map(TC):undefined}const PC=()=>typeof window!=="undefined"&&window||null;function qC(){const t=PC();return t?t.screen:{}}function FC(){const t=PC();return t?[t.innerWidth,t.innerHeight]:[undefined,undefined]}function IC(){const t=this.context.dataflow,e=t.container&&t.container();return e?[e.clientWidth,e.clientHeight]:[undefined,undefined]}function BC(t,e,n){if(!t)return[];const[i,r]=t,o=(new ad).set(i[0],i[1],r[0],r[1]),a=n||this.context.dataflow.scenegraph().root;return Yg(a,o,UC(e))}function UC(t){let e=null;if(t){const n=(0,p.YO)(t.marktype),i=(0,p.YO)(t.markname);e=t=>(!n.length||n.some((e=>t.marktype===e)))&&(!i.length||i.some((e=>t.name===e)))}return e}function jC(t,e,n){let i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:5;t=(0,p.YO)(t);const r=t[t.length-1];return r===undefined||Math.sqrt((r[0]-e)**2+(r[1]-n)**2)>i?[...t,[e,n]]:t}function YC(t){return(0,p.YO)(t).reduce(((e,n,i)=>{let[r,o]=n;return e+=i==0?`M ${r},${o} `:i===t.length-1?" Z":`L ${r},${o} `}),"")}function GC(t,e,n){const{x:i,y:r,mark:o}=n;const a=(new ad).set(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER,Number.MIN_SAFE_INTEGER,Number.MIN_SAFE_INTEGER);for(const[l,u]of e){if(l<a.x1)a.x1=l;if(l>a.x2)a.x2=l;if(u<a.y1)a.y1=u;if(u>a.y2)a.y2=u}a.translate(i,r);const s=BC([[a.x1,a.y1],[a.x2,a.y2]],t,o);return s.filter((t=>WC(t.x,t.y,e)))}function WC(t,e,n){let i=0;for(let r=0,o=n.length-1;r<n.length;o=r++){const[a,s]=n[o];const[l,u]=n[r];if(u>e!=s>e&&t<(a-l)*(e-u)/(s-u)+l){i++}}return i&1}const XC={random(){return ir()},cumulativeNormal:mr,cumulativeLogNormal:wr,cumulativeUniform:Ar,densityNormal:pr,densityLogNormal:_r,densityUniform:zr,quantileNormal:gr,quantileLogNormal:kr,quantileUniform:$r,sampleNormal:hr,sampleLogNormal:xr,sampleUniform:Er,isArray:p.cy,isBoolean:p.Lm,isDate:p.$P,isDefined(t){return t!==undefined},isNumber:p.Et,isObject:p.Gv,isRegExp:p.gd,isString:p.Kg,isTuple:gn,isValid(t){return t!=null&&t===t},toBoolean:p.G4,toDate(t){return(0,p.ay)(t)},toNumber:p.Ro,toString:p.dI,indexof:vC,join:yC,lastindexof:bC,replace:_C,reverse:wC,slice:xC,flush:p.bX,lerp:p.Cc,merge:oC,pad:p.eV,peek:p.se,pluck:pC,span:p.Ln,inrange:p.PK,truncate:p.xv,rgb:uM.Qh,lab:YT.Ay,hcl:YT.aq,hsl:uM.KI,luminance:iC,contrast:rC,sequence:to.A,format:EN,utcFormat:AN,utcParse:ON,utcOffset:Yt,utcSequence:Xt,timeFormat:zN,timeParse:$N,timeOffset:jt,timeSequence:Wt,timeUnitSpecifier:pt,monthFormat:TN,monthAbbrevFormat:NN,dayFormat:CN,dayAbbrevFormat:LN,quarter:p.$G,utcquarter:p.vu,week:vt,utcweek:Mt,dayofyear:yt,utcdayofyear:kt,warn:JN,info:tC,debug:eC,extent(t){return(0,p.Xx)(t)},inScope:ZN,intersect:BC,clampRange:p.BS,pinchDistance:fC,pinchAngle:dC,screen:qC,containerSize:IC,windowSize:FC,bandspace:kC,setdata:kN,pathShape:DC,panLinear:p.VC,panLog:p.KH,panPow:p.co,panSymlog:p.zy,zoomLinear:p.lL,zoomLog:p.oV,zoomPow:p.SW,zoomSymlog:p.B2,encode:MN,modify:cC,lassoAppend:jC,lassoPath:YC,intersectLasso:GC};const HC=["view","item","group","xy","x","y"],VC="event.vega.",KC="this.",ZC={};const QC={forbidden:["_"],allowed:["datum","event","item"],fieldvar:"datum",globalvar:t=>`_[${(0,p.r$)(IN+t)}]`,functions:tL,constants:TD.AA,visitors:ZC};const JC=(0,TD.Se)(QC);function tL(t){const e=(0,TD.Cn)(t);HC.forEach((t=>e[t]=VC+t));for(const n in XC){e[n]=KC+n}(0,p.X$)(e,WN(t,XC,ZC));return e}function eL(t,e,n){if(arguments.length===1){return XC[t]}XC[t]=e;if(n)ZC[t]=n;if(JC)JC.functions[t]=KC+t;return this}eL("bandwidth",MC,jN);eL("copy",SC,jN);eL("domain",EC,jN);eL("range",AC,jN);eL("invert",zC,jN);eL("scale",$C,jN);eL("gradient",OC,jN);eL("geoArea",HN,jN);eL("geoBounds",VN,jN);eL("geoCentroid",KN,jN);eL("geoShape",RC,jN);eL("indata",wN,UN);eL("data",_N,BN);eL("treePath",CC,BN);eL("treeAncestors",LC,BN);eL("vlSelectionTest",cN,xN);eL("vlSelectionIdTest",pN,xN);eL("vlSelectionResolve",gN,xN);eL("vlSelectionTuples",mN);function nL(t,e){const n={};let i;try{t=(0,p.Kg)(t)?t:(0,p.r$)(t)+"";i=(0,TD.YK)(t)}catch(o){(0,p.z3)("Expression parse error: "+t)}i.visit((t=>{if(t.type!==TD.DG)return;const i=t.callee.name,r=QC.visitors[i];if(r)r(i,t.arguments,e,n)}));const r=JC(i);r.globals.forEach((t=>{const i=IN+t;if(!(0,p.mQ)(n,i)&&e.getSignal(t)){n[i]=e.signalRef(t)}}));return{$expr:(0,p.X$)({code:r.code},e.options.ast?{ast:i}:null),$fields:r.fields,$params:n}}function iL(t){const e=this,n=t.operators||[];if(t.background){e.background=t.background}if(t.eventConfig){e.eventConfig=t.eventConfig}if(t.locale){e.locale=t.locale}n.forEach((t=>e.parseOperator(t)));n.forEach((t=>e.parseOperatorParameters(t)));(t.streams||[]).forEach((t=>e.parseStream(t)));(t.updates||[]).forEach((t=>e.parseUpdate(t)));return e.resolve()}const rL=(0,p.M1)(["rule"]),oL=(0,p.M1)(["group","image","rect"]);function aL(t,e){let n="";if(rL[e])return n;if(t.x2){if(t.x){if(oL[e]){n+="if(o.x>o.x2)$=o.x,o.x=o.x2,o.x2=$;"}n+="o.width=o.x2-o.x;"}else{n+="o.x=o.x2-(o.width||0);"}}if(t.xc){n+="o.x=o.xc-(o.width||0)/2;"}if(t.y2){if(t.y){if(oL[e]){n+="if(o.y>o.y2)$=o.y,o.y=o.y2,o.y2=$;"}n+="o.height=o.y2-o.y;"}else{n+="o.y=o.y2-(o.height||0);"}}if(t.yc){n+="o.y=o.yc-(o.height||0)/2;"}return n}function sL(t){return(t+"").toLowerCase()}function lL(t){return sL(t)==="operator"}function uL(t){return sL(t)==="collect"}function cL(t,e,n){if(!n.endsWith(";")){n="return("+n+");"}const i=Function(...e.concat(n));return t&&t.functions?i.bind(t.functions):i}function fL(t,e,n,i){return`((u = ${t}) < (v = ${e}) || u == null) && v != null ? ${n}\n : (u > v || v == null) && u != null ? ${i}\n : ((v = v instanceof Date ? +v : v), (u = u instanceof Date ? +u : u)) !== u && v === v ? ${n}\n : v !== v && u === u ? ${i} : `}var dL={operator:(t,e)=>cL(t,["_"],e.code),parameter:(t,e)=>cL(t,["datum","_"],e.code),event:(t,e)=>cL(t,["event"],e.code),handler:(t,e)=>{const n=`var datum=event.item&&event.item.datum;return ${e.code};`;return cL(t,["_","event"],n)},encode:(t,e)=>{const{marktype:n,channels:i}=e;let r="var o=item,datum=o.datum,m=0,$;";for(const o in i){const t="o["+(0,p.r$)(o)+"]";r+=`$=${i[o].code};if(${t}!==$)${t}=$,m=1;`}r+=aL(i,n);r+="return m;";return cL(t,["item","_"],r)},codegen:{get(t){const e=`[${t.map(p.r$).join("][")}]`;const n=Function("_",`return _${e};`);n.path=e;return n},comparator(t,e){let n;const i=(t,i)=>{const r=e[i];let o,a;if(t.path){o=`a${t.path}`;a=`b${t.path}`}else{(n=n||{})["f"+i]=t;o=`this.f${i}(a)`;a=`this.f${i}(b)`}return fL(o,a,-r,r)};const r=Function("a","b","var u, v; return "+t.map(i).join("")+"0;");return n?r.bind(n):r}}};function hL(t){const e=this;if(lL(t.type)||!t.type){e.operator(t,t.update?e.operatorExpression(t.update):null)}else{e.transform(t,t.type)}}function pL(t){const e=this;if(t.params){const n=e.get(t.id);if(!n)(0,p.z3)("Invalid operator id: "+t.id);e.dataflow.connect(n,n.parameters(e.parseParameters(t.params),t.react,t.initonly))}}function mL(t,e){e=e||{};const n=this;for(const i in t){const r=t[i];e[i]=(0,p.cy)(r)?r.map((t=>gL(t,n,e))):gL(r,n,e)}return e}function gL(t,e,n){if(!t||!(0,p.Gv)(t))return t;for(let i=0,r=yL.length,o;i<r;++i){o=yL[i];if((0,p.mQ)(t,o.key)){return o.parse(t,e,n)}}return t}var yL=[{key:"$ref",parse:vL},{key:"$key",parse:xL},{key:"$expr",parse:bL},{key:"$field",parse:_L},{key:"$encode",parse:kL},{key:"$compare",parse:wL},{key:"$context",parse:ML},{key:"$subflow",parse:SL},{key:"$tupleid",parse:EL}];function vL(t,e){return e.get(t.$ref)||(0,p.z3)("Operator not defined: "+t.$ref)}function bL(t,e,n){if(t.$params){e.parseParameters(t.$params,n)}const i="e:"+t.$expr.code;return e.fn[i]||(e.fn[i]=(0,p.sY)(e.parameterExpression(t.$expr),t.$fields))}function xL(t,e){const n="k:"+t.$key+"_"+!!t.$flat;return e.fn[n]||(e.fn[n]=(0,p.Eb)(t.$key,t.$flat,e.expr.codegen))}function _L(t,e){if(!t.$field)return null;const n="f:"+t.$field+"_"+t.$name;return e.fn[n]||(e.fn[n]=(0,p.ZZ)(t.$field,t.$name,e.expr.codegen))}function wL(t,e){const n="c:"+t.$compare+"_"+t.$order,i=(0,p.YO)(t.$compare).map((t=>t&&t.$tupleid?yn:t));return e.fn[n]||(e.fn[n]=(0,p.UD)(i,t.$order,e.expr.codegen))}function kL(t,e){const n=t.$encode,i={};for(const r in n){const t=n[r];i[r]=(0,p.sY)(e.encodeExpression(t.$expr),t.$fields);i[r].output=t.$output}return i}function ML(t,e){return e}function SL(t,e){const n=t.$subflow;return function(t,i,r){const o=e.fork().parse(n),a=o.get(n.operators[0].id),s=o.signals.parent;if(s)s.set(r);a.detachSubflow=()=>e.detach(o);return a}}function EL(){return yn}function zL(t){var e=this,n=t.filter!=null?e.eventExpression(t.filter):undefined,i=t.stream!=null?e.get(t.stream):undefined,r;if(t.source){i=e.events(t.source,t.type,n)}else if(t.merge){r=t.merge.map((t=>e.get(t)));i=r[0].merge.apply(r[0],r.slice(1))}if(t.between){r=t.between.map((t=>e.get(t)));i=i.between(r[0],r[1])}if(t.filter){i=i.filter(n)}if(t.throttle!=null){i=i.throttle(+t.throttle)}if(t.debounce!=null){i=i.debounce(+t.debounce)}if(i==null){(0,p.z3)("Invalid stream definition: "+JSON.stringify(t))}if(t.consume)i.consume(true);e.stream(t,i)}function AL(t){var e=this,n=(0,p.Gv)(n=t.source)?n.$ref:n,i=e.get(n),r=null,o=t.update,a=undefined;if(!i)(0,p.z3)("Source not defined: "+t.source);r=t.target&&t.target.$expr?e.eventExpression(t.target.$expr):e.get(t.target);if(o&&o.$expr){if(o.$params){a=e.parseParameters(o.$params)}o=e.handlerExpression(o.$expr)}e.update(t,i,r,o,a)}const $L={skip:true};function OL(t){var e=this,n={};if(t.signals){var i=n.signals={};Object.keys(e.signals).forEach((n=>{const r=e.signals[n];if(t.signals(n,r)){i[n]=r.value}}))}if(t.data){var r=n.data={};Object.keys(e.data).forEach((n=>{const i=e.data[n];if(t.data(n,i)){r[n]=i.input.value}}))}if(e.subcontext&&t.recurse!==false){n.subcontext=e.subcontext.map((e=>e.getState(t)))}return n}function RL(t){var e=this,n=e.dataflow,i=t.data,r=t.signals;Object.keys(r||{}).forEach((t=>{n.update(e.signals[t],r[t],$L)}));Object.keys(i||{}).forEach((t=>{n.pulse(e.data[t].input,n.changeset().remove(p.vN).insert(i[t]))}));(t.subcontext||[]).forEach(((t,n)=>{const i=e.subcontext[n];if(i)i.setState(t)}))}function DL(t,e,n,i){return new TL(t,e,n,i)}function TL(t,e,n,i){this.dataflow=t;this.transforms=e;this.events=t.events.bind(t);this.expr=i||dL,this.signals={};this.scales={};this.nodes={};this.data={};this.fn={};if(n){this.functions=Object.create(n);this.functions.context=this}}function NL(t){this.dataflow=t.dataflow;this.transforms=t.transforms;this.events=t.events;this.expr=t.expr;this.signals=Object.create(t.signals);this.scales=Object.create(t.scales);this.nodes=Object.create(t.nodes);this.data=Object.create(t.data);this.fn=Object.create(t.fn);if(t.functions){this.functions=Object.create(t.functions);this.functions.context=this}}TL.prototype=NL.prototype={fork(){const t=new NL(this);(this.subcontext||(this.subcontext=[])).push(t);return t},detach(t){this.subcontext=this.subcontext.filter((e=>e!==t));const e=Object.keys(t.nodes);for(const n of e)t.nodes[n]._targets=null;for(const n of e)t.nodes[n].detach();t.nodes=null},get(t){return this.nodes[t]},set(t,e){return this.nodes[t]=e},add(t,e){const n=this,i=n.dataflow,r=t.value;n.set(t.id,e);if(uL(t.type)&&r){if(r.$ingest){i.ingest(e,r.$ingest,r.$format)}else if(r.$request){i.preload(e,r.$request,r.$format)}else{i.pulse(e,i.changeset().insert(r))}}if(t.root){n.root=e}if(t.parent){let r=n.get(t.parent.$ref);if(r){i.connect(r,[e]);e.targets().add(r)}else{(n.unresolved=n.unresolved||[]).push((()=>{r=n.get(t.parent.$ref);i.connect(r,[e]);e.targets().add(r)}))}}if(t.signal){n.signals[t.signal]=e}if(t.scale){n.scales[t.scale]=e}if(t.data){for(const i in t.data){const r=n.data[i]||(n.data[i]={});t.data[i].forEach((t=>r[t]=e))}}},resolve(){(this.unresolved||[]).forEach((t=>t()));delete this.unresolved;return this},operator(t,e){this.add(t,this.dataflow.add(t.value,e))},transform(t,e){this.add(t,this.dataflow.add(this.transforms[sL(e)]))},stream(t,e){this.set(t.id,e)},update(t,e,n,i,r){this.dataflow.on(e,n,i,r,t.options)},operatorExpression(t){return this.expr.operator(this,t)},parameterExpression(t){return this.expr.parameter(this,t)},eventExpression(t){return this.expr.event(this,t)},handlerExpression(t){return this.expr.handler(this,t)},encodeExpression(t){return this.expr.encode(this,t)},parse:iL,parseOperator:hL,parseOperatorParameters:pL,parseParameters:mL,parseStream:zL,parseUpdate:AL,getState:OL,setState:RL};function CL(t,e,n){var i=new OS.M4,r=e;if(e==null)return i.restart(t,e,n),i;i._restart=i.restart;i.restart=function(t,e,n){e=+e,n=n==null?(0,OS.tB)():+n;i._restart((function o(a){a+=r;i._restart(o,r+=e,n);t(a)}),e,n)};i.restart(t,e,n);return i}function LL(t){const e=t.container();if(e){e.setAttribute("role","graphics-document");e.setAttribute("aria-roleDescription","visualization");PL(e,t.description())}}function PL(t,e){if(t)e==null?t.removeAttribute("aria-label"):t.setAttribute("aria-label",e)}function qL(t){t.add(null,(e=>{t._background=e.bg;t._resize=1;return e.bg}),{bg:t._signals.background})}const FL="default";function IL(t){const e=t._signals.cursor||(t._signals.cursor=t.add({user:FL,item:null}));t.on(t.events("view","mousemove"),e,((t,n)=>{const i=e.value,r=i?(0,p.Kg)(i)?i:i.user:FL,o=n.item&&n.item.cursor||null;return i&&r===i.user&&o==i.item?i:{user:r,item:o}}));t.add(null,(function(e){let n=e.cursor,i=this.value;if(!(0,p.Kg)(n)){i=n.item;n=n.user}BL(t,n&&n!==FL?n:i||n);return i}),{cursor:e})}function BL(t,e){const n=t.globalCursor()?typeof document!=="undefined"&&document.body:t.container();if(n){return e==null?n.style.removeProperty("cursor"):n.style.cursor=e}}function UL(t,e){var n=t._runtime.data;if(!(0,p.mQ)(n,e)){(0,p.z3)("Unrecognized data set: "+e)}return n[e]}function jL(t,e){return arguments.length<2?UL(this,t).values.value:YL.call(this,t,Sn().remove(p.vN).insert(e))}function YL(t,e){if(!Mn(e)){(0,p.z3)("Second argument to changes must be a changeset.")}const n=UL(this,t);n.modified=true;return this.pulse(n.input,e)}function GL(t,e){return YL.call(this,t,Sn().insert(e))}function WL(t,e){return YL.call(this,t,Sn().remove(e))}function XL(t){var e=t.padding();return Math.max(0,t._viewWidth+e.left+e.right)}function HL(t){var e=t.padding();return Math.max(0,t._viewHeight+e.top+e.bottom)}function VL(t){var e=t.padding(),n=t._origin;return[e.left+n[0],e.top+n[1]]}function KL(t){var e=VL(t),n=XL(t),i=HL(t);t._renderer.background(t.background());t._renderer.resize(n,i,e);t._handler.origin(e);t._resizeListeners.forEach((e=>{try{e(n,i)}catch(r){t.error(r)}}))}function ZL(t,e,n){var i=t._renderer,r=i&&i.canvas(),o,a,s;if(r){s=VL(t);a=e.changedTouches?e.changedTouches[0]:e;o=Jp(a,r);o[0]-=s[0];o[1]-=s[1]}e.dataflow=t;e.item=n;e.vega=QL(t,n,o);return e}function QL(t,e,n){const i=e?e.mark.marktype==="group"?e:e.mark.group:null;function r(t){var n=i,r;if(t)for(r=e;r;r=r.mark.group){if(r.mark.name===t){n=r;break}}return n&&n.mark&&n.mark.interactive?n:{}}function o(t){if(!t)return n;if((0,p.Kg)(t))t=r(t);const e=n.slice();while(t){e[0]-=t.x||0;e[1]-=t.y||0;t=t.mark&&t.mark.group}return e}return{view:(0,p.dY)(t),item:(0,p.dY)(e||{}),group:r,xy:o,x:t=>o(t)[0],y:t=>o(t)[1]}}const JL="view",tP="timer",eP="window",nP={trap:false};function iP(t){const e=(0,p.X$)({defaults:{}},t);const n=(t,e)=>{e.forEach((e=>{if((0,p.cy)(t[e]))t[e]=(0,p.M1)(t[e])}))};n(e.defaults,["prevent","allow"]);n(e,["view","window","selector"]);return e}function rP(t,e,n,i){t._eventListeners.push({type:n,sources:(0,p.YO)(e),handler:i})}function oP(t,e){var n=t._eventConfig.defaults,i=n.prevent,r=n.allow;return i===false||r===true?false:i===true||r===false?true:i?i[e]:r?!r[e]:t.preventDefault()}function aP(t,e,n){const i=t._eventConfig&&t._eventConfig[e];if(i===false||(0,p.Gv)(i)&&!i[n]){t.warn(`Blocked ${e} ${n} event listener.`);return false}return true}function sP(t,e,n){var i=this,r=new qn(n),o=function(n,o){i.runAsync(null,(()=>{if(t===JL&&oP(i,e)){n.preventDefault()}r.receive(ZL(i,n,o))}))},a;if(t===tP){if(aP(i,"timer",e)){i.timer(o,e)}}else if(t===JL){if(aP(i,"view",e)){i.addEventListener(e,o,nP)}}else{if(t===eP){if(aP(i,"window",e)&&typeof window!=="undefined"){a=[window]}}else if(typeof document!=="undefined"){if(aP(i,"selector",e)){a=Array.from(document.querySelectorAll(t))}}if(!a){i.warn("Can not resolve event source: "+t)}else{for(var s=0,l=a.length;s<l;++s){a[s].addEventListener(e,o)}rP(i,a,e,o)}}return r}function lP(t){return t.item}function uP(t){return t.item.mark.source}function cP(t){return function(e,n){return n.vega.view().changeset().encode(n.item,t)}}function fP(t,e){t=[t||"hover"];e=[e||"update",t[0]];this.on(this.events("view","mouseover",lP),uP,cP(t));this.on(this.events("view","mouseout",lP),uP,cP(e));return this}function dP(){var t=this._tooltip,e=this._timers,n=this._eventListeners,i,r,o;i=e.length;while(--i>=0){e[i].stop()}i=n.length;while(--i>=0){o=n[i];r=o.sources.length;while(--r>=0){o.sources[r].removeEventListener(o.type,o.handler)}}if(t){t.call(this,this._handler,null,null,null)}return this}function hP(t,e,n){const i=document.createElement(t);for(const r in e)i.setAttribute(r,e[r]);if(n!=null)i.textContent=n;return i}const pP="vega-bind",mP="vega-bind-name",gP="vega-bind-radio";function yP(t,e,n){if(!e)return;const i=n.param;let r=n.state;if(!r){r=n.state={elements:null,active:false,set:null,update:e=>{if(e!=t.signal(i.signal)){t.runAsync(null,(()=>{r.source=true;t.signal(i.signal,e)}))}}};if(i.debounce){r.update=(0,p.sg)(i.debounce,r.update)}}const o=i.input==null&&i.element?vP:xP;o(r,e,i,t);if(!r.active){t.on(t._signals[i.signal],null,(()=>{r.source?r.source=false:r.set(t.signal(i.signal))}));r.active=true}return r}function vP(t,e,n,i){const r=n.event||"input";const o=()=>t.update(e.value);i.signal(n.signal,e.value);e.addEventListener(r,o);rP(i,e,r,o);t.set=t=>{e.value=t;e.dispatchEvent(bP(r))}}function bP(t){return typeof Event!=="undefined"?new Event(t):{type:t}}function xP(t,e,n,i){const r=i.signal(n.signal);const o=hP("div",{class:pP});const a=n.input==="radio"?o:o.appendChild(hP("label"));a.appendChild(hP("span",{class:mP},n.name||n.signal));e.appendChild(o);let s=_P;switch(n.input){case"checkbox":s=wP;break;case"select":s=kP;break;case"radio":s=MP;break;case"range":s=SP;break}s(t,a,n,r)}function _P(t,e,n,i){const r=hP("input");for(const o in n){if(o!=="signal"&&o!=="element"){r.setAttribute(o==="input"?"type":o,n[o])}}r.setAttribute("name",n.signal);r.value=i;e.appendChild(r);r.addEventListener("input",(()=>t.update(r.value)));t.elements=[r];t.set=t=>r.value=t}function wP(t,e,n,i){const r={type:"checkbox",name:n.signal};if(i)r.checked=true;const o=hP("input",r);e.appendChild(o);o.addEventListener("change",(()=>t.update(o.checked)));t.elements=[o];t.set=t=>o.checked=!!t||null}function kP(t,e,n,i){const r=hP("select",{name:n.signal}),o=n.labels||[];n.options.forEach(((t,e)=>{const n={value:t};if(EP(t,i))n.selected=true;r.appendChild(hP("option",n,(o[e]||t)+""))}));e.appendChild(r);r.addEventListener("change",(()=>{t.update(n.options[r.selectedIndex])}));t.elements=[r];t.set=t=>{for(let e=0,i=n.options.length;e<i;++e){if(EP(n.options[e],t)){r.selectedIndex=e;return}}}}function MP(t,e,n,i){const r=hP("span",{class:gP}),o=n.labels||[];e.appendChild(r);t.elements=n.options.map(((e,a)=>{const s={type:"radio",name:n.signal,value:e};if(EP(e,i))s.checked=true;const l=hP("input",s);l.addEventListener("change",(()=>t.update(e)));const u=hP("label",{},(o[a]||e)+"");u.prepend(l);r.appendChild(u);return l}));t.set=e=>{const n=t.elements,i=n.length;for(let t=0;t<i;++t){if(EP(n[t].value,e))n[t].checked=true}}}function SP(t,e,n,i){i=i!==undefined?i:(+n.max+ +n.min)/2;const r=n.max!=null?n.max:Math.max(100,+i)||100,o=n.min||Math.min(0,r,+i)||0,a=n.step||(0,P.sG)(o,r,100);const s=hP("input",{type:"range",name:n.signal,min:o,max:r,step:a});s.value=i;const l=hP("span",{},+i);e.appendChild(s);e.appendChild(l);const u=()=>{l.textContent=s.value;t.update(+s.value)};s.addEventListener("input",u);s.addEventListener("change",u);t.elements=[s];t.set=t=>{s.value=t;l.textContent=t}}function EP(t,e){return t===e||t+""===e+""}function zP(t,e,n,i,r,o){e=e||new i(t.loader());return e.initialize(n,XL(t),HL(t),VL(t),r,o).background(t.background())}function AP(t,e){return!e?null:function(){try{e.apply(this,arguments)}catch(n){t.error(n)}}}function $P(t,e,n,i){const r=new i(t.loader(),AP(t,t.tooltip())).scene(t.scenegraph().root).initialize(n,VL(t),t);if(e){e.handlers().forEach((t=>{r.on(t.type,t.handler)}))}return r}function OP(t,e){const n=this,i=n._renderType,r=n._eventConfig.bind,o=jg(i);t=n._el=t?RP(n,t,true):null;LL(n);if(!o)n.error("Unrecognized renderer type: "+i);const a=o.handler||Em,s=t?o.renderer:o.headless;n._renderer=!s?null:zP(n,n._renderer,t,s);n._handler=$P(n,n._handler,t,a);n._redraw=true;if(t&&r!=="none"){e=e?n._elBind=RP(n,e,true):t.appendChild(hP("form",{class:"vega-bindings"}));n._bind.forEach((t=>{if(t.param.element&&r!=="container"){t.element=RP(n,t.param.element,!!t.param.input)}}));n._bind.forEach((t=>{yP(n,t.element||e,t)}))}return n}function RP(t,e,n){if(typeof e==="string"){if(typeof document!=="undefined"){e=document.querySelector(e);if(!e){t.error("Signal bind element not found: "+e);return null}}else{t.error("DOM document instance not found.");return null}}if(e&&n){try{e.textContent=""}catch(i){e=null;t.error(i)}}return e}const DP=t=>+t||0;const TP=t=>({top:t,bottom:t,left:t,right:t});function NP(t){return(0,p.Gv)(t)?{top:DP(t.top),bottom:DP(t.bottom),left:DP(t.left),right:DP(t.right)}:TP(DP(t))}async function CP(t,e,n,i){const r=jg(e),o=r&&r.headless;if(!o)(0,p.z3)("Unrecognized renderer type: "+e);await t.runAsync();return zP(t,null,null,o,n,i).renderAsync(t._scenegraph.root)}async function LP(t,e){if(t!==Bg.Canvas&&t!==Bg.SVG&&t!==Bg.PNG){(0,p.z3)("Unrecognized image type: "+t)}const n=await CP(this,t,e);return t===Bg.SVG?PP(n.svg(),"image/svg+xml"):n.canvas().toDataURL("image/png")}function PP(t,e){const n=new Blob([t],{type:e});return window.URL.createObjectURL(n)}async function qP(t,e){const n=await CP(this,Bg.Canvas,t,e);return n.canvas()}async function FP(t){const e=await CP(this,Bg.SVG,t);return e.svg()}function IP(t,e,n){return DL(t,Ti,XC,n).parse(e)}function BP(t){var e=this._runtime.scales;if(!(0,p.mQ)(e,t)){(0,p.z3)("Unrecognized scale or projection: "+t)}return e[t].value}var UP="width",jP="height",YP="padding",GP={skip:true};function WP(t,e){var n=t.autosize(),i=t.padding();return e-(n&&n.contains===YP?i.left+i.right:0)}function XP(t,e){var n=t.autosize(),i=t.padding();return e-(n&&n.contains===YP?i.top+i.bottom:0)}function HP(t){var e=t._signals,n=e[UP],i=e[jP],r=e[YP];function o(){t._autosize=t._resize=1}t._resizeWidth=t.add(null,(e=>{t._width=e.size;t._viewWidth=WP(t,e.size);o()}),{size:n});t._resizeHeight=t.add(null,(e=>{t._height=e.size;t._viewHeight=XP(t,e.size);o()}),{size:i});const a=t.add(null,o,{pad:r});t._resizeWidth.rank=n.rank+1;t._resizeHeight.rank=i.rank+1;a.rank=r.rank+1}function VP(t,e,n,i,r,o){this.runAfter((a=>{let s=0;a._autosize=0;if(a.width()!==n){s=1;a.signal(UP,n,GP);a._resizeWidth.skip(true)}if(a.height()!==i){s=1;a.signal(jP,i,GP);a._resizeHeight.skip(true)}if(a._viewWidth!==t){a._resize=1;a._viewWidth=t}if(a._viewHeight!==e){a._resize=1;a._viewHeight=e}if(a._origin[0]!==r[0]||a._origin[1]!==r[1]){a._resize=1;a._origin=r}if(s)a.run("enter");if(o)a.runAfter((t=>t.resize()))}),false,1)}function KP(t){return this._runtime.getState(t||{data:ZP,signals:QP,recurse:true})}function ZP(t,e){return e.modified&&(0,p.cy)(e.input.value)&&t.indexOf("_:vega:_")}function QP(t,e){return!(t==="parent"||e instanceof Ti.proxy)}function JP(t){this.runAsync(null,(e=>{e._trigger=false;e._runtime.setState(t)}),(t=>{t._trigger=true}));return this}function tq(t,e){function n(e){t({timestamp:Date.now(),elapsed:e})}this._timers.push(CL(n,e))}function eq(t,e,n,i){const r=t.element();if(r)r.setAttribute("title",nq(i))}function nq(t){return t==null?"":(0,p.cy)(t)?rq(t):(0,p.Gv)(t)&&!(0,p.$P)(t)?iq(t):t+""}function iq(t){return Object.keys(t).map((e=>{const n=t[e];return e+": "+((0,p.cy)(n)?rq(n):oq(n))})).join("\n")}function rq(t){return"["+t.map(oq).join(", ")+"]"}function oq(t){return(0,p.cy)(t)?"[…]":(0,p.Gv)(t)&&!(0,p.$P)(t)?"{…}":t}function aq(t,e){const n=this;e=e||{};Oi.call(n);if(e.loader)n.loader(e.loader);if(e.logger)n.logger(e.logger);if(e.logLevel!=null)n.logLevel(e.logLevel);if(e.locale||t.locale){const i=(0,p.X$)({},t.locale,e.locale);n.locale(Ae(i.number,i.time))}n._el=null;n._elBind=null;n._renderType=e.renderer||Bg.Canvas;n._scenegraph=new Wp;const i=n._scenegraph.root;n._renderer=null;n._tooltip=e.tooltip||eq,n._redraw=true;n._handler=(new Em).scene(i);n._globalCursor=false;n._preventDefault=false;n._timers=[];n._eventListeners=[];n._resizeListeners=[];n._eventConfig=iP(t.eventConfig);n.globalCursor(n._eventConfig.globalCursor);const r=IP(n,t,e.expr);n._runtime=r;n._signals=r.signals;n._bind=(t.bindings||[]).map((t=>({state:null,param:(0,p.X$)({},t)})));if(r.root)r.root.set(i);i.source=r.data.root.input;n.pulse(r.data.root.input,n.changeset().insert(i.items));n._width=n.width();n._height=n.height();n._viewWidth=WP(n,n._width);n._viewHeight=XP(n,n._height);n._origin=[0,0];n._resize=0;n._autosize=1;HP(n);qL(n);IL(n);n.description(t.description);if(e.hover)n.hover();if(e.container)n.initialize(e.container,e.bind)}function sq(t,e){return(0,p.mQ)(t._signals,e)?t._signals[e]:(0,p.z3)("Unrecognized signal name: "+(0,p.r$)(e))}function lq(t,e){const n=(t._targets||[]).filter((t=>t._update&&t._update.handler===e));return n.length?n[0]:null}function uq(t,e,n,i){let r=lq(n,i);if(!r){r=AP(t,(()=>i(e,n.value)));r.handler=i;t.on(n,null,r)}return t}function cq(t,e,n){const i=lq(e,n);if(i)e._targets.remove(i);return t}(0,p.B)(aq,Oi,{async evaluate(t,e,n){await Oi.prototype.evaluate.call(this,t,e);if(this._redraw||this._resize){try{if(this._renderer){if(this._resize){this._resize=0;KL(this)}await this._renderer.renderAsync(this._scenegraph.root)}this._redraw=false}catch(i){this.error(i)}}if(n)hn(this,n);return this},dirty(t){this._redraw=true;this._renderer&&this._renderer.dirty(t)},description(t){if(arguments.length){const e=t!=null?t+"":null;if(e!==this._desc)PL(this._el,this._desc=e);return this}return this._desc},container(){return this._el},scenegraph(){return this._scenegraph},origin(){return this._origin.slice()},signal(t,e,n){const i=sq(this,t);return arguments.length===1?i.value:this.update(i,e,n)},width(t){return arguments.length?this.signal("width",t):this.signal("width")},height(t){return arguments.length?this.signal("height",t):this.signal("height")},padding(t){return arguments.length?this.signal("padding",NP(t)):NP(this.signal("padding"))},autosize(t){return arguments.length?this.signal("autosize",t):this.signal("autosize")},background(t){return arguments.length?this.signal("background",t):this.signal("background")},renderer(t){if(!arguments.length)return this._renderType;if(!jg(t))(0,p.z3)("Unrecognized renderer type: "+t);if(t!==this._renderType){this._renderType=t;this._resetRenderer()}return this},tooltip(t){if(!arguments.length)return this._tooltip;if(t!==this._tooltip){this._tooltip=t;this._resetRenderer()}return this},loader(t){if(!arguments.length)return this._loader;if(t!==this._loader){Oi.prototype.loader.call(this,t);this._resetRenderer()}return this},resize(){this._autosize=1;return this.touch(sq(this,"autosize"))},_resetRenderer(){if(this._renderer){this._renderer=null;this.initialize(this._el,this._elBind)}},_resizeView:VP,addEventListener(t,e,n){let i=e;if(!(n&&n.trap===false)){i=AP(this,e);i.raw=e}this._handler.on(t,i);return this},removeEventListener(t,e){var n=this._handler.handlers(t),i=n.length,r,o;while(--i>=0){o=n[i].type;r=n[i].handler;if(t===o&&(e===r||e===r.raw)){this._handler.off(o,r);break}}return this},addResizeListener(t){const e=this._resizeListeners;if(e.indexOf(t)<0){e.push(t)}return this},removeResizeListener(t){var e=this._resizeListeners,n=e.indexOf(t);if(n>=0){e.splice(n,1)}return this},addSignalListener(t,e){return uq(this,t,sq(this,t),e)},removeSignalListener(t,e){return cq(this,sq(this,t),e)},addDataListener(t,e){return uq(this,t,UL(this,t).values,e)},removeDataListener(t,e){return cq(this,UL(this,t).values,e)},globalCursor(t){if(arguments.length){if(this._globalCursor!==!!t){const e=BL(this,null);this._globalCursor=!!t;if(e)BL(this,e)}return this}else{return this._globalCursor}},preventDefault(t){if(arguments.length){this._preventDefault=t;return this}else{return this._preventDefault}},timer:tq,events:sP,finalize:dP,hover:fP,data:jL,change:YL,insert:GL,remove:WL,scale:BP,initialize:OP,toImageURL:LP,toCanvas:qP,toSVG:FP,getState:KP,setState:JP});var fq=n(45948);function dq(t){return(0,p.Gv)(t)?t:{type:t||"pad"}}const hq=t=>+t||0;const pq=t=>({top:t,bottom:t,left:t,right:t});function mq(t){return!(0,p.Gv)(t)?pq(hq(t)):t.signal?t:{top:hq(t.top),bottom:hq(t.bottom),left:hq(t.left),right:hq(t.right)}}const gq=t=>(0,p.Gv)(t)&&!(0,p.cy)(t)?(0,p.X$)({},t):{value:t};function yq(t,e,n,i){if(n!=null){const r=(0,p.Gv)(n)&&!(0,p.cy)(n)||(0,p.cy)(n)&&n.length&&(0,p.Gv)(n[0]);if(r){t.update[e]=n}else{t[i||"enter"][e]={value:n}}return 1}else{return 0}}function vq(t,e,n){for(const i in e){yq(t,i,e[i])}for(const i in n){yq(t,i,n[i],"update")}}function bq(t,e,n){for(const i in e){if(n&&(0,p.mQ)(n,i))continue;t[i]=(0,p.X$)(t[i]||{},e[i])}return t}function xq(t,e){return e&&(e.enter&&e.enter[t]||e.update&&e.update[t])}const _q="mark";const wq="frame";const kq="scope";const Mq="axis";const Sq="axis-domain";const Eq="axis-grid";const zq="axis-label";const Aq="axis-tick";const $q="axis-title";const Oq="legend";const Rq="legend-band";const Dq="legend-entry";const Tq="legend-gradient";const Nq="legend-label";const Cq="legend-symbol";const Lq="legend-title";const Pq="title";const qq="title-text";const Fq="title-subtitle";function Iq(t,e,n,i,r){const o={},a={};let s,l,u,c;l="lineBreak";if(e==="text"&&r[l]!=null&&!xq(l,t)){Bq(o,l,r[l])}if(n=="legend"||String(n).startsWith("axis")){n=null}c=n===wq?r.group:n===_q?(0,p.X$)({},r.mark,r[e]):null;for(l in c){u=xq(l,t)||(l==="fill"||l==="stroke")&&(xq("fill",t)||xq("stroke",t));if(!u)Bq(o,l,c[l])}(0,p.YO)(i).forEach((e=>{const n=r.style&&r.style[e];for(const i in n){if(!xq(i,t)){Bq(o,i,n[i])}}}));t=(0,p.X$)({},t);for(l in o){c=o[l];if(c.signal){(s=s||{})[l]=c}else{a[l]=c}}t.enter=(0,p.X$)(a,t.enter);if(s)t.update=(0,p.X$)(s,t.update);return t}function Bq(t,e,n){t[e]=n&&n.signal?{signal:n.signal}:{value:n}}const Uq=t=>(0,p.Kg)(t)?(0,p.r$)(t):t.signal?`(${t.signal})`:Hq(t);function jq(t){if(t.gradient!=null){return Wq(t)}let e=t.signal?`(${t.signal})`:t.color?Gq(t.color):t.field!=null?Hq(t.field):t.value!==undefined?(0,p.r$)(t.value):undefined;if(t.scale!=null){e=Kq(t,e)}if(e===undefined){e=null}if(t.exponent!=null){e=`pow(${e},${Xq(t.exponent)})`}if(t.mult!=null){e+=`*${Xq(t.mult)}`}if(t.offset!=null){e+=`+${Xq(t.offset)}`}if(t.round){e=`round(${e})`}return e}const Yq=(t,e,n,i)=>`(${t}(${[e,n,i].map(jq).join(",")})+'')`;function Gq(t){return t.c?Yq("hcl",t.h,t.c,t.l):t.h||t.s?Yq("hsl",t.h,t.s,t.l):t.l||t.a?Yq("lab",t.l,t.a,t.b):t.r||t.g||t.b?Yq("rgb",t.r,t.g,t.b):null}function Wq(t){const e=[t.start,t.stop,t.count].map((t=>t==null?null:(0,p.r$)(t)));while(e.length&&(0,p.se)(e)==null)e.pop();e.unshift(Uq(t.gradient));return`gradient(${e.join(",")})`}function Xq(t){return(0,p.Gv)(t)?"("+jq(t)+")":t}function Hq(t){return Vq((0,p.Gv)(t)?t:{datum:t})}function Vq(t){let e,n,i;if(t.signal){e="datum";i=t.signal}else if(t.group||t.parent){n=Math.max(1,t.level||1);e="item";while(n-- >0){e+=".mark.group"}if(t.parent){i=t.parent;e+=".datum"}else{i=t.group}}else if(t.datum){e="datum";i=t.datum}else{(0,p.z3)("Invalid field reference: "+(0,p.r$)(t))}if(!t.signal){i=(0,p.Kg)(i)?(0,p.iv)(i).map(p.r$).join("]["):Vq(i)}return e+"["+i+"]"}function Kq(t,e){const n=Uq(t.scale);if(t.range!=null){e=`lerp(_range(${n}), ${+t.range})`}else{if(e!==undefined)e=`_scale(${n}, ${e})`;if(t.band){e=(e?e+"+":"")+`_bandwidth(${n})`+(+t.band===1?"":"*"+Xq(t.band));if(t.extra){e=`(datum.extra ? _scale(${n}, datum.extra.value) : ${e})`}}if(e==null)e="0"}return e}function Zq(t){let e="";t.forEach((t=>{const n=jq(t);e+=t.test?`(${t.test})?${n}:`:n}));if((0,p.se)(e)===":"){e+="null"}return e}function Qq(t,e,n,i,r,o){const a={};o=o||{};o.encoders={$encode:a};t=Iq(t,e,n,i,r.config);for(const s in t){a[s]=Jq(t[s],e,o,r)}return o}function Jq(t,e,n,i){const r={},o={};for(const a in t){if(t[a]!=null){r[a]=eF(tF(t[a]),i,n,o)}}return{$expr:{marktype:e,channels:r},$fields:Object.keys(o),$output:Object.keys(t)}}function tF(t){return(0,p.cy)(t)?Zq(t):jq(t)}function eF(t,e,n,i){const r=nL(t,e);r.$fields.forEach((t=>i[t]=1));(0,p.X$)(n,r.$params);return r.$expr}const nF="outer",iF=["value","update","init","react","bind"];function rF(t,e){(0,p.z3)(t+' for "outer" push: '+(0,p.r$)(e))}function oF(t,e){const n=t.name;if(t.push===nF){if(!e.signals[n])rF("No prior signal definition",n);iF.forEach((e=>{if(t[e]!==undefined)rF("Invalid property ",e)}))}else{const i=e.addSignal(n,t.value);if(t.react===false)i.react=false;if(t.bind)e.addBinding(n,t.bind)}}function aF(t,e,n,i){this.id=-1;this.type=t;this.value=e;this.params=n;if(i)this.parent=i}function sF(t,e,n,i){return new aF(t,e,n,i)}function lF(t,e){return sF("operator",t,e)}function uF(t){const e={$ref:t.id};if(t.id<0)(t.refs=t.refs||[]).push(e);return e}function cF(t,e){return e?{$field:t,$name:e}:{$field:t}}const fF=cF("key");function dF(t,e){return{$compare:t,$order:e}}function hF(t,e){const n={$key:t};if(e)n.$flat=true;return n}const pF="ascending";const mF="descending";function gF(t){return!(0,p.Gv)(t)?"":(t.order===mF?"-":"+")+yF(t.op,t.field)}function yF(t,e){return(t&&t.signal?"$"+t.signal:t||"")+(t&&e?"_":"")+(e&&e.signal?"$"+e.signal:e||"")}const vF="scope";const bF="view";function xF(t){return t&&t.signal}function _F(t){return t&&t.expr}function wF(t){if(xF(t))return true;if((0,p.Gv)(t))for(const e in t){if(wF(t[e]))return true}return false}function kF(t,e){return t!=null?t:e}function MF(t){return t&&t.signal||t}const SF="timer";function EF(t,e){const n=t.merge?AF:t.stream?$F:t.type?OF:(0,p.z3)("Invalid stream specification: "+(0,p.r$)(t));return n(t,e)}function zF(t){return t===vF?bF:t||bF}function AF(t,e){const n=t.merge.map((t=>EF(t,e))),i=RF({merge:n},t,e);return e.addStream(i).id}function $F(t,e){const n=EF(t.stream,e),i=RF({stream:n},t,e);return e.addStream(i).id}function OF(t,e){let n;if(t.type===SF){n=e.event(SF,t.throttle);t={between:t.between,filter:t.filter}}else{n=e.event(zF(t.source),t.type)}const i=RF({stream:n},t,e);return Object.keys(i).length===1?n:e.addStream(i).id}function RF(t,e,n){let i=e.between;if(i){if(i.length!==2){(0,p.z3)('Stream "between" parameter must have 2 entries: '+(0,p.r$)(e))}t.between=[EF(i[0],n),EF(i[1],n)]}i=e.filter?[].concat(e.filter):[];if(e.marktype||e.markname||e.markrole){i.push(DF(e.marktype,e.markname,e.markrole))}if(e.source===vF){i.push("inScope(event.item)")}if(i.length){t.filter=nL("("+i.join(")&&(")+")",n).$expr}if((i=e.throttle)!=null){t.throttle=+i}if((i=e.debounce)!=null){t.debounce=+i}if(e.consume){t.consume=true}return t}function DF(t,e,n){const i="event.item";return i+(t&&t!=="*"?"&&"+i+".mark.marktype==='"+t+"'":"")+(n?"&&"+i+".mark.role==='"+n+"'":"")+(e?"&&"+i+".mark.name==='"+e+"'":"")}const TF={code:"_.$value",ast:{type:"Identifier",value:"value"}};function NF(t,e,n){const i=t.encode,r={target:n};let o=t.events,a=t.update,s=[];if(!o){(0,p.z3)("Signal update missing events specification.")}if((0,p.Kg)(o)){o=(0,fq.P)(o,e.isSubscope()?vF:bF)}o=(0,p.YO)(o).filter((t=>t.signal||t.scale?(s.push(t),0):1));if(s.length>1){s=[LF(s)]}if(o.length){s.push(o.length>1?{merge:o}:o[0])}if(i!=null){if(a)(0,p.z3)("Signal encode and update are mutually exclusive.");a="encode(item(),"+(0,p.r$)(i)+")"}r.update=(0,p.Kg)(a)?nL(a,e):a.expr!=null?nL(a.expr,e):a.value!=null?a.value:a.signal!=null?{$expr:TF,$params:{$value:e.signalRef(a.signal)}}:(0,p.z3)("Invalid signal update specification.");if(t.force){r.options={force:true}}s.forEach((t=>e.addUpdate((0,p.X$)(CF(t,e),r))))}function CF(t,e){return{source:t.signal?e.signalRef(t.signal):t.scale?e.scaleRef(t.scale):EF(t,e)}}function LF(t){return{signal:"["+t.map((t=>t.scale?'scale("'+t.scale+'")':t.signal))+"]"}}function PF(t,e){const n=e.getSignal(t.name);let i=t.update;if(t.init){if(i){(0,p.z3)("Signals can not include both init and update expressions.")}else{i=t.init;n.initonly=true}}if(i){i=nL(i,e);n.update=i.$expr;n.params=i.$params}if(t.on){t.on.forEach((t=>NF(t,e,n.id)))}}const qF=t=>(e,n,i)=>sF(t,n,e||undefined,i);const FF=qF("aggregate");const IF=qF("axisticks");const BF=qF("bound");const UF=qF("collect");const jF=qF("compare");const YF=qF("datajoin");const GF=qF("encode");const WF=qF("expression");const XF=qF("facet");const HF=qF("field");const VF=qF("key");const KF=qF("legendentries");const ZF=qF("load");const QF=qF("mark");const JF=qF("multiextent");const tI=qF("multivalues");const eI=qF("overlap");const nI=qF("params");const iI=qF("prefacet");const rI=qF("projection");const oI=qF("proxy");const aI=qF("relay");const sI=qF("render");const lI=qF("scale");const uI=qF("sieve");const cI=qF("sortitems");const fI=qF("viewlayout");const dI=qF("values");let hI=0;const pI={min:"min",max:"max",count:"sum"};function mI(t,e){const n=t.type||"linear";if(!Nu(n)){(0,p.z3)("Unrecognized scale type: "+(0,p.r$)(n))}e.addScale(t.name,{type:n,domain:undefined})}function gI(t,e){const n=e.getScale(t.name).params;let i;n.domain=xI(t.domain,t,e);if(t.range!=null){n.range=DI(t,e,n)}if(t.interpolate!=null){RI(t.interpolate,n)}if(t.nice!=null){n.nice=OI(t.nice)}if(t.bins!=null){n.bins=$I(t.bins,e)}for(i in t){if((0,p.mQ)(n,i)||i==="name")continue;n[i]=yI(t[i],e)}}function yI(t,e){return!(0,p.Gv)(t)?t:t.signal?e.signalRef(t.signal):(0,p.z3)("Unsupported object: "+(0,p.r$)(t))}function vI(t,e){return t.signal?e.signalRef(t.signal):t.map((t=>yI(t,e)))}function bI(t){(0,p.z3)("Can not find data set: "+(0,p.r$)(t))}function xI(t,e,n){if(!t){if(e.domainMin!=null||e.domainMax!=null){(0,p.z3)("No scale domain defined for domainMin/domainMax to override.")}return}return t.signal?n.signalRef(t.signal):((0,p.cy)(t)?_I:t.fields?kI:wI)(t,e,n)}function _I(t,e,n){return t.map((t=>yI(t,n)))}function wI(t,e,n){const i=n.getData(t.data);if(!i)bI(t.data);return Pu(e.type)?i.valuesRef(n,t.field,EI(t.sort,false)):Uu(e.type)?i.domainRef(n,t.field):i.extentRef(n,t.field)}function kI(t,e,n){const i=t.data,r=t.fields.reduce(((t,e)=>{e=(0,p.Kg)(e)?{data:i,field:e}:(0,p.cy)(e)||e.signal?MI(e,n):e;t.push(e);return t}),[]);return(Pu(e.type)?SI:Uu(e.type)?zI:AI)(t,n,r)}function MI(t,e){const n="_:vega:_"+hI++,i=UF({});if((0,p.cy)(t)){i.value={$ingest:t}}else if(t.signal){const r="setdata("+(0,p.r$)(n)+","+t.signal+")";i.params.input=e.signalRef(r)}e.addDataPipeline(n,[i,uI({})]);return{data:n,field:"data"}}function SI(t,e,n){const i=EI(t.sort,true);let r,o;const a=n.map((t=>{const n=e.getData(t.data);if(!n)bI(t.data);return n.countsRef(e,t.field,i)}));const s={groupby:fF,pulse:a};if(i){r=i.op||"count";o=i.field?yF(r,i.field):"count";s.ops=[pI[r]];s.fields=[e.fieldRef(o)];s.as=[o]}r=e.add(FF(s));const l=e.add(UF({pulse:uF(r)}));o=e.add(dI({field:fF,sort:e.sortRef(i),pulse:uF(l)}));return uF(o)}function EI(t,e){if(t){if(!t.field&&!t.op){if((0,p.Gv)(t))t.field="key";else t={field:"key"}}else if(!t.field&&t.op!=="count"){(0,p.z3)("No field provided for sort aggregate op: "+t.op)}else if(e&&t.field){if(t.op&&!pI[t.op]){(0,p.z3)("Multiple domain scales can not be sorted using "+t.op)}}}return t}function zI(t,e,n){const i=n.map((t=>{const n=e.getData(t.data);if(!n)bI(t.data);return n.domainRef(e,t.field)}));return uF(e.add(tI({values:i})))}function AI(t,e,n){const i=n.map((t=>{const n=e.getData(t.data);if(!n)bI(t.data);return n.extentRef(e,t.field)}));return uF(e.add(JF({extents:i})))}function $I(t,e){return t.signal||(0,p.cy)(t)?vI(t,e):e.objectProperty(t)}function OI(t){return(0,p.Gv)(t)?{interval:yI(t.interval),step:yI(t.step)}:yI(t)}function RI(t,e){e.interpolate=yI(t.type||t);if(t.gamma!=null){e.interpolateGamma=yI(t.gamma)}}function DI(t,e,n){const i=e.config.range;let r=t.range;if(r.signal){return e.signalRef(r.signal)}else if((0,p.Kg)(r)){if(i&&(0,p.mQ)(i,r)){t=(0,p.X$)({},t,{range:i[r]});return DI(t,e,n)}else if(r==="width"){r=[0,{signal:"width"}]}else if(r==="height"){r=Pu(t.type)?[0,{signal:"height"}]:[{signal:"height"},0]}else{(0,p.z3)("Unrecognized scale range value: "+(0,p.r$)(r))}}else if(r.scheme){n.scheme=(0,p.cy)(r.scheme)?vI(r.scheme,e):yI(r.scheme,e);if(r.extent)n.schemeExtent=vI(r.extent,e);if(r.count)n.schemeCount=yI(r.count,e);return}else if(r.step){n.rangeStep=yI(r.step,e);return}else if(Pu(t.type)&&!(0,p.cy)(r)){return xI(r,t,e)}else if(!(0,p.cy)(r)){(0,p.z3)("Unsupported range type: "+(0,p.r$)(r))}return r.map((t=>((0,p.cy)(t)?vI:yI)(t,e)))}function TI(t,e){const n=e.config.projection||{},i={};for(const r in t){if(r==="name")continue;i[r]=NI(t[r],r,e)}for(const r in n){if(i[r]==null){i[r]=NI(n[r],r,e)}}e.addProjection(t.name,i)}function NI(t,e,n){return(0,p.cy)(t)?t.map((t=>NI(t,e,n))):!(0,p.Gv)(t)?t:t.signal?n.signalRef(t.signal):e==="fit"?t:(0,p.z3)("Unsupported parameter object: "+(0,p.r$)(t))}const CI="top";const LI="left";const PI="right";const qI="bottom";const FI="center";const II="vertical";const BI="start";const UI="middle";const jI="end";const YI="index";const GI="label";const WI="offset";const XI="perc";const HI="perc2";const VI="value";const KI="guide-label";const ZI="guide-title";const QI="group-title";const JI="group-subtitle";const tB="symbol";const eB="gradient";const nB="discrete";const iB="size";const rB="shape";const oB="fill";const aB="stroke";const sB="strokeWidth";const lB="strokeDash";const uB="opacity";const cB=[iB,rB,oB,aB,sB,lB,uB];const fB={name:1,style:1,interactive:1};const dB={value:0};const hB={value:1};const pB="group";const mB="rect";const gB="rule";const yB="symbol";const vB="text";function bB(t){t.type=pB;t.interactive=t.interactive||false;return t}function xB(t,e){const n=(n,i)=>kF(t[n],kF(e[n],i));n.isVertical=n=>II===kF(t.direction,e.direction||(n?e.symbolDirection:e.gradientDirection));n.gradientLength=()=>kF(t.gradientLength,e.gradientLength||e.gradientWidth);n.gradientThickness=()=>kF(t.gradientThickness,e.gradientThickness||e.gradientHeight);n.entryColumns=()=>kF(t.columns,kF(e.columns,+n.isVertical(true)));return n}function _B(t,e){const n=e&&(e.update&&e.update[t]||e.enter&&e.enter[t]);return n&&n.signal?n:n?n.value:null}function wB(t,e,n){const i=e.config.style[n];return i&&i[t]}function kB(t,e,n){return`item.anchor === '${BI}' ? ${t} : item.anchor === '${jI}' ? ${e} : ${n}`}const MB=kB((0,p.r$)(LI),(0,p.r$)(PI),(0,p.r$)(FI));function SB(t){const e=t("tickBand");let n=t("tickOffset"),i,r;if(!e){i=t("bandPosition");r=t("tickExtra")}else if(e.signal){i={signal:`(${e.signal}) === 'extent' ? 1 : 0.5`};r={signal:`(${e.signal}) === 'extent'`};if(!(0,p.Gv)(n)){n={signal:`(${e.signal}) === 'extent' ? 0 : ${n}`}}}else if(e==="extent"){i=1;r=true;n=0}else{i=.5;r=false}return{extra:r,band:i,offset:n}}function EB(t,e){return!e?t:!t?e:!(0,p.Gv)(t)?{value:t,offset:e}:Object.assign({},t,{offset:EB(t.offset,e)})}function zB(t,e){if(e){t.name=e.name;t.style=e.style||t.style;t.interactive=!!e.interactive;t.encode=bq(t.encode,e,fB)}else{t.interactive=false}return t}function AB(t,e,n,i){const r=xB(t,n),o=r.isVertical(),a=r.gradientThickness(),s=r.gradientLength();let l,u,c,f,d;if(o){u=[0,1];c=[0,0];f=a;d=s}else{u=[0,0];c=[1,0];f=s;d=a}const h={enter:l={opacity:dB,x:dB,y:dB,width:gq(f),height:gq(d)},update:(0,p.X$)({},l,{opacity:hB,fill:{gradient:e,start:u,stop:c}}),exit:{opacity:dB}};vq(h,{stroke:r("gradientStrokeColor"),strokeWidth:r("gradientStrokeWidth")},{opacity:r("gradientOpacity")});return zB({type:mB,role:Tq,encode:h},i)}function $B(t,e,n,i,r){const o=xB(t,n),a=o.isVertical(),s=o.gradientThickness(),l=o.gradientLength();let u,c,f,d,h="";a?(u="y",f="y2",c="x",d="width",h="1-"):(u="x",f="x2",c="y",d="height");const m={opacity:dB,fill:{scale:e,field:VI}};m[u]={signal:h+"datum."+XI,mult:l};m[c]=dB;m[f]={signal:h+"datum."+HI,mult:l};m[d]=gq(s);const g={enter:m,update:(0,p.X$)({},m,{opacity:hB}),exit:{opacity:dB}};vq(g,{stroke:o("gradientStrokeColor"),strokeWidth:o("gradientStrokeWidth")},{opacity:o("gradientOpacity")});return zB({type:mB,role:Rq,key:VI,from:r,encode:g},i)}const OB=`datum.${XI}<=0?"${LI}":datum.${XI}>=1?"${PI}":"${FI}"`,RB=`datum.${XI}<=0?"${qI}":datum.${XI}>=1?"${CI}":"${UI}"`;function DB(t,e,n,i){const r=xB(t,e),o=r.isVertical(),a=gq(r.gradientThickness()),s=r.gradientLength();let l=r("labelOverlap"),u,c,f,d,h="";const p={enter:u={opacity:dB},update:c={opacity:hB,text:{field:GI}},exit:{opacity:dB}};vq(p,{fill:r("labelColor"),fillOpacity:r("labelOpacity"),font:r("labelFont"),fontSize:r("labelFontSize"),fontStyle:r("labelFontStyle"),fontWeight:r("labelFontWeight"),limit:kF(t.labelLimit,e.gradientLabelLimit)});if(o){u.align={value:"left"};u.baseline=c.baseline={signal:RB};f="y";d="x";h="1-"}else{u.align=c.align={signal:OB};u.baseline={value:"top"};f="x";d="y"}u[f]=c[f]={signal:h+"datum."+XI,mult:s};u[d]=c[d]=a;a.offset=kF(t.labelOffset,e.gradientLabelOffset)||0;l=l?{separation:r("labelSeparation"),method:l,order:"datum."+YI}:undefined;return zB({type:vB,role:Nq,style:KI,key:VI,from:i,encode:p,overlap:l},n)}function TB(t,e,n,i,r){const o=xB(t,e),a=n.entries,s=!!(a&&a.interactive),l=a?a.name:undefined,u=o("clipHeight"),c=o("symbolOffset"),f={data:"value"},d=`(${r}) ? datum.${WI} : datum.${iB}`,h=u?gq(u):{field:iB},p=`datum.${YI}`,m=`max(1, ${r})`;let g,y,v,b,x;h.mult=.5;g={enter:y={opacity:dB,x:{signal:d,mult:.5,offset:c},y:h},update:v={opacity:hB,x:y.x,y:y.y},exit:{opacity:dB}};let _=null,w=null;if(!t.fill){_=e.symbolBaseFillColor;w=e.symbolBaseStrokeColor}vq(g,{fill:o("symbolFillColor",_),shape:o("symbolType"),size:o("symbolSize"),stroke:o("symbolStrokeColor",w),strokeDash:o("symbolDash"),strokeDashOffset:o("symbolDashOffset"),strokeWidth:o("symbolStrokeWidth")},{opacity:o("symbolOpacity")});cB.forEach((e=>{if(t[e]){v[e]=y[e]={scale:t[e],field:VI}}}));const k=zB({type:yB,role:Cq,key:VI,from:f,clip:u?true:undefined,encode:g},n.symbols);const M=gq(c);M.offset=o("labelOffset");g={enter:y={opacity:dB,x:{signal:d,offset:M},y:h},update:v={opacity:hB,text:{field:GI},x:y.x,y:y.y},exit:{opacity:dB}};vq(g,{align:o("labelAlign"),baseline:o("labelBaseline"),fill:o("labelColor"),fillOpacity:o("labelOpacity"),font:o("labelFont"),fontSize:o("labelFontSize"),fontStyle:o("labelFontStyle"),fontWeight:o("labelFontWeight"),limit:o("labelLimit")});const S=zB({type:vB,role:Nq,style:KI,key:VI,from:f,encode:g},n.labels);g={enter:{noBound:{value:!u},width:dB,height:u?gq(u):dB,opacity:dB},exit:{opacity:dB},update:v={opacity:hB,row:{signal:null},column:{signal:null}}};if(o.isVertical(true)){b=`ceil(item.mark.items.length / ${m})`;v.row.signal=`${p}%${b}`;v.column.signal=`floor(${p} / ${b})`;x={field:["row",p]}}else{v.row.signal=`floor(${p} / ${m})`;v.column.signal=`${p} % ${m}`;x={field:p}}v.column.signal=`(${r})?${v.column.signal}:${p}`;i={facet:{data:i,name:"value",groupby:YI}};return bB({role:kq,from:i,encode:bq(g,a,fB),marks:[k,S],name:l,interactive:s,sort:x})}function NB(t,e){const n=xB(t,e);return{align:n("gridAlign"),columns:n.entryColumns(),center:{row:true,column:false},padding:{row:n("rowPadding"),column:n("columnPadding")}}}const CB='item.orient === "left"',LB='item.orient === "right"',PB=`(${CB} || ${LB})`,qB=`datum.vgrad && ${PB}`,FB=kB('"top"','"bottom"','"middle"'),IB=kB('"right"','"left"','"center"'),BB=`datum.vgrad && ${LB} ? (${IB}) : (${PB} && !(datum.vgrad && ${CB})) ? "left" : ${MB}`,UB=`item._anchor || (${PB} ? "middle" : "start")`,jB=`${qB} ? (${CB} ? -90 : 90) : 0`,YB=`${PB} ? (datum.vgrad ? (${LB} ? "bottom" : "top") : ${FB}) : "top"`;function GB(t,e,n,i){const r=xB(t,e);const o={enter:{opacity:dB},update:{opacity:hB,x:{field:{group:"padding"}},y:{field:{group:"padding"}}},exit:{opacity:dB}};vq(o,{orient:r("titleOrient"),_anchor:r("titleAnchor"),anchor:{signal:UB},angle:{signal:jB},align:{signal:BB},baseline:{signal:YB},text:t.title,fill:r("titleColor"),fillOpacity:r("titleOpacity"),font:r("titleFont"),fontSize:r("titleFontSize"),fontStyle:r("titleFontStyle"),fontWeight:r("titleFontWeight"),limit:r("titleLimit"),lineHeight:r("titleLineHeight")},{align:r("titleAlign"),baseline:r("titleBaseline")});return zB({type:vB,role:Lq,style:ZI,from:i,encode:o},n)}function WB(t,e){let n;if((0,p.Gv)(t)){if(t.signal){n=t.signal}else if(t.path){n="pathShape("+XB(t.path)+")"}else if(t.sphere){n="geoShape("+XB(t.sphere)+', {type: "Sphere"})'}}return n?e.signalRef(n):!!t}function XB(t){return(0,p.Gv)(t)&&t.signal?t.signal:(0,p.r$)(t)}function HB(t){const e=t.role||"";return!e.indexOf("axis")||!e.indexOf("legend")||!e.indexOf("title")?e:t.type===pB?kq:e||_q}function VB(t){return{marktype:t.type,name:t.name||undefined,role:t.role||HB(t),zindex:+t.zindex||undefined,aria:t.aria,description:t.description}}function KB(t,e){return t&&t.signal?e.signalRef(t.signal):t===false?false:true}function ZB(t,e){const n=Ni(t.type);if(!n)(0,p.z3)("Unrecognized transform type: "+(0,p.r$)(t.type));const i=sF(n.type.toLowerCase(),null,QB(n,t,e));if(t.signal)e.addSignal(t.signal,e.proxy(i));i.metadata=n.metadata||{};return i}function QB(t,e,n){const i={},r=t.params.length;for(let o=0;o<r;++o){const r=t.params[o];i[r.name]=JB(r,e,n)}return i}function JB(t,e,n){const i=t.type,r=e[t.name];if(i==="index"){return eU(t,e,n)}else if(r===undefined){if(t.required){(0,p.z3)("Missing required "+(0,p.r$)(e.type)+" parameter: "+(0,p.r$)(t.name))}return}else if(i==="param"){return nU(t,e,n)}else if(i==="projection"){return n.projectionRef(e[t.name])}return t.array&&!xF(r)?r.map((e=>tU(t,e,n))):tU(t,r,n)}function tU(t,e,n){const i=t.type;if(xF(e)){return sU(i)?(0,p.z3)("Expression references can not be signals."):lU(i)?n.fieldRef(e):uU(i)?n.compareRef(e):n.signalRef(e.signal)}else{const r=t.expr||lU(i);return r&&rU(e)?n.exprRef(e.expr,e.as):r&&oU(e)?cF(e.field,e.as):sU(i)?nL(e,n):aU(i)?uF(n.getData(e).values):lU(i)?cF(e):uU(i)?n.compareRef(e):e}}function eU(t,e,n){if(!(0,p.Kg)(e.from)){(0,p.z3)('Lookup "from" parameter must be a string literal.')}return n.getData(e.from).lookupRef(n,e.key)}function nU(t,e,n){const i=e[t.name];if(t.array){if(!(0,p.cy)(i)){(0,p.z3)("Expected an array of sub-parameters. Instead: "+(0,p.r$)(i))}return i.map((e=>iU(t,e,n)))}else{return iU(t,i,n)}}function iU(t,e,n){const i=t.params.length;let r;for(let a=0;a<i;++a){r=t.params[a];for(const t in r.key){if(r.key[t]!==e[t]){r=null;break}}if(r)break}if(!r)(0,p.z3)("Unsupported parameter: "+(0,p.r$)(e));const o=(0,p.X$)(QB(r,e,n),r.key);return uF(n.add(nI(o)))}const rU=t=>t&&t.expr;const oU=t=>t&&t.field;const aU=t=>t==="data";const sU=t=>t==="expr";const lU=t=>t==="field";const uU=t=>t==="compare";function cU(t,e,n){let i,r,o,a,s;if(!t){a=uF(n.add(UF(null,[{}])))}else if(i=t.facet){if(!e)(0,p.z3)("Only group marks can be faceted.");if(i.field!=null){a=s=fU(i,n)}else{if(!t.data){o=ZB((0,p.X$)({type:"aggregate",groupby:(0,p.YO)(i.groupby)},i.aggregate),n);o.params.key=n.keyRef(i.groupby);o.params.pulse=fU(i,n);a=s=uF(n.add(o))}else{s=uF(n.getData(t.data).aggregate)}r=n.keyRef(i.groupby,true)}}if(!a){a=fU(t,n)}return{key:r,pulse:a,parent:s}}function fU(t,e){return t.$ref?t:t.data&&t.data.$ref?t.data:uF(e.getData(t.data).output)}function dU(t,e,n,i,r){this.scope=t;this.input=e;this.output=n;this.values=i;this.aggregate=r;this.index={}}dU.fromEntries=function(t,e){const n=e.length,i=e[n-1],r=e[n-2];let o=e[0],a=null,s=1;if(o&&o.type==="load"){o=e[1]}t.add(e[0]);for(;s<n;++s){e[s].params.pulse=uF(e[s-1]);t.add(e[s]);if(e[s].type==="aggregate")a=e[s]}return new dU(t,o,r,i,a)};function hU(t){return(0,p.Kg)(t)?t:null}function pU(t,e,n){const i=yF(n.op,n.field);let r;if(e.ops){for(let t=0,n=e.as.length;t<n;++t){if(e.as[t]===i)return}}else{e.ops=["count"];e.fields=[null];e.as=["count"]}if(n.op){e.ops.push((r=n.op.signal)?t.signalRef(r):n.op);e.fields.push(t.fieldRef(n.field));e.as.push(i)}}function mU(t,e,n,i,r,o,a){const s=e[n]||(e[n]={}),l=gF(o);let u=hU(r),c,f;if(u!=null){t=e.scope;u=u+(l?"|"+l:"");c=s[u]}if(!c){const n=o?{field:fF,pulse:e.countsRef(t,r,o)}:{field:t.fieldRef(r),pulse:uF(e.output)};if(l)n.sort=t.sortRef(o);f=t.add(sF(i,undefined,n));if(a)e.index[r]=f;c=uF(f);if(u!=null)s[u]=c}return c}dU.prototype={countsRef(t,e,n){const i=this,r=i.counts||(i.counts={}),o=hU(e);let a,s,l;if(o!=null){t=i.scope;a=r[o]}if(!a){l={groupby:t.fieldRef(e,"key"),pulse:uF(i.output)};if(n&&n.field)pU(t,l,n);s=t.add(FF(l));a=t.add(UF({pulse:uF(s)}));a={agg:s,ref:uF(a)};if(o!=null)r[o]=a}else if(n&&n.field){pU(t,a.agg.params,n)}return a.ref},tuplesRef(){return uF(this.values)},extentRef(t,e){return mU(t,this,"extent","extent",e,false)},domainRef(t,e){return mU(t,this,"domain","values",e,false)},valuesRef(t,e,n){return mU(t,this,"vals","values",e,n||true)},lookupRef(t,e){return mU(t,this,"lookup","tupleindex",e,false)},indataRef(t,e){return mU(t,this,"indata","tupleindex",e,true,true)}};function gU(t,e,n){const i=t.from.facet,r=i.name,o=fU(i,e);let a;if(!i.name){(0,p.z3)("Facet must have a name: "+(0,p.r$)(i))}if(!i.data){(0,p.z3)("Facet must reference a data set: "+(0,p.r$)(i))}if(i.field){a=e.add(iI({field:e.fieldRef(i.field),pulse:o}))}else if(i.groupby){a=e.add(XF({key:e.keyRef(i.groupby),group:uF(e.proxy(n.parent)),pulse:o}))}else{(0,p.z3)("Facet must specify groupby or field: "+(0,p.r$)(i))}const s=e.fork(),l=s.add(UF()),u=s.add(uI({pulse:uF(l)}));s.addData(r,new dU(s,l,l,u));s.addSignal("parent",null);a.params.subflow={$subflow:s.parse(t).toRuntime()}}function yU(t,e,n){const i=e.add(iI({pulse:n.pulse})),r=e.fork();r.add(uI());r.addSignal("parent",null);i.params.subflow={$subflow:r.parse(t).toRuntime()}}function vU(t,e,n){const i=t.remove,r=t.insert,o=t.toggle,a=t.modify,s=t.values,l=e.add(lF());const u="if("+t.trigger+',modify("'+n+'",'+[r,i,o,a,s].map((t=>t==null?"null":t)).join(",")+"),0)";const c=nL(u,e);l.update=c.$expr;l.params=c.$params}function bU(t,e){const n=HB(t),i=t.type===pB,r=t.from&&t.from.facet,o=t.overlap;let a=t.layout||n===kq||n===wq,s,l,u,c,f,d,h;const m=n===_q||a||r;const g=cU(t.from,i,e);l=e.add(YF({key:g.key||(t.key?cF(t.key):undefined),pulse:g.pulse,clean:!i}));const y=uF(l);l=u=e.add(UF({pulse:y}));l=e.add(QF({markdef:VB(t),interactive:KB(t.interactive,e),clip:WB(t.clip,e),context:{$context:true},groups:e.lookup(),parent:e.signals.parent?e.signalRef("parent"):null,index:e.markpath(),pulse:uF(l)}));const v=uF(l);l=c=e.add(GF(Qq(t.encode,t.type,n,t.style,e,{mod:false,pulse:v})));l.params.parent=e.encode();if(t.transform){t.transform.forEach((t=>{const n=ZB(t,e),i=n.metadata;if(i.generates||i.changes){(0,p.z3)("Mark transforms should not generate new data.")}if(!i.nomod)c.params.mod=true;n.params.pulse=uF(l);e.add(l=n)}))}if(t.sort){l=e.add(cI({sort:e.compareRef(t.sort),pulse:uF(l)}))}const b=uF(l);if(r||a){a=e.add(fI({layout:e.objectProperty(t.layout),legends:e.legends,mark:v,pulse:b}));d=uF(a)}const x=e.add(BF({mark:v,pulse:d||b}));h=uF(x);if(i){if(m){s=e.operators;s.pop();if(a)s.pop()}e.pushState(b,d||h,y);r?gU(t,e,g):m?yU(t,e,g):e.parse(t);e.popState();if(m){if(a)s.push(a);s.push(x)}}if(o){h=xU(o,h,e)}const _=e.add(sI({pulse:h})),w=e.add(uI({pulse:uF(_)},undefined,e.parent()));if(t.name!=null){f=t.name;e.addData(f,new dU(e,u,_,w));if(t.on)t.on.forEach((t=>{if(t.insert||t.remove||t.toggle){(0,p.z3)("Marks only support modify triggers.")}vU(t,e,f)}))}}function xU(t,e,n){const i=t.method,r=t.bound,o=t.separation;const a={separation:xF(o)?n.signalRef(o.signal):o,method:xF(i)?n.signalRef(i.signal):i,pulse:e};if(t.order){a.sort=n.compareRef({field:t.order})}if(r){const t=r.tolerance;a.boundTolerance=xF(t)?n.signalRef(t.signal):+t;a.boundScale=n.scaleRef(r.scale);a.boundOrient=r.orient}return uF(n.add(eI(a)))}function _U(t,e){const n=e.config.legend,i=t.encode||{},r=xB(t,n),o=i.legend||{},a=o.name||undefined,s=o.interactive,l=o.style,u={};let c=0,f,d,h;cB.forEach((e=>t[e]?(u[e]=t[e],c=c||t[e]):0));if(!c)(0,p.z3)("Missing valid scale for legend.");const m=wU(t,e.scaleType(c));const g={title:t.title!=null,scales:u,type:m,vgrad:m!=="symbol"&&r.isVertical()};const y=uF(e.add(UF(null,[g])));const v={enter:{x:{value:0},y:{value:0}}};const b=uF(e.add(KF(d={type:m,scale:e.scaleRef(c),count:e.objectProperty(r("tickCount")),limit:e.property(r("symbolLimit")),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)})));if(m===eB){h=[AB(t,c,n,i.gradient),DB(t,n,i.labels,b)];d.count=d.count||e.signalRef(`max(2,2*floor((${MF(r.gradientLength())})/100))`)}else if(m===nB){h=[$B(t,c,n,i.gradient,b),DB(t,n,i.labels,b)]}else{f=NB(t,n);h=[TB(t,n,i,b,MF(f.columns))];d.size=SU(t,e,h[0].marks)}h=[bB({role:Dq,from:y,encode:v,marks:h,layout:f,interactive:s})];if(g.title){h.push(GB(t,n,i.title,y))}return bU(bB({role:Oq,from:y,encode:bq(MU(r,t,n),o,fB),marks:h,aria:r("aria"),description:r("description"),zindex:r("zindex"),name:a,interactive:s,style:l}),e)}function wU(t,e){let n=t.type||tB;if(!t.type&&kU(t)===1&&(t.fill||t.stroke)){n=Lu(e)?eB:qu(e)?nB:tB}return n!==eB?n:qu(e)?nB:eB}function kU(t){return cB.reduce(((e,n)=>e+(t[n]?1:0)),0)}function MU(t,e,n){const i={enter:{},update:{}};vq(i,{orient:t("orient"),offset:t("offset"),padding:t("padding"),titlePadding:t("titlePadding"),cornerRadius:t("cornerRadius"),fill:t("fillColor"),stroke:t("strokeColor"),strokeWidth:n.strokeWidth,strokeDash:n.strokeDash,x:t("legendX"),y:t("legendY"),format:e.format,formatType:e.formatType});return i}function SU(t,e,n){const i=MF(EU("size",t,n)),r=MF(EU("strokeWidth",t,n)),o=MF(zU(n[1].encode,e,KI));return nL(`max(ceil(sqrt(${i})+${r}),${o})`,e)}function EU(t,e,n){return e[t]?`scale("${e[t]}",datum)`:_B(t,n[0].encode)}function zU(t,e,n){return _B("fontSize",t)||wB("fontSize",e,n)}const AU=`item.orient==="${LI}"?-90:item.orient==="${PI}"?90:0`;function $U(t,e){t=(0,p.Kg)(t)?{text:t}:t;const n=xB(t,e.config.title),i=t.encode||{},r=i.group||{},o=r.name||undefined,a=r.interactive,s=r.style,l=[];const u={},c=uF(e.add(UF(null,[u])));l.push(DU(t,n,OU(t),c));if(t.subtitle){l.push(TU(t,n,i.subtitle,c))}return bU(bB({role:Pq,from:c,encode:RU(n,r),marks:l,aria:n("aria"),description:n("description"),zindex:n("zindex"),name:o,interactive:a,style:s}),e)}function OU(t){const e=t.encode;return e&&e.title||(0,p.X$)({name:t.name,interactive:t.interactive,style:t.style},e)}function RU(t,e){const n={enter:{},update:{}};vq(n,{orient:t("orient"),anchor:t("anchor"),align:{signal:MB},angle:{signal:AU},limit:t("limit"),frame:t("frame"),offset:t("offset")||0,padding:t("subtitlePadding")});return bq(n,e,fB)}function DU(t,e,n,i){const r={value:0},o=t.text,a={enter:{opacity:r},update:{opacity:{value:1}},exit:{opacity:r}};vq(a,{text:o,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:e("dx"),dy:e("dy"),fill:e("color"),font:e("font"),fontSize:e("fontSize"),fontStyle:e("fontStyle"),fontWeight:e("fontWeight"),lineHeight:e("lineHeight")},{align:e("align"),angle:e("angle"),baseline:e("baseline")});return zB({type:vB,role:qq,style:QI,from:i,encode:a},n)}function TU(t,e,n,i){const r={value:0},o=t.subtitle,a={enter:{opacity:r},update:{opacity:{value:1}},exit:{opacity:r}};vq(a,{text:o,align:{signal:"item.mark.group.align"},angle:{signal:"item.mark.group.angle"},limit:{signal:"item.mark.group.limit"},baseline:"top",dx:e("dx"),dy:e("dy"),fill:e("subtitleColor"),font:e("subtitleFont"),fontSize:e("subtitleFontSize"),fontStyle:e("subtitleFontStyle"),fontWeight:e("subtitleFontWeight"),lineHeight:e("subtitleLineHeight")},{align:e("align"),angle:e("angle"),baseline:e("baseline")});return zB({type:vB,role:Fq,style:JI,from:i,encode:a},n)}function NU(t,e){const n=[];if(t.transform){t.transform.forEach((t=>{n.push(ZB(t,e))}))}if(t.on){t.on.forEach((n=>{vU(n,e,t.name)}))}e.addDataPipeline(t.name,CU(t,e,n))}function CU(t,e,n){const i=[];let r=null,o=false,a=false,s,l,u,c,f;if(t.values){if(xF(t.values)||wF(t.format)){i.push(PU(e,t));i.push(r=LU())}else{i.push(r=LU({$ingest:t.values,$format:t.format}))}}else if(t.url){if(wF(t.url)||wF(t.format)){i.push(PU(e,t));i.push(r=LU())}else{i.push(r=LU({$request:t.url,$format:t.format}))}}else if(t.source){r=s=(0,p.YO)(t.source).map((t=>uF(e.getData(t).output)));i.push(null)}for(l=0,u=n.length;l<u;++l){c=n[l];f=c.metadata;if(!r&&!f.source){i.push(r=LU())}i.push(c);if(f.generates)a=true;if(f.modifies&&!a)o=true;if(f.source)r=c;else if(f.changes)r=null}if(s){u=s.length-1;i[0]=aI({derive:o,pulse:u?s:s[0]});if(o||u){i.splice(1,0,LU())}}if(!r)i.push(LU());i.push(uI({}));return i}function LU(t){const e=UF({},t);e.metadata={source:true};return e}function PU(t,e){return ZF({url:e.url?t.property(e.url):undefined,async:e.async?t.property(e.async):undefined,values:e.values?t.property(e.values):undefined,format:t.objectProperty(e.format)})}const qU=t=>t===qI||t===CI;const FU=(t,e,n)=>xF(t)?WU(t.signal,e,n):t===LI||t===CI?e:n;const IU=(t,e,n)=>xF(t)?YU(t.signal,e,n):qU(t)?e:n;const BU=(t,e,n)=>xF(t)?GU(t.signal,e,n):qU(t)?n:e;const UU=(t,e,n)=>xF(t)?XU(t.signal,e,n):t===CI?{value:e}:{value:n};const jU=(t,e,n)=>xF(t)?HU(t.signal,e,n):t===PI?{value:e}:{value:n};const YU=(t,e,n)=>VU(`${t} === '${CI}' || ${t} === '${qI}'`,e,n);const GU=(t,e,n)=>VU(`${t} !== '${CI}' && ${t} !== '${qI}'`,e,n);const WU=(t,e,n)=>ZU(`${t} === '${LI}' || ${t} === '${CI}'`,e,n);const XU=(t,e,n)=>ZU(`${t} === '${CI}'`,e,n);const HU=(t,e,n)=>ZU(`${t} === '${PI}'`,e,n);const VU=(t,e,n)=>{e=e!=null?gq(e):e;n=n!=null?gq(n):n;if(KU(e)&&KU(n)){e=e?e.signal||(0,p.r$)(e.value):null;n=n?n.signal||(0,p.r$)(n.value):null;return{signal:`${t} ? (${e}) : (${n})`}}else{return[(0,p.X$)({test:t},e)].concat(n||[])}};const KU=t=>t==null||Object.keys(t).length===1;const ZU=(t,e,n)=>({signal:`${t} ? (${JU(e)}) : (${JU(n)})`});const QU=(t,e,n,i,r)=>({signal:(i!=null?`${t} === '${LI}' ? (${JU(i)}) : `:"")+(n!=null?`${t} === '${qI}' ? (${JU(n)}) : `:"")+(r!=null?`${t} === '${PI}' ? (${JU(r)}) : `:"")+(e!=null?`${t} === '${CI}' ? (${JU(e)}) : `:"")+"(null)"});const JU=t=>xF(t)?t.signal:t==null?null:(0,p.r$)(t);const tj=(t,e)=>e===0?0:xF(t)?{signal:`(${t.signal}) * ${e}`}:{value:t*e};const ej=(t,e)=>{const n=t.signal;return n&&n.endsWith("(null)")?{signal:n.slice(0,-6)+e.signal}:t};function nj(t,e,n,i){let r;if(e&&(0,p.mQ)(e,t)){return e[t]}else if((0,p.mQ)(n,t)){return n[t]}else if(t.startsWith("title")){switch(t){case"titleColor":r="fill";break;case"titleFont":case"titleFontSize":case"titleFontWeight":r=t[5].toLowerCase()+t.slice(6)}return i[ZI][r]}else if(t.startsWith("label")){switch(t){case"labelColor":r="fill";break;case"labelFont":case"labelFontSize":r=t[5].toLowerCase()+t.slice(6)}return i[KI][r]}return null}function ij(t){const e={};for(const n of t){if(!n)continue;for(const t in n)e[t]=1}return Object.keys(e)}function rj(t,e){var n=e.config,i=n.style,r=n.axis,o=e.scaleType(t.scale)==="band"&&n.axisBand,a=t.orient,s,l,u;if(xF(a)){const t=ij([n.axisX,n.axisY]),e=ij([n.axisTop,n.axisBottom,n.axisLeft,n.axisRight]);s={};for(u of t){s[u]=IU(a,nj(u,n.axisX,r,i),nj(u,n.axisY,r,i))}l={};for(u of e){l[u]=QU(a.signal,nj(u,n.axisTop,r,i),nj(u,n.axisBottom,r,i),nj(u,n.axisLeft,r,i),nj(u,n.axisRight,r,i))}}else{s=a===CI||a===qI?n.axisX:n.axisY;l=n["axis"+a[0].toUpperCase()+a.slice(1)]}const c=s||l||o?(0,p.X$)({},r,s,l,o):r;return c}function oj(t,e,n,i){const r=xB(t,e),o=t.orient;let a,s;const l={enter:a={opacity:dB},update:s={opacity:hB},exit:{opacity:dB}};vq(l,{stroke:r("domainColor"),strokeCap:r("domainCap"),strokeDash:r("domainDash"),strokeDashOffset:r("domainDashOffset"),strokeWidth:r("domainWidth"),strokeOpacity:r("domainOpacity")});const u=aj(t,0);const c=aj(t,1);a.x=s.x=IU(o,u,dB);a.x2=s.x2=IU(o,c);a.y=s.y=BU(o,u,dB);a.y2=s.y2=BU(o,c);return zB({type:gB,role:Sq,from:i,encode:l},n)}function aj(t,e){return{scale:t.scale,range:e}}function sj(t,e,n,i,r){const o=xB(t,e),a=t.orient,s=t.gridScale,l=FU(a,1,-1),u=lj(t.offset,l);let c,f,d;const h={enter:c={opacity:dB},update:d={opacity:hB},exit:f={opacity:dB}};vq(h,{stroke:o("gridColor"),strokeCap:o("gridCap"),strokeDash:o("gridDash"),strokeDashOffset:o("gridDashOffset"),strokeOpacity:o("gridOpacity"),strokeWidth:o("gridWidth")});const m={scale:t.scale,field:VI,band:r.band,extra:r.extra,offset:r.offset,round:o("tickRound")};const g=IU(a,{signal:"height"},{signal:"width"});const y=s?{scale:s,range:0,mult:l,offset:u}:{value:0,offset:u};const v=s?{scale:s,range:1,mult:l,offset:u}:(0,p.X$)(g,{mult:l,offset:u});c.x=d.x=IU(a,m,y);c.y=d.y=BU(a,m,y);c.x2=d.x2=BU(a,v);c.y2=d.y2=IU(a,v);f.x=IU(a,m);f.y=BU(a,m);return zB({type:gB,role:Eq,key:VI,from:i,encode:h},n)}function lj(t,e){if(e===1);else if(!(0,p.Gv)(t)){t=xF(e)?{signal:`(${e.signal}) * (${t||0})`}:e*(t||0)}else{let n=t=(0,p.X$)({},t);while(n.mult!=null){if(!(0,p.Gv)(n.mult)){n.mult=xF(e)?{signal:`(${n.mult}) * (${e.signal})`}:n.mult*e;return t}else{n=n.mult=(0,p.X$)({},n.mult)}}n.mult=e}return t}function uj(t,e,n,i,r,o){const a=xB(t,e),s=t.orient,l=FU(s,-1,1);let u,c,f;const d={enter:u={opacity:dB},update:f={opacity:hB},exit:c={opacity:dB}};vq(d,{stroke:a("tickColor"),strokeCap:a("tickCap"),strokeDash:a("tickDash"),strokeDashOffset:a("tickDashOffset"),strokeOpacity:a("tickOpacity"),strokeWidth:a("tickWidth")});const h=gq(r);h.mult=l;const p={scale:t.scale,field:VI,band:o.band,extra:o.extra,offset:o.offset,round:a("tickRound")};f.y=u.y=IU(s,dB,p);f.y2=u.y2=IU(s,h);c.x=IU(s,p);f.x=u.x=BU(s,dB,p);f.x2=u.x2=BU(s,h);c.y=BU(s,p);return zB({type:gB,role:Aq,key:VI,from:i,encode:d},n)}function cj(t,e,n,i,r){return{signal:'flush(range("'+t+'"), '+'scale("'+t+'", datum.value), '+e+","+n+","+i+","+r+")"}}function fj(t,e,n,i,r,o){const a=xB(t,e),s=t.orient,l=t.scale,u=FU(s,-1,1),c=MF(a("labelFlush")),f=MF(a("labelFlushOffset")),d=a("labelAlign"),h=a("labelBaseline");let p=c===0||!!c,m;const g=gq(r);g.mult=u;g.offset=gq(a("labelPadding")||0);g.offset.mult=u;const y={scale:l,field:VI,band:.5,offset:EB(o.offset,a("labelOffset"))};const v=IU(s,p?cj(l,c,'"left"','"right"','"center"'):{value:"center"},jU(s,"left","right"));const b=IU(s,UU(s,"bottom","top"),p?cj(l,c,'"top"','"bottom"','"middle"'):{value:"middle"});const x=cj(l,c,`-(${f})`,f,0);p=p&&f;const _={opacity:dB,x:IU(s,y,g),y:BU(s,y,g)};const w={enter:_,update:m={opacity:hB,text:{field:GI},x:_.x,y:_.y,align:v,baseline:b},exit:{opacity:dB,x:_.x,y:_.y}};vq(w,{dx:!d&&p?IU(s,x):null,dy:!h&&p?BU(s,x):null});vq(w,{angle:a("labelAngle"),fill:a("labelColor"),fillOpacity:a("labelOpacity"),font:a("labelFont"),fontSize:a("labelFontSize"),fontWeight:a("labelFontWeight"),fontStyle:a("labelFontStyle"),limit:a("labelLimit"),lineHeight:a("labelLineHeight")},{align:d,baseline:h});const k=a("labelBound");let M=a("labelOverlap");M=M||k?{separation:a("labelSeparation"),method:M,order:"datum.index",bound:k?{scale:l,orient:s,tolerance:k}:null}:undefined;if(m.align!==v){m.align=ej(m.align,v)}if(m.baseline!==b){m.baseline=ej(m.baseline,b)}return zB({type:vB,role:zq,style:KI,key:VI,from:i,encode:w,overlap:M},n)}function dj(t,e,n,i){const r=xB(t,e),o=t.orient,a=FU(o,-1,1);let s,l;const u={enter:s={opacity:dB,anchor:gq(r("titleAnchor",null)),align:{signal:MB}},update:l=(0,p.X$)({},s,{opacity:hB,text:gq(t.title)}),exit:{opacity:dB}};const c={signal:`lerp(range("${t.scale}"), ${kB(0,1,.5)})`};l.x=IU(o,c);l.y=BU(o,c);s.angle=IU(o,dB,tj(a,90));s.baseline=IU(o,UU(o,qI,CI),{value:qI});l.angle=s.angle;l.baseline=s.baseline;vq(u,{fill:r("titleColor"),fillOpacity:r("titleOpacity"),font:r("titleFont"),fontSize:r("titleFontSize"),fontStyle:r("titleFontStyle"),fontWeight:r("titleFontWeight"),limit:r("titleLimit"),lineHeight:r("titleLineHeight")},{align:r("titleAlign"),angle:r("titleAngle"),baseline:r("titleBaseline")});hj(r,o,u,n);u.update.align=ej(u.update.align,s.align);u.update.angle=ej(u.update.angle,s.angle);u.update.baseline=ej(u.update.baseline,s.baseline);return zB({type:vB,role:$q,style:ZI,from:i,encode:u},n)}function hj(t,e,n,i){const r=(t,e)=>t!=null?(n.update[e]=ej(gq(t),n.update[e]),false):!xq(e,i)?true:false;const o=r(t("titleX"),"x"),a=r(t("titleY"),"y");n.enter.auto=a===o?gq(a):IU(e,gq(a),gq(o))}function pj(t,e){const n=rj(t,e),i=t.encode||{},r=i.axis||{},o=r.name||undefined,a=r.interactive,s=r.style,l=xB(t,n),u=SB(l);const c={scale:t.scale,ticks:!!l("ticks"),labels:!!l("labels"),grid:!!l("grid"),domain:!!l("domain"),title:t.title!=null};const f=uF(e.add(UF({},[c])));const d=uF(e.add(IF({scale:e.scaleRef(t.scale),extra:e.property(u.extra),count:e.objectProperty(t.tickCount),values:e.objectProperty(t.values),minstep:e.property(t.tickMinStep),formatType:e.property(t.formatType),formatSpecifier:e.property(t.format)})));const h=[];let p;if(c.grid){h.push(sj(t,n,i.grid,d,u))}if(c.ticks){p=l("tickSize");h.push(uj(t,n,i.ticks,d,p,u))}if(c.labels){p=c.ticks?p:0;h.push(fj(t,n,i.labels,d,p,u))}if(c.domain){h.push(oj(t,n,i.domain,f))}if(c.title){h.push(dj(t,n,i.title,f))}return bU(bB({role:Mq,from:f,encode:bq(mj(l,t),r,fB),marks:h,aria:l("aria"),description:l("description"),zindex:l("zindex"),name:o,interactive:a,style:s}),e)}function mj(t,e){const n={enter:{},update:{}};vq(n,{orient:t("orient"),offset:t("offset")||0,position:kF(e.position,0),titlePadding:t("titlePadding"),minExtent:t("minExtent"),maxExtent:t("maxExtent"),range:{signal:`abs(span(range("${e.scale}")))`},translate:t("translate"),format:e.format,formatType:e.formatType});return n}function gj(t,e,n){const i=(0,p.YO)(t.signals),r=(0,p.YO)(t.scales);if(!n)i.forEach((t=>oF(t,e)));(0,p.YO)(t.projections).forEach((t=>TI(t,e)));r.forEach((t=>mI(t,e)));(0,p.YO)(t.data).forEach((t=>NU(t,e)));r.forEach((t=>gI(t,e)));(n||i).forEach((t=>PF(t,e)));(0,p.YO)(t.axes).forEach((t=>pj(t,e)));(0,p.YO)(t.marks).forEach((t=>bU(t,e)));(0,p.YO)(t.legends).forEach((t=>_U(t,e)));if(t.title)$U(t.title,e);e.parseLambdas();return e}const yj=t=>bq({enter:{x:{value:0},y:{value:0}},update:{width:{signal:"width"},height:{signal:"height"}}},t);function vj(t,e){const n=e.config;const i=uF(e.root=e.add(lF()));const r=xj(t,n);r.forEach((t=>oF(t,e)));e.description=t.description||n.description;e.eventConfig=n.events;e.legends=e.objectProperty(n.legend&&n.legend.layout);e.locale=n.locale;const o=e.add(UF());const a=e.add(GF(Qq(yj(t.encode),pB,wq,t.style,e,{pulse:uF(o)})));const s=e.add(fI({layout:e.objectProperty(t.layout),legends:e.legends,autosize:e.signalRef("autosize"),mark:i,pulse:uF(a)}));e.operators.pop();e.pushState(uF(a),uF(s),null);gj(t,e,r);e.operators.push(s);let l=e.add(BF({mark:i,pulse:uF(s)}));l=e.add(sI({pulse:uF(l)}));l=e.add(uI({pulse:uF(l)}));e.addData("root",new dU(e,o,o,l));return e}function bj(t,e){return e&&e.signal?{name:t,update:e.signal}:{name:t,value:e}}function xj(t,e){const n=n=>kF(t[n],e[n]),i=[bj("background",n("background")),bj("autosize",dq(n("autosize"))),bj("padding",mq(n("padding"))),bj("width",n("width")||0),bj("height",n("height")||0)],r=i.reduce(((t,e)=>(t[e.name]=e,t)),{}),o={};(0,p.YO)(t.signals).forEach((t=>{if((0,p.mQ)(r,t.name)){t=(0,p.X$)(r[t.name],t)}else{i.push(t)}o[t.name]=t}));(0,p.YO)(e.signals).forEach((t=>{if(!(0,p.mQ)(o,t.name)&&!(0,p.mQ)(r,t.name)){i.push(t)}}));return i}function _j(t,e){this.config=t||{};this.options=e||{};this.bindings=[];this.field={};this.signals={};this.lambdas={};this.scales={};this.events={};this.data={};this.streams=[];this.updates=[];this.operators=[];this.eventConfig=null;this.locale=null;this._id=0;this._subid=0;this._nextsub=[0];this._parent=[];this._encode=[];this._lookup=[];this._markpath=[]}function wj(t){this.config=t.config;this.options=t.options;this.legends=t.legends;this.field=Object.create(t.field);this.signals=Object.create(t.signals);this.lambdas=Object.create(t.lambdas);this.scales=Object.create(t.scales);this.events=Object.create(t.events);this.data=Object.create(t.data);this.streams=[];this.updates=[];this.operators=[];this._id=0;this._subid=++t._nextsub[0];this._nextsub=t._nextsub;this._parent=t._parent.slice();this._encode=t._encode.slice();this._lookup=t._lookup.slice();this._markpath=t._markpath}_j.prototype=wj.prototype={parse(t){return gj(t,this)},fork(){return new wj(this)},isSubscope(){return this._subid>0},toRuntime(){this.finish();return{description:this.description,operators:this.operators,streams:this.streams,updates:this.updates,bindings:this.bindings,eventConfig:this.eventConfig,locale:this.locale}},id(){return(this._subid?this._subid+":":0)+this._id++},add(t){this.operators.push(t);t.id=this.id();if(t.refs){t.refs.forEach((e=>{e.$ref=t.id}));t.refs=null}return t},proxy(t){const e=t instanceof aF?uF(t):t;return this.add(oI({value:e}))},addStream(t){this.streams.push(t);t.id=this.id();return t},addUpdate(t){this.updates.push(t);return t},finish(){let t,e;if(this.root)this.root.root=true;for(t in this.signals){this.signals[t].signal=t}for(t in this.scales){this.scales[t].scale=t}function n(t,e,n){let i,r;if(t){i=t.data||(t.data={});r=i[e]||(i[e]=[]);r.push(n)}}for(t in this.data){e=this.data[t];n(e.input,t,"input");n(e.output,t,"output");n(e.values,t,"values");for(const i in e.index){n(e.index[i],t,"index:"+i)}}return this},pushState(t,e,n){this._encode.push(uF(this.add(uI({pulse:t}))));this._parent.push(e);this._lookup.push(n?uF(this.proxy(n)):null);this._markpath.push(-1)},popState(){this._encode.pop();this._parent.pop();this._lookup.pop();this._markpath.pop()},parent(){return(0,p.se)(this._parent)},encode(){return(0,p.se)(this._encode)},lookup(){return(0,p.se)(this._lookup)},markpath(){const t=this._markpath;return++t[t.length-1]},fieldRef(t,e){if((0,p.Kg)(t))return cF(t,e);if(!t.signal){(0,p.z3)("Unsupported field reference: "+(0,p.r$)(t))}const n=t.signal;let i=this.field[n];if(!i){const t={name:this.signalRef(n)};if(e)t.as=e;this.field[n]=i=uF(this.add(HF(t)))}return i},compareRef(t){let e=false;const n=t=>xF(t)?(e=true,this.signalRef(t.signal)):_F(t)?(e=true,this.exprRef(t.expr)):t;const i=(0,p.YO)(t.field).map(n),r=(0,p.YO)(t.order).map(n);return e?uF(this.add(jF({fields:i,orders:r}))):dF(i,r)},keyRef(t,e){let n=false;const i=t=>xF(t)?(n=true,uF(r[t.signal])):t;const r=this.signals;t=(0,p.YO)(t).map(i);return n?uF(this.add(VF({fields:t,flat:e}))):hF(t,e)},sortRef(t){if(!t)return t;const e=yF(t.op,t.field),n=t.order||pF;return n.signal?uF(this.add(jF({fields:e,orders:this.signalRef(n.signal)}))):dF(e,n)},event(t,e){const n=t+":"+e;if(!this.events[n]){const i=this.id();this.streams.push({id:i,source:t,type:e});this.events[n]=i}return this.events[n]},hasOwnSignal(t){return(0,p.mQ)(this.signals,t)},addSignal(t,e){if(this.hasOwnSignal(t)){(0,p.z3)("Duplicate signal name: "+(0,p.r$)(t))}const n=e instanceof aF?e:this.add(lF(e));return this.signals[t]=n},getSignal(t){if(!this.signals[t]){(0,p.z3)("Unrecognized signal name: "+(0,p.r$)(t))}return this.signals[t]},signalRef(t){if(this.signals[t]){return uF(this.signals[t])}else if(!(0,p.mQ)(this.lambdas,t)){this.lambdas[t]=this.add(lF(null))}return uF(this.lambdas[t])},parseLambdas(){const t=Object.keys(this.lambdas);for(let e=0,n=t.length;e<n;++e){const n=t[e],i=nL(n,this),r=this.lambdas[n];r.params=i.$params;r.update=i.$expr}},property(t){return t&&t.signal?this.signalRef(t.signal):t},objectProperty(t){return!t||!(0,p.Gv)(t)?t:this.signalRef(t.signal||kj(t))},exprRef(t,e){const n={expr:nL(t,this)};if(e)n.expr.$name=e;return uF(this.add(WF(n)))},addBinding(t,e){if(!this.bindings){(0,p.z3)("Nested signals do not support binding: "+(0,p.r$)(t))}this.bindings.push((0,p.X$)({signal:t},e))},addScaleProj(t,e){if((0,p.mQ)(this.scales,t)){(0,p.z3)("Duplicate scale or projection name: "+(0,p.r$)(t))}this.scales[t]=this.add(e)},addScale(t,e){this.addScaleProj(t,lI(e))},addProjection(t,e){this.addScaleProj(t,rI(e))},getScale(t){if(!this.scales[t]){(0,p.z3)("Unrecognized scale name: "+(0,p.r$)(t))}return this.scales[t]},scaleRef(t){return uF(this.getScale(t))},scaleType(t){return this.getScale(t).params.type},projectionRef(t){return this.scaleRef(t)},projectionType(t){return this.scaleType(t)},addData(t,e){if((0,p.mQ)(this.data,t)){(0,p.z3)("Duplicate data set name: "+(0,p.r$)(t))}return this.data[t]=e},getData(t){if(!this.data[t]){(0,p.z3)("Undefined data set name: "+(0,p.r$)(t))}return this.data[t]},addDataPipeline(t,e){if((0,p.mQ)(this.data,t)){(0,p.z3)("Duplicate data set name: "+(0,p.r$)(t))}return this.addData(t,dU.fromEntries(this,e))}};function kj(t){return((0,p.cy)(t)?Mj:Sj)(t)}function Mj(t){const e=t.length;let n="[";for(let i=0;i<e;++i){const e=t[i];n+=(i>0?",":"")+((0,p.Gv)(e)?e.signal||kj(e):(0,p.r$)(e))}return n+"]"}function Sj(t){let e="{",n=0,i,r;for(i in t){r=t[i];e+=(++n>1?",":"")+(0,p.r$)(i)+":"+((0,p.Gv)(r)?r.signal||kj(r):(0,p.r$)(r))}return e+"}"}function Ej(){const t="sans-serif",e=30,n=2,i="#4c78a8",r="#000",o="#888",a="#ddd";return{description:"Vega visualization",padding:0,autosize:"pad",background:null,events:{defaults:{allow:["wheel"]}},group:null,mark:null,arc:{fill:i},area:{fill:i},image:null,line:{stroke:i,strokeWidth:n},path:{stroke:i},rect:{fill:i},rule:{stroke:r},shape:{stroke:i},symbol:{fill:i,size:64},text:{fill:r,font:t,fontSize:11},trail:{fill:i,size:n},style:{"guide-label":{fill:r,font:t,fontSize:10},"guide-title":{fill:r,font:t,fontSize:11,fontWeight:"bold"},"group-title":{fill:r,font:t,fontSize:13,fontWeight:"bold"},"group-subtitle":{fill:r,font:t,fontSize:12},point:{size:e,strokeWidth:n,shape:"circle"},circle:{size:e,strokeWidth:n},square:{size:e,strokeWidth:n,shape:"square"},cell:{fill:"transparent",stroke:a},view:{fill:"transparent"}},title:{orient:"top",anchor:"middle",offset:4,subtitlePadding:3},axis:{minExtent:0,maxExtent:200,bandPosition:.5,domain:true,domainWidth:1,domainColor:o,grid:false,gridWidth:1,gridColor:a,labels:true,labelAngle:0,labelLimit:180,labelOffset:0,labelPadding:2,ticks:true,tickColor:o,tickOffset:0,tickRound:true,tickSize:5,tickWidth:1,titlePadding:4},axisBand:{tickOffset:-.5},projection:{type:"mercator"},legend:{orient:"right",padding:0,gridAlign:"each",columnPadding:10,rowPadding:2,symbolDirection:"vertical",gradientDirection:"vertical",gradientLength:200,gradientThickness:16,gradientStrokeColor:a,gradientStrokeWidth:0,gradientLabelOffset:2,labelAlign:"left",labelBaseline:"middle",labelLimit:160,labelOffset:4,labelOverlap:true,symbolLimit:30,symbolType:"circle",symbolSize:100,symbolOffset:0,symbolStrokeWidth:1.5,symbolBaseFillColor:"transparent",symbolBaseStrokeColor:o,titleLimit:180,titleOrient:"top",titlePadding:5,layout:{offset:18,direction:"horizontal",left:{direction:"vertical"},right:{direction:"vertical"}}},range:{category:{scheme:"tableau10"},ordinal:{scheme:"blues"},heatmap:{scheme:"yellowgreenblue"},ramp:{scheme:"blues"},diverging:{scheme:"blueorange",extent:[1,0]},symbol:["circle","square","triangle-up","cross","diamond","triangle-right","triangle-down","triangle-left"]}}}function zj(t,e,n){if(!(0,p.Gv)(t)){(0,p.z3)("Input Vega specification must be an object.")}e=(0,p.io)(Ej(),e,t.config);return vj(t,new _j(e,n)).toRuntime()}var Aj="5.24.0";(0,p.X$)(Ti,i,r,o,a,s,u,l,c,f,d,h)}}]);
|