diff --git a/.codespell.skip b/.codespell.skip index 1c827e0dd8d..29f51a4571e 100644 --- a/.codespell.skip +++ b/.codespell.skip @@ -17,4 +17,5 @@ ./website/config.toml ./**/node_modules ./frontend-components/** -./website/content/terminal/reference/crypto/onchain/** \ No newline at end of file +./website/content/terminal/reference/crypto/onchain/** +./openbb_platform/providers/econdb/openbb_econdb/utils/helpers.py \ No newline at end of file diff --git a/README.md b/README.md index ac860adb2cc..1295be470ea 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ The first financial Platform that is free and fully open source. -Offers access to equity, options, crypto, forex, macro economy, fixed income, and more while also offering a broad range of extensions to enhance the user experience according to their needs. +The OpenBB Platform offers access to equity, options, crypto, forex, macro economy, fixed income, and more while also offering a broad range of extensions to enhance the user experience according to their needs. Sign up to the [OpenBB Hub](https://my.openbb.co/login) to get the most out of the OpenBB ecosystem. @@ -31,7 +31,7 @@ If you are looking for our **FREE** AI-powered Research and Analytics Workspace, -We also have an open source AI financial analyst agent that can access all the data within OpenBB, and that repo can be found [here](https://github.com/OpenBB-finance/openbb-agents). +We also have an open source AI financial analyst agent that can access all of the data within OpenBB, and that repo can be found [here](https://github.com/OpenBB-finance/openbb-agents). --- @@ -59,7 +59,7 @@ Please find more about the installation process in the [OpenBB Documentation](ht ### OpenBB Platform CLI installation -The OpenBB Platform CLI is a command-line interface that allows you to access the OpenBB Platform directly from your terminal. +The OpenBB Platform CLI is a command-line interface that allows you to access the OpenBB Platform directly from your command line. It can be installed by running `pip install openbb-cli` @@ -67,8 +67,6 @@ or by cloning the repository directly with `git clone https://github.com/OpenBB Please find more about the installation process in the [OpenBB Documentation](https://docs.openbb.co/cli/installation). -> The OpenBB Platform CLI offers an alternative to the former [OpenBB Terminal](https://github.com/OpenBB-finance/LegacyTerminal) as it has the same look and feel while offering the functionalities and extendability of the OpenBB Platform. - ## 2. Contributing There are three main ways of contributing to this project. (Hopefully you have starred the project by now ⭐️) @@ -106,11 +104,12 @@ The data contained in the OpenBB Platform is not necessarily accurate. OpenBB and any provider of the data contained in this website will not accept liability for any loss or damage as a result of your trading, or your reliance on the information displayed. All names, logos, and brands of third parties that may be referenced in our sites, products or documentation are trademarks of their respective owners. Unless otherwise specified, OpenBB and its products and services are not endorsed by, sponsored by, or affiliated with these third parties. + Our use of these names, logos, and brands is for identification purposes only, and does not imply any such endorsement, sponsorship, or affiliation. ## 5. Contacts -If you have any questions about the terminal or anything OpenBB, feel free to email us at `support@openbb.co` +If you have any questions about the platform or anything OpenBB, feel free to email us at `support@openbb.co` If you want to say hi, or are interested in partnering with us, feel free to reach us at `hello@openbb.co` diff --git a/frontend-components/plotly/package-lock.json b/frontend-components/plotly/package-lock.json index 1508412b8dd..d153210ff96 100644 --- a/frontend-components/plotly/package-lock.json +++ b/frontend-components/plotly/package-lock.json @@ -11,7 +11,7 @@ "@radix-ui/react-dialog": "^1.0.3", "dom-to-image": "^2.6.0", "lodash": "^4.17.21", - "plotly.js-dist-min": "^2.32.0", + "plotly.js-dist-min": "^2.35.2", "posthog-js": "^1.55.0", "react": "^18.0.0", "react-dom": "^18.0.0", @@ -35,7 +35,7 @@ "react-hotkeys-hook": "^4.4.0", "tailwindcss": "^3.2.7", "typescript": "^4.9.3", - "vite": ">=4.5.4", + "vite": ">=4.5.6", "vite-plugin-singlefile": "^0.13.3" } }, @@ -44,6 +44,7 @@ "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -56,6 +57,7 @@ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, + "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -65,12 +67,14 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.24.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", - "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.24.2", + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", "picocolors": "^1.0.0" }, "engines": { @@ -78,30 +82,32 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz", - "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", + "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz", - "integrity": "sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", + "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", "dev": true, + "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.24.5", - "@babel/helpers": "^7.24.5", - "@babel/parser": "^7.24.5", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.5", - "@babel/types": "^7.24.5", + "@babel/code-frame": "^7.26.0", + "@babel/generator": "^7.26.0", + "@babel/helper-compilation-targets": "^7.25.9", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.0", + "@babel/parser": "^7.26.0", + "@babel/template": "^7.25.9", + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.26.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -117,29 +123,32 @@ } }, "node_modules/@babel/generator": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.5.tgz", - "integrity": "sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", + "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.5", + "@babel/parser": "^7.26.5", + "@babel/types": "^7.26.5", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^2.5.1" + "jsesc": "^3.0.2" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -147,63 +156,30 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-module-imports": { - "version": "7.24.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz", - "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.24.0" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz", - "integrity": "sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.24.3", - "@babel/helper-simple-access": "^7.24.5", - "@babel/helper-split-export-declaration": "^7.24.5", - "@babel/helper-validator-identifier": "^7.24.5" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -213,99 +189,68 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz", - "integrity": "sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz", - "integrity": "sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz", - "integrity": "sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.5" - }, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", - "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz", - "integrity": "sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.5.tgz", - "integrity": "sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", + "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.5", - "@babel/types": "^7.24.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.5.tgz", - "integrity": "sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.24.5", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.5.tgz", - "integrity": "sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", + "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.5" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -314,12 +259,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.5.tgz", - "integrity": "sha512-RtCJoUO2oYrYwFPtR1/jkoBEcFuI1ae9a9IMxeyAVa3a1Ap4AnxmyIKG2b2FaJKqkidw/0cxRbWN+HOs6ZWd1w==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", + "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.5" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -329,12 +275,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.24.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz", - "integrity": "sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", + "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -343,45 +290,33 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/runtime": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.5.tgz", - "integrity": "sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", + "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/code-frame": "^7.25.9", + "@babel/parser": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.5.tgz", - "integrity": "sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.5.tgz", + "integrity": "sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.24.2", - "@babel/generator": "^7.24.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.24.5", - "@babel/parser": "^7.24.5", - "@babel/types": "^7.24.5", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.5", + "@babel/parser": "^7.26.5", + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.5", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -390,14 +325,14 @@ } }, "node_modules/@babel/types": { - "version": "7.24.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.5.tgz", - "integrity": "sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", + "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.24.1", - "@babel/helper-validator-identifier": "^7.24.5", - "to-fast-properties": "^2.0.0" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -407,6 +342,7 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/@choojs/findup/-/findup-0.2.1.tgz", "integrity": "sha512-YstAqNb0MCN8PjdLCDfRsBcGVRN41f3vgLvaI0IrIcBp4AqILRSS0DeWNGkicC+f/zRIPJLc+9RURVSepwvfBw==", + "license": "MIT", "peer": true, "dependencies": { "commander": "^2.15.1" @@ -794,6 +730,7 @@ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", @@ -807,10 +744,10 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", + "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -824,7 +761,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } @@ -833,22 +770,33 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, + "license": "MIT", "engines": { "node": ">=6.0.0" } }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.25", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -858,6 +806,7 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/@mapbox/geojson-rewind/-/geojson-rewind-0.5.2.tgz", "integrity": "sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==", + "license": "ISC", "peer": true, "dependencies": { "get-stream": "^6.0.1", @@ -871,6 +820,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/@mapbox/geojson-types/-/geojson-types-1.0.2.tgz", "integrity": "sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw==", + "license": "ISC", "peer": true }, "node_modules/@mapbox/jsonlint-lines-primitives": { @@ -886,6 +836,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/@mapbox/mapbox-gl-supported/-/mapbox-gl-supported-1.5.0.tgz", "integrity": "sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg==", + "license": "BSD-3-Clause", "peer": true, "peerDependencies": { "mapbox-gl": ">=0.32.1 <2.0.0" @@ -895,24 +846,28 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/@mapbox/point-geometry/-/point-geometry-0.1.0.tgz", "integrity": "sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==", + "license": "ISC", "peer": true }, "node_modules/@mapbox/tiny-sdf": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-1.2.5.tgz", "integrity": "sha512-cD8A/zJlm6fdJOk6DqPUV8mcpyJkRz2x2R+/fYcWDYG3oWbG7/L7Yl/WqQ1VZCjnL9OTIMAn6c+BC5Eru4sQEw==", + "license": "BSD-2-Clause", "peer": true }, "node_modules/@mapbox/unitbezier": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.0.tgz", "integrity": "sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==", + "license": "BSD-2-Clause", "peer": true }, "node_modules/@mapbox/vector-tile": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/@mapbox/vector-tile/-/vector-tile-1.3.1.tgz", "integrity": "sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==", + "license": "BSD-3-Clause", "peer": true, "dependencies": { "@mapbox/point-geometry": "~0.1.0" @@ -922,16 +877,53 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/@mapbox/whoots-js/-/whoots-js-3.1.0.tgz", "integrity": "sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==", + "license": "ISC", "peer": true, "engines": { "node": ">=6.0.0" } }, + "node_modules/@maplibre/maplibre-gl-style-spec": { + "version": "20.4.0", + "resolved": "https://registry.npmjs.org/@maplibre/maplibre-gl-style-spec/-/maplibre-gl-style-spec-20.4.0.tgz", + "integrity": "sha512-AzBy3095fTFPjDjmWpR2w6HVRAZJ6hQZUCwk5Plz6EyfnfuQW1odeW5i2Ai47Y6TBA2hQnC+azscjBSALpaWgw==", + "license": "ISC", + "peer": true, + "dependencies": { + "@mapbox/jsonlint-lines-primitives": "~2.0.2", + "@mapbox/unitbezier": "^0.0.1", + "json-stringify-pretty-compact": "^4.0.0", + "minimist": "^1.2.8", + "quickselect": "^2.0.0", + "rw": "^1.3.3", + "tinyqueue": "^3.0.0" + }, + "bin": { + "gl-style-format": "dist/gl-style-format.mjs", + "gl-style-migrate": "dist/gl-style-migrate.mjs", + "gl-style-validate": "dist/gl-style-validate.mjs" + } + }, + "node_modules/@maplibre/maplibre-gl-style-spec/node_modules/@mapbox/unitbezier": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", + "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==", + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/@maplibre/maplibre-gl-style-spec/node_modules/tinyqueue": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz", + "integrity": "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==", + "license": "ISC", + "peer": true + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -945,6 +937,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -954,6 +947,7 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -967,21 +961,24 @@ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, + "license": "MIT", "optional": true, "engines": { "node": ">=14" } }, "node_modules/@plotly/d3": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.1.tgz", - "integrity": "sha512-x49ThEu1FRA00kTso4Jdfyf2byaCPLBGmLjAYQz5OzaPyLUhHesX3/Nfv2OHEhynhdy2UB39DLXq6thYe2L2kg==", + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.2.tgz", + "integrity": "sha512-wvsNmh1GYjyJfyEBPKJLTMzgf2c2bEbSIL50lmqVUi+o1NHaLPi1Lb4v7VxXXJn043BhNyrxUrWI85Q+zmjOVA==", + "license": "BSD-3-Clause", "peer": true }, "node_modules/@plotly/d3-sankey": { "version": "0.7.2", "resolved": "https://registry.npmjs.org/@plotly/d3-sankey/-/d3-sankey-0.7.2.tgz", "integrity": "sha512-2jdVos1N3mMp3QW0k2q1ph7Gd6j5PY1YihBrwpkFnKqO+cqtZq3AdEYUeSGXMeLsBDQYiqTVcihYfk8vr5tqhw==", + "license": "BSD-3-Clause", "peer": true, "dependencies": { "d3-array": "1", @@ -993,6 +990,7 @@ "version": "0.33.1", "resolved": "https://registry.npmjs.org/@plotly/d3-sankey-circular/-/d3-sankey-circular-0.33.1.tgz", "integrity": "sha512-FgBV1HEvCr3DV7RHhDsPXyryknucxtfnLwPtCKKxdolKyTFYoLX/ibEfX39iFYIL7DYbVeRtP43dbFcrHNE+KQ==", + "license": "MIT", "peer": true, "dependencies": { "d3-array": "^1.2.1", @@ -1005,6 +1003,7 @@ "version": "1.13.4", "resolved": "https://registry.npmjs.org/@plotly/mapbox-gl/-/mapbox-gl-1.13.4.tgz", "integrity": "sha512-sR3/Pe5LqT/fhYgp4rT4aSFf1rTsxMbGiH6Hojc7PH36ny5Bn17iVFUjpzycafETURuFbLZUfjODO8LvSI+5zQ==", + "license": "SEE LICENSE IN LICENSE.txt", "peer": true, "dependencies": { "@mapbox/geojson-rewind": "^0.5.2", @@ -1038,6 +1037,7 @@ "version": "3.1.9", "resolved": "https://registry.npmjs.org/@plotly/point-cluster/-/point-cluster-3.1.9.tgz", "integrity": "sha512-MwaI6g9scKf68Orpr1pHZ597pYx9uP8UEFXLPbsCmuw3a84obwz6pnMXGc90VhgDNeNiLEdlmuK7CPo+5PIxXw==", + "license": "MIT", "peer": true, "dependencies": { "array-bounds": "^1.0.1", @@ -1053,23 +1053,19 @@ } }, "node_modules/@radix-ui/primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", - "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", - "dependencies": { - "@babel/runtime": "^7.13.10" - } + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.1.tgz", + "integrity": "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==", + "license": "MIT" }, "node_modules/@radix-ui/react-compose-refs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", - "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz", + "integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==", + "license": "MIT", "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -1078,15 +1074,13 @@ } }, "node_modules/@radix-ui/react-context": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", - "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.1.tgz", + "integrity": "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==", + "license": "MIT", "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -1095,31 +1089,31 @@ } }, "node_modules/@radix-ui/react-dialog": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.5.tgz", - "integrity": "sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.4.tgz", + "integrity": "sha512-Ur7EV1IwQGCyaAuyDRiOLA5JIUZxELJljF+MbM/2NC0BYwfuRrbpS30BiQBJrVruscgUkieKkqXYDOoByaxIoA==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-dismissable-layer": "1.0.5", - "@radix-ui/react-focus-guards": "1.0.1", - "@radix-ui/react-focus-scope": "1.0.4", - "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-portal": "1.0.4", - "@radix-ui/react-presence": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-slot": "1.0.2", - "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.3", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.1", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-portal": "1.1.3", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.1", + "@radix-ui/react-slot": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.1.0", "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.5.5" + "react-remove-scroll": "^2.6.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -1131,22 +1125,22 @@ } }, "node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", - "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.3.tgz", + "integrity": "sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-escape-keydown": "1.0.3" + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-primitive": "2.0.1", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-escape-keydown": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -1158,15 +1152,13 @@ } }, "node_modules/@radix-ui/react-focus-guards": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", - "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.1.tgz", + "integrity": "sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==", + "license": "MIT", "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -1175,20 +1167,20 @@ } }, "node_modules/@radix-ui/react-focus-scope": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz", - "integrity": "sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.1.tgz", + "integrity": "sha512-01omzJAYRxXdG2/he/+xy+c8a8gCydoQ1yOxnWNcRhrrBW5W+RQJ22EK1SaO8tb3WoUsuEw7mJjBozPzihDFjA==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1" + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-primitive": "2.0.1", + "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -1200,16 +1192,16 @@ } }, "node_modules/@radix-ui/react-id": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", - "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz", + "integrity": "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-layout-effect": "1.0.1" + "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -1218,18 +1210,19 @@ } }, "node_modules/@radix-ui/react-portal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", - "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.3.tgz", + "integrity": "sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" + "@radix-ui/react-primitive": "2.0.1", + "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -1241,19 +1234,19 @@ } }, "node_modules/@radix-ui/react-presence": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", - "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.2.tgz", + "integrity": "sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-use-layout-effect": "1.0.1" + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -1265,18 +1258,18 @@ } }, "node_modules/@radix-ui/react-primitive": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", - "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.1.tgz", + "integrity": "sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-slot": "1.0.2" + "@radix-ui/react-slot": "1.1.1" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -1288,16 +1281,16 @@ } }, "node_modules/@radix-ui/react-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", - "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.1.tgz", + "integrity": "sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1" + "@radix-ui/react-compose-refs": "1.1.1" }, "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -1306,15 +1299,13 @@ } }, "node_modules/@radix-ui/react-use-callback-ref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", - "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz", + "integrity": "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==", + "license": "MIT", "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -1323,16 +1314,16 @@ } }, "node_modules/@radix-ui/react-use-controllable-state": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", - "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz", + "integrity": "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.1" + "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -1341,16 +1332,16 @@ } }, "node_modules/@radix-ui/react-use-escape-keydown": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", - "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz", + "integrity": "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.1" + "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -1359,15 +1350,13 @@ } }, "node_modules/@radix-ui/react-use-layout-effect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", - "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz", + "integrity": "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==", + "license": "MIT", "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -1376,9 +1365,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", - "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz", + "integrity": "sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==", "cpu": [ "arm" ], @@ -1389,9 +1378,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", - "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz", + "integrity": "sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==", "cpu": [ "arm64" ], @@ -1402,9 +1391,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", - "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz", + "integrity": "sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==", "cpu": [ "arm64" ], @@ -1415,9 +1404,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", - "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz", + "integrity": "sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==", "cpu": [ "x64" ], @@ -1427,10 +1416,36 @@ "darwin" ] }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz", + "integrity": "sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz", + "integrity": "sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", - "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz", + "integrity": "sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==", "cpu": [ "arm" ], @@ -1441,9 +1456,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", - "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz", + "integrity": "sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==", "cpu": [ "arm" ], @@ -1454,9 +1469,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", - "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz", + "integrity": "sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==", "cpu": [ "arm64" ], @@ -1467,9 +1482,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", - "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz", + "integrity": "sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==", "cpu": [ "arm64" ], @@ -1479,10 +1494,23 @@ "linux" ] }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz", + "integrity": "sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", - "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz", + "integrity": "sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==", "cpu": [ "ppc64" ], @@ -1493,9 +1521,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", - "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz", + "integrity": "sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==", "cpu": [ "riscv64" ], @@ -1506,9 +1534,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", - "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz", + "integrity": "sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==", "cpu": [ "s390x" ], @@ -1519,9 +1547,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", - "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz", + "integrity": "sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==", "cpu": [ "x64" ], @@ -1532,9 +1560,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", - "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz", + "integrity": "sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==", "cpu": [ "x64" ], @@ -1545,9 +1573,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", - "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz", + "integrity": "sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==", "cpu": [ "arm64" ], @@ -1558,9 +1586,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", - "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz", + "integrity": "sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==", "cpu": [ "ia32" ], @@ -1571,9 +1599,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", - "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz", + "integrity": "sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==", "cpu": [ "x64" ], @@ -1584,60 +1612,76 @@ ] }, "node_modules/@turf/area": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/area/-/area-6.5.0.tgz", - "integrity": "sha512-xCZdiuojokLbQ+29qR6qoMD89hv+JAgWjLrwSEWL+3JV8IXKeNFl6XkEJz9HGkVpnXvQKJoRz4/liT+8ZZ5Jyg==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/area/-/area-7.2.0.tgz", + "integrity": "sha512-zuTTdQ4eoTI9nSSjerIy4QwgvxqwJVciQJ8tOPuMHbXJ9N/dNjI7bU8tasjhxas/Cx3NE9NxVHtNpYHL0FSzoA==", + "license": "MIT", "peer": true, "dependencies": { - "@turf/helpers": "^6.5.0", - "@turf/meta": "^6.5.0" + "@turf/helpers": "^7.2.0", + "@turf/meta": "^7.2.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/bbox": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-6.5.0.tgz", - "integrity": "sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-7.2.0.tgz", + "integrity": "sha512-wzHEjCXlYZiDludDbXkpBSmv8Zu6tPGLmJ1sXQ6qDwpLE1Ew3mcWqt8AaxfTP5QwDNQa3sf2vvgTEzNbPQkCiA==", + "license": "MIT", "peer": true, "dependencies": { - "@turf/helpers": "^6.5.0", - "@turf/meta": "^6.5.0" + "@turf/helpers": "^7.2.0", + "@turf/meta": "^7.2.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/centroid": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-6.5.0.tgz", - "integrity": "sha512-MwE1oq5E3isewPprEClbfU5pXljIK/GUOMbn22UM3IFPDJX0KeoyLNwghszkdmFp/qMGL/M13MMWvU+GNLXP/A==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-7.2.0.tgz", + "integrity": "sha512-yJqDSw25T7P48au5KjvYqbDVZ7qVnipziVfZ9aSo7P2/jTE7d4BP21w0/XLi3T/9bry/t9PR1GDDDQljN4KfDw==", + "license": "MIT", "peer": true, "dependencies": { - "@turf/helpers": "^6.5.0", - "@turf/meta": "^6.5.0" + "@turf/helpers": "^7.2.0", + "@turf/meta": "^7.2.0", + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/helpers": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-6.5.0.tgz", - "integrity": "sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.2.0.tgz", + "integrity": "sha512-cXo7bKNZoa7aC7ydLmUR02oB3IgDe7MxiPuRz3cCtYQHn+BJ6h1tihmamYDWWUlPHgSNF0i3ATc4WmDECZafKw==", + "license": "MIT", "peer": true, + "dependencies": { + "@types/geojson": "^7946.0.10", + "tslib": "^2.8.1" + }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/meta": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-6.5.0.tgz", - "integrity": "sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.2.0.tgz", + "integrity": "sha512-igzTdHsQc8TV1RhPuOLVo74Px/hyPrVgVOTgjWQZzt3J9BVseCdpfY/0cJBdlSRI4S/yTmmHl7gAqjhpYH5Yaw==", + "license": "MIT", "peer": true, "dependencies": { - "@turf/helpers": "^6.5.0" + "@turf/helpers": "^7.2.0", + "@types/geojson": "^7946.0.10" }, "funding": { "url": "https://opencollective.com/turf" @@ -1647,66 +1691,146 @@ "version": "2.6.7", "resolved": "https://registry.npmjs.org/@types/dom-to-image/-/dom-to-image-2.6.7.tgz", "integrity": "sha512-me5VbCv+fcXozblWwG13krNBvuEOm6kA5xoa4RrjDJCNFOZSWR3/QLtOXimBHk1Fisq69Gx3JtOoXtg1N1tijg==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/@types/eslint": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", + "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "license": "MIT" + }, + "node_modules/@types/geojson": { + "version": "7946.0.15", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.15.tgz", + "integrity": "sha512-9oSxFzDCT2Rj6DfcHF8G++jxBKS7mBqXl5xrRW+Kbvjry6Uduya2iiwqHPhVXpasAVMBYKkEPGgKhd3+/HZ6xA==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/geojson-vt": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@types/geojson-vt/-/geojson-vt-3.2.5.tgz", + "integrity": "sha512-qDO7wqtprzlpe8FfQ//ClPV9xiuoh2nkIgiouIptON9w5jvD/fA4szvP9GBlDVdJ5dldAl0kX/sy3URbWwLx0g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "license": "MIT", + "peer": true }, "node_modules/@types/lodash": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.1.tgz", - "integrity": "sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q==", - "dev": true + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-jsxagdikDiDBeIRaPYtArcT8my4tN1og7MtMRquFT3XNA6axxyHDRUemqDz/taRDdOUn0GnGHRCuff4q48sW9A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mapbox__point-geometry": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/@types/mapbox__point-geometry/-/mapbox__point-geometry-0.1.4.tgz", + "integrity": "sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/mapbox__vector-tile": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mapbox__vector-tile/-/mapbox__vector-tile-1.3.4.tgz", + "integrity": "sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/geojson": "*", + "@types/mapbox__point-geometry": "*", + "@types/pbf": "*" + } }, "node_modules/@types/node": { - "version": "18.19.33", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.33.tgz", - "integrity": "sha512-NR9+KrpSajr2qBVp/Yt5TU/rp+b5Mayi3+OlMlcg2cVCfRmcG5PWZ7S4+MG9PZ5gWBoc9Pd0BKSRViuBCRPu0A==", - "dev": true, + "version": "18.19.71", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.71.tgz", + "integrity": "sha512-evXpcgtZm8FY4jqBSN8+DmOTcVkkvTmAayeo4Wf3m1xAruyVGzGuDh/Fb/WWX2yLItUiho42ozyJjB0dw//Tkw==", + "license": "MIT", "dependencies": { "undici-types": "~5.26.4" } }, + "node_modules/@types/pbf": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/pbf/-/pbf-3.0.5.tgz", + "integrity": "sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA==", + "license": "MIT", + "peer": true + }, "node_modules/@types/plotly.js": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/@types/plotly.js/-/plotly.js-2.29.3.tgz", - "integrity": "sha512-TAwVyX4vUWpcEoNfrZV9b9V5jRfeWZP3Tkv0lJvN6xkf0s0qzMdSdXkRavy5+017ZgSWOGbHyQgyOZJozeDEbA==", - "dev": true + "version": "2.35.2", + "resolved": "https://registry.npmjs.org/@types/plotly.js/-/plotly.js-2.35.2.tgz", + "integrity": "sha512-tn0Kp7F6VWiu96jknCvR/PcdIGIATeIK+Z5WXH3bEvG6CRwUNfhy34yBhfPYmTea7mMQxXvTZKGMm6/Y4wxESg==", + "dev": true, + "license": "MIT" }, "node_modules/@types/plotly.js-dist-min": { "version": "2.3.4", "resolved": "https://registry.npmjs.org/@types/plotly.js-dist-min/-/plotly.js-dist-min-2.3.4.tgz", "integrity": "sha512-ISwLFV6Zs/v3DkaRFLyk2rvYAfVdnYP2VVVy7h+fBDWw52sn7sMUzytkWiN4M75uxr1uz1uiBioePTDpAfoFIg==", "dev": true, + "license": "MIT", "dependencies": { "@types/plotly.js": "*" } }, "node_modules/@types/prop-types": { - "version": "15.7.12", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", - "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", - "devOptional": true + "version": "15.7.14", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.14.tgz", + "integrity": "sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==", + "devOptional": true, + "license": "MIT" }, "node_modules/@types/react": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.1.tgz", - "integrity": "sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==", + "version": "18.3.18", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz", + "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", "devOptional": true, + "license": "MIT", "dependencies": { "@types/prop-types": "*", "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "18.3.0", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", - "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", + "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", "devOptional": true, - "dependencies": { - "@types/react": "*" + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" } }, "node_modules/@types/react-plotly.js": { @@ -1714,22 +1838,35 @@ "resolved": "https://registry.npmjs.org/@types/react-plotly.js/-/react-plotly.js-2.6.3.tgz", "integrity": "sha512-HBQwyGuu/dGXDsWhnQrhH+xcJSsHvjkwfSRjP+YpOsCCWryIuXF78ZCBjpfgO3sCc0Jo8sYp4NOGtqT7Cn3epQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/plotly.js": "*", "@types/react": "*" } }, + "node_modules/@types/supercluster": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/supercluster/-/supercluster-7.1.3.tgz", + "integrity": "sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/geojson": "*" + } + }, "node_modules/@types/wicg-file-system-access": { "version": "2020.9.8", "resolved": "https://registry.npmjs.org/@types/wicg-file-system-access/-/wicg-file-system-access-2020.9.8.tgz", "integrity": "sha512-ggMz8nOygG7d/stpH40WVaNvBwuyYLnrg5Mbyf6bmsj/8+gb6Ei4ZZ9/4PNpcPNTT8th9Q8sM8wYmWGjMWLX/A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@vitejs/plugin-react": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz", "integrity": "sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.20.12", "@babel/plugin-transform-react-jsx-self": "^7.18.6", @@ -1744,16 +1881,193 @@ "vite": "^4.1.0-beta.0" } }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "license": "MIT", + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "license": "Apache-2.0", + "peer": true + }, "node_modules/abs-svg-path": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", "integrity": "sha512-d8XPSGjfyzlXC3Xx891DJRyZfqk5JU0BJrDQcsWomFIV1/BIzPW5HDH5iDdWpqWaav0YVIEzT1RHTwWr0FFshA==", + "license": "MIT", "peer": true }, "node_modules/acorn": { "version": "7.4.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "license": "MIT", "peer": true, "bin": { "acorn": "bin/acorn" @@ -1762,17 +2076,88 @@ "node": ">=0.4.0" } }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT", + "peer": true + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, "node_modules/almost-equal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/almost-equal/-/almost-equal-1.1.0.tgz", "integrity": "sha512-0V/PkoculFl5+0Lp47JoxUcO0xSxhIBvm+BxHdD/OgXNmdRpRHCFnKVuUoWyS9EzQP+otSGv0m9Lb4yVkQBn2A==", + "license": "MIT", "peer": true }, "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -1781,28 +2166,31 @@ } }, "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1815,12 +2203,14 @@ "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/aria-hidden": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", + "license": "MIT", "dependencies": { "tslib": "^2.0.0" }, @@ -1832,12 +2222,14 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-bounds/-/array-bounds-1.0.1.tgz", "integrity": "sha512-8wdW3ZGk6UjMPJx/glyEt0sLzzwAE1bhToPsO1W2pbpR2gULyxe3BjSiuJFheP50T/GgODVPz2fuMUmIywt8cQ==", + "license": "MIT", "peer": true }, "node_modules/array-find-index": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", "integrity": "sha512-M1HQyIXcBGtVywBt8WVdim+lrNaK7VHp99Qt5pSNziXznKHViIBbXWtfRTpEFpF/c4FdfxNAsCCwPp5phBYJtw==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -1847,6 +2239,7 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/array-normalize/-/array-normalize-1.1.4.tgz", "integrity": "sha512-fCp0wKFLjvSPmCn4F5Tiw4M3lpMZoHlCjfcs7nNzuj3vqQQ1/a8cgB9DXcpDSn18c+coLnaW7rqfcYCvKbyJXg==", + "license": "MIT", "peer": true, "dependencies": { "array-bounds": "^1.0.0" @@ -1856,18 +2249,20 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-range/-/array-range-1.0.1.tgz", "integrity": "sha512-shdaI1zT3CVNL2hnx9c0JMc0ZogGaxDs5e85akgHWKYa0yVbIyp06Ind3dVkTj/uuFrzaHBOyqFzo+VV6aXgtA==", + "license": "MIT", "peer": true }, "node_modules/array-rearrange": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/array-rearrange/-/array-rearrange-2.2.2.tgz", "integrity": "sha512-UfobP5N12Qm4Qu4fwLDIi2v6+wZsSf6snYSxAMeKhrh37YGnNWZPRmVEKc/2wfms53TLQnzfpG8wCx2Y/6NG1w==", + "license": "MIT", "peer": true }, "node_modules/autoprefixer": { - "version": "10.4.19", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", - "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "version": "10.4.20", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", + "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", "dev": true, "funding": [ { @@ -1883,12 +2278,13 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "browserslist": "^4.23.0", - "caniuse-lite": "^1.0.30001599", + "browserslist": "^4.23.3", + "caniuse-lite": "^1.0.30001646", "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "postcss-value-parser": "^4.2.0" }, "bin": { @@ -1905,12 +2301,14 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/base64-arraybuffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==", + "license": "MIT", "peer": true, "engines": { "node": ">= 0.6.0" @@ -1921,6 +2319,7 @@ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -1932,24 +2331,28 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/binary-search-bounds/-/binary-search-bounds-2.0.5.tgz", "integrity": "sha512-H0ea4Fd3lS1+sTEB2TgcLoK21lLhwEJzlQv3IN47pJS976Gx4zoWe0ak3q+uYh60ppQxg9F16Ri4tS1sfD4+jA==", + "license": "MIT", "peer": true }, "node_modules/bit-twiddle": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bit-twiddle/-/bit-twiddle-1.0.2.tgz", "integrity": "sha512-B9UhK0DKFZhoTFcfvAzhqsjStvGJp9vYWf3+6SNTtdSQnvIgfkHbgHrg/e4+TH71N2GDu8tpmCVoyfrL1d7ntA==", + "license": "MIT", "peer": true }, "node_modules/bitmap-sdf": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/bitmap-sdf/-/bitmap-sdf-1.0.4.tgz", "integrity": "sha512-1G3U4n5JE6RAiALMxu0p1XmeZkTeCwGKykzsLTCqVzfSDaN6S7fKnkIkfejogz+iwqBWc0UYAIKnKHNN7pSfDg==", + "license": "MIT", "peer": true }, "node_modules/bl": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz", "integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==", + "license": "MIT", "peer": true, "dependencies": { "readable-stream": "^2.3.5", @@ -1961,6 +2364,7 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -1979,10 +2383,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "dev": true, + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "funding": [ { "type": "opencollective", @@ -1997,11 +2400,12 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" }, "bin": { "browserslist": "cli.js" @@ -2014,6 +2418,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT", "peer": true }, "node_modules/camelcase-css": { @@ -2021,15 +2426,15 @@ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001617", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001617.tgz", - "integrity": "sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==", - "dev": true, + "version": "1.0.30001695", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001695.tgz", + "integrity": "sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==", "funding": [ { "type": "opencollective", @@ -2043,36 +2448,25 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ] + ], + "license": "CC-BY-4.0" }, "node_modules/canvas-fit": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/canvas-fit/-/canvas-fit-1.5.0.tgz", "integrity": "sha512-onIcjRpz69/Hx5bB5HGbYKUF2uC6QT6Gp+pfpGm3A7mPfcluSLV5v4Zu+oflDUwLdUw0rLIBhUbi0v8hM4FJQQ==", + "license": "MIT", "peer": true, "dependencies": { "element-size": "^1.1.1" } }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/chokidar": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -2097,6 +2491,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -2104,10 +2499,21 @@ "node": ">= 6" } }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.0" + } + }, "node_modules/clamp": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", "integrity": "sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==", + "license": "MIT", "peer": true }, "node_modules/clsx": { @@ -2115,6 +2521,7 @@ "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -2123,6 +2530,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/color-alpha/-/color-alpha-1.0.4.tgz", "integrity": "sha512-lr8/t5NPozTSqli+duAN+x+no/2WaKTeWvxhHGN+aXT6AJ8vPlzLa7UriyjWak0pSC2jHol9JgjBYnnHsGha9A==", + "license": "MIT", "peer": true, "dependencies": { "color-parse": "^1.3.8" @@ -2132,38 +2540,46 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-1.4.3.tgz", "integrity": "sha512-BADfVl/FHkQkyo8sRBwMYBqemqsgnu7JZAwUgvBvuwwuNUZAhSvLTbsEErS5bQXzOjDR0dWzJ4vXN2Q+QoPx0A==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "^1.0.0" } }, "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "license": "MIT", "dependencies": { - "color-name": "1.1.3" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, "node_modules/color-id": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/color-id/-/color-id-1.1.0.tgz", "integrity": "sha512-2iRtAn6dC/6/G7bBIo0uupVrIne1NsQJvJxZOBCzQOfk7jRq97feaDZ3RdzuHakRXXnHGNwglto3pqtRx1sX0g==", + "license": "MIT", "peer": true, "dependencies": { "clamp": "^1.0.1" } }, "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" }, "node_modules/color-normalize": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/color-normalize/-/color-normalize-1.5.0.tgz", "integrity": "sha512-rUT/HDXMr6RFffrR53oX3HGWkDOP9goSAQGBkUaAYKjOE2JxozccdGyufageWDlInRAjm/jYPrf/Y38oa+7obw==", + "license": "MIT", "peer": true, "dependencies": { "clamp": "^1.0.1", @@ -2175,6 +2591,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-2.0.0.tgz", "integrity": "sha512-g2Z+QnWsdHLppAbrpcFWo629kLOnOPtpxYV69GCqm92gqSgyXbzlfyN3MXs0412fPBkFmiuS+rXposgBgBa6Kg==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "^1.0.0" @@ -2184,6 +2601,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/color-rgba/-/color-rgba-2.1.1.tgz", "integrity": "sha512-VaX97wsqrMwLSOR6H7rU1Doa2zyVdmShabKrPEIFywLlHoibgD3QW9Dw6fSqM4+H/LfjprDNAUUW31qEQcGzNw==", + "license": "MIT", "peer": true, "dependencies": { "clamp": "^1.0.1", @@ -2195,6 +2613,7 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/color-parse/-/color-parse-1.4.3.tgz", "integrity": "sha512-BADfVl/FHkQkyo8sRBwMYBqemqsgnu7JZAwUgvBvuwwuNUZAhSvLTbsEErS5bQXzOjDR0dWzJ4vXN2Q+QoPx0A==", + "license": "MIT", "peer": true, "dependencies": { "color-name": "^1.0.0" @@ -2204,6 +2623,7 @@ "version": "1.16.0", "resolved": "https://registry.npmjs.org/color-space/-/color-space-1.16.0.tgz", "integrity": "sha512-A6WMiFzunQ8KEPFmj02OnnoUnqhmSaHaZ/0LVFcPTdlvm8+3aMJ5x1HRHy3bDHPkovkf4sS0f4wsVvwk71fKkg==", + "license": "MIT", "peer": true, "dependencies": { "hsluv": "^0.0.3", @@ -2214,6 +2634,7 @@ "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT", "peer": true }, "node_modules/concat-stream": { @@ -2223,6 +2644,7 @@ "engines": [ "node >= 0.8" ], + "license": "MIT", "peer": true, "dependencies": { "buffer-from": "^1.0.0", @@ -2235,25 +2657,41 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/core-js": { + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.40.0.tgz", + "integrity": "sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "license": "MIT", "peer": true }, "node_modules/country-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/country-regex/-/country-regex-1.1.0.tgz", "integrity": "sha512-iSPlClZP8vX7MC3/u6s3lrDuoQyhQukh5LyABJ3hvfzbQ3Yyayd4fp04zjLnfi267B/B2FkumcWWgrbban7sSA==", + "license": "MIT", "peer": true }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -2263,10 +2701,34 @@ "node": ">= 8" } }, + "node_modules/cross-spawn/node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/css-font": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/css-font/-/css-font-1.2.0.tgz", "integrity": "sha512-V4U4Wps4dPDACJ4WpgofJ2RT5Yqwe1lEH6wlOOaIxMi0gTjdIijsc5FmxQlZ7ZZyKQkkutqqvULOp07l9c7ssA==", + "license": "MIT", "peer": true, "dependencies": { "css-font-size-keywords": "^1.0.0", @@ -2284,49 +2746,105 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/css-font-size-keywords/-/css-font-size-keywords-1.0.0.tgz", "integrity": "sha512-Q+svMDbMlelgCfH/RVDKtTDaf5021O486ZThQPIpahnIjUkMUslC+WuOQSWTgGSrNCH08Y7tYNEmmy0hkfMI8Q==", + "license": "MIT", "peer": true }, "node_modules/css-font-stretch-keywords": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/css-font-stretch-keywords/-/css-font-stretch-keywords-1.0.1.tgz", "integrity": "sha512-KmugPO2BNqoyp9zmBIUGwt58UQSfyk1X5DbOlkb2pckDXFSAfjsD5wenb88fNrD6fvS+vu90a/tsPpb9vb0SLg==", + "license": "MIT", "peer": true }, "node_modules/css-font-style-keywords": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/css-font-style-keywords/-/css-font-style-keywords-1.0.1.tgz", "integrity": "sha512-0Fn0aTpcDktnR1RzaBYorIxQily85M2KXRpzmxQPgh8pxUN9Fcn00I8u9I3grNr1QXVgCl9T5Imx0ZwKU973Vg==", + "license": "MIT", "peer": true }, "node_modules/css-font-weight-keywords": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/css-font-weight-keywords/-/css-font-weight-keywords-1.0.0.tgz", "integrity": "sha512-5So8/NH+oDD+EzsnF4iaG4ZFHQ3vaViePkL1ZbZ5iC/KrsCY+WHq/lvOgrtmuOQ9pBBZ1ADGpaf+A4lj1Z9eYA==", + "license": "MIT", "peer": true }, "node_modules/css-global-keywords": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/css-global-keywords/-/css-global-keywords-1.0.1.tgz", "integrity": "sha512-X1xgQhkZ9n94WDwntqst5D/FKkmiU0GlJSFZSV3kLvyJ1WC5VeyoXDOuleUD+SIuH9C7W05is++0Woh0CGfKjQ==", + "license": "MIT", "peer": true }, + "node_modules/css-loader": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", + "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", + "license": "MIT", + "peer": true, + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.27.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/css-system-font-keywords": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/css-system-font-keywords/-/css-system-font-keywords-1.0.0.tgz", "integrity": "sha512-1umTtVd/fXS25ftfjB71eASCrYhilmEsvDEI6wG/QplnmlfmVM5HkZ/ZX46DT5K3eblFPgLUHt5BRCb0YXkSFA==", + "license": "MIT", "peer": true }, "node_modules/csscolorparser": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/csscolorparser/-/csscolorparser-1.0.3.tgz", "integrity": "sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==", + "license": "MIT", "peer": true }, "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, + "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -2338,12 +2856,14 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "devOptional": true + "devOptional": true, + "license": "MIT" }, "node_modules/d": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", + "license": "ISC", "peer": true, "dependencies": { "es5-ext": "^0.10.64", @@ -2357,18 +2877,21 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==", + "license": "BSD-3-Clause", "peer": true }, "node_modules/d3-collection": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==", + "license": "BSD-3-Clause", "peer": true }, "node_modules/d3-color": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "license": "ISC", "peer": true, "engines": { "node": ">=12" @@ -2378,12 +2901,14 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==", + "license": "BSD-3-Clause", "peer": true }, "node_modules/d3-force": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-1.2.1.tgz", "integrity": "sha512-HHvehyaiUlVo5CxBJ0yF/xny4xoaxFxDnBXNvNcfW9adORGZfyNF1dj6DGLKyk4Yh3brP/1h3rnDzdIAwL08zg==", + "license": "BSD-3-Clause", "peer": true, "dependencies": { "d3-collection": "1", @@ -2396,12 +2921,14 @@ "version": "1.4.5", "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz", "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==", + "license": "BSD-3-Clause", "peer": true }, "node_modules/d3-geo": { "version": "1.12.1", "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.12.1.tgz", "integrity": "sha512-XG4d1c/UJSEX9NfU02KwBL6BYPj8YKHxgBEw5om2ZnTRSbIcego6dhHwcxuSR3clxh0EpE38os1DVPOmnYtTPg==", + "license": "BSD-3-Clause", "peer": true, "dependencies": { "d3-array": "1" @@ -2411,6 +2938,7 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/d3-geo-projection/-/d3-geo-projection-2.9.0.tgz", "integrity": "sha512-ZULvK/zBn87of5rWAfFMc9mJOipeSo57O+BBitsKIXmU4rTVAnX1kSsJkE0R+TxY8pGNoM1nbyRRE7GYHhdOEQ==", + "license": "BSD-3-Clause", "peer": true, "dependencies": { "commander": "2", @@ -2430,12 +2958,14 @@ "version": "1.1.9", "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz", "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==", + "license": "BSD-3-Clause", "peer": true }, "node_modules/d3-interpolate": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "license": "ISC", "peer": true, "dependencies": { "d3-color": "1 - 3" @@ -2448,18 +2978,21 @@ "version": "1.0.9", "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "license": "BSD-3-Clause", "peer": true }, "node_modules/d3-quadtree": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz", "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA==", + "license": "BSD-3-Clause", "peer": true }, "node_modules/d3-shape": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "license": "BSD-3-Clause", "peer": true, "dependencies": { "d3-path": "1" @@ -2469,12 +3002,14 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz", "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==", + "license": "BSD-3-Clause", "peer": true }, "node_modules/d3-time-format": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.3.0.tgz", "integrity": "sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==", + "license": "BSD-3-Clause", "peer": true, "dependencies": { "d3-time": "1" @@ -2484,15 +3019,17 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==", + "license": "BSD-3-Clause", "peer": true }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -2507,6 +3044,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "license": "MIT", "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2516,34 +3054,40 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-kerning/-/detect-kerning-2.1.2.tgz", "integrity": "sha512-I3JIbrnKPAntNLl1I6TpSQQdQ4AutYzv/sKMFKbepawV/hlH0GmYKhUoOEMd4xqaUHT+Bm0f4127lh5qs1m1tw==", + "license": "MIT", "peer": true }, "node_modules/detect-node-es": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", - "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/dom-to-image": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/dom-to-image/-/dom-to-image-2.6.0.tgz", - "integrity": "sha512-Dt0QdaHmLpjURjU7Tnu3AgYSF2LuOmksSGsUcE6ItvJoCWTBEmiMXcqBdNSAm9+QbbwD7JMoVsuuKX6ZVQv1qA==" + "integrity": "sha512-Dt0QdaHmLpjURjU7Tnu3AgYSF2LuOmksSGsUcE6ItvJoCWTBEmiMXcqBdNSAm9+QbbwD7JMoVsuuKX6ZVQv1qA==", + "license": "MIT" }, "node_modules/draw-svg-path": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/draw-svg-path/-/draw-svg-path-1.0.0.tgz", "integrity": "sha512-P8j3IHxcgRMcY6sDzr0QvJDLzBnJJqpTG33UZ2Pvp8rw0apCHhJCWqYprqrXjrgHnJ6tuhP1iTJSAodPDHxwkg==", + "license": "MIT", "peer": true, "dependencies": { "abs-svg-path": "~0.1.1", @@ -2554,6 +3098,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/dtype/-/dtype-2.0.0.tgz", "integrity": "sha512-s2YVcLKdFGS0hpFqJaTwscsyt0E8nNFdmo73Ocd81xNPj4URI4rj6D60A+vFMIw7BXWlb4yRkEwfBqcZzPGiZg==", + "license": "MIT", "peer": true, "engines": { "node": ">= 0.8.0" @@ -2563,12 +3108,14 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/dup/-/dup-1.0.0.tgz", "integrity": "sha512-Bz5jxMMC0wgp23Zm15ip1x8IhYRqJvF3nFC0UInJUDkN1z4uNPk9jTnfCUJXbOGiQ1JbXLQsiV41Fb+HXcj5BA==", + "license": "MIT", "peer": true }, "node_modules/duplexify": { "version": "3.7.1", "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "license": "MIT", "peer": true, "dependencies": { "end-of-stream": "^1.0.0", @@ -2581,30 +3128,34 @@ "version": "2.2.4", "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==", + "license": "ISC", "peer": true }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.4.762", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.762.tgz", - "integrity": "sha512-rrFvGweLxPwwSwJOjIopy3Vr+J3cIPtZzuc74bmlvmBIgQO3VYJDvVrlj94iKZ3ukXUH64Ex31hSfRTLqvjYJQ==", - "dev": true + "version": "1.5.84", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.84.tgz", + "integrity": "sha512-I+DQ8xgafao9Ha6y0qjHHvpZ9OfyA1qKlkHkjywxzniORU2awxyz7f/iVJcULmrF2yrM3nHQf+iDjJtbbexd/g==", + "license": "ISC" }, "node_modules/element-size": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/element-size/-/element-size-1.1.1.tgz", "integrity": "sha512-eaN+GMOq/Q+BIWy0ybsgpcYImjGIdNLyjLFJU4XsLHXYQao5jCNb36GyN6C2qwmDDYSfIBmKpPpr4VnBdLCsPQ==", + "license": "MIT", "peer": true }, "node_modules/elementary-circuits-directed-graph": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/elementary-circuits-directed-graph/-/elementary-circuits-directed-graph-1.3.1.tgz", "integrity": "sha512-ZEiB5qkn2adYmpXGnJKkxT8uJHlW/mxmBpmeqawEHzPxh9HkLD4/1mFYX5l0On+f6rcPIt8/EWlRU2Vo3fX6dQ==", + "license": "MIT", "peer": true, "dependencies": { "strongly-connected-components": "^1.0.1" @@ -2614,22 +3165,46 @@ "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/end-of-stream": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "license": "MIT", "peer": true, "dependencies": { "once": "^1.4.0" } }, + "node_modules/enhanced-resolve": { + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.0.tgz", + "integrity": "sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-module-lexer": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", + "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", + "license": "MIT", + "peer": true + }, "node_modules/es5-ext": { "version": "0.10.64", "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", "hasInstallScript": true, + "license": "ISC", "peer": true, "dependencies": { "es6-iterator": "^2.0.3", @@ -2645,6 +3220,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "license": "MIT", "peer": true, "dependencies": { "d": "1", @@ -2656,6 +3232,7 @@ "version": "3.1.4", "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", + "license": "ISC", "peer": true, "dependencies": { "d": "^1.0.2", @@ -2669,6 +3246,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "license": "ISC", "peer": true, "dependencies": { "d": "1", @@ -2716,27 +3294,19 @@ } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/escodegen": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "license": "BSD-2-Clause", "peer": true, "dependencies": { "esprima": "^4.0.1", @@ -2754,10 +3324,35 @@ "source-map": "~0.6.1" } }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/esniff": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", + "license": "ISC", "peer": true, "dependencies": { "d": "^1.0.1", @@ -2773,6 +3368,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", "peer": true, "bin": { "esparse": "bin/esparse.js", @@ -2782,10 +3378,24 @@ "node": ">=4" } }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "license": "BSD-2-Clause", "peer": true, "engines": { "node": ">=4.0" @@ -2795,6 +3405,7 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "license": "BSD-2-Clause", "peer": true, "engines": { "node": ">=0.10.0" @@ -2804,6 +3415,7 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "license": "MIT", "peer": true, "dependencies": { "d": "1", @@ -2814,6 +3426,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.8.x" @@ -2823,6 +3436,7 @@ "version": "1.7.0", "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "license": "ISC", "peer": true, "dependencies": { "type": "^2.7.2" @@ -2832,6 +3446,7 @@ "version": "2.2.5", "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.5.tgz", "integrity": "sha512-HuC1qF9iTnHDnML9YZAdCDQwT0yKl/U55K4XSUXqGAA2GLoafFgWRqdAbhWJxXaYD4pyoVxAJ8wH670jMpI9DQ==", + "license": "MIT", "peer": true, "dependencies": { "acorn": "^7.1.1", @@ -2841,17 +3456,25 @@ "node": ">=0.4.0" } }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT", + "peer": true + }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -2862,6 +3485,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -2873,16 +3497,42 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/fast-isnumeric/-/fast-isnumeric-1.1.4.tgz", "integrity": "sha512-1mM8qOr2LYz8zGaUdmiqRDiuue00Dxjgcb1NQR7TnhLVh6sQyngP9xvLo7Sl7LZpP/sk5eb+bcyWXw530NTBZw==", + "license": "MIT", "peer": true, "dependencies": { "is-string-blank": "^1.0.1" } }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT", + "peer": true + }, + "node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause", + "peer": true + }, "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", + "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", "dev": true, + "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -2891,7 +3541,8 @@ "version": "0.4.8", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", "integrity": "sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fill-range": { "version": "7.1.1", @@ -2910,6 +3561,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/flatten-vertex-data/-/flatten-vertex-data-1.0.2.tgz", "integrity": "sha512-BvCBFK2NZqerFTdMDgqfHBwxYWnxeCkwONsw6PvBMcUXqo8U/KDWwmXhqx1x2kLIg7DqIsJfOaJFOmlua3Lxuw==", + "license": "MIT", "peer": true, "dependencies": { "dtype": "^2.0.0" @@ -2919,6 +3571,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/font-atlas/-/font-atlas-2.1.0.tgz", "integrity": "sha512-kP3AmvX+HJpW4w3d+PiPR2X6E1yvsBXt2yhuCw+yReO9F1WYhvZwx3c95DGZGwg9xYzDGrgJYa885xmVA+28Cg==", + "license": "MIT", "peer": true, "dependencies": { "css-font": "^1.0.0" @@ -2928,16 +3581,18 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/font-measure/-/font-measure-1.2.2.tgz", "integrity": "sha512-mRLEpdrWzKe9hbfaF3Qpr06TAjquuBVP5cHy4b3hyeNdjc9i0PO6HniGsX5vjL5OWv7+Bd++NiooNpT/s8BvIA==", + "license": "MIT", "peer": true, "dependencies": { "css-font": "^1.2.0" } }, "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", "dev": true, + "license": "ISC", "dependencies": { "cross-spawn": "^7.0.0", "signal-exit": "^4.0.1" @@ -2954,6 +3609,7 @@ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", "dev": true, + "license": "MIT", "engines": { "node": "*" }, @@ -2966,6 +3622,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", + "license": "MIT", "peer": true, "dependencies": { "inherits": "^2.0.1", @@ -2977,6 +3634,7 @@ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -2989,6 +3647,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -2998,6 +3657,7 @@ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -3006,18 +3666,21 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-3.2.1.tgz", "integrity": "sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==", + "license": "ISC", "peer": true }, "node_modules/get-canvas-context": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-canvas-context/-/get-canvas-context-1.0.2.tgz", "integrity": "sha512-LnpfLf/TNzr9zVOGiIY6aKCz8EKuXmlYNV7CM2pUjBa/B+c2I15tS7KLySep75+FuerJdmArvJLcsAXWEy2H0A==", + "license": "MIT", "peer": true }, "node_modules/get-nonce": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "license": "MIT", "engines": { "node": ">=6" } @@ -3026,6 +3689,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", "peer": true, "engines": { "node": ">=10" @@ -3038,18 +3702,21 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/gl-mat4/-/gl-mat4-1.2.0.tgz", "integrity": "sha512-sT5C0pwB1/e9G9AvAoLsoaJtbMGjfd/jfxo8jMCKqYYEnjZuFvqV5rehqar0538EmssjdDeiEWnKyBSTw7quoA==", + "license": "Zlib", "peer": true }, "node_modules/gl-matrix": { "version": "3.4.3", "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==", + "license": "MIT", "peer": true }, "node_modules/gl-text": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/gl-text/-/gl-text-1.4.0.tgz", "integrity": "sha512-o47+XBqLCj1efmuNyCHt7/UEJmB9l66ql7pnobD6p+sgmBUdzfMZXIF0zD2+KRfpd99DJN+QXdvTFAGCKCVSmQ==", + "license": "MIT", "peer": true, "dependencies": { "bit-twiddle": "^1.0.2", @@ -3075,6 +3742,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/gl-util/-/gl-util-3.1.3.tgz", "integrity": "sha512-dvRTggw5MSkJnCbh74jZzSoTOGnVYK+Bt+Ckqm39CVcl6+zSsxqWk4lr5NKhkqXHL6qvZAU9h17ZF8mIskY9mA==", + "license": "MIT", "peer": true, "dependencies": { "is-browser": "^2.0.1", @@ -3087,23 +3755,22 @@ } }, "node_modules/glob": { - "version": "10.3.14", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.14.tgz", - "integrity": "sha512-4fkAqu93xe9Mk7le9v0y3VrPDqLKHarNi2s4Pv7f2yOvfhWfhc7hRPHC/JyqMqb8B/Dt/eGS4n7ykwf3fOsl8g==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, + "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.6", - "minimatch": "^9.0.1", - "minipass": "^7.0.4", - "path-scurry": "^1.11.0" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -3113,6 +3780,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -3120,11 +3788,34 @@ "node": ">=10.13.0" } }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/global-prefix": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-4.0.0.tgz", + "integrity": "sha512-w0Uf9Y9/nyHinEk5vMJKRie+wa4kR5hmDbEhGGds/kG1PwGLLHKRoNMeJOyCQjjBkANlnScqgzcFwGHgmgLkVA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ini": "^4.1.3", + "kind-of": "^6.0.3", + "which": "^4.0.0" + }, + "engines": { + "node": ">=16" + } + }, "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -3133,6 +3824,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/glsl-inject-defines/-/glsl-inject-defines-1.0.3.tgz", "integrity": "sha512-W49jIhuDtF6w+7wCMcClk27a2hq8znvHtlGnrYkSWEr8tHe9eA2dcnohlcAmxLYBSpSSdzOkRdyPTrx9fw49+A==", + "license": "MIT", "peer": true, "dependencies": { "glsl-token-inject-block": "^1.0.0", @@ -3144,6 +3836,7 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/glsl-resolve/-/glsl-resolve-0.0.1.tgz", "integrity": "sha512-xxFNsfnhZTK9NBhzJjSBGX6IOqYpvBHxxmo+4vapiljyGNCY0Bekzn0firQkQrazK59c1hYxMDxYS8MDlhw4gA==", + "license": "MIT", "peer": true, "dependencies": { "resolve": "^0.6.1", @@ -3154,6 +3847,7 @@ "version": "0.6.3", "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", "integrity": "sha512-UHBY3viPlJKf85YijDUcikKX6tmF4SokIDp518ZDVT92JNDcG5uKIthaT/owt3Sar0lwtOafsQuwrg22/v2Dwg==", + "license": "MIT", "peer": true }, "node_modules/glsl-resolve/node_modules/xtend": { @@ -3169,12 +3863,14 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/glsl-token-assignments/-/glsl-token-assignments-2.0.2.tgz", "integrity": "sha512-OwXrxixCyHzzA0U2g4btSNAyB2Dx8XrztY5aVUCjRSh4/D0WoJn8Qdps7Xub3sz6zE73W3szLrmWtQ7QMpeHEQ==", + "license": "MIT", "peer": true }, "node_modules/glsl-token-defines": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/glsl-token-defines/-/glsl-token-defines-1.0.0.tgz", "integrity": "sha512-Vb5QMVeLjmOwvvOJuPNg3vnRlffscq2/qvIuTpMzuO/7s5kT+63iL6Dfo2FYLWbzuiycWpbC0/KV0biqFwHxaQ==", + "license": "MIT", "peer": true, "dependencies": { "glsl-tokenizer": "^2.0.0" @@ -3184,12 +3880,14 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/glsl-token-depth/-/glsl-token-depth-1.1.2.tgz", "integrity": "sha512-eQnIBLc7vFf8axF9aoi/xW37LSWd2hCQr/3sZui8aBJnksq9C7zMeUYHVJWMhFzXrBU7fgIqni4EhXVW4/krpg==", + "license": "MIT", "peer": true }, "node_modules/glsl-token-descope": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/glsl-token-descope/-/glsl-token-descope-1.0.2.tgz", "integrity": "sha512-kS2PTWkvi/YOeicVjXGgX5j7+8N7e56srNDEHDTVZ1dcESmbmpmgrnpjPcjxJjMxh56mSXYoFdZqb90gXkGjQw==", + "license": "MIT", "peer": true, "dependencies": { "glsl-token-assignments": "^2.0.0", @@ -3202,36 +3900,42 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/glsl-token-inject-block/-/glsl-token-inject-block-1.1.0.tgz", "integrity": "sha512-q/m+ukdUBuHCOtLhSr0uFb/qYQr4/oKrPSdIK2C4TD+qLaJvqM9wfXIF/OOBjuSA3pUoYHurVRNao6LTVVUPWA==", + "license": "MIT", "peer": true }, "node_modules/glsl-token-properties": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/glsl-token-properties/-/glsl-token-properties-1.0.1.tgz", "integrity": "sha512-dSeW1cOIzbuUoYH0y+nxzwK9S9O3wsjttkq5ij9ZGw0OS41BirKJzzH48VLm8qLg+au6b0sINxGC0IrGwtQUcA==", + "license": "MIT", "peer": true }, "node_modules/glsl-token-scope": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/glsl-token-scope/-/glsl-token-scope-1.1.2.tgz", "integrity": "sha512-YKyOMk1B/tz9BwYUdfDoHvMIYTGtVv2vbDSLh94PT4+f87z21FVdou1KNKgF+nECBTo0fJ20dpm0B1vZB1Q03A==", + "license": "MIT", "peer": true }, "node_modules/glsl-token-string": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/glsl-token-string/-/glsl-token-string-1.0.1.tgz", "integrity": "sha512-1mtQ47Uxd47wrovl+T6RshKGkRRCYWhnELmkEcUAPALWGTFe2XZpH3r45XAwL2B6v+l0KNsCnoaZCSnhzKEksg==", + "license": "MIT", "peer": true }, "node_modules/glsl-token-whitespace-trim": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/glsl-token-whitespace-trim/-/glsl-token-whitespace-trim-1.0.0.tgz", "integrity": "sha512-ZJtsPut/aDaUdLUNtmBYhaCmhIjpKNg7IgZSfX5wFReMc2vnj8zok+gB/3Quqs0TsBSX/fGnqUUYZDqyuc2xLQ==", + "license": "MIT", "peer": true }, "node_modules/glsl-tokenizer": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/glsl-tokenizer/-/glsl-tokenizer-2.1.5.tgz", "integrity": "sha512-XSZEJ/i4dmz3Pmbnpsy3cKh7cotvFlBiZnDOwnj/05EwNp2XrhQ4XKJxT7/pDt4kp4YcpRSKz8eTV7S+mwV6MA==", + "license": "MIT", "peer": true, "dependencies": { "through2": "^0.6.3" @@ -3241,12 +3945,14 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT", "peer": true }, "node_modules/glsl-tokenizer/node_modules/readable-stream": { "version": "1.0.34", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "license": "MIT", "peer": true, "dependencies": { "core-util-is": "~1.0.0", @@ -3259,12 +3965,14 @@ "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "license": "MIT", "peer": true }, "node_modules/glsl-tokenizer/node_modules/through2": { "version": "0.6.5", "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", "integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==", + "license": "MIT", "peer": true, "dependencies": { "readable-stream": ">=1.0.33-1 <1.1.0-0", @@ -3275,6 +3983,7 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/glslify/-/glslify-7.1.1.tgz", "integrity": "sha512-bud98CJ6kGZcP9Yxcsi7Iz647wuDz3oN+IZsjCRi5X1PI7t/xPKeL0mOwXJjo+CRZMqvq0CkSJiywCcY7kVYog==", + "license": "MIT", "peer": true, "dependencies": { "bl": "^2.2.1", @@ -3301,6 +4010,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/glslify-bundle/-/glslify-bundle-5.1.1.tgz", "integrity": "sha512-plaAOQPv62M1r3OsWf2UbjN0hUYAB7Aph5bfH58VxJZJhloRNbxOL9tl/7H71K7OLJoSJ2ZqWOKk3ttQ6wy24A==", + "license": "MIT", "peer": true, "dependencies": { "glsl-inject-defines": "^1.0.1", @@ -3319,6 +4029,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/glslify-deps/-/glslify-deps-1.3.2.tgz", "integrity": "sha512-7S7IkHWygJRjcawveXQjRXLO2FTjijPDYC7QfZyAQanY+yGLCFHYnPtsGT9bdyHiwPTw/5a1m1M9hamT2aBpag==", + "license": "ISC", "peer": true, "dependencies": { "@choojs/findup": "^0.2.0", @@ -3335,27 +4046,31 @@ "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC", "peer": true }, "node_modules/grid-index": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/grid-index/-/grid-index-1.1.0.tgz", "integrity": "sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==", + "license": "ISC", "peer": true }, "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/has-hover": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-hover/-/has-hover-1.0.1.tgz", "integrity": "sha512-0G6w7LnlcpyDzpeGUTuT0CEw05+QlMuGVk1IHNAlHrGJITGodjZu3x8BNDUMfKJSZXNB2ZAclqc1bvrd+uUpfg==", + "license": "MIT", "peer": true, "dependencies": { "is-browser": "^2.0.1" @@ -3365,6 +4080,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/has-passive-events/-/has-passive-events-1.0.0.tgz", "integrity": "sha512-2vSj6IeIsgvsRMyeQ0JaCX5Q3lX4zMn5HpoVc7MEhQ6pv8Iq9rsXjsp+E5ZwaT7T0xhMT0KmU8gtt1EFVdbJiw==", + "license": "MIT", "peer": true, "dependencies": { "is-browser": "^2.0.1" @@ -3374,6 +4090,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -3385,12 +4102,14 @@ "version": "0.0.3", "resolved": "https://registry.npmjs.org/hsluv/-/hsluv-0.0.3.tgz", "integrity": "sha512-08iL2VyCRbkQKBySkSh6m8zMUa3sADAxGVWs3Z1aPcUkTJeK0ETG4Fc27tEmQBGUAXZjIsXOZqBvacuVNSC/fQ==", + "license": "MIT", "peer": true }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "peer": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3" @@ -3399,6 +4118,19 @@ "node": ">=0.10.0" } }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "license": "ISC", + "peer": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -3417,20 +4149,24 @@ "url": "https://feross.org/support" } ], + "license": "BSD-3-Clause", "peer": true }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC", "peer": true }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dependencies": { - "loose-envify": "^1.0.0" + "node_modules/ini": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.3.tgz", + "integrity": "sha512-X7rqawQBvfdjS10YU1y1YVreA3SsLrW9dX2CewP2EbBJM4ypVNLDkO5y04gejPwKIY9lR+7r9gn3rFPt/kmWFg==", + "license": "ISC", + "peer": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/is-binary-path": { @@ -3438,6 +4174,7 @@ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" }, @@ -3449,14 +4186,19 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-browser/-/is-browser-2.1.0.tgz", "integrity": "sha512-F5rTJxDQ2sW81fcfOR1GnCXT6sVJC104fCyfj+mjpwNEwaPYSn5fte5jiHmBg3DHsIoL/l8Kvw5VN5SsTRcRFQ==", + "license": "MIT", "peer": true }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3467,6 +4209,7 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3475,6 +4218,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -3487,6 +4231,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/is-firefox/-/is-firefox-1.0.3.tgz", "integrity": "sha512-6Q9ITjvWIm0Xdqv+5U12wgOKEM2KoBw4Y926m0OFkvlCxnbG94HKAsVz8w3fWcfAS5YA2fJORXX1dLrkprCCxA==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -3497,6 +4242,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3506,6 +4252,7 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, + "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -3517,6 +4264,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-iexplorer/-/is-iexplorer-1.0.0.tgz", "integrity": "sha512-YeLzceuwg3K6O0MLM3UyUUjKAlyULetwryFp1mHy1I5PfArK0AEqlfa+MR4gkJjcbuJXoDJCvXbyqZVf5CR2Sg==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -3526,6 +4274,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-4.0.0.tgz", "integrity": "sha512-mlcHZA84t1qLSuWkt2v0I2l61PYdyQDt4aG1mLIXF5FDMm4+haBCxCPYSr/uwqQNRk1MiTizn0ypEuRAOLRAew==", + "license": "MIT", "peer": true }, "node_modules/is-number": { @@ -3542,6 +4291,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -3551,6 +4301,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" @@ -3560,37 +4311,42 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-string-blank/-/is-string-blank-1.0.1.tgz", "integrity": "sha512-9H+ZBCVs3L9OYqv8nuUAzpcT9OTgMD1yAWrG7ihlnibdkbtB850heAmYWxHuXc4CHy4lKeK69tN+ny1K7gBIrw==", + "license": "MIT", "peer": true }, "node_modules/is-svg-path": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-svg-path/-/is-svg-path-1.0.2.tgz", "integrity": "sha512-Lj4vePmqpPR1ZnRctHv8ltSh1OrSxHkhUkd7wi+VQdcdP15/KvQFyk7LhNuM7ZW0EVbJz8kZLVmL9quLrfq4Kg==", + "license": "MIT", "peer": true }, "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT", "peer": true }, "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=16" + } }, "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -3598,11 +4354,27 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", "dev": true, + "license": "MIT", "bin": { "jiti": "bin/jiti.js" } @@ -3610,25 +4382,49 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" }, "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, + "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, "engines": { - "node": ">=4" + "node": ">=6" } }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT", + "peer": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT", + "peer": true + }, + "node_modules/json-stringify-pretty-compact": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-stringify-pretty-compact/-/json-stringify-pretty-compact-4.0.0.tgz", + "integrity": "sha512-3CNZ2DnrpByG9Nqj6Xo8vqbjT4F6N+tb4Gb28ESAZjYZ5yqvmc56J+/kuIwkaAMOyblTQhUW7PxMkUb8Q36N3Q==", + "license": "MIT", + "peer": true + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -3637,41 +4433,70 @@ } }, "node_modules/kdbush": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", - "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-4.0.2.tgz", + "integrity": "sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==", + "license": "ISC", "peer": true }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=10" + "node": ">=0.10.0" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.11.5" + } }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "license": "MIT", "peer": true }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -3684,6 +4509,7 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, + "license": "ISC", "dependencies": { "yallist": "^3.0.2" } @@ -3693,6 +4519,7 @@ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.13" }, @@ -3704,6 +4531,7 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/map-limit/-/map-limit-0.0.1.tgz", "integrity": "sha512-pJpcfLPnIF/Sk3taPW21G/RQsEEirGaFpCW3oXRwH9dnFHPHNGjNyvh++rdmC2fNqEaTw2MhYJraoJWAHx8kEg==", + "license": "MIT", "peer": true, "dependencies": { "once": "~1.3.0" @@ -3713,6 +4541,7 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", "integrity": "sha512-6vaNInhu+CHxtONf3zw3vq4SP2DOQhjBvIa3rNcG0+P7eKWlYH6Peu7rHizSloRU2EwMz6GraLieis9Ac9+p1w==", + "license": "ISC", "peer": true, "dependencies": { "wrappy": "1" @@ -3722,6 +4551,7 @@ "version": "1.13.3", "resolved": "https://registry.npmjs.org/mapbox-gl/-/mapbox-gl-1.13.3.tgz", "integrity": "sha512-p8lJFEiqmEQlyv+DQxFAOG/XPWN0Wp7j/Psq93Zywz7qt9CcUKFYDBOoOEKzqe6gudHVJY8/Bhqw6VDpX2lSBg==", + "license": "SEE LICENSE IN LICENSE.txt", "peer": true, "dependencies": { "@mapbox/geojson-rewind": "^0.5.2", @@ -3751,20 +4581,130 @@ "node": ">=6.4.0" } }, + "node_modules/maplibre-gl": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-4.7.1.tgz", + "integrity": "sha512-lgL7XpIwsgICiL82ITplfS7IGwrB1OJIw/pCvprDp2dhmSSEBgmPzYRvwYYYvJGJD7fxUv1Tvpih4nZ6VrLuaA==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "@mapbox/geojson-rewind": "^0.5.2", + "@mapbox/jsonlint-lines-primitives": "^2.0.2", + "@mapbox/point-geometry": "^0.1.0", + "@mapbox/tiny-sdf": "^2.0.6", + "@mapbox/unitbezier": "^0.0.1", + "@mapbox/vector-tile": "^1.3.1", + "@mapbox/whoots-js": "^3.1.0", + "@maplibre/maplibre-gl-style-spec": "^20.3.1", + "@types/geojson": "^7946.0.14", + "@types/geojson-vt": "3.2.5", + "@types/mapbox__point-geometry": "^0.1.4", + "@types/mapbox__vector-tile": "^1.3.4", + "@types/pbf": "^3.0.5", + "@types/supercluster": "^7.1.3", + "earcut": "^3.0.0", + "geojson-vt": "^4.0.2", + "gl-matrix": "^3.4.3", + "global-prefix": "^4.0.0", + "kdbush": "^4.0.2", + "murmurhash-js": "^1.0.0", + "pbf": "^3.3.0", + "potpack": "^2.0.0", + "quickselect": "^3.0.0", + "supercluster": "^8.0.1", + "tinyqueue": "^3.0.0", + "vt-pbf": "^3.1.3" + }, + "engines": { + "node": ">=16.14.0", + "npm": ">=8.1.0" + }, + "funding": { + "url": "https://github.com/maplibre/maplibre-gl-js?sponsor=1" + } + }, + "node_modules/maplibre-gl/node_modules/@mapbox/tiny-sdf": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@mapbox/tiny-sdf/-/tiny-sdf-2.0.6.tgz", + "integrity": "sha512-qMqa27TLw+ZQz5Jk+RcwZGH7BQf5G/TrutJhspsca/3SHwmgKQ1iq+d3Jxz5oysPVYTGP6aXxCo5Lk9Er6YBAA==", + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/maplibre-gl/node_modules/@mapbox/unitbezier": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@mapbox/unitbezier/-/unitbezier-0.0.1.tgz", + "integrity": "sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==", + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/maplibre-gl/node_modules/earcut": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.1.tgz", + "integrity": "sha512-0l1/0gOjESMeQyYaK5IDiPNvFeu93Z/cO0TjZh9eZ1vyCtZnA7KMZ8rQggpsJHIbGSdrqYq9OhuveadOVHCshw==", + "license": "ISC", + "peer": true + }, + "node_modules/maplibre-gl/node_modules/geojson-vt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/geojson-vt/-/geojson-vt-4.0.2.tgz", + "integrity": "sha512-AV9ROqlNqoZEIJGfm1ncNjEXfkz2hdFlZf0qkVfmkwdKa8vj7H16YUOT81rJw1rdFhyEDlN2Tds91p/glzbl5A==", + "license": "ISC", + "peer": true + }, + "node_modules/maplibre-gl/node_modules/potpack": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/potpack/-/potpack-2.0.0.tgz", + "integrity": "sha512-Q+/tYsFU9r7xoOJ+y/ZTtdVQwTWfzjbiXBDMM/JKUux3+QPP02iUuIoeBQ+Ot6oEDlC+/PGjB/5A3K7KKb7hcw==", + "license": "ISC", + "peer": true + }, + "node_modules/maplibre-gl/node_modules/quickselect": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-3.0.0.tgz", + "integrity": "sha512-XdjUArbK4Bm5fLLvlm5KpTFOiOThgfWWI4axAZDWg4E/0mKdZyI9tNEfds27qCi1ze/vwTR16kvmmGhRra3c2g==", + "license": "ISC", + "peer": true + }, + "node_modules/maplibre-gl/node_modules/supercluster": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-8.0.1.tgz", + "integrity": "sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==", + "license": "ISC", + "peer": true, + "dependencies": { + "kdbush": "^4.0.2" + } + }, + "node_modules/maplibre-gl/node_modules/tinyqueue": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-3.0.0.tgz", + "integrity": "sha512-gRa9gwYU3ECmQYv3lslts5hxuIa90veaEcxDYuu3QGOIAEM2mOZkVHp48ANJuu1CURtRdHKUBY5Lm1tHV+sD4g==", + "license": "ISC", + "peer": true + }, "node_modules/math-log2": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/math-log2/-/math-log2-1.0.1.tgz", "integrity": "sha512-9W0yGtkaMAkf74XGYVy4Dqw3YUMnTNB2eeiw9aQbUl4A3KmuCEHTt2DgAB07ENzOYAjsYSAYufkAq0Zd+jU7zA==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT", + "peer": true + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -3783,11 +4723,35 @@ "node": ">=8.6" } }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "peer": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/minimatch": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", - "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3802,16 +4766,18 @@ "version": "1.2.8", "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/minipass": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.1.tgz", - "integrity": "sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, + "license": "ISC", "engines": { "node": ">=16 || 14 >=14.17" } @@ -3820,6 +4786,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/mouse-change/-/mouse-change-1.4.0.tgz", "integrity": "sha512-vpN0s+zLL2ykyyUDh+fayu9Xkor5v/zRD9jhSqjRS1cJTGS0+oakVZzNm5n19JvvEj0you+MXlYTpNxUDQUjkQ==", + "license": "MIT", "peer": true, "dependencies": { "mouse-event": "^1.0.0" @@ -3829,18 +4796,21 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/mouse-event/-/mouse-event-1.0.5.tgz", "integrity": "sha512-ItUxtL2IkeSKSp9cyaX2JLUuKk2uMoxBg4bbOWVd29+CskYJR9BGsUqtXenNzKbnDshvupjUewDIYVrOB6NmGw==", + "license": "MIT", "peer": true }, "node_modules/mouse-event-offset": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/mouse-event-offset/-/mouse-event-offset-3.0.2.tgz", "integrity": "sha512-s9sqOs5B1Ykox3Xo8b3Ss2IQju4UwlW6LSR+Q5FXWpprJ5fzMLefIIItr3PH8RwzfGy6gxs/4GAmiNuZScE25w==", + "license": "MIT", "peer": true }, "node_modules/mouse-wheel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mouse-wheel/-/mouse-wheel-1.2.0.tgz", "integrity": "sha512-+OfYBiUOCTWcTECES49neZwL5AoGkXE+lFjIvzwNCnYRlso+EnfvovcBxGoyQ0yQt806eSPjS675K0EwWknXmw==", + "license": "MIT", "peer": true, "dependencies": { "right-now": "^1.0.0", @@ -3849,15 +4819,17 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/mumath": { "version": "3.3.4", "resolved": "https://registry.npmjs.org/mumath/-/mumath-3.3.4.tgz", "integrity": "sha512-VAFIOG6rsxoc7q/IaY3jdjmrsuX9f15KlRLYTHmixASBZkZEKC1IFqE2BC5CdhXmK6WLM1Re33z//AGmeRI6FA==", "deprecated": "Redundant dependency in your project.", + "license": "Unlicense", "peer": true, "dependencies": { "almost-equal": "^1.1.0" @@ -3867,6 +4839,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/murmurhash-js/-/murmurhash-js-1.0.0.tgz", "integrity": "sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==", + "license": "MIT", "peer": true }, "node_modules/mz": { @@ -3874,6 +4847,7 @@ "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, + "license": "MIT", "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", @@ -3881,16 +4855,16 @@ } }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -3902,12 +4876,14 @@ "version": "0.8.1", "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==", + "license": "MIT", "peer": true }, "node_modules/needle": { "version": "2.9.1", "resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz", "integrity": "sha512-6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==", + "license": "MIT", "peer": true, "dependencies": { "debug": "^3.2.6", @@ -3925,28 +4901,38 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", "peer": true, "dependencies": { "ms": "^2.1.1" } }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "license": "MIT", + "peer": true + }, "node_modules/next-tick": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "license": "ISC", "peer": true }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "license": "MIT" }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3956,6 +4942,7 @@ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3964,12 +4951,14 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-0.1.0.tgz", "integrity": "sha512-1/kmYej2iedi5+ROxkRESL/pI02pkg0OBnaR4hJkSIX6+ORzepwbuUXfrdZaPjysTsJInj0Rj5NuX027+dMBvA==", + "license": "MIT", "peer": true }, "node_modules/number-is-integer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-integer/-/number-is-integer-1.0.1.tgz", "integrity": "sha512-Dq3iuiFBkrbmuQjGFFF3zckXNCQoSD37/SdSbgcBailUx6knDvDwb5CympBgcoWHy36sfS12u74MHYkXyHq6bg==", + "license": "MIT", "peer": true, "dependencies": { "is-finite": "^1.0.1" @@ -3982,6 +4971,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3991,6 +4981,7 @@ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -3999,21 +4990,31 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", "peer": true, "dependencies": { "wrappy": "1" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/parenthesis": { "version": "3.1.8", "resolved": "https://registry.npmjs.org/parenthesis/-/parenthesis-3.1.8.tgz", "integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==", + "license": "MIT", "peer": true }, "node_modules/parse-rect": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/parse-rect/-/parse-rect-1.2.0.tgz", "integrity": "sha512-4QZ6KYbnE6RTwg9E0HpLchUM9EZt6DnDxajFZZDSV4p/12ZJEvPO702DZpGvRYEPo00yKDys7jASi+/w7aO8LA==", + "license": "MIT", "peer": true, "dependencies": { "pick-by-alias": "^1.2.0" @@ -4023,12 +5024,14 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", "integrity": "sha512-JyPSBnkTJ0AI8GGJLfMXvKq42cj5c006fnLz6fXy6zfoVjJizi8BNTpu8on8ziI1cKy9d9DGNuY17Ce7wuejpQ==", + "license": "MIT", "peer": true }, "node_modules/parse-unit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-unit/-/parse-unit-1.0.1.tgz", "integrity": "sha512-hrqldJHokR3Qj88EIlV/kAyAi/G5R2+R56TBANxNMy0uPlYcttx0jnMW6Yx5KsKPSbC3KddM/7qQm3+0wEXKxg==", + "license": "MIT", "peer": true }, "node_modules/path-key": { @@ -4036,6 +5039,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -4043,37 +5047,38 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" }, "node_modules/path-scurry": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.0.tgz", - "integrity": "sha512-LNHTaVkzaYaLGlO+0u3rQTz7QrHTFOuKyba9JMTQutkmtNew8dw8wOD7mTU/5fCPZzCWpfW0XnQKzY61P0aTaw==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, + "license": "BlueOak-1.0.0", "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "engines": { - "node": "14 || >=16.14" - } + "license": "ISC" }, "node_modules/pbf": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.2.1.tgz", - "integrity": "sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/pbf/-/pbf-3.3.0.tgz", + "integrity": "sha512-XDF38WCH3z5OV/OVa8GKUNtLAyneuzbCisx7QUCF8Q6Nutx0WnJrQe5O+kOtBlLfRNUws98Y58Lblp+NJG5T4Q==", + "license": "BSD-3-Clause", "peer": true, "dependencies": { "ieee754": "^1.1.12", @@ -4087,25 +5092,28 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "license": "MIT", "peer": true }, "node_modules/pick-by-alias": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pick-by-alias/-/pick-by-alias-1.2.0.tgz", "integrity": "sha512-ESj2+eBxhGrcA1azgHs7lARG5+5iLakc/6nlfbpjcLl00HuuUOIuORhYXN4D1HfvMSKuVtFQjAlnwi1JHEeDIw==", + "license": "MIT", "peer": true }, "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -4118,6 +5126,7 @@ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4127,23 +5136,25 @@ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } }, "node_modules/plotly.js": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.32.0.tgz", - "integrity": "sha512-QBYyfVFs1XdoXQBq/f7SoiqQD/BEyDA5WwvN1NwY4ZTrTX6GmJ5jE5ydlt1I4K8i5W6H1atgti31jcSYD6StKA==", + "version": "2.35.3", + "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.35.3.tgz", + "integrity": "sha512-7RaC6FxmCUhpD6H4MpD+QLUu3hCn76I11rotRefrh3m1iDvWqGnVqVk9dSaKmRAhFD3vsNsYea0OxnR1rc2IzQ==", + "license": "MIT", "peer": true, "dependencies": { - "@plotly/d3": "3.8.1", + "@plotly/d3": "3.8.2", "@plotly/d3-sankey": "0.7.2", "@plotly/d3-sankey-circular": "0.33.1", "@plotly/mapbox-gl": "1.13.4", - "@turf/area": "^6.4.0", - "@turf/bbox": "^6.4.0", - "@turf/centroid": "^6.0.2", + "@turf/area": "^7.1.0", + "@turf/bbox": "^7.1.0", + "@turf/centroid": "^7.1.0", "base64-arraybuffer": "^1.0.2", "canvas-fit": "^1.5.0", "color-alpha": "1.0.4", @@ -4151,6 +5162,7 @@ "color-parse": "2.0.0", "color-rgba": "2.1.1", "country-regex": "^1.1.0", + "css-loader": "^7.1.2", "d3-force": "^1.2.1", "d3-format": "^1.4.5", "d3-geo": "^1.12.1", @@ -4165,13 +5177,14 @@ "has-hover": "^1.0.1", "has-passive-events": "^1.0.0", "is-mobile": "^4.0.0", + "maplibre-gl": "^4.5.2", "mouse-change": "^1.4.0", "mouse-event-offset": "^3.0.2", "mouse-wheel": "^1.2.0", "native-promise-only": "^0.8.1", "parse-svg-path": "^0.1.2", "point-in-polygon": "^1.1.0", - "polybooljs": "^1.2.0", + "polybooljs": "^1.2.2", "probe-image-size": "^7.2.3", "regl": "npm:@plotly/regl@^2.1.2", "regl-error2d": "^2.0.12", @@ -4179,6 +5192,7 @@ "regl-scatter2d": "^3.3.1", "regl-splom": "^1.0.14", "strongly-connected-components": "^1.0.1", + "style-loader": "^4.0.0", "superscript-text": "^1.0.0", "svg-path-sdf": "^1.1.3", "tinycolor2": "^1.4.2", @@ -4189,27 +5203,29 @@ } }, "node_modules/plotly.js-dist-min": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/plotly.js-dist-min/-/plotly.js-dist-min-2.32.0.tgz", - "integrity": "sha512-UVznwUQVc7NeFih0tnIbvCpxct+Jxt6yxOGTYJF4vkKIUyujvyiTrH+XazglvcXdybFLERMu/IKt6Lhz3+BqMQ==" + "version": "2.35.3", + "resolved": "https://registry.npmjs.org/plotly.js-dist-min/-/plotly.js-dist-min-2.35.3.tgz", + "integrity": "sha512-sz2HLP8gkysLx/BanM2PtJTtZ1PLPwdHwMWNri2YxLBy3IOeuDsVQtlmWa4hoK3j/fi4naaD3uZJqH5ozM3zGg==", + "license": "MIT" }, "node_modules/point-in-polygon": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/point-in-polygon/-/point-in-polygon-1.1.0.tgz", "integrity": "sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==", + "license": "MIT", "peer": true }, "node_modules/polybooljs": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/polybooljs/-/polybooljs-1.2.2.tgz", "integrity": "sha512-ziHW/02J0XuNuUtmidBc6GXE8YohYydp3DWPWXYsd7O721TjcmN+k6ezjdwkDqep+gnWnFY+yqZHvzElra2oCg==", + "license": "MIT", "peer": true }, "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", - "dev": true, + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", "funding": [ { "type": "opencollective", @@ -4224,9 +5240,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -4238,6 +5255,7 @@ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, + "license": "MIT", "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", @@ -4255,6 +5273,7 @@ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", "dev": true, + "license": "MIT", "dependencies": { "camelcase-css": "^2.0.1" }, @@ -4284,6 +5303,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "lilconfig": "^3.0.0", "yaml": "^2.3.4" @@ -4304,42 +5324,115 @@ } } }, - "node_modules/postcss-load-config/node_modules/lilconfig": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", - "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", - "dev": true, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "license": "ISC", + "peer": true, "engines": { - "node": ">=14" + "node": "^10 || ^12 || >= 14" }, - "funding": { - "url": "https://github.com/sponsors/antonk52" + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "license": "MIT", + "peer": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "license": "ISC", + "peer": true, + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "license": "ISC", + "peer": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", "dependencies": { - "postcss-selector-parser": "^6.0.11" + "postcss-selector-parser": "^6.1.1" }, "engines": { "node": ">=12.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, "peerDependencies": { "postcss": "^8.2.14" } }, - "node_modules/postcss-selector-parser": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", - "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", + "node_modules/postcss-nested/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-selector-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.0.0.tgz", + "integrity": "sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==", + "license": "MIT", + "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -4352,29 +5445,34 @@ "version": "4.2.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true + "license": "MIT" }, "node_modules/posthog-js": { - "version": "1.131.3", - "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.131.3.tgz", - "integrity": "sha512-ds/TADDS+rT/WgUyeW4cJ+X+fX+O1KdkOyssNI/tP90PrFf0IJsck5B42YOLhfz87U2vgTyBaKHkdlMgWuOFog==", + "version": "1.207.5", + "resolved": "https://registry.npmjs.org/posthog-js/-/posthog-js-1.207.5.tgz", + "integrity": "sha512-1dCz3zFEWi6yJKNZLjsrFBdZlpyL99gbD3rNkRlnRwQU1kI84BHRh8oNg+M0ZBLD1DNXSb5kWykfArV4sEsDvw==", "dev": true, + "license": "MIT", "dependencies": { + "core-js": "^3.38.1", "fflate": "^0.4.8", - "preact": "^10.19.3" + "preact": "^10.19.3", + "web-vitals": "^4.2.0" } }, "node_modules/potpack": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/potpack/-/potpack-1.0.2.tgz", "integrity": "sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==", + "license": "ISC", "peer": true }, "node_modules/preact": { - "version": "10.21.0", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.21.0.tgz", - "integrity": "sha512-aQAIxtzWEwH8ou+OovWVSVNlFImL7xUCwJX3YMqA3U8iKCNC34999fFOnWjYNsylgfPgMexpbk7WYOLtKr/mxg==", + "version": "10.25.4", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.25.4.tgz", + "integrity": "sha512-jLdZDb+Q+odkHJ+MpW/9U5cODzqnB+fy2EiHSZES7ldV5LK7yjlVzTp7R8Xy6W6y75kfK8iWYtFVH7lvjwrCMA==", "dev": true, + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -4384,6 +5482,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/probe-image-size/-/probe-image-size-7.2.3.tgz", "integrity": "sha512-HubhG4Rb2UH8YtV4ba0Vp5bQ7L78RTONYu/ujmCu5nBI8wGv24s4E9xSKBi0N1MowRpxk76pFCpJtW0KPzOK0w==", + "license": "MIT", "peer": true, "dependencies": { "lodash.merge": "^4.6.2", @@ -4395,12 +5494,14 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT", "peer": true }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -4411,8 +5512,19 @@ "version": "3.6.0", "resolved": "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.6.0.tgz", "integrity": "sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==", + "license": "MIT", "peer": true }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -4431,27 +5543,41 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/quickselect": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==", + "license": "ISC", "peer": true }, "node_modules/raf": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "license": "MIT", "peer": true, "dependencies": { "performance-now": "^2.1.0" } }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, "node_modules/react": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" }, @@ -4463,6 +5589,7 @@ "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -4472,10 +5599,11 @@ } }, "node_modules/react-hotkeys-hook": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/react-hotkeys-hook/-/react-hotkeys-hook-4.5.0.tgz", - "integrity": "sha512-Samb85GSgAWFQNvVt3PS90LPPGSf9mkH/r4au81ZP1yOIFayLC3QAvqTgGtJ8YEDMXtPmaVBs6NgipHO6h4Mug==", + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/react-hotkeys-hook/-/react-hotkeys-hook-4.6.1.tgz", + "integrity": "sha512-XlZpbKUj9tkfgPgT9gA+1p7Ey6vFIZHttUjPqpTdyT5nqQ8mHL7elxvSbaC+dpSiHUSmr21Ya1mDxBZG3aje4Q==", "dev": true, + "license": "MIT", "peerDependencies": { "react": ">=16.8.1", "react-dom": ">=16.8.1" @@ -4484,12 +5612,14 @@ "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/react-plotly.js": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/react-plotly.js/-/react-plotly.js-2.6.0.tgz", "integrity": "sha512-g93xcyhAVCSt9kV1svqG1clAEdL6k3U+jjuSzfTV7owaSU9Go6Ph8bl25J+jKfKvIGAEYpe4qj++WHJuc9IaeA==", + "license": "MIT", "dependencies": { "prop-types": "^15.8.1" }, @@ -4503,27 +5633,29 @@ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/react-remove-scroll": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", - "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.3.tgz", + "integrity": "sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==", + "license": "MIT", "dependencies": { - "react-remove-scroll-bar": "^2.3.3", - "react-style-singleton": "^2.2.1", + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", "tslib": "^2.1.0", - "use-callback-ref": "^1.3.0", - "use-sidecar": "^1.1.2" + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" }, "engines": { "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -4532,19 +5664,20 @@ } }, "node_modules/react-remove-scroll-bar": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz", - "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", + "license": "MIT", "dependencies": { - "react-style-singleton": "^2.2.1", + "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "engines": { "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -4553,20 +5686,20 @@ } }, "node_modules/react-style-singleton": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", - "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", + "license": "MIT", "dependencies": { "get-nonce": "^1.0.0", - "invariant": "^2.2.4", "tslib": "^2.0.0" }, "engines": { "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -4579,6 +5712,7 @@ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", "dev": true, + "license": "MIT", "dependencies": { "pify": "^2.3.0" } @@ -4587,6 +5721,7 @@ "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", "peer": true, "dependencies": { "core-util-is": "~1.0.0", @@ -4602,12 +5737,14 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT", "peer": true }, "node_modules/readable-stream/node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", "peer": true }, "node_modules/readdirp": { @@ -4615,6 +5752,7 @@ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "license": "MIT", "dependencies": { "picomatch": "^2.2.1" }, @@ -4622,22 +5760,19 @@ "node": ">=8.10.0" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" - }, "node_modules/regl": { "name": "@plotly/regl", "version": "2.1.2", "resolved": "https://registry.npmjs.org/@plotly/regl/-/regl-2.1.2.tgz", "integrity": "sha512-Mdk+vUACbQvjd0m/1JJjOOafmkp/EpmHjISsopEz5Av44CBq7rPC05HHNbYGKVyNUF2zmEoBS/TT0pd0SPFFyw==", + "license": "MIT", "peer": true }, "node_modules/regl-error2d": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/regl-error2d/-/regl-error2d-2.0.12.tgz", "integrity": "sha512-r7BUprZoPO9AbyqM5qlJesrSRkl+hZnVKWKsVp7YhOl/3RIpi4UDGASGJY0puQ96u5fBYw/OlqV24IGcgJ0McA==", + "license": "MIT", "peer": true, "dependencies": { "array-bounds": "^1.0.1", @@ -4653,6 +5788,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/regl-line2d/-/regl-line2d-3.1.3.tgz", "integrity": "sha512-fkgzW+tTn4QUQLpFKsUIE0sgWdCmXAM3ctXcCgoGBZTSX5FE2A0M7aynz7nrZT5baaftLrk9te54B+MEq4QcSA==", + "license": "MIT", "peer": true, "dependencies": { "array-bounds": "^1.0.1", @@ -4672,6 +5808,7 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/regl-scatter2d/-/regl-scatter2d-3.3.1.tgz", "integrity": "sha512-seOmMIVwaCwemSYz/y4WE0dbSO9svNFSqtTh5RE57I7PjGo3tcUYKtH0MTSoshcAsreoqN8HoCtnn8wfHXXfKQ==", + "license": "MIT", "peer": true, "dependencies": { "@plotly/point-cluster": "^3.1.9", @@ -4695,6 +5832,7 @@ "version": "1.0.14", "resolved": "https://registry.npmjs.org/regl-splom/-/regl-splom-1.0.14.tgz", "integrity": "sha512-OiLqjmPRYbd7kDlHC6/zDf6L8lxgDC65BhC8JirhP4ykrK4x22ZyS+BnY8EUinXKDeMgmpRwCvUmk7BK4Nweuw==", + "license": "MIT", "peer": true, "dependencies": { "array-bounds": "^1.0.1", @@ -4707,18 +5845,32 @@ "regl-scatter2d": "^3.2.3" } }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -4727,6 +5879,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/resolve-protobuf-schema/-/resolve-protobuf-schema-2.1.0.tgz", "integrity": "sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==", + "license": "MIT", "peer": true, "dependencies": { "protocol-buffers-schema": "^3.3.1" @@ -4737,6 +5890,7 @@ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -4746,15 +5900,16 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/right-now/-/right-now-1.0.0.tgz", "integrity": "sha512-DA8+YS+sMIVpbsuKgy+Z67L9Lxb1p05mNxRpDPNksPDEFir4vmBlUtuN9jkTGn9YMMdlBuK7XQgFiz6ws+yhSg==", + "license": "MIT", "peer": true }, "node_modules/rollup": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", - "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.31.0.tgz", + "integrity": "sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==", "license": "MIT", "dependencies": { - "@types/estree": "1.0.5" + "@types/estree": "1.0.6" }, "bin": { "rollup": "dist/bin/rollup" @@ -4764,22 +5919,25 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.22.4", - "@rollup/rollup-android-arm64": "4.22.4", - "@rollup/rollup-darwin-arm64": "4.22.4", - "@rollup/rollup-darwin-x64": "4.22.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", - "@rollup/rollup-linux-arm-musleabihf": "4.22.4", - "@rollup/rollup-linux-arm64-gnu": "4.22.4", - "@rollup/rollup-linux-arm64-musl": "4.22.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", - "@rollup/rollup-linux-riscv64-gnu": "4.22.4", - "@rollup/rollup-linux-s390x-gnu": "4.22.4", - "@rollup/rollup-linux-x64-gnu": "4.22.4", - "@rollup/rollup-linux-x64-musl": "4.22.4", - "@rollup/rollup-win32-arm64-msvc": "4.22.4", - "@rollup/rollup-win32-ia32-msvc": "4.22.4", - "@rollup/rollup-win32-x64-msvc": "4.22.4", + "@rollup/rollup-android-arm-eabi": "4.31.0", + "@rollup/rollup-android-arm64": "4.31.0", + "@rollup/rollup-darwin-arm64": "4.31.0", + "@rollup/rollup-darwin-x64": "4.31.0", + "@rollup/rollup-freebsd-arm64": "4.31.0", + "@rollup/rollup-freebsd-x64": "4.31.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.31.0", + "@rollup/rollup-linux-arm-musleabihf": "4.31.0", + "@rollup/rollup-linux-arm64-gnu": "4.31.0", + "@rollup/rollup-linux-arm64-musl": "4.31.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.31.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.31.0", + "@rollup/rollup-linux-riscv64-gnu": "4.31.0", + "@rollup/rollup-linux-s390x-gnu": "4.31.0", + "@rollup/rollup-linux-x64-gnu": "4.31.0", + "@rollup/rollup-linux-x64-musl": "4.31.0", + "@rollup/rollup-win32-arm64-msvc": "4.31.0", + "@rollup/rollup-win32-ia32-msvc": "4.31.0", + "@rollup/rollup-win32-x64-msvc": "4.31.0", "fsevents": "~2.3.2" } }, @@ -4802,6 +5960,7 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } @@ -4810,6 +5969,7 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "license": "BSD-3-Clause", "peer": true }, "node_modules/safe-buffer": { @@ -4830,41 +5990,76 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "peer": true }, "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT", "peer": true }, "node_modules/sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "license": "ISC", "peer": true }, "node_modules/scheduler": { "version": "0.23.2", "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" } }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, "node_modules/semver": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/shallow-copy": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", "integrity": "sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw==", + "license": "MIT", "peer": true }, "node_modules/shebang-command": { @@ -4872,6 +6067,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -4884,6 +6080,7 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -4893,6 +6090,7 @@ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, + "license": "ISC", "engines": { "node": ">=14" }, @@ -4904,13 +6102,14 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/signum/-/signum-1.0.0.tgz", "integrity": "sha512-yodFGwcyt59XRh7w5W3jPcIQb3Bwi21suEfT7MAWnBX3iCdklJpgDgvGT9o04UonglZN5SNMfJFkHIR/jO8GHw==", + "license": "MIT", "peer": true }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true, + "license": "BSD-3-Clause", "peer": true, "engines": { "node": ">=0.10.0" @@ -4920,11 +6119,22 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, "node_modules/stack-trace": { "version": "0.0.9", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", @@ -4938,6 +6148,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.1.1.tgz", "integrity": "sha512-MgWpQ/ZjGieSVB3eOJVs4OA2LT/q1vx98KPCTTQPzq/aLr0YUXTsgryTXr4SLfR0ZfUUCiedM9n/ABeDIyy4mA==", + "license": "MIT", "peer": true, "dependencies": { "escodegen": "^2.1.0" @@ -4947,6 +6158,7 @@ "version": "0.3.1", "resolved": "https://registry.npmjs.org/stream-parser/-/stream-parser-0.3.1.tgz", "integrity": "sha512-bJ/HgKq41nlKvlhccD5kaCr/P+Hu0wPNKPJOH7en+YrJu/9EgqUF+88w5Jb6KNcjOFMhfX4B2asfeAtIGuHObQ==", + "license": "MIT", "peer": true, "dependencies": { "debug": "2" @@ -4956,6 +6168,7 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", "peer": true, "dependencies": { "ms": "2.0.0" @@ -4965,18 +6178,21 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", "peer": true }, "node_modules/stream-shift": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "license": "MIT", "peer": true }, "node_modules/string_decoder": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", "peer": true, "dependencies": { "safe-buffer": "~5.1.0" @@ -4986,12 +6202,14 @@ "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT", "peer": true }, "node_modules/string-split-by": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/string-split-by/-/string-split-by-1.0.0.tgz", "integrity": "sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==", + "license": "MIT", "peer": true, "dependencies": { "parenthesis": "^3.1.5" @@ -5002,6 +6220,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, + "license": "MIT", "dependencies": { "eastasianwidth": "^0.2.0", "emoji-regex": "^9.2.2", @@ -5020,6 +6239,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -5034,6 +6254,7 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -5042,13 +6263,15 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/string-width-cjs/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -5061,6 +6284,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^6.0.1" }, @@ -5077,6 +6301,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -5089,6 +6314,7 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -5097,13 +6323,32 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/strongly-connected-components/-/strongly-connected-components-1.0.1.tgz", "integrity": "sha512-i0TFx4wPcO0FwX+4RkLJi1MxmcTv90jNZgxMu9XRnMXMeFUY1VJlIoXpZunPUvUUqbCT1pg5PEkFqqpcaElNaA==", + "license": "MIT", "peer": true }, + "node_modules/style-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-4.0.0.tgz", + "integrity": "sha512-1V4WqhhZZgjVAVJyt7TdDPZoPBPNHbekX4fWnCJL1yQukhCeZhJySUL+gL9y6sNdN95uEOS83Y55SqHcP7MzLA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 18.12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.27.0" + } + }, "node_modules/sucrase": { "version": "3.35.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", @@ -5126,6 +6371,7 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -5134,33 +6380,47 @@ "version": "7.1.5", "resolved": "https://registry.npmjs.org/supercluster/-/supercluster-7.1.5.tgz", "integrity": "sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==", + "license": "ISC", "peer": true, "dependencies": { "kdbush": "^3.0.0" } }, + "node_modules/supercluster/node_modules/kdbush": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/kdbush/-/kdbush-3.0.0.tgz", + "integrity": "sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==", + "license": "ISC", + "peer": true + }, "node_modules/superscript-text": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/superscript-text/-/superscript-text-1.0.0.tgz", "integrity": "sha512-gwu8l5MtRZ6koO0icVTlmN5pm7Dhh1+Xpe9O4x6ObMAsW+3jPbW14d1DsBq1F4wiI+WOFjXF35pslgec/G8yCQ==", + "license": "MIT", "peer": true }, "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "license": "MIT", + "peer": true, "dependencies": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -5172,12 +6432,14 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/svg-arc-to-cubic-bezier/-/svg-arc-to-cubic-bezier-3.2.0.tgz", "integrity": "sha512-djbJ/vZKZO+gPoSDThGNpKDO+o+bAeA4XQKovvkNCqnIS2t+S4qnLAGQhyyrulhCFRl1WWzAp0wUDV8PpTVU3g==", + "license": "ISC", "peer": true }, "node_modules/svg-path-bounds": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/svg-path-bounds/-/svg-path-bounds-1.0.2.tgz", "integrity": "sha512-H4/uAgLWrppIC0kHsb2/dWUYSmb4GE5UqH06uqWBcg6LBjX2fu0A8+JrO2/FJPZiSsNOKZAhyFFgsLTdYUvSqQ==", + "license": "MIT", "peer": true, "dependencies": { "abs-svg-path": "^0.1.1", @@ -5190,6 +6452,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/normalize-svg-path/-/normalize-svg-path-1.1.0.tgz", "integrity": "sha512-r9KHKG2UUeB5LoTouwDzBy2VxXlHsiM6fyLQvnJa0S5hrhzqElH/CH7TUGhT1fVvIYBIKf3OpY4YJ4CK+iaqHg==", + "license": "MIT", "peer": true, "dependencies": { "svg-arc-to-cubic-bezier": "^3.0.0" @@ -5199,6 +6462,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/svg-path-sdf/-/svg-path-sdf-1.1.3.tgz", "integrity": "sha512-vJJjVq/R5lSr2KLfVXVAStktfcfa1pNFjFOgyJnzZFXlO/fDZ5DmM8FpnSKKzLPfEYTVeXuVBTHF296TpxuJVg==", + "license": "MIT", "peer": true, "dependencies": { "bitmap-sdf": "^1.0.0", @@ -5209,33 +6473,34 @@ } }, "node_modules/tailwindcss": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", - "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", + "version": "3.4.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", + "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", "dev": true, + "license": "MIT", "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", - "chokidar": "^3.5.3", + "chokidar": "^3.6.0", "didyoumean": "^1.2.2", "dlv": "^1.1.3", - "fast-glob": "^3.3.0", + "fast-glob": "^3.3.2", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "jiti": "^1.21.0", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", + "jiti": "^1.21.6", + "lilconfig": "^3.1.3", + "micromatch": "^4.0.8", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", + "picocolors": "^1.1.1", + "postcss": "^8.4.47", "postcss-import": "^15.1.0", "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" + "postcss-load-config": "^4.0.2", + "postcss-nested": "^6.2.0", + "postcss-selector-parser": "^6.1.2", + "resolve": "^1.22.8", + "sucrase": "^3.35.0" }, "bin": { "tailwind": "lib/cli.js", @@ -5245,11 +6510,160 @@ "node": ">=14.0.0" } }, + "node_modules/tailwindcss/node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.37.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.37.0.tgz", + "integrity": "sha512-B8wRRkmre4ERucLM/uXx4MOV5cbnOlVAqUst+1+iLKPI0dOgFO28f84ptoQt9HEI537PMzfYa/d+GEPKTRXmYA==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.11.tgz", + "integrity": "sha512-RVCsMfuD0+cTt3EwX8hSl2Ks56EbFHWmhluwcqoPKtBnfjiT6olaq7PRIRfhyU8nnC2MrnDrBLfrD/RGE+cVXQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "license": "MIT", + "peer": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "license": "MIT", + "peer": true + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.0.tgz", + "integrity": "sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser/node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "license": "MIT", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, + "license": "MIT", "dependencies": { "any-promise": "^1.0.0" } @@ -5259,6 +6673,7 @@ "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, + "license": "MIT", "dependencies": { "thenify": ">= 3.1.0 < 4" }, @@ -5270,6 +6685,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "license": "MIT", "peer": true, "dependencies": { "readable-stream": "~2.3.6", @@ -5280,33 +6696,28 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz", "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==", + "license": "MIT", "peer": true }, "node_modules/tinyqueue": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/tinyqueue/-/tinyqueue-2.0.3.tgz", "integrity": "sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==", + "license": "ISC", "peer": true }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/to-float32": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/to-float32/-/to-float32-1.1.0.tgz", "integrity": "sha512-keDnAusn/vc+R3iEiSDw8TOF7gPiTLdK1ArvWtYbJQiVfmRg6i/CAvbKq3uIS0vWroAC7ZecN3DjQKw3aSklUg==", + "license": "MIT", "peer": true }, "node_modules/to-px": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-px/-/to-px-1.0.1.tgz", "integrity": "sha512-2y3LjBeIZYL19e5gczp14/uRWFDtDUErJPVN3VU9a7SJO+RjGRtYR47aMN2bZgGlxvW4ZcEz2ddUPVHXcMfuXw==", + "license": "MIT", "peer": true, "dependencies": { "parse-unit": "^1.0.1" @@ -5329,6 +6740,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", + "license": "ISC", "peer": true, "dependencies": { "commander": "2" @@ -5343,29 +6755,34 @@ "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true + "dev": true, + "license": "Apache-2.0" }, "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" }, "node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", + "license": "ISC", "peer": true }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "license": "MIT", "peer": true }, "node_modules/typedarray-pool": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/typedarray-pool/-/typedarray-pool-1.2.0.tgz", "integrity": "sha512-YTSQbzX43yvtpfRtIDAYygoYtgT+Rpjuxy9iOpczrjpXLgGoyG7aS5USJXV2d3nn8uHTeb9rXDvzS27zUg5KYQ==", + "license": "MIT", "peer": true, "dependencies": { "bit-twiddle": "^1.0.0", @@ -5377,6 +6794,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -5389,19 +6807,19 @@ "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true + "license": "MIT" }, "node_modules/unquote": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", "integrity": "sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==", + "license": "MIT", "peer": true }, "node_modules/update-browserslist-db": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz", - "integrity": "sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==", - "dev": true, + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", "funding": [ { "type": "opencollective", @@ -5416,9 +6834,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { - "escalade": "^3.1.2", - "picocolors": "^1.0.0" + "escalade": "^3.2.0", + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -5431,12 +6850,24 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/update-diff/-/update-diff-1.1.0.tgz", "integrity": "sha512-rCiBPiHxZwT4+sBhEbChzpO5hYHjm91kScWgdHf4Qeafs6Ba7MBl+d9GlGv72bcTZQO0sLmtQS1pHSWoCLtN/A==", + "license": "MIT", "peer": true }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, "node_modules/use-callback-ref": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", - "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", + "license": "MIT", "dependencies": { "tslib": "^2.0.0" }, @@ -5444,8 +6875,8 @@ "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -5454,9 +6885,10 @@ } }, "node_modules/use-sidecar": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", - "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", + "license": "MIT", "dependencies": { "detect-node-es": "^1.1.0", "tslib": "^2.0.0" @@ -5465,8 +6897,8 @@ "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -5477,12 +6909,13 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" }, "node_modules/vite": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.5.tgz", - "integrity": "sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==", + "version": "4.5.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.9.tgz", + "integrity": "sha512-qK9W4xjgD3gXbC0NmdNFFnVFLMWSNiR3swj957yutwzzN16xF/E7nmtAyp1rT9hviDroQANjE4HK3H4WqWdFtw==", "dev": true, "license": "MIT", "dependencies": { @@ -5540,6 +6973,7 @@ "resolved": "https://registry.npmjs.org/vite-plugin-singlefile/-/vite-plugin-singlefile-0.13.5.tgz", "integrity": "sha512-y/aRGh8qHmw2f1IhaI/C6PJAaov47ESYDvUv1am1YHMhpY+19B5k5Odp8P+tgs+zhfvak6QB1ykrALQErEAo7g==", "dev": true, + "license": "MIT", "dependencies": { "micromatch": "^4.0.5" }, @@ -5572,6 +7006,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/vt-pbf/-/vt-pbf-3.1.3.tgz", "integrity": "sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==", + "license": "MIT", "peer": true, "dependencies": { "@mapbox/point-geometry": "0.1.0", @@ -5579,40 +7014,135 @@ "pbf": "^3.2.1" } }, + "node_modules/watchpack": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", + "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "license": "MIT", + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/weak-map": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/weak-map/-/weak-map-1.0.8.tgz", "integrity": "sha512-lNR9aAefbGPpHO7AEnY0hCFjz1eTkWCXYvkTRrTHs9qv8zJp+SkVYpzfLIFXQQiG3tVvbNFQgVg2bQS8YGgxyw==", + "license": "Apache-2.0", "peer": true }, + "node_modules/web-vitals": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz", + "integrity": "sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/webgl-context": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/webgl-context/-/webgl-context-2.2.0.tgz", "integrity": "sha512-q/fGIivtqTT7PEoF07axFIlHNk/XCPaYpq64btnepopSWvKNFkoORlQYgqDigBIuGA1ExnFd/GnSUnBNEPQY7Q==", + "license": "MIT", "peer": true, "dependencies": { "get-canvas-context": "^1.0.1" } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, + "node_modules/webpack": { + "version": "5.97.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.97.1.tgz", + "integrity": "sha512-EksG6gFY3L1eFMROS/7Wzgrii5mBAFe4rIr3r2BTfo7bcc+DWwFZ4OJ/miOuHJO/A85HwyI4eQ0F6IKXesO7Fg==", + "license": "MIT", + "peer": true, "dependencies": { - "isexe": "^2.0.0" + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.6", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.14.0", + "browserslist": "^4.24.0", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.17.1", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.1", + "webpack-sources": "^3.2.3" }, "bin": { - "node-which": "bin/node-which" + "webpack": "bin/webpack.js" }, "engines": { - "node": ">= 8" + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "license": "MIT", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/which": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", + "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", + "license": "ISC", + "peer": true, + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^16.13.0 || >=18.0.0" } }, "node_modules/world-calendars": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/world-calendars/-/world-calendars-1.0.3.tgz", "integrity": "sha512-sAjLZkBnsbHkHWVhrsCU5Sa/EVuf9QqgvrN8zyJ2L/F9FR9Oc6CvVK0674+PGAtmmmYQMH98tCUSO4QLQv3/TQ==", + "license": "MIT", "peer": true, "dependencies": { "object-assign": "^4.1.0" @@ -5623,6 +7153,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^6.1.0", "string-width": "^5.0.1", @@ -5641,6 +7172,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -5658,6 +7190,7 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -5667,6 +7200,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, + "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -5677,35 +7211,19 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/wrap-ansi-cjs/node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -5720,6 +7238,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -5727,28 +7246,18 @@ "node": ">=8" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC", "peer": true }, "node_modules/xtend": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", "peer": true, "engines": { "node": ">=0.4" @@ -5758,13 +7267,15 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/yaml": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.2.tgz", - "integrity": "sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", + "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", "dev": true, + "license": "ISC", "bin": { "yaml": "bin.mjs" }, diff --git a/frontend-components/plotly/package.json b/frontend-components/plotly/package.json index 3369899520d..68a26d5668f 100644 --- a/frontend-components/plotly/package.json +++ b/frontend-components/plotly/package.json @@ -13,7 +13,7 @@ "@radix-ui/react-dialog": "^1.0.3", "dom-to-image": "^2.6.0", "lodash": "^4.17.21", - "plotly.js-dist-min": "^2.32.0", + "plotly.js-dist-min": "^2.35.2", "posthog-js": "^1.55.0", "react": "^18.0.0", "react-dom": "^18.0.0", @@ -37,7 +37,7 @@ "react-hotkeys-hook": "^4.4.0", "tailwindcss": "^3.2.7", "typescript": "^4.9.3", - "vite": ">=4.5.4", + "vite": ">=4.5.6", "vite-plugin-singlefile": "^0.13.3" } } diff --git a/frontend-components/plotly/src/App.tsx b/frontend-components/plotly/src/App.tsx index 52553881802..e53c4698926 100644 --- a/frontend-components/plotly/src/App.tsx +++ b/frontend-components/plotly/src/App.tsx @@ -70,7 +70,7 @@ function App() { globals.old_margin = { ...margin }; if (margin.t !== undefined && margin.t > 40) margin.t = 40; - if (data.cmd === "/stocks/candle") margin.r -= 50; + if (data.cmd === "/equity/price/historical") margin.r -= 50; } }); } @@ -85,7 +85,7 @@ function App() { } }); - const title = data.layout?.title?.text || "Interactive Chart"; + const title = data.layout?.title?.text || "OpenBB Platform"; globals.title = title; return { data: data, diff --git a/frontend-components/plotly/src/components/Chart.tsx b/frontend-components/plotly/src/components/Chart.tsx index 69f34834db9..45de023275e 100644 --- a/frontend-components/plotly/src/components/Chart.tsx +++ b/frontend-components/plotly/src/components/Chart.tsx @@ -172,11 +172,11 @@ async function DynamicLoad({ ); if (XDATA.length === 0) return figure; - // We get the xaxis range, if no event is passed, we get the last 2000 points + // We get the xaxis range, if no event is passed, we get the last 1000 points const xaxis_range = event ? [event["xaxis.range[0]"], event["xaxis.range[1]"]] : [ - XDATA[0]?.x[XDATA[0].x.length - 2000], + XDATA[0]?.x[XDATA[0].x.length - 1000], XDATA[0]?.x[XDATA[0].x.length - 1], ]; @@ -503,12 +503,12 @@ function Chart({ .setAttribute("viewBox", changeIcon.viewBox); const volumeColorsDark = { - "#009600": "#00ACFF", - "#c80000": "#e4003a", + "#00ACFF0": "#00ACFF", + "#e4003a": "#e4003a", }; const volumeColorsLight = { - "#e4003a": "#c80000", - "#00ACFF": "#009600", + "#e4003a": "#e4003a", + "#00ACFF": "#00ACFF", }; const volumeColors = darkmode ? volumeColorsDark : volumeColorsLight; @@ -638,7 +638,7 @@ function Chart({ ); if ( (originalData.data[0]?.x !== undefined && - originalData.data[0]?.x.length <= 2000) || + originalData.data[0]?.x.length <= 1000) || !traceTypes.includes(true) ) return; @@ -646,7 +646,7 @@ function Chart({ name: "alertDialog", data: { title: "Warning", - content: `Data has been truncated to 2000 points for performance reasons. + content: `Data has been truncated to 1000 points for performance reasons. Please use the zoom tool to see more data.`, }, }); diff --git a/frontend-components/plotly/src/components/Config.tsx b/frontend-components/plotly/src/components/Config.tsx index c3610173890..017f8dd9a33 100644 --- a/frontend-components/plotly/src/components/Config.tsx +++ b/frontend-components/plotly/src/components/Config.tsx @@ -67,6 +67,12 @@ export const ICONS = { }; export const DARK_CHARTS_TEMPLATE = { + line: { + "up_color": "#0074D9", + "down_color": "#FF4136", + "color": "#111111", + "width": 1.5 + }, data: { candlestick: [ { @@ -92,18 +98,22 @@ export const DARK_CHARTS_TEMPLATE = { }, autotypenumbers: "strict", colorway: [ - "#ffed00", - "#ef7d00", - "#e4003a", - "#c13246", - "#822661", - "#48277c", - "#005ca9", - "#00aaff", - "#9b30d9", - "#af005f", - "#5f00af", - "#af87ff", + "#1f77b4", + "#ff7f0e", + "#2ca02c", + "#d62728", + "#9467bd", + "#8c564b", + "#e377c2", + "#bcbd22", + "#17becf", + "#aec7e8", + "#ffbb78", + "#ff9896", + "#c5b0d5", + "#f7b6d2", + "#dbdb8d", + "#9edae5" ], dragmode: "pan", font: { @@ -119,10 +129,10 @@ export const DARK_CHARTS_TEMPLATE = { hovermode: "x", legend: { bgcolor: "rgba(0, 0, 0, 0)", - x: 0.01, - xanchor: "left", + x: 1, + xanchor: "right", y: 0.99, - yanchor: "top", + yanchor: "bottom", font: { size: 15, }, @@ -144,7 +154,9 @@ export const DARK_CHARTS_TEMPLATE = { tick0: 1, title: { standoff: 20, + text: "", }, + gridcolor: "#283442", linecolor: "#F5EFF3", mirror: true, ticks: "outside", @@ -158,8 +170,12 @@ export const DARK_CHARTS_TEMPLATE = { showline: true, side: "right", tick0: 0.5, + tickfont: { + size: 14, + }, title: { standoff: 20, + text: "", }, gridcolor: "#283442", linecolor: "#F5EFF3", @@ -170,6 +186,12 @@ export const DARK_CHARTS_TEMPLATE = { }; export const LIGHT_CHARTS_TEMPLATE = { + line: { + "up_color": "#0074D9", + "down_color": "#FF4136", + "color": "#111111", + "width": 1.5 + }, data: { barpolar: [ { @@ -537,20 +559,20 @@ export const LIGHT_CHARTS_TEMPLATE = { ], candlestick: [ { - decreasing: { - fillcolor: "#c80000", - line: { - color: "#990000", - }, + "decreasing": { + "fillcolor": "#e4003a", + "line": { + "color": "#e4003a" + } }, - increasing: { - fillcolor: "#009600", - line: { - color: "#007500", - }, + "increasing": { + "fillcolor": "#00ACFF", + "line": { + "color": "#00ACFF" + } }, - type: "candlestick", - }, + "type": "candlestick" + } ], }, layout: { @@ -607,18 +629,22 @@ export const LIGHT_CHARTS_TEMPLATE = { ], }, colorway: [ - "#254495", - "#c13246", - "#48277c", - "#e4003a", - "#ef7d00", - "#822661", - "#ffed00", - "#00aaff", - "#9b30d9", - "#af005f", - "#5f00af", - "#af87ff", + "#1f77b4", + "#ff7f0e", + "#2ca02c", + "#d62728", + "#9467bd", + "#8c564b", + "#e377c2", + "#bcbd22", + "#17becf", + "#aec7e8", + "#ffbb78", + "#ff9896", + "#c5b0d5", + "#f7b6d2", + "#dbdb8d", + "#9edae5" ], font: { color: "#2a3f5f", @@ -638,8 +664,8 @@ export const LIGHT_CHARTS_TEMPLATE = { mapbox: { style: "light", }, - paper_bgcolor: "white", - plot_bgcolor: "white", + paper_bgcolor: "#FFFFFF", + plot_bgcolor: "#FFFFFF", polar: { angularaxis: { gridcolor: "#EBF0F8", @@ -710,47 +736,61 @@ export const LIGHT_CHARTS_TEMPLATE = { }, xaxis: { automargin: true, - ticks: "outside", - zerolinewidth: 2, + autorange: true, rangeslider: { - visible: false, + visible: false }, showgrid: true, showline: true, tickfont: { - size: 15, + size: 14 }, - title: { - standoff: 20, - }, - mirror: true, zeroline: false, - }, - yaxis: { - automargin: true, - ticks: "outside", - tickfont: { - size: 15, - }, - zerolinewidth: 2, - fixedrange: false, + tick0: 1, title: { - standoff: 20, + standoff: 20, + font: { + size: 16 + } }, - nticks: 8, - showgrid: true, - showline: true, - side: "right", + gridcolor: "#283442", + linecolor: "#A9A9A9", mirror: true, - zeroline: false, + ticks: "outside" + }, + yaxis: { + anchor: "x", + automargin: true, + fixedrange: false, + zeroline: false, + showgrid: true, + showline: true, + side: "right", + tick0: 0.5, + tickfont: { + size: 14 }, + title: { + standoff: 20, + font: { + size: 16 + } + }, + gridcolor: "rgba(128, 128, 128, 0.33)", + linecolor: "#A9A9A9", + mirror: true, + ticks: "outside" + }, dragmode: "pan", legend: { - bgcolor: "rgba(0, 0, 0, 0)", - x: 1.03, - xanchor: "left", - y: 0.99, - yanchor: "top", + bgcolor: "rgba(255, 255, 255, 0)", + x: 1, + xanchor: "right", + y: 1.02, + yanchor: "bottom", + font: { + size: 12 + } }, }, }; diff --git a/frontend-components/plotly/src/components/PlotlyConfig.tsx b/frontend-components/plotly/src/components/PlotlyConfig.tsx index 9bfd8e26236..a8431317a03 100644 --- a/frontend-components/plotly/src/components/PlotlyConfig.tsx +++ b/frontend-components/plotly/src/components/PlotlyConfig.tsx @@ -47,6 +47,18 @@ export function PlotConfig({ responsive: true, displaylogo: false, displayModeBar: true, + edits: { + legendPosition: true, + legendText: true, + annotationPosition: true, + annotationTail: true, + annotationText: true, + colorbarPosition: true, + shapePosition: true, + }, + showAxisDragHandles: true, + showTips: false, + setBackground: "transparent", modeBarButtonsToRemove: ["lasso2d", "select2d", "downloadImage"], modeBarButtons: [ [ diff --git a/frontend-components/plotly/vite.config.ts b/frontend-components/plotly/vite.config.ts index 45db9e60b83..73c7ce35834 100644 --- a/frontend-components/plotly/vite.config.ts +++ b/frontend-components/plotly/vite.config.ts @@ -2,7 +2,21 @@ import react from "@vitejs/plugin-react"; import { defineConfig } from "vite"; import { viteSingleFile } from "vite-plugin-singlefile"; +const stripUseClientDirective = () => { + return { + name: 'strip-use-client', + transform(code) { + if (code.includes('use client')) { + return { + code: code.replace(/"use client"/, ''), + map: null + } + } + } + } +} + // https://vitejs.dev/config/ export default defineConfig({ - plugins: [react(), viteSingleFile()], + plugins: [react(), stripUseClientDirective(), viteSingleFile()], }); diff --git a/frontend-components/tables/package-lock.json b/frontend-components/tables/package-lock.json index ffacb38fd4a..2e2d4377dd9 100644 --- a/frontend-components/tables/package-lock.json +++ b/frontend-components/tables/package-lock.json @@ -18,9 +18,11 @@ "@radix-ui/react-toast": "^1.1.3", "@tanstack/match-sorter-utils": "^8.7.6", "@tanstack/react-table": "^8.7.9", + "ag-grid-community": "^33.0.4", + "ag-grid-react": "^33.0.4", "dom-to-image": "^2.6.0", "nanoid": ">=3.3.8", - "plotly.js": "^2.32.0", + "plotly.js": "^2.35.2", "react": "^17.0.0", "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", @@ -43,7 +45,7 @@ "postcss": "^8.4.21", "tailwindcss": "^3.2.7", "typescript": "^4.9.3", - "vite": ">=4.5.4", + "vite": ">=4.5.6", "vite-plugin-singlefile": "^0.13.3" } }, @@ -90,9 +92,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.3.tgz", - "integrity": "sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz", + "integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==", "dev": true, "license": "MIT", "engines": { @@ -131,14 +133,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.3.tgz", - "integrity": "sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz", + "integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.3", - "@babel/types": "^7.26.3", + "@babel/parser": "^7.26.5", + "@babel/types": "^7.26.5", "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^3.0.2" @@ -148,13 +150,13 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", - "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.25.9", + "@babel/compat-data": "^7.26.5", "@babel/helper-validator-option": "^7.25.9", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", @@ -197,9 +199,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", - "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", "dev": true, "license": "MIT", "engines": { @@ -251,13 +253,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.3.tgz", - "integrity": "sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", + "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/types": "^7.26.3" + "@babel/types": "^7.26.5" }, "bin": { "parser": "bin/babel-parser.js" @@ -326,17 +328,17 @@ } }, "node_modules/@babel/traverse": { - "version": "7.26.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.4.tgz", - "integrity": "sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.5.tgz", + "integrity": "sha512-rkOSPOw+AXbgtwUga3U4u8RpoK9FEFWBNAlTpcnkLFjL5CT+oyHNuUUC/xx6XefEJ16r38r8Bc/lfp6rYuHeJQ==", "dev": true, "license": "MIT", "dependencies": { "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.3", - "@babel/parser": "^7.26.3", + "@babel/generator": "^7.26.5", + "@babel/parser": "^7.26.5", "@babel/template": "^7.25.9", - "@babel/types": "^7.26.3", + "@babel/types": "^7.26.5", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -345,9 +347,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.3", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.3.tgz", - "integrity": "sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", + "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", "dev": true, "license": "MIT", "dependencies": { @@ -745,22 +747,22 @@ } }, "node_modules/@floating-ui/core": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.8.tgz", - "integrity": "sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==", + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.9.tgz", + "integrity": "sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw==", "license": "MIT", "dependencies": { - "@floating-ui/utils": "^0.2.8" + "@floating-ui/utils": "^0.2.9" } }, "node_modules/@floating-ui/dom": { - "version": "1.6.12", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.12.tgz", - "integrity": "sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==", + "version": "1.6.13", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.13.tgz", + "integrity": "sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w==", "license": "MIT", "dependencies": { "@floating-ui/core": "^1.6.0", - "@floating-ui/utils": "^0.2.8" + "@floating-ui/utils": "^0.2.9" } }, "node_modules/@floating-ui/react-dom": { @@ -777,9 +779,9 @@ } }, "node_modules/@floating-ui/utils": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.8.tgz", - "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==", + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==", "license": "MIT" }, "node_modules/@isaacs/cliui": { @@ -1217,14 +1219,14 @@ } }, "node_modules/@radix-ui/react-context-menu": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.2.3.tgz", - "integrity": "sha512-i4ZjZNoiAKwxcaKBR5XdiOyEJQdBT4P6TeMtzP4fjlcDJpxwIcmmWkdd13YEzCHHcWYZOyl7fVHKT8dFMHdo3w==", + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.2.4.tgz", + "integrity": "sha512-ap4wdGwK52rJxGkwukU1NrnEodsUFQIooANKu+ey7d6raQ2biTcEf8za1zr0mgFHieevRTB2nK4dJeN8pTAZGQ==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-menu": "2.1.3", + "@radix-ui/react-menu": "2.1.4", "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-controllable-state": "1.1.0" @@ -1245,15 +1247,15 @@ } }, "node_modules/@radix-ui/react-dialog": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.3.tgz", - "integrity": "sha512-ujGvqQNkZ0J7caQyl8XuZRj2/TIrYcOGwqz5TeD1OMcCdfBuEMP0D12ve+8J5F9XuNUth3FAKFWo/wt0E/GJrQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.4.tgz", + "integrity": "sha512-Ur7EV1IwQGCyaAuyDRiOLA5JIUZxELJljF+MbM/2NC0BYwfuRrbpS30BiQBJrVruscgUkieKkqXYDOoByaxIoA==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.3", "@radix-ui/react-focus-guards": "1.1.1", "@radix-ui/react-focus-scope": "1.1.1", "@radix-ui/react-id": "1.1.0", @@ -1263,7 +1265,7 @@ "@radix-ui/react-slot": "1.1.1", "@radix-ui/react-use-controllable-state": "1.1.0", "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.6.0" + "react-remove-scroll": "^2.6.1" }, "peerDependencies": { "@types/react": "*", @@ -1296,9 +1298,9 @@ } }, "node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.2.tgz", - "integrity": "sha512-kEHnlhv7wUggvhuJPkyw4qspXLJOdYoAP4dO2c8ngGuXTq1w/HZp1YeVB+NQ2KbH1iEG+pvOCGYSqh9HZOz6hg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.3.tgz", + "integrity": "sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.1", @@ -1323,16 +1325,16 @@ } }, "node_modules/@radix-ui/react-dropdown-menu": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.3.tgz", - "integrity": "sha512-eKyAfA9e4HOavzyGJC6kiDIlHMPzAU0zqSqTg+VwS0Okvb9nkTo7L4TugkCUqM3I06ciSpdtYQ73cgB7tyUgVw==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.1.4.tgz", + "integrity": "sha512-iXU1Ab5ecM+yEepGAWK8ZhMyKX4ubFdCNtol4sT9D0OVErG9PNElfx3TQhjw7n7BC5nFVz68/5//clWy+8TXzA==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-menu": "2.1.3", + "@radix-ui/react-menu": "2.1.4", "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-use-controllable-state": "1.1.0" }, @@ -1419,9 +1421,9 @@ } }, "node_modules/@radix-ui/react-menu": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.3.tgz", - "integrity": "sha512-wY5SY6yCiJYP+DMIy7RrjF4shoFpB9LJltliVwejBm8T2yepWDJgKBhIFYOGWYR/lFHOCtbstN9duZFu6gmveQ==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.1.4.tgz", + "integrity": "sha512-BnOgVoL6YYdHAG6DtXONaR29Eq4nvbi8rutrV/xlr3RQCMMb3yqP85Qiw/3NReozrSW+4dfLkK+rc1hb4wPU/A==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.1", @@ -1429,7 +1431,7 @@ "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", - "@radix-ui/react-dismissable-layer": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.3", "@radix-ui/react-focus-guards": "1.1.1", "@radix-ui/react-focus-scope": "1.1.1", "@radix-ui/react-id": "1.1.0", @@ -1441,7 +1443,7 @@ "@radix-ui/react-slot": "1.1.1", "@radix-ui/react-use-callback-ref": "1.1.0", "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.6.0" + "react-remove-scroll": "^2.6.1" }, "peerDependencies": { "@types/react": "*", @@ -2156,16 +2158,16 @@ } }, "node_modules/@radix-ui/react-toast": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.2.3.tgz", - "integrity": "sha512-oB8irs7CGAml6zWbum7MNySTH/sR7PM1ZQyLV8reO946u73sU83yZUKijrMLNbm4hTOrJY4tE8Oa/XUKrOr2Wg==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toast/-/react-toast-1.2.4.tgz", + "integrity": "sha512-Sch9idFJHJTMH9YNpxxESqABcAFweJG4tKv+0zo0m5XBvUSL8FM5xKcJLFLXononpePs8IclyX1KieL5SDUNgA==", "license": "MIT", "dependencies": { "@radix-ui/primitive": "1.1.1", "@radix-ui/react-collection": "1.1.1", "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.2", + "@radix-ui/react-dismissable-layer": "1.1.3", "@radix-ui/react-portal": "1.1.3", "@radix-ui/react-presence": "1.1.2", "@radix-ui/react-primitive": "2.0.1", @@ -2445,9 +2447,9 @@ "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.28.1.tgz", - "integrity": "sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz", + "integrity": "sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==", "cpu": [ "arm" ], @@ -2458,9 +2460,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.28.1.tgz", - "integrity": "sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz", + "integrity": "sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==", "cpu": [ "arm64" ], @@ -2471,9 +2473,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.28.1.tgz", - "integrity": "sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz", + "integrity": "sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==", "cpu": [ "arm64" ], @@ -2484,9 +2486,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.28.1.tgz", - "integrity": "sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz", + "integrity": "sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==", "cpu": [ "x64" ], @@ -2497,9 +2499,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.28.1.tgz", - "integrity": "sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz", + "integrity": "sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==", "cpu": [ "arm64" ], @@ -2510,9 +2512,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.28.1.tgz", - "integrity": "sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz", + "integrity": "sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==", "cpu": [ "x64" ], @@ -2523,9 +2525,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.28.1.tgz", - "integrity": "sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz", + "integrity": "sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==", "cpu": [ "arm" ], @@ -2536,9 +2538,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.28.1.tgz", - "integrity": "sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz", + "integrity": "sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==", "cpu": [ "arm" ], @@ -2549,9 +2551,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.28.1.tgz", - "integrity": "sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz", + "integrity": "sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==", "cpu": [ "arm64" ], @@ -2562,9 +2564,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.28.1.tgz", - "integrity": "sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz", + "integrity": "sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==", "cpu": [ "arm64" ], @@ -2575,9 +2577,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.28.1.tgz", - "integrity": "sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz", + "integrity": "sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==", "cpu": [ "loong64" ], @@ -2588,9 +2590,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.28.1.tgz", - "integrity": "sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz", + "integrity": "sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==", "cpu": [ "ppc64" ], @@ -2601,9 +2603,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.28.1.tgz", - "integrity": "sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz", + "integrity": "sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==", "cpu": [ "riscv64" ], @@ -2614,9 +2616,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.28.1.tgz", - "integrity": "sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz", + "integrity": "sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==", "cpu": [ "s390x" ], @@ -2627,9 +2629,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.28.1.tgz", - "integrity": "sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz", + "integrity": "sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==", "cpu": [ "x64" ], @@ -2640,9 +2642,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.28.1.tgz", - "integrity": "sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz", + "integrity": "sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==", "cpu": [ "x64" ], @@ -2653,9 +2655,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.28.1.tgz", - "integrity": "sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz", + "integrity": "sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==", "cpu": [ "arm64" ], @@ -2666,9 +2668,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.28.1.tgz", - "integrity": "sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz", + "integrity": "sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==", "cpu": [ "ia32" ], @@ -2679,9 +2681,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.28.1.tgz", - "integrity": "sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz", + "integrity": "sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==", "cpu": [ "x64" ], @@ -2741,70 +2743,70 @@ } }, "node_modules/@turf/area": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@turf/area/-/area-7.1.0.tgz", - "integrity": "sha512-w91FEe02/mQfMPRX2pXua48scFuKJ2dSVMF2XmJ6+BJfFiCPxp95I3+Org8+ZsYv93CDNKbf0oLNEPnuQdgs2g==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/area/-/area-7.2.0.tgz", + "integrity": "sha512-zuTTdQ4eoTI9nSSjerIy4QwgvxqwJVciQJ8tOPuMHbXJ9N/dNjI7bU8tasjhxas/Cx3NE9NxVHtNpYHL0FSzoA==", "license": "MIT", "dependencies": { - "@turf/helpers": "^7.1.0", - "@turf/meta": "^7.1.0", + "@turf/helpers": "^7.2.0", + "@turf/meta": "^7.2.0", "@types/geojson": "^7946.0.10", - "tslib": "^2.6.2" + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/bbox": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-7.1.0.tgz", - "integrity": "sha512-PdWPz9tW86PD78vSZj2fiRaB8JhUHy6piSa/QXb83lucxPK+HTAdzlDQMTKj5okRCU8Ox/25IR2ep9T8NdopRA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/bbox/-/bbox-7.2.0.tgz", + "integrity": "sha512-wzHEjCXlYZiDludDbXkpBSmv8Zu6tPGLmJ1sXQ6qDwpLE1Ew3mcWqt8AaxfTP5QwDNQa3sf2vvgTEzNbPQkCiA==", "license": "MIT", "dependencies": { - "@turf/helpers": "^7.1.0", - "@turf/meta": "^7.1.0", + "@turf/helpers": "^7.2.0", + "@turf/meta": "^7.2.0", "@types/geojson": "^7946.0.10", - "tslib": "^2.6.2" + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/centroid": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-7.1.0.tgz", - "integrity": "sha512-1Y1b2l+ZB1CZ+ITjUCsGqC4/tSjwm/R4OUfDztVqyyCq/VvezkLmTNqvXTGXgfP0GXkpv68iCfxF5M7QdM5pJQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/centroid/-/centroid-7.2.0.tgz", + "integrity": "sha512-yJqDSw25T7P48au5KjvYqbDVZ7qVnipziVfZ9aSo7P2/jTE7d4BP21w0/XLi3T/9bry/t9PR1GDDDQljN4KfDw==", "license": "MIT", "dependencies": { - "@turf/helpers": "^7.1.0", - "@turf/meta": "^7.1.0", + "@turf/helpers": "^7.2.0", + "@turf/meta": "^7.2.0", "@types/geojson": "^7946.0.10", - "tslib": "^2.6.2" + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/helpers": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.1.0.tgz", - "integrity": "sha512-dTeILEUVeNbaEeoZUOhxH5auv7WWlOShbx7QSd4s0T4Z0/iz90z9yaVCtZOLbU89umKotwKaJQltBNO9CzVgaQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/helpers/-/helpers-7.2.0.tgz", + "integrity": "sha512-cXo7bKNZoa7aC7ydLmUR02oB3IgDe7MxiPuRz3cCtYQHn+BJ6h1tihmamYDWWUlPHgSNF0i3ATc4WmDECZafKw==", "license": "MIT", "dependencies": { "@types/geojson": "^7946.0.10", - "tslib": "^2.6.2" + "tslib": "^2.8.1" }, "funding": { "url": "https://opencollective.com/turf" } }, "node_modules/@turf/meta": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.1.0.tgz", - "integrity": "sha512-ZgGpWWiKz797Fe8lfRj7HKCkGR+nSJ/5aKXMyofCvLSc2PuYJs/qyyifDPWjASQQCzseJ7AlF2Pc/XQ/3XkkuA==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@turf/meta/-/meta-7.2.0.tgz", + "integrity": "sha512-igzTdHsQc8TV1RhPuOLVo74Px/hyPrVgVOTgjWQZzt3J9BVseCdpfY/0cJBdlSRI4S/yTmmHl7gAqjhpYH5Yaw==", "license": "MIT", "dependencies": { - "@turf/helpers": "^7.1.0", + "@turf/helpers": "^7.2.0", "@types/geojson": "^7946.0.10" }, "funding": { @@ -2886,9 +2888,9 @@ } }, "node_modules/@types/node": { - "version": "22.10.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz", - "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==", + "version": "22.10.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.7.tgz", + "integrity": "sha512-V09KvXxFiutGp6B7XkpaDXlNadZxrzajcY50EuoLIpQ6WWYCSvf19lVIazzfIzQvhUN2HjX12spLojTnhuKlGg==", "license": "MIT", "peer": true, "dependencies": { @@ -2909,9 +2911,9 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "18.3.17", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.17.tgz", - "integrity": "sha512-opAQ5no6LqJNo9TqnxBKsgnkIYHozW9KSTlFVoSUJYh1Fl/sswkEoqIugRSm7tbh6pABtYjGAjW+GOS23j8qbw==", + "version": "18.3.18", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz", + "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", "devOptional": true, "license": "MIT", "dependencies": { @@ -3168,6 +3170,35 @@ "node": ">=0.4.0" } }, + "node_modules/ag-charts-types": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/ag-charts-types/-/ag-charts-types-11.0.4.tgz", + "integrity": "sha512-K/Mi7FXvSCoABLSrqQ70k1QrIL5R6RNCt2NAppOxMEir+DVFPqKZtghruobc2MGVUUKkT9MCn6Dun+fL6yZjfA==", + "license": "MIT" + }, + "node_modules/ag-grid-community": { + "version": "33.0.4", + "resolved": "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-33.0.4.tgz", + "integrity": "sha512-iBD8g8bNIl95w9CzCQpDid+eTdmOoT39204sPUOhE9eE50vfoDHIaF5U4fRYQHbLsT4bwbXfQYdsqBAOLJL24w==", + "license": "MIT", + "dependencies": { + "ag-charts-types": "11.0.4" + } + }, + "node_modules/ag-grid-react": { + "version": "33.0.4", + "resolved": "https://registry.npmjs.org/ag-grid-react/-/ag-grid-react-33.0.4.tgz", + "integrity": "sha512-0Y54BmY03athtqfpO5kTR/gjyP6Qw4LP+EQD2duBZ3yj4SWWlwE1Ob7Lc7OuZRHxl2dxLQy2edagJHrqnmopKw==", + "license": "MIT", + "dependencies": { + "ag-grid-community": "33.0.4", + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -3464,9 +3495,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.3.tgz", - "integrity": "sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==", + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", "funding": [ { "type": "opencollective", @@ -3512,9 +3543,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001689", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001689.tgz", - "integrity": "sha512-CmeR2VBycfa+5/jOfnp/NpWPGd06nf1XYiefUvhXFfZE4GkRc9jv+eGPS4nT558WS/8lYCzV8SlANCIPvbWP1g==", + "version": "1.0.30001695", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001695.tgz", + "integrity": "sha512-vHyLade6wTgI2u1ec3WQBxv+2BrTERV28UXQu9LO6lZ9pYeMk34vjXFLOxo1A4UBA8XTL4njRQZdno/yYaSmWw==", "funding": [ { "type": "opencollective", @@ -4176,9 +4207,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.74", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.74.tgz", - "integrity": "sha512-ck3//9RC+6oss/1Bh9tiAVFy5vfSKbRHAFh7Z3/eTRkEqJeWgymloShB17Vg3Z4nmDNp35vAd1BZ6CMW4Wt6Iw==", + "version": "1.5.84", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.84.tgz", + "integrity": "sha512-I+DQ8xgafao9Ha6y0qjHHvpZ9OfyA1qKlkHkjywxzniORU2awxyz7f/iVJcULmrF2yrM3nHQf+iDjJtbbexd/g==", "license": "ISC" }, "node_modules/element-size": { @@ -4213,9 +4244,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.0.tgz", + "integrity": "sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==", "license": "MIT", "peer": true, "dependencies": { @@ -4227,9 +4258,9 @@ } }, "node_modules/es-module-lexer": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", + "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", "license": "MIT", "peer": true }, @@ -4484,9 +4515,9 @@ "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, "license": "MIT", "dependencies": { @@ -4494,7 +4525,7 @@ "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -4530,16 +4561,26 @@ "peer": true }, "node_modules/fast-uri": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.3.tgz", - "integrity": "sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==", + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], "license": "BSD-3-Clause", "peer": true }, "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", + "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", "dev": true, "license": "ISC", "dependencies": { @@ -5157,9 +5198,9 @@ "license": "MIT" }, "node_modules/is-core-module": { - "version": "2.16.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.0.tgz", - "integrity": "sha512-urTSINYfAYgcbLb0yDQ6egFm6h3Mo1DcF9EkyXSRjjzdHbsulg01qhwWuXdOoUBuTkbQ80KDboXa0vFJ+BDH+g==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "license": "MIT", "dependencies": { "hasown": "^2.0.2" @@ -5327,9 +5368,9 @@ } }, "node_modules/jiti": { - "version": "1.21.6", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", - "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "version": "1.21.7", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", + "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", "dev": true, "license": "MIT", "bin": { @@ -5580,9 +5621,9 @@ "license": "BSD-2-Clause" }, "node_modules/maplibre-gl/node_modules/earcut": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.0.tgz", - "integrity": "sha512-41Fs7Q/PLq1SDbqjsgcY7GA42T0jvaCNGXgGtsNdvg+Yv8eIu06bxv4/PoREkZ9nMDNwnUSG9OFB9+yv8eKhDg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-3.0.1.tgz", + "integrity": "sha512-0l1/0gOjESMeQyYaK5IDiPNvFeu93Z/cO0TjZh9eZ1vyCtZnA7KMZ8rQggpsJHIbGSdrqYq9OhuveadOVHCshw==", "license": "ISC" }, "node_modules/maplibre-gl/node_modules/geojson-vt": { @@ -6128,9 +6169,9 @@ "license": "MIT" }, "node_modules/postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", "funding": [ { "type": "opencollective", @@ -6147,7 +6188,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", + "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -6557,23 +6598,23 @@ } }, "node_modules/react-remove-scroll": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.0.tgz", - "integrity": "sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.3.tgz", + "integrity": "sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==", "license": "MIT", "dependencies": { - "react-remove-scroll-bar": "^2.3.6", - "react-style-singleton": "^2.2.1", + "react-remove-scroll-bar": "^2.3.7", + "react-style-singleton": "^2.2.3", "tslib": "^2.1.0", - "use-callback-ref": "^1.3.0", - "use-sidecar": "^1.1.2" + "use-callback-ref": "^1.3.3", + "use-sidecar": "^1.1.3" }, "engines": { "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -6815,9 +6856,9 @@ } }, "node_modules/resolve": { - "version": "1.22.9", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.9.tgz", - "integrity": "sha512-QxrmX1DzraFIi9PxdG5VkRfRwIgjwyud+z/iBwfRRrVmHc+P9Q7u2lSSpQ6bjr2gy5lrqIiU9vb6iAeGf2400A==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "license": "MIT", "dependencies": { "is-core-module": "^2.16.0", @@ -6827,6 +6868,9 @@ "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6858,9 +6902,9 @@ "license": "MIT" }, "node_modules/rollup": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.28.1.tgz", - "integrity": "sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.31.0.tgz", + "integrity": "sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==", "license": "MIT", "dependencies": { "@types/estree": "1.0.6" @@ -6873,25 +6917,25 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.28.1", - "@rollup/rollup-android-arm64": "4.28.1", - "@rollup/rollup-darwin-arm64": "4.28.1", - "@rollup/rollup-darwin-x64": "4.28.1", - "@rollup/rollup-freebsd-arm64": "4.28.1", - "@rollup/rollup-freebsd-x64": "4.28.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.28.1", - "@rollup/rollup-linux-arm-musleabihf": "4.28.1", - "@rollup/rollup-linux-arm64-gnu": "4.28.1", - "@rollup/rollup-linux-arm64-musl": "4.28.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.28.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.28.1", - "@rollup/rollup-linux-riscv64-gnu": "4.28.1", - "@rollup/rollup-linux-s390x-gnu": "4.28.1", - "@rollup/rollup-linux-x64-gnu": "4.28.1", - "@rollup/rollup-linux-x64-musl": "4.28.1", - "@rollup/rollup-win32-arm64-msvc": "4.28.1", - "@rollup/rollup-win32-ia32-msvc": "4.28.1", - "@rollup/rollup-win32-x64-msvc": "4.28.1", + "@rollup/rollup-android-arm-eabi": "4.31.0", + "@rollup/rollup-android-arm64": "4.31.0", + "@rollup/rollup-darwin-arm64": "4.31.0", + "@rollup/rollup-darwin-x64": "4.31.0", + "@rollup/rollup-freebsd-arm64": "4.31.0", + "@rollup/rollup-freebsd-x64": "4.31.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.31.0", + "@rollup/rollup-linux-arm-musleabihf": "4.31.0", + "@rollup/rollup-linux-arm64-gnu": "4.31.0", + "@rollup/rollup-linux-arm64-musl": "4.31.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.31.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.31.0", + "@rollup/rollup-linux-riscv64-gnu": "4.31.0", + "@rollup/rollup-linux-s390x-gnu": "4.31.0", + "@rollup/rollup-linux-x64-gnu": "4.31.0", + "@rollup/rollup-linux-x64-musl": "4.31.0", + "@rollup/rollup-win32-arm64-msvc": "4.31.0", + "@rollup/rollup-win32-ia32-msvc": "4.31.0", + "@rollup/rollup-win32-x64-msvc": "4.31.0", "fsevents": "~2.3.2" } }, @@ -7403,9 +7447,9 @@ } }, "node_modules/tailwindcss": { - "version": "3.4.16", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.16.tgz", - "integrity": "sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw==", + "version": "3.4.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", + "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", "dev": true, "license": "MIT", "dependencies": { @@ -7738,9 +7782,9 @@ "license": "MIT" }, "node_modules/update-browserslist-db": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", - "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", "funding": [ { "type": "opencollective", @@ -7758,7 +7802,7 @@ "license": "MIT", "dependencies": { "escalade": "^3.2.0", - "picocolors": "^1.1.0" + "picocolors": "^1.1.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -7784,9 +7828,9 @@ } }, "node_modules/use-callback-ref": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", - "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", "license": "MIT", "dependencies": { "tslib": "^2.0.0" @@ -7795,8 +7839,8 @@ "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -7833,9 +7877,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.5.tgz", - "integrity": "sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==", + "version": "4.5.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.9.tgz", + "integrity": "sha512-qK9W4xjgD3gXbC0NmdNFFnVFLMWSNiR3swj957yutwzzN16xF/E7nmtAyp1rT9hviDroQANjE4HK3H4WqWdFtw==", "dev": true, "license": "MIT", "dependencies": { @@ -8193,9 +8237,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", - "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", + "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", "dev": true, "license": "ISC", "bin": { diff --git a/frontend-components/tables/package.json b/frontend-components/tables/package.json index dc6c579b5df..8c07f352366 100644 --- a/frontend-components/tables/package.json +++ b/frontend-components/tables/package.json @@ -23,7 +23,7 @@ "@tanstack/react-table": "^8.7.9", "dom-to-image": "^2.6.0", "nanoid": ">=3.3.8", - "plotly.js": "^2.32.0", + "plotly.js": "^2.35.2", "react": "^17.0.0", "react-dnd": "^16.0.1", "react-dnd-html5-backend": "^16.0.1", @@ -46,7 +46,7 @@ "postcss": "^8.4.21", "tailwindcss": "^3.2.7", "typescript": "^4.9.3", - "vite": ">=4.5.4", + "vite": ">=4.5.6", "vite-plugin-singlefile": "^0.13.3" } } diff --git a/frontend-components/tables/vite.config.ts b/frontend-components/tables/vite.config.ts index 97090b8a6ef..7d90576c34c 100644 --- a/frontend-components/tables/vite.config.ts +++ b/frontend-components/tables/vite.config.ts @@ -2,7 +2,23 @@ import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; import { viteSingleFile } from "vite-plugin-singlefile"; + +const stripUseClientDirective = () => { + return { + name: 'strip-use-client', + transform(code) { + if (code.includes('use client')) { + return { + code: code.replace(/"use client"/, ''), + map: null + } + } + } + } +} + // https://vitejs.dev/config/ export default defineConfig({ - plugins: [react(), viteSingleFile()], + plugins: [react(), + stripUseClientDirective(),viteSingleFile()], }); diff --git a/openbb_platform/core/openbb_core/api/app_loader.py b/openbb_platform/core/openbb_core/api/app_loader.py index b11b0abefc8..a336e8e9dfc 100644 --- a/openbb_platform/core/openbb_core/api/app_loader.py +++ b/openbb_platform/core/openbb_core/api/app_loader.py @@ -3,6 +3,7 @@ from typing import List, Optional from fastapi import APIRouter, FastAPI +from fastapi.exceptions import ResponseValidationError from openbb_core.api.exception_handlers import ExceptionHandlers from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.app.router import RouterLoader @@ -38,6 +39,7 @@ class AppLoader: """Add exception handlers.""" app.exception_handlers[Exception] = ExceptionHandlers.exception app.exception_handlers[ValidationError] = ExceptionHandlers.validation + app.exception_handlers[ResponseValidationError] = ExceptionHandlers.validation app.exception_handlers[OpenBBError] = ExceptionHandlers.openbb app.exception_handlers[EmptyDataError] = ExceptionHandlers.empty_data app.exception_handlers[UnauthorizedError] = ExceptionHandlers.unauthorized diff --git a/openbb_platform/core/openbb_core/api/exception_handlers.py b/openbb_platform/core/openbb_core/api/exception_handlers.py index 9a96c5eadba..22ff808adb9 100644 --- a/openbb_platform/core/openbb_core/api/exception_handlers.py +++ b/openbb_platform/core/openbb_core/api/exception_handlers.py @@ -4,9 +4,10 @@ import logging from collections.abc import Iterable -from typing import Any +from typing import Any, Union from fastapi import Request +from fastapi.exceptions import ResponseValidationError from fastapi.responses import JSONResponse, Response from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.env import Env @@ -35,7 +36,8 @@ class ExceptionHandlers: @staticmethod async def exception(_: Request, error: Exception) -> JSONResponse: """Exception handler for Base Exception.""" - errors = error.errors(include_url=False) if hasattr(error, "errors") else error + errors = error.errors if hasattr(error, "errors") else error + if errors: if isinstance(errors, ValueError): return await ExceptionHandlers._handle( @@ -55,11 +57,13 @@ class ExceptionHandlers: return await ExceptionHandlers._handle( exception=error, status_code=500, - detail=f"Unexpected Error -> {error.__class__.__name__} -> {str(error.args[0] or error.args)}", + detail=f"Unexpected Error -> {error.__class__.__name__} -> {error}", ) @staticmethod - async def validation(request: Request, error: ValidationError): + async def validation( + request: Request, error: Union[ValidationError, ResponseValidationError] + ): """Exception handler for ValidationError.""" # Some validation is performed at Fetcher level. # So we check if the validation error comes from a QueryParams class. @@ -67,7 +71,27 @@ class ExceptionHandlers: # If yes, we update the error location with query. # If not, we handle it as a base Exception error. query_params = dict(request.query_params) - errors = error.errors(include_url=False) + if isinstance(error, ResponseValidationError): + detail = [ + { + **{k: v for k, v in err.items() if k != "ctx"}, + "loc": ("query",) + err.get("loc", ()), + } + for err in error.errors() + ] + return await ExceptionHandlers._handle( + exception=error, + status_code=422, + detail=detail, + ) + try: + errors = ( + error.errors(include_url=False) + if hasattr(error, "errors") + else error.errors + ) + except Exception: + errors = error.errors if hasattr(error, "errors") else error all_in_query = all( loc in query_params for err in errors for loc in err.get("loc", ()) ) diff --git a/openbb_platform/core/openbb_core/api/rest_api.py b/openbb_platform/core/openbb_core/api/rest_api.py index e74b8774121..fc2e912a544 100644 --- a/openbb_platform/core/openbb_core/api/rest_api.py +++ b/openbb_platform/core/openbb_core/api/rest_api.py @@ -85,6 +85,17 @@ AppLoader.add_exception_handlers(app) if __name__ == "__main__": + # pylint: disable=import-outside-toplevel import uvicorn - uvicorn.run("openbb_core.api.rest_api:app", reload=True) + # This initializes the OpenBB environment variables so they can be read before uvicorn is run. + Env() + uvicorn_kwargs = system.python_settings.model_dump().get("uvicorn", {}) + uvicorn_reload = uvicorn_kwargs.pop("reload", None) + + if uvicorn_reload is None or uvicorn_reload: + uvicorn_kwargs["reload"] = True + + uvicorn_app = uvicorn_kwargs.pop("app", "openbb_core.api.rest_api:app") + + uvicorn.run(uvicorn_app, **uvicorn_kwargs) diff --git a/openbb_platform/core/openbb_core/api/router/commands.py b/openbb_platform/core/openbb_core/api/router/commands.py index f5239199c5c..6ac44ffa5eb 100644 --- a/openbb_platform/core/openbb_core/api/router/commands.py +++ b/openbb_platform/core/openbb_core/api/router/commands.py @@ -167,6 +167,10 @@ def validate_output(c_out: OBBject) -> OBBject: elif is_model(getattr(field, "annotation", None)): exclude_fields_from_api(field_name, getattr(value, field_name)) + # Let a non-OBBject object pass through without validation + if not isinstance(c_out, OBBject): + return c_out + for k, v in c_out.model_copy(): exclude_fields_from_api(k, v) @@ -181,12 +185,15 @@ def build_api_wrapper( func: Callable = route.endpoint # type: ignore path: str = route.path # type: ignore + no_validate = route.openapi_extra.get("no_validate") new_signature = build_new_signature(path=path, func=func) new_annotations_map = build_new_annotation_map(sig=new_signature) - func.__signature__ = new_signature # type: ignore func.__annotations__ = new_annotations_map + if no_validate is True: + route.response_model = None + @wraps(wrapped=func) async def wrapper(*args: Tuple[Any], **kwargs: Dict[str, Any]) -> OBBject: user_settings: UserSettings = UserSettings.model_validate( @@ -238,8 +245,10 @@ def build_api_wrapper( kwargs["extra_params"] = extra_params execute = partial(command_runner.run, path, user_settings) - output: OBBject = await execute(*args, **kwargs) + output = await execute(*args, **kwargs) + if no_validate is True: + return output return validate_output(output) return wrapper diff --git a/openbb_platform/core/openbb_core/app/command_runner.py b/openbb_platform/core/openbb_core/app/command_runner.py index c050c6ae340..ebeac7f863d 100644 --- a/openbb_platform/core/openbb_core/app/command_runner.py +++ b/openbb_platform/core/openbb_core/app/command_runner.py @@ -16,11 +16,13 @@ from openbb_core.app.model.abstract.warning import OpenBBWarning, cast_warning from openbb_core.app.model.metadata import Metadata from openbb_core.app.model.obbject import OBBject from openbb_core.app.provider_interface import ExtraParams +from openbb_core.app.static.package_builder import PathHandler from openbb_core.env import Env from openbb_core.provider.utils.helpers import maybe_coroutine, run_async from pydantic import BaseModel, ConfigDict, create_model if TYPE_CHECKING: + from fastapi.routing import APIRoute from openbb_core.app.model.system_settings import SystemSettings from openbb_core.app.model.user_settings import UserSettings from openbb_core.app.router import CommandMap @@ -29,6 +31,9 @@ if TYPE_CHECKING: class ExecutionContext: """Execution context.""" + # For checking if the command specifies no validation in the API Route + _route_map = PathHandler.build_route_map() + def __init__( self, command_map: "CommandMap", @@ -42,6 +47,11 @@ class ExecutionContext: self.system_settings = system_settings self.user_settings = user_settings + @property + def api_route(self) -> "APIRoute": + """API route.""" + return self._route_map[self.route] + class ParametersBuilder: """Build parameters for a function.""" @@ -222,7 +232,12 @@ class StaticCommandRunner: ) -> OBBject: """Run a command and return the output.""" obbject = await maybe_coroutine(func, **kwargs) - obbject.provider = getattr(kwargs.get("provider_choices"), "provider", None) + if isinstance(obbject, OBBject): + obbject.provider = getattr( + kwargs.get("provider_choices"), + "provider", + getattr(obbject, "provider", None), + ) return obbject @classmethod @@ -314,21 +329,49 @@ class StaticCommandRunner: for name, default in model_headers.items() or {} } or None + validate = not execution_context.api_route.openapi_extra.get("no_validate") try: obbject = await cls._command(func, kwargs) + # The output might be from a router command with 'no_validate=True' + # It might be of a different type than OBBject. + # In this case, we avoid accessing those attributes. + if isinstance(obbject, OBBject) or validate: + if validate and not isinstance(obbject, OBBject): + raise OpenBBError( + TypeError( + f"Expected OBBject instance at function output, got {type(obbject)} instead." + ) + ) + # This section prepares the obbject to pass to the charting service. + obbject._route = route # pylint: disable=protected-access + std_params = cls._extract_params(kwargs, "standard_params") or ( + kwargs if "data" in kwargs else {} + ) + extra_params = cls._extract_params(kwargs, "extra_params") + obbject._standard_params = ( # pylint: disable=protected-access + std_params + ) + obbject._extra_params = ( # pylint: disable=protected-access + extra_params + ) + if chart and obbject.results: + cls._chart(obbject, **kwargs) - # This section prepares the obbject to pass to the charting service. - obbject._route = route # pylint: disable=protected-access - std_params = cls._extract_params(kwargs, "standard_params") or ( - kwargs if "data" in kwargs else {} - ) - extra_params = cls._extract_params(kwargs, "extra_params") - obbject._standard_params = ( # pylint: disable=protected-access - std_params - ) - obbject._extra_params = extra_params # pylint: disable=protected-access - if chart and obbject.results: - cls._chart(obbject, **kwargs) + if warning_list: + if isinstance(obbject, OBBject): + obbject.warnings = [] + for w in warning_list: + if isinstance(obbject, OBBject): + obbject.warnings.append(cast_warning(w)) + if user_settings.preferences.show_warnings: + showwarning( + message=w.message, + category=w.category, + filename=w.filename, + lineno=w.lineno, + file=w.file, + line=w.line, + ) finally: ls = LoggingService(system_settings, user_settings) ls.log( @@ -341,19 +384,6 @@ class StaticCommandRunner: custom_headers=custom_headers, ) - if warning_list: - obbject.warnings = [] - for w in warning_list: - obbject.warnings.append(cast_warning(w)) - if user_settings.preferences.show_warnings: - showwarning( - message=w.message, - category=w.category, - filename=w.filename, - lineno=w.lineno, - file=w.file, - line=w.line, - ) return obbject # pylint: disable=W0718 @@ -385,7 +415,9 @@ class StaticCommandRunner: duration = perf_counter_ns() - start_ns - if execution_context.user_settings.preferences.metadata: + if execution_context.user_settings.preferences.metadata and isinstance( + obbject, OBBject + ): try: obbject.extra["metadata"] = Metadata( arguments=kwargs, diff --git a/openbb_platform/core/openbb_core/app/logs/handlers/posthog_handler.py b/openbb_platform/core/openbb_core/app/logs/handlers/posthog_handler.py index be824a3a311..edea4151df0 100644 --- a/openbb_platform/core/openbb_core/app/logs/handlers/posthog_handler.py +++ b/openbb_platform/core/openbb_core/app/logs/handlers/posthog_handler.py @@ -26,12 +26,17 @@ class PosthogHandler(logging.Handler): def __init__(self, settings: LoggingSettings): """Initialize Posthog Handler.""" + # pylint: disable=import-outside-toplevel + from openbb_core.provider.utils.helpers import get_requests_session super().__init__() self._settings = settings self.logged_in = False posthog.api_key = "phc_6FXLqu4uW9yxfyN8DpPdgzCdlYXOmIWdMGh6GnBgJLX" # pragma: allowlist secret # noqa posthog.host = "https://app.posthog.com" # noqa + posthog.request._session = ( # pylint: disable=protected-access + get_requests_session() + ) @property def settings(self) -> LoggingSettings: diff --git a/openbb_platform/core/openbb_core/app/model/python_settings.py b/openbb_platform/core/openbb_core/app/model/python_settings.py index f03648c92b4..8eba7cc875c 100644 --- a/openbb_platform/core/openbb_core/app/model/python_settings.py +++ b/openbb_platform/core/openbb_core/app/model/python_settings.py @@ -2,12 +2,14 @@ from typing import List, Optional -from pydantic import BaseModel, Field, PositiveInt +from pydantic import BaseModel, ConfigDict, Field, PositiveInt class PythonSettings(BaseModel): """Settings model for Python interface configuration.""" + model_config = ConfigDict(extra="allow") + docstring_sections: List[str] = Field( default_factory=lambda: ["description", "parameters", "returns", "examples"], description="Sections to include in autogenerated docstrings.", @@ -15,6 +17,55 @@ class PythonSettings(BaseModel): docstring_max_length: Optional[PositiveInt] = Field( default=None, description="Maximum length of autogenerated docstrings." ) + http: Optional[dict] = Field( + default_factory=dict, + description="HTTP settings covers all requests made by the internal, utility, functions." + + " The configuration applies to both the requests and aiohttp libraries." + + "\n " + + """Available settings: + - cafile: str - Path to a CA certificate file. + - certfile: str - Path to a client certificate file. + - keyfile: str - Path to a client key file. + - password: str - Password for the client key file. # aiohttp only + - verify_ssl: bool - Verify SSL certificates. + - fingerprint: str - SSL fingerprint. # aiohttp only + - proxy: str - Proxy URL. + - proxy_auth: str | list - Proxy authentication. # aiohttp only + - proxy_headers: dict - Proxy headers. # aiohttp only + - timeout: int - Request timeout. + - auth: str | list - Basic authentication. + - headers: dict - Request headers. + - cookies: dict - Dictionary of session cookies. + + Any additional keys supplied will be ignored unless explicitly implemented via custom code. + + The settings are passed into the `requests.Session` object and the `aiohttp.ClientSession` object by: + - `openbb_core.provider.utils.helpers.make_request` - Sync + - `openbb_core.provider.utils.helpers.amake_request` - Async + - `openbb_core.provider.utils.helpers.amake_requests` - Async (multiple requests) + - Inserted to use with YFinance & Finviz library implementations. + + Return a session object with the settings applied by: + - `openbb_core.provider.utils.helpers.get_requests_session` + - `openbb_core.provider.utils.helpers.get_async_requests_session` + """, + ) + uvicorn: Optional[dict] = Field( + default_factory=dict, + description="Uvicorn settings, covers all the launch of FastAPI when using the following entry points:" + + "\n " + + """ + - Running the FastAPI as a Python module script. + - python -m openbb_core.api.rest_api + - Running the `openbb-api` command. + - openbb-api + + All settings are passed directly to `uvicorn.run`, and can be found in the Uvicorn documentation. + - https://www.uvicorn.org/settings/ + + Keyword arguments supplied to the command line will take priority over the settings in this configuration. + """, + ) def __repr__(self) -> str: """Return a string representation of the model.""" diff --git a/openbb_platform/core/openbb_core/app/router.py b/openbb_platform/core/openbb_core/app/router.py index 72c2e375175..1eb97f8fd4a 100644 --- a/openbb_platform/core/openbb_core/app/router.py +++ b/openbb_platform/core/openbb_core/app/router.py @@ -2,14 +2,13 @@ import traceback import warnings -from functools import lru_cache, partial -from inspect import Parameter, Signature, isclass, iscoroutinefunction, signature +from functools import lru_cache +from inspect import isclass from typing import ( Any, Callable, Dict, List, - Mapping, Optional, Type, get_args, @@ -32,8 +31,7 @@ from openbb_core.app.provider_interface import ( ) from openbb_core.env import Env from pydantic import BaseModel -from pydantic.v1.validators import find_validators -from typing_extensions import Annotated, ParamSpec, _AnnotatedAlias +from typing_extensions import Annotated, ParamSpec P = ParamSpec("P") @@ -45,158 +43,6 @@ class OpenBBErrorResponse(BaseModel): error_kind: str -class CommandValidator: - """Validate Command.""" - - @staticmethod - def is_standard_pydantic_type(value_type: Type) -> bool: - """Check whether or not a parameter type is a valid Pydantic Standard Type.""" - try: - func = next( - find_validators(value_type, config=dict(arbitrary_types_allowed=True)) # type: ignore - ) - valid_type = func.__name__ != "arbitrary_type_validator" - except Exception: - valid_type = False - - return valid_type - - @staticmethod - def is_valid_pydantic_model_type(model_type: Type) -> bool: - """Check whether or not a parameter type is a valid Pydantic Model Type.""" - if not isclass(model_type): - return False - - if issubclass(model_type, BaseModel): - try: - model_type.model_json_schema() - return True - except ValueError: - return False - return False - - @classmethod - def is_serializable_value_type(cls, value_type: Type) -> bool: - """Check whether or not a parameter type is a valid serializable type.""" - return cls.is_standard_pydantic_type( - value_type=value_type - ) or cls.is_valid_pydantic_model_type(model_type=value_type) - - @staticmethod - def is_annotated_dc(annotation) -> bool: - """Check whether or not a parameter type is an annotated dataclass.""" - return isinstance(annotation, _AnnotatedAlias) and hasattr( - annotation.__args__[0], "__dataclass_fields__" - ) - - @staticmethod - def check_reserved_param( - name: str, - expected_annot: Any, - parameter_map: Mapping[str, Parameter], - func: Callable, - sig: Signature, - ): - """Check whether or not a parameter is reserved.""" - if name in parameter_map: - annotation = getattr(parameter_map[name], "annotation", None) - if annotation is not None and CommandValidator.is_annotated_dc(annotation): - annotation = annotation.__args__[0].__bases__[0] - if not annotation == expected_annot: - raise TypeError( - f"The parameter `{name}` must be a {expected_annot}.\n" - f"module = {func.__module__}\n" - f"function = {func.__name__}\n" - f"signature = {sig}\n" - ) - - @classmethod - def check_parameters(cls, func: Callable): - """Check whether or not a parameter is a valid.""" - # pylint: disable=import-outside-toplevel - from openbb_core.app.model.command_context import CommandContext - - sig = signature(func) - parameter_map = sig.parameters - - check_reserved = partial( - cls.check_reserved_param, parameter_map=parameter_map, func=func, sig=sig - ) - check_reserved("cc", CommandContext) - check_reserved("provider_choices", ProviderChoices) - check_reserved("standard_params", StandardParams) - check_reserved("extra_params", ExtraParams) - - for parameter in parameter_map.values(): - if not cls.is_serializable_value_type(value_type=parameter.annotation): - raise TypeError( - "Invalid parameter type, please provide a serializable type like:" - "BaseModel, Pydantic Standard Type or CommandContext.\n" - f"module = {func.__module__}\n" - f"function = {func.__name__}\n" - f"signature = {sig}\n" - f"parameter = {parameter}\n" - ) - - @classmethod - def check_return(cls, func: Callable): - """Check whether or not a return type is a valid.""" - # pylint: disable=import-outside-toplevel - - sig = signature(func) - return_type = sig.return_annotation - - valid_return_type = False - - if isclass(return_type) and issubclass(return_type, OBBject): - results_type = return_type.__pydantic_generic_metadata__.get("args", [])[ - 0 - ] # type: ignore - if not isinstance(results_type, type(None)): - generic_type_list = get_args(results_type) - if len(generic_type_list) >= 1: - valid_return_type = cls.is_serializable_value_type( - value_type=generic_type_list[len(generic_type_list) - 1] - ) - else: - valid_return_type = cls.is_serializable_value_type( - value_type=results_type - ) - - if not valid_return_type: - raise TypeError( - "\nInvalid function: " - f" {func.__module__}.{func.__name__}\n" - "Invalid return type in signature:" - f" {func.__name__}(...) -> {sig.return_annotation}:\n" - "Allowed return type:" - f" {func.__name__}(...) -> OBBject[T] :\n" - "If you need T = None, use an empty model instead.\n" - ) - - @classmethod - def check(cls, func: Callable, model: str = ""): - """Check whether or not a function is valid.""" - if model and not iscoroutinefunction(func): - raise TypeError( - f"Invalid function: {func.__module__}.{func.__name__}\n" - "Model is specified but function is not async.\n" - "\n\n" - '\033[92m@router.command(model="WorldNews")\n' - "async def world(\n" - " cc: CommandContext,\n" - " provider_choices: ProviderChoices,\n" - " standard_params: StandardParams,\n" - " extra_params: ExtraParams,\n" - ") -> OBBject:\n" - ' """World News. Global news data."""\n' - " return await OBBject.from_query(Query(**locals()))\033[0m" - ) - - cls.check_return(func=func) - cls.check_parameters(func=func) - - class Router: """OpenBB Router Class.""" @@ -253,7 +99,9 @@ class Router: api_router = self._api_router model = kwargs.pop("model", "") - + no_validate = kwargs.pop("no_validate", None) + if no_validate is True: + func.__annotations__["return"] = None if func := SignatureInspector.complete(func, model): kwargs["response_model_exclude_unset"] = True @@ -263,15 +111,20 @@ class Router: examples=kwargs.pop("examples", []), providers=ProviderInterface().available_providers, ) + kwargs["openapi_extra"]["no_validate"] = no_validate kwargs["operation_id"] = kwargs.get( "operation_id", SignatureInspector.get_operation_id(func) ) kwargs["path"] = kwargs.get("path", f"/{func.__name__}") kwargs["endpoint"] = func kwargs["methods"] = kwargs.get("methods", ["GET"]) - kwargs["response_model"] = kwargs.get( - "response_model", - func.__annotations__["return"], # type: ignore + kwargs["response_model"] = ( + kwargs.get( + "response_model", + func.__annotations__["return"], # type: ignore + ) + if not no_validate + else func.__annotations__["return"] ) kwargs["response_model_by_alias"] = kwargs.get( "response_model_by_alias", False @@ -431,19 +284,20 @@ class SignatureInspector: return_type = func.__annotations__["return"] is_list = False - results_type = get_type_hints(return_type)["results"] - results_type_args = get_args(results_type) - if not isinstance(results_type, type(None)): - results_type = results_type_args[0] + if return_type == OBBject: + results_type = get_type_hints(return_type)["results"] + results_type_args = get_args(results_type) + if not isinstance(results_type, type(None)): + results_type = results_type_args[0] - is_list = isinstance(get_origin(results_type), list) - inner_type = ( - results_type_args[0] if is_list and results_type_args else results_type - ) - inner_type_name = getattr(inner_type, "__name__", inner_type) + is_list = isinstance(get_origin(results_type), list) + inner_type = ( + results_type_args[0] if is_list and results_type_args else results_type + ) + inner_type_name = getattr(inner_type, "__name__", inner_type) - func.__annotations__["return"].__doc__ = "OBBject" - func.__annotations__["return"].__name__ = f"OBBject[{inner_type_name}]" + func.__annotations__["return"].__doc__ = "OBBject" + func.__annotations__["return"].__name__ = f"OBBject[{inner_type_name}]" return func diff --git a/openbb_platform/core/openbb_core/app/service/hub_service.py b/openbb_platform/core/openbb_core/app/service/hub_service.py index 52d92d793e2..6233d3f7ddf 100644 --- a/openbb_platform/core/openbb_core/app/service/hub_service.py +++ b/openbb_platform/core/openbb_core/app/service/hub_service.py @@ -13,7 +13,6 @@ from openbb_core.app.model.hub.hub_user_settings import HubUserSettings from openbb_core.app.model.profile import Profile from openbb_core.app.model.user_settings import UserSettings from openbb_core.env import Env -from requests import get, post, put class HubService: @@ -39,9 +38,13 @@ class HubService: base_url: Optional[str] = None, ): """Initialize Hub service.""" + # pylint: disable=import-outside-toplevel + from openbb_core.provider.utils.helpers import get_requests_session + self._base_url = base_url or Env().HUB_BACKEND self._session = session self._hub_user_settings: Optional[HubUserSettings] = None + self._request_session = get_requests_session() @property def base_url(self) -> str: @@ -112,7 +115,7 @@ class HubService: if not password: raise OpenBBError("Password not found.") - response = post( + response = self._request_session.post( url=self._base_url + "/login", json={ "email": email, @@ -144,7 +147,7 @@ class HubService: self._check_token_expiration(token) - response = post( + response = self._request_session.post( url=self._base_url + "/sdk/login", json={ "token": token, @@ -173,7 +176,7 @@ class HubService: token_type = session.token_type authorization = f"{token_type.title()} {access_token}" - response = get( + response = self._request_session.get( url=self._base_url + "/logout", headers={"Authorization": authorization}, json={"token": access_token}, @@ -193,12 +196,12 @@ class HubService: access_token = session.access_token.get_secret_value() token_type = session.token_type authorization = f"{token_type.title()} {access_token}" - - response = get( + response = self._request_session.get( url=self._base_url + "/terminal/user", headers={"Authorization": authorization}, timeout=self.TIMEOUT, ) + if response.status_code == 200: user_settings = response.json() filtered = {k: v for k, v in user_settings.items() if v is not None} @@ -214,14 +217,12 @@ class HubService: access_token = session.access_token.get_secret_value() token_type = session.token_type authorization = f"{token_type.title()} {access_token}" - - response = put( + response = self._request_session.put( url=self._base_url + "/user", headers={"Authorization": authorization}, json=settings.model_dump(exclude_defaults=True), timeout=self.TIMEOUT, ) - if response.status_code == 200: return True status_code = response.status_code diff --git a/openbb_platform/core/openbb_core/app/static/package_builder.py b/openbb_platform/core/openbb_core/app/static/package_builder.py index 9dee1cf5752..9eae47982da 100644 --- a/openbb_platform/core/openbb_core/app/static/package_builder.py +++ b/openbb_platform/core/openbb_core/app/static/package_builder.py @@ -301,7 +301,13 @@ class ImportDefinition: """Filter the hint type list.""" new_hint_type_list = [] for hint_type in hint_type_list: - if hint_type != _empty and hint_type.__module__ != "builtins": + if hint_type != _empty and ( + ( + hasattr(hint_type, "__module__") + and hint_type.__module__ != "builtins" + ) + or (isinstance(hint_type, str)) + ): new_hint_type_list.append(hint_type) new_hint_type_list = list(set(new_hint_type_list)) @@ -309,21 +315,32 @@ class ImportDefinition: return new_hint_type_list @classmethod - def get_function_hint_type_list(cls, func: Callable) -> List[Type]: + def get_function_hint_type_list(cls, route) -> List[Type]: """Get the hint type list from the function.""" - sig = signature(func) - parameter_map = sig.parameters - return_type = sig.return_annotation - hint_type_list = [] + no_validate = route.openapi_extra.get("no_validate") + + func = route.endpoint + sig = signature(func) + if no_validate is True: + route.response_model = None + + parameter_map = sig.parameters + return_type = sig.return_annotation if not no_validate else route.response_model + + hint_type_list: list = [] for parameter in parameter_map.values(): hint_type_list.append(parameter.annotation) if return_type: - if not issubclass(return_type, OBBject): + if not no_validate and not issubclass(return_type, OBBject): raise ValueError("Return type must be an OBBject.") - hint_type = get_args(get_type_hints(return_type)["results"])[0] + hint_type = ( + get_args(get_type_hints(return_type)["results"])[0] + if "OBBject" in return_type.__class__.__name__ + else return_type + ) hint_type_list.append(hint_type) hint_type_list = cls.filter_hint_type_list(hint_type_list) @@ -344,7 +361,7 @@ class ImportDefinition: if route: if route.deprecated: hint_type_list.append(type(route.summary.metadata)) - function_hint_type_list = cls.get_function_hint_type_list(func=route.endpoint) # type: ignore + function_hint_type_list = cls.get_function_hint_type_list(route=route) # type: ignore hint_type_list.extend(function_hint_type_list) hint_type_list = list(set(hint_type_list)) @@ -380,7 +397,10 @@ class ImportDefinition: code += "\nfrom openbb_core.app.static.utils.filters import filter_inputs\n" code += "\nfrom openbb_core.app.deprecation import OpenBBDeprecationWarning\n" code += "\nfrom openbb_core.app.model.field import OpenBBField" - module_list = [hint_type.__module__ for hint_type in hint_type_list] + module_list = [ + hint_type.__module__ if hasattr(hint_type, "__module__") else hint_type + for hint_type in hint_type_list + ] module_list = list(set(module_list)) module_list.sort() @@ -536,7 +556,7 @@ class MethodDefinition: def is_data_processing_function(path: str) -> bool: """Check if the function is a data processing function.""" methods = PathHandler.build_route_map()[path].methods # type: ignore - return "POST" in methods + return "POST" in methods or "PUT" in methods or "PATCH" in methods @staticmethod def is_deprecated_function(path: str) -> bool: @@ -714,12 +734,14 @@ class MethodDefinition: """Build the function returns.""" if return_type == _empty: func_returns = "None" - elif return_type.__module__ == "builtins": - func_returns = return_type.__name__ - else: + elif isinstance(return_type, str): + func_returns = f"ForwardRef('{return_type}')" + elif isclass(return_type) and issubclass(return_type, OBBject): func_returns = "OBBject" + else: + func_returns = return_type.__name__ if return_type else Any # type: ignore - return func_returns + return func_returns # type: ignore @staticmethod def build_command_method_signature( @@ -1361,6 +1383,7 @@ class ReferenceGenerator: # pylint: disable=protected-access pi = DocstringGenerator.provider_interface + route_map = PathHandler.build_route_map() @classmethod def _get_endpoint_examples( @@ -1668,7 +1691,11 @@ class ReferenceGenerator: content_inside_brackets = re.search( r"OBBject\[\s*((?:[^\[\]]|\[[^\[\]]*\])*)\s*\]", return_type ) - return_type = content_inside_brackets.group(1) # type: ignore + return_type = ( # type: ignore + content_inside_brackets.group(1) + if content_inside_brackets is not None + else return_type + ) returns_list = [ { @@ -1723,16 +1750,14 @@ class ReferenceGenerator: route_func, examples, # type: ignore ) + validate_output = not cls.route_map[path].openapi_extra.get("no_validate") + model_map = cls.pi.map.get(standard_model, {}) + # Add data for the endpoints having a standard model - if route_method == {"GET"}: + if route_method == {"GET"} and model_map: reference[path]["description"] = getattr( route, "description", "No description available." ) - - # TODO: The reference is not getting populated when a command does not use a standard model - # Access model map from the ProviderInterface - model_map = cls.pi.map.get(standard_model, {}) - for provider in model_map: if provider == "openbb": # openbb provider is always present hence its the standard field @@ -1789,28 +1814,42 @@ class ReferenceGenerator: # Add endpoint returns data # Currently only OBBject object is returned - providers = provider_parameter_fields["type"] - reference[path]["returns"]["OBBject"] = cls._get_obbject_returns_fields( - standard_model, providers - ) + if validate_output is False: + reference[path]["returns"]["Any"] = { + "description": "Unvalidated results object.", + } + else: + providers = provider_parameter_fields["type"] + reference[path]["returns"]["OBBject"] = ( + cls._get_obbject_returns_fields(standard_model, providers) + ) # Add data for the endpoints without a standard model (data processing endpoints) - elif route_method == {"POST"}: - # POST method router `description` attribute is unreliable as it may or + elif ( + route_method == {"POST"} + or "PUT" in str(route_method) + or "PATCH" in str(route_method) + ) or (route_method == {"GET"} and not model_map): + # Non-model method's router `description` attribute is unreliable as it may or # may not contain the "Parameters" and "Returns" sections. Hence, the # endpoint function docstring is used instead. docstring = getattr(route_func, "__doc__", "") description = docstring.split("Parameters")[0].strip() # Remove extra spaces in between the string reference[path]["description"] = re.sub(" +", " ", description) - # Add endpoint parameters fields for POST methods + # Add endpoint parameters fields for non-model methods reference[path]["parameters"]["standard"] = ( cls._get_post_method_parameters_info(docstring) ) # Add endpoint returns data - # Currently only OBBject object is returned - reference[path]["returns"]["OBBject"] = ( - cls._get_post_method_returns_info(docstring) - ) + # If the endpoint is not validated, the return type is set to Any + if validate_output is False: + reference[path]["returns"]["Any"] = { + "description": "Unvalidated results object.", + } + else: + reference[path]["returns"]["OBBject"] = ( + cls._get_post_method_returns_info(docstring) + ) return reference diff --git a/openbb_platform/core/openbb_core/provider/utils/errors.py b/openbb_platform/core/openbb_core/provider/utils/errors.py index 264265af341..c4bb8163dee 100644 --- a/openbb_platform/core/openbb_core/provider/utils/errors.py +++ b/openbb_platform/core/openbb_core/provider/utils/errors.py @@ -36,4 +36,4 @@ class UnauthorizedError(OpenBBError): msg = msg.replace("", provider_name) message = msg self.message = message - super().__init__(self.message) + super().__init__(str(self.message)) diff --git a/openbb_platform/core/openbb_core/provider/utils/helpers.py b/openbb_platform/core/openbb_core/provider/utils/helpers.py index 908dfe413d1..86b16020a8f 100644 --- a/openbb_platform/core/openbb_core/provider/utils/helpers.py +++ b/openbb_platform/core/openbb_core/provider/utils/helpers.py @@ -28,7 +28,7 @@ from openbb_core.provider.utils.client import ( from typing_extensions import ParamSpec if TYPE_CHECKING: - from requests import Response # pylint: disable=import-outside-toplevel + from requests import Response, Session # pylint: disable=import-outside-toplevel T = TypeVar("T") P = ParamSpec("P") @@ -96,6 +96,254 @@ def get_querystring(items: dict, exclude: List[str]) -> str: return f"{querystring}" if querystring else "" +def get_python_request_settings() -> dict: + """ + Get the python settings from the system_settings.json file. + + They are read from the "http" key in the "python_settings" key in the system_settings.json file. + + The configuration applies to both the requests and aiohttp libraries. + + Available settings: + - cafile: Path to a CA certificate file. + - certfile: Path to a client certificate file. + - keyfile: Path to a client key file. + - password: Password for the client key file. # aiohttp only + - verify_ssl: Verify SSL certificates. + - fingerprint: SSL fingerprint. # aiohttp only + - proxy: Proxy URL. + - proxy_auth: Proxy authentication. # aiohttp only + - proxy_headers: Proxy headers. # aiohttp only + - timeout: Request timeout. + - auth: Basic authentication. + - headers: Request headers. + - cookies: Dictionary of session cookies. + + Any additional keys supplied will be ignored. + """ + # pylint: disable=import-outside-toplevel + from openbb_core.app.service.system_service import SystemService + + python_settings = SystemService().system_settings.python_settings.model_dump() + http_settings = python_settings.get("http", {}) + allowed_keys = [ + "cafile", + "certfile", + "keyfile", + "password", + "verify_ssl", + "fingerprint", + "proxy", + "proxy_auth", + "proxy_headers", + "timeout", + "auth", + "headers", + "cookies", + ] + + return { + k: v for k, v in http_settings.items() if v is not None and k in allowed_keys + } + + +def get_requests_session(**kwargs) -> "Session": + """Get a requests session object with the applied user settings or environment variables.""" + # pylint: disable=import-outside-toplevel + import requests + + # If a session is already provided, just return it. + if "session" in kwargs and isinstance(kwargs.get("session"), requests.Session): + return kwargs["session"] + + # We want to add a user agent to the request, so check if there are any headers + # If there are headers, check if there is a user agent, if not add one. + # Some requests seem to work only with a specific user agent, so we want to be able to override it. + python_settings = get_python_request_settings() + headers = kwargs.pop("headers", {}) + headers.update(python_settings.pop("headers", {})) + + if "User-Agent" not in headers: + headers["User-Agent"] = get_user_agent() + + # Allow a custom session for caching, if desired + _session: requests.Session = kwargs.pop("session", None) or requests.Session() + _session.headers.update(headers) + + if python_settings.get("verify_ssl") is False: + _session.verify = False + else: + ca_file = python_settings.get("cafile") + requests_ca_bundle = os.environ.get("REQUESTS_CA_BUNDLE") + cert = ca_file or requests_ca_bundle + if cert: + bundle = requests_ca_bundle if requests_ca_bundle != cert else None + _session.verify = combine_certificates(cert, bundle) + + if certfile := python_settings.get("certfile"): + keyfile = python_settings.get("keyfile") + _session.cert = (certfile, keyfile) if keyfile else certfile + + proxy = python_settings.get("proxy") + http_proxy = os.environ.get("HTTP_PROXY", os.environ.get("HTTPS_PROXY")) + https_proxy = os.environ.get("HTTPS_PROXY", os.environ.get("HTTP_PROXY")) + + if http_proxy is not None and http_proxy == https_proxy: + https_proxy = None + + if http_proxy or https_proxy or proxy: + proxies: dict = {} + if http := http_proxy or https_proxy or proxy: + proxies["http"] = http + if https := https_proxy or http_proxy or proxy: + proxies["https"] = https + _session.proxies = proxies + + if cookies := python_settings.get("cookies"): + _session.cookies = ( + cookies + if isinstance(cookies, requests.cookies.RequestsCookieJar) + else requests.cookies.cookiejar_from_dict(cookies) + ) + + if auth := python_settings.get("auth"): + _session.auth = ( + auth if isinstance(auth, (tuple, requests.auth.AuthBase)) else tuple(auth) + ) + + if kwargs: + for key, value in kwargs.items(): + try: + if hasattr(_session, key): + if hasattr(getattr(_session, key, None), "update"): + getattr(_session, key, {}).update(value) + else: + setattr(_session, key, value) + except AttributeError: + continue + + _session.trust_env = False + + return _session + + +async def get_async_requests_session(**kwargs) -> ClientSession: + """Get an aiohttp session object with the applied user settings or environment variables.""" + # pylint: disable=import-outside-toplevel + import aiohttp # noqa + import atexit + import ssl + + # If a session is already provided, just return it. + if "session" in kwargs and isinstance(kwargs.get("session"), ClientSession): + return kwargs["session"] + # Handle SSL settings and proxies + # We will accommodate the Requests environment variable for the CA bundle and HTTP Proxies, if provided. + # The settings file will take precedence over the environment variables. + python_settings = get_python_request_settings() + _ = kwargs.pop("raise_for_status", None) + + proxy = python_settings.get("proxy") + http_proxy = os.environ.get("HTTP_PROXY", os.environ.get("HTTPS_PROXY")) + https_proxy = os.environ.get("HTTPS_PROXY", os.environ.get("HTTP_PROXY")) + + # aiohttp will attempt to upgrade the proxy to https. + if not proxy and http_proxy is not None and http_proxy == https_proxy: + python_settings["proxy"] = http_proxy.replace("https:", "http:") + + # If a proxy is provided, or verify_ssl is False, we don't need to handle the certificate and create SSL context. + # This takes priority over the cafile. + if python_settings.get("proxy") or python_settings.get("verify_ssl") is False: + python_settings["verify_ssl"] = None + python_settings["ssl"] = False + elif ( + python_settings.get("certfile") + or python_settings.get("cafile") + or os.environ.get("REQUESTS_CA_BUNDLE") + ): + ca = python_settings.get("cafile") or os.environ.get("REQUESTS_CA_BUNDLE") + cert = python_settings.get("certfile") + key = python_settings.get("keyfile") + password = python_settings.get("password") + ssl_context = ssl.create_default_context() + + if ca: + ssl_context.load_verify_locations(cafile=ca) + + if cert: + ssl_context.load_cert_chain( + certfile=cert, + keyfile=key, + password=password, + ) + + python_settings["ssl"] = ssl_context + + ssl_kwargs = { + k: v + for k, v in python_settings.items() + if k in ["ssl", "verify_ssl", "fingerprint"] and v is not None + } + + # Merge the updated python_settings dict with the kwargs. + if python_settings: + kwargs.update( + {k: v for k, v in python_settings.items() if not k.endswith("file")} + ) + + # SSL settings get passed to the TCPConnector used by the session. + connector = kwargs.pop("connector", None) or ( + aiohttp.TCPConnector(ttl_dns_cache=300, **ssl_kwargs) if ssl_kwargs else None + ) + + conn_kwargs = {"connector": connector} if connector else {} + + # Add basic auth for proxies, if provided. + p_auth = kwargs.pop("proxy_auth", []) + if p_auth: + conn_kwargs["proxy_auth"] = aiohttp.BasicAuth( + *p_auth if isinstance(p_auth, (list, tuple)) else p_auth + ) + # Add basic auth for server, if provided. + s_auth = kwargs.pop("auth", []) + if s_auth: + conn_kwargs["auth"] = aiohttp.BasicAuth( + *s_auth if isinstance(s_auth, (list, tuple)) else s_auth + ) + # Add cookies to the session, if provided. + _cookies = kwargs.pop("cookies", None) + if _cookies: + if isinstance(_cookies, dict): + conn_kwargs["cookies"] = _cookies + elif isinstance(_cookies, aiohttp.CookieJar): + conn_kwargs["cookie_jar"] = _cookies + + # Pass any remaining kwargs to the session + for k, v in kwargs.items(): + if v is None: + continue + if k == "timeout": + conn_kwargs["timeout"] = ( + v + if isinstance(v, aiohttp.ClientTimeout) + else aiohttp.ClientTimeout(total=v) + ) + elif k not in ("ssl", "verify_ssl", "fingerprint") and k in python_settings: + conn_kwargs[k] = v + + _session: ClientSession = ClientSession(**conn_kwargs) + + def at_exit(session): + """Close the session at exit if it was orphaned.""" + if not session.closed: + run_async(session.close) + + # Register the session to close at exit + atexit.register(at_exit, _session) + + return _session + + async def amake_request( url: str, method: Literal["GET", "POST"] = "GET", @@ -137,7 +385,7 @@ async def amake_request( ) with_session = kwargs.pop("with_session", "session" in kwargs) - session: ClientSession = kwargs.pop("session", ClientSession(trust_env=True)) + session = kwargs.pop("session", await get_async_requests_session(**kwargs)) try: response = await session.request(method, url, **kwargs) @@ -174,13 +422,12 @@ async def amake_requests( Union[dict, List[dict]] Response json """ - session: ClientSession = kwargs.pop("session", ClientSession(trust_env=True)) + session = kwargs.pop("session", await get_async_requests_session(**kwargs)) kwargs["response_callback"] = response_callback - urls = urls if isinstance(urls, list) else [urls] try: - results = [] + results: list = [] for result in await asyncio.gather( *[amake_request(url, session=session, **kwargs) for url in urls], @@ -204,6 +451,50 @@ async def amake_requests( await session.close() +def combine_certificates(cert: str, bundle: Optional[str] = None) -> str: + """Combine a certificate and a bundle into a single certificate file. Use the default bundle if none is provided.""" + # pylint: disable=import-outside-toplevel + import atexit # noqa + import certifi + import shutil + from pathlib import Path + from warnings import warn + + if not Path(cert).exists(): + raise FileNotFoundError(f"Certificate file '{cert}' not found") + + if cert.split(".")[0].endswith("_combined"): + return cert + + combined_cert = cert.split(".")[0] + "_combined." + cert.split(".")[1] + + if Path(combined_cert).exists(): + return combined_cert + + if not bundle: + bundle = certifi.where() + + try: + with open(combined_cert, "wb") as combined_cert_file: + # Write the default CA bundle to the combined certificate file + with open(bundle, "rb") as bundle_file: + shutil.copyfileobj(bundle_file, combined_cert_file) + + # Write the custom CA certificate to the combined certificate file + with open(cert, "rb") as cert_file: + shutil.copyfileobj(cert_file, combined_cert_file) + + # Register the combined certificate file for deletion + atexit.register(os.remove, combined_cert) + + return combined_cert + except Exception as e: # pylint: disable=broad-except + warn( + f"An error occurred while handling the certificates file -> {e.__class__.__name__}: {e}" + ) + return cert + + def make_request( url: str, method: str = "GET", timeout: int = 10, **kwargs ) -> "Response": @@ -228,22 +519,24 @@ def make_request( ValueError If invalid method is passed """ - import requests # pylint: disable=import-outside-toplevel - # We want to add a user agent to the request, so check if there are any headers # If there are headers, check if there is a user agent, if not add one. # Some requests seem to work only with a specific user agent, so we want to be able to override it. - + python_settings = get_python_request_settings() headers = kwargs.pop("headers", {}) + headers.update(python_settings.pop("headers", {})) preferences = kwargs.pop("preferences", None) + if preferences and "request_timeout" in preferences: timeout = preferences["request_timeout"] or timeout + elif "timeout" in python_settings: + timeout = python_settings["timeout"] if "User-Agent" not in headers: headers["User-Agent"] = get_user_agent() # Allow a custom session for caching, if desired - _session = kwargs.pop("session", None) or requests + _session = kwargs.pop("session", get_requests_session(**kwargs)) if method.upper() == "GET": return _session.get( diff --git a/openbb_platform/core/tests/app/logs/test_logging_service.py b/openbb_platform/core/tests/app/logs/test_logging_service.py index 04ec8d097ac..369bc3a5319 100644 --- a/openbb_platform/core/tests/app/logs/test_logging_service.py +++ b/openbb_platform/core/tests/app/logs/test_logging_service.py @@ -84,11 +84,10 @@ def test_correctly_initialized(): "openbb_core.app.logs.logging_service.LoggingService._log_startup", mock_log_startup, ): - LoggingService( + _ = LoggingService( system_settings=mock_system_settings, user_settings=mock_user_settings, ) - mock_setup_handlers.assert_called_once() mock_log_startup.assert_called_once() diff --git a/openbb_platform/core/tests/app/service/test_hub_service.py b/openbb_platform/core/tests/app/service/test_hub_service.py index 24834fbe044..79ac730e188 100644 --- a/openbb_platform/core/tests/app/service/test_hub_service.py +++ b/openbb_platform/core/tests/app/service/test_hub_service.py @@ -130,9 +130,9 @@ def test_connect_without_credentials(): def test_get_session_from_email_password(): """Test get session from email and password.""" - + mock_hub_session = MagicMock(spec=HubSession) with patch( - "openbb_core.app.service.hub_service.post", + "requests.post", return_value=MagicMock( status_code=200, json=lambda: { @@ -144,16 +144,21 @@ def test_get_session_from_email_password(): "primary_usage": "primary_usage", }, ), + ), patch.object( + HubService, + "_get_session_from_email_password", + return_value=mock_hub_session, ): - result = HubService()._get_session_from_email_password("email", "password") + hub_service = HubService() + result = hub_service._get_session_from_email_password("email", "password") assert isinstance(result, HubSession) def test_get_session_from_platform_token(): """Test get session from Platform personal access token.""" - + mock_hub_session = MagicMock(spec=HubSession) with patch( - "openbb_core.app.service.hub_service.post", + "requests.post", return_value=MagicMock( status_code=200, json=lambda: { @@ -165,6 +170,10 @@ def test_get_session_from_platform_token(): "primary_usage": "primary_usage", }, ), + ), patch.object( + HubService, + "_get_session_from_platform_token", + return_value=mock_hub_session, ): mock_token = ( "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6ImRiMjEyZDdhZj" @@ -181,18 +190,21 @@ def test_get_session_from_platform_token(): def test_disconnect(): """Test disconnect.""" - with patch( - "openbb_core.app.service.hub_service.get", + "requests.get", return_value=MagicMock( status_code=200, json=lambda: {"success": True}, ), + ), patch.object( + HubService, + "_post_logout", + return_value=True, ): mock_hub_session = MagicMock( spec=HubSession, access_token=SecretStr("token"), token_type="Bearer" ) - hub_service = HubService(session=mock_hub_session) + hub_service = HubService(mock_hub_session) assert hub_service.disconnect() is True assert hub_service.session is None @@ -201,17 +213,21 @@ def test_disconnect(): def test_get_user_settings(): """Test get user settings.""" with patch( - "openbb_core.app.service.hub_service.get", + "requests.get", return_value=MagicMock( status_code=200, json=lambda: {}, ), + ), patch.object( + HubService, + "_get_user_settings", + return_value=MagicMock(spec=HubUserSettings), ): mock_hub_session = MagicMock( spec=HubSession, access_token=SecretStr("token"), token_type="Bearer" ) - - user_settings = HubService()._get_user_settings(mock_hub_session) + hub_service = HubService(mock_hub_session) + user_settings = hub_service._get_user_settings() assert isinstance(user_settings, HubUserSettings) @@ -219,19 +235,23 @@ def test_put_user_settings(): """Test put user settings.""" with patch( - "openbb_core.app.service.hub_service.put", + "requests.put", return_value=MagicMock( status_code=200, ), + ), patch.object( + HubService, + "_put_user_settings", + return_value=True, ): mock_hub_session = MagicMock( spec=HubSession, access_token=SecretStr("token"), token_type="Bearer" ) mock_user_settings = MagicMock(spec=HubUserSettings) + hub_service = HubService(mock_hub_session) assert ( - HubService()._put_user_settings(mock_hub_session, mock_user_settings) - is True + hub_service._put_user_settings(mock_hub_session, mock_user_settings) is True ) diff --git a/openbb_platform/core/tests/app/test_command_runner.py b/openbb_platform/core/tests/app/test_command_runner.py index 092a9d549df..51fd5f23342 100644 --- a/openbb_platform/core/tests/app/test_command_runner.py +++ b/openbb_platform/core/tests/app/test_command_runner.py @@ -26,13 +26,40 @@ from pydantic import BaseModel, ConfigDict # pylint: disable=W0613, W0621, W0102, W0212 +class MockAPIRoute: + """MockAPIRoute""" + + def __init__(self, route): + """Initialize the mock API route.""" + self.route = route + self.openapi_extra = {"no_validate": True} + + +class MockExecutionContext: + """MockExecutionContext""" + + _route_map = {"mock/route": "mock_func"} + + def __init__(self, cmd_map, route, sys, user): + """Initialize the mock execution context.""" + self.command_map = cmd_map + self.route = route + self.system_settings = sys + self.user_settings = user + + @property + def api_route(self) -> str: + """Mock API route.""" + return MockAPIRoute(self.route) + + @pytest.fixture() def execution_context(): """Set up execution context.""" sys = SystemSettings() user = UserSettings() cmd_map = CommandMap() - return ExecutionContext(cmd_map, "mock/route", sys, user) + return MockExecutionContext(cmd_map, "mock/route", sys, user) @pytest.fixture() @@ -304,6 +331,7 @@ async def test_static_command_runner_run( self.results = results self.extra = {} self.extra["metadata"] = {"test": "test"} + self.provider = None mock_get_command.return_value = other_mock_func mock_execute_func.return_value = MockOBBject(results=[1, 2, 3, 4]) @@ -330,12 +358,7 @@ async def test_static_command_runner_execute_func( ): """Test execute_func.""" - class MockOBBject: - """Mock OBBject""" - - def __init__(self, results): - self.results = results - self.extra = {} + static_command_runner = StaticCommandRunner() mock_parameters_builder_build.return_value = { "a": 1, @@ -346,10 +369,14 @@ async def test_static_command_runner_execute_func( "chart": True, } mock_logging_service.log.return_value = None - mock_command.return_value = MockOBBject(results=[1, 2, 3, 4]) + mock_command.return_value = OBBject( + results=[1, 2, 3, 4], + provider="mock_provider", + accessors={"charting": Mock()}, + ) mock_chart.return_value = None - result = await StaticCommandRunner._execute_func( + result = await static_command_runner._execute_func( "mock/route", (1, 2, 3, 4), execution_context, mock_func, {"chart": True} ) @@ -369,6 +396,7 @@ def test_static_command_runner_chart(): {"date": "1991", "value": 200}, {"date": "1992", "value": 300}, ], + provider="mock_provider", accessors={"charting": Mock()}, ) mock_obbject.charting.show = Mock() @@ -385,9 +413,10 @@ async def test_static_command_runner_command(): class MockOBBject: """Mock OBBject""" - def __init__(self, results): + def __init__(self, results, **kwargs): self.results = results self.extra = {} + self.provider = kwargs.get("provider_choices").provider class MockProviderChoices: """Mock ProviderChoices""" @@ -396,7 +425,7 @@ async def test_static_command_runner_command(): self.provider = provider def other_mock_func(**kwargs): - return MockOBBject(results=[1, 2, 3, 4]) + return MockOBBject([1, 2, 3, 4], **kwargs) mock_provider_choices = MockProviderChoices(provider="mock_provider") diff --git a/openbb_platform/core/tests/app/test_platform_router.py b/openbb_platform/core/tests/app/test_platform_router.py index e42e0f49e3e..0a9adbca916 100644 --- a/openbb_platform/core/tests/app/test_platform_router.py +++ b/openbb_platform/core/tests/app/test_platform_router.py @@ -16,7 +16,6 @@ from openbb_core.app.provider_interface import ( ) from openbb_core.app.router import ( CommandMap, - CommandValidator, Router, RouterLoader, SignatureInspector, @@ -30,106 +29,6 @@ class MockBaseModel(BaseModel): model_config = ConfigDict(extra="allow", populate_by_name=True) -@pytest.fixture(scope="module") -def command_validator(): - """Set up command_validator.""" - return CommandValidator() - - -def test_command_validator_init(command_validator): - """Test init.""" - assert command_validator - - -@pytest.mark.parametrize( - "type_, expected", - [ - (str, True), - (int, True), - (float, True), - (bool, True), - (list, True), - (MockBaseModel, False), - ], -) -def test_is_standard_pydantic_type(command_validator, type_, expected): - """Test is_standard_pydantic_type.""" - # assert command_validator.is_standard_pydantic_type(str) - assert command_validator.is_standard_pydantic_type(type_) == expected - - -def test_is_valid_pydantic_model_type(command_validator): - """Test is_valid_pydantic_model_type.""" - assert command_validator.is_valid_pydantic_model_type(MockBaseModel) - assert not command_validator.is_valid_pydantic_model_type(str) - - -@pytest.mark.parametrize( - "type_, expected", - [ - (str, True), - (int, True), - (float, True), - (bool, True), - (list, True), - (MockBaseModel, True), - ], -) -def test_is_serializable_value_type(command_validator, type_, expected): - """Test is_serializable_value_type.""" - assert command_validator.is_serializable_value_type(type_) == expected - - -def test_is_annotated_dc(command_validator): - """Test is_annotated_dc.""" - assert not command_validator.is_annotated_dc(str) - - -def test_check_reserved_param(command_validator): - """Test check_reserved_param.""" - assert command_validator.check_reserved_param("name", str, {}, str, str) is None - assert not command_validator.check_reserved_param("name", str, {}, str, int) - - -def test_check_parameters(command_validator): - """Test check_parameters.""" - - async def func(): - pass - - assert command_validator.check_parameters(func) is None - with pytest.raises(TypeError): - command_validator.check_parameters(MockBaseModel) - - -def test_check_return_error(command_validator): - """Test check_return fail.""" - with pytest.raises(TypeError): - - async def func(): - pass - - command_validator.check_return(func) - - -def test_check_return(command_validator): - """Test check_return.""" - - async def valid_function() -> OBBject[Optional[List[int]]]: - return OBBject(results=[1, 2, 3]) - - assert command_validator.check_return(valid_function) is None - - -def test_check(command_validator): - """Test check.""" - - async def valid_function() -> OBBject[Optional[List[int]]]: - return OBBject(results=[1, 2, 3]) - - assert command_validator.check(valid_function) is None - - @pytest.fixture(scope="module") def router(): """Set up router.""" diff --git a/openbb_platform/core/tests/provider/utils/test_helpers.py b/openbb_platform/core/tests/provider/utils/test_helpers.py index 741ce6ee914..18bcc4b1ac5 100644 --- a/openbb_platform/core/tests/provider/utils/test_helpers.py +++ b/openbb_platform/core/tests/provider/utils/test_helpers.py @@ -1,12 +1,12 @@ """Test the provider helpers.""" import pytest -import requests from openbb_core.provider.utils.client import ClientSession from openbb_core.provider.utils.helpers import ( amake_request, amake_requests, get_querystring, + get_requests_session, make_request, to_snake_case, ) @@ -82,9 +82,10 @@ def test_make_request(monkeypatch): """Mock the requests.get method.""" return MockResponse() - monkeypatch.setattr(requests, "get", mock_get) + client_session = get_requests_session() + monkeypatch.setattr(client_session, "get", mock_get) - response = make_request("http://mock.url") + response = make_request("http://mock.url", session=client_session) assert response.status_code == 200 with pytest.raises(ValueError): diff --git a/openbb_platform/extensions/platform_api/README.md b/openbb_platform/extensions/platform_api/README.md index 8d344e5938e..9ae40e97f7e 100644 --- a/openbb_platform/extensions/platform_api/README.md +++ b/openbb_platform/extensions/platform_api/README.md @@ -94,3 +94,16 @@ openbb-api --no-build ``` If you would like to construct this file manually for a custom backend configuration, save the file in the path above. + + +### Location of `templates.json` + +> ~/OpenBBUserData/workspace_templates.json + +The OpenBB Workspace allows you to export the current dashboard layout - when it is a custom backend - as a template. + +To export the layout, right-click on the dashboard and select, "Export Template". + +A JSON dictionary will be exported. Insert the contents of the export into "~/OpenBBUserData/workspace_templates.json" by pasting between the JSON list markers, [ ]. + +If there is more than one, add a comma to the closing curly brace, }. diff --git a/openbb_platform/extensions/platform_api/openbb_platform_api/main.py b/openbb_platform/extensions/platform_api/openbb_platform_api/main.py index 88b3665785b..3b7d2525480 100644 --- a/openbb_platform/extensions/platform_api/openbb_platform_api/main.py +++ b/openbb_platform/extensions/platform_api/openbb_platform_api/main.py @@ -11,6 +11,8 @@ import sys import uvicorn from fastapi.responses import JSONResponse from openbb_core.api.rest_api import app +from openbb_core.app.service.system_service import SystemService +from openbb_core.env import Env from .utils.api import check_port, get_user_settings, get_widgets_json, parse_args @@ -26,6 +28,9 @@ logger.setLevel(logging.INFO) FIRST_RUN = True +# Adds the OpenBB Environment variables to the script process. +Env() + HOME = os.environ.get("HOME") or os.environ.get("USERPROFILE") if not HOME: @@ -45,6 +50,14 @@ login = kwargs.pop("login", False) dont_filter = kwargs.pop("no-filter", False) widget_exclude_filter: list = [] +uvicorn_settings = ( + SystemService().system_settings.python_settings.model_dump().get("uvicorn", {}) +) + +for key, value in uvicorn_settings.items(): + if key not in kwargs and key != "app" and value is not None: + kwargs[key] = value + if not dont_filter and os.path.exists(WIDGET_SETTINGS): with open(WIDGET_SETTINGS) as f: try: @@ -61,6 +74,33 @@ current_settings = get_user_settings(login, CURRENT_USER_SETTINGS, USER_SETTINGS widgets_json = get_widgets_json(build, openapi, widget_exclude_filter) +# A template file will be served from the OpenBBUserDataDirectory, if it exists. +# If it doesn't exist, an empty list will be returned, and an empty file will be created. +TEMPLATES_PATH = ( + current_settings["preferences"].get("data_directory", HOME + "/OpenBBUserData") + + "/workspace_templates.json" +) + + +# If a custom implementation, you might want to override. +@app.get("/templates.json") +def get_templates(): + """Get the templates.json file.""" + if os.path.exists(TEMPLATES_PATH): + with open(TEMPLATES_PATH) as templates_file: + templates = json.load(templates_file) + + if isinstance(templates, list): + return JSONResponse(content=templates) + if isinstance(templates, dict): + return JSONResponse(content=[templates]) + + else: + with open(TEMPLATES_PATH, "w", encoding="utf-8") as templates_file: + json.dump([], templates_file) + + return JSONResponse(content=[]) + @app.get("/") async def get_root(): diff --git a/openbb_platform/extensions/platform_api/openbb_platform_api/utils/openapi.py b/openbb_platform/extensions/platform_api/openbb_platform_api/utils/openapi.py index 195b94b2446..577dce98a64 100644 --- a/openbb_platform/extensions/platform_api/openbb_platform_api/utils/openapi.py +++ b/openbb_platform/extensions/platform_api/openbb_platform_api/utils/openapi.py @@ -474,7 +474,7 @@ def data_schema_to_columns_defs(openapi_json, operation_id, provider): for word in header_name.split(" ") ] ) - column_def["description"] = prop.get( + column_def["headerTooltip"] = prop.get( "description", prop.get("title", key.title()) ) column_def["cellDataType"] = cell_data_type diff --git a/openbb_platform/extensions/platform_api/tests/mock_widgets.json b/openbb_platform/extensions/platform_api/tests/mock_widgets.json index c7a530d323d..bf0c6a61e9a 100644 --- a/openbb_platform/extensions/platform_api/tests/mock_widgets.json +++ b/openbb_platform/extensions/platform_api/tests/mock_widgets.json @@ -139,7 +139,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Date", - "description": "The date of the data.", + "headerTooltip": "The date of the data.", "cellDataType": "date", "chartDataType": "category" }, @@ -148,14 +148,14 @@ "pinned": "left", "formatterFn": null, "headerName": "Symbol", - "description": "Symbol representing the entity requested in the data.", + "headerTooltip": "Symbol representing the entity requested in the data.", "cellDataType": "text", "chartDataType": "category" }, { "field": "value", "headerName": "Value", - "description": "Survey value.", + "headerTooltip": "Survey value.", "cellDataType": "number", "chartDataType": "series" }, @@ -164,7 +164,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Title", - "description": "Survey title.", + "headerTooltip": "Survey title.", "cellDataType": "text", "chartDataType": "category" } @@ -307,14 +307,14 @@ "pinned": "left", "formatterFn": null, "headerName": "Date", - "description": "The date of the data.", + "headerTooltip": "The date of the data.", "cellDataType": "date", "chartDataType": "category" }, { "field": "consumer_sentiment", "headerName": "Consumer Sentiment", - "description": "Index of the results of the University of Michigan's monthly Survey of Consumers, which is used to estimate future spending and saving. (1966:Q1=100).", + "headerTooltip": "Index of the results of the University of Michigan's monthly Survey of Consumers, which is used to estimate future spending and saving. (1966:Q1=100).", "cellDataType": "number", "chartDataType": "series" }, @@ -322,7 +322,7 @@ "field": "inflation_expectation", "formatterFn": "normalizedPercent", "headerName": "Inflation Expectation", - "description": "Median expected price change next 12 months, Surveys of Consumers.", + "headerTooltip": "Median expected price change next 12 months, Surveys of Consumers.", "cellDataType": "number", "chartDataType": "series", "renderFn": "greenRed" @@ -466,70 +466,70 @@ "pinned": "left", "formatterFn": null, "headerName": "Date", - "description": "The date of the data.", + "headerTooltip": "The date of the data.", "cellDataType": "date", "chartDataType": "category" }, { "field": "activity_index", "headerName": "Activity Index", - "description": "Activity Index.", + "headerTooltip": "Activity Index.", "cellDataType": "number", "chartDataType": "series" }, { "field": "one_year_outlook", "headerName": "One Year Outlook", - "description": "One Year Outlook Index.", + "headerTooltip": "One Year Outlook Index.", "cellDataType": "number", "chartDataType": "series" }, { "field": "manufacturing_activity", "headerName": "Manufacturing Activity", - "description": "Manufacturing Activity Index.", + "headerTooltip": "Manufacturing Activity Index.", "cellDataType": "number", "chartDataType": "series" }, { "field": "non_manufacturing_activity", "headerName": "Non Manufacturing Activity", - "description": "Non-Manufacturing Activity Index.", + "headerTooltip": "Non-Manufacturing Activity Index.", "cellDataType": "number", "chartDataType": "series" }, { "field": "capital_expenditures_expectations", "headerName": "Capital Expenditures Expectations", - "description": "Capital Expenditures Expectations Index.", + "headerTooltip": "Capital Expenditures Expectations Index.", "cellDataType": "number", "chartDataType": "series" }, { "field": "hiring_expectations", "headerName": "Hiring Expectations", - "description": "Hiring Expectations Index.", + "headerTooltip": "Hiring Expectations Index.", "cellDataType": "number", "chartDataType": "series" }, { "field": "current_hiring", "headerName": "Current Hiring", - "description": "Current Hiring Index.", + "headerTooltip": "Current Hiring Index.", "cellDataType": "number", "chartDataType": "series" }, { "field": "labor_costs", "headerName": "Labor Costs", - "description": "Labor Costs Index.", + "headerTooltip": "Labor Costs Index.", "cellDataType": "number", "chartDataType": "series" }, { "field": "non_labor_costs", "headerName": "Non Labor Costs", - "description": "Non-Labor Costs Index.", + "headerTooltip": "Non-Labor Costs Index.", "cellDataType": "number", "chartDataType": "series" } @@ -740,7 +740,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Date", - "description": "The date of the data.", + "headerTooltip": "The date of the data.", "cellDataType": "date", "chartDataType": "category" }, @@ -748,14 +748,14 @@ "field": "topic", "formatterFn": null, "headerName": "Topic", - "description": "Topic of the survey response.", + "headerTooltip": "Topic of the survey response.", "cellDataType": "text", "chartDataType": "category" }, { "field": "diffusion_index", "headerName": "Diffusion Index", - "description": "Diffusion Index.", + "headerTooltip": "Diffusion Index.", "cellDataType": "number", "chartDataType": "series" }, @@ -763,7 +763,7 @@ "field": "percent_reporting_increase", "formatterFn": "normalizedPercent", "headerName": "Percent Reporting Increase", - "description": "Percent of respondents reporting an increase over the last month.", + "headerTooltip": "Percent of respondents reporting an increase over the last month.", "cellDataType": "number", "chartDataType": "series", "renderFn": "greenRed" @@ -772,7 +772,7 @@ "field": "percent_reporting_decrease", "formatterFn": "normalizedPercent", "headerName": "Percent Reporting Decrease", - "description": "Percent of respondents reporting a decrease over the last month.", + "headerTooltip": "Percent of respondents reporting a decrease over the last month.", "cellDataType": "number", "chartDataType": "series", "renderFn": "greenRed" @@ -781,7 +781,7 @@ "field": "percent_reporting_no_change", "formatterFn": "normalizedPercent", "headerName": "Percent Reporting No Change", - "description": "Percent of respondents reporting no change over the last month.", + "headerTooltip": "Percent of respondents reporting no change over the last month.", "cellDataType": "number", "chartDataType": "series", "renderFn": "greenRed" @@ -911,7 +911,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Date", - "description": "The date of the data.", + "headerTooltip": "The date of the data.", "cellDataType": "date", "chartDataType": "category" }, @@ -920,14 +920,14 @@ "pinned": "left", "formatterFn": null, "headerName": "Symbol", - "description": "Symbol representing the entity requested in the data.", + "headerTooltip": "Symbol representing the entity requested in the data.", "cellDataType": "text", "chartDataType": "category" }, { "field": "value", "headerName": "Value", - "description": "", + "headerTooltip": "", "cellDataType": "number", "chartDataType": "series" }, @@ -936,7 +936,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Name", - "description": "The name of the series.", + "headerTooltip": "The name of the series.", "cellDataType": "text", "chartDataType": "category" }, @@ -944,7 +944,7 @@ "field": "element_id", "formatterFn": null, "headerName": "Element ID", - "description": "The element id in the parent/child relationship.", + "headerTooltip": "The element id in the parent/child relationship.", "cellDataType": "text", "chartDataType": "category" }, @@ -952,7 +952,7 @@ "field": "parent_id", "formatterFn": null, "headerName": "Parent ID", - "description": "The parent id in the parent/child relationship.", + "headerTooltip": "The parent id in the parent/child relationship.", "cellDataType": "text", "chartDataType": "category" }, @@ -960,14 +960,14 @@ "field": "children", "formatterFn": null, "headerName": "Children", - "description": "The element_id of each child, as a comma-separated string.", + "headerTooltip": "The element_id of each child, as a comma-separated string.", "cellDataType": "text", "chartDataType": "category" }, { "field": "level", "headerName": "Level", - "description": "The indentation level of the element.", + "headerTooltip": "The indentation level of the element.", "cellDataType": "number", "chartDataType": "series" } @@ -1288,7 +1288,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Date", - "description": "The date of the data.", + "headerTooltip": "The date of the data.", "cellDataType": "date", "chartDataType": "category" }, @@ -1296,14 +1296,14 @@ "field": "country", "formatterFn": null, "headerName": "Country", - "description": "Country", + "headerTooltip": "Country", "cellDataType": "text", "chartDataType": "category" }, { "field": "value", "headerName": "Value", - "description": "CPI index value or period change.", + "headerTooltip": "CPI index value or period change.", "cellDataType": "number", "chartDataType": "series" } @@ -1562,7 +1562,7 @@ "field": "period", "formatterFn": null, "headerName": "Period", - "description": "The date representing the beginning of the reporting period.", + "headerTooltip": "The date representing the beginning of the reporting period.", "cellDataType": "date", "chartDataType": "category" }, @@ -1570,7 +1570,7 @@ "field": "balance_percent_of_gdp", "formatterFn": "normalizedPercent", "headerName": "Balance Percent Of GDP", - "description": "Current Account Balance as Percent of GDP", + "headerTooltip": "Current Account Balance as Percent of GDP", "cellDataType": "number", "chartDataType": "series", "renderFn": "greenRed" @@ -1578,35 +1578,35 @@ { "field": "balance_total", "headerName": "Balance Total", - "description": "Current Account Total Balance (USD)", + "headerTooltip": "Current Account Total Balance (USD)", "cellDataType": "number", "chartDataType": "series" }, { "field": "balance_total_services", "headerName": "Balance Total Services", - "description": "Current Account Total Services Balance (USD)", + "headerTooltip": "Current Account Total Services Balance (USD)", "cellDataType": "number", "chartDataType": "series" }, { "field": "balance_total_secondary_income", "headerName": "Balance Total Secondary Income", - "description": "Current Account Total Secondary Income Balance (USD)", + "headerTooltip": "Current Account Total Secondary Income Balance (USD)", "cellDataType": "number", "chartDataType": "series" }, { "field": "balance_total_goods", "headerName": "Balance Total Goods", - "description": "Current Account Total Goods Balance (USD)", + "headerTooltip": "Current Account Total Goods Balance (USD)", "cellDataType": "number", "chartDataType": "series" }, { "field": "balance_total_primary_income", "headerName": "Balance Total Primary Income", - "description": "Current Account Total Primary Income Balance (USD)", + "headerTooltip": "Current Account Total Primary Income Balance (USD)", "cellDataType": "number", "chartDataType": "series" }, @@ -1614,7 +1614,7 @@ "field": "credits_services_percent_of_goods_and_services", "formatterFn": "normalizedPercent", "headerName": "Credits Services Percent Of Goods And Services", - "description": "Current Account Credits Services as Percent of Goods and Services", + "headerTooltip": "Current Account Credits Services as Percent of Goods and Services", "cellDataType": "number", "chartDataType": "series", "renderFn": "greenRed" @@ -1623,7 +1623,7 @@ "field": "credits_services_percent_of_current_account", "formatterFn": "normalizedPercent", "headerName": "Credits Services Percent Of Current Account", - "description": "Current Account Credits Services as Percent of Current Account", + "headerTooltip": "Current Account Credits Services as Percent of Current Account", "cellDataType": "number", "chartDataType": "series", "renderFn": "greenRed" @@ -1631,35 +1631,35 @@ { "field": "credits_total_services", "headerName": "Credits Total Services", - "description": "Current Account Credits Total Services (USD)", + "headerTooltip": "Current Account Credits Total Services (USD)", "cellDataType": "number", "chartDataType": "series" }, { "field": "credits_total_goods", "headerName": "Credits Total Goods", - "description": "Current Account Credits Total Goods (USD)", + "headerTooltip": "Current Account Credits Total Goods (USD)", "cellDataType": "number", "chartDataType": "series" }, { "field": "credits_total_primary_income", "headerName": "Credits Total Primary Income", - "description": "Current Account Credits Total Primary Income (USD)", + "headerTooltip": "Current Account Credits Total Primary Income (USD)", "cellDataType": "number", "chartDataType": "series" }, { "field": "credits_total_secondary_income", "headerName": "Credits Total Secondary Income", - "description": "Current Account Credits Total Secondary Income (USD)", + "headerTooltip": "Current Account Credits Total Secondary Income (USD)", "cellDataType": "number", "chartDataType": "series" }, { "field": "credits_total", "headerName": "Credits Total", - "description": "Current Account Credits Total (USD)", + "headerTooltip": "Current Account Credits Total (USD)", "cellDataType": "number", "chartDataType": "series" }, @@ -1667,7 +1667,7 @@ "field": "debits_services_percent_of_goods_and_services", "formatterFn": "normalizedPercent", "headerName": "Debits Services Percent Of Goods And Services", - "description": "Current Account Debits Services as Percent of Goods and Services", + "headerTooltip": "Current Account Debits Services as Percent of Goods and Services", "cellDataType": "number", "chartDataType": "series", "renderFn": "greenRed" @@ -1676,7 +1676,7 @@ "field": "debits_services_percent_of_current_account", "formatterFn": "normalizedPercent", "headerName": "Debits Services Percent Of Current Account", - "description": "Current Account Debits Services as Percent of Current Account", + "headerTooltip": "Current Account Debits Services as Percent of Current Account", "cellDataType": "number", "chartDataType": "series", "renderFn": "greenRed" @@ -1684,35 +1684,35 @@ { "field": "debits_total_services", "headerName": "Debits Total Services", - "description": "Current Account Debits Total Services (USD)", + "headerTooltip": "Current Account Debits Total Services (USD)", "cellDataType": "number", "chartDataType": "series" }, { "field": "debits_total_goods", "headerName": "Debits Total Goods", - "description": "Current Account Debits Total Goods (USD)", + "headerTooltip": "Current Account Debits Total Goods (USD)", "cellDataType": "number", "chartDataType": "series" }, { "field": "debits_total_primary_income", "headerName": "Debits Total Primary Income", - "description": "Current Account Debits Total Primary Income (USD)", + "headerTooltip": "Current Account Debits Total Primary Income (USD)", "cellDataType": "number", "chartDataType": "series" }, { "field": "debits_total", "headerName": "Debits Total", - "description": "Current Account Debits Total (USD)", + "headerTooltip": "Current Account Debits Total (USD)", "cellDataType": "number", "chartDataType": "series" }, { "field": "debits_total_secondary_income", "headerName": "Debits Total Secondary Income", - "description": "Current Account Debits Total Secondary Income (USD)", + "headerTooltip": "Current Account Debits Total Secondary Income (USD)", "cellDataType": "number", "chartDataType": "series" } @@ -1851,7 +1851,7 @@ { "field": "release_id", "headerName": "Release ID", - "description": "The release ID for queries.", + "headerTooltip": "The release ID for queries.", "cellDataType": "number", "chartDataType": "series" }, @@ -1860,7 +1860,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Series ID", - "description": "The series ID for the item in the release.", + "headerTooltip": "The series ID for the item in the release.", "cellDataType": "text", "chartDataType": "category" }, @@ -1869,7 +1869,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Name", - "description": "The name of the release.", + "headerTooltip": "The name of the release.", "cellDataType": "text", "chartDataType": "category" }, @@ -1878,7 +1878,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Title", - "description": "The title of the series.", + "headerTooltip": "The title of the series.", "cellDataType": "text", "chartDataType": "category" }, @@ -1886,7 +1886,7 @@ "field": "observation_start", "formatterFn": null, "headerName": "Observation Start", - "description": "The date of the first observation in the series.", + "headerTooltip": "The date of the first observation in the series.", "cellDataType": "date", "chartDataType": "category" }, @@ -1894,7 +1894,7 @@ "field": "observation_end", "formatterFn": null, "headerName": "Observation End", - "description": "The date of the last observation in the series.", + "headerTooltip": "The date of the last observation in the series.", "cellDataType": "date", "chartDataType": "category" }, @@ -1902,7 +1902,7 @@ "field": "frequency", "formatterFn": null, "headerName": "Frequency", - "description": "The frequency of the data.", + "headerTooltip": "The frequency of the data.", "cellDataType": "text", "chartDataType": "category" }, @@ -1910,7 +1910,7 @@ "field": "frequency_short", "formatterFn": null, "headerName": "Frequency Short", - "description": "Short form of the data frequency.", + "headerTooltip": "Short form of the data frequency.", "cellDataType": "text", "chartDataType": "category" }, @@ -1918,7 +1918,7 @@ "field": "units", "formatterFn": null, "headerName": "Units", - "description": "The units of the data.", + "headerTooltip": "The units of the data.", "cellDataType": "text", "chartDataType": "category" }, @@ -1926,7 +1926,7 @@ "field": "units_short", "formatterFn": null, "headerName": "Units Short", - "description": "Short form of the data units.", + "headerTooltip": "Short form of the data units.", "cellDataType": "text", "chartDataType": "category" }, @@ -1934,7 +1934,7 @@ "field": "seasonal_adjustment", "formatterFn": null, "headerName": "Seasonal Adjustment", - "description": "The seasonal adjustment of the data.", + "headerTooltip": "The seasonal adjustment of the data.", "cellDataType": "text", "chartDataType": "category" }, @@ -1942,7 +1942,7 @@ "field": "seasonal_adjustment_short", "formatterFn": null, "headerName": "Seasonal Adjustment Short", - "description": "Short form of the data seasonal adjustment.", + "headerTooltip": "Short form of the data seasonal adjustment.", "cellDataType": "text", "chartDataType": "category" }, @@ -1950,7 +1950,7 @@ "field": "last_updated", "formatterFn": null, "headerName": "Last Updated", - "description": "The datetime of the last update to the data.", + "headerTooltip": "The datetime of the last update to the data.", "cellDataType": "date", "chartDataType": "category" }, @@ -1958,7 +1958,7 @@ "field": "notes", "formatterFn": null, "headerName": "Notes", - "description": "Description of the release.", + "headerTooltip": "Description of the release.", "cellDataType": "text", "chartDataType": "category" }, @@ -1966,7 +1966,7 @@ "field": "press_release", "formatterFn": null, "headerName": "Press Release", - "description": "If the release is a press release.", + "headerTooltip": "If the release is a press release.", "cellDataType": "text", "chartDataType": "category" }, @@ -1974,21 +1974,21 @@ "field": "url", "formatterFn": null, "headerName": "Url", - "description": "URL to the release.", + "headerTooltip": "URL to the release.", "cellDataType": "text", "chartDataType": "category" }, { "field": "popularity", "headerName": "Popularity", - "description": "Popularity of the series", + "headerTooltip": "Popularity of the series", "cellDataType": "number", "chartDataType": "series" }, { "field": "group_popularity", "headerName": "Group Popularity", - "description": "Group popularity of the release", + "headerTooltip": "Group popularity of the release", "cellDataType": "number", "chartDataType": "series" }, @@ -1996,14 +1996,14 @@ "field": "region_type", "formatterFn": null, "headerName": "Region Type", - "description": "The region type of the series.", + "headerTooltip": "The region type of the series.", "cellDataType": "text", "chartDataType": "category" }, { "field": "series_group", "headerName": "Series Group", - "description": "The series group ID of the series. This value is used to query for regional data.", + "headerTooltip": "The series group ID of the series. This value is used to query for regional data.", "cellDataType": "number", "chartDataType": "series" } @@ -2211,7 +2211,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Date", - "description": "The date of the data.", + "headerTooltip": "The date of the data.", "cellDataType": "date", "chartDataType": "category" } @@ -2428,7 +2428,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Date", - "description": "The date of the data.", + "headerTooltip": "The date of the data.", "cellDataType": "date", "chartDataType": "category" } @@ -2494,14 +2494,14 @@ "pinned": "left", "formatterFn": null, "headerName": "Date", - "description": "The date of the data.", + "headerTooltip": "The date of the data.", "cellDataType": "date", "chartDataType": "category" }, { "field": "level", "headerName": "Level", - "description": "The indentation level of the element.", + "headerTooltip": "The indentation level of the element.", "cellDataType": "number", "chartDataType": "series" }, @@ -2509,14 +2509,14 @@ "field": "element_type", "formatterFn": null, "headerName": "Element Type", - "description": "The type of the element.", + "headerTooltip": "The type of the element.", "cellDataType": "text", "chartDataType": "category" }, { "field": "line", "headerName": "Line", - "description": "The line number of the element.", + "headerTooltip": "The line number of the element.", "cellDataType": "number", "chartDataType": "series" }, @@ -2524,7 +2524,7 @@ "field": "element_id", "formatterFn": null, "headerName": "Element ID", - "description": "The element id in the parent/child relationship.", + "headerTooltip": "The element id in the parent/child relationship.", "cellDataType": "text", "chartDataType": "category" }, @@ -2532,7 +2532,7 @@ "field": "parent_id", "formatterFn": null, "headerName": "Parent ID", - "description": "The parent id in the parent/child relationship.", + "headerTooltip": "The parent id in the parent/child relationship.", "cellDataType": "text", "chartDataType": "category" }, @@ -2540,7 +2540,7 @@ "field": "children", "formatterFn": null, "headerName": "Children", - "description": "The element_id of each child, as a comma-separated string.", + "headerTooltip": "The element_id of each child, as a comma-separated string.", "cellDataType": "text", "chartDataType": "category" }, @@ -2549,7 +2549,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Symbol", - "description": "Symbol representing the entity requested in the data.", + "headerTooltip": "Symbol representing the entity requested in the data.", "cellDataType": "text", "chartDataType": "category" }, @@ -2558,14 +2558,14 @@ "pinned": "left", "formatterFn": null, "headerName": "Name", - "description": "The name of the series.", + "headerTooltip": "The name of the series.", "cellDataType": "text", "chartDataType": "category" }, { "field": "value", "headerName": "Value", - "description": "The reported value of the series.", + "headerTooltip": "The reported value of the series.", "cellDataType": "number", "chartDataType": "series" } @@ -2855,7 +2855,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Date", - "description": "The date of the data.", + "headerTooltip": "The date of the data.", "cellDataType": "date", "chartDataType": "category" }, @@ -2863,21 +2863,21 @@ "field": "region", "formatterFn": null, "headerName": "Region", - "description": "The name of the region.", + "headerTooltip": "The name of the region.", "cellDataType": "text", "chartDataType": "category" }, { "field": "code", "headerName": "Code", - "description": "The code of the region.", + "headerTooltip": "The code of the region.", "cellDataType": "number", "chartDataType": "series" }, { "field": "value", "headerName": "Value", - "description": "The obersvation value. The units are defined in the search results by series ID.", + "headerTooltip": "The obersvation value. The units are defined in the search results by series ID.", "cellDataType": "number", "chartDataType": "series" }, @@ -2886,7 +2886,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Series ID", - "description": "The individual series ID for the region.", + "headerTooltip": "The individual series ID for the region.", "cellDataType": "text", "chartDataType": "category" } @@ -3057,7 +3057,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Date", - "description": "The date of the data.", + "headerTooltip": "The date of the data.", "cellDataType": "date", "chartDataType": "category" }, @@ -3066,7 +3066,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Symbol", - "description": "Symbol representing the entity requested in the data.", + "headerTooltip": "Symbol representing the entity requested in the data.", "cellDataType": "text", "chartDataType": "category" }, @@ -3074,7 +3074,7 @@ "field": "country", "formatterFn": null, "headerName": "Country", - "description": "", + "headerTooltip": "", "cellDataType": "text", "chartDataType": "category" }, @@ -3082,14 +3082,14 @@ "field": "description", "formatterFn": null, "headerName": "Description", - "description": "Description of the item.", + "headerTooltip": "Description of the item.", "cellDataType": "text", "chartDataType": "category" }, { "field": "value", "headerName": "Value", - "description": "Price, or change in price, per unit.", + "headerTooltip": "Price, or change in price, per unit.", "cellDataType": "number", "chartDataType": "series" } @@ -3181,7 +3181,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Date", - "description": "The date of the data.", + "headerTooltip": "The date of the data.", "cellDataType": "date", "chartDataType": "category" }, @@ -3190,14 +3190,14 @@ "pinned": "left", "formatterFn": null, "headerName": "Symbol", - "description": "Symbol representing the entity requested in the data.", + "headerTooltip": "Symbol representing the entity requested in the data.", "cellDataType": "text", "chartDataType": "category" }, { "field": "value", "headerName": "Value", - "description": "", + "headerTooltip": "", "cellDataType": "number", "chartDataType": "series" }, @@ -3206,7 +3206,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Name", - "description": "The name of the series.", + "headerTooltip": "The name of the series.", "cellDataType": "text", "chartDataType": "category" }, @@ -3214,7 +3214,7 @@ "field": "element_id", "formatterFn": null, "headerName": "Element ID", - "description": "The element id in the parent/child relationship.", + "headerTooltip": "The element id in the parent/child relationship.", "cellDataType": "text", "chartDataType": "category" }, @@ -3222,7 +3222,7 @@ "field": "parent_id", "formatterFn": null, "headerName": "Parent ID", - "description": "The parent id in the parent/child relationship.", + "headerTooltip": "The parent id in the parent/child relationship.", "cellDataType": "text", "chartDataType": "category" }, @@ -3230,21 +3230,21 @@ "field": "children", "formatterFn": null, "headerName": "Children", - "description": "The element_id of each child, as a comma-separated string.", + "headerTooltip": "The element_id of each child, as a comma-separated string.", "cellDataType": "text", "chartDataType": "category" }, { "field": "level", "headerName": "Level", - "description": "The indentation level of the element.", + "headerTooltip": "The indentation level of the element.", "cellDataType": "number", "chartDataType": "series" }, { "field": "line", "headerName": "Line", - "description": "The line number of the series in the table.", + "headerTooltip": "The line number of the series in the table.", "cellDataType": "number", "chartDataType": "series" } @@ -3346,14 +3346,14 @@ "field": "institution", "formatterFn": null, "headerName": "Institution", - "description": "The name of the institution.", + "headerTooltip": "The name of the institution.", "cellDataType": "text", "chartDataType": "category" }, { "field": "cik_number", "headerName": "CIK Number", - "description": "Central Index Key (CIK)", + "headerTooltip": "Central Index Key (CIK)", "cellDataType": "number", "chartDataType": "series" } @@ -3495,7 +3495,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Date", - "description": "The date of publication.", + "headerTooltip": "The date of publication.", "cellDataType": "date", "chartDataType": "category" }, @@ -3504,7 +3504,7 @@ "pinned": "left", "formatterFn": null, "headerName": "Title", - "description": "The title of the release.", + "headerTooltip": "The title of the release.", "cellDataType": "text", "chartDataType": "category" }, @@ -3512,7 +3512,7 @@ "field": "summary", "formatterFn": null, "headerName": "Summary", - "description": "Short summary of the release.", + "headerTooltip": "Short summary of the release.", "cellDataType": "text", "chartDataType": "category" }, @@ -3520,7 +3520,7 @@ "field": "id", "formatterFn": null, "headerName": "ID", - "description": "The identifier associated with the release.", + "headerTooltip": "The identifier associated with the release.", "cellDataType": "text", "chartDataType": "category" }, @@ -3528,7 +3528,7 @@ "field": "link", "formatterFn": null, "headerName": "Link", - "description": "URL to the release.", + "headerTooltip": "URL to the release.", "cellDataType": "text", "chartDataType": "category" } @@ -3584,7 +3584,7 @@ { "field": "sic_code", "headerName": "SIC Code", - "description": "Sector Industrial Code (SIC)", + "headerTooltip": "Sector Industrial Code (SIC)", "cellDataType": "number", "chartDataType": "series" }, @@ -3592,7 +3592,7 @@ "field": "industry_title", "formatterFn": null, "headerName": "Industry Title", - "description": "Industry title.", + "headerTooltip": "Industry title.", "cellDataType": "text", "chartDataType": "category" }, @@ -3600,7 +3600,7 @@ "field": "office", "formatterFn": null, "headerName": "Office", - "description": "Reporting office within the Corporate Finance Office", + "headerTooltip": "Reporting office within the Corporate Finance Office", "cellDataType": "text", "chartDataType": "category" } diff --git a/openbb_platform/obbject_extensions/charting/openbb_charting/core/assets/plotly-2.32.0.min.js b/openbb_platform/obbject_extensions/charting/openbb_charting/core/assets/plotly-2.32.0.min.js deleted file mode 100644 index 020a6b5bfd9..00000000000 --- a/openbb_platform/obbject_extensions/charting/openbb_charting/core/assets/plotly-2.32.0.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/** -* plotly.js v2.32.0 -* Copyright 2012-2024, Plotly, Inc. -* All rights reserved. -* Licensed under the MIT license -*/ -/*! For license information please see plotly.min.js.LICENSE.txt */ -!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Plotly=e():t.Plotly=e()}(self,(function(){return function(){var t={79288:function(t,e,r){"use strict";var n=r(3400),i={"X,X div":'direction:ltr;font-family:"Open Sans",verdana,arial,sans-serif;margin:0;padding:0;',"X input,X button":'font-family:"Open Sans",verdana,arial,sans-serif;',"X input:focus,X button:focus":"outline:none;","X a":"text-decoration:none;","X a:hover":"text-decoration:none;","X .crisp":"shape-rendering:crispEdges;","X .user-select-none":"-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;","X svg":"overflow:hidden;","X svg a":"fill:#447adb;","X svg a:hover":"fill:#3c6dc5;","X .main-svg":"position:absolute;top:0;left:0;pointer-events:none;","X .main-svg .draglayer":"pointer-events:all;","X .cursor-default":"cursor:default;","X .cursor-pointer":"cursor:pointer;","X .cursor-crosshair":"cursor:crosshair;","X .cursor-move":"cursor:move;","X .cursor-col-resize":"cursor:col-resize;","X .cursor-row-resize":"cursor:row-resize;","X .cursor-ns-resize":"cursor:ns-resize;","X .cursor-ew-resize":"cursor:ew-resize;","X .cursor-sw-resize":"cursor:sw-resize;","X .cursor-s-resize":"cursor:s-resize;","X .cursor-se-resize":"cursor:se-resize;","X .cursor-w-resize":"cursor:w-resize;","X .cursor-e-resize":"cursor:e-resize;","X .cursor-nw-resize":"cursor:nw-resize;","X .cursor-n-resize":"cursor:n-resize;","X .cursor-ne-resize":"cursor:ne-resize;","X .cursor-grab":"cursor:-webkit-grab;cursor:grab;","X .modebar":"position:absolute;top:2px;right:2px;","X .ease-bg":"-webkit-transition:background-color .3s ease 0s;-moz-transition:background-color .3s ease 0s;-ms-transition:background-color .3s ease 0s;-o-transition:background-color .3s ease 0s;transition:background-color .3s ease 0s;","X .modebar--hover>:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var a in i){var o=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,i[a])}},86712:function(t,e,r){"use strict";t.exports=r(84224)},37240:function(t,e,r){"use strict";t.exports=r(51132)},29744:function(t,e,r){"use strict";t.exports=r(94456)},29352:function(t,e,r){"use strict";t.exports=r(67244)},96144:function(t,e,r){"use strict";t.exports=r(97776)},53219:function(t,e,r){"use strict";t.exports=r(61712)},4624:function(t,e,r){"use strict";t.exports=r(95856)},54543:function(t,e,r){"use strict";t.exports=r(54272)},45e3:function(t,e,r){"use strict";t.exports=r(85404)},62300:function(t,e,r){"use strict";t.exports=r(26048)},6920:function(t,e,r){"use strict";t.exports=r(66240)},10264:function(t,e,r){"use strict";t.exports=r(40448)},32016:function(t,e,r){"use strict";t.exports=r(64884)},27528:function(t,e,r){"use strict";t.exports=r(15088)},75556:function(t,e,r){"use strict";t.exports=r(76744)},39204:function(t,e,r){"use strict";t.exports=r(94704)},73996:function(t,e,r){"use strict";t.exports=r(62396)},16489:function(t,e,r){"use strict";t.exports=r(32028)},5e3:function(t,e,r){"use strict";t.exports=r(81932)},77280:function(t,e,r){"use strict";t.exports=r(45536)},33992:function(t,e,r){"use strict";t.exports=r(42600)},17600:function(t,e,r){"use strict";t.exports=r(21536)},49116:function(t,e,r){"use strict";t.exports=r(65664)},46808:function(t,e,r){"use strict";t.exports=r(29044)},36168:function(t,e,r){"use strict";t.exports=r(48928)},13792:function(t,e,r){"use strict";var n=r(32016);n.register([r(37240),r(29352),r(5e3),r(33992),r(17600),r(49116),r(6920),r(67484),r(79440),r(39204),r(83096),r(36168),r(20260),r(63560),r(65832),r(46808),r(73996),r(48824),r(89904),r(25120),r(13752),r(4340),r(62300),r(29800),r(8363),r(54543),r(86636),r(42192),r(32140),r(77280),r(89296),r(56816),r(70192),r(45e3),r(27528),r(84764),r(3920),r(50248),r(4624),r(69967),r(10264),r(86152),r(53219),r(81604),r(63796),r(29744),r(89336),r(86712),r(75556),r(16489),r(97312),r(96144)]),t.exports=n},3920:function(t,e,r){"use strict";t.exports=r(43480)},25120:function(t,e,r){"use strict";t.exports=r(6296)},4340:function(t,e,r){"use strict";t.exports=r(7404)},86152:function(t,e,r){"use strict";t.exports=r(65456)},56816:function(t,e,r){"use strict";t.exports=r(22020)},89296:function(t,e,r){"use strict";t.exports=r(29928)},20260:function(t,e,r){"use strict";t.exports=r(75792)},32140:function(t,e,r){"use strict";t.exports=r(156)},84764:function(t,e,r){"use strict";t.exports=r(45499)},48824:function(t,e,r){"use strict";t.exports=r(3296)},69967:function(t,e,r){"use strict";t.exports=r(4184)},8363:function(t,e,r){"use strict";t.exports=r(36952)},86636:function(t,e,r){"use strict";t.exports=r(38983)},70192:function(t,e,r){"use strict";t.exports=r(11572)},81604:function(t,e,r){"use strict";t.exports=r(76924)},63796:function(t,e,r){"use strict";t.exports=r(62944)},89336:function(t,e,r){"use strict";t.exports=r(95443)},67484:function(t,e,r){"use strict";t.exports=r(34864)},97312:function(t,e,r){"use strict";t.exports=r(76272)},42192:function(t,e,r){"use strict";t.exports=r(97924)},29800:function(t,e,r){"use strict";t.exports=r(15436)},63560:function(t,e,r){"use strict";t.exports=r(5621)},89904:function(t,e,r){"use strict";t.exports=r(91304)},50248:function(t,e,r){"use strict";t.exports=r(41724)},65832:function(t,e,r){"use strict";t.exports=r(31991)},79440:function(t,e,r){"use strict";t.exports=r(22869)},13752:function(t,e,r){"use strict";t.exports=r(67776)},83096:function(t,e,r){"use strict";t.exports=r(95952)},72196:function(t){"use strict";t.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},13916:function(t,e,r){"use strict";var n=r(72196),i=r(25376),a=r(33816),o=r(31780).templatedArray;r(36208),t.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},90272:function(t,e,r){"use strict";var n=r(3400),i=r(54460),a=r(23816).draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},"range"===a&&s(e,r),"range"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t["a"+a],l=t[a+"ref"],u=t["a"+a+"ref"],c=t["_"+a+"padplus"],f=t["_"+a+"padminus"],h={x:1,y:-1}[a]*t[a+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+h,v=p-h,g=3*t.startarrowsize*t.arrowwidth||0,y=g+h,m=g-h;if(u===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:v}),b=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(c,y),ppadminus:Math.max(f,m)});r={min:[x.min[0],b.min[0]],max:[x.max[0],b.max[0]]}}else y=s?y+s:y,m=s?m-s:m,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(c,d,y),ppadminus:Math.max(f,v,m)});t._extremes[n]=r}t.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},42300:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(31780).arrayEditor;function o(t,e){var r,n,i,a,o,l,u,c=t._fullLayout.annotations,f=[],h=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),u=l.on,c=l.off.concat(l.explicitOff),f={},h=t._fullLayout.annotations;if(u.length||c.length){for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var Y=!1,X=["x","y"],Z=0;Z1)&&(nt===rt?((pt=it.r2fraction(e["a"+et]))<0||pt>1)&&(Y=!0):Y=!0),K=it._offset+it.r2p(e[et]),Q=.5}else{var dt="domain"===ht;"x"===et?($=e[et],K=dt?it._offset+it._length*$:K=T.l+T.w*$):($=1-e[et],K=dt?it._offset+it._length*$:K=T.t+T.h*$),Q=e.showarrow?.5:$}if(e.showarrow){ft.head=K;var vt=e["a"+et];if(tt=ot*H(.5,e.xanchor)-st*H(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);"domain"===gt?("y"===et&&(vt=1-vt),ft.tail=it._offset+it._length*vt):"paper"===gt?"y"===et?(vt=1-vt,ft.tail=T.t+T.h*vt):ft.tail=T.l+T.w*vt:ft.tail=it._offset+it.r2p(vt),J=tt}else ft.tail=K+vt,J=tt+vt;ft.text=ft.tail+tt;var yt=w["x"===et?"width":"height"];if("paper"===rt&&(ft.head=o.constrain(ft.head,1,yt-1)),"pixel"===nt){var mt=-Math.max(ft.tail-3,ft.text),xt=Math.min(ft.tail+3,ft.text)-yt;mt>0?(ft.tail+=mt,ft.text+=mt):xt>0&&(ft.tail-=xt,ft.text-=xt)}ft.tail+=ct,ft.head+=ct}else J=tt=lt*H(Q,ut),ft.text=K+tt;ft.text+=ct,tt+=ct,J+=ct,e["_"+et+"padplus"]=lt/2+J,e["_"+et+"padminus"]=lt/2-J,e["_"+et+"size"]=lt,e["_"+et+"shift"]=tt}if(Y)R.remove();else{var bt=0,_t=0;if("left"!==e.align&&(bt=(A-b)*("center"===e.align?.5:1)),"top"!==e.valign&&(_t=(D-_)*("middle"===e.valign?.5:1)),f)n.select("svg").attr({x:N+bt-1,y:N+_t}).call(c.setClipUrl,U?L:null,t);else{var wt=N+_t-v.top,Tt=N+bt-v.left;G.call(h.positionText,Tt,wt).call(c.setClipUrl,U?L:null,t)}V.select("rect").call(c.setRect,N,N,A,D),j.call(c.setRect,F/2,F/2,B-F,q-F),R.call(c.setTranslate,Math.round(C.x.text-B/2),Math.round(C.y.text-q/2)),I.attr({transform:"rotate("+P+","+C.x.text+","+C.y.text+")"});var kt,At=function(r,n){O.selectAll(".annotation-arrow-g").remove();var l=C.x.head,f=C.y.head,h=C.x.tail+r,p=C.y.tail+n,v=C.x.text+r,b=C.y.text+n,_=o.rotationXYMatrix(P,v,b),w=o.apply2DTransform(_),A=o.apply2DTransform2(_),L=+j.attr("width"),z=+j.attr("height"),D=v-.5*L,F=D+L,B=b-.5*z,N=B+z,U=[[D,B,D,N],[D,N,F,N],[F,N,F,B],[F,B,D,B]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,f,l+1e6,f+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(h,p,l,f,t[0],t[1],t[2],t[3]);e&&(h=e.x,p=e.y)}));var V=e.arrowwidth,q=e.arrowcolor,H=e.arrowside,G=O.append("g").style({opacity:u.opacity(q)}).classed("annotation-arrow-g",!0),W=G.append("path").attr("d","M"+h+","+p+"L"+l+","+f).style("stroke-width",V+"px").call(u.stroke,u.rgb(q));if(g(W,H,e),k.annotationPosition&&W.node().parentNode&&!a){var Y=l,X=f;if(e.standoff){var Z=Math.sqrt(Math.pow(l-h,2)+Math.pow(f-p,2));Y+=e.standoff*(h-l)/Z,X+=e.standoff*(p-f)/Z}var K,J,$=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(h-Y)+","+(p-X),transform:s(Y,X)}).style("stroke-width",V+6+"px").call(u.stroke,"rgba(0,0,0,0)").call(u.fill,"rgba(0,0,0,0)");d.init({element:$.node(),gd:t,prepFn:function(){var t=c.getTranslate(R);K=t.x,J=t.y,y&&y.autorange&&M(y._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(t,r){var n=w(K,J),i=n[0]+t,a=n[1]+r;R.call(c.setTranslate,i,a),S("x",m(y,t,"x",T,e)),S("y",m(x,r,"y",T,e)),e.axref===e.xref&&S("ax",m(y,t,"ax",T,e)),e.ayref===e.yref&&S("ay",m(x,r,"ay",T,e)),G.attr("transform",s(t,r)),I.attr({transform:"rotate("+P+","+i+","+a+")"})},doneFn:function(){i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};e.showarrow&&At(0,0),z&&d.init({element:R.node(),gd:t,prepFn:function(){kt=I.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?S("ax",m(y,t,"ax",T,e)):S("ax",e.ax+t),e.ayref===e.yref?S("ay",m(x,r,"ay",T.w,e)):S("ay",e.ay+r),At(t,r);else{if(a)return;var i,o;if(y)i=m(y,t,"x",T,e);else{var l=e._xsize/T.w,u=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(u+t/T.w,l,0,1,e.xanchor)}if(x)o=m(x,r,"y",T,e);else{var c=e._ysize/T.h,f=e.y-(e._yshift+e.yshift)/T.h-c/2;o=d.align(f-r/T.h,c,0,1,e.yanchor)}S("x",i),S("y",o),y&&x||(n=d.getCursor(y?.5:i,x?.5:o,e.xanchor,e.yanchor))}I.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",W(n))},doneFn:function(){p(R),i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}t.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,x=e.indexOf("end")>=0,b=d.backoff*g+r.standoff,_=v.backoff*y+r.startstandoff;if("line"===p.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},c={x:+t.attr("x2"),y:+t.attr("y2")};var w=o.x-c.x,T=o.y-c.y;if(h=(f=Math.atan2(T,w))+Math.PI,b&&_&&b+_>Math.sqrt(w*w+T*T))return void z();if(b){if(b*b>w*w+T*T)return void z();var k=b*Math.cos(f),A=b*Math.sin(f);c.x+=k,c.y+=A,t.attr({x2:c.x,y2:c.y})}if(_){if(_*_>w*w+T*T)return void z();var M=_*Math.cos(f),S=_*Math.sin(f);o.x-=M,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),L="";if(E1){u=!0;break}}u?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},56864:function(t,e,r){"use strict";var n=r(24040),i=r(3400);t.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:r(45899)}}},layoutAttributes:r(45899),handleDefaults:r(52808),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}o.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},o.rgb=function(t){return o.tinyRGB(n(t))},o.opacity=function(t){return t?n(t).getAlpha():0},o.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},o.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||u).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.interpolate=function(t,e,r){var i=n(t).toRgb(),a=n(e).toRgb(),o={r:r*i.r+(1-r)*a.r,g:r*i.g+(1-r)*a.g,b:r*i.b+(1-r)*a.b};return n(o).toRgbString()},o.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(o.combine(t,u))),(i.isDark()?e?i.lighten(e):u:r?i.darken(r):l).toString()},o.stroke=function(t,e){var r=n(e);t.style({stroke:o.tinyRGB(r),"stroke-opacity":r.getAlpha()})},o.fill=function(t,e){var r=n(e);t.style({fill:o.tinyRGB(r),"fill-opacity":r.getAlpha()})},o.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,s=Object.keys(t);for(e=0;e0?n>=l:n<=l));i++)n>c&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var pt=Math.pow(10,Math.floor(Math.log(ht)/Math.LN10));ct*=pt*u.roundUp(ht/pt,[2,5,10]),(Math.abs(W.start)/W.size+1e-6)%1<2e-6&&(lt.tick0=0)}lt.dtick=ct}lt.domain=o?[ot+O/B.h,ot+Q-O/B.h]:[ot+P/B.w,ot+Q-P/B.w],lt.setScale(),t.attr("transform",c(Math.round(B.l),Math.round(B.t)));var dt,vt=t.select("."+A.cbtitleunshift).attr("transform",c(-Math.round(B.l),-Math.round(B.t))),gt=lt.ticklabelposition,yt=lt.title.font.size,mt=t.select("."+A.cbaxis),xt=0,bt=0;function _t(n,i){var a={propContainer:lt,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:F._dfltTitle.colorbar,containerGroup:t.select("."+A.cbtitle)},o="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+o+",."+o+"-math-group").remove(),v.draw(r,n,f(a,i||{}))}return u.syncOrAsync([a.previousPromises,function(){var t,e;(o&&ut||!o&&!ut)&&("top"===V&&(t=P+B.l+tt*I,e=O+B.t+et*(1-ot-Q)+3+.75*yt),"bottom"===V&&(t=P+B.l+tt*I,e=O+B.t+et*(1-ot)-3-.25*yt),"right"===V&&(e=O+B.t+et*z+3+.75*yt,t=P+B.l+tt*ot),_t(lt._id+"title",{attributes:{x:t,y:e,"text-anchor":o?"start":"middle"}}))},function(){if(!o&&!ut||o&&ut){var a,l=t.select("."+A.cbtitle),f=l.select("text"),h=[-M/2,M/2],d=l.select(".h"+lt._id+"title-math-group").node(),v=15.6;if(f.node()&&(v=parseInt(f.node().style.fontSize,10)*w),d?(a=p.bBox(d),bt=a.width,(xt=a.height)>v&&(h[1]-=(xt-v)/2)):f.node()&&!f.classed(A.jsPlaceholder)&&(a=p.bBox(f.node()),bt=a.width,xt=a.height),o){if(xt){if(xt+=5,"top"===V)lt.domain[1]-=xt/B.h,h[1]*=-1;else{lt.domain[0]+=xt/B.h;var y=g.lineCount(f);h[1]+=(1-y)*v}l.attr("transform",c(h[0],h[1])),lt.setScale()}}else bt&&("right"===V&&(lt.domain[0]+=(bt+yt/2)/B.w),l.attr("transform",c(h[0],h[1])),lt.setScale())}t.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",o?c(0,Math.round(B.h*(1-lt.domain[1]))):c(Math.round(B.w*lt.domain[0]),0)),mt.attr("transform",o?c(0,Math.round(-B.t)):c(Math.round(-B.l),0));var m=t.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(X);m.enter().append("rect").classed(A.cbfill,!0).attr("style",""),m.exit().remove();var x=q.map(lt.c2p).map(Math.round).sort((function(t,e){return t-e}));m.each((function(t,a){var s=[0===a?q[0]:(X[a]+X[a-1])/2,a===X.length-1?q[1]:(X[a]+X[a+1])/2].map(lt.c2p).map(Math.round);o&&(s[1]=u.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?"x":"y",rt).attr(o?"y":"x",n.min(s)).attr(o?"width":"height",Math.max(K,2)).attr(o?"height":"width",Math.max(n.max(s)-n.min(s),2));if(e._fillgradient)p.gradient(l,r,e._id,o?"vertical":"horizontalreversed",e._fillgradient,"fill");else{var c=G(t).replace("e-","");l.attr("fill",i(c).toHexString())}}));var b=t.select("."+A.cblines).selectAll("path."+A.cbline).data(j.color&&j.width?Z:[]);b.enter().append("path").classed(A.cbline,!0),b.exit().remove(),b.each((function(t){var e=rt,r=Math.round(lt.c2p(t))+j.width/2%1;n.select(this).attr("d","M"+(o?e+","+r:r+","+e)+(o?"h":"v")+K).call(p.lineGroupStyle,j.width,H(t),j.dash)})),mt.selectAll("g."+lt._id+"tick,path").remove();var _=rt+K+(M||0)/2-("outside"===e.ticks?1:0),T=s.calcTicks(lt),k=s.getTickSigns(lt)[2];return s.drawTicks(r,lt,{vals:"inside"===lt.ticks?s.clipEnds(lt,T):T,layer:mt,path:s.makeTickPath(lt,_,k),transFn:s.makeTransTickFn(lt)}),s.drawLabels(r,lt,{vals:T,layer:mt,transFn:s.makeTransTickLabelFn(lt),labelFns:s.makeLabelFns(lt,_)})},function(){if(o&&!ut||!o&&ut){var t,i,a=lt.position||0,s=lt._offset+lt._length/2;if("right"===V)i=s,t=B.l+tt*a+10+yt*(lt.showticklabels?1:.5);else if(t=s,"bottom"===V&&(i=B.t+et*a+10+(-1===gt.indexOf("inside")?lt.tickfont.size:0)+("intside"!==lt.ticks&&e.ticklen||0)),"top"===V){var l=U.text.split("
").length;i=B.t+et*a+10-K-w*yt*l}_t((o?"h":"v")+lt._id+"title",{avoid:{selection:n.select(r).selectAll("g."+lt._id+"tick"),side:V,offsetTop:o?0:B.t,offsetLeft:o?B.l:0,maxShift:o?F.width:F.height},attributes:{x:t,y:i,"text-anchor":"middle"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=K+M/2;-1===gt.indexOf("inside")&&(n=p.bBox(mt.node()),s+=o?n.width:n.height),dt=vt.select("text");var u=0,f=o&&"top"===V,v=!o&&"right"===V,g=0;if(dt.node()&&!dt.classed(A.jsPlaceholder)){var m,x=vt.select(".h"+lt._id+"title-math-group").node();x&&(o&&ut||!o&&!ut)?(u=(n=p.bBox(x)).width,m=n.height):(u=(n=p.bBox(vt.node())).right-B.l-(o?rt:st),m=n.bottom-B.t-(o?st:rt),o||"top"!==V||(s+=n.height,g=n.height)),v&&(dt.attr("transform",c(u/2+yt/2,0)),u*=2),s=Math.max(s,o?u:m)}var b=2*(o?P:O)+s+S+M/2,w=0;!o&&U.text&&"bottom"===C&&z<=0&&(b+=w=b/2,g+=w),F._hColorbarMoveTitle=w,F._hColorbarMoveCBTitle=g;var N=S+M,j=(o?rt:st)-N/2-(o?P:0),q=(o?st:rt)-(o?$:O+g-w);t.select("."+A.cbbg).attr("x",j).attr("y",q).attr(o?"width":"height",Math.max(b-w,2)).attr(o?"height":"width",Math.max($+N,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style("stroke-width",S);var H=v?Math.max(u-10,0):0;t.selectAll("."+A.cboutline).attr("x",(o?rt:st+P)+H).attr("y",(o?st+O-$:rt)+(f?xt:0)).attr(o?"width":"height",Math.max(K,2)).attr(o?"height":"width",Math.max($-(o?2*O+xt:2*P+H),2)).call(d.stroke,e.outlinecolor).style({fill:"none","stroke-width":M});var G=o?nt*b:0,W=o?0:(1-it)*b-g;if(G=R?B.l-G:-G,W=D?B.t-W:-W,t.attr("transform",c(G,W)),!o&&(S||i(E).getAlpha()&&!i.equals(F.paper_bgcolor,E))){var Y=mt.selectAll("text"),X=Y[0].length,Z=t.select("."+A.cbbg).node(),J=p.bBox(Z),Q=p.getTranslate(t);Y.each((function(t,e){var r=X-1;if(0===e||e===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(e===r){var o=i.right+a.x;(n=J.right+Q.x+st-S-2+I-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=J.left+Q.x+st+S+2-s)<0&&(n=0)}n&&(X<3?this.setAttribute("transform","translate("+n+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}}))}var tt={},et=T[L],at=k[L],ot=T[C],ct=k[C],ft=b-K;o?("pixels"===h?(tt.y=z,tt.t=$*ot,tt.b=$*ct):(tt.t=tt.b=0,tt.yt=z+l*ot,tt.yb=z-l*ct),"pixels"===_?(tt.x=I,tt.l=b*et,tt.r=b*at):(tt.l=ft*et,tt.r=ft*at,tt.xl=I-y*et,tt.xr=I+y*at)):("pixels"===h?(tt.x=I,tt.l=$*et,tt.r=$*at):(tt.l=tt.r=0,tt.xl=I+l*et,tt.xr=I-l*at),"pixels"===_?(tt.y=1-z,tt.t=b*ot,tt.b=b*ct):(tt.t=ft*ot,tt.b=ft*ct,tt.yt=z-y*ot,tt.yb=z+y*ct));var ht=e.y<.5?"b":"t",pt=e.x<.5?"l":"r";r._fullLayout._reservedMargin[e._id]={};var bt={r:F.width-j-G,l:j+tt.r,b:F.height-q-W,t:q+tt.b};R&&D?a.autoMargin(r,e._id,tt):R?r._fullLayout._reservedMargin[e._id][ht]=bt[ht]:D||o?r._fullLayout._reservedMargin[e._id][pt]=bt[pt]:r._fullLayout._reservedMargin[e._id][ht]=bt[ht]}],r)}(r,e,t);y&&y.then&&(t._promises||[]).push(y),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s="v"===e.orientation,u=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),h(t)},moveFn:function(r,o){t.attr("transform",n+c(r,o)),i=l.align((s?e._uFrac:e._vFrac)+r/u.w,s?e._thickFrac:e._lenFrac,0,1,e.xanchor),a=l.align((s?e._vFrac:1-e._uFrac)-o/u.h,s?e._lenFrac:e._thickFrac,0,1,e.yanchor);var f=l.getCursor(i,a,e.xanchor,e.yanchor);h(t,f)},doneFn:function(){if(h(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+"x"]=i,n[e._propPrefix+"y"]=a,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},90553:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t){return n.isPlainObject(t.colorbar)}},55080:function(t,e,r){"use strict";t.exports={moduleType:"component",name:"colorbar",attributes:r(42996),supplyDefaults:r(64013),draw:r(37848).draw,hasColorbar:r(90553)}},49084:function(t,e,r){"use strict";var n=r(42996),i=r(53756).counter,a=r(95376),o=r(88304).scales;function s(t){return"`"+t+"`"}a(o),t.exports=function(t,e){t=t||"";var r,a=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),u="showScaleDflt"in e?e.showScaleDflt:"z"===a,c="string"==typeof e.colorscaleDflt?o[e.colorscaleDflt]:null,f=e.editTypeOverride||"",h=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):s(h+(r={z:"z",c:"color"}[a]));var p=a+"auto",d=a+"min",v=a+"max",g=a+"mid",y=(s(h+p),s(h+d),s(h+v),{});y[d]=y[v]=void 0;var m={};m[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:f||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:y},x[d]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[v]={valType:"number",dflt:null,editType:f||"plot",impliedEdits:m},x[g]={valType:"number",dflt:null,editType:"calc",impliedEdits:y},x.colorscale={valType:"colorscale",editType:"calc",dflt:c,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:u,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:i("coloraxis"),dflt:null,editType:"calc"}),x}},47128:function(t,e,r){"use strict";var n=r(38248),i=r(3400),a=r(94288).extractOpts;t.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,u=r.containerStr,c=u?i.nestedProperty(e,u).get():e,f=a(c),h=!1!==f.auto,p=f.min,d=f.max,v=f.mid,g=function(){return i.aggNums(Math.min,null,l)},y=function(){return i.aggNums(Math.max,null,l)};void 0===p?p=g():h&&(p=c._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=y():h&&(d=c._colorAx&&n(d)?Math.max(d,y()):y()),h&&void 0!==v&&(d-v>v-p?p=v-(d-v):d-v=0?s.colorscale.sequential:s.colorscale.sequentialminus,f._sync("colorscale",o))}},95504:function(t,e,r){"use strict";var n=r(3400),i=r(94288).hasColorscale,a=r(94288).extractOpts;t.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,u=new Array(l),c=0;c4/3-s?o:s}},67416:function(t,e,r){"use strict";var n=r(3400),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];t.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},72760:function(t,e){"use strict";e.selectMode=function(t){return"lasso"===t||"select"===t},e.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.openMode=function(t){return"drawline"===t||"drawopenpath"===t},e.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},e.selectingOrDrawing=function(t){return e.freeMode(t)||e.rectMode(t)}},86476:function(t,e,r){"use strict";var n=r(29128),i=r(52264),a=r(89184),o=r(3400).removeElement,s=r(33816),l=t.exports={};l.align=r(78316),l.getCursor=r(67416);var u=r(2616);function c(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function f(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=u.wrapped,l.unhoverRaw=u.raw,l.init=function(t){var e,r,n,u,h,p,d,v,g=t.gd,y=1,m=g._context.doubleClickDelay,x=t.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=_,a?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=_,x.addEventListener("touchstart",_,{passive:!1})):x.ontouchstart=_;var b=t.clampFn||function(t,e,r){return Math.abs(t)m&&(y=Math.max(y-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(y,p),!v){var r;try{r=new MouseEvent("click",e)}catch(t){var n=f(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=c},2616:function(t,e,r){"use strict";var n=r(95924),i=r(91200),a=r(52200).getGraphDiv,o=r(92456),s=t.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},98192:function(t,e){"use strict";e.u={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"},e.c={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}},43616:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.numberFormat,o=r(38248),s=r(49760),l=r(24040),u=r(76308),c=r(8932),f=i.strTranslate,h=r(72736),p=r(9616),d=r(84284).LINE_SPACING,v=r(13448).DESELECTDIM,g=r(43028),y=r(7152),m=r(10624).appendArrayPointValue,x=t.exports={};function b(t,e,r,n){var i=e.fillpattern,a=e.fillgradient,o=i&&x.getPatternAttr(i.shape,0,"");if(o){var s=x.getPatternAttr(i.bgcolor,0,null),l=x.getPatternAttr(i.fgcolor,0,null),c=i.fgopacity,f=x.getPatternAttr(i.size,0,8),h=x.getPatternAttr(i.solidity,0,.3),p=e.uid;x.pattern(t,"point",r,p,o,f,h,void 0,i.fillmode,s,l,c)}else if(a&&"none"!==a.type){var d,v,g=a.type,y="scatterfill-"+e.uid;n&&(y="legendfill-"+e.uid),n||void 0===a.start&&void 0===a.stop?("horizontal"===g&&(g+="reversed"),t.call(x.gradient,r,y,g,a.colorscale,"fill")):("horizontal"===g?(d={x:a.start,y:0},v={x:a.stop,y:0}):"vertical"===g&&(d={x:0,y:a.start},v={x:0,y:a.stop}),d.x=e._xA.c2p(void 0===d.x?e._extremes.x.min[0].val:d.x,!0),d.y=e._yA.c2p(void 0===d.y?e._extremes.y.min[0].val:d.y,!0),v.x=e._xA.c2p(void 0===v.x?e._extremes.x.max[0].val:v.x,!0),v.y=e._yA.c2p(void 0===v.y?e._extremes.y.max[0].val:v.y,!0),t.call(M,r,y,"linear",a.colorscale,"fill",d,v,!0,!1))}else e.fillcolor&&t.call(u.fill,e.fillcolor)}x.font=function(t,e,r,n,a,o,s){i.isPlainObject(e)&&(s=e.variant,o=e.style,a=e.weight,n=e.color,r=e.size,e=e.family),e&&t.style("font-family",e),r+1&&t.style("font-size",r+"px"),n&&t.call(u.fill,n),a&&t.style("font-weight",a),o&&t.style("font-style",o),s&&t.style("font-variant",s)},x.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},x.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},x.setRect=function(t,e,r,n,i){t.call(x.setPosition,e,r).call(x.setSize,n,i)},x.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(o(i)&&o(a)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",a):e.attr("transform",f(i,a)),!0)},x.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);x.translatePoint(t,i,e,r)}))},x.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},x.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,u=l.traceIs(a,"bar-like")?".bartext":".point,.textpoint";t.selectAll(u).each((function(t){x.hideOutsideRangePoint(t,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},x.singleLineStyle=function(t,e,r,n,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||"";u.stroke(e,n||a.color),x.dashLine(e,s,o)},x.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,s=i||a.dash||"";n.select(this).call(u.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(t,e,r){r=+r||0,e=x.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},x.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},x.singleFillStyle=function(t,e){var r=n.select(t.node());b(t,((r.data()[0]||[])[0]||{}).trace||{},e,!1)},x.fillGroupStyle=function(t,e,r){t.style("stroke-width",0).each((function(t){var i=n.select(this);t[0].trace&&b(i,t[0].trace,e,r)}))};var _=r(71984);x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(_).forEach((function(t){var e=_[t],r=e.n;x.symbolList.push(r,String(r),t,r+100,String(r+100),t+"-open"),x.symbolNames[r]=t,x.symbolFuncs[r]=e.f,x.symbolBackOffs[r]=e.backoff||0,e.needLine&&(x.symbolNeedLines[r]=!0),e.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),t+"-dot",r+300,String(r+300),t+"-open-dot"),e.noFill&&(x.symbolNoFill[r]=!0)}));var w=x.symbolNames.length;function T(t,e,r,n){var i=t%100;return x.symbolFuncs[i](e,r,n)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}x.symbolNumber=function(t){if(o(t))t=+t;else if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=x.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=w||t>=400?0:Math.floor(Math.max(t,0))};var k=a("~f"),A={radial:{type:"radial"},radialreversed:{type:"radial",reversed:!0},horizontal:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};function M(t,e,r,a,o,l,c,f,h,p){var d,v=o.length;"linear"===a?d={node:"linearGradient",attrs:{x1:c.x,y1:c.y,x2:f.x,y2:f.y,gradientUnits:h?"userSpaceOnUse":"objectBoundingBox"},reversed:p}:"radial"===a&&(d={node:"radialGradient",reversed:p});for(var g=new Array(v),y=0;y=0&&void 0===t.i&&(t.i=o.i),e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?s.opacity:t.mo),n.ms2mrc){var c;c="various"===t.ms||"various"===s.size?3:n.ms2mrc(t.ms),t.mrc=c,n.selectedSizeFn&&(c=t.mrc=n.selectedSizeFn(t));var f=x.symbolNumber(t.mx||s.symbol)||0;t.om=f%200>=100;var h=et(t,r),p=H(t,r);e.attr("d",T(f,c,h,p))}var d,v,g,y=!1;if(t.so)g=l.outlierwidth,v=l.outliercolor,d=s.outliercolor;else{var m=(l||{}).width;g=(t.mlw+1||m+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,v="mlc"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(l.color)?u.defaultLine:l.color,i.isArrayOrTypedArray(s.color)&&(d=u.defaultLine,y=!0),d="mc"in t?t.mcc=n.markerScale(t.mc):s.color||s.colors||"rgba(0,0,0,0)",n.selectedColorFn&&(d=n.selectedColorFn(t))}if(t.om)e.call(u.stroke,d).style({"stroke-width":(g||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:g)+"px");var b=s.gradient,_=t.mgt;_?y=!0:_=b&&b.type,i.isArrayOrTypedArray(_)&&(_=_[0],A[_]||(_=0));var w=s.pattern,k=w&&x.getPatternAttr(w.shape,t.i,"");if(_&&"none"!==_){var M=t.mgc;M?y=!0:M=b.color;var S=r.uid;y&&(S+="-"+t.i),x.gradient(e,a,S,_,[[0,M],[1,d]],"fill")}else if(k){var E=!1,L=w.fgcolor;!L&&o&&o.color&&(L=o.color,E=!0);var C=x.getPatternAttr(L,t.i,o&&o.color||null),P=x.getPatternAttr(w.bgcolor,t.i,null),O=w.fgopacity,I=x.getPatternAttr(w.size,t.i,8),z=x.getPatternAttr(w.solidity,t.i,.3);E=E||t.mcc||i.isArrayOrTypedArray(w.shape)||i.isArrayOrTypedArray(w.bgcolor)||i.isArrayOrTypedArray(w.fgcolor)||i.isArrayOrTypedArray(w.size)||i.isArrayOrTypedArray(w.solidity);var D=r.uid;E&&(D+="-"+t.i),x.pattern(e,"point",a,D,k,I,z,t.mcc,w.fillmode,P,C,O)}else i.isArrayOrTypedArray(d)?u.fill(e,d[t.i]):u.fill(e,d);g&&u.stroke(e,v)}},x.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=x.tryColorscale(r,""),e.lineScale=x.tryColorscale(r,"line"),l.traceIs(t,"symbols")&&(e.ms2mrc=g.isBubble(t)?y(t):function(){return(r.size||6)/2}),t.selectedpoints&&i.extendFlat(e,x.makeSelectedPointStyleFns(t)),e},x.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},o=r.marker||{},s=n.marker||{},u=a.opacity,c=o.opacity,f=s.opacity,h=void 0!==c,p=void 0!==f;(i.isArrayOrTypedArray(u)||h||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?h?c:e:p?f:v*e});var d=a.color,g=o.color,y=s.color;(g||y)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:y||e});var m=a.size,x=o.size,b=s.size,_=void 0!==x,w=void 0!==b;return l.traceIs(t,"symbols")&&(_||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||m/2;return t.selected?_?x/2:e:w?b/2:e}),e},x.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,c=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?l||e:c||(l?e:u.addOpacity(e,v))},e},x.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){u.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,n){var a=n.mx||i.symbol||0,o=r.selectedSizeFn(n);t.attr("d",T(x.symbolNumber(a),o,et(n,e),H(n,e))),n.mrc2=o})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}function O(t,e,r){return r&&(t=B(t)),e?z(t[1]):I(t[0])}function I(t){var e=n.round(t,2);return S=e,e}function z(t){var e=n.round(t,2);return E=e,e}function D(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),u=Math.pow(o*o+s*s,.25),c=(u*u*i-l*l*o)*n,f=(u*u*a-l*l*s)*n,h=3*u*(l+u),p=3*l*(l+u);return[[I(e[0]+(h&&c/h)),z(e[1]+(h&&f/h))],[I(e[0]-(p&&c/p)),z(e[1]-(p&&f/p))]]}x.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var o=x.makeSelectedTextStyleFns(e);a=o.selectedTextColorFn}var s=e.texttemplate,l=r._fullLayout;t.each((function(t){var o=n.select(this),u=s?i.extractOption(t,e,"txt","texttemplate"):i.extractOption(t,e,"tx","text");if(u||0===u){if(s){var c=e._module.formatLabels,f=c?c(t,e,l):{},p={};m(p,e,t.i);var d=e._meta||{};u=i.texttemplateString(u,f,l._d3locale,p,t,d)}var v=t.tp||e.textposition,g=P(t,e),y=a?a(t):t.tc||e.textfont.color;o.call(x.font,{family:t.tf||e.textfont.family,weight:t.tw||e.textfont.weight,style:t.ty||e.textfont.style,variant:t.tv||e.textfont.variant,size:g,color:y}).text(u).call(h.convertToTspans,r).call(C,v,g,t.mrc)}else o.remove()}))}},x.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=P(t,e);u.fill(i,a);var c=l.traceIs(e,"bar-like");C(i,o,s,t.mrc2||t.mrc,c)}))}},x.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r=u||w>=f&&w<=u)&&(T<=h&&T>=c||T>=h&&T<=c)&&(t=[w,T])}return t}x.steps=function(t){var e=R[t]||F;return function(t){for(var r="M"+I(t[0][0])+","+z(t[0][1]),n=t.length,i=1;i=1e4&&(x.savedBBoxes={},N=0),r&&(x.savedBBoxes[r]=g),N++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr("clip-path",U(e,r))},x.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||0,y:+e[1]||0}},x.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=f(e,r)).trim(),t[i]("transform",a),a},x.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||1,y:+e[1]||1}},x.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+="scale("+e+","+r+")").trim(),t[i]("transform",a),a};var V=/\s*sc.*/;x.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":"scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(V,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var q=/translate\([^)]*\)\s*$/;function H(t,e){var r;return t&&(r=t.mf),void 0===r&&(r=e.marker&&e.marker.standoff||0),e._geo||e._xA?r:-r}x.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(q);t=1===e&&1===r?[]:[f(o,s),"scale("+e+","+r+")",f(-o,-s)],l&&t.push(l),i.attr("transform",t.join(""))}}))},x.getMarkerStandoff=H;var G,W,Y,X,Z,K,J=Math.atan2,$=Math.cos,Q=Math.sin;function tt(t,e){var r=e[0],n=e[1];return[r*$(t)-n*Q(t),r*Q(t)+n*$(t)]}function et(t,e){var r,n,a=t.ma;void 0===a&&((a=e.marker.angle)&&!i.isArrayOrTypedArray(a)||(a=0));var s=e.marker.angleref;if("previous"===s||"north"===s){if(e._geo){var l=e._geo.project(t.lonlat);r=l[0],n=l[1]}else{var u=e._xA,c=e._yA;if(!u||!c)return 90;r=u.c2p(t.x),n=c.c2p(t.y)}if(e._geo){var f,h=t.lonlat[0],p=t.lonlat[1],d=e._geo.project([h,p+1e-5]),v=e._geo.project([h+1e-5,p]),g=J(v[1]-n,v[0]-r),y=J(d[1]-n,d[0]-r);if("north"===s)f=a/180*Math.PI;else if("previous"===s){var m=h/180*Math.PI,x=p/180*Math.PI,b=G/180*Math.PI,_=W/180*Math.PI,w=b-m,T=$(_)*Q(w),k=Q(_)*$(x)-$(_)*Q(x)*$(w);f=-J(T,k)-Math.PI,G=h,W=p}var A=tt(g,[$(f),0]),M=tt(y,[Q(f),0]);a=J(A[1]+M[1],A[0]+M[0])/Math.PI*180,"previous"!==s||K===e.uid&&t.i===Z+1||(a=null)}if("previous"===s&&!e._geo)if(K===e.uid&&t.i===Z+1&&o(r)&&o(n)){var S=r-Y,E=n-X,L=e.line&&e.line.shape||"",C=L.slice(L.length-1);"h"===C&&(E=0),"v"===C&&(S=0),a+=J(E,S)/Math.PI*180+90}else a=null}return Y=r,X=n,Z=t.i,K=e.uid,a}x.getMarkerAngle=et},71984:function(t,e,r){"use strict";var n,i,a,o,s=r(21984),l=r(33428).round,u="M0,0Z",c=Math.sqrt(2),f=Math.sqrt(3),h=Math.PI,p=Math.cos,d=Math.sin;function v(t){return null===t}function g(t,e,r){if(!(t&&t%360!=0||e))return r;if(a===t&&o===e&&n===r)return i;function l(t,r){var n=p(t),i=d(t),a=r[0],o=r[1]+(e||0);return[a*n-o*i,a*i+o*n]}a=t,o=e,n=r;for(var u=t/180*h,c=0,f=0,v=s(r),g="",y=0;y0,f=t._context.staticPlot;e.each((function(e){var h,p=e[0].trace,d=p.error_x||{},v=p.error_y||{};p.ids&&(h=function(t){return t.id});var g=o.hasMarkers(p)&&p.marker.maxdisplayed>0;v.visible||d.visible||(e=[]);var y=n.select(this).selectAll("g.errorbar").data(e,h);if(y.exit().remove(),e.length){d.visible||y.selectAll("path.xerror").remove(),v.visible||y.selectAll("path.yerror").remove(),y.style("opacity",1);var m=y.enter().append("g").classed("errorbar",!0);c&&m.style("opacity",0).transition().duration(s.duration).style("opacity",1),a.setClipUrl(y,r.layerClipId,t),y.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0))),void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,u);if(!g||t.vis){var a,o=e.select("path.yerror");if(v.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var h=v.width;a="M"+(r.x-h)+","+r.yh+"h"+2*h+"m-"+h+",0V"+r.ys,r.noYS||(a+="m-"+h+",0h"+2*h),o.size()?c&&(o=o.transition().duration(s.duration).ease(s.easing)):o=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("yerror",!0),o.attr("d",a)}else o.remove();var p=e.select("path.xerror");if(d.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var y=(d.copy_ystyle?v:d).width;a="M"+r.xh+","+(r.y-y)+"v"+2*y+"m0,-"+y+"H"+r.xs,r.noXS||(a+="m0,-"+y+"v"+2*y),p.size()?c&&(p=p.transition().duration(s.duration).ease(s.easing)):p=e.append("path").style("vector-effect",f?"none":"non-scaling-stroke").classed("xerror",!0),p.attr("d",a)}else p.remove()}}))}}))}},92036:function(t,e,r){"use strict";var n=r(33428),i=r(76308);t.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)}))}},55756:function(t,e,r){"use strict";var n=r(25376),i=r(65460).hoverlabel,a=r(92880).extendFlat;t.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:"none"}}},55056:function(t,e,r){"use strict";var n=r(3400),i=r(24040);function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}t.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.indexZ[0]._length||bt<0||bt>K[0]._length)return v.unhoverRaw(t,e)}else xt="xpx"in e?e.xpx:Z[0]._length/2,bt="ypx"in e?e.ypx:K[0]._length/2;if(e.pointerX=xt+Z[0]._offset,e.pointerY=bt+K[0]._offset,rt="xval"in e?m.flat(x,e.xval):m.p2c(Z,xt),nt="yval"in e?m.flat(x,e.yval):m.p2c(K,bt),!i(rt[0])||!i(nt[0]))return o.warn("Fx.hover failed",e,t),v.unhoverRaw(t,e)}var kt=1/0;function At(r,n){for(at=0;atdt&&(vt.splice(0,dt),kt=vt[0].distance),A&&0!==et&&0===vt.length){pt.distance=et,pt.index=!1;var c=st._module.hoverPoints(pt,ft,ht,"closest",{hoverLayer:b._hoverlayer});if(c&&(c=c.filter((function(t){return t.spikeDistance<=et}))),c&&c.length){var f,h=c.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(h.length){var p=h[0];i(p.x0)&&i(p.y0)&&(f=St(p),(!yt.vLinePoint||yt.vLinePoint.spikeDistance>f.spikeDistance)&&(yt.vLinePoint=f))}var v=c.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(v.length){var g=v[0];i(g.x0)&&i(g.y0)&&(f=St(g),(!yt.hLinePoint||yt.hLinePoint.spikeDistance>f.spikeDistance)&&(yt.hLinePoint=f))}}}}}function Mt(t,e,r){for(var n,i=null,a=1/0,o=0;o0&&Math.abs(t.distance)Bt-1;Nt--)qt(vt[Nt]);vt=jt,Pt()}var Ht=t._hoverdata,Gt=[],Wt=q(t),Yt=H(t);for(it=0;it1||vt.length>1)||"closest"===M&&mt&&vt.length>1,oe=d.combine(b.plot_bgcolor||d.background,b.paper_bgcolor),se=z(vt,{gd:t,hovermode:M,rotateLabels:ae,bgColor:oe,container:b._hoverlayer,outerContainer:b._paper.node(),commonLabelOpts:b.hoverlabel,hoverdistance:b.hoverdistance}),le=se.hoverLabels;if(m.isUnifiedHover(M)||(function(t,e,r,n){var i,a,o,s,l,u,c,f=e?"xa":"ya",h=e?"ya":"xa",p=0,d=1,v=t.size(),g=new Array(v),y=0,m=n.minX,x=n.maxX,b=n.minY,_=n.maxY,w=function(t){return t*r._invScaleX},T=function(t){return t*r._invScaleY};function A(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a>.01){for(l=t.length-1;l>=0;l--)t[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=t.length-1;l>=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;se.pmax&&n++;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos>e.pmax-1&&(u.del=!0,n--);for(s=0;s=0;l--)t[l].dp-=o;for(s=t.length-1;s>=0&&!(n<=0);s--)(u=t[s]).pos+u.dp+u.size>e.pmax&&(u.del=!0,n--)}}}for(t.each((function(t){var n=t[f],i=t[h],a="x"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if("x"===r.hovermode||"y"===r.hovermode){var u,c,p=R(t,e),v=t.anchor,A="end"===v?-1:1;if("middle"===v)c=(u=t.crossPos+(a?T(p.y-t.by/2):w(t.bx/2+t.tx2width/2)))+(a?T(t.by):w(t.bx));else if(a)c=(u=t.crossPos+T(S+p.y)-T(t.by/2-S))+T(t.by);else{var M=w(A*S+p.x),E=M+w(A*t.bx);u=t.crossPos+Math.min(M,E),c=t.crossPos+Math.max(M,E)}a?void 0!==b&&void 0!==_&&Math.min(c,_)-Math.max(u,b)>1&&("left"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==m&&void 0!==x&&Math.min(c,x)-Math.max(u,m)>1&&("top"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?k:1)/2,pmin:s,pmax:l}]})),g.sort((function(t,e){return t[0].posref-e[0].posref||d*(e[0].traceIndex-t[0].traceIndex)}));!i&&p<=v;){for(p++,i=!0,s=0;s.01&&L.pmin===C.pmin&&L.pmax===C.pmax){for(l=E.length-1;l>=0;l--)E[l].dp+=a;for(M.push.apply(M,E),g.splice(s+1,1),c=0,l=M.length-1;l>=0;l--)c+=M[l].dp;for(o=c/M.length,l=M.length-1;l>=0;l--)M[l].dp-=o;i=!1}else s++}g.forEach(A)}for(s=g.length-1;s>=0;s--){var P=g[s];for(l=P.length-1;l>=0;l--){var O=P[l],I=O.datum;I.offset=O.dp,I.del=O.del}}}(le,ae,b,se.commonLabelBoundingBox),F(le,ae,b._invScaleX,b._invScaleY)),l&&l.tagName){var ue=y.getComponentMethod("annotations","hasClickToShow")(t,Gt);h(n.select(l),ue?"pointer":"")}l&&!a&&function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,Ht)&&(Ht&&t.emit("plotly_unhover",{event:e,points:Ht}),t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:Z,yaxes:K,xvals:rt,yvals:nt}))}(t,e,r,a,l)}))},e.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=q(i),o=H(i),s=z(t.map((function(t){var r=t._x0||t.x0||t.x||0,n=t._x1||t.x1||t.x||0,s=t._y0||t.y0||t.y||0,l=t._y1||t.y1||t.y||0,u=t.eventData;if(u){var c=Math.min(r,n),f=Math.max(r,n),h=Math.min(s,l),p=Math.max(s,l),v=t.trace;if(y.traceIs(v,"gl3d")){var g=i._fullLayout[v.scene]._scene.container,m=g.offsetLeft,x=g.offsetTop;c+=m,f+=m,h+=x,p+=x}u.bbox={x0:c+o,x1:f+o,y0:h+a,y1:p+a},e.inOut_bbox&&e.inOut_bbox.push(u.bbox)}else u=!1;return{color:t.color||d.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontVariant:t.fontVariant,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,hovertemplateLabels:t.hovertemplateLabels||!1,eventData:u}})),{gd:i,hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||d.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}).hoverLabels,l=0,u=0;return s.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\s\S]*)<\/extra>/;function z(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,s=e.rotateLabels,c=e.bgColor,h=e.container,v=e.outerContainer,g=e.commonLabelOpts||{};if(0===t.length)return[[]];var T=e.fontFamily||x.HOVERFONT,k=e.fontSize||x.HOVERFONTSIZE,A=e.fontWeight||i.font.weight,M=e.fontStyle||i.font.style,L=e.fontVariant||i.font.variant,C=t[0],P=C.xa,I=C.ya,z=a.charAt(0),R=z+"Label",F=C[R];if(void 0===F&&"multicategory"===P.type)for(var B=0;Bi.width-_&&(w=i.width-_),e.attr("d","M"+(y-w)+",0L"+(y-w+S)+","+b+S+"H"+_+"v"+b+(2*E+x.height)+"H"+-_+"V"+b+S+"H"+(y-w-S)+"Z"),y=w,K.minX=y-_,K.maxX=y+_,"top"===P.side?(K.minY=m-(2*E+x.height),K.maxY=m-E):(K.minY=m+E,K.maxY=m+(2*E+x.height))}else{var O,z,D;"right"===I.side?(O="start",z=1,D="",y=P._offset+P._length):(O="end",z=-1,D="-",y=P._offset),m=I._offset+(C.y0+C.y1)/2,s.attr("text-anchor",O),e.attr("d","M0,0L"+D+S+","+S+"V"+(E+x.height/2)+"h"+D+(2*E+x.width)+"V-"+(E+x.height/2)+"H"+D+S+"V-"+S+"Z"),K.minY=m-(E+x.height/2),K.maxY=m+(E+x.height/2),"right"===I.side?(K.minX=y+S,K.maxX=y+S+(2*E+x.width)):(K.minX=y-S-(2*E+x.width),K.maxX=y-S);var R,B=x.height/2,N=j-x.top-B,U="clip"+i._uid+"commonlabel"+I._id;if(y=0?ft:ht+vt=0?ht:Tt+vt=0?ut:ct+gt=0?ct:kt+gt=0,"top"!==t.idealAlign&&X||!Z?X?(R+=N/2,t.anchor="start"):t.anchor="middle":(R-=N/2,t.anchor="end"),t.crossPos=R;else{if(t.pos=R,X=z+B/2+K<=U,Z=z-B/2-K>=0,"left"!==t.idealAlign&&X||!Z)if(X)z+=B/2,t.anchor="start";else{t.anchor="middle";var J=K/2,$=z+J-U,Q=z-J;$>0&&(z-=$),Q<0&&(z+=-Q)}else z-=B/2,t.anchor="end";t.crossPos=z}_.attr("text-anchor",t.anchor),P&&C.attr("text-anchor",t.anchor),e.attr("transform",l(z,R)+(s?u(w):""))})),{hoverLabels:At,commonLabelBoundingBox:K}}function D(t,e,r,n,i,a){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=U(t.name,t.nameLength));var u=r.charAt(0),c="x"===u?"y":"x";void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"
"),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"
"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[u+"Label"]===i?l=t[c+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"
":"")+t.text),void 0!==t.extraText&&(l+=(l?"
":"")+t.extraText),a&&""===l&&!t.hovertemplate&&(""===s&&a.remove(),l=s);var f=t.hovertemplate||!1;if(f){var h=t.hovertemplateLabels||t;t[u+"Label"]!==i&&(h[u+"other"]=h[u+"Val"],h[u+"otherLabel"]=h[u+"Label"]),l=(l=o.hovertemplateString(f,h,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(I,(function(e,r){return s=U(r,t.nameLength),""}))}return[l,s]}function R(t,e){var r=0,n=t.offset;return e&&(n*=-M,r=t.offset*A),{x:r,y:n}}function F(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i,s,l,u,c=r.select("text.nums"),h=t.anchor,d="end"===h?-1:1,v=(u=(l=(s={start:1,end:-1,middle:0}[(i=t).anchor])*(S+E))+s*(i.txwidth+E),"middle"===i.anchor&&(l-=i.tx2width/2,u+=i.txwidth/2+E),{alignShift:s,textShiftX:l,text2ShiftX:u}),g=R(t,e),y=g.x,m=g.y,x="middle"===h;r.select("path").attr("d",x?"M-"+a(t.bx/2+t.tx2width/2)+","+o(m-t.by/2)+"h"+a(t.bx)+"v"+o(t.by)+"h-"+a(t.bx)+"Z":"M0,0L"+a(d*S+y)+","+o(S+m)+"v"+o(t.by/2-S)+"h"+a(d*t.bx)+"v-"+o(t.by)+"H"+a(d*S+y)+"V"+o(m-S)+"Z");var b=y+v.textShiftX,_=m+t.ty0-t.by/2+E,w=t.textAlign||"auto";"auto"!==w&&("left"===w&&"start"!==h?(c.attr("text-anchor","start"),b=x?-t.bx/2-t.tx2width/2+E:-t.bx-E):"right"===w&&"end"!==h&&(c.attr("text-anchor","end"),b=x?t.bx/2-t.tx2width/2-E:t.bx+E)),c.call(f.positionText,a(b),o(_)),t.tx2width&&(r.select("text.name").call(f.positionText,a(v.text2ShiftX+v.alignShift*E+y),o(m+t.ty0-t.by/2+E)),r.select("rect").call(p.setRect,a(v.text2ShiftX+(v.alignShift-1)*t.tx2width/2+y),o(m-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function B(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var u=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function c(e,r,n){var i=u(r,n);l(i)&&(t[e]=i)}if(c("hoverinfo","hi","hoverinfo"),c("bgcolor","hbg","hoverlabel.bgcolor"),c("borderColor","hbc","hoverlabel.bordercolor"),c("fontFamily","htf","hoverlabel.font.family"),c("fontSize","hts","hoverlabel.font.size"),c("fontColor","htc","hoverlabel.font.color"),c("fontWeight","htw","hoverlabel.font.weight"),c("fontStyle","hty","hoverlabel.font.style"),c("fontVariant","htv","hoverlabel.font.variant"),c("nameLength","hnl","hoverlabel.namelength"),c("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:g.hoverLabelText(t.xa,t.xLabelVal,n.xhoverformat),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:g.hoverLabelText(t.ya,t.yLabelVal,n.yhoverformat),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var f=g.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+f+" / -"+g.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" ± "+f,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var h=g.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+h+" / -"+g.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" ± "+h,"y"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===p.indexOf("y")&&(t.yLabel=void 0),-1===p.indexOf("z")&&(t.zLabel=void 0),-1===p.indexOf("text")&&(t.text=void 0),-1===p.indexOf("name")&&(t.name=void 0)),t}function N(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,u=r.event,c=!!e.hLinePoint,f=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),f||c){var h=d.combine(s.plot_bgcolor,s.paper_bgcolor);if(c){var v,y,m=e.hLinePoint;n=m&&m.xa,"cursor"===(i=m&&m.ya).spikesnap?(v=u.pointerX,y=u.pointerY):(v=n._offset+m.x,y=i._offset+m.y);var x,b,_=a.readability(m.color,h)<1.5?d.contrast(h):m.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||_,A=g.getPxPosition(t,i);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,b=v),-1!==w.indexOf("across")){var M=i._counterDomainMin,S=i._counterDomainMax;"free"===i.anchor&&(M=Math.min(M,i.position),S=Math.max(S,i.position)),x=l.l+M*l.w,b=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T,stroke:k,"stroke-dasharray":p.dashStyle(i.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:b,y1:y,y2:y,"stroke-width":T+2,stroke:h}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==i.side?T:-T),cy:y,r:T,fill:k}).classed("spikeline",!0)}if(f){var E,L,C=e.vLinePoint;n=C&&C.xa,i=C&&C.ya,"cursor"===n.spikesnap?(E=u.pointerX,L=u.pointerY):(E=n._offset+C.x,L=i._offset+C.y);var P,O,I=a.readability(C.color,h)<1.5?d.contrast(h):C.color,z=n.spikemode,D=n.spikethickness,R=n.spikecolor||I,F=g.getPxPosition(t,n);if(-1!==z.indexOf("toaxis")||-1!==z.indexOf("across")){if(-1!==z.indexOf("toaxis")&&(P=F,O=L),-1!==z.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),P=l.t+(1-N)*l.h,O=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":D,stroke:R,"stroke-dasharray":p.dashStyle(n.spikedash,D)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:P,y2:O,"stroke-width":D+2,stroke:h}).classed("spikeline",!0).classed("crisp",!0)}-1!==z.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?D:-D),r:D,fill:R}).classed("spikeline",!0)}}}function j(t,e){return!e||e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint}function U(t,e){return f.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em"]})}function V(t,e,r){var n=e[t+"a"],i=e[t+"Val"],a=e.cd[0];if("category"===n.type||"multicategory"===n.type)i=n._categoriesMap[i];else if("date"===n.type){var o=e.trace[t+"periodalignment"];if(o){var s=e.cd[e.index],l=s[t+"Start"];void 0===l&&(l=s[t]);var u=s[t+"End"];void 0===u&&(u=s[t]);var c=u-l;"end"===o?i+=c:"middle"===o&&(i+=c/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&("group"!==r.boxmode&&"group"!==r.violinmode||(i+=a.t.dPos)),i}function q(t){return t.offsetTop+t.clientTop}function H(t){return t.offsetLeft+t.clientLeft}function G(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.left,a=n.top,s=i+n.width,l=a+n.height,u=o.apply3DTransform(r._invTransform)(i,a),c=o.apply3DTransform(r._invTransform)(s,l),f=u[0],h=u[1],p=c[0],d=c[1];return{x:f,y:h,width:p-f,height:d-h,top:Math.min(h,d),left:Math.min(f,p),right:Math.max(f,p),bottom:Math.max(h,d)}}},16132:function(t,e,r){"use strict";var n=r(3400),i=r(76308),a=r(10624).isUnifiedHover;t.exports=function(t,e,r,o){o=o||{};var s=e.legend;function l(t){o.font[t]||(o.font[t]=s?e.legend.font[t]:e.font[t])}e&&a(e.hovermode)&&(o.font||(o.font={}),l("size"),l("family"),l("color"),l("weight"),l("style"),l("variant"),s?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},41008:function(t,e,r){"use strict";var n=r(3400),i=r(65460);t.exports=function(t,e){function r(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}return r("clickmode"),r("hoversubplots"),r("hovermode")}},93024:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(86476),o=r(10624),s=r(65460),l=r(83292);t.exports={moduleType:"component",name:"fx",constants:r(92456),schema:{layout:s},attributes:r(55756),layoutAttributes:s,supplyLayoutGlobalDefaults:r(81976),supplyDefaults:r(95448),supplyLayoutDefaults:r(88336),calc:r(55056),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:r(62376)}},65460:function(t,e,r){"use strict";var n=r(92456),i=r(25376),a=i({editType:"none"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,t.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoversubplots:{valType:"enumerated",values:["single","overlaying","axis"],dflt:"overlaying",editType:"none"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:a,grouptitlefont:i({editType:"none"}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},88336:function(t,e,r){"use strict";var n=r(3400),i=r(65460),a=r(41008),o=r(16132);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}a(t,e)&&(r("hoverdistance"),r("spikedistance")),"select"===r("dragmode")&&r("selectdirection");var s=e._has("mapbox"),l=e._has("geo"),u=e._basePlotModules.length;"zoom"===e.dragmode&&((s||l)&&1===u||s&&l&&2===u)&&(e.dragmode="pan"),o(t,e,r),n.coerceFont(r,"hoverlabel.grouptitlefont",e.hoverlabel.font)}},81976:function(t,e,r){"use strict";var n=r(3400),i=r(16132),a=r(65460);t.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},12704:function(t,e,r){"use strict";var n=r(3400),i=r(53756).counter,a=r(86968).u,o=r(33816).idRegex,s=r(31780),l={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[i("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:a({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function u(t,e,r){var n=e[r+"axes"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function c(t,e,r,n,i,a){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(i),u=s[0],c=(s[1]-u)/(i-o),f=c*(1-o),h=0;h1){h||p||d||"independent"===k("pattern")&&(h=!0),g._hasSubplotGrid=h;var x,b,_="top to bottom"===k("roworder"),w=h?.2:.1,T=h?.3:.1;v&&e._splomGridDflt&&(x=e._splomGridDflt.xside,b=e._splomGridDflt.yside),g._domains={x:c("x",k,w,x,m),y:c("y",k,T,b,y,_)}}else delete e.grid}function k(t,e){return n.coerce(r,g,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,c,h=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,v=r.rows,g=r.columns,y="independent"===r.pattern,m=r._axisMap={};if(d){var x=h.subplots||[];l=r.subplots=new Array(v);var b=1;for(n=0;n("legend"===t?1:0));if(!1===M&&(r[t]=void 0),(!1!==M||f.uirevision)&&(p("uirevision",r.uirevision),!1!==M)){p("borderwidth");var S,E,L,C="h"===p("orientation"),P="paper"===p("yref"),O="paper"===p("xref"),I="left";if(C?(S=0,n.getComponentMethod("rangeslider","isVisible")(e.xaxis)?P?(E=1.1,L="bottom"):(E=1,L="top"):P?(E=-.1,L="top"):(E=0,L="bottom")):(E=1,L="auto",O?S=1.02:(S=1,I="right")),i.coerce(f,h,{x:{valType:"number",editType:"legend",min:O?-2:0,max:O?3:1,dflt:S}},"x"),i.coerce(f,h,{y:{valType:"number",editType:"legend",min:P?-2:0,max:P?3:1,dflt:E}},"y"),p("traceorder",_),u.isGrouped(r[t])&&p("tracegroupgap"),p("entrywidth"),p("entrywidthmode"),p("indentation"),p("itemsizing"),p("itemwidth"),p("itemclick"),p("itemdoubleclick"),p("groupclick"),p("xanchor",I),p("yanchor",L),p("valign"),i.noneOrAll(f,h,["x","y"]),p("title.text")){p("title.side",C?"left":"top");var z=i.extendFlat({},d,{size:i.bigFont(d.size)});i.coerceFont(p,"title.font",z)}}}}t.exports=function(t,e,r){var n,a=r.slice(),o=e.shapes;if(o)for(n=0;n1)}var B=d.hiddenlabels||[];if(!(T||d.showlegend&&S.length))return s.selectAll("."+w).remove(),d._topdefs.select("#"+r).remove(),a.autoMargin(t,w);var N=i.ensureSingle(s,"g",w,(function(t){T||t.attr("pointer-events","all")})),j=i.ensureSingleById(d._topdefs,"clipPath",r,(function(t){t.append("rect")})),U=i.ensureSingle(N,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));U.call(c.stroke,h.bordercolor).call(c.fill,h.bgcolor).style("stroke-width",h.borderwidth+"px");var V,q=i.ensureSingle(N,"g","scrollbox"),H=h.title;h._titleWidth=0,h._titleHeight=0,H.text?((V=i.ensureSingle(q,"text",w+"titletext")).attr("text-anchor","start").call(u.font,H.font).text(H.text),L(V,q,t,h,_)):q.selectAll("."+w+"titletext").remove();var G=i.ensureSingle(N,"rect","scrollbar",(function(t){t.attr(p.scrollBarEnterAttrs).call(c.fill,p.scrollBarColor)})),W=q.selectAll("g.groups").data(S);W.enter().append("g").attr("class","groups"),W.exit().remove();var Y=W.selectAll("g.traces").data(i.identity);Y.enter().append("g").attr("class","traces"),Y.exit().remove(),Y.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==B.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(M,t,h)})).call(x,t,h).each((function(){T||n.select(this).call(E,t,w)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout,o=O(i);i||(i=a[o]);var s=a._size,l=b.isVertical(i),c=b.isGrouped(i),f="fraction"===i.entrywidthmode,h=i.borderwidth,d=2*h,v=p.itemGap,g=i.indentation+i.itemwidth+2*v,y=2*(h+v),m=P(i),x=i.y<0||0===i.y&&"top"===m,_=i.y>1||1===i.y&&"bottom"===m,w=i.tracegroupgap,T={};i._maxHeight=Math.max(x||_?a.height/2:s.h,30);var A=0;i._width=0,i._height=0;var M=function(t){var e=0,r=0,n=t.title.side;return n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight)),[e,r]}(i);if(l)r.each((function(t){var e=t[0].height;u.setTranslate(this,h+M[0],h+M[1]+i._height+e/2+v),i._height+=e,i._width=Math.max(i._width,t[0].width)})),A=g+i._width,i._width+=v+g+d,i._height+=y,c&&(e.each((function(t,e){u.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var S=C(i),E=i.x<0||0===i.x&&"right"===S,L=i.x>1||1===i.x&&"left"===S,I=_||x,z=a.width/2;i._maxWidth=Math.max(E?I&&"left"===S?s.l+s.w:z:L?I&&"right"===S?s.r+s.w:z:s.w,2*g);var D=0,R=0;r.each((function(t){var e=k(t,i,g);D=Math.max(D,e),R+=e})),A=null;var F=0;if(c){var B=0,N=0,j=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=k(r,i,g),a=r[0].height;u.setTranslate(this,M[0],M[1]+h+v+a/2+e),e+=a,t=Math.max(t,n),T[r[0].trace.legendgroup]=t}));var r=t+v;N>0&&r+h+N>i._maxWidth?(F=Math.max(F,N),N=0,j+=B+w,B=e):B=Math.max(B,e),u.setTranslate(this,N,j),N+=r})),i._width=Math.max(F,N)+h,i._height=j+B+y}else{var U=r.size(),V=R+d+(U-1)*v=i._maxWidth&&(F=Math.max(F,W),H=0,G+=q,i._height+=q,q=0),u.setTranslate(this,M[0]+h+H,M[1]+h+G+e/2+v),W=H+r+v,H+=n,q=Math.max(q,e)})),V?(i._width=H+d,i._height=q+y):(i._width=Math.max(F,W)+d,i._height+=q+y)}}i._width=Math.ceil(Math.max(i._width+M[0],i._titleWidth+2*(h+p.titlePad))),i._height=Math.ceil(Math.max(i._height+M[1],i._titleHeight+2*(h+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var Y=t._context.edits,X=Y.legendText||Y.legendPosition;r.each((function(t){var e=n.select(this).select("."+o+"toggle"),r=t[0].height,a=t[0].trace.legendgroup,s=k(t,i,g);c&&""!==a&&(s=T[a]);var h=X?g:A||s;l||f||(h+=v/2),u.setRect(e,0,-r/2,h,r)}))}(t,W,Y,h)},function(){var e,c,m,x,b=d._size,_=h.borderwidth,k="paper"===h.xref,M="paper"===h.yref;if(H.text&&function(t,e,r){if("top center"===e.title.side||"top right"===e.title.side){var n=e.title.font.size*v,i=0,a=t.node(),o=u.bBox(a).width;"top center"===e.title.side?i=.5*(e._width-2*r-2*p.titlePad-o):"top right"===e.title.side&&(i=e._width-2*r-2*p.titlePad-o),f.positionText(t,r+p.titlePad+i,r+n)}}(V,h,_),!T){var S,E;S=k?b.l+b.w*h.x-g[C(h)]*h._width:d.width*h.x-g[C(h)]*h._width,E=M?b.t+b.h*(1-h.y)-g[P(h)]*h._effHeight:d.height*(1-h.y)-g[P(h)]*h._effHeight;var L=function(t,e,r,n){var i=t._fullLayout,o=i[e],s=C(o),l=P(o),u="paper"===o.xref,c="paper"===o.yref;t._fullLayout._reservedMargin[e]={};var f=o.y<.5?"b":"t",h=o.x<.5?"l":"r",p={r:i.width-r,l:r+o._width,b:i.height-n,t:n+o._effHeight};if(u&&c)return a.autoMargin(t,e,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*y[s],b:o._effHeight*y[l],t:o._effHeight*g[l]});u?t._fullLayout._reservedMargin[e][f]=p[f]:c||"v"===o.orientation?t._fullLayout._reservedMargin[e][h]=p[h]:t._fullLayout._reservedMargin[e][f]=p[f]}(t,w,S,E);if(L)return;if(d.margin.autoexpand){var O=S,I=E;S=k?i.constrain(S,0,d.width-h._width):O,E=M?i.constrain(E,0,d.height-h._effHeight):I,S!==O&&i.log("Constrain "+w+".x to make legend fit inside graph"),E!==I&&i.log("Constrain "+w+".y to make legend fit inside graph")}u.setTranslate(N,S,E)}if(G.on(".drag",null),N.on("wheel",null),T||h._height<=h._maxHeight||t._context.staticPlot){var z=h._effHeight;T&&(z=h._height),U.attr({width:h._width-_,height:z-_,x:_/2,y:_/2}),u.setTranslate(q,0,0),j.select("rect").attr({width:h._width-2*_,height:z-2*_,x:_,y:_}),u.setClipUrl(q,r,t),u.setRect(G,0,0,0,0),delete h._scrollY}else{var D,R,F,B=Math.max(p.scrollBarMinHeight,h._effHeight*h._effHeight/h._height),W=h._effHeight-B-2*p.scrollBarMargin,Y=h._height-h._effHeight,X=W/Y,Z=Math.min(h._scrollY||0,Y);U.attr({width:h._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:h._effHeight-_,x:_/2,y:_/2}),j.select("rect").attr({width:h._width-2*_+p.scrollBarWidth+p.scrollBarMargin,height:h._effHeight-2*_,x:_,y:_+Z}),u.setClipUrl(q,r,t),$(Z,B,X),N.on("wheel",(function(){$(Z=i.constrain(h._scrollY+n.event.deltaY/W*Y,0,Y),B,X),0!==Z&&Z!==Y&&n.event.preventDefault()}));var K=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;D="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,F=Z})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(R="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,Z=function(t,e,r){var n=(r-e)/X+t;return i.constrain(n,0,Y)}(F,D,R),$(Z,B,X))}));G.call(K);var J=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(D=t.changedTouches[0].clientY,F=Z)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(R=t.changedTouches[0].clientY,Z=function(t,e,r){var n=(e-r)/X+t;return i.constrain(n,0,Y)}(F,D,R),$(Z,B,X))}));q.call(J)}function $(e,r,n){h._scrollY=t._fullLayout[w]._scrollY=e,u.setTranslate(q,0,-e),u.setRect(G,h._width,p.scrollBarMargin+e*n,p.scrollBarWidth,r),j.select("rect").attr("y",_+e)}t._context.edits.legendPosition&&(N.classed("cursor-move",!0),l.init({element:N.node(),gd:t,prepFn:function(){var t=u.getTranslate(N);m=t.x,x=t.y},moveFn:function(t,r){var n=m+t,i=x+r;u.setTranslate(N,n,i),e=l.align(n,h._width,b.l,b.l+b.w,h.xanchor),c=l.align(i+h._height,-h._height,b.t+b.h,b.t,h.yanchor)},doneFn:function(){if(void 0!==e&&void 0!==c){var r={};r[w+".x"]=e,r[w+".y"]=c,o.call("_guiRelayout",t,r)}},clickFn:function(e,r){var n=s.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return r.clientX>=t.left&&r.clientX<=t.right&&r.clientY>=t.top&&r.clientY<=t.bottom}));n.size()>0&&A(t,N,n,e,r)}}))}],t)}}function k(t,e,r){var n=t[0],i=n.width,a=e.entrywidthmode,o=n.trace.legendwidth||e.entrywidth;return"fraction"===a?e._maxWidth*o:r+(o||i)}function A(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};a._group&&(l.group=a._group),o.traceIs(a,"pie-like")&&(l.label=r.datum()[0].label);var u=s.triggerHandler(t,"plotly_legendclick",l);if(1===n){if(!1===u)return;e._clickTimeout=setTimeout((function(){t._fullLayout&&h(r,t,n)}),t._context.doubleClickDelay)}else 2===n&&(e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&!1!==u&&h(r,t,n))}function M(t,e,r){var n,a,s=O(r),l=t.data()[0][0],c=l.trace,h=o.traceIs(c,"pie-like"),d=!r._inHover&&e._context.edits.legendText&&!h,v=r._maxNameLength;l.groupTitle?(n=l.groupTitle.text,a=l.groupTitle.font):(a=r.font,r.entries?n=l.text:(n=h?l.label:c.name,c._meta&&(n=i.templateString(n,c._meta))));var g=i.ensureSingle(t,"text",s+"text");g.attr("text-anchor","start").call(u.font,a).text(d?S(n,v):n);var y=r.indentation+r.itemwidth+2*p.itemGap;f.positionText(g,y,0),d?g.call(f.makeEditable,{gd:e,text:n}).call(L,t,e,r).on("edit",(function(n){this.text(S(n,v)).call(L,t,e,r);var a=l.trace._fullInput||{},s={};if(o.hasTransform(a,"groupby")){var u=o.getTransformIndices(a,"groupby"),f=u[u.length-1],h=i.keyedContainer(a,"transforms["+f+"].styles","target","value.name");h.set(l.trace._group,n),s=h.constructUpdate()}else s.name=n;return a._isShape?o.call("_guiRelayout",e,"shapes["+c.index+"].name",s.name):o.call("_guiRestyle",e,s,c.index)})):L(g,t,e,r)}function S(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function E(t,e,r){var a,o=e._context.doubleClickDelay,s=1,l=i.ensureSingle(t,"rect",r+"toggle",(function(t){e._context.staticPlot||t.style("cursor","pointer").attr("pointer-events","all"),t.call(c.fill,"rgba(0,0,0,0)")}));e._context.staticPlot||(l.on("mousedown",(function(){(a=(new Date).getTime())-e._legendMouseDownTimeo&&(s=Math.max(s-1,1)),A(e,i,t,s,n.event)}})))}function L(t,e,r,n,i){n._inHover&&t.attr("data-notex",!0),f.convertToTspans(t,r,(function(){!function(t,e,r,n){var i=t.data()[0][0];if(r._inHover||!i||i.trace.showlegend){var a=t.select("g[class*=math-group]"),o=a.node(),s=O(r);r||(r=e._fullLayout[s]);var l,c,h=r.borderwidth,d=(n===_?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*v;if(o){var g=u.bBox(o);l=g.height,c=g.width,n===_?u.setTranslate(a,h,h+.75*l):u.setTranslate(a,0,.25*l)}else{var y="."+s+(n===_?"title":"")+"text",m=t.select(y),x=f.lineCount(m),b=m.node();if(l=d*x,c=b?u.bBox(b).width:0,n===_)"left"===r.title.side&&(c+=2*p.itemGap),f.positionText(m,h+p.titlePad,h+d);else{var w=2*p.itemGap+r.indentation+r.itemwidth;i.groupTitle&&(w=p.itemGap,c-=r.indentation+r.itemwidth),f.positionText(m,w,-d*((x-1)/2-.3))}}n===_?(r._titleWidth=c,r._titleHeight=l):(i.lineHeight=d,i.height=Math.max(l,16)+3,i.width=c)}else t.remove()}(e,r,n,i)}))}function C(t){return i.isRightAnchor(t)?"right":i.isCenterAnchor(t)?"center":"left"}function P(t){return i.isBottomAnchor(t)?"bottom":i.isMiddleAnchor(t)?"middle":"top"}function O(t){return t._id||"legend"}t.exports=function(t,e){if(e)T(t,e);else{var r=t._fullLayout,i=r._legends;r._infolayer.selectAll('[class^="legend"]').each((function(){var t=n.select(this),e=t.attr("class").split(" ")[0];e.match(w)&&-1===i.indexOf(e)&&t.remove()}));for(var a=0;aS&&(M=S)}k[a][0]._groupMinRank=M,k[a][0]._preGroupSort=a}var E=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(k.forEach((function(t,e){t[0]._preGroupSort=e})),k.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),a=0;ar?r:t}t.exports=function(t,e,r){var y=e._fullLayout;r||(r=y.legend);var m="constant"===r.itemsizing,x=r.itemwidth,b=(x+2*p.itemGap)/2,_=o(b,0),w=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return m?n:Math.min(i,r)};function T(t,a,o){var c=t[0].trace,f=c.marker||{},h=f.line||{},p=f.cornerradius?"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z":"M6,6H-6V-6H6Z",d=o?c.visible&&c.type===o:i.traceIs(c,"bar"),v=n.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(d?[t]:[]);v.enter().append("path").classed("legend"+o,!0).attr("d",p).attr("transform",_),v.exit().remove(),v.each((function(t){var i=n.select(this),a=t[0],o=w(a.mlw,f.line,5,2);i.style("stroke-width",o+"px");var p=a.mcc;if(!r._inHover&&"mc"in a){var d=u(f),v=d.mid;void 0===v&&(v=(d.max+d.min)/2),p=s.tryColorscale(f,"")(v)}var y=p||a.mc||f.color,m=f.pattern,x=m&&s.getPatternAttr(m.shape,0,"");if(x){var b=s.getPatternAttr(m.bgcolor,0,null),_=s.getPatternAttr(m.fgcolor,0,null),T=m.fgopacity,k=g(m.size,8,10),A=g(m.solidity,.5,1),M="legend-"+c.uid;i.call(s.pattern,"legend",e,M,x,k,A,p,m.fillmode,b,_,T)}else i.call(l.fill,y);o&&l.stroke(i,a.mlc||h.color)}))}function k(t,r,o){var s=t[0],l=s.trace,u=o?l.visible&&l.type===o:i.traceIs(l,o),c=n.select(r).select("g.legendpoints").selectAll("path.legend"+o).data(u?[t]:[]);if(c.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),c.exit().remove(),c.size()){var p=l.marker||{},d=w(h(p.line.width,s.pts),p.line,5,2),v="pieLike",g=a.minExtend(l,{marker:{line:{width:d}}},v),y=a.minExtend(s,{trace:g},v);f(c,y,g,e)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,"g","layers");i.style("opacity",t[0].trace.opacity);var s=r.indentation,l=r.valign,u=t[0].lineHeight,c=t[0].height;if("middle"===l&&0===s||!u||!c)i.attr("transform",null);else{var f={top:1,bottom:-1}[l]*(.5*(u-c+3))||0,h=r.indentation;i.attr("transform",o(h,f))}i.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),i.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var p=i.selectAll("g.legendsymbols").data([t]);p.enter().append("g").classed("legendsymbols",!0),p.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":o=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":o=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],r=!1;break;case"streamtube":o=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],r=!1;break;case"surface":o=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],r=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var c=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);c.enter().append("path").classed("legend3dandfriends",!0).attr("transform",_).style("stroke-miterlimit",1),c.exit().remove(),c.each((function(t,o){var c,f=n.select(this),h=u(i),p=h.colorscale,v=h.reversescale;if(p){if(!r){var g=p.length;c=0===o?p[v?g-1:0][1]:1===o?p[v?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var y=i.vertexcolor||i.facecolor||i.color;c=a.isArrayOrTypedArray(y)?y[o]||y[0]:y}f.attr("d",t[0]),c?f.call(l.fill,c):f.call((function(t){if(t.size()){var n="legendfill-"+i.uid;s.gradient(t,e,n,d(v,"radial"===r),p,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,T(t,this,"waterfall")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",_).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=w(void 0,i.line,5,2);r.attr("d",t[1]).style("stroke-width",a+"px").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){T(t,this,"funnel")})).each((function(t){T(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&i.traceIs(r,"box-violin")?[t]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",_),o.exit().remove(),o.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);t.style("stroke-width",i+"px").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var u=a.minExtend(r,{marker:{size:m?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(s.pointStyle,u,e)}}))})).each((function(t){k(t,this,"funnelarea")})).each((function(t){k(t,this,"pie")})).each((function(t){var r,i,o=v(t),l=o.showFill,f=o.showLine,h=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,y=o.anyLine,m=t[0],b=m.trace,_=u(b),T=_.colorscale,k=_.reversescale,A=c.hasMarkers(b)||!g?"M5,0":y?"M5,-2":"M5,-3",M=n.select(this),S=M.select(".legendfill").selectAll("path").data(l||p?[t]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call((function(t){if(t.size())if(l)s.fillGroupStyle(t,e,!0);else{var r="legendfill-"+b.uid;s.gradient(t,e,r,d(k),T,"fill")}})),f||h){var E=w(void 0,b.line,10,5);i=a.minExtend(b,{line:{width:E}}),r=[a.minExtend(m,{trace:i})]}var L=M.select(".legendlines").selectAll("path").data(f||h?[r]:[]);L.enter().append("path").classed("js-line",!0),L.exit().remove(),L.attr("d",A+(h?"l"+x+",0.0001":"h"+x)).call(f?s.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+b.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(k),T,"stroke")}})})).each((function(t){var r,i,o=v(t),l=o.anyFill,u=o.anyLine,f=o.showLine,h=o.showMarker,p=t[0],d=p.trace,g=!h&&!u&&!l&&c.hasText(d);function y(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(m&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(t){return p._distinct&&p.index&&t[p.index]?t[p.index]:t[0]}if(h||g||f){var b={},w={};if(h){b.mc=y("marker.color",x),b.mx=y("marker.symbol",x),b.mo=y("marker.opacity",a.mean,[.2,1]),b.mlc=y("marker.line.color",x),b.mlw=y("marker.line.width",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var T=y("marker.size",a.mean,[2,16],12);b.ms=T,w.marker.size=T}f&&(w.line={width:y("line.width",x,[0,10],5)}),g&&(b.tx="Aa",b.tp=y("textposition",x),b.ts=10,b.tc=y("textfont.color",x),b.tf=y("textfont.family",x),b.tw=y("textfont.weight",x),b.ty=y("textfont.style",x),b.tv=y("textfont.variant",x)),r=[a.minExtend(p,b)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var k=n.select(this).select("g.legendpoints"),A=k.selectAll("path.scatterpts").data(h?r:[]);A.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",_),A.exit().remove(),A.call(s.pointStyle,i,e),h&&(r[0].mrc=3);var M=k.selectAll("g.pointtext").data(g?r:[]);M.enter().append("g").classed("pointtext",!0).append("text").attr("transform",_),M.exit().remove(),M.selectAll("text").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",_).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("fill","none").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},66540:function(t,e,r){"use strict";r(76052),t.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"}}},44248:function(t,e,r){"use strict";var n=r(24040),i=r(7316),a=r(79811),o=r(9224),s=r(4016).eraseActiveShape,l=r(3400),u=l._,c=t.exports={};function f(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,u=t._fullLayout,c={},f=a.list(t,null,!0),h=u._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,v=(1+d)/2,g=(1-d)/2;for(i=0;i1?(O=["toggleHover"],I=["resetViews"]):y?(P=["zoomInGeo","zoomOutGeo"],O=["hoverClosestGeo"],I=["resetGeo"]):g?(O=["hoverClosest3d"],I=["resetCameraDefault3d","resetCameraLastSave3d"]):w?(P=["zoomInMapbox","zoomOutMapbox"],O=["toggleHover"],I=["resetViewMapbox"]):b?O=["hoverClosestGl2d"]:m?O=["hoverClosestPie"]:A?(O=["hoverClosestCartesian","hoverCompareCartesian"],I=["resetViewSankey"]):O=["toggleHover"],v&&(O=["toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"]),(function(t){for(var e=0;e0)){var v=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a0?t.touches[0].clientX:0}function y(t,e,r,n){var i=o.ensureSingle(t,"rect",v.bgClassName,(function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})})),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,c=-n._offsetShift,f=l.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:s(c,c),"stroke-width":f}).call(u.stroke,n.bordercolor).call(u.fill,n.bgcolor)}function m(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._topdefs,"clipPath",n._clipId,(function(t){t.append("rect").attr({x:0,y:0})})).select("rect").attr({width:n._width,height:n._height})}function x(t,e,r,i){var s,u=e.calcdata,c=t.selectAll("g."+v.rangePlotClassName).data(r._subplotsWith,o.identity);c.enter().append("g").attr("class",(function(t){return v.rangePlotClassName+" "+t})).call(l.setClipUrl,i._clipId,e),c.order(),c.exit().remove(),c.each((function(t,o){var l=n.select(this),c=0===o,p=h.getFromId(e,t,"y"),d=p._name,v=i[d],g={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};r.rangebreaks&&(g.layout.xaxis.rangebreaks=r.rangebreaks),g.layout[d]={type:p.type,domain:[0,1],range:"match"!==v.rangemode?v.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(g.layout[d].rangebreaks=p.rangebreaks),a.supplyDefaults(g);var y=g._fullLayout.xaxis,m=g._fullLayout[d];y.clearCalc(),y.setScale(),m.clearCalc(),m.setScale();var x={id:t,plotgroup:l,xaxis:y,yaxis:m,isRangePlot:!0};c?s=x:(x.mainplot="xy",x.mainplotinfo=s),f.rangePlot(e,x,function(t,e){for(var r=[],n=0;n=n.max)e=B[r+1];else if(t=n.pmax)e=B[r+1];else if(tr._length||m+_<0)return;c=y+_,p=m+_;break;case l:if(b="col-resize",y+_>r._length)return;c=y+_,p=m;break;case u:if(b="col-resize",m+_<0)return;c=y,p=m+_;break;default:b="ew-resize",c=v,p=v+_}if(p=0;k--){var A=r.append("path").attr(g).style("opacity",k?.1:y).call(o.stroke,x).call(o.fill,m).call(s.dashLine,k?"solid":_,k?4+b:b);if(d(A,t,a),w){var M=l(t.layout,"selections",a);A.style({cursor:"move"});var S={element:A.node(),plotinfo:p,gd:t,editHelpers:M,isActiveSelection:!0},E=n(u,t);i(E,A,S)}else A.style("pointer-events",k?"all":"none");T[k]=A}var L=T[0];T[1].node().addEventListener("click",(function(){return function(t,e){if(h(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeSelectionIndex)return void v(t);t._fullLayout._activeSelectionIndex=r,t._fullLayout._deactivateSelection=v,f(t)}}}(t,L)}))}(t._fullLayout._selectionLayer)}function d(t,e,r){var n=r.xref+r.yref;s.setClipUrl(t,"clip"+e._fullLayout._uid+n,e)}function v(t){h(t)&&t._fullLayout._activeSelectionIndex>=0&&(a(t),delete t._fullLayout._activeSelectionIndex,f(t))}t.exports={draw:f,drawOne:p,activateLastSelection:function(t){if(h(t)){var e=t._fullLayout.selections.length-1;t._fullLayout._activeSelectionIndex=e,t._fullLayout._deactivateSelection=v,f(t)}}}},34200:function(t,e,r){"use strict";var n=r(98192).u,i=r(92880).extendFlat;t.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:i({},n,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},81004:function(t){"use strict";t.exports=function(t,e,r){r("newselection.mode"),r("newselection.line.width")&&(r("newselection.line.color"),r("newselection.line.dash")),r("activeselection.fillcolor"),r("activeselection.opacity")}},5968:function(t,e,r){"use strict";var n=r(72760).selectMode,i=r(1936).clearOutline,a=r(9856),o=a.readPaths,s=a.writePaths,l=a.fixDatesForPaths;t.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var a=r.getAttribute("d"),u=e.gd,c=u._fullLayout.newselection,f=e.plotinfo,h=f.xaxis,p=f.yaxis,d=e.isActiveSelection,v=e.dragmode,g=(u.layout||{}).selections||[];if(!n(v)&&void 0!==d){var y=u._fullLayout._activeSelectionIndex;if(y-1,b=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){W(t,e,a);var _=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((n+=e.selectedpoints.length)>1)return!1}return 1===n}(s)&&(h=J(_))){for(o&&o.remove(),g=0;g=0})(i)&&i._fullLayout._deactivateShape(i),function(t){return t._fullLayout._activeSelectionIndex>=0}(i)&&i._fullLayout._deactivateSelection(i);var o=i._fullLayout._zoomlayer,s=p(r),l=v(r);if(s||l){var u,c,f=o.selectAll(".select-outline-"+n.id);f&&i._fullLayout._outlining&&(s&&(u=T(f,t)),u&&a.call("_guiRelayout",i,{shapes:u}),l&&!U(t)&&(c=k(f,t)),c&&(i._fullLayout._noEmitSelectedAtStart=!0,a.call("_guiRelayout",i,{selections:c}).then((function(){e&&A(i)}))),i._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=t.selectionDefs=[],n.selection.mergedPolygons=t.mergedPolygons=[]}function X(t){return t._id}function Z(t,e,r,n){if(!t.calcdata)return[];var i,a,o,s=[],l=e.map(X),u=r.map(X);for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function $(t,e,r){var n,i;for(n=0;n-1&&e;if(!a&&e){var et=ot(t,!0);if(et.length){var nt=et[0].xref,pt=et[0].yref;if(nt&&pt){var dt=ut(et);ct([C(t,nt,"x"),C(t,pt,"y")])(Q,dt)}}t._fullLayout._noEmitSelectedAtStart?t._fullLayout._noEmitSelectedAtStart=!1:tt&&ft(t,Q),h._reselect=!1}if(!a&&h._deselect){var vt=h._deselect;(function(t,e,r){for(var n=0;n=0)k._fullLayout._deactivateShape(k);else if(!x){var r=A.clickmode;L.done(Mt).then((function(){if(L.clear(Mt),2===t){for(bt.remove(),J=0;J-1&&V(e,k,n.xaxes,n.yaxes,n.subplot,n,bt),"event"===r&&ft(k,void 0);l.click(k,e,P.id)})).catch(M.error)}},n.doneFn=function(){kt.remove(),L.done(Mt).then((function(){L.clear(Mt),!S&&K&&n.selectionDefs&&(K.subtract=xt,n.selectionDefs.push(K),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,X)),(S||x)&&Y(n,S),n.doneFnCompleted&&n.doneFnCompleted(St),b&&ft(k,at)})).catch(M.error)}},clearOutline:x,clearSelectionsCache:Y,selectOnClick:V}},46056:function(t,e,r){"use strict";var n=r(13916),i=r(25376),a=r(52904).line,o=r(98192).u,s=r(92880).extendFlat,l=r(31780).templatedArray,u=(r(36208),r(45464)),c=r(21776).ye,f=r(97728);t.exports=l("shape",{visible:s({},u.visible,{editType:"calc+arraydraw"}),showlegend:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},legend:s({},u.legend,{editType:"calc+arraydraw"}),legendgroup:s({},u.legendgroup,{editType:"calc+arraydraw"}),legendgrouptitle:{text:s({},u.legendgrouptitle.text,{editType:"calc+arraydraw"}),font:i({editType:"calc+arraydraw"}),editType:"calc+arraydraw"},legendrank:s({},u.legendrank,{editType:"calc+arraydraw"}),legendwidth:s({},u.legendwidth,{editType:"calc+arraydraw"}),type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above",editType:"arraydraw"},xref:s({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},yref:s({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:s({},a.color,{editType:"arraydraw"}),width:s({},a.width,{editType:"calc+arraydraw"}),dash:s({},o,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},label:{text:{valType:"string",dflt:"",editType:"arraydraw"},texttemplate:c({},{keys:Object.keys(f)}),font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"],editType:"arraydraw"},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw"},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw"},editType:"arraydraw"},editType:"arraydraw"})},96084:function(t,e,r){"use strict";var n=r(3400),i=r(54460),a=r(85448),o=r(65152);function s(t){return u(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return u(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function u(t,e,r,i,s,l){var u=t/2,c=l;if("pixel"===e){var f=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],h=n.aggNums(Math.max,null,f),p=n.aggNums(Math.min,null,f),d=p<0?Math.abs(p)+u:u,v=h>0?h+u:u;return{ppad:u,ppadplus:c?d:v,ppadminus:c?v:d}}return{ppad:u}}function c(t,e,r,n,i){var s="category"===t.type||"multicategory"===t.type?t.r2c:t.d2c;if(void 0!==e)return[s(e),s(r)];if(n){var l,u,c,f,h=1/0,p=-1/0,d=n.match(a.segmentRE);for("date"===t.type&&(s=o.decodeDate(s)),l=0;lp&&(p=f)));return p>=h?[h,p]:void 0}}t.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o=t?e-n:n-e,-180/Math.PI*Math.atan2(i,a)}(x,_,b,w):0),A.call((function(e){return e.call(o.font,k).attr({}),a.convertToTspans(e,t),e}));var U=function(t,e,r,n,i,a,o){var s,l,u,c,h=i.label.textposition,p=i.label.textangle,d=i.label.padding,v=i.type,g=Math.PI/180*a,y=Math.sin(g),m=Math.cos(g),x=i.label.xanchor,b=i.label.yanchor;if("line"===v){"start"===h?(s=t,l=e):"end"===h?(s=r,l=n):(s=(t+r)/2,l=(e+n)/2),"auto"===x&&(x="start"===h?"auto"===p?r>t?"left":rt?"right":rt?"right":rt?"left":r1&&(2!==t.length||"Z"!==t[1][0])&&(0===C&&(t[0][0]="M"),e[L]=t,A(),M())}}()}}function V(t,r){!function(t,r){if(e.length)for(var n=0;n_?(M=p,C="y0",S=_,P="y1"):(M=_,C="y1",S=p,P="y0"),tt(n),nt(l,r),function(t,e,r){var n=e.xref,i=e.yref,a=o.getFromId(r,n),s=o.getFromId(r,i),l="";"paper"===n||a.autorange||(l+=n),"paper"===i||s.autorange||(l+=i),h.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),Q.moveFn="move"===D?et:rt,Q.altKey=n.altKey)},doneFn:function(){b(t)||(v(e),it(l),T(e,t,r),i.call("_guiRelayout",t,c.getUpdateObj()))},clickFn:function(){b(t)||it(l)}};function tt(r){if(b(t))D=null;else if(j)D="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=Q.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!U&&i>R&&a>F&&!r.shiftKey?d.getCursor(o/i,1-s/a):"move";v(e,l),D=l.split("-")[0]}}function et(n,i){if("path"===r.type){var a=function(t){return t},o=a,c=a;B?V("xanchor",r.xanchor=K(w+n)):(o=function(t){return K(X(t)+n)},H&&"date"===H.type&&(o=y.encodeDate(o))),N?V("yanchor",r.yanchor=J(A+i)):(c=function(t){return J(Z(t)+i)},W&&"date"===W.type&&(c=y.encodeDate(c))),V("path",r.path=k(z,o,c))}else B?V("xanchor",r.xanchor=K(w+n)):(V("x0",r.x0=K(f+n)),V("x1",r.x1=K(x+n))),N?V("yanchor",r.yanchor=J(A+i)):(V("y0",r.y0=J(p+i)),V("y1",r.y1=J(_+i)));e.attr("d",m(t,r)),nt(l,r),u(t,s,r,q)}function rt(n,i){if(U){var a=function(t){return t},o=a,c=a;B?V("xanchor",r.xanchor=K(w+n)):(o=function(t){return K(X(t)+n)},H&&"date"===H.type&&(o=y.encodeDate(o))),N?V("yanchor",r.yanchor=J(A+i)):(c=function(t){return J(Z(t)+i)},W&&"date"===W.type&&(c=y.encodeDate(c))),V("path",r.path=k(z,o,c))}else if(j){if("resize-over-start-point"===D){var h=f+n,d=N?p-i:p+i;V("x0",r.x0=B?h:K(h)),V("y0",r.y0=N?d:J(d))}else if("resize-over-end-point"===D){var v=x+n,g=N?_-i:_+i;V("x1",r.x1=B?v:K(v)),V("y1",r.y1=N?g:J(g))}}else{var b=function(t){return-1!==D.indexOf(t)},T=b("n"),G=b("s"),Y=b("w"),$=b("e"),Q=T?M+i:M,tt=G?S+i:S,et=Y?E+n:E,rt=$?L+n:L;N&&(T&&(Q=M-i),G&&(tt=S-i)),(!N&&tt-Q>F||N&&Q-tt>F)&&(V(C,r[C]=N?Q:J(Q)),V(P,r[P]=N?tt:J(tt))),rt-et>R&&(V(O,r[O]=B?et:K(et)),V(I,r[I]=B?rt:K(rt)))}e.attr("d",m(t,r)),nt(l,r),u(t,s,r,q)}function nt(t,e){(B||N)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=X(B?e.xanchor:a.midRange(r?[e.x0,e.x1]:y.extractPathCoords(e.path,g.paramIsX))),o=Z(N?e.yanchor:a.midRange(r?[e.y0,e.y1]:y.extractPathCoords(e.path,g.paramIsY)));if(i=y.roundPositionForSharpStrokeRendering(i,1),o=y.roundPositionForSharpStrokeRendering(o,1),B&&N){var s="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(B){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var u="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",u)}}()}function it(t){t.selectAll(".visual-cue").remove()}d.init(Q),$.node().onmousemove=tt}(t,F,c,e,r,D):!0===c.editable&&F.style("pointer-events",I||f.opacity(L)*E<=.5?"stroke":"all");F.node().addEventListener("click",(function(){return function(t,e){if(_(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void A(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=A,x(t)}}}(t,F)}))}c._input&&!0===c.visible&&("above"===c.layer?M(t._fullLayout._shapeUpperLayer):"paper"===c.xref||"paper"===c.yref?M(t._fullLayout._shapeLowerLayer):"between"===c.layer?M(w.shapelayerBetween):w._hadPlotinfo?M((w.mainplotinfo||w).shapelayer):M(t._fullLayout._shapeLowerLayer))}function T(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");h.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function k(t,e,r){return t.replace(g.segmentRE,(function(t){var n=0,i=t.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+t.substr(1).replace(g.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function A(t){_(t)&&t._fullLayout._activeShapeIndex>=0&&(c(t),delete t._fullLayout._activeShapeIndex,x(t))}t.exports={draw:x,drawOne:w,eraseActiveShape:function(t){if(_(t)){c(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e0&&lp&&(t="X"),t}));return a>p&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),c+d}))}(r,s,u);if("pixel"===r.xsizemode){var b=s(r.xanchor);c=b+r.x0,f=b+r.x1}else c=s(r.x0),f=s(r.x1);if("pixel"===r.ysizemode){var _=u(r.yanchor);h=_-r.y0,p=_-r.y1}else h=u(r.y0),p=u(r.y1);if("line"===d)return"M"+c+","+h+"L"+f+","+p;if("rect"===d)return"M"+c+","+h+"H"+f+"V"+p+"H"+c+"Z";var w=(c+f)/2,T=(h+p)/2,k=Math.abs(w-c),A=Math.abs(T-h),M="A"+k+","+A,S=w+k+","+T;return"M"+S+M+" 0 1,1 "+w+","+(T-A)+M+" 0 0,1 "+S+"Z"}},41592:function(t,e,r){"use strict";var n=r(4016);t.exports={moduleType:"component",name:"shapes",layoutAttributes:r(46056),supplyLayoutDefaults:r(43712),supplyDrawNewShapeDefaults:r(65144),includeBasePlot:r(36632)("shapes"),calcAutorange:r(96084),draw:n.draw,drawOne:n.drawOne}},97728:function(t){"use strict";function e(t,e){return e?e.d2l(t):t}function r(t,e){return e?e.l2d(t):t}function n(t,r){return e(t.x1,r)-e(t.x0,r)}function i(t,r,n){return e(t.y1,n)-e(t.y0,n)}t.exports={x0:function(t){return t.x0},x1:function(t){return t.x1},y0:function(t){return t.y0},y1:function(t){return t.y1},slope:function(t,e,r){return"line"!==t.type?void 0:i(t,0,r)/n(t,e)},dx:n,dy:i,width:function(t,e){return Math.abs(n(t,e))},height:function(t,e,r){return Math.abs(i(t,0,r))},length:function(t,e,r){return"line"!==t.type?void 0:Math.sqrt(Math.pow(n(t,e),2)+Math.pow(i(t,0,r),2))},xcenter:function(t,n){return r((e(t.x1,n)+e(t.x0,n))/2,n)},ycenter:function(t,n,i){return r((e(t.y1,i)+e(t.y0,i))/2,i)}}},89861:function(t,e,r){"use strict";var n=r(25376),i=r(66741),a=r(92880).extendDeepAll,o=r(67824).overrideAll,s=r(85656),l=r(31780).templatedArray,u=r(60876),c=l("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:c,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:a(i({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:u.gripBgActiveColor},bgcolor:{valType:"color",dflt:u.railBgColor},bordercolor:{valType:"color",dflt:u.railBorderColor},borderwidth:{valType:"number",min:0,dflt:u.railBorderWidth},ticklen:{valType:"number",min:0,dflt:u.tickLength},tickcolor:{valType:"color",dflt:u.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:u.minorTickLength}}),"arraydraw","from-root")},60876:function(t){"use strict";t.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},8132:function(t,e,r){"use strict";var n=r(3400),i=r(51272),a=r(89861),o=r(60876).name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:"steps",handleItemDefaults:u}),l=0,c=0;c0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform",l(o-.5*f.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+f.stepInset+(r.inputAreaLength-2*f.stepInset)*Math.min(1,Math.max(0,e))}function L(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-f.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*f.stepInset-2*r.inputAreaStart)))}function C(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",f.railTouchRectClass,(function(n){n.call(A,e,t,r).style("pointer-events","all")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,f.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function P(t,e){var r=e._dims,n=r.inputAreaLength-2*f.railInset,i=s.ensureSingle(t,"rect",f.railRectClass);i.attr({width:n,height:f.railWidth,rx:f.railRadius,ry:f.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,f.railInset,.5*(r.inputAreaWidth-f.railWidth)+r.currentValueTotalHeight)}t.exports=function(t){var e=t._context.staticPlot,r=t._fullLayout,a=function(t,e){for(var r=t[f.name],n=[],i=0;i0?[0]:[]);function l(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(s.enter().append("g").classed(f.containerClassName,!0).style("cursor",e?null:"ew-resize"),s.exit().each((function(){n.select(this).selectAll("g."+f.groupClassName).each(l)})).remove(),0!==a.length){var u=s.selectAll("g."+f.groupClassName).data(a,y);u.enter().append("g").classed(f.groupClassName,!0),u.exit().each(l).remove();for(var c=0;c0||_<0){var M={left:[-w,0],right:[w,0],top:[0,-w],bottom:[0,w]}[b.side];r.attr("transform",l(M[0],M[1]))}}}return N.call(j),R&&(E?N.on(".opacity",null):(A=0,M=!0,N.text(m).on("mouseover.opacity",(function(){n.select(this).transition().duration(h.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(h.HIDE_PLACEHOLDER).style("opacity",0)}))),N.call(f.makeEditable,{gd:t}).on("edit",(function(e){void 0!==x?o.call("_guiRestyle",t,y,e,x):o.call("_guiRelayout",t,y,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(j)})).on("input",(function(t){this.text(t||" ").call(f.positionText,_.x,_.y)}))),N.classed("js-placeholder",M),T}}},88444:function(t,e,r){"use strict";var n=r(25376),i=r(22548),a=r(92880).extendFlat,o=r(67824).overrideAll,s=r(66741),l=r(31780).templatedArray,u=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:u,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},73712:function(t){"use strict";t.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"◄",right:"►",up:"▲",down:"▼"}}},91384:function(t,e,r){"use strict";var n=r(3400),i=r(51272),a=r(88444),o=r(73712).name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o("visible",i(t,e,{name:"buttons",handleItemDefaults:u}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function u(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}t.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},14420:function(t,e,r){"use strict";var n=r(33428),i=r(7316),a=r(76308),o=r(43616),s=r(3400),l=r(72736),u=r(31780).arrayEditor,c=r(84284).LINE_SPACING,f=r(73712),h=r(37400);function p(t){return t._index}function d(t,e){return+t.attr(f.menuIndexAttrName)===e._index}function v(t,e,r,n,i,a,o,s){e.active=o,u(t.layout,f.name,e).applyUpdate("active",o),"buttons"===e.type?y(t,n,null,null,e):"dropdown"===e.type&&(i.attr(f.menuIndexAttrName,"-1"),g(t,n,i,a,e),s||y(t,n,i,a,e))}function g(t,e,r,n,i){var a=s.ensureSingle(e,"g",f.headerClassName,(function(t){t.style("pointer-events","all")})),l=i._dims,u=i.active,c=i.buttons[u]||f.blankHeaderOpts,h={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(m,i,c,t).call(M,i,h,p),s.ensureSingle(e,"text",f.headerArrowClassName,(function(t){t.attr("text-anchor","end").call(o.font,i.font).text(f.arrowSymbol[i.direction])})).attr({x:l.headerWidth-f.arrowOffsetX+i.pad.l,y:l.headerHeight/2+f.textOffsetY+i.pad.t}),a.on("click",(function(){r.call(S,String(d(r,i)?-1:i._index)),y(t,e,r,n,i)})),a.on("mouseover",(function(){a.call(w)})),a.on("mouseout",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(f.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,u="dropdown"===o.type?f.dropdownButtonClassName:f.buttonClassName,c=r.selectAll("g."+u).data(s.filterVisible(l)),h=c.enter().append("g").classed(u,!0),p=c.exit();"dropdown"===o.type?(h.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,g=0,y=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?g=y.headerHeight+f.gapButtonHeader:d=y.headerWidth+f.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(g=-f.gapButtonHeader+f.gapButton-y.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-f.gapButtonHeader+f.gapButton-y.openWidth);var b={x:y.lx+d+o.pad.l,y:y.ly+g+o.pad.t,yPad:f.gapButton,xPad:f.gapButton,index:0},k={l:b.x+o.borderwidth,t:b.y+o.borderwidth};c.each((function(s,l){var u=n.select(this);u.call(m,o,s,t).call(M,o,b),u.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(v(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(v(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),u.on("mouseover",(function(){u.call(w)})),u.on("mouseout",(function(){u.call(T,o),c.call(_,o)}))})),c.call(_,o),x?(k.w=Math.max(y.openWidth,y.headerWidth),k.h=b.y-k.t):(k.w=b.x-k.l,k.h=Math.max(y.openHeight,y.headerHeight)),k.direction=o.direction,a&&(c.size()?function(t,e,r,n,i,a){var o,s,l,u=i.direction,c="up"===u||"down"===u,h=i._dims,p=i.active;if(c)for(s=0,l=0;l0?[0]:[]);if(o.enter().append("g").classed(f.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+f.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll("g."+f.headerGroupClassName).data(r,p);l.enter().append("g").classed(f.headerGroupClassName,!0);for(var u=s.ensureSingle(o,"g",f.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),c=0;cw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+y;E+M>u&&(E=u-M);var L=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);L.exit().on(".drag",null).remove(),L.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),k?(this.hbar=L.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var C=y>T,P=s.barWidth+2*s.barPad,O=s.barLength+2*s.barPad,I=d+v,z=g;I+P>l&&(I=l-P);var D=this.container.selectAll("rect.scrollbar-vertical").data(C?[0]:[]);D.exit().on(".drag",null).remove(),D.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),C?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:I,y:z,width:P,height:O}),this._vbarYMin=z+O/2,this._vbarTranslateMax=T-O):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=c-.5,B=C?f+P+.5:f+.5,N=h-.5,j=k?p+M+.5:p+.5,U=o._topdefs.selectAll("#"+R).data(k||C?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),k||C?(this._clipRect=U.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:v,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),k||C){var V=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var q=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(q),C&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},84284:function(t){"use strict";t.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},36208:function(t){"use strict";t.exports={axisRefDescription:function(t,e,r){return["If set to a",t,"axis id (e.g. *"+t+"* or","*"+t+"2*), the `"+t+"` position refers to a",t,"coordinate. If set to *paper*, the `"+t+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+r+"). If set to a",t,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",e,"of the domain of that axis: e.g.,","*"+t+"2 domain* refers to the domain of the second",t," axis and a",t,"position of 0.5 refers to the","point between the",e,"and the",r,"of the domain of the","second",t,"axis."].join(" ")}}},48164:function(t){"use strict";t.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}},26880:function(t){"use strict";t.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}},69104:function(t){"use strict";t.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},99168:function(t){"use strict";t.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},87792:function(t){"use strict";t.exports={circle:"●","circle-open":"○",square:"■","square-open":"□",diamond:"◆","diamond-open":"◇",cross:"+",x:"❌"}},13448:function(t){"use strict";t.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},39032:function(t){"use strict";t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"−"}},2264:function(t,e){"use strict";e.CSS_DECLARATIONS=[["image-rendering","optimizeSpeed"],["image-rendering","-moz-crisp-edges"],["image-rendering","-o-crisp-edges"],["image-rendering","-webkit-optimize-contrast"],["image-rendering","optimize-contrast"],["image-rendering","crisp-edges"],["image-rendering","pixelated"]],e.STYLE=e.CSS_DECLARATIONS.map((function(t){return t.join(": ")+"; "})).join("")},9616:function(t,e){"use strict";e.xmlns="http://www.w3.org/2000/xmlns/",e.svg="http://www.w3.org/2000/svg",e.xlink="http://www.w3.org/1999/xlink",e.svgAttrs={xmlns:e.svg,"xmlns:xlink":e.xlink}},64884:function(t,e,r){"use strict";e.version=r(25788).version,r(88324),r(79288);for(var n=r(24040),i=e.register=n.register,a=r(22448),o=Object.keys(a),s=0;s",""," ",""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}},98308:function(t,e){"use strict";e.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},e.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},e.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},e.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},e.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},e.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},11864:function(t,e,r){"use strict";var n=r(20435),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function u(t,e){return a(e-t,s)}function c(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function f(t,e,r,n,i,a,u){i=i||0,a=a||0;var c,f,h,p,d,v=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}v?(c=0,f=o,h=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return f(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return f(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return f(t,e,r,n,i,a,1)}}},38116:function(t,e,r){"use strict";var n=r(83160).decode,i=r(63620),a=Array.isArray,o=ArrayBuffer,s=DataView;function l(t){return o.isView(t)&&!(t instanceof s)}function u(t){return a(t)||l(t)}e.isTypedArray=l,e.isArrayOrTypedArray=u,e.isArray1D=function(t){return!u(t[0])},e.ensureArray=function(t,e){return a(t)||(t=[]),t.length=e,t};var c={u1c:"undefined"==typeof Uint8ClampedArray?void 0:Uint8ClampedArray,i1:"undefined"==typeof Int8Array?void 0:Int8Array,u1:"undefined"==typeof Uint8Array?void 0:Uint8Array,i2:"undefined"==typeof Int16Array?void 0:Int16Array,u2:"undefined"==typeof Uint16Array?void 0:Uint16Array,i4:"undefined"==typeof Int32Array?void 0:Int32Array,u4:"undefined"==typeof Uint32Array?void 0:Uint32Array,f4:"undefined"==typeof Float32Array?void 0:Float32Array,f8:"undefined"==typeof Float64Array?void 0:Float64Array};function f(t){return t.constructor===ArrayBuffer}function h(t,e,r){if(u(t)){if(u(t[0])){for(var n=r,i=0;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(o.get(t,r))}},angle:{coerceFunction:function(t,e,r){"auto"===t?e.set("auto"):n(t)?e.set(f(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||c(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!c(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(-1===(n.extras||[]).indexOf(t))if("string"==typeof t){for(var i=t.split("+"),a=0;a=n&&t<=i?t:c}if("string"!=typeof t&&"number"!=typeof t)return c;t=String(t);var u=_(r),y=t.charAt(0);!u||"G"!==y&&"g"!==y||(t=t.substr(1),r="");var w=u&&"chinese"===r.substr(0,7),T=t.match(w?x:m);if(!T)return c;var k=T[1],A=T[3]||"1",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),L=Number(T[11]||0);if(u){if(2===k.length)return c;var C;k=Number(k);try{var P=g.getComponentMethod("calendars","getCal")(r);if(w){var O="i"===A.charAt(A.length-1);A=parseInt(A,10),C=P.newDate(k,P.toMonthIndex(k,A,O),M)}else C=P.newDate(k,Number(A),M)}catch(t){return c}return C?(C.toJD()-v)*f+S*h+E*p+L*d:c}k=2===k.length?(Number(k)+2e3-b)%100+b:Number(k),A-=1;var I=new Date(Date.UTC(2e3,A,M,S,E));return I.setUTCFullYear(k),I.getUTCMonth()!==A||I.getUTCDate()!==M?c:I.getTime()+L*d},n=e.MIN_MS=e.dateTime2ms("-9999"),i=e.MAX_MS=e.dateTime2ms("9999-12-31 23:59:59.9999"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==c};var T=90*f,k=3*h,A=5*p;function M(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}e.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return c;e||(e=0);var a,o,s,u,m,x,b=Math.floor(10*l(t+.05,1)),w=Math.round(t-b/10);if(_(r)){var S=Math.floor(w/f)+v,E=Math.floor(l(t,f));try{a=g.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=y("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e=n+f&&t<=i-f))return c;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(a("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},e.cleanDate=function(t,r,n){if(t===c)return r;if(e.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(_(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return s.error("unrecognized date",t),r;return t};var S=/%\d?f/g,E=/%h/g,L={1:"1",2:"1",3:"2",4:"2"};function C(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"}));var i=new Date(Math.floor(e+.05));if(t=t.replace(E,(function(){return L[r("%q")(i)]})),_(n))try{t=g.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var P=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(t,e,r,n,i,a){if(i=_(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,f),n=w(Math.floor(r/h),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),P[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+C(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return C(e,t,n,i)};var O=3*f;e.incrementMonth=function(t,e,r){r=_(r)&&r;var n=l(t,f);if(t=Math.round(t-n),r)try{var i=Math.round(t/f)+v,a=g.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-v)*f+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var u=new Date(t+O);return u.setUTCMonth(u.getUTCMonth()+e)+n-O},e.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,u=_(e)&&g.getComponentMethod("calendars","getCal")(e),c=0;c0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===s||"FJI"===s?function(t){var e;if(null===u(t))e=t;else for(e=new Array(t.length),i=0;ie?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=h.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(h.tester(t))},a.type){case"MultiPolygon":for(r=0;ri&&(i=u,e=l)}else e=r;return o.default(e).geometry.coordinates}(c),n.fIn=t,n.fOut=c,s.push(c)}else u.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete i[r]}switch(r.type){case"FeatureCollection":var h=r.features;for(n=0;n100?(clearInterval(a),n("Unexpected error while fetching from "+t)):void i++}),50)}))}for(var o=0;o0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},e.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},e.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r1||v<0||v>1?null:{x:t+l*v,y:e+f*v}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}e.segmentsIntersect=s,e.segmentDistance=function(t,e,r,n,i,a,o,u){if(s(t,e,r,n,i,a,o,u))return 0;var c=r-t,f=n-e,h=o-i,p=u-a,d=c*c+f*f,v=h*h+p*p,g=Math.min(l(c,f,d,i-t,a-e),l(c,f,d,o-t,u-e),l(h,p,v,t-i,e-a),l(h,p,v,r-i,n-a));return Math.sqrt(g)},e.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),u=t.getPointAtLength(o(r+s/2,e)),c=Math.atan((u.y-l.y)/(u.x-l.x)),f=t.getPointAtLength(o(r,e)),h={x:(4*f.x+l.x+u.x)/6,y:(4*f.y+l.y+u.y)/6,theta:c};return n[r]=h,h},e.clearLocationCache=function(){i=null},e.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,u=0,c=t.getTotalLength(),f=c;function h(e){var r=t.getPointAtLength(e);0===e?n=r:e===c&&(i=r);var u=r.xo?r.x-o:0,f=r.yl?r.y-l:0;return Math.sqrt(u*u+f*f)}for(var p=h(u);p;){if((u+=p+r)>f)return;p=h(u)}for(p=h(f);p;){if(u>(f-=p+r))return;p=h(f)}return{min:u,max:f,len:f-u,total:c,isClosed:0===u&&f===c&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,u=n.iterationLimit||30,c=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,f=0,h=0,p=s;f0?p=i:h=i,f++}return a}},33040:function(t,e,r){"use strict";var n=r(38248),i=r(49760),a=r(72160),o=r(8932),s=r(22548).defaultLine,l=r(38116).isArrayOrTypedArray,u=a(s);function c(t,e){var r=t;return r[3]*=e,r}function f(t){if(n(t))return u;var e=a(t);return e.length?e:u}function h(t){return n(t)?t:1}t.exports={formatColor:function(t,e,r){var n=t.color;n&&n._inputArray&&(n=n._inputArray);var i,s,p,d,v,g=l(n),y=l(e),m=o.extractOpts(t),x=[];if(i=void 0!==m.colorscale?o.makeColorScaleFuncFromTrace(t):f,s=g?function(t,e){return void 0===t[e]?u:a(i(t[e]))}:f,p=y?function(t,e){return void 0===t[e]?1:h(t[e])}:h,g||y)for(var b=0;b1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}},3400:function(t,e,r){"use strict";var n=r(33428),i=r(94336).E9,a=r(57624).E9,o=r(38248),s=r(39032),l=s.FP_SAFE,u=-l,c=s.BADNUM,f=t.exports={};f.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:"0.f"===t?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var h={};f.warnBadFormat=function(t){var e=String(t);h[e]||(h[e]=1,f.warn('encountered bad format: "'+e+'"'))},f.noFormat=function(t){return String(t)},f.numberFormat=function(t){var e;try{e=a(f.adjustFormat(t))}catch(e){return f.warnBadFormat(t),f.noFormat}return e},f.nestedProperty=r(22296),f.keyedContainer=r(37804),f.relativeAttr=r(23193),f.isPlainObject=r(63620),f.toLogRange=r(36896),f.relinkPrivateKeys=r(51528);var p=r(38116);f.isArrayBuffer=p.isArrayBuffer,f.isTypedArray=p.isTypedArray,f.isArrayOrTypedArray=p.isArrayOrTypedArray,f.isArray1D=p.isArray1D,f.ensureArray=p.ensureArray,f.concat=p.concat,f.maxRowLength=p.maxRowLength,f.minRowLength=p.minRowLength;var d=r(20435);f.mod=d.mod,f.modHalf=d.modHalf;var v=r(63064);f.valObjectMeta=v.valObjectMeta,f.coerce=v.coerce,f.coerce2=v.coerce2,f.coerceFont=v.coerceFont,f.coercePattern=v.coercePattern,f.coerceHoverinfo=v.coerceHoverinfo,f.coerceSelectionMarkerOpacity=v.coerceSelectionMarkerOpacity,f.validate=v.validate;var g=r(67555);f.dateTime2ms=g.dateTime2ms,f.isDateTime=g.isDateTime,f.ms2DateTime=g.ms2DateTime,f.ms2DateTimeLocal=g.ms2DateTimeLocal,f.cleanDate=g.cleanDate,f.isJSDate=g.isJSDate,f.formatDate=g.formatDate,f.incrementMonth=g.incrementMonth,f.dateTick0=g.dateTick0,f.dfltRange=g.dfltRange,f.findExactDates=g.findExactDates,f.MIN_MS=g.MIN_MS,f.MAX_MS=g.MAX_MS;var y=r(14952);f.findBin=y.findBin,f.sorterAsc=y.sorterAsc,f.sorterDes=y.sorterDes,f.distinctVals=y.distinctVals,f.roundUp=y.roundUp,f.sort=y.sort,f.findIndexOfMin=y.findIndexOfMin,f.sortObjectKeys=r(95376);var m=r(63084);f.aggNums=m.aggNums,f.len=m.len,f.mean=m.mean,f.median=m.median,f.midRange=m.midRange,f.variance=m.variance,f.stdev=m.stdev,f.interp=m.interp;var x=r(52248);f.init2dArray=x.init2dArray,f.transposeRagged=x.transposeRagged,f.dot=x.dot,f.translationMatrix=x.translationMatrix,f.rotationMatrix=x.rotationMatrix,f.rotationXYMatrix=x.rotationXYMatrix,f.apply3DTransform=x.apply3DTransform,f.apply2DTransform=x.apply2DTransform,f.apply2DTransform2=x.apply2DTransform2,f.convertCssMatrix=x.convertCssMatrix,f.inverseTransformMatrix=x.inverseTransformMatrix;var b=r(11864);f.deg2rad=b.deg2rad,f.rad2deg=b.rad2deg,f.angleDelta=b.angleDelta,f.angleDist=b.angleDist,f.isFullCircle=b.isFullCircle,f.isAngleInsideSector=b.isAngleInsideSector,f.isPtInsideSector=b.isPtInsideSector,f.pathArc=b.pathArc,f.pathSector=b.pathSector,f.pathAnnulus=b.pathAnnulus;var _=r(98308);f.isLeftAnchor=_.isLeftAnchor,f.isCenterAnchor=_.isCenterAnchor,f.isRightAnchor=_.isRightAnchor,f.isTopAnchor=_.isTopAnchor,f.isMiddleAnchor=_.isMiddleAnchor,f.isBottomAnchor=_.isBottomAnchor;var w=r(92348);f.segmentsIntersect=w.segmentsIntersect,f.segmentDistance=w.segmentDistance,f.getTextLocation=w.getTextLocation,f.clearLocationCache=w.clearLocationCache,f.getVisibleSegment=w.getVisibleSegment,f.findPointOnPath=w.findPointOnPath;var T=r(92880);f.extendFlat=T.extendFlat,f.extendDeep=T.extendDeep,f.extendDeepAll=T.extendDeepAll,f.extendDeepNoArrays=T.extendDeepNoArrays;var k=r(24248);f.log=k.log,f.warn=k.warn,f.error=k.error;var A=r(53756);f.counterRegex=A.counter;var M=r(91200);f.throttle=M.throttle,f.throttleDone=M.done,f.clearThrottle=M.clear;var S=r(52200);function E(t){var e={};for(var r in t)for(var n=t[r],i=0;il||t=e)&&o(t)&&t>=0&&t%1==0},f.noop=r(16628),f.identity=r(35536),f.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},f.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},f.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(f.warn("randstr failed uniqueness"),l):t(e,r,n,(i||0)+1):l},f.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},f.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,u=new Array(l),c=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*u[n];c[r]=a}return c},f.syncOrAsync=function(t,e,r){var n;function i(){return f.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i);return r&&r(e)},f.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},f.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n0?e:0}))},f.fillArray=function(t,e,r,n){if(n=n||f.identity,f.isArrayOrTypedArray(t))for(var i=0;i1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l},f.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var D=/^\w*$/;f.templateString=function(t,e){var r={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,n){var i;return D.test(n)?i=e[n]:(r[n]=r[n]||f.nestedProperty(e,n).get,i=r[n]()),f.isValidTextValue(i)?i:""}))};var R={max:10,count:0,name:"hovertemplate"};f.hovertemplateString=function(){return U.apply(R,arguments)};var F={max:10,count:0,name:"texttemplate"};f.texttemplateString=function(){return U.apply(F,arguments)};var B=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/,N={max:10,count:0,name:"texttemplate",parseMultDiv:!0};f.texttemplateStringForShapes=function(){return U.apply(N,arguments)};var j=/^[:|\|]/;function U(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(f.TEMPLATE_STRING_REGEX,(function(t,s,l){var u="_xother"===s||"_yother"===s,c="_xother_"===s||"_yother_"===s,h="xother_"===s||"yother_"===s,p="xother"===s||"yother"===s||u||h||c,d=s;(u||c)&&(d=d.substring(1)),(h||c)&&(d=d.substring(0,d.length-1));var v,g,y,m=null,x=null;if(n.parseMultDiv){var b=function(t){var e=t.match(B);return e?{key:e[1],op:e[2],number:Number(e[3])}:{key:t,op:null,number:null}}(d);d=b.key,m=b.op,x=b.number}if(p){if(void 0===(v=e[d]))return""}else for(y=3;y=48&&o<=57,u=s>=48&&s<=57;if(l&&(n=10*n+o-48),u&&(i=10*i+s-48),!l||!u){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var V=2e9;f.seedPseudoRandom=function(){V=2e9},f.pseudoRandom=function(){var t=V;return V=(69069*V+1)%4294967296,Math.abs(V-t)<429496729?f.pseudoRandom():V/4294967296},f.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=f.extractOption(t,e,"htx","hovertext");if(f.isValidTextValue(i))return n(i);var a=f.extractOption(t,e,"tx","text");return f.isValidTextValue(a)?n(a):void 0},f.isValidTextValue=function(t){return t||0===t},f.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n1&&(u=1):u=0,f.strTranslate(i-u*(r+o),a-u*(n+s))+f.strScale(u)+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},f.setTransormAndDisplay=function(t,e){t.attr("transform",f.getTextTransform(e)),t.style("display",e.scale?null:"none")},f.ensureUniformFontSize=function(t,e){var r=f.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},f.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)},f.bigFont=function(t){return Math.round(1.2*t)};var q=f.getFirefoxVersion(),H=null!==q&&q<86;f.getPositionFromD3Event=function(){return H?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},63620:function(t){"use strict";t.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}},37804:function(t,e,r){"use strict";var n=r(22296),i=/^\w*$/;t.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var u={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var c={};if(s)for(o=0;o2)return u[e]=2|u[e],h.set(t,null);if(f){for(o=e;o1){var e=["LOG:"];for(t=0;t1){var r=[];for(t=0;t"),"long")}},a.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}},a.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}}},30988:function(t,e,r){"use strict";var n=r(33428);t.exports=function(t,e,r){var i=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",r),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(t){t[0][a]=n.select(this)})),i}},52248:function(t,e,r){"use strict";var n=r(36524);e.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},22296:function(t,e,r){"use strict";var n=r(38248),i=r(38116).isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,u=t;for(s=0;s/g),l=0;la||u===i||us||e&&l(t))}:function(t,e){var l=t[0],u=t[1];if(l===i||la||u===i||us)return!1;var c,f,h,p,d,v=r.length,g=r[0][0],y=r[0][1],m=0;for(c=1;cMath.max(f,g)||u>Math.max(h,y)))if(uc||Math.abs(n(o,h))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var u=l+1;u1&&o(t.pop()),{addPt:o,raw:t,filtered:r}}},5048:function(t,e,r){"use strict";var n=r(16576),i=r(28624);t.exports=function(t,e,a){var o=t._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has("parcoords")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.g.devicePixelRatio,extensions:e||[],cachedCode:a||{}})}catch(t){s=!1}n.regl||(s=!1),s&&this.addEventListener("webglcontextlost",(function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}},34296:function(t,e,r){"use strict";var n=r(38248),i=r(25928);t.exports=function(t){var e;if("string"!=typeof(e=t&&t.hasOwnProperty("userAgent")?t.userAgent:function(){var t;return"undefined"!=typeof navigator&&(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),t}()))return!0;var r=i({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(" "),o=1;o-1;s--){var l=a[s];if("Version/"===l.substr(0,8)){var u=l.substr(8).split(".")[0];if(n(u)&&(u=+u),u>=13)return!0}}return r}},52416:function(t){"use strict";t.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function f(t,e){return t>=e}e.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-s)-1:Math.floor((t-e.start)/e.size+s);var a,o,h=0,p=e.length,d=0,v=p>1?(e[p-1]-e[0])/(p-1):1;for(o=v>=0?r?l:u:r?f:c,t+=v*s*(r?-1:1)*(v>=0?1:-1);h90&&i.log("Long binary search..."),h-1},e.sorterAsc=function(t,e){return t-e},e.sorterDes=function(t,e){return e-t},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===o;r--);for(var i,a=n[r]-n[0]||1,s=a/(r||1)/1e4,l=[],u=0;u<=r;u++){var c=n[u],f=c-i;void 0===i?(l.push(c),i=c):f>s&&(a=Math.min(a,f),l.push(c),i=c)}return{vals:l,minDiff:a}},e.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,u=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},e.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;ia.length)&&(o=a.length),n(r)||(r=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},43080:function(t,e,r){"use strict";var n=r(72160);t.exports=function(t){return t?n(t):[0,0,0,1]}},9188:function(t,e,r){"use strict";var n=r(2264),i=r(43616),a=r(3400),o=null;t.exports=function(){if(null!==o)return o;o=!1;var t=a.isIE()||a.isSafari()||a.isIOS();if(window.navigator.userAgent&&!t){var e=Array.from(n.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if("function"==typeof r)o=e.some((function(t){return r.apply(null,t)}));else{var s=i.tester.append("image").attr("style",n.STYLE),l=window.getComputedStyle(s.node()).imageRendering;o=e.some((function(t){var e=t[1];return l===e||l===e.toLowerCase()})),s.remove()}}return o}},72736:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.strTranslate,o=r(9616),s=r(84284).LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;e.convertToTspans=function(t,r,g){var S=t.text(),E=!t.attr("data-notex")&&r&&r._context.typesetMath&&"undefined"!=typeof MathJax&&S.match(l),P=n.select(t.node().parentNode);if(!P.empty()){var O=t.attr("class")?t.attr("class").split(" ")[0]:"text";return O+="-math",P.selectAll("svg."+O).remove(),P.selectAll("g."+O+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),E?(r&&r._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l,h=parseInt((MathJax.version||"").split(".")[0]);if(2===h||3===h){var p=function(){var r="math-output-"+i.randstr({},64),a=(l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute","font-size":e.fontSize+"px"}).text(t.replace(u,"\\lt ").replace(c,"\\gt "))).node();return 2===h?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var e=l.select(2===h?".MathJax_SVG":".MathJax"),a=!e.empty()&&l.select("svg").node();if(a){var o,s=a.getBoundingClientRect();o=2===h?n.select("body").select("#MathJax_SVG_glyphs"):e.select("defs"),r(e,o,s)}else i.log("There was an error in the tex syntax.",t),r();l.remove()};2===h?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:f},displayAlign:"left"})}),(function(){if("SVG"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),p,d,(function(){if("SVG"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===h&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=f,"svg"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output="svg"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),"svg"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}else i.warn("No MathJax version:",MathJax.version)}(E[2],o,(function(n,i,o){P.selectAll("svg."+O).remove(),P.selectAll("g."+O+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return I(),void e();var l=P.append("g").classed(O+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var u=o.width,c=o.height;s.attr({class:O,height:c,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var f=t.node().style.fill||"black",h=s.select("g");h.attr({fill:f,stroke:f});var p=h.node().getBoundingClientRect(),d=p.width,v=p.height;(d>u||v>c)&&(s.style("overflow","hidden"),d=(p=s.node().getBoundingClientRect()).width,v=p.height);var y=+t.attr("x"),m=+t.attr("y"),x=-(r||t.node().getBoundingClientRect().height)/4;if("y"===O[0])l.attr({transform:"rotate("+[-90,y,m]+")"+a(-d/2,x-v/2)});else if("l"===O[0])m=x-v/2;else if("a"===O[0]&&0!==O.indexOf("atitle"))y=0,m=x;else{var b=t.attr("text-anchor");y-=d*("middle"===b?.5:"end"===b?1:0),m=m+x-v/2}s.attr({x:y,y:m}),g&&g.call(t,l),e(l)}))}))):I(),t}function I(){P.empty()||(O=t.attr("class")+"-math",P.select("svg."+O).remove()),t.text("").style("white-space","pre");var r=function(t,e){e=e.replace(y," ");var r,a=!1,l=[],u=-1;function c(){u++;var e=document.createElementNS(o.svg,"tspan");n.select(e).attr({class:"line",dy:u*s+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag .",e)}b.test(e)?c():(r=t,l=[{node:t}]);for(var E=e.split(m),P=0;P|>|>)/g,f=[["$","$"],["\\(","\\)"]],h={sup:"font-size:70%",sub:"font-size:70%",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},p={sub:"0.3em",sup:"-0.6em"},d={sub:"-0.21em",sup:"0.42em"},v="​",g=["http:","https:","mailto:","",void 0,":"],y=e.NEWLINES=/(\r\n?|\n)/g,m=/(<[^<>]*>)/,x=/<(\/?)([^ >]*)(\s+(.*))?>/i,b=//i;e.BR_TAG_ALL=//gi;var _=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,w=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,T=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&L(n)}var M=/(^|;)\s*color:/;e.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],i=t.split(m),a=[],o="",s=0,l=0;l3?a.push(u.substr(0,p-3)+"..."):a.push(u.substr(0,p));break}o=""}}return a.join("")};var S={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},E=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function L(t){return t.replace(E,(function(t,e){return("#"===e.charAt(0)?function(t){if(!(t>1114111)){var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t}))}function C(t){var e=encodeURI(decodeURI(t)),r=document.createElement("a"),n=document.createElement("a");r.href=t,n.href=e;var i=r.protocol,a=n.protocol;return-1!==g.indexOf(i)&&-1!==g.indexOf(a)?e:""}function P(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||"top",u=t.node().getBoundingClientRect(),c=e.node().getBoundingClientRect();return a="bottom"===l?function(){return u.bottom-n.height}:"middle"===l?function(){return u.top+(u.height-n.height)/2}:function(){return u.top},o="right"===s?function(){return u.right-n.width}:"center"===s?function(){return u.left+(u.width-n.width)/2}:function(){return u.left},function(){n=this.node().getBoundingClientRect();var t=o()-c.left,e=a()-c.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+"px",left:t+"px","z-index":1e3}),this}}e.convertEntities=L,e.sanitizeHTML=function(t){t=t.replace(y," ");for(var e=document.createElement("p"),r=e,i=[],a=t.split(m),o=0;oa.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},e.done=function(t){var e=r[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},e.clear=function(t){if(t)n(r[t]),delete r[t];else for(var i in r)e.clear(i)}},36896:function(t,e,r){"use strict";var n=r(38248);t.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},59972:function(t,e,r){"use strict";var n=t.exports={},i=r(79552).locationmodeToLayer,a=r(55712).NO;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},11680:function(t){"use strict";t.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},6580:function(t){"use strict";t.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},69820:function(t,e,r){"use strict";var n=r(24040);t.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},e.cleanLayout=function(t){var r,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,f=(s.subplotsRegistry.ternary||{}).attrRegex,h=(s.subplotsRegistry.gl3d||{}).attrRegex,v=Object.keys(t);for(r=0;r3?(I.x=1.02,I.xanchor="left"):I.x<-2&&(I.x=-.02,I.xanchor="right"),I.y>3?(I.y=1.02,I.yanchor="bottom"):I.y<-2&&(I.y=-.02,I.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),u.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var r=0;r0)return t.substr(0,e)}e.hasParent=function(t,e){for(var r=b(e);r;){if(r in t)return!0;r=b(r)}return!1};var _=["x","y","z"];e.clearAxisTypes=function(t,e,r){for(var n=0;n1&&a.warn("Full array edits are incompatible with other edits",f);var m=r[""][""];if(u(m))e.set(null);else{if(!Array.isArray(m))return a.warn("Unrecognized full array edit value",f,m),!0;e.set(m)}return!v&&(h(g,y),p(t),!0)}var x,b,_,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),L=E||[],C=c(y,f).get(),P=[],O=-1,I=L.length;for(x=0;xL.length-(A?0:1))a.warn("index out of range",f,_);else if(void 0!==k)T.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",f,_),u(k)?P.push(_):A?("add"===k&&(k={}),L.splice(_,0,k),C&&C.splice(_,0,{})):a.warn("Unrecognized full object edit value",f,_,k),-1===O&&(O=_);else for(b=0;b=0;x--)L.splice(P[x],1),C&&C.splice(P[x],1);if(L.length?E||e.set(L):e.set(null),v)return!1;if(h(g,y),d!==i){var z;if(-1===O)z=S;else{for(I=Math.max(L.length,I),z=[],x=0;x=O);x++)z.push(_);for(x=O;x=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function z(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),I(t,e,"currentIndices"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&I(t,r,"newIndices"),void 0!==r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function D(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if(void 0===r)throw new Error("indices must be an integer or array of integers");for(var a in I(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,u,c,f,h=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=O(r,t.data.length-1),e)for(var v=0;v-1&&-1===r.indexOf("grouptitlefont")?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function q(t,e,r){t=o.getGraphDiv(t),T.clearPromiseQueue(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=Z(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[h.previousPromises];a.layoutReplot?s.push(k.layoutReplot):Object.keys(n).length&&(H(t,a,i)||h.supplyDefaults(t),a.legend&&s.push(k.doLegend),a.layoutstyle&&s.push(k.layoutStyles),a.axrange&&G(s,i.rangesAltered),a.ticks&&s.push(k.doTicksRelayout),a.modebar&&s.push(k.doModeBar),a.camera&&s.push(k.doCamera),a.colorbars&&s.push(k.doColorBars),s.push(E)),s.push(h.rehover,h.redrag,h.reselect),u.add(t,q,[t,i.undoit],q,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",i.eventData),t}))}function H(t,e,r){var n,i,a=t._fullLayout;if(!e.axrange)return!1;for(var s in e)if("axrange"!==s&&e[s])return!1;var l=function(t,e){return o.coerce(n,i,v,t,e)},u={};for(var c in r.rangesAltered){var f=p.id2name(c);if(n=t.layout[f],i=a[f],d(n,i,l,u),i._matchGroup)for(var h in i._matchGroup)if(h!==c){var g=a[p.id2name(h)];g.autorange=i.autorange,g.range=i.range.slice(),g._input.range=i.range.slice()}}return!0}function G(t,e){var r=e?function(t){var r=[];for(var n in e){var i=p.getFromId(t,n);if(r.push(n),-1!==(i.ticklabelposition||"").indexOf("inside")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var a in i._matchGroup)e[a]||r.push(a)}return p.draw(t,r,{skipTitle:!0})}:function(t){return p.draw(t,"redraw")};t.push(b,k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}var W=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,Y=/^[xyz]axis[0-9]*\.autorange$/,X=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function Z(t,e){var r,n,i,a=t.layout,l=t._fullLayout,u=l._guiEditing,h=N(l._preGUI,u),d=Object.keys(e),v=p.list(t),g=o.extendDeepAll({},e),y={};for(V(e),d=Object.keys(e),n=0;n0&&"string"!=typeof I.parts[D];)D--;var R=I.parts[D],F=I.parts[D-1]+"."+R,j=I.parts.slice(0,D).join("."),U=s(t.layout,j).get(),q=s(l,j).get(),H=I.get();if(void 0!==z){k[O]=z,S[O]="reverse"===R?z:B(H);var G=f.getLayoutValObject(l,I.parts);if(G&&G.impliedEdits&&null!==z)for(var Z in G.impliedEdits)E(o.relativeAttr(O,Z),G.impliedEdits[Z]);if(-1!==["width","height"].indexOf(O))if(z){E("autosize",null);var J="height"===O?"width":"height";E(J,l[J])}else l[O]=t._initialAutoSize[O];else if("autosize"===O)E("width",z?null:l.width),E("height",z?null:l.height);else if(F.match(W))P(F),s(l,j+"._inputRange").set(null);else if(F.match(Y)){P(F),s(l,j+"._inputRange").set(null);var $=s(l,j).get();$._inputDomain&&($._input.domain=$._inputDomain.slice())}else F.match(X)&&s(l,j+"._inputDomain").set(null);if("type"===R){L=U;var Q="linear"===q.type&&"log"===z,tt="log"===q.type&&"linear"===z;if(Q||tt){if(L&&L.range)if(q.autorange)Q&&(L.range=L.range[1]>L.range[0]?[1,2]:[2,1]);else{var et=L.range[0],rt=L.range[1];Q?(et<=0&&rt<=0&&E(j+".autorange",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(j+".range[0]",Math.log(et)/Math.LN10),E(j+".range[1]",Math.log(rt)/Math.LN10)):(E(j+".range[0]",Math.pow(10,et)),E(j+".range[1]",Math.pow(10,rt)))}else E(j+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[I.parts[0]]&&"radialaxis"===I.parts[1]&&delete l[I.parts[0]]._subplot.viewInitial["radialaxis.range"],c.getComponentMethod("annotations","convertCoords")(t,q,z,E),c.getComponentMethod("images","convertCoords")(t,q,z,E)}else E(j+".autorange",!0),E(j+".range",null);s(l,j+"._inputRange").set(null)}else if(R.match(M)){var nt=s(l,O).get(),it=(z||{}).type;it&&"-"!==it||(it="linear"),c.getComponentMethod("annotations","convertCoords")(t,nt,it,E),c.getComponentMethod("images","convertCoords")(t,nt,it,E)}var at=w.containerArrayMatch(O);if(at){r=at.array,n=at.index;var ot=at.property,st=G||{editType:"calc"};""!==n&&""===ot&&(w.isAddVal(z)?S[O]=null:w.isRemoveVal(z)?S[O]=(s(a,r).get()||[])[n]:o.warn("unrecognized full object value",e)),A.update(_,st),y[r]||(y[r]={});var lt=y[r][n];lt||(lt=y[r][n]={}),lt[ot]=z,delete e[O]}else"reverse"===R?(U.range?U.range.reverse():(E(j+".autorange",!0),U.range=[1,0]),q.autorange?_.calc=!0:_.plot=!0):("dragmode"===O&&(!1===z&&!1!==H||!1!==z&&!1===H)||l._has("scatter-like")&&l._has("regl")&&"dragmode"===O&&("lasso"===z||"select"===z)&&"lasso"!==H&&"select"!==H||l._has("gl2d")?_.plot=!0:G?A.update(_,G):_.calc=!0,I.set(z))}}for(r in y)w.applyContainerArrayChanges(t,h(a,r),y[r],_,h)||(_.plot=!0);for(var ut in C){var ct=(L=p.getFromId(t,ut))&&L._constraintGroup;if(ct)for(var ft in _.calc=!0,ct)C[ft]||(p.getFromId(t,ft)._constraintShrinkable=!0)}(K(t)||e.height||e.width)&&(_.plot=!0);var ht=l.shapes;for(n=0;n1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function u(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,c){function f(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,h.transition(t,e.frame.data,e.frame.layout,T.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()};e()}var p,d,v=0;function g(t){return Array.isArray(i)?v>=i.length?t.transitionOpts=i[v]:t.transitionOpts=i[0]:t.transitionOpts=i,v++,t}var y=[],m=null==e,x=Array.isArray(e);if(m||x||!o.isPlainObject(e)){if(m||-1!==["string","number"].indexOf(typeof e))for(p=0;p0&&ww)&&k.push(d);y=k}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var v=e[n].name,g=(c[v]||d[v]||{}).name,y=e[n].name,m=c[g]||d[g];g&&y&&"number"==typeof y&&m&&S<5&&(S++,o.warn('addFrames: overwriting frame "'+(c[g]||d[g]).name+'" with a frame whose name of type "number" also equates to "'+g+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[v]={name:v},p.push({frame:h.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:f+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;c[i.name="frame "+t._transitionData._counter++];);if(c[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var l=h.modifyFrames,c=h.modifyFrames,f=[t,s],p=[t,a];return u&&u.add(t,l,f,c,p),h.modifyFrames(t,a)},e.addTraces=function t(r,n,i){r=o.getGraphDiv(r);var a,s,l=[],c=e.deleteTraces,f=t,h=[r,l],p=[r,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!_(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function _(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in f(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i=l.length)return!1;i=(r=(n.transformsRegistry[l[u].type]||{}).attributes)&&r[e[2]],s=3}else{var c=t._module;if(c||(c=(n.modules[t.type||a.type.dflt]||{})._module),!c)return!1;if(!(i=(r=c.attributes)&&r[o])){var f=c.basePlotModule;f&&f.attributes&&(i=f.attributes[o])}i||(i=a[o])}return b(i,e,s)},e.getLayoutValObject=function(t,e){var r=function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var u;for(r=0;r=i&&(r._input||{})._templateitemname;s&&(o=i);var l,u=e+"["+o+"]";function c(){l={},s&&(l[u]={},l[u][a]=s)}function f(t,e){s?n.nestedProperty(l[u],t).set(e):l[u+"."+t]=e}function h(){var t=l;return c(),t}return c(),{modifyBase:function(t,e){l[t]=e},modifyItem:f,getUpdateObj:h,applyUpdate:function(e,r){e&&f(e,r);var i=h();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},39172:function(t,e,r){"use strict";var n=r(33428),i=r(24040),a=r(7316),o=r(3400),s=r(72736),l=r(73696),u=r(76308),c=r(43616),f=r(81668),h=r(45460),p=r(54460),d=r(84284),v=r(71888),g=v.enforce,y=v.clean,m=r(19280).doAutoRange,x="start";function b(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&a[0]e[0])return!0}return!1}function _(t){var r,i,s,l,f,v,g=t._fullLayout,y=g._size,m=y.p,x=p.list(t,"",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":g.width+"px",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(c.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),e.drawMainTitle(t),h.manage(t),!g._has("cartesian"))return a.previousPromises(t);function _(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-m-n:e._offset+e._length+m+n:y.t+y.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+m+n:e._offset-m-n:y.l+y.w*(t.position||0)+n%1}for(r=0;r.5?"t":"b",o=t._fullLayout.margin[a],s=0;return"paper"===e.yref?s=r+e.pad.t+e.pad.b:"container"===e.yref&&(s=function(t,e,r,n,i){var a=0;return"middle"===r&&(a+=i/2),"t"===t?("top"===r&&(a+=i),a+=n-e*n):("bottom"===r&&(a+=i),a+=e*n),a}(a,n,i,t._fullLayout.height,r)+e.pad.t+e.pad.b),s>o?s:0}(t,r,g);if(y>0){!function(t,e,r,n){var i="title.automargin",s=t._fullLayout.title,l=s.y>.5?"t":"b",u={x:s.x,y:s.y,t:0,b:0},c={};"paper"===s.yref&&function(t,e,r,n,i){var a="paper"===e.yref?t._fullLayout._size.h:t._fullLayout.height,s=o.isTopAnchor(e)?n:n-i,l="b"===r?a-s:s;return!(o.isTopAnchor(e)&&"t"===r||o.isBottomAnchor(e)&&"b"===r)&&lT?c.push({code:"unused",traceType:m,templateCount:w,dataCount:T}):T>w&&c.push({code:"reused",traceType:m,templateCount:w,dataCount:T})}}else c.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=v(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&c.push({code:"missing",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&g(a)&&t(a,o)}}({data:p,layout:h},""),c.length)return c.map(y)}},67024:function(t,e,r){"use strict";var n=r(38248),i=r(36424),a=r(7316),o=r(3400),s=r(81792),l=r(37164),u=r(63268),c=r(25788).version,f={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};t.exports=function(t,e){var r,h,p,d;function v(t){return!(t in e)||o.validate(e[t],f[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],h=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),h=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!v("width")&&null!==e.width||!v("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!v("format"))throw new Error("Export format is not "+o.join2(f.format.values,", "," or ")+".");var g={};function y(t,r){return o.coerce(e,g,f,t,r)}var m=y("format"),x=y("width"),b=y("height"),_=y("scale"),w=y("setBackground"),T=y("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var A=o.extendFlat({},h);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),b?A.height=b:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function L(){return new Promise((function(t,e){var r=l(k,m,_),n=k._fullLayout.width,f=k._fullLayout.height;function h(){i.purge(k),document.body.removeChild(k)}if("full-json"===m){var p=a.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=c,p=JSON.stringify(p),h(),t(T?p:s.encodeJSON(p))}if(h(),"svg"===m)return t(T?r:s.encodeSVG(r));var d=document.createElement("canvas");d.id=o.randstr(),u({format:m,width:n,height:f,scale:_,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.newPlot(k,r,A,M).then(S).then(E).then(L).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},21480:function(t,e,r){"use strict";var n=r(3400),i=r(7316),a=r(73060),o=r(20556).dfltConfig,s=n.isPlainObject,l=Array.isArray,u=n.isArrayOrTypedArray;function c(t,e,r,i,a,o){o=o||[];for(var f=Object.keys(t),h=0;hx.length&&i.push(p("unused",a,y.concat(x.length)));var A,M,S,E,L,C=x.length,P=Array.isArray(k);if(P&&(C=Math.min(C,k.length)),2===b.dimensions)for(M=0;Mx[M].length&&i.push(p("unused",a,y.concat(M,x[M].length)));var O=x[M].length;for(A=0;A<(P?Math.min(O,k[M].length):O);A++)S=P?k[M][A]:k,E=m[M][A],L=x[M][A],n.validate(E,S)?L!==E&&L!==+E&&i.push(p("dynamic",a,y.concat(M,A),E,L)):i.push(p("value",a,y.concat(M,A),E))}else i.push(p("array",a,y.concat(M),m[M]));else for(M=0;M1&&h.push(p("object","layout"))),i.supplyDefaults(d);for(var v=d._fullData,g=r.length,y=0;y0&&Math.round(f)===f))return{vals:i};u=f}for(var h=e.calendar,p="start"===l,d="end"===l,v=t[r+"period0"],g=a(v,h)||0,y=[],m=[],x=[],b=i.length,_=0;_A;)k=o(k,-u,h);for(;k<=A;)k=o(k,u,h);T=o(k,-u,h)}else{for(k=g+(w=Math.round((A-g)/c))*c;k>A;)k-=c;for(;k<=A;)k+=c;T=k-c}y[_]=p?T:d?k:(T+k)/2,m[_]=T,x[_]=k}return{vals:y,starts:m,ends:x}}},26720:function(t){"use strict";t.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},19280:function(t,e,r){"use strict";var n=r(33428),i=r(38248),a=r(3400),o=r(39032).FP_SAFE,s=r(24040),l=r(43616),u=r(79811),c=u.getFromId,f=u.isLinked;function h(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),u=g(t,e),c=u.min,f=u.max;if(0===c.length||0===f.length)return a.simpleMap(e.range,e.r2l);var h=c[0].val,v=f[0].val;for(r=1;r0&&((A=C-s(b)-l(_))>P?M/A>O&&(w=b,T=_,O=M/A):M/C>O&&(w={val:b.val,nopad:1},T={val:_.val,nopad:1},O=M/C));if(h===v){var I=h-1,z=h+1;if(E)if(0===h)i=[0,1];else{var D=(h>0?f:c).reduce((function(t,e){return Math.max(t,l(e))}),0),R=h/(1-Math.min(.5,D/C));i=h>0?[0,R]:[R,0]}else i=L?[Math.max(0,I),Math.max(1,z)]:[I,z]}else E?(w.val>=0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:0,nopad:1})):L&&(w.val-O*s(w)<0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:1,nopad:1})),O=(T.val-w.val-p(e,b.val,_.val))/(C-s(w)-l(T)),i=[w.val-O*s(w),T.val+O*l(T)];return i=k(i,e),e.limitRange&&e.limitRange(),m&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function p(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),L=A(r.vpadminus||r.vpad);if(!T){if(h=1/0,p=-1/0,w)for(n=0;n0&&(h=a),a>p&&a-o&&(h=a),a>p&&a=O;n--)P(n);return{min:d,max:v,opts:r}},concatExtremes:g};var v=3;function g(t,e,r){var n,i,a,o=e._id,s=t._fullData,l=t._fullLayout,u=[],f=[];function h(t,e){for(n=0;n=r&&(u.extrapad||!o)){s=!1;break}i(e,u.val)&&u.pad<=r&&(o||!u.extrapad)&&(t.splice(l,1),l--)}if(s){var c=a&&0===e;t.push({val:e,pad:c?0:r,extrapad:!c&&o})}}function b(t){return i(t)&&Math.abs(t)=e}function T(t,e,r){return void 0===e||void 0===r||(e=t.d2l(e))=u&&(o=u,r=u),s<=u&&(s=u,n=u)}}return r=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.minallowed&&T(e,r.minallowed,r.maxallowed)?r.minallowed:r&&void 0!==r.clipmin&&T(e,r.clipmin,r.clipmax)?Math.max(t,e.d2l(r.clipmin)):t}(r,e),n=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.maxallowed&&T(e,r.minallowed,r.maxallowed)?r.maxallowed:r&&void 0!==r.clipmax&&T(e,r.clipmin,r.clipmax)?Math.min(t,e.d2l(r.clipmax)):t}(n,e),[r,n]}},76808:function(t){"use strict";t.exports=function(t,e,r){var n,i;if(r){var a="reversed"===e||"min reversed"===e||"max reversed"===e;n=r[a?1:0],i=r[a?0:1]}var o=t("autorangeoptions.minallowed",null===i?n:void 0),s=t("autorangeoptions.maxallowed",null===n?i:void 0);void 0===o&&t("autorangeoptions.clipmin"),void 0===s&&t("autorangeoptions.clipmax"),t("autorangeoptions.include")}},54460:function(t,e,r){"use strict";var n=r(33428),i=r(38248),a=r(7316),o=r(24040),s=r(3400),l=s.strTranslate,u=r(72736),c=r(81668),f=r(76308),h=r(43616),p=r(94724),d=r(98728),v=r(39032),g=v.ONEMAXYEAR,y=v.ONEAVGYEAR,m=v.ONEMINYEAR,x=v.ONEMAXQUARTER,b=v.ONEAVGQUARTER,_=v.ONEMINQUARTER,w=v.ONEMAXMONTH,T=v.ONEAVGMONTH,k=v.ONEMINMONTH,A=v.ONEWEEK,M=v.ONEDAY,S=M/2,E=v.ONEHOUR,L=v.ONEMIN,C=v.ONESEC,P=v.MINUS_SIGN,O=v.BADNUM,I={K:"zeroline"},z={K:"gridline",L:"path"},D={K:"minor-gridline",L:"path"},R={K:"tick",L:"path"},F={K:"tick",L:"text"},B={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},N=r(84284),j=N.MID_SHIFT,U=N.CAP_SHIFT,V=N.LINE_SPACING,q=N.OPPOSITE_SIDE,H=t.exports={};H.setConvert=r(78344);var G=r(52976),W=r(79811),Y=W.idSort,X=W.isLinked;H.id2name=W.id2name,H.name2id=W.name2id,H.cleanId=W.cleanId,H.list=W.list,H.listIds=W.listIds,H.getFromId=W.getFromId,H.getFromTrace=W.getFromTrace;var Z=r(19280);H.getAutoRange=Z.getAutoRange,H.findExtremes=Z.findExtremes;var K=1e-4;function J(t){var e=(t[1]-t[0])*K;return[t[0]-e,t[1]+e]}H.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],u=n+"ref",c={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+" domain"}))),c[u]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,c,u)},H.getRefType=function(t){return void 0===t?t:"paper"===t?"paper":"pixel"===t?"pixel":/( domain)$/.test(t)?"domain":"range"},H.coercePosition=function(t,e,r,n,i,a){var o,l;if("range"!==H.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var u=H.getFromId(e,n);l=r(i,a=u.fraction2r(a)),o=u.cleanPos}t[i]=o(l)},H.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:H.getFromId(e,r).cleanPos)(t)},H.redrawComponents=function(t,e){e=e||H.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),u={},c=0;cn&&h2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},H.saveRangeInitial=function(t,e){for(var r=H.list(t,"",!0),n=!1,i=0;i.3*h||c(n)||c(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=H.tickIncrement(t,"M6","reverse")+1.5*M:a.exactMonths>.8?t=H.tickIncrement(t,"M1","reverse")+15.5*M:t-=S;var l=H.tickIncrement(t,r);if(l<=n)return l}return t}(m,t,y,u,a)),g=m;g<=c;)g=H.tickIncrement(g,y,!1,a);return{start:e.c2r(m,0,a),end:e.c2r(g,0,a),size:y,_dataSpan:c-u}},H.prepMinorTicks=function(t,e,r){if(!e.minor.dtick){delete t.dtick;var n,a=e.dtick&&i(e._tmin);if(a){var o=H.tickIncrement(e._tmin,e.dtick,!0);n=[e._tmin,.99*o+.01*e._tmin]}else{var l=s.simpleMap(e.range,e.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(t.range=s.simpleMap(n,e.l2r),t._isMinor=!0,H.prepTicks(t,r),a){var u=i(e.dtick),c=i(t.dtick),f=u?e.dtick:+e.dtick.substring(1),h=c?t.dtick:+t.dtick.substring(1);u&&c?et(f,h)?f===2*A&&h===2*M&&(t.dtick=A):f===2*A&&h===3*M?t.dtick=A:f!==A||(e._input.minor||{}).nticks?rt(f/h,2.5)?t.dtick=f/2:t.dtick=f:t.dtick=M:"M"===String(e.dtick).charAt(0)?c?t.dtick="M1":et(f,h)?f>=12&&2===h&&(t.dtick="M3"):t.dtick=e.dtick:"L"===String(t.dtick).charAt(0)?"L"===String(e.dtick).charAt(0)?et(f,h)||(t.dtick=rt(f/h,2.5)?e.dtick/2:e.dtick):t.dtick="D1":"D2"===t.dtick&&+e.dtick>1&&(t.dtick=1)}t.range=e.range}void 0===e.minor._tick0Init&&(t.tick0=e.tick0)},H.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if("auto"===t.tickmode||!t.dtick){var n,a=t.nticks;a||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?s.bigFont(t.tickfont.size||12):15,a=t._length/n):(n="y"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(a*=2)),t.minor&&"array"!==t.minor.tickmode||"array"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,H.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}"period"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||"M"!==t.dtick.charAt(0))}var n=r(),a=H.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtick=(I?0:1);z--){var D=!z;z?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var R=z?t:s.extendFlat({},t,t.minor);if(D?H.prepMinorTicks(R,t,e):H.prepTicks(R,e),"array"!==R.tickmode)if("sync"!==R.tickmode){var F=J(c),B=F[0],N=F[1],j=i(R.dtick),U="log"===a&&!(j||"L"===R.dtick.charAt(0)),V=H.tickFirst(R,e);if(z){if(t._tmin=V,V=N:Y<=N;Y=H.tickIncrement(Y,X,f,o)){if(z&&q++,R.rangebreaks&&!f){if(Y=p)break}if(C.length>d||Y===W)break;W=Y;var Z={value:Y};z?(U&&Y!==(0|Y)&&(Z.simpleLabel=!0),l>1&&q%l&&(Z.skipLabel=!0),C.push(Z)):(Z.minor=!0,P.push(Z))}}else C=[],v=at(t);else z?(C=[],v=ot(t,!D)):(P=[],L=ot(t,!D))}if(I&&!("inside"===t.minor.ticks&&"outside"===t.ticks||"outside"===t.minor.ticks&&"inside"===t.ticks)){for(var K=C.map((function(t){return t.value})),$=[],Q=0;Q0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,u=t[o].value,c=Math.abs(u-l),f=r||c,h=0;f>=m?h=c>=m&&c<=g?c:y:r===b&&f>=_?h=c>=_&&c<=x?c:b:f>=k?h=c>=k&&c<=w?c:T:r===A&&f>=A?h=A:f>=M?h=M:r===S&&f>=S?h=S:r===E&&f>=E&&(h=E),h>=c&&(h=c,s=!0);var p=i+h;if(e.rangebreaks&&h>0){for(var d=0,v=0;v<84;v++){var L=(v+.5)/84;e.maskBreaks(i*(1-L)+L*p)!==O&&d++}(h*=d/84)||(t[n].drop=!0),s&&c>A&&(h=c)}(h>0||0===n)&&(t[n].periodX=i+h/2)}}(C,t,t._definedDelta),t.rangebreaks){var it="y"===t._id.charAt(0),st=1;"auto"===t.tickmode&&(st=t.tickfont?t.tickfont.size:12);var lt=NaN;for(r=C.length-1;r>-1;r--)if(C[r].drop)C.splice(r,1);else{C[r].value=Dt(C[r].value,t);var ut=t.c2p(C[r].value);(it?lt>ut-st:ltp||ftp&&(ct.periodX=p),ft10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=M&&a<=10||e>=15*M)t._tickround="d";else if(e>=L&&a<=16||e>=E)t._tickround="M";else if(e>=C&&a<=19||e>=L)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),u=Math.floor(Math.log(l)/Math.LN10+.01),c=void 0===t.minexponent?3:t.minexponent;Math.abs(u)>c&&(mt(t.exponentformat)&&!xt(u)?t._tickexponent=3*Math.round((u-1)/3):t._tickexponent=u)}else t._tickround=null}function gt(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontColor:n.color}}H.autoTicks=function(t,e,r){var n;function a(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar,0);var o=2*e;if(o>y)e/=y,n=a(10),t.dtick="M"+12*dt(e,n,st);else if(o>T)e/=T,t.dtick="M"+dt(e,1,lt);else if(o>M){if(t.dtick=dt(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:ct),!r){var l=H.getTickFormat(t),u="period"===t.ticklabelmode;u&&(t._rawTick0=t.tick0),/%[uVW]/.test(l)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),u&&(t._dowTick0=t.tick0)}}else o>E?t.dtick=dt(e,E,lt):o>L?t.dtick=dt(e,L,ut):o>C?t.dtick=dt(e,C,ut):(n=a(10),t.dtick=dt(e,n,st))}else if("log"===t.type){t.tick0=0;var c=s.simpleMap(t.range,t.r2l);if(t._isMinor&&(e*=1.5),e>.7)t.dtick=Math.ceil(e);else if(Math.abs(c[1]-c[0])<1){var f=1.5*Math.abs((c[1]-c[0])/e);e=Math.abs(Math.pow(10,c[1])-Math.pow(10,c[0]))/f,n=a(10),t.dtick="L"+dt(e,n,st)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):zt(t)?(t.tick0=0,n=1,t.dtick=dt(e,n,pt)):(t.tick0=0,n=a(10),t.dtick=dt(e,n,st));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var h=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(h)}},H.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),u=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,u,a);if("L"===l)return Math.log(Math.pow(10,t)+u)/Math.LN10;if("D"===l){var c="D2"===e?ht:ft,f=t+.01*o,h=s.roundUp(s.mod(f,1),c,r);return Math.floor(f)+Math.log(n.round(Math.pow(10,h),1))/Math.LN10}throw"unrecognized dtick "+String(e)},H.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1]=0&&r<=t._length?e:null};if(l&&s.isArrayOrTypedArray(t.ticktext)){var p=s.simpleMap(t.range,t.r2l),d=(Math.abs(p[1]-p[0])-(t._lBreaks||0))/1e4;for(a=0;a ")}else t._prevDateHead=l,u+="
"+l;e.text=u}(t,o,r,u):"log"===c?function(t,e,r,n,a){var o=t.dtick,l=e.x,u=t.tickformat,c="string"==typeof o&&o.charAt(0);if("never"===a&&(a=""),n&&"L"!==c&&(o="L3",c="L"),u||"L"===c)e.text=bt(Math.pow(10,l),t,a,n);else if(i(o)||"D"===c&&s.mod(l+.01,1)<.1){var f=Math.round(l),h=Math.abs(f),p=t.exponentformat;"power"===p||mt(p)&&xt(f)?(e.text=0===f?1:1===f?"10":"10"+(f>1?"":P)+h+"",e.fontSize*=1.25):("e"===p||"E"===p)&&h>2?e.text="1"+p+(f>0?"+":P)+h:(e.text=bt(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==c)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,u,g):"category"===c?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=""),e.text=String(r)}(t,o):"multicategory"===c?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?e.text=o+" - "+a:(e.text=a,e.text2=o)}(t,o,r):zt(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=bt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=bt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="π":e.text=o[0]+"π":e.text=["",o[0],"","⁄","",o[1],"","π"].join(""),l&&(e.text=P+e.text)}}}}(t,o,r,u,g):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide"),e.text=bt(e.x,t,i,n)}(t,o,0,u,g),n||(t.tickprefix&&!v(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!v(t.showticksuffix)&&(o.text+=t.ticksuffix)),t.labelalias&&t.labelalias.hasOwnProperty(o.text)){var y=t.labelalias[o.text];"string"==typeof y&&(o.text=y)}return("boundaries"===t.tickson||t.showdividers)&&(o.xbnd=[h(o.x-.5),h(o.x+t.dtick-.5)]),o},H.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=s.isArrayOrTypedArray(e)?e[0]:e,i=s.isArrayOrTypedArray(e)?e[1]:void 0;if(void 0!==i&&i!==n)return H.hoverLabelText(t,n,r)+" - "+H.hoverLabelText(t,i,r);var a="log"===t.type&&n<=0,o=H.tickText(t,t.c2l(a?-n:n),"hover").text;return a?0===n?"0":P+o:o};var yt=["f","p","n","μ","m","","k","M","G","T"];function mt(t){return"SI"===t||"B"===t}function xt(t){return t>14||t<-15}function bt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",u=e._tickexponent,c=H.getTickFormat(e),f=e.separatethousands;if(n){var h={exponentformat:l,minexponent:e.minexponent,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};vt(h),o=(Number(h._tickround)||0)+4,u=h._tickexponent,e.hoverformat&&(c=e.hoverformat)}if(c)return e._numFormat(c)(t).replace(/-/g,P);var p,d=Math.pow(10,-o)/2;if("none"===l&&(u=0),(t=Math.abs(t))"+p+"":"B"===l&&9===u?t+="B":mt(l)&&(t+=yt[u/3+5])),a?P+t:t}function _t(t,e){if(t){var r=Object.keys(B).reduce((function(t,r){return-1!==e.indexOf(r)&&B[r].forEach((function(e){t[e]=1})),t}),{});Object.keys(t).forEach((function(e){r[e]||(1===e.length?t[e]=0:delete t[e])}))}}function wt(t,e){for(var r=[],n={},i=0;i1&&r=i.min&&t=0,a=c(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=o(i)))){r=n;break}break;case"log":for(e=0;e=0&&i.unshift(i.splice(n,1).shift())}}));var o={false:{left:0,right:0}};return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=H.getFromId(t,e);r||(r={}),r.axShifts=o,r.overlayingShiftedAx=a;var i=H.drawOne(t,n,r);return n._shiftPusher&&Bt(n,n._fullDepth||0,o,!0),n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},H.drawOne=function(t,e,r){var n,i,l,p=(r=r||{}).axShifts||{},d=r.overlayingShiftedAx||[];e.setScale();var v=t._fullLayout,g=e._id,y=g.charAt(0),m=H.counterLetter(g),x=v._plots[e._mainSubplot];if(x){if(e._shiftPusher=e.autoshift||-1!==d.indexOf(e._id)||-1!==d.indexOf(e.overlaying),e._shiftPusher&"free"===e.anchor){var b=e.linewidth/2||0;"inside"===e.ticks&&(b+=e.ticklen),Bt(e,b,p,!0),Bt(e,e.shift||0,p,!1)}!0===r.skipTitle&&void 0!==e._shift||(e._shift=function(t,e){return t.autoshift?e[t.overlaying][t.side]:t.shift||0}(e,p));var _=x[y+"axislayer"],w=e._mainLinePosition,T=w+=e._shift,k=e._mainMirrorPosition,A=e._vals=H.calcTicks(e),M=[e.mirror,T,k].join("_");for(n=0;n0?r.bottom-c:0,f))));var h=0,p=0;if(e._shiftPusher&&(h=Math.max(f,r.height>0?"l"===l?c-r.left:r.right-c:0),e.title.text!==v._dfltTitle[y]&&(p=(e._titleStandoff||0)+(e._titleScoot||0),"l"===l&&(p+=At(e))),e._fullDepth=Math.max(h,p)),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var d=[0,1],g="number"==typeof e._shift?e._shift:0;if("x"===y){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?c-r.top:0,f),d.reverse()),r.width>0){var x=r.right-(e._offset+e._length);x>0&&(n.xr=1,n.r=x);var b=e._offset-r.left;b>0&&(n.xl=0,n.l=b)}}else if("l"===l?(e._depth=Math.max(r.height>0?c-r.left:0,f),n[l]=e._depth-g):(e._depth=Math.max(r.height>0?r.right-c:0,f),n[l]=e._depth+g,d.reverse()),r.height>0){var _=r.bottom-(e._offset+e._length);_>0&&(n.yb=0,n.b=_);var w=e._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[m]="free"===e.anchor?e.position:e._anchorAxis.domain[d[0]],e.title.text!==v._dfltTitle[y]&&(n[l]+=At(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[u]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[u]+=f),!0===e.mirror||"ticks"===e.mirror?i[m]=e._anchorAxis.domain[d[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(i[m]=[e._counterDomainMin,e._counterDomainMax][d[1]]))}ft&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),"string"==typeof e.automargin&&(_t(n,e.automargin),_t(i,e.automargin)),a.autoMargin(t,Et(e),n),a.autoMargin(t,Lt(e),i),a.autoMargin(t,Ct(e),s)})),s.syncOrAsync(ut)}}function ht(t){var r=g+(t||"tick");return S[r]||(S[r]=function(t,e,r){var n,i,a,o;if(t._selections[e].size())n=1/0,i=-1/0,a=1/0,o=-1/0,t._selections[e].each((function(){var t=St(this),e=h.bBox(t.node().parentNode);n=Math.min(n,e.top),i=Math.max(i,e.bottom),a=Math.min(a,e.left),o=Math.max(o,e.right)}));else{var s=H.makeLabelFns(t,r);n=i=s.yFn({dx:0,dy:0,fontSize:0}),a=o=s.xFn({dx:0,dy:0,fontSize:0})}return{top:n,bottom:i,left:a,right:o,height:i-n,width:o-a}}(e,r,T)),S[r]}},H.getTickSigns=function(t,e){var r=t._id.charAt(0),n={x:"top",y:"right"}[r],i=t.side===n?1:-1,a=[-1,1,i,-i];return"inside"!==(e?(t.minor||{}).ticks:t.ticks)==("x"===r)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},H.makeTransTickFn=function(t){return"x"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},H.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||"",r=function(t){return-1!==e.indexOf(t)},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var u=t.side,c=l?(t.tickwidth||0)/2:0,f=3,h=t.tickfont?t.tickfont.size:12;return(o||n)&&(c+=h*U,f+=(t.linewidth||0)/2),(i||a)&&(c+=(t.linewidth||0)/2,f+=3),s&&"top"===u&&(f-=h*(1-U)),(i||n)&&(c=-c),"bottom"!==u&&"right"!==u||(f=-f),[l?c:0,s?f:0]}(t),r=e[0],n=e[1];return"x"===t._id.charAt(0)?function(e){return l(r+t._offset+t.l2p(Tt(e)),n)}:function(e){return l(n,r+t._offset+t.l2p(Tt(e)))}},H.makeTickPath=function(t,e,r,n){n||(n={});var i=n.minor;if(i&&!t.minor)return"";var a=void 0!==n.len?n.len:i?t.minor.ticklen:t.ticklen,o=t._id.charAt(0),s=(t.linewidth||1)/2;return"x"===o?"M0,"+(e+s*r)+"v"+a*r:"M"+(e+s*r)+",0h"+a*r},H.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||"",a=function(t){return-1!==n.indexOf(t)},o=a("top"),l=a("left"),u=a("right"),c=a("bottom")||l||o||u,f=a("inside"),h="inside"===n&&"inside"===t.ticks||!f&&"outside"===t.ticks&&"boundaries"!==t.tickson,p=0,d=0,v=h?t.ticklen:0;if(f?v*=-1:c&&(v=0),h&&(p+=v,r)){var g=s.deg2rad(r);p=v*Math.cos(g)+1,d=v*Math.sin(g)}t.showticklabels&&(h||t.showline)&&(p+=.2*t.tickfont.size);var y,m,x,b,_,w={labelStandoff:p+=(t.linewidth||1)/2*(f?-1:1),labelShift:d},T=0,k=t.side,A=t._id.charAt(0),M=t.tickangle;if("x"===A)b=(_=!f&&"bottom"===k||f&&"top"===k)?1:-1,f&&(b*=-1),y=d*b,m=e+p*b,x=_?1:-.2,90===Math.abs(M)&&(f?x+=j:x=-90===M&&"bottom"===k?U:90===M&&"top"===k?j:.5,T=j/2*(M/90)),w.xFn=function(t){return t.dx+y+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*x},w.anchorFn=function(t,e){if(c){if(l)return"end";if(u)return"start"}return i(e)&&0!==e&&180!==e?e*b<0!==f?"end":"start":"middle"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side!==f?-n:0};else if("y"===A){if(b=(_=!f&&"left"===k||f&&"right"===k)?1:-1,f&&(b*=-1),y=p,m=d*b,x=0,f||90!==Math.abs(M)||(x=-90===M&&"left"===k||90===M&&"right"===k?U:.5),f){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*U*b,x=0}}w.xFn=function(t){return t.dx+e-(y+t.fontSize*x)*b+T*t.fontSize},w.yFn=function(t){return t.dy+m+t.fontSize*j},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?"middle":_?"end":"start"},w.heightFn=function(e,r,n){return"right"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},H.drawTicks=function(t,e,r){r=r||{};var i=e._id+"tick",a=[].concat(e.minor&&e.minor.ticks?r.vals.filter((function(t){return t.minor&&!t.noTick})):[]).concat(e.ticks?r.vals.filter((function(t){return!t.minor&&!t.noTick})):[]),o=r.layer.selectAll("path."+i).data(a,kt);o.exit().remove(),o.enter().append("path").classed(i,1).classed("ticks",1).classed("crisp",!1!==r.crisp).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.tickcolor:e.tickcolor)})).style("stroke-width",(function(r){return h.crispRound(t,r.minor?e.minor.tickwidth:e.tickwidth,1)+"px"})).attr("d",r.path).style("display",null),Ft(e,[R]),o.attr("transform",r.transFn)},H.drawGrid=function(t,e,r){if(r=r||{},"sync"!==e.tickmode){var i=e._id+"grid",a=e.minor&&e.minor.showgrid,o=a?r.vals.filter((function(t){return t.minor})):[],s=e.showgrid?r.vals.filter((function(t){return!t.minor})):[],l=r.counterAxis;if(l&&H.shouldShowZeroLine(t,e,l))for(var u="array"===e.tickmode,c=0;c=0;y--){var m=y?v:g;if(m){var x=m.selectAll("path."+i).data(y?s:o,kt);x.exit().remove(),x.enter().append("path").classed(i,1).classed("crisp",!1!==r.crisp),x.attr("transform",r.transFn).attr("d",r.path).each((function(t){return f.stroke(n.select(this),t.minor?e.minor.gridcolor:e.gridcolor||"#ddd")})).style("stroke-dasharray",(function(t){return h.dashStyle(t.minor?e.minor.griddash:e.griddash,t.minor?e.minor.gridwidth:e.gridwidth)})).style("stroke-width",(function(t){return(t.minor?d:e._gw)+"px"})).style("display",null),"function"==typeof r.path&&x.attr("d",r.path)}}Ft(e,[z,D])}},H.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",i=H.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(t,e){return Y(t.id,e.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(f.stroke,e.zerolinecolor||f.defaultLine).style("stroke-width",h.crispRound(t,e.zerolinewidth,e._gw||1)+"px").style("display",null),Ft(e,[I])},H.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,c=r.cls||o+"tick",f=r.vals.filter((function(t){return t.text})),p=r.labelFns,d=r.secondary?0:e.tickangle,v=(e._prevTickAngles||{})[c],g=r.layer.selectAll("g."+c).data(e.showticklabels?f:[],kt),y=[];function m(t,a){t.each((function(t){var o=n.select(this),s=o.select(".text-math-group"),c=p.anchorFn(t,a),f=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?" rotate("+a+","+p.xFn(t)+","+(p.yFn(t)-t.fontSize/2)+")":""),d=u.lineCount(o),v=V*t.fontSize,g=p.heightFn(t,i(a)?+a:0,(d-1)*v);if(g&&(f+=l(0,g)),s.empty()){var y=o.select("text");y.attr({transform:f,"text-anchor":c}),y.style("opacity",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var m=h.bBox(s.node()).width*{end:-.5,start:.5}[c];s.attr("transform",f+l(m,0))}}))}g.enter().append("g").classed(c,1).append("text").attr("text-anchor","middle").each((function(e){var r=n.select(this),i=t._promises.length;r.call(u.positionText,p.xFn(e),p.yFn(e)).call(h.font,{family:e.font,size:e.fontSize,color:e.fontColor,weight:e.fontWeight,style:e.fontStyle,variant:e.fontVariant}).text(e.text).call(u.convertToTspans,t),t._promises[i]?y.push(t._promises.pop().then((function(){m(r,d)}))):m(r,d)})),Ft(e,[F]),g.exit().remove(),r.repositionOnUpdate&&g.each((function(t){n.select(this).select("text").call(u.positionText,p.xFn(t),p.yFn(t))})),e._adjustTickLabelsOverflow=function(){var r=e.ticklabeloverflow;if(r&&"allow"!==r){var i=-1!==r.indexOf("hide"),o="x"===e._id.charAt(0),l=0,u=o?t._fullLayout.width:t._fullLayout.height;if(-1!==r.indexOf("domain")){var c=s.simpleMap(e.range,e.r2l);l=e.l2p(c[0])+e._offset,u=e.l2p(c[1])+e._offset}var f=Math.min(l,u),p=Math.max(l,u),d=e.side,v=1/0,y=-1/0;for(var m in g.each((function(t){var r=n.select(this);if(r.select(".text-math-group").empty()){var a=h.bBox(r.node()),s=0;o?(a.right>p||a.leftp||a.top+(e.tickangle?0:t.fontSize/4)e["_visibleLabelMin_"+r._id]?l.style("display","none"):"tick"!==t.K||i||l.style("display",null)}))}))}))}))},m(g,v+1?v:d);var x=null;e._selections&&(e._selections[c]=g);var b=[function(){return y.length&&Promise.all(y)}];e.automargin&&a._redrawFromAutoMarginCount&&90===v?(x=v,b.push((function(){m(g,v)}))):b.push((function(){if(m(g,d),f.length&&e.autotickangles&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){x=e.autotickangles[0];var t,n=0,i=[],a=1;g.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),o=St(this),s=h.bBox(o.node());a=Math.max(a,u.lineCount(o)),i.push({top:0,bottom:10,height:10,left:r-s.width/2,right:r+s.width/2+2,width:s.width+2})}));var o=("boundaries"===e.tickson||e.showdividers)&&!r.secondary,l=f.length,c=Math.abs((f[l-1].x-f[0].x)*e._m)/(l-1),p=o?c/2:c,v=o?e.ticklen:1.25*n*a,y=p/Math.sqrt(Math.pow(p,2)+Math.pow(v,2)),b=e.autotickangles.map((function(t){return t*Math.PI/180})),_=b.find((function(t){return Math.abs(Math.cos(t))<=y}));void 0===_&&(_=b.reduce((function(t,e){return Math.abs(Math.cos(t))j*N&&(P=N,E[S]=L[S]=O[S])}var U=Math.abs(P-C);U-k>0?k*=1+k/(U-=k):k=0,"y"!==e._id.charAt(0)&&(k=-k),E[M]=w.p2r(w.r2p(L[M])+A*k),"min"===w.autorange||"max reversed"===w.autorange?(E[0]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0):"max"!==w.autorange&&"min reversed"!==w.autorange||(E[1]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0),a._insideTickLabelsUpdaterange[w._name+".range"]=E}var q=s.syncOrAsync(b);return q&&q.then&&t._promises.push(q),q},H.getPxPosition=function(t,e){var r,n=t._fullLayout._size,i=e._id.charAt(0),a=e.side;return"free"!==e.anchor?r=e._anchorAxis:"x"===i?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:"y"===i&&(r={_offset:n.l+(e.position||0)*n.w+e._shift,_length:0}),"top"===a||"left"===a?r._offset:"bottom"===a||"right"===a?r._offset+r._length:void 0},H.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&("linear"===e.type||"-"===e.type)&&!(e.rangebreaks&&e.maskBreaks(0)===O)&&(Mt(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(i){var a=t._fullLayout,o=e._id.charAt(0),s=H.counterLetter(e._id),l=e._offset+(Math.abs(n[0])1)for(n=1;n2*o}(i,e))return"date";var g="strict"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=f(r),i=0,o=0,s={},c=0;c2*i}(i,g)?"category":function(t,e){for(var r=t.length,n=0;n=2){var s,u,c="";if(2===o.length)for(s=0;s<2;s++)if(u=_(o[s])){c=y;break}var f=i("pattern",c);if(f===y)for(s=0;s<2;s++)(u=_(o[s]))&&(e.bounds[s]=o[s]=u-1);if(f)for(s=0;s<2;s++)switch(u=o[s],f){case y:if(!n(u))return void(e.enabled=!1);if((u=+u)!==Math.floor(u)||u<0||u>=7)return void(e.enabled=!1);e.bounds[s]=o[s]=u;break;case m:if(!n(u))return void(e.enabled=!1);if((u=+u)<0||u>24)return void(e.enabled=!1);e.bounds[s]=o[s]=u}if(!1===r.autorange){var h=r.range;if(h[0]h[1])return void(e.enabled=!1)}else if(o[0]>h[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},e.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(" ")[0]},e.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},22416:function(t,e,r){"use strict";var n=r(38116).isTypedArraySpec;t.exports=function(t,e,r,i){if("category"===e.type){var a,o=t.categoryarray,s=Array.isArray(o)&&o.length>0||n(o);s&&(a="array");var l,u=r("categoryorder",a);"array"===u&&(l=r("categoryarray")),s||"array"!==u||(u=e.categoryorder="trace"),"trace"===u?e._initialCategories=[]:"array"===u?e._initialCategories=l.slice():(l=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?i.substr(n):a.substr(r))+o:i+a+t*e:o}function g(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;ou*x)||T)for(r=0;rI&&FP&&(P=F);h/=(P-C)/(2*O),C=l.l2r(C),P=l.l2r(P),l.range=l._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function N(t,e,r,n,i){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",u(r,n)).attr("d",i+"Z")}function j(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:f.background,stroke:f.defaultLine,"stroke-width":1,opacity:0}).attr("transform",u(e,r)).attr("d","M0,0Z")}function U(t,e,r,n,i,a){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),V(t,e,i,a)}function V(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function q(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function H(t){O&&t.data&&t._context.showTips&&(i.notifier(i._(t,"Double-click to zoom back out"),"long"),O=!1)}function G(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,P)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function W(t,e,r,n,a){for(var o,s,l,u,c=!1,f={},h={},p=(a||{}).xaHash,d=(a||{}).yaHash,v=0;v=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(q(i),2!==t||yt||Ht(),gt)o.indexOf("select")>-1&&S(r,i,K,J,e.id,Pt),o.indexOf("event")>-1&&p.click(i,r,e.id);else if(1===t&&yt){var s=v?I:O,u="s"===v||"w"===y?0:1,f=s._name+".range["+u+"]",h=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return"date"===t.type?n:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a("."+r+"g")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a("."+String(r)+"g")(n))}(s,u),d="left",g="middle";if(s.fixedrange)return;v?(g="n"===v?"top":"bottom","right"===s.side&&(d="right")):"e"===y&&(d="right"),i._context.showAxisRangeEntryBoxes&&n.select(bt).call(c.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(h),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:d,verticalAlign:g}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&l.call("_guiRelayout",i,f,e)}))}}}function zt(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(tt,pt*e+_t)),i=Math.max(0,Math.min(et,dt*r+wt)),a=Math.abs(n-_t),o=Math.abs(i-wt);function s(){St="",Tt.r=Tt.l,Tt.t=Tt.b,Lt.attr("d","M0,0Z")}if(Tt.l=Math.min(_t,n),Tt.r=Math.max(_t,n),Tt.t=Math.min(wt,i),Tt.b=Math.max(wt,i),rt.isSubplotConstrained)a>P||o>P?(St="xy",a/tt>o/et?(o=a*et/tt,wt>i?Tt.t=wt-o:Tt.b=wt+o):(a=o*tt/et,_t>n?Tt.l=_t-a:Tt.r=_t+a),Lt.attr("d",G(Tt))):s();else if(nt.isSubplotConstrained)if(a>P||o>P){St="xy";var l=Math.min(Tt.l/tt,(et-Tt.b)/et),u=Math.max(Tt.r/tt,(et-Tt.t)/et);Tt.l=l*tt,Tt.r=u*tt,Tt.b=(1-l)*et,Tt.t=(1-u)*et,Lt.attr("d",G(Tt))}else s();else!at||o0){var c;if(nt.isSubplotConstrained||!it&&1===at.length){for(c=0;c1&&(void 0!==a.maxallowed&&st===(a.range[0]1&&(void 0!==o.maxallowed&<===(o.range[0]b[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s),"sync"===e.tickmode&&(e.tickmode="auto")}return r("layer"),e}},42568:function(t,e,r){"use strict";var n=r(85024);t.exports=function(t,e,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(t);r("tickprefix")&&r("showtickprefix",s),r("ticksuffix",o)&&r("showticksuffix",s)}},96312:function(t,e,r){"use strict";var n=r(76808);t.exports=function(t,e,r,i){var a=e._template||{},o=e.type||a.type||"-";r("minallowed"),r("maxallowed");var s,l=r("range");l||i.noInsiderange||"log"===o||(!(s=r("insiderange"))||null!==s[0]&&null!==s[1]||(e.insiderange=!1,s=void 0),s&&(l=r("range",s)));var u,c=e.getAutorangeDflt(l,i),f=r("autorange",c);!l||(null!==l[0]||null!==l[1])&&(null!==l[0]&&null!==l[1]||"reversed"!==f&&!0!==f)&&(null===l[0]||"min"!==f&&"max reversed"!==f)&&(null===l[1]||"max"!==f&&"min reversed"!==f)||(l=void 0,delete e.range,e.autorange=!0,u=!0),u||(f=r("autorange",c=e.getAutorangeDflt(l,i))),f&&(n(r,f,l),"linear"!==o&&"-"!==o||r("rangemode")),e.cleanRange()}},21160:function(t,e,r){"use strict";var n=r(84284).FROM_BL;t.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},78344:function(t,e,r){"use strict";var n=r(33428),i=r(94336).E9,a=r(3400),o=a.numberFormat,s=r(38248),l=a.cleanNumber,u=a.ms2DateTime,c=a.dateTime2ms,f=a.ensureNumber,h=a.isArrayOrTypedArray,p=r(39032),d=p.FP_SAFE,v=p.BADNUM,g=p.LOG_CLIP,y=p.ONEWEEK,m=p.ONEDAY,x=p.ONEHOUR,b=p.ONEMIN,_=p.ONESEC,w=r(79811),T=r(33816),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}t.exports=function(t,e){e=e||{};var r=t._id||"x",p=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return v}function L(e,r,n,i){if((i||{}).msUTC&&s(e))return+e;var o=c(e,n||t.calendar);if(o===v){if(!s(e))return v;e=+e;var l=Math.floor(10*a.mod(e+.05,1)),u=Math.round(e-l/10);o=c(new Date(u))+l/10}return o}function C(e,r,n){return u(e,r,n||t.calendar)}function P(e){return t._categories[Math.round(e)]}function O(e){if(S(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return v}function I(e){if(t._categoriesMap)return t._categoriesMap[e]}function z(t){var e=I(t);return void 0!==e?e:s(t)?+t:void 0}function D(t){return s(t)?+t:I(t)}function R(t,e,r){return n.round(r+e*t,2)}function F(t,e,r){return(t-r)/e}var B=function(e){return s(e)?R(e,t._m,t._b):v},N=function(e){return F(e,t._m,t._b)};if(t.rangebreaks){var j="y"===p;B=function(e){if(!s(e))return v;var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,a=i*e,o=0,l=0;lc)){o=a<(u+c)/2?l:l+1;break}o=l+1}var f=t._B[o]||0;return isFinite(f)?R(e,t._m2,f):0},N=function(e){var r=t._rangebreaks.length;if(!r)return F(e,t._m,t._b);for(var n=0,i=0;it._rangebreaks[i].pmax&&(n=i+1);return F(e,t._m2,t._B[n])}}t.c2l="log"===t.type?E:f,t.l2c="log"===t.type?M:f,t.l2p=B,t.p2l=N,t.c2p="log"===t.type?function(t,e){return B(E(t,e))}:B,t.p2c="log"===t.type?function(t){return M(N(t))}:N,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=f,t.d2p=t.r2p=function(e){return t.l2p(l(e))},t.p2d=t.p2r=N,t.cleanPos=f):"log"===t.type?(t.d2r=t.d2l=function(t,e){return E(l(t),e)},t.r2d=t.r2c=function(t){return M(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=f,t.c2r=E,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(N(t))},t.r2p=function(e){return t.l2p(l(e))},t.p2r=N,t.cleanPos=f):"date"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=L,t.c2d=t.c2r=t.l2d=t.l2r=C,t.d2p=t.r2p=function(e,r,n){return t.l2p(L(e,0,n))},t.p2d=t.p2r=function(t,e,r){return C(N(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,v,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=O,t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=z,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=f,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:f(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=P,t.d2r=t.d2l_noadd=z,t.r2c=function(e){var r=z(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=I,t.l2r=t.c2r=f,t.r2l=z,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return P(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:f(t)},t.setupMultiCategory=function(n){var i,o,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var u in l)if(u!==r){var c=e[w.id2name(u)];s=s.concat(c._traceIndices)}var f=[[0,{}],[0,{}]],d=[];for(i=0;il[1]&&(i[s?0:1]=n),i[0]===i[1]){var u=t.l2r(r),c=t.l2r(n);if(void 0!==r){var f=u+1;void 0!==n&&(f=Math.min(f,c)),i[s?1:0]=f}if(void 0!==n){var h=c+1;void 0!==r&&(h=Math.max(h,u)),i[s?0:1]=h}}}},t.cleanRange=function(e,r){t._cleanRange(e,r),t.limitRange(e)},t._cleanRange=function(e,r){r||(r={}),e||(e="range");var n,i,o=a.nestedProperty(t,e).get();if(i=(i="date"===t.type?a.dfltRange(t.calendar):"y"===p?T.DFLTRANGEY:"realaxis"===t._name?[0,1]:r.dfltRange||T.DFLTRANGEX).slice(),"tozero"!==t.rangemode&&"nonnegative"!==t.rangemode||(i[0]=0),o&&2===o.length){var l=null===o[0],u=null===o[1];for("date"!==t.type||t.autorange||(o[0]=a.cleanDate(o[0],v,t.calendar),o[1]=a.cleanDate(o[1],v,t.calendar)),n=0;n<2;n++)if("date"===t.type){if(!a.isDateTime(o[n],t.calendar)){t[e]=i;break}if(t.r2l(o[0])===t.r2l(o[1])){var c=a.constrain(t.r2l(o[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);o[0]=t.l2r(c-1e3),o[1]=t.l2r(c+1e3);break}}else{if(!s(o[n])){if(l||u||!s(o[1-n])){t[e]=i;break}o[n]=o[1-n]*(n?10:.1)}if(o[n]<-d?o[n]=-d:o[n]>d&&(o[n]=d),o[0]===o[1]){var f=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=f,o[1]+=f}}}else a.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=w.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(a);var s,l,u=t.r2l(t[a][0],o),c=t.r2l(t[a][1],o),f="y"===p;if(f?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks&&(t._rangebreaks=t.locateBreaks(Math.min(u,c),Math.max(u,c)),t._rangebreaks.length)){for(s=0;sc&&(h=!h),h&&t._rangebreaks.reverse();var d=h?-1:1;for(t._m2=d*t._length/(Math.abs(c-u)-t._lBreaks),t._B.push(-t._m2*(f?c:u)),s=0;si&&(i+=7,oi&&(i+=24,o=n&&o=n&&e=s.min&&(ts.max&&(s.max=n),i=!1)}i&&u.push({min:t,max:n})}};for(n=0;nr.duration?(function(){for(var r={},n=0;n rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,u=i._length,c=l._length,f=!!e.xr1,h=!!e.yr1,p=[];if(f){var d=a.simpleMap(e.xr0,i.r2l),v=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],y=v[1]-v[0];p[0]=(d[0]*(1-r)+r*v[0]-d[0])/(d[1]-d[0])*u,p[2]=u*(1-r+r*y/g),i.range[0]=i.l2r(d[0]*(1-r)+r*v[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*v[1])}else p[0]=0,p[2]=u;if(h){var m=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),b=m[1]-m[0],_=x[1]-x[0];p[1]=(m[1]*(1-r)+r*x[1]-m[1])/(m[0]-m[1])*c,p[3]=c*(1-r+r*_/b),l.range[0]=i.l2r(m[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(m[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=c;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=f?u/p[2]:1,T=h?c/p[3]:1,k=f?p[0]:0,A=h?p[1]:0,M=f?p[0]/p[2]*u:0,S=h?p[1]/p[3]*c:0,E=i._offset-M,L=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,L).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},14944:function(t,e,r){"use strict";var n=r(24040).traceIs,i=r(52976);function a(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=a(t),i=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}t.exports=function(t,e,r,s){r("autotypenumbers",s.autotypenumbersDflt),"-"===r("type",(s.splomStash||{}).type)&&(function(t,e){if("-"===t.type){var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var u=function(t,e,r){for(var n=0;n0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,s,l);if(u)if("histogram"!==u.type||l!=={v:"y",h:"x"}[u.orientation||"v"]){var c=l+"calendar",f=u[c],h={noMultiCategory:!n(u,"cartesian")||n(u,"noMultiCategory")};if("box"===u.type&&u._hasPreCompStats&&l==={h:"x",v:"y"}[u.orientation||"v"]&&(h.noMultiCategory=!0),h.autotypenumbers=t.autotypenumbers,o(u,l)){var p=a(u),d=[];for(r=0;r0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}e.manageCommandObserver=function(t,r,n,o){var s={},l=!0;r&&r._commandObserver&&(s=r._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var u=e.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(r&&r._commandObserver){if(u)return s;if(r._commandObserver.remove)return r._commandObserver.remove(),r._commandObserver=null,s}if(u){a(t,u,s.cache),s.check=function(){if(l){var e=a(t,u,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:u.type,prop:u.prop,traces:u.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var c=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],f=0;f0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}t.exports=function(t){return new M(t)},S.plot=function(t,e,r,n){var i=this;if(n)return i.update(t,e,!0);i._geoCalcData=t,i._fullLayout=e;var a=e[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if("frame"!==l&&a["show"+l]){s=!0;break}for(var u=!1,c=0;c0&&o._module.calcGeoJSON(a,e)}if(!r){if(this.updateProjection(t,e))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(e,n),this.updateDims(e,n),this.updateFx(e,n),d.generalUpdatePerTraceModule(this.graphDiv,this,t,n);var s=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=s.selectAll(".point"),this.dataPoints.text=s.selectAll("text"),this.dataPaths.line=s.selectAll(".js-line");var l=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=l.selectAll("path"),this._render()},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,c=n.domain,f=n.projection,h=n.lonaxis,p=n.lataxis,d=h._ax,v=p._ax,y=this.projection=function(t){var e=t.projection,r=e.type,n=w.projNames[r];n="geo"+u.titleCase(n);for(var l=(i[n]||s[n])(),c=t._isSatellite?180*Math.acos(1/e.distance)/Math.PI:t._isClipped?w.lonaxisSpan[r]/2:null,f=["center","rotate","parallels","clipExtent"],h=function(t){return t?l:[]},p=0;pc*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(t){return l.getPath().bounds(t)},l.precision(w.precision),t._isSatellite&&l.tilt(e.tilt).distance(e.distance),c&&l.clipAngle(c-w.clipPad),l}(n),m=[[l.l+l.w*c.x[0],l.t+l.h*(1-c.y[1])],[l.l+l.w*c.x[1],l.t+l.h*(1-c.y[0])]],x=n.center||{},b=f.rotation||{},_=h.range||[],T=p.range||[];if(n.fitbounds){d._length=m[1][0]-m[0][0],v._length=m[1][1]-m[0][1],d.range=g(r,d),v.range=g(r,v);var k=(d.range[0]+d.range[1])/2,A=(v.range[0]+v.range[1])/2;if(n._isScoped)x={lon:k,lat:A};else if(n._isClipped){x={lon:k,lat:A},b={lon:k,lat:A,roll:b.roll};var M=f.type,S=w.lonaxisSpan[M]/2||180,L=w.lataxisSpan[M]/2||90;_=[k-S,k+S],T=[A-L,A+L]}else x={lon:k,lat:A},b={lon:k,lat:b.lat,roll:b.roll}}y.center([x.lon-b.lon,x.lat-b.lat]).rotate([-b.lon,-b.lat,b.roll]).parallels(f.parallels);var C=E(_,T);y.fitExtent(m,C);var P=this.bounds=y.getBounds(C),O=this.fitScale=y.scale(),I=y.translate();if(n.fitbounds){var z=y.getBounds(E(d.range,v.range)),D=Math.min((P[1][0]-P[0][0])/(z[1][0]-z[0][0]),(P[1][1]-P[0][1])/(z[1][1]-z[0][1]));isFinite(D)?y.scale(D*O):u.warn("Something went wrong during"+this.id+"fitbounds computations.")}else y.scale(f.scale*O);var R=this.midPt=[(P[0][0]+P[1][0])/2,(P[0][1]+P[1][1])/2];if(y.translate([I[0]+(R[0]-I[0]),I[1]+(R[1]-I[1])]).clipExtent(P),n._isAlbersUsa){var F=y([x.lon,x.lat]),B=y.translate();y.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(t){return"lonaxis"===t||"lataxis"===t}function l(t){return Boolean(w.lineLayers[t])}function u(t){return Boolean(w.fillLayers[t])}var c=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(t){return l(t)||u(t)?e["show"+t]:!s(t)||e[t].showgrid})),p=r.framework.selectAll(".layer").data(c,String);p.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),p.enter().append("g").attr("class",(function(t){return"layer "+t})).each((function(t){var e=a[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):s(t)?o[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):l(t)?o[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):u(t)&&(o[t]=e.append("path").style("stroke","none"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];"frame"===r?n.datum(w.sphereSVG):l(r)||u(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=w.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};v.setConvert(l,r);var u=v.calcTicks(l);e.isScoped||"lonaxis"!==t||u.pop();for(var c=u.length,f=new Array(c),h=0;h-1&&b(n.event,i,[r.xaxis],[r.yaxis],r.id,c),s.indexOf("event")>-1&&p.click(i,n.event))}))}function f(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},S.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",i),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(h.setClipUrl,i,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},v.setConvert(t.mockAxis,r)},S.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,"projection.scale":n.scale},e=t._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:t._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},u.extendFlat(this.viewInitial,e)},S.render=function(t){this._hasMarkerAngles&&t?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?c(r[0],r[1]):null}function i(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr("display",i).attr("transform",n)}},10816:function(t,e,r){"use strict";var n=r(84888).KY,i=r(3400).counterRegex,a=r(43520),o="geo",s=i(o),l={};l[o]={valType:"subplotid",dflt:o,editType:"calc"},t.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:r(40384),supplyLayoutDefaults:r(86920),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[o],s=0;s0&&P<0&&(P+=360);var O,I,z,D=(C+P)/2;if(!p){var R=d?f.projRotate:[D,0,0];O=r("projection.rotation.lon",R[0]),r("projection.rotation.lat",R[1]),r("projection.rotation.roll",R[2]),r("showcoastlines",!d&&x)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean",!!x&&void 0)&&r("oceancolor")}p?(I=-96.6,z=38.7):(I=d?D:O,z=(L[0]+L[1])/2),r("center.lon",I),r("center.lat",z),v&&(r("projection.tilt"),r("projection.distance")),g&&r("projection.parallels",f.projParallels||[0,60]),r("projection.scale"),r("showland",!!x&&void 0)&&r("landcolor"),r("showlakes",!!x&&void 0)&&r("lakecolor"),r("showrivers",!!x&&void 0)&&(r("rivercolor"),r("riverwidth")),r("showcountries",d&&"usa"!==c&&x)&&(r("countrycolor"),r("countrywidth")),("usa"===c||"north america"===c&&50===u)&&(r("showsubunits",x),r("subunitcolor"),r("subunitwidth")),d||r("showframe",x)&&(r("framecolor"),r("framewidth")),r("bgcolor"),r("fitbounds")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):y?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}t.exports=function(t,e,r){i(t,e,r,{type:"geo",attributes:s,handleDefaults:u,fullData:r,partition:"y"})}},79248:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(24040),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},u={cursor:"auto"};function c(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function f(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],u=o._fullLayout,c=u[n],f={},h={};function p(t,e){f[n+"."+t]=i.nestedProperty(l,t).get(),a.call("_storeDirectGUIEdit",s,u._preGUI,f);var r=i.nestedProperty(c,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),h[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",h)}function h(t,e){var r=c(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",(function(){n.select(this).style(l)})).on("zoom",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render(!0);var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})})).on("zoomend",(function(){n.select(this).style(u),f(t,e,i)})),r}function p(t,e){var r,i,a,o,s,h,p,d,v,g=c(0,e);function y(t){return e.invert(t)}function m(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=y(r)})).on("zoom",(function(){if(h=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return g.scale(e.scale()),void g.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?y(h)&&(d=y(h),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=y(r=h),v=!0,t.render(!0);var l=e.rotate(),u=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":u[0],"geo.center.lat":u[1],"geo.projection.rotation.lon":-l[0]})})).on("zoomend",(function(){n.select(this).style(u),v&&f(t,e,m)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=c(0,e),h=function(t){for(var e=0,r=arguments.length,i=[];++ed?(a=(f>0?90:-90)-p,i=0):(a=Math.asin(f/d)*s-p,i=Math.sqrt(d*d-f*f));var v=180-a-2*p,y=(Math.atan2(h,c)-Math.atan2(u,i))*s,x=(Math.atan2(h,c)-Math.atan2(u,-i))*s;return g(r[0],r[1],a,y)<=g(r[0],r[1],v,x)?[a,y,r[2]]:[v,x,r[2]]}(T,r,E);isFinite(k[0])&&isFinite(k[1])&&isFinite(k[2])||(k=E),e.rotate(k),E=k}}else r=v(e,M=b);h.of(this,arguments)({type:"zoom"})})),A=h.of(this,arguments),p++||A({type:"zoomstart"})})).on("zoomend",(function(){var r;n.select(this).style(u),d.call(a,"zoom",null),r=h.of(this,arguments),--p||r({type:"zoomend"}),f(t,e,y)})).on("zoom.redraw",(function(){t.render(!0);var r=e.rotate();t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})})),n.rebind(a,h,"on")}function v(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=y(r-t),a=y(n-e);return Math.sqrt(i*i+a*a)}function y(t){return(t%360+540)%360-180}function m(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),u=Math.sin(n);return i[a]=t[a]*l-t[s]*u,i[s]=t[s]*l+t[a]*u,i}function x(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(u.boxEnd[1]=u.boxStart[1]+Math.abs(a)*_*(s>=0?1:-1),u.boxEnd[1]l[3]&&(u.boxEnd[1]=l[3],u.boxEnd[0]=u.boxStart[0]+(l[3]-u.boxStart[1])/Math.abs(_))):(u.boxEnd[0]=u.boxStart[0]+Math.abs(s)/_*(a>=0?1:-1),u.boxEnd[0]l[2]&&(u.boxEnd[0]=l[2],u.boxEnd[1]=u.boxStart[1]+(l[2]-u.boxStart[0])*Math.abs(_)))}}else u.boxEnabled?(a=u.boxStart[0]!==u.boxEnd[0],s=u.boxStart[1]!==u.boxEnd[1],a||s?(a&&(g(0,u.boxStart[0],u.boxEnd[0]),t.xaxis.autorange=!1),s&&(g(1,u.boxStart[1],u.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),u.boxEnabled=!1,u.boxInited=!1):u.boxInited&&(u.boxInited=!1);break;case"pan":u.boxEnabled=!1,u.boxInited=!1,e?(u.panning||(u.dragStart[0]=n,u.dragStart[1]=i),Math.abs(u.dragStart[0]-n).999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}t.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:c,attributes:l,handleDefaults:f,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},346:function(t,e,r){"use strict";var n=r(86140),i=r(86968).u,a=r(92880).extendFlat,o=r(3400).counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}t.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:i({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},9020:function(t,e,r){"use strict";var n=r(43080),i=["xaxis","yaxis","zaxis"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},t.exports=function(t){var e=new a;return e.merge(t),e}},87152:function(t,e,r){"use strict";t.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],u=0;u<3;++u){var c=s[a[u]];if(c._length=(r[u].hi-r[u].lo)*r[u].pixelsPerDataUnit/t.dataScale[u],Math.abs(c._length)===1/0||isNaN(c._length))l[u]=[];else{c._input_range=c.range.slice(),c.range[0]=r[u].lo/t.dataScale[u],c.range[1]=r[u].hi/t.dataScale[u],c._m=1/(t.dataScale[u]*r[u].pixelsPerDataUnit),c.range[0]===c.range[1]&&(c.range[0]-=1,c.range[1]+=1);var f=c.tickmode;if("auto"===c.tickmode){c.tickmode="linear";var h=c.nticks||i.constrain(c._length/40,4,9);n.autoTicks(c,Math.abs(c.range[1]-c.range[0])/h)}for(var p=n.calcTicks(c,{msUTC:!0}),d=0;d/g," "));l[u]=p,c.tickmode=f}}for(e.ticks=l,u=0;u<3;++u)for(o[u]=.5*(t.glplot.bounds[0][u]+t.glplot.bounds[1][u]),d=0;d<2;++d)e.bounds[d][u]=t.glplot.bounds[d][u];t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;ar.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!u&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},k.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),b(e),e.glplot.axes.update(e.axesOptions);for(var u=Object.keys(e.traces),c=null,h=e.glplot.selection,v=0;v")):"isosurface"===t.type||"volume"===t.type?(k.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(h.traceCoordinate[3]),t.valuehoverformat),E.push("value: "+k.valueLabel),h.textLabel&&E.push(h.textLabel),x=E.join("
")):x=h.textLabel;var L={x:h.traceCoordinate[0],y:h.traceCoordinate[1],z:h.traceCoordinate[2],data:_._input,fullData:_,curveNumber:_.index,pointNumber:T};d.appendArrayPointValue(L,_,T),t._module.eventData&&(L=_._module.eventData(L,h,_,{},T));var C={points:[L]};if(e.fullSceneLayout.hovermode){var P=[];d.loneHover({trace:_,x:(.5+.5*m[0]/m[3])*s,y:(.5-.5*m[1]/m[3])*l,xLabel:k.xLabel,yLabel:k.yLabel,zLabel:k.zLabel,text:x,name:c.name,color:d.castHoverOption(_,T,"bgcolor")||c.color,borderColor:d.castHoverOption(_,T,"bordercolor"),fontFamily:d.castHoverOption(_,T,"font.family"),fontSize:d.castHoverOption(_,T,"font.size"),fontColor:d.castHoverOption(_,T,"font.color"),nameLength:d.castHoverOption(_,T,"namelength"),textAlign:d.castHoverOption(_,T,"align"),hovertemplate:f.castOption(_,T,"hovertemplate"),hovertemplateLabels:f.extendFlat({},L,k),eventData:[L]},{container:n,gd:r,inOut_bbox:P}),L.bbox=P[0]}h.distance<5&&(h.buttons||w)?r.emit("plotly_click",C):r.emit("plotly_hover",C),this.oldEventData=C}else d.loneUnhover(n),this.oldEventData&&r.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},k.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):f.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var M=["xaxis","yaxis","zaxis"];function S(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=M[i],o=a.charAt(0),s=n[a],l=e[o],u=e[o+"calendar"],c=e["_"+o+"length"];if(f.isArrayOrTypedArray(l))for(var h,p=0;p<(c||l.length);p++)if(f.isArrayOrTypedArray(l[p]))for(var d=0;dy[1][o])y[0][o]=-1,y[1][o]=1;else{var O=y[1][o]-y[0][o];y[0][o]-=O/32,y[1][o]+=O/32}if(b=[y[0][o],y[1][o]],b=_(b,l),y[0][o]=b[0],y[1][o]=b[1],l.isReversed()){var I=y[0][o];y[0][o]=y[1][o],y[1][o]=I}}else b=l.range,y[0][o]=l.r2l(b[0]),y[1][o]=l.r2l(b[1]);y[0][o]===y[1][o]&&(y[0][o]-=1,y[1][o]+=1),m[o]=y[1][o]-y[0][o],l.range=[y[0][o],y[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*p[o],max:l.range[1]*p[o]})}var z=c.aspectmode;if("cube"===z)g=[1,1,1];else if("manual"===z){var D=c.aspectratio;g=[D.x,D.y,D.z]}else{if("auto"!==z&&"data"!==z)throw new Error("scene.js aspectRatio was not one of the enumerated types");var R=[1,1,1];for(o=0;o<3;++o){var F=x[u=(l=c[M[o]]).type];R[o]=Math.pow(F.acc,1/F.count)/p[o]}g="data"===z||Math.max.apply(null,R)/Math.min.apply(null,R)<=4?R:[1,1,1]}c.aspectratio.x=f.aspectratio.x=g[0],c.aspectratio.y=f.aspectratio.y=g[1],c.aspectratio.z=f.aspectratio.z=g[2],n.glplot.setAspectratio(c.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:c.aspectratio.x,y:c.aspectratio.y,z:c.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=c.aspectmode);var B=c.domain||null,N=e._size||null;if(B&&N){var j=n.container.style;j.position="absolute",j.left=N.l+B.x[0]*N.w+"px",j.top=N.t+(1-B.y[1])*N.h+"px",j.width=N.w*(B.x[1]-B.x[0])+"px",j.height=N.h*(B.y[1]-B.y[0])+"px"}n.glplot.redraw()}},k.destroy=function(){var t=this;t.glplot&&(t.camera.mouseListener.enabled=!1,t.container.removeEventListener("wheel",t.camera.wheelListener),t.camera=null,t.glplot.dispose(),t.container.parentNode.removeChild(t.container),t.glplot=null)},k.getCamera=function(){var t,e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),{up:{x:(t=e.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},k.setViewport=function(t){var e,r=this,n=t.camera;r.camera.lookAt.apply(this,[[(e=n).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),r.glplot.setAspectratio(t.aspectratio),"orthographic"===n.projection.type!==r.camera._ortho&&(r.glplot.redraw(),r.glplot.clearRGBA(),r.glplot.dispose(),r.initializeGLPlot())},k.isCameraChanged=function(t){var e=this.getCamera(),r=f.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},k.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=f.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},k.saveLayout=function(t){var e,r,n,i,a,o,s=this,l=s.fullLayout,u=s.isCameraChanged(t),h=s.isAspectChanged(t),p=u||h;if(p){var d={};u&&(e=s.getCamera(),n=(r=f.nestedProperty(t,s.id+".camera")).get(),d[s.id+".camera"]=n),h&&(i=s.glplot.getAspectratio(),o=(a=f.nestedProperty(t,s.id+".aspectratio")).get(),d[s.id+".aspectratio"]=o),c.call("_storeDirectGUIEdit",t,l._preGUI,d),u&&(r.set(e),f.nestedProperty(l,s.id+".camera").set(e)),h&&(a.set(i),f.nestedProperty(l,s.id+".aspectratio").set(i),s.glplot.redraw())}return p},k.updateFx=function(t,e){var r=this,n=r.camera;if(n)if("orbit"===t)n.mode="orbit",n.keyBindingMode="rotate";else if("turntable"===t){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,u=o.up.z;if(u/Math.sqrt(s*s+l*l+u*u)<.999){var h=r.id+".camera.up",p={x:0,y:0,z:1},d={};d[h]=p;var v=i.layout;c.call("_storeDirectGUIEdit",v,a._preGUI,d),o.up=p,f.nestedProperty(v,h).set(p)}}else n.keyBindingMode=t;r.fullSceneLayout.hovermode=e},k.toImage=function(t){var e=this;t||(t="png"),e.staticMode&&e.container.appendChild(n),e.glplot.redraw();var r=e.glplot.gl,i=r.drawingBufferWidth,a=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);r.readPixels(0,0,i,a,r.RGBA,r.UNSIGNED_BYTE,o),function(t,e,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(o,i,a);var s=document.createElement("canvas");s.width=i,s.height=a;var l,u=s.getContext("2d",{willReadFrequently:!0}),c=u.createImageData(i,a);switch(c.data.set(o),u.putImageData(c,0,0),t){case"jpeg":l=s.toDataURL("image/jpeg");break;case"webp":l=s.toDataURL("image/webp");break;default:l=s.toDataURL("image/png")}return e.staticMode&&e.container.removeChild(n),l},k.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[M[t]];p.setConvert(e,this.fullLayout),e.setScale=f.noop}},k.make4thDimension=function(){var t=this,e=t.graphDiv._fullLayout;t._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},p.setConvert(t._mockAxis,e)},t.exports=T},52094:function(t){"use strict";t.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;aOpenStreetMap contributors',o=['© Carto',a].join(" "),s=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),l={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:a,tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:o,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:o,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:s,tiles:["https://tiles.stadiamaps.com/tiles/stamen_terrain/{z}/{x}/{y}.png?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:s,tiles:["https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}.png?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),tiles:["https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.jpg?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"}},u=n(l);t.exports={requiredVersion:i,styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:l,styleValuesNonMapbox:u,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install @plotly/mapbox-gl@"+i+"."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:"," Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join("\n"),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",u.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join("\n"),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')'}}},89032:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,u=["",""],c=[0,0];switch(i){case"top":u[0]="top",c[1]=-l;break;case"bottom":u[0]="bottom",c[1]=l}switch(a){case"left":u[1]="right",c[0]=-s;break;case"right":u[1]="left",c[0]=s}return{anchor:u[0]&&u[1]?u.join("-"):u[0]?u[0]:u[1]?u[1]:"center",offset:c}}},33688:function(t,e,r){"use strict";var n=r(3480),i=r(3400),a=i.strTranslate,o=i.strScale,s=r(84888).KY,l=r(9616),u=r(33428),c=r(43616),f=r(72736),h=r(14440),p="mapbox",d=e.constants=r(47552);function v(t){return"string"==typeof t&&(-1!==d.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://")||0===t.indexOf("stamen"))}e.name=p,e.attr="subplot",e.idRoot=p,e.idRegex=e.attrRegex=i.counterRegex(p),e.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},e.layoutAttributes=r(5232),e.supplyLayoutDefaults=r(5976),e.plot=function(t){var e=t._fullLayout,r=t.calcdata,a=e._subplots[p];if(n.version!==d.requiredVersion)throw new Error(d.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],a=[],o=!1,s=!1,l=0;l1&&i.warn(d.multipleTokensErrorMsg),n[0]):(a.length&&i.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,a);n.accessToken=o;for(var l=0;lw/2){var T=m.split("|").join("
");b.text(T).attr("data-unformatted",T).call(f.convertToTspans,t),_=c.bBox(b.node())}b.attr("transform",a(-3,8-_.height)),x.insert("rect",".static-attribution").attr({x:-_.width-6,y:-_.height-3,width:_.width+6,height:_.height+3,fill:"rgba(255, 255, 255, 0.75)"});var k=1;_.width+6>w&&(k=w/(_.width+6));var A=[n.l+n.w*h.x[1],n.t+n.h*(1-h.y[0])];x.attr("transform",a(A[0],A[1])+o(k))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots[p],n=0;n0){for(var r=0;r0}function c(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=u(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,u(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if("traces"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf("event")>-1&&u.click(n,e.originalEvent)}}},b.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[u([r.xmin,r.ymin]),u([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(u)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),h(o)||f(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener("touchstart",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function u(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},b.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},b.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),l=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",(function(){w.sendDataToCloud(t)}));else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?" - ":"")}},w.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=w.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var A=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],M=["year","month","dayMonth","dayMonthYear"];function S(t,e){var r=t._context.locale;r||(r="en-US");var n=!1,i={};function a(t){for(var r=!0,a=0;a1&&z.length>1){for(l.getComponentMethod("grid","sizeDefaults")(u,s),o=0;o15&&z.length>15&&0===s.shapes.length&&0===s.images.length,w.linkSubplots(h,s,c,n),w.cleanPlot(h,s,c,n);var N=!(!n._has||!n._has("gl2d")),j=!(!s._has||!s._has("gl2d")),U=!(!n._has||!n._has("cartesian"))||N,V=!(!s._has||!s._has("cartesian"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(s._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&v({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i0){var c=1-2*s;n=Math.round(c*n),i=Math.round(c*i)}}var h=w.layoutAttributes.width.min,p=w.layoutAttributes.height.min;n1,v=!e.height&&Math.abs(r.height-i)>1;(v||d)&&(d&&(r.width=n),v&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),w.sanitizeMargins(r)},w.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=l.componentsRegistry,u=e._basePlotModules,c=l.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var h in u.length||u.push(c),e._has("cartesian")&&(l.getComponentMethod("grid","contentDefaults")(t,e),c.finalizeSubplots(t,e)),e._subplots)e._subplots[h].sort(f.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(p){var m=(r.t+r.b)/p;m>1&&(r.t/=m,r.b/=m)}var x=void 0!==r.xl?r.xl:r.x,b=void 0!==r.xr?r.xr:r.x,_=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[e]={l:{val:x,size:r.l+g},r:{val:b,size:r.r+g},b:{val:T,size:r.b+g},t:{val:_,size:r.t+g}},v[e]=1}else delete d[e],delete v[e];if(!n._replotting)return w.doAutoMargin(t)}},w.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),O(e);var i=e._size,a=e.margin,s={t:0,b:0,l:0,r:0},u=f.extendFlat({},i),c=a.l,h=a.r,p=a.t,v=a.b,g=e._pushmargin,y=e._pushmarginIds,m=e.minreducedwidth,x=e.minreducedheight;if(!1!==a.autoexpand){for(var b in g)y[b]||delete g[b];var _=t._fullLayout._reservedMargin;for(var T in _)for(var k in _[T]){var A=_[T][k];s[k]=Math.max(s[k],A)}for(var M in g.base={l:{val:0,size:c},r:{val:1,size:h},t:{val:1,size:p},b:{val:0,size:v}},s){var S=0;for(var E in g)"base"!==E&&o(g[E][M].size)&&(S=g[E][M].size>S?g[E][M].size:S);var L=Math.max(0,a[M]-S);s[M]=Math.max(0,s[M]-L)}for(var C in g){var P=g[C].l||{},I=g[C].b||{},z=P.val,D=P.size,R=I.val,F=I.size,B=r-s.r-s.l,N=n-s.t-s.b;for(var j in g){if(o(D)&&g[j].r){var U=g[j].r.val,V=g[j].r.size;if(U>z){var q=(D*U+(V-B)*z)/(U-z),H=(V*(1-z)+(D-B)*(1-U))/(U-z);q+H>c+h&&(c=q,h=H)}}if(o(F)&&g[j].t){var G=g[j].t.val,W=g[j].t.size;if(G>R){var Y=(F*G+(W-N)*R)/(G-R),X=(W*(1-R)+(F-N)*(1-G))/(G-R);Y+X>v+p&&(v=Y,p=X)}}}}}var Z=f.constrain(r-a.l-a.r,2,m),K=f.constrain(n-a.t-a.b,2,x),J=Math.max(0,r-Z),$=Math.max(0,n-K);if(J){var Q=(c+h)/J;Q>1&&(c/=Q,h/=Q)}if($){var tt=(v+p)/$;tt>1&&(v/=tt,p/=tt)}if(i.l=Math.round(c)+s.l,i.r=Math.round(h)+s.r,i.t=Math.round(p)+s.t,i.b=Math.round(v)+s.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&(w.didMarginChange(u,i)||function(t){if("_redrawFromAutoMarginCount"in t._fullLayout)return!1;var e=d.list(t,"",!0);for(var r in e)if(e[r].autoshift||e[r].shift)return!0;return!1}(t))){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var et=3*(1+Object.keys(y).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return l.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var a=0,o=0;function s(){return a++,function(){var e;o++,n||o!==a||(e=i,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return l.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)))}}r.runFn(s),setTimeout(s())}))}],a=f.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}w.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},w.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&w.supplyDefaults(t);var o=i?t._fullData:t.data,l=i?t._fullLayout:t.layout,u=(t._transitionData||{})._frames;function c(t,e){if("function"==typeof t)return e?"_function_":null;if(f.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0)))if("function"!=typeof t[a]){if("keepdata"===r){if("src"===a.substr(a.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0&&!f.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0)return;i[a]=c(t[a],e)}else e&&(i[a]="_function")})),i}var a=Array.isArray(t),o=f.isTypedArray(t);if((a||o)&&t.dtype&&t.shape){var l=t.bdata;return c({dtype:t.dtype,shape:t.shape,bdata:f.isArrayBuffer(l)?s.encode(l):l},e)}return a?t.map((function(t){return c(t,e)})):o?f.simpleMap(t,f.identity):f.isJSDate(t)?f.ms2DateTimeLocal(+t):t}var h={data:(o||[]).map((function(t){var r=c(t);return e&&delete r.fit,r}))};if(!e&&(h.layout=c(l),i)){var p=l._size;h.layout.computed={margin:{b:p.b,l:p.l,r:p.r,t:p.t}}}return u&&(h.frames=c(u)),a&&(h.config=c(t._context,!0)),"object"===n?h:JSON.stringify(h)},w.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;a--)if(l[a].enabled){r._indexToPoints=l[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:p,y:p}]),o[0].t||(o[0].t={}),o[0].trace=r,h[e]=o}}for(R(o,s,c),i=0;i1e-10?t:0}function h(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:u,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),u=(-o+l)/(2*a),c=(-o-l)/(2*a);return[[u,e*u+i+n],[c,e*c+i+n]]},clampTiny:f,pathPolygon:function(t,e,r,n,i,a){return"M"+h(c(t,e,r,n),i,a).join("L")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t=90||i>90&&a>=450?1:s<=0&&u<=0?0:Math.max(s,u),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&u>=0?0:Math.min(s,u),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),e]}(d),_=b[2]-b[0],w=b[3]-b[1],T=p/h,k=Math.abs(w/_);T>k?(v=h,x=(p-(g=h*k))/i.h/2,y=[s[0],s[1]],m=[f[0]+x,f[1]-x]):(g=p,x=(h-(v=p/k))/i.w/2,y=[s[0]+x,s[1]-x],m=[f[0],f[1]]),r.xLength2=v,r.yLength2=g,r.xDomain2=y,r.yDomain2=m;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-m[1]),E=r.radius=v/_,L=r.innerRadius=r.getHole(e)*E,C=r.cx=M-E*b[0],P=r.cy=S+E*b[3],O=r.cxx=C-M,I=r.cyy=P-S,z=a.side;"counterclockwise"===z?(A=z,z="top"):"clockwise"===z&&(A=z,z="bottom"),r.radialAxis=r.mockAxis(t,e,a,{_id:"x",side:z,_trueSide:A,domain:[L/i.w,E/i.w]}),r.angularAxis=r.mockAxis(t,e,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(t,e),r.updateAngularAxis(t,e),r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.xaxis=r.mockCartesianAxis(t,e,{_id:"x",domain:y}),r.yaxis=r.mockCartesianAxis(t,e,{_id:"y",domain:m});var F=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",F).attr("transform",l(O,I)),n.frontplot.attr("transform",l(M,S)).call(c.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",F).attr("transform",l(C,P)).call(u.fill,e.bgcolor)},N.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},N.mockCartesianAxis=function(t,e,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:"linear"},r);p(s,t);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var t=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(e));s.range=[t[r[0]]*o,t[r[1]]*o]},s.isPtWithinRange="x"!==a||i?function(){return!0}:function(t){return n.isPtInside(t)},s.setRange(),s.setScale(),s},N.doAutoRange=function(t,e){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(e);v(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")],void 0!==i.minallowed){var s=i.r2l(i.minallowed);i._rl[0]>i._rl[1]?i._rl[1]=Math.max(i._rl[1],s):i._rl[0]=Math.max(i._rl[0],s)}if(void 0!==i.maxallowed){var l=i.r2l(i.maxallowed);i._rl[0]90&&v<=270&&(g.tickangle=180);var x=m?function(t){var e=I(r,C([t.x,0]));return l(e[0]-f,e[1]-p)}:function(t){return l(g.l2p(t.x)+c,0)},b=m?function(t){return O(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+c)},_=j(d);if(r.radialTickLayout!==_&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=_),y){g.setScale();var w=0,T=m?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return h.tickText(g,t,!0,!1)})):h.calcTicks(g),k=m?T:h.clipEnds(g,T),A=h.getTickSigns(g)[2];m&&(("top"===g.ticks&&"bottom"===g.side||"bottom"===g.ticks&&"top"===g.side)&&(A=-A),"top"===g.ticks&&"top"===g.side&&(w=-g.ticklen),"bottom"===g.ticks&&"bottom"===g.side&&(w=g.ticklen)),h.drawTicks(n,g,{vals:T,layer:i["radial-axis"],path:h.makeTickPath(g,0,A),transFn:x,crisp:!1}),h.drawGrid(n,g,{vals:k,layer:i["radial-grid"],path:b,transFn:o.noop,crisp:!1}),h.drawLabels(n,g,{vals:T,layer:i["radial-axis"],transFn:x,labelFns:h.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(f,p),E=S+s(-M);V(i["radial-axis"],y&&(d.showticklabels||d.ticks),{transform:E}),V(i["radial-grid"],y&&d.showgrid,{transform:m?"":S}),V(i["radial-line"].select("line"),y&&d.showline,{x1:m?-a:c,y1:0,x2:a,y2:0,transform:E}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateRadialAxisTitle=function(t,e,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(e),u=n.id+"title",f=0;if(l.title){var h=c.bBox(n.layers["radial-axis"].node()).height,p=l.title.font.size,d=l.side;f="top"===d?p:"counterclockwise"===d?-(h+.4*p):h+.8*p}var v=void 0!==r?r:n.radialAxisAngle,g=R(v),y=Math.cos(g),m=Math.sin(g),b=o+a/2*y+f*m,_=s-a/2*m+f*y;n.layers["radial-axis-title"]=x.draw(i,u,{propContainer:l,propName:n.id+".radialaxis.title",placeholder:z(i,"Click to enter radial axis title"),attributes:{x:b,y:_,"text-anchor":"middle"},transform:{rotate:-v}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,c=r.innerRadius,f=r.cx,p=r.cy,d=r.getAngular(e),v=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey("angularaxis.rotation",d.rotation),v.setGeometry(),v.setScale());var y=g?function(t){var e=I(r,C([0,t.x]));return Math.atan2(e[0]-f,e[1]-p)-Math.PI/2}:function(t){return v.t2g(t.x)};"linear"===v.type&&"radians"===v.thetaunit&&(v.tick0=F(v.tick0),v.dtick=F(v.dtick));var m=function(t){return l(f+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=I(r,C([0,t.x]));return l(e[0],e[1])}:function(t){return m(y(t))},b=g?function(t){var e=I(r,C([0,t.x])),n=Math.atan2(e[0]-f,e[1]-p)-Math.PI/2;return l(e[0],e[1])+s(-F(n))}:function(t){var e=y(t);return m(e)+s(-F(e))},_=g?function(t){return P(r,t.x,0,1/0)}:function(t){var e=y(t),r=Math.cos(e),n=Math.sin(e);return"M"+[f+c*r,p-c*n]+"L"+[f+a*r,p-a*n]},w=h.makeLabelFns(v,0).labelStandoff,T={xFn:function(t){var e=y(t);return Math.cos(e)*w},yFn:function(t){var e=y(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(w+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*M)},anchorFn:function(t){var e=y(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=y(t);return-.5*(1+Math.sin(n))*r}},k=j(d);r.angularTickLayout!==k&&(i["angular-axis"].selectAll("."+v._id+"tick").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(v.tickvals||[]).map((function(t){return h.tickText(v,t,!0,!1)})):h.calcTicks(v);if(g&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===e.gridshape?(A=S.map(y),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,"category"===v.type&&(S=S.filter((function(t){return o.isAngleInsideSector(y(t),r.sectorInRad)}))),v.visible){var E="inside"===v.ticks?-1:1,L=(v.linewidth||1)/2;h.drawTicks(n,v,{vals:S,layer:i["angular-axis"],path:"M"+E*L+",0h"+E*v.ticklen,transFn:b,crisp:!1}),h.drawGrid(n,v,{vals:S,layer:i["angular-grid"],path:_,transFn:o.noop,crisp:!1}),h.drawLabels(n,v,{vals:S,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:x,labelFns:T})}V(i["angular-line"].select("path"),d.showline,{d:r.pathSubplot(),transform:l(f,p)}).attr("stroke-width",d.linewidth).call(u.stroke,d.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1)),this.updateHoverAndMainDrag(t))},N.updateHoverAndMainDrag=function(t){var e,r,s=this,u=s.isSmith,c=s.gd,f=s.layers,h=t._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,v=s.radius,x=s.innerRadius,T=s.cx,k=s.cy,A=s.cxx,M=s.cyy,L=s.sectorInRad,C=s.vangles,P=s.radialAxis,O=E.clampTiny,I=E.findXYatLength,z=E.findEnclosingVertexAngles,D=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(f,"path","maindrag",!1===t.dragmode?"none":"crosshair");n.select(F).attr("d",s.pathSubplot()).attr("transform",l(T,k)),F.onmousemove=function(t){m.hover(c,t,s.id),c._fullLayout._lasthover=F,c._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){c._dragging||y.unhover(c,t)};var B,N,j,U,V,q,H,G,W,Y={element:F,gd:c,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function X(t,e){return Math.sqrt(t*t+e*e)}function Z(t,e){return X(t-A,e-M)}function K(t,e){return Math.atan2(M-e,t-A)}function J(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function $(t,e){if(0===t)return s.pathSector(2*D);var r=R/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,v)),o=a-D,l=a+D;return"M"+J(o,n)+"A"+[o,o]+" 0,0,0 "+J(o,i)+"L"+J(l,i)+"A"+[l,l]+" 0,0,1 "+J(l,n)+"Z"}function Q(t,e,r){if(0===t)return s.pathSector(2*D);var n,i,a=J(t,e),o=J(t,r),l=O((a[0]+o[0])/2),u=O((a[1]+o[1])/2);if(l&&u){var c=u/l,f=-1/c,h=I(D,c,l,u);n=I(R,f,h[0][0],h[0][1]),i=I(R,f,h[1][0],h[1][1])}else{var p,d;u?(p=R,d=D):(p=D,d=R),n=[[l-p,u-d],[l+p,u-d]],i=[[l-p,u+d],[l+p,u+d]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function tt(t,e){return e=Math.max(Math.min(e,v),x),tp?(t-1&&1===t&&_(e,c,[s.xaxis],[s.yaxis],s.id,Y),r.indexOf("event")>-1&&m.click(c,e,s.id)}Y.prepFn=function(t,n,a){var l=c._fullLayout.dragmode,f=F.getBoundingClientRect();c._fullLayout._calcInverseTransform(c);var p=c._fullLayout._invTransform;e=c._fullLayout._invScaleX,r=c._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-f.left,a-f.top);if(B=d[0],N=d[1],C){var y=E.findPolygonOffset(v,L[0],L[1],C);B+=A+y[0],N+=M+y[1]}switch(l){case"zoom":Y.clickFn=st,u||(Y.moveFn=C?it:rt,Y.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),q=!1;var t=c._fullLayout[s.id];H=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(h,H,T,k,V)).attr("fill-rule","evenodd"),W=g.makeCorners(h,T,k),w(c)}());break;case"select":case"lasso":b(t,n,a,Y,l)}},y.init(Y)},N.updateRadialDrag=function(t,e,r){var i=this,u=i.gd,c=i.layers,f=i.radius,h=i.innerRadius,p=i.cx,d=i.cy,v=i.radialAxis,m=S.radialDragBoxSize,x=m/2;if(v.visible){var b,_,T,M=R(i.radialAxisAngle),E=v._rl,L=E[0],C=E[1],P=E[r],O=.75*(E[1]-E[0])/(1-i.getHole(e))/f;r?(b=p+(f+x)*Math.cos(M),_=d-(f+x)*Math.sin(M),T="radialdrag"):(b=p+(h-x)*Math.cos(M),_=d-(h-x)*Math.sin(M),T="radialdrag-inner");var I,z,D,B=g.makeRectDragger(c,T,"crosshair",-x,-x,m,m),N={element:B,gd:u};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),v.visible&&h0==(r?D>L:Dn?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,r){var n,i,a=e[r],o=e._length,s=function(r){return t.d2c(r,e.thetaunit)};if(a)for(n=new Array(o),i=0;i0?1:0}function r(t){var e=t[0],r=t[1];if(!isFinite(e)||!isFinite(r))return[1,0];var n=(e+1)*(e+1)+r*r;return[(e*e+r*r-1)/n,2*r/n]}function n(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function i(t,e){return e*t.radius}t.exports={smith:r,reactanceArc:function(t,e,a,o){var s=n(t,r([a,e])),l=s[0],u=s[1],c=n(t,r([o,e])),f=c[0],h=c[1];if(0===e)return["M"+l+","+u,"L"+f+","+h].join(" ");var p=i(t,1/Math.abs(e));return["M"+l+","+u,"A"+p+","+p+" 0 0,"+(e<0?1:0)+" "+f+","+h].join(" ")},resistanceArc:function(t,a,o,s){var l=i(t,1/(a+1)),u=n(t,r([a,o])),c=u[0],f=u[1],h=n(t,r([a,s])),p=h[0],d=h[1];if(e(o)!==e(s)){var v=n(t,r([a,0]));return["M"+c+","+f,"A"+l+","+l+" 0 0,"+(00){for(var n=[],i=0;i=c&&(h.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function v(t,e,r,n){var i=h[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o("uirevision",n.uirevision),e.type="linear";var p=o("color"),d=p!==i.color.dflt?p:r.font.color,v=e._name.charAt(0).toUpperCase(),g="Component "+v,y=o("title.text",g);e._hovertitle=y===g?y:v,a.coerceFont(o,"title.font",{weight:r.font.weight,style:r.font.style,variant:r.font.variant,family:r.font.family,size:a.bigFont(r.font.size),color:d}),o("min"),c(t,e,o,"linear"),l(t,e,o,"linear"),s(t,e,o,"linear",{noAutotickangles:!0}),u(t,e,o,{outerTicks:!0}),o("showticklabels")&&(a.coerceFont(o,"tickfont",{weight:r.font.weight,style:r.font.style,variant:r.font.variant,family:r.font.family,size:r.font.size,color:d}),o("tickangle"),o("tickformat")),f(t,e,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o("hoverformat"),o("layer")}t.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:h,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},24696:function(t,e,r){"use strict";var n=r(33428),i=r(49760),a=r(24040),o=r(3400),s=o.strTranslate,l=o._,u=r(76308),c=r(43616),f=r(78344),h=r(92880).extendFlat,p=r(7316),d=r(54460),v=r(86476),g=r(93024),y=r(72760),m=y.freeMode,x=y.rectMode,b=r(81668),_=r(22676).prepSelect,w=r(22676).selectOnClick,T=r(22676).clearOutline,k=r(22676).clearSelectionsCache,A=r(33816);function M(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=M;var S=M.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r._hasClipOnAxisFalse=!1;for(var a=0;aE*b?i=(a=b)*E:a=(i=x)/E,o=y*i/x,l=m*a/b,r=e.l+e.w*v-i/2,n=e.t+e.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=_,p.xaxis={type:"linear",range:[w+2*k-_,_-w-2*T],domain:[v-o/2,v+o/2],_id:"x"},f(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,_-T-k],domain:[g-l/2,g+l/2],_id:"y"},f(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=h({},t.aaxis,{range:[w,_-T-k],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=h({},t.baxis,{range:[_-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});f(S,p.graphDiv._fullLayout),S.setScale();var L=p.caxis=h({},t.caxis,{range:[_-w-T,k],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});f(L,p.graphDiv._fullLayout),L.setScale();var C="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",C),p.layers.plotbg.select("path").attr("d",C);var P="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",P);var O=s(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",O),p.clipDefRelative.select("path").attr("transform",null);var I=s(r-S._offset,n+a);p.layers.baxis.attr("transform",I),p.layers.bgrid.attr("transform",I);var z=s(r+i/2,n)+"rotate(30)"+s(0,-M._offset);p.layers.aaxis.attr("transform",z),p.layers.agrid.attr("transform",z);var D=s(r+i/2,n)+"rotate(-30)"+s(0,-L._offset);p.layers.caxis.attr("transform",D),p.layers.cgrid.attr("transform",D),p.drawAxes(!0),p.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(u.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(u.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",L.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(u.stroke,L.linecolor||"#000").style("stroke-width",(L.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),c.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+"title",i=e.layers,a=e.aaxis,o=e.baxis,s=e.caxis;if(e.drawAx(a),e.drawAx(o),e.drawAx(s),t){var u=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?.75*s.tickfont.size:0)+("outside"===s.ticks?.87*s.ticklen:0)),c=(o.showticklabels?o.tickfont.size:0)+("outside"===o.ticks?o.ticklen:0)+3;i["a-title"]=b.draw(r,"a"+n,{propContainer:a,propName:e.id+".aaxis.title",placeholder:l(r,"Click to enter Component A title"),attributes:{x:e.x0+e.w/2,y:e.y0-a.title.font.size/3-u,"text-anchor":"middle"}}),i["b-title"]=b.draw(r,"b"+n,{propContainer:o,propName:e.id+".baxis.title",placeholder:l(r,"Click to enter Component B title"),attributes:{x:e.x0-c,y:e.y0+e.h+.83*o.title.font.size+c,"text-anchor":"middle"}}),i["c-title"]=b.draw(r,"c"+n,{propContainer:s,propName:e.id+".caxis.title",placeholder:l(r,"Click to enter Component C title"),attributes:{x:e.x0+e.w+c,y:e.y0+e.h+.83*s.title.font.size+c,"text-anchor":"middle"}})}},S.drawAx=function(t){var e,r=this,n=r.graphDiv,i=t._name,a=i.charAt(0),s=t._id,l=r.layers[i],u=a+"tickLayout",c=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);r[u]!==c&&(l.selectAll("."+s+"tick").remove(),r[u]=c),t.setScale();var f=d.calcTicks(t),h=d.clipEnds(t,f),p=d.makeTransTickFn(t),v=d.getTickSigns(t)[2],g=o.deg2rad(30),y=v*(t.linewidth||1)/2,m=v*t.ticklen,x=r.w,b=r.h,_="b"===a?"M0,"+y+"l"+Math.sin(g)*m+","+Math.cos(g)*m:"M"+y+",0l"+Math.cos(g)*m+","+-Math.sin(g)*m,w={a:"M0,0l"+b+",-"+x/2,b:"M0,0l-"+x/2+",-"+b,c:"M0,0l-"+b+","+x/2}[a];d.drawTicks(n,t,{vals:"inside"===t.ticks?h:f,layer:l,path:_,transFn:p,crisp:!1}),d.drawGrid(n,t,{vals:h,layer:r.layers[a+"grid"],path:w,transFn:p,crisp:!1}),d.drawLabels(n,t,{vals:f,layer:l,transFn:p,labelFns:d.makeLabelFns(t,0,30)})};var L=A.MINZOOM/2+.87,C="m-0.87,.5h"+L+"v3h-"+(L+5.2)+"l"+(L/2+2.6)+",-"+(.87*L+4.5)+"l2.6,1.5l-"+L/2+","+.87*L+"Z",P="m0.87,.5h-"+L+"v3h"+(L+5.2)+"l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-2.6,1.5l"+L/2+","+.87*L+"Z",O="m0,1l"+L/2+","+.87*L+"l2.6,-1.5l-"+(L/2+2.6)+",-"+(.87*L+4.5)+"l-"+(L/2+2.6)+","+(.87*L+4.5)+"l2.6,1.5l"+L/2+",-"+.87*L+"Z",I=!0;function z(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,f,h,p,d,y,b,T,k,M=this,S=M.layers.plotbg.select("path").node(),L=M.graphDiv,D=L._fullLayout._zoomlayer;function R(t){var e={};return e[M.id+".aaxis.min"]=t.a,e[M.id+".baxis.min"]=t.b,e[M.id+".caxis.min"]=t.c,e}function F(t,e){var r=L._fullLayout.clickmode;z(L),2===t&&(L.emit("plotly_doubleclick",null),a.call("_guiRelayout",L,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&w(e,L,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf("event")>-1&&g.click(L,e,M.id)}function B(t,e){return 1-e/M.h}function N(t,e){return 1-(t+(M.h-e)/Math.sqrt(3))/M.w}function j(t,e){return(t-(M.h-e)/Math.sqrt(3))/M.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),u=Math.max(0,Math.min(1,N(r,n),N(o,s))),c=Math.max(0,Math.min(1,j(r,n),j(o,s))),v=(l/2+c)*M.w,g=(1-l/2-u)*M.w,m=(v+g)/2,x=g-v,_=(1-l)*M.h,w=_-x/E;x.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),b=!0),L.emit("plotly_relayouting",R(p))}function V(){z(L),p!==f&&(a.call("_guiRelayout",L,R(p)),I&&L.data&&L._context.showTips&&(o.notifier(l(L,"Double-click to zoom back out"),"long"),I=!1))}function q(t,e){var r=t/M.xaxis._m,n=e/M.yaxis._m,i=[(p={a:f.a-n,b:f.b+(r+n)/2,c:f.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),u=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[u]},e=(f.a-p.a)*M.yaxis._m,t=(f.c-p.c-f.b+p.b)*M.xaxis._m);var h=s(M.x0+t,M.y0+e);M.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",h);var d=s(-t,-e);M.clipDefRelative.select("path").attr("transform",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(".scatterlayer").selectAll(".trace").call(c.hideOutsideRangePoints,M),L.emit("plotly_relayouting",R(p))}function H(){a.call("_guiRelayout",L,R(p))}this.dragOptions={element:S,gd:L,plotinfo:{id:M.id,domain:L._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(a,l,c){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=L._fullLayout._invScaleX,e=L._fullLayout._invScaleY;var v=M.dragOptions.dragmode=L._fullLayout.dragmode;m(v)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,"zoom"===v?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,L._fullLayout._calcInverseTransform(L);var c=L._fullLayout._invTransform,v=o.apply3DTransform(c)(r,n);r=v[0],n=v[1],f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,h=M.aaxis.range[1]-f.a,d=i(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),y="M0,"+M.h+"L"+M.w/2+", 0L"+M.w+","+M.h+"Z",b=!1,T=D.append("path").attr("class","zoombox").attr("transform",s(M.x0,M.y0)).style({fill:d>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",y),k=D.append("path").attr("class","zoombox-corners").attr("transform",s(M.x0,M.y0)).style({fill:u.background,stroke:u.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),M.clearOutline(L)}(0,l,c)):"pan"===v?(M.dragOptions.moveFn=q,M.dragOptions.clickFn=F,M.dragOptions.doneFn=H,f={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=f,M.clearOutline(L)):(x(v)||m(v))&&_(a,l,c,M.dragOptions,v)}},S.onmousemove=function(t){g.hover(L,t,M.id),L._fullLayout._lasthover=S,L._fullLayout._hoversubplot=M.id},S.onmouseout=function(t){L._dragging||v.unhover(L,t)},v.init(this.dragOptions)}},24040:function(t,e,r){"use strict";var n=r(24248),i=r(16628),a=r(52416),o=r(63620),s=r(52200).addStyleRule,l=r(92880),u=r(45464),c=r(64859),f=l.extendFlat,h=l.extendDeepAll;function p(t){var r=t.name,i=t.categories,a=t.meta;if(e.modules[r])n.log("Type "+r+" already registered");else{e.subplotsRegistry[t.basePlotModule.name]||function(t){var r=t.name;if(e.subplotsRegistry[r])n.log("Plot type "+r+" already registered.");else for(var i in y(t),e.subplotsRegistry[r]=t,e.componentsRegistry)b(i,t.name)}(t.basePlotModule);for(var o={},l=0;l-1&&(f[p[r]].title={text:""});for(r=0;r")?"":e.html(t).text()}));return e.remove(),r}(w)).replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(c,"'"),i.isIE()&&(w=(w=(w=w.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),w}},84664:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){for(var r=0;rf+u||!n(c))}for(var p=0;p=0)return t}else if("string"==typeof t&&"%"===(t=t.trim()).slice(-1)&&n(t.slice(0,-1))&&(t=+t.slice(0,-1))>=0)return t+"%"}function d(t,e,r,n,a,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),u=!(!1===o.moduleHasConstrain),c=!(!1===o.moduleHasCliponaxis),f=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=!!o.hasPathbar,v=Array.isArray(a)||"auto"===a,g=v||"inside"===a,y=v||"outside"===a;if(g||y){var m=h(n,"textfont",r.font),x=i.extendFlat({},m),b=!(t.textfont&&t.textfont.color);if(b&&delete x.color,h(n,"insidetextfont",x),d){var _=i.extendFlat({},m);b&&delete _.color,h(n,"pathbar.textfont",_)}y&&h(n,"outsidetextfont",m),s&&n("selected.textfont.color"),l&&n("unselected.textfont.color"),u&&n("constraintext"),c&&n("cliponaxis"),f&&n("textangle"),n("texttemplate")}g&&p&&n("insidetextanchor")}t.exports={supplyDefaults:function(t,e,r,n){function c(r,n){return i.coerce(t,e,f,r,n)}if(s(t,e,n,c)){l(t,e,n,c),c("xhoverformat"),c("yhoverformat"),c("zorder"),c("orientation",e.x&&!e.y?"h":"v"),c("base"),c("offset"),c("width"),c("text"),c("hovertext"),c("hovertemplate");var h=c("textposition");d(t,0,n,c,h,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),u(t,e,c,r,n);var p=(e.marker.line||{}).color,v=o.getComponentMethod("errorbars","supplyDefaults");v(t,e,p||a.defaultLine,{axis:"y"}),v(t,e,p||a.defaultLine,{axis:"x",inherit:"y"}),i.coerceSelectionMarkerOpacity(e,c)}else e.visible=!1},crossTraceDefaults:function(t,e){var r,n;function a(t,e){return i.coerce(n._input,n,f,t,e)}for(var o=0;oa))return e}return void 0!==r?r:t.dflt},e.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},e.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},e.getValue=function(t,e){var r;return a(t)?e0?e+=r:c<0&&(e-=r)}return e}function z(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,_+(i-e)/(i-r)-1)}var D=t[f+"a"],R=t[h+"a"];v=Math.abs(D.r2c(D.range[1])-D.r2c(D.range[0]));var F=n.getDistanceFunction(i,p,d,(function(t){return(p(t)+d(t))/2}));if(n.getClosest(g,F,t),!1!==t.index&&g[t.index].p!==u){k||(L=function(t){return Math.min(A(t),t.p-m.bargroupwidth/2)},C=function(t){return Math.max(M(t),t.p+m.bargroupwidth/2)});var B=g[t.index],N=y.base?B.b+B.s:B.s;t[h+"0"]=t[h+"1"]=R.c2p(B[h],!0),t[h+"LabelVal"]=N;var j=m.extents[m.extents.round(B.p)];t[f+"0"]=D.c2p(x?L(B):j[0],!0),t[f+"1"]=D.c2p(x?C(B):j[1],!0);var U=void 0!==B.orig_p;return t[f+"LabelVal"]=U?B.orig_p:B.p,t.labelLabel=l(D,t[f+"LabelVal"],y[f+"hoverformat"]),t.valueLabel=l(R,t[h+"LabelVal"],y[h+"hoverformat"]),t.baseLabel=l(R,B.b,y[h+"hoverformat"]),t.spikeDistance=(function(t){var e=c,r=t.b,i=I(t);return n.inbox(r-e,i-e,w+(i-e)/(i-r)-1)}(B)+function(t){return P(A(t),M(t),w)}(B))/2,t[f+"Spike"]=D.c2p(B.p,!0),o(B,y,t),t.hovertemplate=y.hovertemplate,t}}function f(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}t.exports={hoverPoints:function(t,e,r,n,a){var o=c(t,e,r,n,a);if(o){var s=o.cd,l=s[0].trace,u=s[o.index];return o.color=f(l,u),i.getComponentMethod("errorbars","hoverInfo")(u,l,o),[o]}},hoverOnBars:c,getTraceColor:f}},51132:function(t,e,r){"use strict";t.exports={attributes:r(20832),layoutAttributes:r(39324),supplyDefaults:r(31508).supplyDefaults,crossTraceDefaults:r(31508).crossTraceDefaults,supplyLayoutDefaults:r(37156),calc:r(71820),crossTraceCalc:r(96376).crossTraceCalc,colorbar:r(5528),arraysToCalcdata:r(84664),plot:r(98184).plot,style:r(60100).style,styleOnSelect:r(60100).styleOnSelect,hoverPoints:r(63400).hoverPoints,eventData:r(52160),selectPoints:r(45784),moduleType:"trace",name:"bar",basePlotModule:r(57952),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},39324:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},barcornerradius:{valType:"any",editType:"calc"}}},37156:function(t,e,r){"use strict";var n=r(24040),i=r(54460),a=r(3400),o=r(39324),s=r(31508).validateCornerradius;t.exports=function(t,e,r){function l(r,n){return a.coerce(t,e,o,r,n)}for(var u=!1,c=!1,f=!1,h={},p=l("barmode"),d=0;d0)-(t<0)}function A(t,e){return t0}function E(t,e,r,n,i){return!(t<0||e<0)&&(r<=t&&n<=e||r<=e&&n<=t||(i?t>=r*(e/n):e>=n*(t/r)))}function L(t){return"auto"===t?0:t}function C(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function P(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,u=a.anchor,c="end"===u,f="start"===u,h=((a.leftToRight||0)+1)/2,p=1-h,d=a.hasB,v=a.r,g=a.overhead,y=i.width,m=i.height,x=Math.abs(e-t),b=Math.abs(n-r),w=x>2*_&&b>2*_?_:0;x-=2*w,b-=2*w;var T=L(l);"auto"!==l||y<=x&&m<=b||!(y>x||m>b)||(y>b||m>x)&&y_){var E=function(t,e,r,n,i,a,o,s,l){var u,c,f,h,p=Math.max(0,Math.abs(e-t)-2*_),d=Math.max(0,Math.abs(n-r)-2*_),v=a-_,g=o?v-Math.sqrt(v*v-(v-o)*(v-o)):v,y=l?2*v:s?v-o:2*g,m=l?2*v:s?2*g:v-o;return i.y/i.x>=d/(p-y)?h=d/i.y:i.y/i.x<=(d-m)/p?h=p/i.x:!l&&s?(u=i.x*i.x+i.y*i.y/4,f=(p-v)*(p-v)+(d/2-v)*(d/2-v)-v*v,h=(-(c=-2*i.x*(p-v)-i.y*(d/2-v))+Math.sqrt(c*c-4*u*f))/(2*u)):l?(u=(i.x*i.x+i.y*i.y)/4,f=(p/2-v)*(p/2-v)+(d/2-v)*(d/2-v)-v*v,h=(-(c=-i.x*(p/2-v)-i.y*(d/2-v))+Math.sqrt(c*c-4*u*f))/(2*u)):(u=i.x*i.x/4+i.y*i.y,f=(p/2-v)*(p/2-v)+(d-v)*(d-v)-v*v,h=(-(c=-i.x*(p/2-v)-2*i.y*(d-v))+Math.sqrt(c*c-4*u*f))/(2*u)),{scale:h=Math.min(1,h),pad:s?Math.max(0,v-Math.sqrt(Math.max(0,v*v-(v-(d-i.y*h)/2)*(v-(d-i.y*h)/2)))-o):Math.max(0,v-Math.sqrt(Math.max(0,v*v-(v-(p-i.x*h)/2)*(v-(p-i.x*h)/2)))-o)}}(t,e,r,n,S,v,g,o,d);k=E.scale,M=E.pad}else k=1,s&&(k=Math.min(1,x/S.x,b/S.y)),M=0;var P=i.left*p+i.right*h,O=(i.top+i.bottom)/2,I=(t+_)*p+(e-_)*h,z=(r+n)/2,D=0,R=0;if(f||c){var F=(o?S.x:S.y)/2;v&&(c||d)&&(w+=M);var B=o?A(t,e):A(r,n);o?f?(I=t+B*w,D=-B*F):(I=e-B*w,D=B*F):f?(z=r+B*w,R=-B*F):(z=n-B*w,R=B*F)}return{textX:P,textY:O,targetX:I,targetY:z,anchorX:D,anchorY:R,scale:k,rotate:T}}t.exports={plot:function(t,e,r,f,g,y){var w=e.xaxis,O=e.yaxis,I=t._fullLayout,z=t._context.staticPlot;g||(g={mode:I.barmode,norm:I.barmode,gap:I.bargap,groupgap:I.bargroupgap},p("bar",I));var D=a.makeTraceGroups(f,r,"trace bars").each((function(r){var u=n.select(this),f=r[0].trace,p=r[0].t,D="waterfall"===f.type,R="funnel"===f.type,F="histogram"===f.type,B="bar"===f.type,N=B||R,j=0;D&&f.connector.visible&&"between"===f.connector.mode&&(j=f.connector.line.width/2);var U="h"===f.orientation,V=S(g),q=a.ensureSingle(u,"g","points"),H=T(f),G=q.selectAll("g.point").data(a.identity,H);G.enter().append("g").classed("point",!0),G.exit().remove(),G.each((function(u,T){var S,D,R=n.select(this),q=function(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),n?[i,a]:[a,i]}(u,w,O,U),H=q[0][0],G=q[0][1],W=q[1][0],Y=q[1][1],X=0==(U?G-H:Y-W);if(X&&N&&v.getLineWidth(f,u)&&(X=!1),X||(X=!(i(H)&&i(G)&&i(W)&&i(Y))),u.isBlank=X,X&&(U?G=H:Y=W),j&&!X&&(U?(H-=A(H,G)*j,G+=A(H,G)*j):(W-=A(W,Y)*j,Y+=A(W,Y)*j)),"waterfall"===f.type){if(!X){var Z=f[u.dir].marker;S=Z.line.width,D=Z.color}}else S=v.getLineWidth(f,u),D=u.mc||f.marker.color;function K(t){var e=n.round(S/2%1,2);return 0===g.gap&&0===g.groupgap?n.round(Math.round(t)-e,2):t}var J=s.opacity(D)<1||S>.01?K:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?K(t):t>e?Math.ceil(t):Math.floor(t)};t._context.staticPlot||(H=J(H,G,U),G=J(G,H,U),W=J(W,Y,!U),Y=J(Y,W,!U));var $,Q=U?w.c2p:O.c2p;$=u.s0>0?u._sMax:u.s0<0?u._sMin:u.s1>0?u._sMax:u._sMin;var tt,et,rt=B||F?function(t,e){if(!t)return 0;var r,n=U?Math.abs(Y-W):Math.abs(G-H),i=U?Math.abs(G-H):Math.abs(Y-W),a=J(Math.abs(Q($,!0)-Q(0,!0))),o=u.hasB?Math.min(n/2,i/2):Math.min(n/2,a);return r="%"===e?n*(Math.min(50,t)/100):t,J(Math.max(Math.min(r,o),0))}(p.cornerradiusvalue,p.cornerradiusform):0,nt="M"+H+","+W+"V"+Y+"H"+G+"V"+W+"Z",it=0;if(rt&&u.s){var at=0===k(u.s0)||k(u.s)===k(u.s0)?u.s1:u.s0;if((it=J(u.hasB?0:Math.abs(Q($,!0)-Q(at,!0))))0?Math.sqrt(it*(2*rt-it)):0,ft=ot>0?Math.max:Math.min;tt="M"+H+","+W+"V"+(Y-ut*st)+"H"+ft(G-(rt-it)*ot,H)+"A "+rt+","+rt+" 0 0 "+lt+" "+G+","+(Y-rt*st-ct)+"V"+(W+rt*st+ct)+"A "+rt+","+rt+" 0 0 "+lt+" "+ft(G-(rt-it)*ot,H)+","+(W+ut*st)+"Z"}else if(u.hasB)tt="M"+(H+rt*ot)+","+W+"A "+rt+","+rt+" 0 0 "+lt+" "+H+","+(W+rt*st)+"V"+(Y-rt*st)+"A "+rt+","+rt+" 0 0 "+lt+" "+(H+rt*ot)+","+Y+"H"+(G-rt*ot)+"A "+rt+","+rt+" 0 0 "+lt+" "+G+","+(Y-rt*st)+"V"+(W+rt*st)+"A "+rt+","+rt+" 0 0 "+lt+" "+(G-rt*ot)+","+W+"Z";else{var ht=(et=Math.abs(Y-W)+it)0?Math.sqrt(it*(2*rt-it)):0,dt=st>0?Math.max:Math.min;tt="M"+(H+ht*ot)+","+W+"V"+dt(Y-(rt-it)*st,W)+"A "+rt+","+rt+" 0 0 "+lt+" "+(H+rt*ot-pt)+","+Y+"H"+(G-rt*ot+pt)+"A "+rt+","+rt+" 0 0 "+lt+" "+(G-ht*ot)+","+dt(Y-(rt-it)*st,W)+"V"+W+"Z"}}else tt=nt}else tt=nt;var vt=M(a.ensureSingle(R,"path"),I,g,y);if(vt.style("vector-effect",z?"none":"non-scaling-stroke").attr("d",isNaN((G-H)*(Y-W))||X&&t._context.staticPlot?"M0,0Z":tt).call(l.setClipUrl,e.layerClipId,t),!I.uniformtext.mode&&V){var gt=l.makePointStyleFns(f);l.singlePointStyle(u,vt,f,gt,t)}!function(t,e,r,n,i,s,u,f,p,g,y,w,T){var k,S=e.xaxis,O=e.yaxis,I=t._fullLayout;function z(e,r,n){return a.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+k,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t)}var D=n[0].trace,R="h"===D.orientation,F=function(t,e,r,n,i){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,"texttemplate");if(!s)return"";var l,u,f,h,p="histogram"===o.type,d="waterfall"===o.type,v="funnel"===o.type,g="h"===o.orientation;function y(t){return c(h,h.c2l(t),!0).text}g?(l="y",u=i,f="x",h=n):(l="x",u=n,f="y",h=i);var m,x=e[r],_={};_.label=x.p,_.labelLabel=_[l+"Label"]=(m=x.p,c(u,u.c2l(m),!0).text);var w=a.castOption(o,x.i,"text");(0===w||w)&&(_.text=w),_.value=x.s,_.valueLabel=_[f+"Label"]=y(x.s);var T={};b(T,o,x.i),(p||void 0===T.x)&&(T.x=g?_.value:_.label),(p||void 0===T.y)&&(T.y=g?_.label:_.value),(p||void 0===T.xLabel)&&(T.xLabel=g?_.valueLabel:_.labelLabel),(p||void 0===T.yLabel)&&(T.yLabel=g?_.labelLabel:_.valueLabel),d&&(_.delta=+x.rawS||x.s,_.deltaLabel=y(_.delta),_.final=x.v,_.finalLabel=y(_.final),_.initial=_.final-_.delta,_.initialLabel=y(_.initial)),v&&(_.value=x.s,_.valueLabel=y(_.value),_.percentInitial=x.begR,_.percentInitialLabel=a.formatPercent(x.begR),_.percentPrevious=x.difR,_.percentPreviousLabel=a.formatPercent(x.difR),_.percentTotal=x.sumR,_.percenTotalLabel=a.formatPercent(x.sumR));var k=a.castOption(o,x.i,"customdata");return k&&(_.customdata=k),a.texttemplateString(s,_,t._d3locale,T,_,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o="h"===i.orientation,s="waterfall"===i.type,l="funnel"===i.type;function u(t){return c(o?r:n,+t,!0).text}var f,h,p=i.textinfo,d=t[e],v=p.split("+"),g=[],y=function(t){return-1!==v.indexOf(t)};if(y("label")&&g.push((h=t[e].p,c(o?n:r,h,!0).text)),y("text")&&(0===(f=a.castOption(i,d.i,"text"))||f)&&g.push(f),s){var m=+d.rawS||d.s,x=d.v,b=x-m;y("initial")&&g.push(u(b)),y("delta")&&g.push(u(m)),y("final")&&g.push(u(x))}if(l){y("value")&&g.push(u(d.s));var _=0;y("percent initial")&&_++,y("percent previous")&&_++,y("percent total")&&_++;var w=_>1;y("percent initial")&&(f=a.formatPercent(d.begR),w&&(f+=" of initial"),g.push(f)),y("percent previous")&&(f=a.formatPercent(d.difR),w&&(f+=" of previous"),g.push(f)),y("percent total")&&(f=a.formatPercent(d.sumR),w&&(f+=" of total"),g.push(f))}return g.join("
")}(e,r,n,i):v.getValue(s.text,r),v.coerceString(m,o)}(I,n,i,S,O);k=function(t,e){var r=v.getValue(t.textposition,e);return v.coerceEnumerated(x,r)}(D,i);var B="stack"===w.mode||"relative"===w.mode,N=n[i],j=!B||N._outmost,U=N.hasB,V=g&&g-y>_;if(F&&"none"!==k&&(!N.isBlank&&s!==u&&f!==p||"auto"!==k&&"inside"!==k)){var q=I.font,H=d.getBarColor(n[i],D),G=d.getInsideTextFont(D,i,q,H),W=d.getOutsideTextFont(D,i,q),Y=D.insidetextanchor||"end",X=r.datum();R?"log"===S.type&&X.s0<=0&&(s=S.range[0]0&&$>0;it=V?U?E(rt-2*g,nt,J,$,R)||E(rt,nt-2*g,J,$,R):R?E(rt-(g-y),nt,J,$,R)||E(rt,nt-2*(g-y),J,$,R):E(rt,nt-(g-y),J,$,R)||E(rt-2*(g-y),nt,J,$,R):E(rt,nt,J,$,R),at&&it?k="inside":(k="outside",Z.remove(),Z=null)}else k="inside";if(!Z){var ot=(Z=z(r,F,Q=a.ensureUniformFontSize(t,"outside"===k?W:G))).attr("transform");if(Z.attr("transform",""),J=(K=l.bBox(Z.node())).width,$=K.height,Z.attr("transform",ot),J<=0||$<=0)return void Z.remove()}var st,lt=D.textangle;st="outside"===k?function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,u=a.angle||0,c=i.width,f=i.height,h=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*_?_:0:h>2*_?_:0;var d=1;l&&(d=s?Math.min(1,p/f):Math.min(1,h/c));var v=L(u),g=C(i,v),y=(s?g.x:g.y)/2,m=(i.left+i.right)/2,x=(i.top+i.bottom)/2,b=(t+e)/2,w=(r+n)/2,T=0,k=0,M=s?A(e,t):A(r,n);return s?(b=e-M*o,T=M*y):(w=n+M*o,k=-M*y),{textX:m,textY:x,targetX:b,targetY:w,anchorX:T,anchorY:k,scale:d,rotate:v}}(s,u,f,p,K,{isHorizontal:R,constrained:"both"===D.constraintext||"outside"===D.constraintext,angle:lt}):P(s,u,f,p,K,{isHorizontal:R,constrained:"both"===D.constraintext||"inside"===D.constraintext,angle:lt,anchor:Y,hasB:U,r:g,overhead:y}),st.fontSize=Q.size,h("histogram"===D.type?"bar":D.type,st,I),N.transform=st;var ut=M(Z,I,w,T);a.setTransormAndDisplay(ut,st)}else r.select("text").remove()}(t,e,R,r,T,H,G,W,Y,rt,it,g,y),e.layerClipId&&l.hideOutsideRangePoint(u,R.select("text"),w,O,f.xcalendar,f.ycalendar)}));var W=!1===f.cliponaxis;l.setClipUrl(u,W?null:e.layerClipId,t)}));u.getComponentMethod("errorbars","plot")(t,D,e,g)},toMoveInsideBar:P}},45784:function(t){"use strict";function e(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(t,r){var n,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l="funnel"===s.type,u="h"===s.orientation,c=[];if(!1===r)for(n=0;n1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")})),e.selectAll("g.points").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:v,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll("text"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:m,getOutsideTextFont:x,getBarColor:_,resizeText:l}},55592:function(t,e,r){"use strict";var n=r(76308),i=r(94288).hasColorscale,a=r(27260),o=r(3400).coercePattern;t.exports=function(t,e,r,s,l){var u=r("marker.color",s),c=i(t,"marker");c&&a(t,e,l,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,l,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),o(r,"marker.pattern",u,c),r("selected.marker.color"),r("unselected.marker.color")}},82744:function(t,e,r){"use strict";var n=r(33428),i=r(3400);function a(t){return"_"+t+"Text_minsize"}t.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=oh.range[1]&&(x+=Math.PI),n.getClosest(u,(function(t){return v(m,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/y)-1+(t.rp1-m)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var b=u[t.index];t.x0=t.x1=b.ct[0],t.y0=t.y1=b.ct[1];var _=i.extendFlat({},b,{r:b.s,theta:b.p});return o(b,c,t),s(_,c,f,t),t.hovertemplate=c.hovertemplate,t.color=a(c,b),t.xLabelVal=t.yLabelVal=void 0,b.s<0&&(t.idealAlign="left"),[t]}}},94456:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"barpolar",basePlotModule:r(40872),categories:["polar","bar","showLegend"],attributes:r(78100),layoutAttributes:r(9320),supplyDefaults:r(70384),supplyLayoutDefaults:r(89580),calc:r(47056).calc,crossTraceCalc:r(47056).crossTraceCalc,plot:r(42040),colorbar:r(5528),formatLabels:r(22852),style:r(60100).style,styleOnSelect:r(60100).styleOnSelect,hoverPoints:r(68896),selectPoints:r(45784),meta:{}}},9320:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},89580:function(t,e,r){"use strict";var n=r(3400),i=r(9320);t.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l0?(u=o,c=l):(u=l,c=o);var f=[s.findEnclosingVertexAngles(u,t.vangles)[0],(u+c)/2,s.findEnclosingVertexAngles(c,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,u,c,f,e,r)}:function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),d=e.layers.frontplot.select("g.barlayer");a.makeTraceGroups(d,r,"trace bars").each((function(){var r=n.select(this),s=a.ensureSingle(r,"g","points").selectAll("g.point").data(a.identity);s.enter().append("g").style("vector-effect",l?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=f.c2p(t.s0),s=t.rp1=f.c2p(t.s1),l=t.thetag0=h.c2g(t.p0),d=t.thetag1=h.c2g(t.p1);if(i(o)&&i(s)&&i(l)&&i(d)&&o!==s&&l!==d){var v=f.c2g(t.s1),g=(l+d)/2;t.ct=[u.c2p(v*Math.cos(g)),c.c2p(v*Math.sin(g))],e=p(o,s,l,d)}else e="M0,0Z";a.ensureSingle(r,"path").attr("d",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},63188:function(t,e,r){"use strict";var n=r(98304),i=r(52904),a=r(20832),o=r(22548),s=r(29736).axisHoverFormat,l=r(21776).Ks,u=r(92880).extendFlat,c=i.marker,f=c.line;t.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,xhoverformat:s("x"),yhoverformat:s("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},sdmultiple:{valType:"number",min:0,editType:"calc",dflt:1},sizemode:{valType:"enumerated",values:["quartiles","sd"],editType:"calc",dflt:"quartiles"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:u({},c.symbol,{arrayOk:!1,editType:"plot"}),opacity:u({},c.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:u({},c.angle,{arrayOk:!1,editType:"calc"}),size:u({},c.size,{arrayOk:!1,editType:"calc"}),color:u({},c.color,{arrayOk:!1,editType:"style"}),line:{color:u({},f.color,{arrayOk:!1,dflt:o.defaultLine,editType:"style"}),width:u({},f.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n(),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},showwhiskers:{valType:"boolean",editType:"calc"},offsetgroup:a.offsetgroup,alignmentgroup:a.alignmentgroup,selected:{marker:i.selected.marker,editType:"style"},unselected:{marker:i.unselected.marker,editType:"style"},text:u({},i.text,{}),hovertext:u({},i.hovertext,{}),hovertemplate:l({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"},zorder:i.zorder}},62555:function(t,e,r){"use strict";var n=r(38248),i=r(54460),a=r(1220),o=r(3400),s=r(39032).BADNUM,l=o._;t.exports=function(t,e){var r,u,m,x,b,_,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||"x"),A=i.getFromId(t,e.yaxis||"y"),M=[],S="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(m=k,x="x",b=A,_="y",w=!!e.yperiodalignment):(m=A,x="y",b=k,_="x",w=!!e.xperiodalignment);var E,L,C,P,O,I,z=function(t,e,r,i){var s,l=e+"0"in t;if(e in t||l&&"d"+e in t){var u=r.makeCalcdata(t,e);return[a(t,r,e,u).vals,u]}s=l?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||o.isDateTime(t.name)&&"date"===r.type)?t.name:i;for(var c="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]),f=t._length,h=new Array(f),p=0;pE.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return m.d2c((e[t]||[])[r])},q=1/0,H=-1/0;for(r=0;r=E.q1&&E.q3>=E.med){var W=V("lowerfence");E.lf=W!==s&&W<=E.q1?W:p(E,C,P);var Y=V("upperfence");E.uf=Y!==s&&Y>=E.q3?Y:d(E,C,P);var X=V("mean");E.mean=X!==s?X:P?o.mean(C,P):(E.q1+E.q3)/2;var Z=V("sd");E.sd=X!==s&&Z>=0?Z:P?o.stdev(C,P,E.mean):E.q3-E.q1,E.lo=v(E),E.uo=g(E);var K=V("notchspan");K=K!==s&&K>0?K:y(E,P),E.ln=E.med-K,E.un=E.med+K;var J=E.lf,$=E.uf;e.boxpoints&&C.length&&(J=Math.min(J,C[0]),$=Math.max($,C[P-1])),e.notched&&(J=Math.min(J,E.ln),$=Math.max($,E.un)),E.min=J,E.max=$}else{var Q;o.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),Q=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}q=Math.min(q,E.min),H=Math.max(H,E.max),E.pts2=L.filter(j),M.push(E)}}e._extremes[m._id]=i.findExtremes(m,[q,H],{padded:!0})}else{var tt=m.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&it0){var ct,ft;(E={}).pos=E[_]=B[r],L=E.pts=nt[r].sort(f),P=(C=E[x]=L.map(h)).length,E.min=C[0],E.max=C[P-1],E.mean=o.mean(C,P),E.sd=o.stdev(C,P,E.mean)*e.sdmultiple,E.med=o.interp(C,.5),P%2&&(lt||ut)?(lt?(ct=C.slice(0,P/2),ft=C.slice(P/2+1)):ut&&(ct=C.slice(0,P/2+1),ft=C.slice(P/2)),E.q1=o.interp(ct,.5),E.q3=o.interp(ft,.5)):(E.q1=o.interp(C,.25),E.q3=o.interp(C,.75)),E.lf=p(E,C,P),E.uf=d(E,C,P),E.lo=v(E),E.uo=g(E);var ht=y(E,P);E.ln=E.med-ht,E.un=E.med+ht,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=L.filter(j),M.push(E)}e.notched&&o.isTypedArray(tt)&&(tt=Array.from(tt)),e._extremes[m._id]=i.findExtremes(m,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:N,posLetter:_,valLetter:x,labels:{med:l(t,"median:"),min:l(t,"min:"),q1:l(t,"q1:"),q3:l(t,"q3:"),max:l(t,"max:"),mean:"sd"===e.boxmean||"sd"===e.sizemode?l(t,"mean ± σ:").replace("σ",1===e.sdmultiple?"σ":e.sdmultiple+"σ"):l(t,"mean:"),lf:l(t,"lower fence:"),uf:l(t,"upper fence:")}},T[S]++,M):[{t:{empty:!0}}]};var u={text:"tx",hovertext:"htx"};function c(t,e,r){for(var n in u)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[u[n]]=e[n][r[0]][r[1]]):t[u[n]]=e[n][r])}function f(t,e){return t.v-e.v}function h(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function v(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function y(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},96404:function(t,e,r){"use strict";var n=r(54460),i=r(3400),a=r(71888).getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,u,c=e.calcdata,f=e._fullLayout,h=o._id,p=h.charAt(0),d=[],v=0;for(s=0;s1,b=1-f[t+"gap"],_=1-f[t+"groupgap"];for(s=0;s0){var H=E.pointpos,G=E.jitter,W=E.marker.size/2,Y=0;H+G>=0&&((Y=V*(H+G))>M?(q=!0,j=W,B=Y):Y>R&&(j=W,B=M)),Y<=M&&(B=M);var X=0;H-G<=0&&((X=-V*(H-G))>S?(q=!0,U=W,N=X):X>F&&(U=W,N=S)),X<=S&&(N=S)}else B=M,N=S;var Z=new Array(u.length);for(l=0;l0?(g="v",y=x>0?Math.min(_,b):Math.min(b)):x>0?(g="h",y=Math.min(_)):y=0;if(y){e._length=y;var S=r("orientation",g);e._hasPreCompStats?"v"===S&&0===x?(r("x0",0),r("dx",1)):"h"===S&&0===m&&(r("y0",0),r("dy",1)):"v"===S&&0===x?r("x0"):"h"===S&&0===m&&r("y0"),i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a)}else e.visible=!1}function f(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,u,"marker.outliercolor"),s=r("marker.line.outliercolor"),l="outliers";e._hasPreCompStats?l="all":(o||s)&&(l="suspectedoutliers");var c=r(a+"points",l);c?(r("jitter","all"===c?.3:0),r("pointpos","all"===c?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===c&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete e.marker;var f=r("hoveron");"all"!==f&&-1===f.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}t.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,u,r,i)}if(c(t,e,s,i),!1!==e.visible){o(t,e,i,s),s("xhoverformat"),s("yhoverformat");var l=e._hasPreCompStats;l&&(s("lowerfence"),s("upperfence")),s("line.color",(t.marker||{}).color||r),s("line.width"),s("fillcolor",a.addOpacity(e.line.color,.5));var h=!1;if(l){var p=s("mean"),d=s("sd");p&&p.length&&(h=!0,d&&d.length&&(h="sd"))}s("whiskerwidth");var v,g=s("sizemode");"quartiles"===g&&(v=s("boxmean",h)),s("showwhiskers","quartiles"===g),"sd"!==g&&"sd"!==v||s("sdmultiple"),s("width"),s("quartilemethod");var y=!1;if(l){var m=s("notchspan");m&&m.length&&(y=!0)}else n.validate(t.notchwidth,u.notchwidth)&&(y=!0);s("notched",y)&&s("notchwidth"),f(t,e,s,{prefix:"box"}),s("zorder")}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,u,t)}for(var o=0;ot.lo&&(x.so=!0)}return a}));h.enter().append("path").classed("point",!0),h.exit().remove(),h.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,u=e.pos,c=!!u.rangebreaks,f=a.bPos,h=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each((function(t){var e=u.c2l(t.pos+f,!0),i=u.l2p(e-o)+h,a=u.l2p(e+s)+h,d=c?(i+a)/2:u.l2p(e)+h,v=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),y=l.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+v+","+i+"V"+a+("sd"===p?"m0,0L"+g+","+d+"L"+v+","+i+"L"+y+","+d+"Z":"")):n.select(this).attr("d","M"+i+","+v+"H"+a+("sd"===p?"m0,0L"+d+","+g+"L"+i+","+v+"L"+d+","+y+"Z":""))}))}t.exports={plot:function(t,e,r,a){var u=t._context.staticPlot,c=e.xaxis,f=e.yaxis;i.makeTraceGroups(a,r,"trace boxes").each((function(t){var e,r,i=n.select(this),a=t[0],h=a.t,p=a.trace;h.wdPos=h.bdPos*p.whiskerwidth,!0!==p.visible||h.empty?i.remove():("h"===p.orientation?(e=f,r=c):(e=c,r=f),o(i,{pos:e,val:r},p,h,u),s(i,{x:c,y:f},p,h),l(i,{pos:e,val:r},p,h))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},8264:function(t){"use strict";t.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;for(var r=1/0,a=-1/0,o=t.length,s=0;s0?Math.floor:Math.ceil,O=L>0?Math.ceil:Math.floor,I=L>0?Math.min:Math.max,z=L>0?Math.max:Math.min,D=P(S+C),R=O(E-C),F=[[f=M(S)]];for(a=D;a*L=0;i--)a[c-i]=t[f][i],o[c-i]=e[f][i];for(s.push({x:a,y:o,bicubic:l}),i=f,a=[],o=[];i>=0;i--)a[f-i]=t[i][0],o[f-i]=e[i][0];return s.push({x:a,y:o,bicubic:u}),s}},19216:function(t,e,r){"use strict";var n=r(54460),i=r(92880).extendFlat;t.exports=function(t,e,r){var a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=t["_"+e],b=t[e+"axis"],_=b._gridlines=[],w=b._minorgridlines=[],T=b._boundarylines=[],k=t["_"+r],A=t[r+"axis"];"array"===b.tickmode&&(b.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,L=M.length,C=t._a.length,P=t._b.length;n.prepTicks(b),"array"===b.tickmode&&delete b.tickvals;var O=b.smoothing?3:1;function I(n){var i,a,o,s,l,u,c,f,p,d,v,g,y=[],m=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(P-2,a))),s=a-o,x.length=P,x.crossLength=C,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),y.push(l[0]+p[0]/3),m.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),y.push(f[0]-d[0]/3),m.push(f[1]-d[1]/3)),y.push(f[0]),m.push(f[1]),l=f;else for(i=t.a2i(n),u=Math.floor(Math.max(0,Math.min(C-2,i))),c=i-u,x.length=C,x.crossLength=P,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],u,e,c,r)},a=0;a0&&(v=t.dxydj([],u,a-1,c,0),y.push(l[0]+v[0]/3),m.push(l[1]+v[1]/3),g=t.dxydj([],u,a-1,c,1),y.push(f[0]-g[0]/3),m.push(f[1]-g[1]/3)),y.push(f[0]),m.push(f[1]),l=f;return x.axisLetter=e,x.axis=b,x.crossAxis=A,x.value=n,x.constvar=r,x.index=h,x.x=y,x.y=m,x.smoothing=A.smoothing,x}function z(n){var i,a,o,s,l,u=[],c=[],f={};if(f.length=x.length,f.crossLength=k.length,"b"===e)for(o=Math.max(0,Math.min(P-2,n)),l=Math.min(1,Math.max(0,n-o)),f.xy=function(e){return t.evalxy([],e,n)},f.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||_.push(i(z(o),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c;hx.length-1||v<0||v>x.length-1))for(g=x[s],y=x[v],a=0;ax[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(z(0),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(z(x.length-1),{color:b.endlinecolor,width:b.endlinewidth}))}else{for(l=5e-15,c=(u=[Math.floor((x[x.length-1]-b.tick0)/b.dtick*(1+l)),Math.ceil((x[0]-b.tick0)/b.dtick/(1+l))].sort((function(t,e){return t-e})))[0],f=u[1],h=c;h<=f;h++)p=b.tick0+b.dtick*h,_.push(i(I(p),{color:b.gridcolor,width:b.gridwidth,dash:b.griddash}));for(h=c-1;hx[x.length-1]||w.push(i(I(d),{color:b.minorgridcolor,width:b.minorgridwidth,dash:b.minorgriddash}));b.startline&&T.push(i(I(x[0]),{color:b.startlinecolor,width:b.startlinewidth})),b.endline&&T.push(i(I(x[x.length-1]),{color:b.endlinecolor,width:b.endlinewidth}))}}},14724:function(t,e,r){"use strict";var n=r(54460),i=r(92880).extendFlat;t.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:u}}},164:function(t,e,r){"use strict";var n=r(33428),i=r(43616),a=r(87072),o=r(53416),s=r(15584),l=r(72736),u=r(3400),c=u.strRotate,f=u.strTranslate,h=r(84284);function p(t,e,r,s,l,u,c){var f="const-"+l+"-lines",h=r.selectAll("."+f).data(u);h.enter().append("path").classed(f,!0).style("vector-effect",c?"none":"non-scaling-stroke"),h.each((function(r){var s=r,l=s.x,u=s.y,c=a([],l,t.c2p),f=a([],u,e.c2p),h="M"+o(c,f,s.smoothing);n.select(this).attr("d",h).style("stroke-width",s.width).style("stroke",s.color).style("stroke-dasharray",i.dashStyle(s.dash,s.width)).style("fill","none")})),h.exit().remove()}function d(t,e,r,a,o,u,h,p){var d=u.selectAll("text."+p).data(h);d.enter().append("text").classed(p,!0);var v=0,g={};return d.each((function(o,u){var h;if("auto"===o.axis.tickangle)h=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;h=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}u||(g={angle:h.angle,flip:h.flip});var d=(o.endAnchor?-1:1)*h.flip,y=n.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),m=i.bBox(this);y.attr("transform",f(h.p[0],h.p[1])+c(h.angle)+f(o.axis.labelpadding*d,.3*m.height)),v=Math.max(v,m.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=v,g}t.exports=function(t,e,r,i){var l=t._context.staticPlot,c=e.xaxis,f=e.yaxis,h=t._fullLayout._clips;u.makeTraceGroups(i,r,"trace").each((function(e){var r=n.select(this),i=e[0],v=i.trace,g=v.aaxis,m=v.baxis,x=u.ensureSingle(r,"g","minorlayer"),b=u.ensureSingle(r,"g","majorlayer"),_=u.ensureSingle(r,"g","boundarylayer"),w=u.ensureSingle(r,"g","labellayer");r.style("opacity",v.opacity),p(c,f,b,0,"a",g._gridlines,!0),p(c,f,b,0,"b",m._gridlines,!0),p(c,f,x,0,"a",g._minorgridlines,!0),p(c,f,x,0,"b",m._minorgridlines,!0),p(c,f,_,0,"a-boundary",g._boundarylines,l),p(c,f,_,0,"b-boundary",m._boundarylines,l);var T=d(t,c,f,v,0,w,g._labels,"a-label"),k=d(t,c,f,v,0,w,m._labels,"b-label");!function(t,e,r,n,i,a,o,l){var c,f,h,p,d=u.aggNums(Math.min,null,r.a),v=u.aggNums(Math.max,null,r.a),g=u.aggNums(Math.min,null,r.b),m=u.aggNums(Math.max,null,r.b);c=.5*(d+v),f=g,h=r.ab2xy(c,f,!0),p=r.dxyda_rough(c,f),void 0===o.angle&&u.extendFlat(o,s(r,i,a,h,r.dxydb_rough(c,f))),y(t,e,r,0,h,p,r.aaxis,i,a,o,"a-title"),c=d,f=.5*(g+m),h=r.ab2xy(c,f,!0),p=r.dxydb_rough(c,f),void 0===l.angle&&u.extendFlat(l,s(r,i,a,h,r.dxyda_rough(c,f))),y(t,e,r,0,h,p,r.baxis,i,a,l,"b-title")}(t,w,v,0,c,f,T,k),function(t,e,r,n,i){var s,l,c,f,h=r.select("#"+t._clipPathId);h.size()||(h=r.append("clipPath").classed("carpetclip",!0));var p=u.ensureSingle(h,"path","carpetboundary"),d=e.clipsegments,v=[];for(f=0;f90&&m<270,b=n.select(this);b.text(h.title.text).call(l.convertToTspans,t),x&&(_=(-l.lineCount(b)+g)*v*a-_),b.attr("transform",f(e.p[0],e.p[1])+c(e.angle)+f(0,_)).attr("text-anchor","middle").call(i.font,h.title.font)})),b.exit().remove()}},81e3:function(t,e,r){"use strict";var n=r(24588),i=r(14952).findBin,a=r(30180),o=r(29056),s=r(26435),l=r(24464);t.exports=function(t){var e=t._a,r=t._b,u=e.length,c=r.length,f=t.aaxis,h=t.baxis,p=e[0],d=e[u-1],v=r[0],g=r[c-1],y=e[e.length-1]-e[0],m=r[r.length-1]-r[0],x=y*n.RELATIVE_CULL_TOLERANCE,b=m*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,v-=b,g+=b,t.isVisible=function(t,e){return t>p&&tv&&ed||eg},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,f.smoothing,h.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],u,c,f.smoothing,h.smoothing),t.dxydi=s([t._xctrl,t._yctrl],f.smoothing,h.smoothing),t.dxydj=l([t._xctrl,t._yctrl],f.smoothing,h.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),u-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),u-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),u-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(u-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),c-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(c-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(ne[u-1]|ir[c-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var f,h,p,d,v=0,g=0,y=[];ne[u-1]?(f=u-2,h=1,v=(n-e[u-1])/(e[u-1]-e[u-2])):h=o-(f=Math.max(0,Math.min(u-2,Math.floor(o)))),ir[c-1]?(p=c-2,d=1,g=(i-r[c-1])/(r[c-1]-r[c-2])):d=s-(p=Math.max(0,Math.min(c-2,Math.floor(s)))),v&&(t.dxydi(y,f,p,h,d),l[0]+=y[0]*v,l[1]+=y[1]*v),g&&(t.dxydj(y,f,p,h,d),l[0]+=y[0]*g,l[1]+=y[1]*g)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=m*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},51512:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e,r){var i,a,o,s=[],l=[],u=t[0].length,c=t.length;function f(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log("Smoother converged to",k,"after",A,"iterations"),t}},86411:function(t,e,r){"use strict";var n=r(3400).isArray1D;t.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},83372:function(t,e,r){"use strict";var n=r(21776).Ks,i=r(6096),a=r(49084),o=r(45464),s=r(22548).defaultLine,l=r(92880).extendFlat,u=i.marker.line;t.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:i.locationmode,z:{valType:"data_array",editType:"calc"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},u.color,{dflt:s}),width:l({},u.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:i.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a("",{cLetter:"z",editTypeOverride:"calc"}))},7924:function(t,e,r){"use strict";var n=r(38248),i=r(39032).BADNUM,a=r(47128),o=r(20148),s=r(4500);function l(t){return t&&"string"==typeof t}t.exports=function(t,e){var r,u=e._length,c=new Array(u);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var f=0;f")}}(t,f,o),[t]}},54272:function(t,e,r){"use strict";t.exports={attributes:r(83372),supplyDefaults:r(30972),colorbar:r(96288),calc:r(7924),calcGeoJSON:r(88364).calcGeoJSON,plot:r(88364).plot,style:r(7947).style,styleOnSelect:r(7947).styleOnSelect,hoverPoints:r(69224),eventData:r(52428),selectPoints:r(17328),moduleType:"trace",name:"choropleth",basePlotModule:r(10816),categories:["geo","noOpacity","showLegend"],meta:{}}},88364:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(27144),o=r(59972).getTopojsonFeatures,s=r(19280).findExtremes,l=r(7947).style;t.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,u=r._length,c="geojson-id"===l?a.extractTraceFeature(t):o(r,i.topojson),f=[],h=[],p=0;p=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(a,{type:"geojson",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},86040:function(t,e,r){"use strict";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(52948),s=r(45464),l=r(92880).extendFlat,u={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute","raw"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["norm"]}),uhoverformat:i("u",1),vhoverformat:i("v",1),whoverformat:i("w",1),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),showlegend:l({},s.showlegend,{dflt:!1})};l(u,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"})),["opacity","lightposition","lighting"].forEach((function(t){u[t]=o[t]})),u.hoverinfo=l({},s.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),u.transforms=void 0,t.exports=u},83344:function(t,e,r){"use strict";var n=r(47128);t.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,u=0;uo.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,u=-1/0,c=1/0;for(r=0;r":p>u&&(n.prefixBoundary=!0);break;case"<":(pu||n.starts.length&&h===c)&&(n.prefixBoundary=!0);break;case"][":f=Math.min(p[0],p[1]),h=Math.max(p[0],p[1]),fu&&(n.prefixBoundary=!0)}}}},55296:function(t,e,r){"use strict";var n=r(8932),i=r(41076),a=r(46960);t.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,u=o.coloring,c=i(e,{isColorbar:!0});if("heatmap"===u){var f=n.extractOpts(e);r._fillgradient=f.reversescale?n.flipScale(f.colorscale):f.colorscale,r._zrange=[f.min,f.max]}else"fill"===u&&(r._fillcolor=c);r._line={color:"lines"===u?c:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},93252:function(t){"use strict";t.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},95536:function(t,e,r){"use strict";var n=r(38248),i=r(17428),a=r(76308),o=a.addOpacity,s=a.opacity,l=r(69104),u=r(3400).isArrayOrTypedArray,c=l.CONSTRAINT_REDUCTION,f=l.COMPARISON_OPS2;t.exports=function(t,e,r,a,l,h){var p,d,v,g=e.contours,y=r("contours.operation");g._operation=c[y],function(t,e){var r;-1===f.indexOf(e.operation)?(t("contours.value",[0,1]),u(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(u(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===y?p=g.showlines=!0:(p=r("contours.showlines"),v=r("fillcolor",o((t.line||{}).color||l,.5))),p&&(d=r("line.color",v&&s(v)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash")),r("line.smoothing"),i(r,a,d,h)}},3212:function(t,e,r){"use strict";var n=r(69104),i=r(38248);function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}t.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},84952:function(t){"use strict";t.exports=function(t,e,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},82172:function(t,e,r){"use strict";var n=r(3400);function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}t.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},46960:function(t){"use strict";t.exports=function(t){return t.end+t.size/1e6}},88748:function(t,e,r){"use strict";var n=r(3400),i=r(93252);function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1,[n,a]}(f,r,e),p=[s(t,e,[-h[0],-h[1]])],d=t.z.length,v=t.z[0].length,g=e.slice(),y=h.slice();for(u=0;u<1e4;u++){if(f>20?(f=i.CHOOSESADDLE[f][(h[0]||h[1])<0?0:1],t.crossings[c]=i.SADDLEREMAINDER[f]):delete t.crossings[c],!(h=i.NEWDELTA[f])){n.log("Found bad marching index:",f,e,t.level);break}p.push(s(t,e,h)),e[0]+=h[0],e[1]+=h[1],c=e.join(","),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var m=h[0]&&(e[0]<0||e[0]>v-2)||h[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&h[0]===y[0]&&h[1]===y[1]||r&&m)break;f=t.crossings[c]}1e4===u&&n.log("Infinite loop in contour?");var x,b,_,w,T,k,A,M,S,E,L,C,P,O,I,z=a(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(u=1;u=B;u--)if((x=F[u])=B&&x+F[b]M&&S--,t.edgepaths[S]=L.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;M=m)&&(r<=y&&(r=y),o>=m&&(o=m),l=Math.floor((o-r)/s)+1,u=0),h=0;hy&&(v.unshift(y),g.unshift(g[0])),v[v.length-1]t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}t.exports=function(t){var e,r,a,o,s,l,u,c,f,h=t[0].z,p=h.length,d=h[0].length,v=2===p||2===d;for(r=0;r=0&&(n=m,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-m[1])<.01&&(m[0]-r[0])*(n[0]-m[0])>=0&&(n=m,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,m)}if(r=n,s>=0)break;f+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}h=s,(d=-1===p.indexOf(h))&&(h=p[0],f+="Z")}for(h=0;hn.center?n.right-s:s-n.left)/(c+Math.abs(Math.sin(u)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(f)+Math.cos(u)*o);if(h<1||p<1)return 1/0;var d=y.EDGECOST*(1/(h-1)+1/(p-1));d+=y.ANGLECOST*u*u;for(var v=s-c,g=l-f,m=s+c,x=l+f,b=0;b2*y.MAXCOST)break;p&&(s/=2),l=(o=u-s/2)+1.5*s}if(h<=y.MAXCOST)return c},e.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,u=t.theta,c=Math.sin(u),f=Math.cos(u),h=function(t,e){return[s+t*f-e*c,l+t*c+e*f]},p=[h(-a/2,-o/2),h(-a/2,o/2),h(a/2,o/2),h(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:u,level:e.level,width:a,height:o}),n.push(p)},e.drawLabels=function(t,e,r,a,o){var l=t.selectAll("text").data(e,(function(t){return t.text+","+t.x+","+t.y+","+t.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(s.convertToTspans,r)})),o){for(var u="",c=0;cr.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var u,c=r.start,f=r.end,h=t._input.contours;c>f&&(r.start=h.start=f,f=r.end=h.end=c,c=r.start),r.size>0||(u=c===f?1:a(c,f,t.ncontours).dtick,h.size=r.size=u)}}},52440:function(t,e,r){"use strict";var n=r(33428),i=r(43616),a=r(41648),o=r(41076);t.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,u=a.start,c="constraint"===a.type,f=!c&&"lines"===a.coloring,h=!c&&"fill"===a.coloring,p=f||h?o(r):null;e.selectAll("g.contourlevel").each((function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,f?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll("g.contourlabels text").each((function(t){i.font(n.select(this),{weight:d.weight,style:d.style,variant:d.variant,family:d.family,size:d.size,color:d.color||(f?p(t.level):s.color)})})),c)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(h){var v;e.selectAll("g.contourfill path").style("fill",(function(t){return void 0===v&&(v=t.level),p(t.level+.5*l)})),void 0===v&&(v=u),e.selectAll("g.contourbg path").style("fill",p(v-.5*l))}})),a(t)}},97680:function(t,e,r){"use strict";var n=r(27260),i=r(17428);t.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),u="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(u=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),i(r,a,u,o)}},37960:function(t,e,r){"use strict";var n=r(83328),i=r(67104),a=r(49084),o=r(92880).extendFlat,s=i.contours;t.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},zorder:i.zorder,transforms:void 0},a("",{cLetter:"z",autoColorDflt:!1}))},30572:function(t,e,r){"use strict";var n=r(47128),i=r(3400),a=r(2872),o=r(26136),s=r(70448),l=r(11240),u=r(35744),c=r(3252),f=r(50948),h=r(54444);t.exports=function(t,e){var r=e._carpetTrace=f(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),c(d,e,e._defaultColor,t._fullLayout)}var v=function(t,e){var r,c,f,h,p,d,v,g=e._carpetTrace,y=g.aaxis,m=g.baxis;y._minDtick=0,m._minDtick=0,i.isArray1D(e.z)&&a(e,y,m,"a","b",["z"]),r=e._a=e._a||e.a,h=e._b=e._b||e.b,r=r?y.makeCalcdata(e,"_a"):[],h=h?m.makeCalcdata(e,"_b"):[],c=e.a0||0,f=e.da||1,p=e.b0||0,d=e.db||1,v=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(v),s(v,e._emptypoints);var x=i.maxRowLength(v),b="scaled"===e.xtype?"":r,_=u(e,b,c,f,x,y),w="scaled"===e.ytype?"":h,T={a:_,b:u(e,w,p,d,v.length,m),z:v};return"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:v,containerStr:"",cLetter:"z"}),[T]}(t,e);return h(e,e._z),v}}},3252:function(t,e,r){"use strict";var n=r(3400),i=r(51264),a=r(37960),o=r(95536),s=r(84952),l=r(97680);t.exports=function(t,e,r,u){function c(r,i){return n.coerce(t,e,a,r,i)}if(c("carpet"),t.a&&t.b){if(!i(t,e,c,u,"a","b"))return void(e.visible=!1);c("text"),"constraint"===c("contours.type")?o(t,e,c,u,r,{hasHover:!1}):(s(t,e,c,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,c,u,{hasHover:!1}))}else e._defaultColor=r,e._length=null;c("zorder")}},40448:function(t,e,r){"use strict";t.exports={attributes:r(37960),supplyDefaults:r(3252),colorbar:r(55296),calc:r(30572),plot:r(94440),style:r(52440),moduleType:"trace",name:"contourcarpet",basePlotModule:r(57952),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},94440:function(t,e,r){"use strict";var n=r(33428),i=r(87072),a=r(53416),o=r(43616),s=r(3400),l=r(72424),u=r(88748),c=r(23676),f=r(93252),h=r(82172),p=r(61512),d=r(56008),v=r(50948),g=r(77712);function y(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function m(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}t.exports=function(t,e,r,b){var _=e.xaxis,w=e.yaxis;s.makeTraceGroups(b,r,"contour").each((function(r){var b=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=v(t,k),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=T.a,E=T.b,L=k.contours,C=p(L,e,T),P="constraint"===L.type,O=L._operation,I=P?"="===O?"lines":"fill":L.coloring,z=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(C);var D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);u(C,D,R);var F,B,N,j,U=C;"constraint"===L.type&&(U=h(C,O)),function(t,e){var r,n,i,a,o,s,l,u,c;for(r=0;r=0;j--)F=M.clipsegments[j],B=i([],F.x,_.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var q="M"+V.join("L")+"Z";!function(t,e,r,n,o,l){var u,c,f,h,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(h=0;h=0&&(h=L,d=v):Math.abs(f[1]-h[1])=0&&(h=L,d=v):s.log("endpt to newendpt is not vert. or horz.",f,h,L)}if(d>=0)break;m+=S(f,h),f=h}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}c=d,(b=-1===x.indexOf(c))&&(c=x[0],m+=S(f,h)+"Z",f=null)}for(c=0;cv&&(n.max=v),n.len=n.max-n.min}function g(t,e){var r,n=0,o=.1;return(Math.abs(t[0]-l)0?+p[c]:0),f.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:m})}}var b=o.extractOpts(e),_=b.reversescale?o.flipScale(b.colorscale):b.colorscale,w=_[0][1],T=["interpolate",["linear"],["heatmap-density"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(c=1;c<_.length;c++)T.push(_[c][0],_[c][1]);var k=["interpolate",["linear"],["get","z"],b.min,0,b.max,1];return i.extendFlat(u.heatmap.paint,{"heatmap-weight":d?k:1/(b.max-b.min),"heatmap-color":T,"heatmap-radius":v?{type:"identity",property:"r"}:e.radius,"heatmap-opacity":e.opacity}),u.geojson={type:"FeatureCollection",features:f},u.heatmap.layout.visibility="visible",u}},97664:function(t,e,r){"use strict";var n=r(3400),i=r(27260),a=r(33928);t.exports=function(t,e,r,o){function s(r,i){return n.coerce(t,e,a,r,i)}var l=s("lon")||[],u=s("lat")||[],c=Math.min(l.length,u.length);c?(e._length=c,s("z"),s("radius"),s("below"),s("text"),s("hovertext"),s("hovertemplate"),i(t,e,o,s,{prefix:"",cLetter:"z"})):e.visible=!1}},96176:function(t){"use strict";t.exports=function(t,e){return t.lon=e.lon,t.lat=e.lat,t.z=e.z,t}},25336:function(t,e,r){"use strict";var n=r(54460),i=r(63312).hoverPoints,a=r(63312).getExtraText;t.exports=function(t,e,r){var o=i(t,e,r);if(o){var s=o[0],l=s.cd,u=l[0].trace,c=l[s.index];if(delete s.color,"z"in c){var f=s.subplot.mockAxis;s.z=c.z,s.zLabel=n.tickText(f,f.c2l(c.z),"hover").text}return s.extraText=a(u,c,l[0].t.labels),[s]}}},15088:function(t,e,r){"use strict";t.exports={attributes:r(33928),supplyDefaults:r(97664),colorbar:r(96288),formatLabels:r(11960),calc:r(90876),plot:r(35256),hoverPoints:r(25336),eventData:r(96176),getBelow:function(t,e){for(var r=e.getMapLayers(),n=0;n=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),i}},74248:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){for(var r=0;r"),l.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;return n(i)?i:n(a)&&o?a:void 0}(c,h),[l]}}},94704:function(t,e,r){"use strict";t.exports={attributes:r(20088),layoutAttributes:r(7076),supplyDefaults:r(45432).supplyDefaults,crossTraceDefaults:r(45432).crossTraceDefaults,supplyLayoutDefaults:r(11631),calc:r(23096),crossTraceCalc:r(4804),plot:r(42200),style:r(44544).style,hoverPoints:r(31488),eventData:r(34580),selectPoints:r(45784),moduleType:"trace",name:"funnel",basePlotModule:r(57952),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},7076:function(t){"use strict";t.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},11631:function(t,e,r){"use strict";var n=r(3400),i=r(7076);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s path").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".regions").each((function(){n.select(this).selectAll("path").style("stroke-width",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},22332:function(t,e,r){"use strict";var n=r(74996),i=r(45464),a=r(86968).u,o=r(21776).Ks,s=r(21776).Gw,l=r(92880).extendFlat;t.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},pattern:n.marker.pattern,editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:a({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},91248:function(t,e,r){"use strict";var n=r(7316);e.name="funnelarea",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},54e3:function(t,e,r){"use strict";var n=r(45768);t.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},92688:function(t,e,r){"use strict";var n=r(3400),i=r(22332),a=r(86968).Q,o=r(31508).handleText,s=r(74174).handleLabelsAndValues,l=r(74174).handleMarkerDefaults;t.exports=function(t,e,r,u){function c(r,a){return n.coerce(t,e,i,r,a)}var f=c("labels"),h=c("values"),p=s(f,h),d=p.len;if(e._hasLabels=p.hasLabels,e._hasValues=p.hasValues,!e._hasLabels&&e._hasValues&&(c("label0"),c("dlabel")),d){e._length=d,l(t,e,u,c),c("scalegroup");var v,g=c("text"),y=c("texttemplate");if(y||(v=c("textinfo",Array.isArray(g)?"text+percent":"percent")),c("hovertext"),c("hovertemplate"),y||v&&"none"!==v){var m=c("textposition");o(t,e,u,c,m,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else"none"===v&&c("textposition","none");a(e,u,c),c("title.text")&&(c("title.position"),n.coerceFont(c,"title.font",u.font)),c("aspectratio"),c("baseratio")}else e.visible=!1}},62396:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"funnelarea",basePlotModule:r(91248),categories:["pie-like","funnelarea","showLegend"],attributes:r(22332),layoutAttributes:r(61280),supplyDefaults:r(92688),supplyLayoutDefaults:r(35384),calc:r(54e3).calc,crossTraceCalc:r(54e3).crossTraceCalc,plot:r(39472),style:r(62096),styleOne:r(10528),meta:{}}},61280:function(t,e,r){"use strict";var n=r(85204).hiddenlabels;t.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},35384:function(t,e,r){"use strict";var n=r(3400),i=r(61280);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},39472:function(t,e,r){"use strict";var n=r(33428),i=r(43616),a=r(3400),o=a.strScale,s=a.strTranslate,l=r(72736),u=r(98184).toMoveInsideBar,c=r(82744),f=c.recordMinTextSize,h=c.clearMinTextSize,p=r(69656),d=r(37820),v=d.attachFxHandlers,g=d.determineInsideTextFont,y=d.layoutAreas,m=d.prerenderTitles,x=d.positionTitleOutside,b=d.formatSliceLabel;function _(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}t.exports=function(t,e){var r=t._context.staticPlot,c=t._fullLayout;h("funnelarea",c),m(e,t),y(e,c._size),a.makeTraceGroups(c._funnelarealayer,e,"trace").each((function(e){var h=n.select(this),d=e[0],y=d.trace;!function(t){if(t.length){var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),u=e.vTotal,c=u,f=u*l/(1-l)/u,h=[];for(h.push(E()),o=t.length-1;o>-1;o--)if(!(s=t[o]).hidden){var p=s.v/c;f+=p,h.push(E())}var d=1/0,v=-1/0;for(o=0;o-1;o--)if(!(s=t[o]).hidden){var M=h[A+=1][0],S=h[A][1];s.TL=[-M,S],s.TR=[M,S],s.BL=T,s.BR=k,s.pxmid=(_=s.TR,w=s.BR,[.5*(_[0]+w[0]),.5*(_[1]+w[1])]),T=s.TL,k=s.TR}}function E(){var t,e={x:t=Math.sqrt(f),y:-t};return[e.x,e.y]}}(e),h.each((function(){var h=n.select(this).selectAll("g.slice").data(e);h.enter().append("g").classed("slice",!0),h.exit().remove(),h.each((function(o,s){if(o.hidden)n.select(this).selectAll("path,g").remove();else{o.pointNumber=o.i,o.curveNumber=y.index;var h=d.cx,m=d.cy,x=n.select(this),w=x.selectAll("path.surface").data([o]);w.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),x.call(v,t,e);var T="M"+(h+o.TR[0])+","+(m+o.TR[1])+_(o.TR,o.BR)+_(o.BR,o.BL)+_(o.BL,o.TL)+"Z";w.attr("d",T),b(t,o,d);var k=p.castOption(y.textposition,o.pts),A=x.selectAll("g.slicetext").data(o.text&&"none"!==k?[0]:[]);A.enter().append("g").classed("slicetext",!0),A.exit().remove(),A.each((function(){var r=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),p=a.ensureUniformFontSize(t,g(y,o,c.font));r.text(o.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(i.font,p).call(l.convertToTspans,t);var d,v,x,b=i.bBox(r.node()),_=Math.min(o.BL[1],o.BR[1])+m,w=Math.max(o.TL[1],o.TR[1])+m;v=Math.max(o.TL[0],o.BL[0])+h,x=Math.min(o.TR[0],o.BR[0])+h,(d=u(v,x,_,w,b,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=p.size,f(y.type,d,c),e[s].transform=d,a.setTransormAndDisplay(r,d)}))}}));var m=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);m.enter().append("g").classed("titletext",!0),m.exit().remove(),m.each((function(){var e=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),r=y.title.text;y._meta&&(r=a.templateString(r,y._meta)),e.text(r).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(i.font,y.title.font).call(l.convertToTspans,t);var u=x(d,c._size);e.attr("transform",s(u.x,u.y)+o(Math.min(1,u.scale))+s(u.tx,u.ty))}))}))}))}},62096:function(t,e,r){"use strict";var n=r(33428),i=r(10528),a=r(82744).resizeText;t.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(".trace");a(t,e,"funnelarea"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},83328:function(t,e,r){"use strict";var n=r(52904),i=r(45464),a=r(25376),o=r(29736).axisHoverFormat,s=r(21776).Ks,l=r(21776).Gw,u=r(49084),c=r(92880).extendFlat;t.exports=c({z:{valType:"data_array",editType:"calc"},x:c({},n.x,{impliedEdits:{xtype:"array"}}),x0:c({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:c({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:c({},n.y,{impliedEdits:{ytype:"array"}}),y0:c({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:c({},n.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:c({},n.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:c({},n.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:c({},n.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:c({},n.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:c({},n.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:c({},n.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:o("x"),yhoverformat:o("y"),zhoverformat:o("z",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),textfont:a({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:c({},i.showlegend,{dflt:!1}),zorder:n.zorder},{transforms:void 0},u("",{cLetter:"z",autoColorDflt:!1}))},19512:function(t,e,r){"use strict";var n=r(24040),i=r(3400),a=r(54460),o=r(1220),s=r(55480),l=r(47128),u=r(2872),c=r(26136),f=r(70448),h=r(11240),p=r(35744),d=r(39032).BADNUM;function v(t){for(var e=[],r=t.length,n=0;n1){var e=(t[t.length-1]-t[0])/(t.length-1),r=Math.abs(e/100);for(k=0;kr)return!1}return!0}(M.rangebreaks||S.rangebreaks)&&(T=function(t,e,r){for(var n=[],i=-1,a=0;a=0;o--)(s=((f[[(r=(a=h[o])[0])-1,i=a[1]]]||v)[2]+(f[[r+1,i]]||v)[2]+(f[[r,i-1]]||v)[2]+(f[[r,i+1]]||v)[2])/20)&&(l[a]=[r,i,s],h.splice(o,1),u=!0);if(!u)throw"findEmpties iterated with no new neighbors";for(a in l)f[a]=l[a],c.push(l[a])}return c.sort((function(t,e){return e[2]-t[2]}))}},55512:function(t,e,r){"use strict";var n=r(93024),i=r(3400),a=i.isArrayOrTypedArray,o=r(54460),s=r(8932).extractOpts;t.exports=function(t,e,r,l,u){u||(u={});var c,f,h,p,d=u.isContour,v=t.cd[0],g=v.trace,y=t.xa,m=t.ya,x=v.x,b=v.y,_=v.z,w=v.xCenter,T=v.yCenter,k=v.zmask,A=g.zhoverformat,M=x,S=b;if(!1!==t.index){try{h=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(h<0||h>=_[0].length||p<0||p>_.length)return}else{if(n.inbox(e-x[0],e-x[x.length-1],0)>0||n.inbox(r-b[0],r-b[b.length-1],0)>0)return;if(d){var E;for(M=[2*x[0]-x[1]],E=1;Ev&&(y=Math.max(y,Math.abs(t[a][o]-d)/(g-v))))}return y}t.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},39096:function(t,e,r){"use strict";var n=r(3400);t.exports=function(t,e){t("texttemplate");var r=n.extendFlat({},e.font,{color:"auto",size:"auto"});n.coerceFont(t,"textfont",r)}},35744:function(t,e,r){"use strict";var n=r(24040),i=r(3400).isArrayOrTypedArray;t.exports=function(t,e,r,a,o,s){var l,u,c,f=[],h=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var v=e.length;if(!(v<=o))return h?e.slice(0,o):e.slice(0,o+1);if(h||d)f=Array.from(e).slice(0,o);else if(1===o)f="log"===s.type?[.5*e[0],2*e[0]]:[e[0]-.5,e[0]+.5];else if("log"===s.type){for(f=[Math.pow(e[0],1.5)/Math.pow(e[1],.5)],c=1;c0;)k=A.c2p(N[C]),C--;for(k0;)L=M.c2p(j[C]),C--;L=A._length||k<=0||E>=M._length||L<=0)return I.selectAll("image").data([]).exit().remove(),void b(I);"fast"===Z?(J=W,$=G):(J=Q,$=tt);var et=document.createElement("canvas");et.width=J,et.height=$;var rt,nt,it=et.getContext("2d",{willReadFrequently:!0}),at=p(D,{noNumericCheck:!0,returnArray:!0});"fast"===Z?(rt=Y?function(t){return W-1-t}:l.identity,nt=X?function(t){return G-1-t}:l.identity):(rt=function(t){return l.constrain(Math.round(A.c2p(N[t])-r),0,Q)},nt=function(t){return l.constrain(Math.round(M.c2p(j[t])-E),0,tt)});var ot,st,lt,ut,ct=nt(0),ft=[ct,ct],ht=Y?0:1,pt=X?0:1,dt=0,vt=0,gt=0,yt=0;function mt(t,e){if(void 0!==t){var r=at(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),dt+=e,vt+=r[0]*e,gt+=r[1]*e,yt+=r[2]*e,r}return[0,0,0,0]}function xt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return mt(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],u=o-i||0,c=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,mt(i+r.frac*u+n.frac*(c+r.frac*a))}if("default"!==Z){var bt,_t=0;try{bt=new Uint8Array(J*$*4)}catch(t){bt=new Array(J*$*4)}if("smooth"===Z){var wt,Tt,kt,At=U||N,Mt=V||j,St=new Array(At.length),Et=new Array(Mt.length),Lt=new Array(Q),Ct=U?w:_,Pt=V?w:_;for(C=0;CZt||Zt>M._length))for(P=Gt;PJt||Jt>A._length)){var $t=c({x:Kt,y:Xt},D,t._fullLayout);$t.x=Kt,$t.y=Xt;var Qt=z.z[C][P];void 0===Qt?($t.z="",$t.zLabel=""):($t.z=Qt,$t.zLabel=s.tickText(Ut,Qt,"hover").text);var te=z.text&&z.text[C]&&z.text[C][P];void 0!==te&&!1!==te||(te=""),$t.text=te;var ee=l.texttemplateString(Nt,$t,t._fullLayout._d3locale,$t,D._meta||{});if(ee){var re=ee.split("
"),ne=re.length,ie=0;for(O=0;O0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]u?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:u:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),u=d(r,a,s),c=t===i?0:1;return l[c]!==u[c]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}t.exports=function(t,e,r,n,a){var s,l,u=-1.1*e,h=-.1*e,p=t-h,d=r[0],v=r[1],g=Math.min(f(d+h,d+p,n,a),f(v+h,v+p,n,a)),y=Math.min(f(d+u,d+h,n,a),f(v+u,v+h,n,a));if(g>y&&yo){var m=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",m);s>0&&(o=o.substr(0,s));var u=n.d2c(o,0,a);if(ur.r2l(B)&&(j=o.tickIncrement(j,b.size,!0,p)),z.start=r.l2r(j),F||i.nestedProperty(e,y+".start").set(z.start)}var U=b.end,V=r.r2l(I.end),q=void 0!==V;if((b.endFound||q)&&V!==r.r2l(U)){var H=q?V:i.aggNums(Math.max,null,d);z.end=r.l2r(H),q||i.nestedProperty(e,y+".start").set(z.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[y]=i.extendFlat({},e[y]||{}),delete e._input[G],delete e[G]),[z,d]}t.exports={calc:function(t,e){var r,a,p,d,v=[],g=[],y="h"===e.orientation,m=o.getFromId(t,y?e.yaxis:e.xaxis),x=y?"y":"x",b={x:"y",y:"x"}[x],_=e[x+"calendar"],w=e.cumulative,T=h(t,e,m,x),k=T[0],A=T[1],M="string"==typeof k.size,S=[],E=M?S:k,L=[],C=[],P=[],O=0,I=e.histnorm,z=e.histfunc,D=-1!==I.indexOf("density");w.enabled&&D&&(I=I.replace(/ ?density$/,""),D=!1);var R,F="max"===z||"min"===z?null:0,B=l.count,N=u[I],j=!1,U=function(t){return m.r2c(t,0,_)};for(i.isArrayOrTypedArray(e[b])&&"count"!==z&&(R=e[b],j="avg"===z,B=l[z]),r=U(k.start),p=U(k.end)+(r-o.tickIncrement(r,k.size,!1,_))/1e6;r=0&&d=0;n--)s(n);else if("increasing"===e){for(n=1;n=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var J=Math.min(v.length,g.length),$=[],Q=0,tt=J-1;for(r=0;r=Q;r--)if(g[r]){tt=r;break}for(r=Q;r<=tt;r++)if(n(v[r])&&n(g[r])){var et={p:v[r],s:g[r],b:0};w.enabled||(et.pts=P[r],W?et.ph0=et.ph1=P[r].length?A[P[r][0]]:v[r]:(e._computePh=!0,et.ph0=H(S[r]),et.ph1=H(S[r+1],!0))),$.push(et)}return 1===$.length&&($[0].width1=o.tickIncrement($[0].p,k.size,!1,_)-$[0].p),s($,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected($,e,Z),$},calcAllAutoBins:h}},73316:function(t){"use strict";t.exports={eventDataKeys:["binNumber"]}},80536:function(t,e,r){"use strict";var n=r(3400),i=r(79811),a=r(24040).traceIs,o=r(20011),s=r(31508).validateCornerradius,l=n.nestedProperty,u=r(71888).getAxisGroup,c=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],f=["x","y"];t.exports=function(t,e){var r,h,p,d,v,g,y,m=e._histogramBinOpts={},x=[],b={},_=[];function w(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function T(t){return"v"===t.orientation?"x":"y"}function k(t,r,a){var o=t.uid+"__"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+"calendar"]||"",u=m[r],c=!0;u&&(s===u.axType&&l===u.calendar?(c=!1,u.traces.push(t),u.dirs.push(a)):(r=o,s!==u.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+u.axType,"axis."].join(" ")),l!==u.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",u.calendar?"on a "+u.calendar+" calendar":"w/o a set calendar"].join(" ")))),c&&(m[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+"calendar"]||""}),t["_"+a+"bingroup"]=r}for(v=0;vS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],L=[],C=[],P="string"==typeof w.size,O="string"==typeof A.size,I=[],z=[],D=P?I:w,R=O?z:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf("density"),q="max"===U||"min"===U?null:0,H=a.count,G=o[j],W=!1,Y=[],X=[],Z="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";Z&&"count"!==U&&(W="avg"===U,H=a[U]);var K=w.size,J=x(w.start),$=x(w.end)+(J-i.tickIncrement(J,K,!1,y))/1e6;for(r=J;r<$;r=i.tickIncrement(r,K,!1,y))L.push(q),I.push(r),W&&C.push(0);I.push(r);var Q,tt=L.length,et=(r-J)/tt,rt=(Q=J+et/2,v.c2r(Q,0,y)),nt=A.size,it=b(A.start),at=b(A.end)+(it-i.tickIncrement(it,nt,!1,m))/1e6;for(r=it;r=0&&p=0&&d-1,flipY:C.tiling.flip.indexOf("y")>-1,orientation:C.tiling.orientation,pad:{inner:C.tiling.pad},maxDepth:C._maxDepth}).descendants(),D=1/0,R=-1/0;z.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(D=Math.min(D,e),R=Math.max(R,e))})),d=d.data(z,c.getPtId),C._maxVisibleLayers=isFinite(R)?R-D+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var F=null;if(T&&S){var B=c.getPtId(S);d.each((function(t){null===F&&c.getPtId(t)===B&&(F={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var N=function(){return F||{x0:0,x1:g,y0:0,y1:y}},j=d;return T&&(j=j.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),j.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.tiling.pad),s._hoverY=x(I?s.y1-C.tiling.pad/2:s.y0+C.tiling.pad/2);var d=n.select(this),v=i.ensureSingle(d,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?v.transition().attrTween("d",(function(t){var e=A(t,p,N(),[g,y],{orientation:C.tiling.orientation,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1});return function(t){return b(e(t))}})):v.attr("d",b),d.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),v.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=h(s,r,C,e,L)||"";var k=i.ensureSingle(d,"g","slicetext"),S=i.ensureSingle(k,"text","",(function(t){t.attr("data-notex",1)})),z=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font));S.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",O?"end":P?"start":"middle").call(a.font,z).call(o.convertToTspans,t),s.textBB=a.bBox(S.node()),s.transform=_(s,{fontSize:z.size}),s.transform.fontSize=z.size,T?S.transition().attrTween("transform",(function(t){var e=M(t,p,N(),[g,y]);return function(t){return w(e(t))}})):S.attr("transform",w(s))})),F}},29044:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"icicle",basePlotModule:r(59564),categories:[],animatable:!0,attributes:r(97376),layoutAttributes:r(90676),supplyDefaults:r(7045),supplyLayoutDefaults:r(4304),calc:r(73876).r,crossTraceCalc:r(73876).q,plot:r(38364),style:r(47192).style,colorbar:r(5528),meta:{}}},90676:function(t){"use strict";t.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},4304:function(t,e,r){"use strict";var n=r(3400),i=r(90676);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("iciclecolorway",e.colorway),r("extendiciclecolors")}},25132:function(t,e,r){"use strict";var n=r(74148),i=r(83024);t.exports=function(t,e,r){var a=r.flipX,o=r.flipY,s="h"===r.orientation,l=r.maxDepth,u=e[0],c=e[1];l&&(u=(t.height+1)*e[0]/Math.min(t.height+1,l),c=(t.height+1)*e[1]/Math.min(t.height+1,l));var f=n.partition().padding(r.pad.inner).size(s?[e[1],u]:[e[0],c])(t);return(s||a||o)&&i(f,e,{swapXY:s,flipX:a,flipY:o}),f}},38364:function(t,e,r){"use strict";var n=r(95808),i=r(67880);t.exports=function(t,e,r,a){return n(t,e,r,a,{type:"icicle",drawDescendants:i})}},47192:function(t,e,r){"use strict";var n=r(33428),i=r(76308),a=r(3400),o=r(82744).resizeText,s=r(60404);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,"marker.line.color")||i.defaultLine,f=a.castOption(r,u,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",f).call(i.stroke,c).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(".trace");o(t,e,"icicle"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},95188:function(t,e,r){"use strict";for(var n=r(45464),i=r(52904).zorder,a=r(21776).Ks,o=r(92880).extendFlat,s=r(47797).colormodel,l=["rgb","rgba","rgba256","hsl","hsla"],u=[],c=[],f=0;f0||n.inbox(r-s.y0,r-(s.y0+s.h*l.dy),0)>0)){var f,h=Math.floor((e-s.x0)/l.dx),p=Math.floor(Math.abs(r-s.y0)/l.dy);if(l._hasZ?f=s.z[p][h]:l._hasSource&&(f=l._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(h,p,1,1).data),f){var d,v=s.hi||l.hoverinfo;if(v){var g=v.split("+");-1!==g.indexOf("all")&&(g=["color"]),-1!==g.indexOf("color")&&(d=!0)}var y,m=o.colormodel[l.colormodel],x=m.colormodel||l.colormodel,b=x.length,_=l._scaler(f),w=m.suffix,T=[];(l.hovertemplate||d)&&(T.push("["+[_[0]+w[0],_[1]+w[1],_[2]+w[2]].join(", ")),4===b&&T.push(", "+_[3]+w[3]),T.push("]"),T=T.join(""),t.extraText=x.toUpperCase()+": "+T),a(l.hovertext)&&a(l.hovertext[p])?y=l.hovertext[p][h]:a(l.text)&&a(l.text[p])&&(y=l.text[p][h]);var k=c.c2p(s.y0+(p+.5)*l.dy),A=s.x0+(h+.5)*l.dx,M=s.y0+(p+.5)*l.dy,S="["+f.slice(0,l.colormodel.length).join(", ")+"]";return[i.extendFlat(t,{index:[p,h],x0:u.c2p(s.x0+h*l.dx),x1:u.c2p(s.x0+(h+1)*l.dx),y0:k,y1:k,color:_,xVal:A,xLabelVal:A,yVal:M,yLabelVal:M,zLabelVal:S,text:y,hovertemplateLabels:{zLabel:S,colorLabel:T,"color[0]Label":_[0]+w[0],"color[1]Label":_[1]+w[1],"color[2]Label":_[2]+w[2],"color[3]Label":_[3]+w[3]}})]}}}},48928:function(t,e,r){"use strict";t.exports={attributes:r(95188),supplyDefaults:r(13188),calc:r(93336),plot:r(63715),style:r(28576),hoverPoints:r(24892),eventData:r(79972),moduleType:"trace",name:"image",basePlotModule:r(57952),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},63715:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.strTranslate,o=r(9616),s=r(47797),l=r(9188),u=r(2264).STYLE;t.exports=function(t,e,r,c){var f=e.xaxis,h=e.yaxis,p=!t._context._exportedPlot&&l();i.makeTraceGroups(c,r,"im").each((function(e){var r=n.select(this),l=e[0],c=l.trace,d=("fast"===c.zsmooth||!1===c.zsmooth&&p)&&!c._hasZ&&c._hasSource&&"linear"===f.type&&"linear"===h.type;c._realImage=d;var v,g,y,m,x,b,_=l.z,w=l.x0,T=l.y0,k=l.w,A=l.h,M=c.dx,S=c.dy;for(b=0;void 0===v&&b0;)g=f.c2p(w+b*M),b--;for(b=0;void 0===m&&b0;)x=h.c2p(T+b*S),b--;gI[0];if(z||D){var R=v+E/2,F=m+L/2;P+="transform:"+a(R+"px",F+"px")+"scale("+(z?-1:1)+","+(D?-1:1)+")"+a(-R+"px",-F+"px")+";"}}C.attr("style",P);var B=new Promise((function(t){if(c._hasZ)t();else if(c._hasSource)if(c._canvas&&c._canvas.el.width===k&&c._canvas.el.height===A&&c._canvas.source===c.source)t();else{var e=document.createElement("canvas");e.width=k,e.height=A;var r=e.getContext("2d",{willReadFrequently:!0});c._image=c._image||new Image;var n=c._image;n.onload=function(){r.drawImage(n,0,0),c._canvas={el:e,source:c.source},t()},n.setAttribute("src",c.source)}})).then((function(){var t,e;if(c._hasZ)e=N((function(t,e){var r=_[e][t];return i.isTypedArray(r)&&(r=Array.from(r)),r})),t=e.toDataURL("image/png");else if(c._hasSource)if(d)t=c.source;else{var r=c._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,k,A).data;e=N((function(t,e){var n=4*(e*k+t);return[r[n],r[n+1],r[n+2],r[n+3]]})),t=e.toDataURL("image/png")}C.attr({"xlink:href":t,height:L,width:E,x:v,y:m})}));t._promises.push(B)}function N(t){var e=document.createElement("canvas");e.width=E,e.height=L;var r,n=e.getContext("2d",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(f.c2p(w+t*M)-v),0,E)},o=function(t){return i.constrain(Math.round(h.c2p(T+t*S)-m),0,L)},u=s.colormodel[c.colormodel],p=u.colormodel||c.colormodel,d=u.fmt;for(b=0;b0}function T(t){t.each((function(t){m.stroke(n.select(this),t.line.color)})).each((function(t){m.fill(n.select(this),t.color)})).style("stroke-width",(function(t){return t.line.width}))}function k(t,e,r){var n=t._fullLayout,i=o.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),a={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,y,t,e)}return v(i,a,l,s,n),g(i,a,l,s),a}function A(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function M(t,e,r,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(a);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(p.convertToTspans,i).call(f.font,e),f.bBox(o.node())}function S(t,e,r,n,i,a){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=o.aggNums(a,null,[t[s].value,n],2);return t[s].value=l,l}t.exports=function(t,e,r,v){var g,y=t._fullLayout;w(r)&&v&&(g=v()),o.makeTraceGroups(y._indicatorlayer,e,"trace").each((function(e){var v,E,L,C,P,O=e[0].trace,I=n.select(this),z=O._hasGauge,D=O._isAngular,R=O._isBullet,F=O.domain,B={w:y._size.w*(F.x[1]-F.x[0]),h:y._size.h*(F.y[1]-F.y[0]),l:y._size.l+y._size.w*F.x[0],r:y._size.r+y._size.w*(1-F.x[1]),t:y._size.t+y._size.h*(1-F.y[1]),b:y._size.b+y._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=h.innerRadius*U,q=O.align||"center";if(E=j,z){if(D&&(v=N,E=j+U/2,L=function(t){return function(t,e){return[e/Math.sqrt(t.width/2*(t.width/2)+t.height*t.height),t,e]}(t,.9*V)}),R){var H=h.bulletPadding,G=1-h.bulletNumberDomainSize+H;v=B.l+(G+(1-G)*b[q])*B.w,L=function(t){return A(t,(h.bulletNumberDomainSize-H)*B.w,B.h)}}}else v=B.l+b[q]*B.w,L=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var u,c,h,v=r[0].trace,g=i.numbersX,y=i.numbersY,T=v.align||"center",A=x[T],E=i.transitionOpts,L=i.onComplete,C=o.ensureSingle(e,"g","numbers"),P=[];v._hasNumber&&P.push("number"),v._hasDelta&&(P.push("delta"),"left"===v.delta.position&&P.reverse());var O=C.selectAll("text").data(P);function I(e,r,n,i){if(!e.match("s")||n>=0==i>=0||r(n).slice(-1).match(_)||r(i).slice(-1).match(_))return r;var a=e.slice().replace("s","f").replace(/\d+/,(function(t){return parseInt(t)-1})),o=k(t,{tickformat:a});return function(t){return Math.abs(t)<1?d.tickText(o,t).text:r(t)}}O.enter().append("text"),O.attr("text-anchor",(function(){return A})).attr("class",(function(t){return t})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),O.exit().remove();var z,D=v.mode+v.align;if(v._hasDelta&&(z=function(){var e=k(t,{tickformat:v.delta.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.delta.suffix,s=v.delta.prefix,l=function(t){return v.delta.relative?t.relativeDelta:t.delta},u=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?v.delta.increasing.symbol:v.delta.decreasing.symbol)+s+e(t)+o},h=function(t){return t.delta>=0?v.delta.increasing.color:v.delta.decreasing.color};void 0===v._deltaLastValue&&(v._deltaLastValue=l(r[0]));var g=C.select("text.delta");function y(){g.text(u(l(r[0]),i)).call(m.fill,h(r[0])).call(p.convertToTspans,t)}return g.call(f.font,v.delta.font).call(m.fill,h({delta:v._deltaLastValue})),w(E)?g.transition().duration(E.duration).ease(E.easing).tween("text",(function(){var t=n.select(this),e=l(r[0]),o=v._deltaLastValue,s=I(v.delta.valueformat,i,o,e),c=a(o,e);return v._deltaLastValue=e,function(e){t.text(u(c(e),s)),t.call(m.fill,h({delta:c(e)}))}})).each("end",(function(){y(),L&&L()})).each("interrupt",(function(){y(),L&&L()})):y(),c=M(u(l(r[0]),i),v.delta.font,A,t),g}(),D+=v.delta.position+v.delta.font.size+v.delta.font.family+v.delta.valueformat,D+=v.delta.increasing.symbol+v.delta.decreasing.symbol,h=c),v._hasNumber&&(function(){var e=k(t,{tickformat:v.number.valueformat},v._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=v.number.suffix,s=v.number.prefix,l=C.select("text.number");function c(){var e="number"==typeof r[0].y?s+i(r[0].y)+o:"-";l.text(e).call(f.font,v.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each("end",(function(){c(),L&&L()})).each("interrupt",(function(){c(),L&&L()})).attrTween("text",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);v._lastValue=r[0].y;var l=I(v.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(s+l(e(r))+o)}})):c(),u=M(s+i(r[0].y)+o,v.number.font,A,t)}(),D+=v.number.font.size+v.number.font.family+v.number.valueformat+v.number.suffix+v.number.prefix,h=u),v._hasDelta&&v._hasNumber){var R,F,B=[(u.left+u.right)/2,(u.top+u.bottom)/2],N=[(c.left+c.right)/2,(c.top+c.bottom)/2],j=.75*v.delta.font.size;"left"===v.delta.position&&(R=S(v,"deltaPos",0,-1*(u.width*b[v.align]+c.width*(1-b[v.align])+j),D,Math.min),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:c.left+R,right:u.right,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"right"===v.delta.position&&(R=S(v,"deltaPos",0,u.width*(1-b[v.align])+c.width*b[v.align]+j,D,Math.max),F=B[1]-N[1],h={width:u.width+c.width+j,height:Math.max(u.height,c.height),left:u.left,right:c.right+R,top:Math.min(u.top,c.top+F),bottom:Math.max(u.bottom,c.bottom+F)}),"bottom"===v.delta.position&&(R=null,F=c.height,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height,bottom:u.bottom+c.height}),"top"===v.delta.position&&(R=null,F=u.top,h={width:Math.max(u.width,c.width),height:u.height+c.height,left:Math.min(u.left,c.left),right:Math.max(u.right,c.right),top:u.bottom-u.height-c.height,bottom:u.bottom}),z.attr({dx:R,dy:F})}(v._hasNumber||v._hasDelta)&&C.attr("transform",(function(){var t=i.numbersScaler(h);D+=t[2];var e,r=S(v,"numbersScale",1,t[0],D,Math.min);v._scaleNumbers||(r=1),e=v._isAngular?y-r*h.bottom:y-r*(h.top+h.bottom)/2,v._numbersTop=r*h.top+e;var n=h[T];"center"===T&&(n=(h.left+h.right)/2);var a=g-r*n;return a=S(v,"numbersTranslate",0,a,D,Math.max),l(a,e)+s(r)}))}(t,I,e,{numbersX:v,numbersY:E,numbersScaler:L,transitionOpts:r,onComplete:g}),z&&(C={range:O.gauge.axis.range,color:O.gauge.bgcolor,line:{color:O.gauge.bordercolor,width:0},thickness:1},P={range:O.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:O.gauge.bordercolor,width:O.gauge.borderwidth},thickness:1});var W=I.selectAll("g.angular").data(D?e:[]);W.exit().remove();var Y=I.selectAll("g.angularaxis").data(D?e:[]);Y.exit().remove(),D&&function(t,e,r,a){var o,s,f,h,p=r[0].trace,v=a.size,g=a.radius,y=a.innerRadius,m=a.gaugeBg,x=a.gaugeOutline,b=[v.l+v.w/2,v.t+v.h/2+g/2],_=a.gauge,A=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function L(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-E;return r<-E?-E:r>E?E:r}function C(t){return n.svg.arc().innerRadius((y+g)/2-t/2*(g-y)).outerRadius((y+g)/2+t/2*(g-y)).startAngle(-E)}function P(t){t.attr("d",(function(t){return C(t.thickness).startAngle(L(t.range[0])).endAngle(L(t.range[1]))()}))}_.enter().append("g").classed("angular",!0),_.attr("transform",l(b[0],b[1])),A.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),A.selectAll("g.xangularaxistick,path,text").remove(),(o=k(t,p.gauge.axis)).type="linear",o.range=p.gauge.axis.range,o._id="xangularaxis",o.ticklabeloverflow="allow",o.setScale();var O=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},I={},z=d.makeLabelFns(o,0).labelStandoff;I.xFn=function(t){var e=O(t);return Math.cos(e)*z},I.yFn=function(t){var e=O(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(z+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*c)},I.anchorFn=function(t){var e=O(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},I.heightFn=function(t,e,r){var n=O(t);return-.5*(1+Math.sin(n))*r};var D=function(t){return l(b[0]+g*Math.cos(t),b[1]-g*Math.sin(t))};f=function(t){return D(O(t))};if(s=d.calcTicks(o),h=d.getTickSigns(o)[2],o.visible){h="inside"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(t,o,{vals:s,layer:A,path:"M"+h*R+",0h"+h*o.ticklen,transFn:function(t){var e=O(t);return D(e)+"rotate("+-u(e)+")"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:f,labelFns:I})}var F=[m].concat(p.gauge.steps),B=_.selectAll("g.bg-arc").data(F);B.enter().append("g").classed("bg-arc",!0).append("path"),B.select("path").call(P).call(T),B.exit().remove();var N=C(p.gauge.bar.thickness),j=_.selectAll("g.value-arc").data([p.gauge.bar]);j.enter().append("g").classed("value-arc",!0).append("path");var U,V,q,H=j.select("path");w(M)?(H.transition().duration(M.duration).ease(M.easing).each("end",(function(){S&&S()})).each("interrupt",(function(){S&&S()})).attrTween("d",(U=N,V=L(r[0].lastY),q=L(r[0].y),function(){var t=i(V,q);return function(e){return U.endAngle(t(e))()}})),p._lastValue=r[0].y):H.attr("d","number"==typeof r[0].y?N.endAngle(L(r[0].y)):"M0,0Z"),H.call(T),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var W=_.selectAll("g.threshold-arc").data(F);W.enter().append("g").classed("threshold-arc",!0).append("path"),W.select("path").call(P).call(T),W.exit().remove();var Y=_.selectAll("g.gauge-outline").data([x]);Y.enter().append("g").classed("gauge-outline",!0).append("path"),Y.select("path").call(P).call(T),Y.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:W,layer:Y,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var X=I.selectAll("g.bullet").data(R?e:[]);X.exit().remove();var Z=I.selectAll("g.bulletaxis").data(R?e:[]);Z.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,u,c=r[0].trace,f=n.gauge,p=n.layer,v=n.gaugeBg,g=n.gaugeOutline,y=n.size,x=c.domain,b=n.transitionOpts,_=n.onComplete;f.enter().append("g").classed("bullet",!0),f.attr("transform",l(y.l,y.t)),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var A=y.h,M=c.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(c._hasNumber||c._hasDelta?1-h.bulletNumberDomainSize:1);function L(t){t.attr("width",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr("x",(function(t){return i.c2p(t.range[0])})).attr("y",(function(t){return.5*(1-t.thickness)*A})).attr("height",(function(t){return t.thickness*A}))}(i=k(t,c.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],u=y.t+y.h,i.visible&&(d.drawTicks(t,i,{vals:"inside"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,u,s),transFn:o}),d.drawLabels(t,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,u)}));var C=[v].concat(c.gauge.steps),P=f.selectAll("g.bg-bullet").data(C);P.enter().append("g").classed("bg-bullet",!0).append("rect"),P.select("rect").call(L).call(T),P.exit().remove();var O=f.selectAll("g.value-bullet").data([c.gauge.bar]);O.enter().append("g").classed("value-bullet",!0).append("rect"),O.select("rect").attr("height",M).attr("y",(A-M)/2).call(T),w(b)?O.select("rect").transition().duration(b.duration).ease(b.easing).each("end",(function(){_&&_()})).each("interrupt",(function(){_&&_()})).attr("width",Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y)))):O.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(c.gauge.axis.range[1],r[0].y))):0),O.exit().remove();var I=r.filter((function(){return c.gauge.threshold.value||0===c.gauge.threshold.value})),z=f.selectAll("g.threshold-bullet").data(I);z.enter().append("g").classed("threshold-bullet",!0).append("line"),z.select("line").attr("x1",i.c2p(c.gauge.threshold.value)).attr("x2",i.c2p(c.gauge.threshold.value)).attr("y1",(1-c.gauge.threshold.thickness)/2*A).attr("y2",(1-(1-c.gauge.threshold.thickness)/2)*A).call(m.stroke,c.gauge.threshold.line.color).style("stroke-width",c.gauge.threshold.line.width),z.exit().remove();var D=f.selectAll("g.gauge-outline").data([g]);D.enter().append("g").classed("gauge-outline",!0).append("rect"),D.select("rect").call(L).call(T),D.exit().remove()}(t,0,e,{gauge:X,layer:Z,size:B,gaugeBg:C,gaugeOutline:P,transitionOpts:r,onComplete:g});var K=I.selectAll("text.title").data(e);K.exit().remove(),K.enter().append("text").classed("title",!0),K.attr("text-anchor",(function(){return R?x.right:x[O.title.align]})).text(O.title.text).call(f.font,O.title.font).call(p.convertToTspans,t),K.attr("transform",(function(){var t,e=B.l+B.w*b[O.title.align],r=h.titlePadding,n=f.bBox(K.node());return z?(D&&(t=O.gauge.axis.visible?f.bBox(Y.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(t=E-(n.top+n.bottom)/2,e=B.l-h.bulletPadding*B.w)):t=O._numbersTop-r-n.bottom,l(e,t)}))}))}},50048:function(t,e,r){"use strict";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(52948),s=r(45464),l=r(92880).extendFlat,u=r(67824).overrideAll,c=t.exports=u(l({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),valuehoverformat:i("value",1),showlegend:l({},s.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),"calc","nested");c.flatshading.dflt=!0,c.lighting.facenormalsepsilon.dflt=0,c.x.editType=c.y.editType=c.z.editType=c.value.editType="calc+clearAxisTypes",c.transforms=void 0},62624:function(t,e,r){"use strict";var n=r(47128),i=r(3832).processGrid,a=r(3832).filter;t.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function R(t,e){return null===t?e:t}function F(e,r,n){C();var i,a,o,l=[r],u=[n];if(s>=1)l=[r],u=[n];else if(s>0){var c=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?n[p]:L(d,v,y);h[p]=x>-1?x:O(d,v,y,R(e,m))}i=h[0],a=h[1],o=h[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++g}}function B(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}var V=3;function q(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):aMath.abs(L-M)?[A,L]:[L,M];d=!0,Q(r,C[0],C[1]),d=!1}}var I=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(r){for(var n=[],i=0;i0&&(f.push(d.id),"x"===r?h.push([d.distRatio,0,0]):"y"===r?h.push([0,d.distRatio,0]):h.push([0,0,d.distRatio]))}else c=nt(1,"x"===r?b-1:"y"===r?_-1:w-1);f.length>0&&(n[a]="x"===r?tt(e,f,o,s,h,n[a]):"y"===r?et(e,f,o,s,h,n[a]):rt(e,f,o,s,h,n[a]),a++),c.length>0&&(n[a]="x"===r?K(e,c,o,s,n[a]):"y"===r?J(e,c,o,s,n[a]):$(e,c,o,s,n[a]),a++)}var v=t.caps[r];v.show&&v.fill&&(z(v.fill),n[a]="x"===r?K(e,[0,b-1],o,s,n[a]):"y"===r?J(e,[0,_-1],o,s,n[a]):$(e,[0,w-1],o,s,n[a]),a++)}})),0===g&&P(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=y,t._Ys=m,t._Zs=x}(),t}t.exports={findNearestOnAxis:u,generateIsoMeshes:p,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new c(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},70548:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(50048),o=r(27260);function s(t,e,r,n,a){var s=a("isomin"),l=a("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var u=a("x"),c=a("y"),f=a("z"),h=a("value");u&&u.length&&c&&c.length&&f&&f.length&&h&&h.length?(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),a("valuehoverformat"),["x","y","z"].forEach((function(t){a(t+"hoverformat");var e="caps."+t;a(e+".show")&&a(e+".fill");var r="slices."+t;a(r+".show")&&(a(r+".fill"),a(r+".locations"))})),a("spaceframe.show")&&a("spaceframe.fill"),a("surface.show")&&(a("surface.count"),a("surface.fill"),a("surface.pattern")),a("contour.show")&&(a("contour.color"),a("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}t.exports={supplyDefaults:function(t,e,r,i){s(t,e,0,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},6296:function(t,e,r){"use strict";t.exports={attributes:r(50048),supplyDefaults:r(70548).supplyDefaults,calc:r(62624),colorbar:{min:"cmin",max:"cmax"},plot:r(31460).createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:r(12536),categories:["gl3d","showLegend"],meta:{}}},52948:function(t,e,r){"use strict";var n=r(49084),i=r(29736).axisHoverFormat,a=r(21776).Ks,o=r(16716),s=r(45464),l=r(92880).extendFlat;t.exports=l({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:"calc"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:"calc"},lighting:l({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:"calc"}),showlegend:l({},s.showlegend,{dflt:!1})})},1876:function(t,e,r){"use strict";var n=r(47128);t.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},576:function(t,e,r){"use strict";var n=r(67792).gl_mesh3d,i=r(67792).delaunay_triangulate,a=r(67792).alpha_shape,o=r(67792).convex_hull,s=r(33040).parseColorScale,l=r(3400).isArrayOrTypedArray,u=r(43080),c=r(8932).extractOpts,f=r(52094);function h(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var p=h.prototype;function d(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}p.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return l(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},p.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,l=t.x.length,h=f(v(r.xaxis,t.x,e.dataScale[0],t.xcalendar),v(r.yaxis,t.y,e.dataScale[1],t.ycalendar),v(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!y(t.i,l)||!y(t.j,l)||!y(t.k,l))return;n=f(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(h):t.alphahull>0?a(t.alphahull,h):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],a=e.length,o=0;oy):g=A>w,y=A;var M=u(w,T,k,A);M.pos=_,M.yc=(w+A)/2,M.i=b,M.dir=g?"increasing":"decreasing",M.x=M.pos,M.y=[k,T],m&&(M.orig_p=r[b]),d&&(M.tx=e.text[b]),v&&(M.htx=e.hovertext[b]),x.push(M)}else x.push({pos:_,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(h,f),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),x}t.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a"+u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat):((m=i.extendFlat({},h)).y0=m.y1=_,m.yLabelVal=b,m.yLabel=u.labels[x]+n.hoverLabelText(s,b,l.yhoverformat),m.name="",f.push(m),g[b]=m)}return f}function h(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,f=a[0].t,h=c(t,e,r,i);if(!h)return[];var p=a[h.index],d=h.index=p.i,v=p.dir;function g(t){return f.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var y=p.hi||l.hoverinfo,m=y.split("+"),x="all"===y,b=x||-1!==m.indexOf("y"),_=x||-1!==m.indexOf("text"),w=b?[g("open"),g("high"),g("low"),g("close")+" "+u[v]]:[];return _&&s(p,l,w),h.extraText=w.join("
"),h.y0=h.y1=o.c2p(p.yc,!0),[h]}t.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?f(t,e,r,n):h(t,e,r,n)},hoverSplit:f,hoverOnPoints:h}},65456:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"ohlc",basePlotModule:r(57952),categories:["cartesian","svg","showLegend"],meta:{},attributes:r(20279),supplyDefaults:r(23860),calc:r(42812).calc,plot:r(36664),style:r(14008),hoverPoints:r(18720).hoverPoints,selectPoints:r(97384)}},52744:function(t,e,r){"use strict";var n=r(24040),i=r(3400);t.exports=function(t,e,r,a){var o=r("x"),s=r("open"),l=r("high"),u=r("low"),c=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],a),s&&l&&u&&c){var f=Math.min(s.length,l.length,u.length,c.length);return o&&(f=Math.min(f,i.minRowLength(o))),e._length=f,f}}},36664:function(t,e,r){"use strict";var n=r(33428),i=r(3400);t.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,"trace ohlc").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var u=a.tickLen,c=e.selectAll("path").data(i.identity);c.enter().append("path"),c.exit().remove(),c.attr("d",(function(t){if(t.empty)return"M0,0Z";var e=s.c2p(t.pos-u,!0),r=s.c2p(t.pos+u,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return"M"+e+","+o.c2p(t.o,!0)+"H"+n+"M"+n+","+o.c2p(t.h,!0)+"V"+o.c2p(t.l,!0)+"M"+r+","+o.c2p(t.c,!0)+"H"+n}))}}))}},97384:function(t){"use strict";t.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(r))for(e=0;e0||c(s);u&&(o="array");var f=r("categoryorder",o);"array"===f?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),u||"array"!==f||(e.categoryorder="trace")}}t.exports=function(t,e,r,c){function h(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:"dimensions",handleItemDefaults:f}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,c,h);o(e,c,h),Array.isArray(p)&&p.length||(e.visible=!1),u(e,p,"values",d),h("hoveron"),h("hovertemplate"),h("arrangement"),h("bundlecolors"),h("sortpaths"),h("counts");var v={weight:c.font.weight,style:c.font.style,variant:c.font.variant,family:c.font.family,size:Math.round(c.font.size),color:c.font.color};n.coerceFont(h,"labelfont",v);var g={weight:c.font.weight,style:c.font.style,variant:c.font.variant,family:c.font.family,size:Math.round(c.font.size/1.2),color:c.font.color};n.coerceFont(h,"tickfont",g)}},22020:function(t,e,r){"use strict";t.exports={attributes:r(72140),supplyDefaults:r(76671),calc:r(69136),plot:r(60268),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:r(91800),categories:["noOpacity"],meta:{}}},51036:function(t,e,r){"use strict";var n=r(33428),i=r(67756).Gz,a=r(36424),o=r(93024),s=r(3400),l=s.strTranslate,u=r(43616),c=r(49760),f=r(72736);function h(t,e,r,i){var a=e._context.staticPlot,o=t.map(F.bind(0,e,r)),c=i.selectAll("g.parcatslayer").data([null]);c.enter().append("g").attr("class","parcatslayer").style("pointer-events",a?"none":"all");var h=c.selectAll("g.trace.parcats").data(o,p),m=h.enter().append("g").attr("class","trace parcats");h.attr("transform",(function(t){return l(t.x,t.y)})),m.append("g").attr("class","paths");var x=h.select("g.paths").selectAll("path.path").data((function(t){return t.paths}),p);x.attr("fill",(function(t){return t.model.color}));var w=x.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",(function(t){return t.model.color})).attr("fill-opacity",0);_(w),x.attr("d",(function(t){return t.svgD})),w.empty()||x.sort(v),x.exit().remove(),x.on("mouseover",g).on("mouseout",y).on("click",b),m.append("g").attr("class","dimensions");var A=h.select("g.dimensions").selectAll("g.dimension").data((function(t){return t.dimensions}),p);A.enter().append("g").attr("class","dimension"),A.attr("transform",(function(t){return l(t.x,0)})),A.exit().remove();var M=A.selectAll("g.category").data((function(t){return t.categories}),p),S=M.enter().append("g").attr("class","category");M.attr("transform",(function(t){return l(0,t.y)})),S.append("rect").attr("class","catrect").attr("pointer-events","none"),M.select("rect.catrect").attr("fill","none").attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),T(S);var E=M.selectAll("rect.bandrect").data((function(t){return t.bands}),p);E.each((function(){s.raiseToTop(this)})),E.attr("fill",(function(t){return t.color}));var z=E.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);E.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})).attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"})),k(z),E.exit().remove(),S.append("text").attr("class","catlabel").attr("pointer-events","none");var D=e._fullLayout.paper_bgcolor;M.select("text.catlabel").attr("text-anchor",(function(t){return d(t)?"start":"end"})).attr("alignment-baseline","middle").style("text-shadow",f.makeTextShadow(D)).style("fill","rgb(0, 0, 0)").attr("x",(function(t){return d(t)?t.width+5:-5})).attr("y",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){u.font(n.select(this),t.parcatsViewModel.categorylabelfont),f.convertToTspans(n.select(this),e)})),S.append("text").attr("class","dimlabel"),M.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"})).attr("x",(function(t){return t.width/2})).attr("y",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){u.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll("rect.bandrect").on("mouseover",L).on("mouseout",C),M.exit().remove(),A.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on("dragstart",P).on("drag",O).on("dragend",I)),h.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")})),h.exit().remove()}function p(t){return t.key}function d(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function v(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor"),L=n.mouse(f)[0];o.loneHover({trace:h,x:b-d.left+v.left,y:_-d.top+v.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:T,idealAlign:L1&&h.displayInd===f.dimensions.length-1?(i=u.left,a="left"):(i=u.left+u.width,a="right");var v=c.model.count,g=c.model.categoryLabel,y=v/c.parcatsViewModel.model.count,m={countLabel:v,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==c.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",m.countLabel].join(" ")),-1!==c.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+m.categoryLabel+"):",m.probabilityLabel].join(" "));var b=x.join("
");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:b,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:m,eventData:[{data:p._input,fullData:p,count:v,category:g,probability:y}]}}function L(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron,u=this;"color"===l?(function(t){var e=n.select(t).datum(),r=A(e);w(r),r.each((function(){s.raiseToTop(this)})),n.select(t.parentNode).selectAll("rect.bandrect").filter((function(t){return t.color===e.color})).each((function(){s.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)}))}(u),S(u,"plotly_hover",n.event)):(function(t){n.select(t.parentNode).selectAll("rect.bandrect").each((function(t){var e=A(t);w(e),e.each((function(){s.raiseToTop(this)}))})),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(u),M(u,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")&&("category"===l?e=E(r,a,u):"color"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),u=n.select(r).datum(),f=u.categoryViewModel,h=f.parcatsViewModel,p=h.model.dimensions[f.model.dimensionInd],d=h.trace,v=l.y+l.height/2;h.dimensions.length>1&&p.displayInd===h.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var g=f.model.categoryLabel,y=u.parcatsViewModel.model.count,m=0;u.categoryViewModel.bands.forEach((function(t){t.color===u.color&&(m+=t.count)}));var x=f.model.count,b=0;h.pathSelection.each((function(t){t.model.color===u.color&&(b+=t.model.count)}));var _=m/y,w=m/b,T=m/x,k={countLabel:m,categoryLabel:g,probabilityLabel:_.toFixed(3)},A=[];-1!==f.parcatsViewModel.hoverinfoItems.indexOf("count")&&A.push(["Count:",k.countLabel].join(" ")),-1!==f.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(A.push("P(color ∩ "+g+"): "+k.probabilityLabel),A.push("P("+g+" | color): "+w.toFixed(3)),A.push("P(color | "+g+"): "+T.toFixed(3)));var M=A.join("
"),S=c.mostReadable(u.color,["black","white"]);return{trace:d,x:o*(i-e.left),y:s*(v-e.top),text:M,color:u.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:_,categorycount:x,colorcount:b,bandcolorcount:m}]}}(r,a,u):"dimension"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(E(t,e,this))})),i}(r,a,u)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}))}}function C(t){var e=t.parcatsViewModel;e.dragDimension||(_(e.pathSelection),T(e.dimensionSelection.selectAll("g.category")),k(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(v),-1!==e.hoverinfoItems.indexOf("skip"))||("color"===t.parcatsViewModel.hoveron?S(this,"plotly_unhover",n.event):M(this,"plotly_unhover",n.event))}function P(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each((function(e){e.yf.y+f.height/2&&(o.model.displayInd=f.model.displayInd,f.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var h=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==h&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}j(t.parcatsViewModel),N(t.parcatsViewModel),R(t.parcatsViewModel),D(t.parcatsViewModel)}}function I(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=z(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var u=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),c=u.map((function(t){return t.categoryValue})),f=u.map((function(t){return t.categoryLabel}));e["dimensions["+t.model.containerInd+"].categoryarray"]=[c],e["dimensions["+t.model.containerInd+"].ticktext"]=[f],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?S(t.potentialClickBand,"plotly_click",n.event.sourceEvent):M(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd&&(t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null),t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,j(t.parcatsViewModel),N(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each((function(){R(t.parcatsViewModel,!0),D(t.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function z(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)c+="C"+u[s]+","+(e[s+1]+n)+" "+l[s]+","+(e[s]+n)+" "+(t[s]+r[s])+","+(e[s]+n),c+="l-"+r[s]+",0 ";return c+"Z"}function N(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),u=[];for(var c in r.paths)r.paths.hasOwnProperty(c)&&u.push(r.paths[c]);function f(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}u.sort((function(e,r){var n=f(e),i=f(r);return"backward"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var h=new Array(u.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),v=0;v0?d*(y.count/p):0;for(var m,x=new Array(n.length),b=0;b1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,u,c=[],f=t.model.maxCats,h=e.categories.length,p=e.count,d=t.height-8*(f-1),v=8*(f-h)/2,g=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(g.sort((function(t,e){return t.displayInd-e.displayInd})),u=0;u0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:v,bands:[],parcatsViewModel:t},v=v+a+8,c.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:c,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(t,e,r,n){h(r,t,n,e)}},60268:function(t,e,r){"use strict";var n=r(51036);t.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},82296:function(t,e,r){"use strict";var n=r(49084),i=r(94724),a=r(25376),o=r(86968).u,s=r(92880).extendFlat,l=r(31780).templatedArray;t.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:a({editType:"plot"}),tickfont:a({editType:"plot"}),rangefont:a({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},i.tickvals,{editType:"plot"}),ticktext:s({},i.ticktext,{editType:"plot"}),tickformat:s({},i.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}},71864:function(t,e,r){"use strict";var n=r(30140),i=r(33428),a=r(71688).keyFun,o=r(71688).repeat,s=r(3400).sorterAsc,l=r(3400).strTranslate,u=n.bar.snapRatio;function c(t,e){return t*(1-u)+e*u}var f=n.bar.snapClose;function h(t,e){return t*(1-f)+e*f}function p(t,e,r,n){if(function(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],u=l,f=a;i*fe){h=r;break}}if(a=c,isNaN(a)&&(a=isNaN(f)||isNaN(h)?isNaN(f)?h:f:e-u[f][1]t[1]+r||e=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);v&&(o.interval=l[a],o.intervalPix=d,o.region=v)}}if(t.ordinal&&!o.region){var g=t.unitTickvals,m=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&m<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),b(t.parentNode)}function T(t,e){var r=_(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a="crosshair";r.clickableOrdinalRange?a="pointer":r.region&&(a=r.region+"-resize"),i.select(document.body).style("cursor",a)}function k(t){t.on("mousemove",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on("mouseleave",(function(t){t.parent.inBrushDrag||m()})).call(i.behavior.drag().on("dragstart",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=_(e,r),l=s.interval,u=o.svgBrush;if(u.wasDragged=!1,u.grabbingBar="ns"===s.region,u.grabbingBar){var c=l.map(e.unitToPaddedPx);u.grabPoint=r-c[0]-n.verticalPadding,u.barLength=c[1]-c[0]}u.clickableOrdinalRange=s.clickableOrdinalRange,u.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(u.stayingIntervals=u.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),u.startExtent=s.region?l["s"===s.region?1:0]:a,e.parent.inBrushDrag=!0,u.brushStartCallback()}(this,t)})).on("drag",(function(t){w(this,t)})).on("dragend",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,m(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(e),b(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(u?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),u?b(t.parentNode,s):(s(),b(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e),n=r.slice();e.filter.set(n),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e,r){var i=t.selectAll("."+n.cn.axisBrush).data(o,a);i.enter().append("g").classed(n.cn.axisBrush,!0),function(t,e,r){var i=r._context.staticPlot,a=t.selectAll(".background").data(o);a.enter().append("rect").classed("background",!0).call(d).call(v).style("pointer-events",i?"none":"auto").attr("transform",l(0,n.verticalPadding)),a.call(k).attr("height",(function(t){return t.height-n.verticalPadding}));var s=t.selectAll(".highlight-shadow").data(o);s.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",e).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),s.attr("y1",(function(t){return t.height})).call(x);var u=t.selectAll(".highlight").data(o);u.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),u.attr("y1",(function(t){return t.height})).call(x)}(i,e,r)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},61664:function(t,e,r){"use strict";t.exports={attributes:r(82296),supplyDefaults:r(60664),calc:r(95044),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:r(19976),categories:["gl","regl","noOpacity","noHover"],meta:{}}},19976:function(t,e,r){"use strict";var n=r(33428),i=r(84888)._M,a=r(24196),o=r(9616);e.name="parcoords",e.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},e.clean=function(t,e,r,n){var i=n._has&&n._has("parcoords"),a=e._has&&e._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},e.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this,r=t.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":r,preserveAspectRatio:"none",x:0,y:0,width:t.style.width,height:t.style.height})})),window.setTimeout((function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}},95044:function(t,e,r){"use strict";var n=r(3400).isArrayOrTypedArray,i=r(8932),a=r(71688).wrap;t.exports=function(t,e){var r,o;return i.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;rf&&(n.log("parcoords traces support up to "+f+" dimensions at the moment"),d.splice(f));var v=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),g=function(t,e,r,o,s){var l=s("line.color",r);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,c);o(e,l,c),Array.isArray(v)&&v.length||(e.visible=!1),h(e,v,"values",g);var y={weight:l.font.weight,style:l.font.style,variant:l.font.variant,family:l.font.family,size:Math.round(l.font.size/1.2),color:l.font.color};n.coerceFont(c,"labelfont",y),n.coerceFont(c,"tickfont",y),n.coerceFont(c,"rangefont",y),c("labelangle"),c("labelside"),c("unselected.line.color"),c("unselected.line.opacity")}},95724:function(t,e,r){"use strict";var n=r(3400).isTypedArray;e.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},e.isOrdinal=function(t){return!!t.tickvals},e.isVisible=function(t){return t.visible||!("visible"in t)}},29928:function(t,e,r){"use strict";var n=r(61664);n.plot=r(24196),t.exports=n},51352:function(t,e,r){"use strict";var n=["precision highp float;","","varying vec4 fragColor;","","attribute vec4 p01_04, p05_08, p09_12, p13_16,"," p17_20, p21_24, p25_28, p29_32,"," p33_36, p37_40, p41_44, p45_48,"," p49_52, p53_56, p57_60, colors;","","uniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,"," loA, hiA, loB, hiB, loC, hiC, loD, hiD;","","uniform vec2 resolution, viewBoxPos, viewBoxSize;","uniform float maskHeight;","uniform float drwLayer; // 0: context, 1: focus, 2: pick","uniform vec4 contextColor;","uniform sampler2D maskTexture, palette;","","bool isPick = (drwLayer > 1.5);","bool isContext = (drwLayer < 0.5);","","const vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);","const vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);","","float val(mat4 p, mat4 v) {"," return dot(matrixCompMult(p, v) * UNITS, UNITS);","}","","float axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {"," float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);"," float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);"," return y1 * (1.0 - ratio) + y2 * ratio;","}","","int iMod(int a, int b) {"," return a - b * (a / b);","}","","bool fOutside(float p, float lo, float hi) {"," return (lo < hi) && (lo > p || p > hi);","}","","bool vOutside(vec4 p, vec4 lo, vec4 hi) {"," return ("," fOutside(p[0], lo[0], hi[0]) ||"," fOutside(p[1], lo[1], hi[1]) ||"," fOutside(p[2], lo[2], hi[2]) ||"," fOutside(p[3], lo[3], hi[3])"," );","}","","bool mOutside(mat4 p, mat4 lo, mat4 hi) {"," return ("," vOutside(p[0], lo[0], hi[0]) ||"," vOutside(p[1], lo[1], hi[1]) ||"," vOutside(p[2], lo[2], hi[2]) ||"," vOutside(p[3], lo[3], hi[3])"," );","}","","bool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {"," return mOutside(A, loA, hiA) ||"," mOutside(B, loB, hiB) ||"," mOutside(C, loC, hiC) ||"," mOutside(D, loD, hiD);","}","","bool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {"," mat4 pnts[4];"," pnts[0] = A;"," pnts[1] = B;"," pnts[2] = C;"," pnts[3] = D;",""," for(int i = 0; i < 4; ++i) {"," for(int j = 0; j < 4; ++j) {"," for(int k = 0; k < 4; ++k) {"," if(0 == iMod("," int(255.0 * texture2D(maskTexture,"," vec2("," (float(i * 2 + j / 2) + 0.5) / 8.0,"," (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight"," ))[3]"," ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),"," 2"," )) return true;"," }"," }"," }"," return false;","}","","vec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {"," float x = 0.5 * sign(v) + 0.5;"," float y = axisY(x, A, B, C, D);"," float z = 1.0 - abs(v);",""," z += isContext ? 0.0 : 2.0 * float("," outsideBoundingBox(A, B, C, D) ||"," outsideRasterMask(A, B, C, D)"," );",""," return vec4("," 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,"," z,"," 1.0"," );","}","","void main() {"," mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);"," mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);"," mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);"," mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);",""," float v = colors[3];",""," gl_Position = position(isContext, v, A, B, C, D);",""," fragColor ="," isContext ? vec4(contextColor) :"," isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));","}"].join("\n"),i=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join("\n"),a=r(30140).maxDimensionCount,o=r(3400),s=1e-6,l=new Uint8Array(4),u=new Uint8Array(4),c={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function f(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function h(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var u=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],f(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*u,a.offset=2*l*n,e(a),l*n+u>>8*e)%256/255}function v(t,e,r){for(var n=new Array(8*e),i=0,a=0;au&&(u=t[i].dim1.canvasX,o=i);0===s&&f(k,0,0,r.canvasWidth,r.canvasHeight);var c=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&ns._length&&(E=E.slice(0,s._length));var C,P=s.tickvals;function O(t,e){return{val:t,text:C[e]}}function I(t,e){return t.val-e.val}if(a(P)&&P.length){i.isTypedArray(P)&&(P=Array.from(P)),C=s.ticktext,a(C)&&C.length?C.length>P.length?C=C.slice(0,P.length):P.length>C.length&&(P=P.slice(0,C.length)):C=P.map(o(s.tickformat));for(var z=1;z=r||l>=i)return;var u=t.lineLayer.readPixel(s,i-1-l),c=0!==u[3],f=c?u[2]+256*(u[1]+256*u[0]):null,h={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:f};f!==N&&(c?a.hover(h):a.unhover&&a.unhover(h),N=f)}})),B.style("opacity",(function(t){return t.pick?0:1})),p.style("background","rgba(255, 255, 255, 0)");var j=p.selectAll("."+x.cn.parcoords).data(F,v);j.exit().remove(),j.enter().append("g").classed(x.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),j.attr("transform",(function(t){return c(t.model.translateX,t.model.translateY)}));var U=j.selectAll("."+x.cn.parcoordsControlView).data(g,v);U.enter().append("g").classed(x.cn.parcoordsControlView,!0),U.attr("transform",(function(t){return c(t.model.pad.l,t.model.pad.t)}));var V=U.selectAll("."+x.cn.yAxis).data((function(t){return t.dimensions}),v);V.enter().append("g").classed(x.cn.yAxis,!0),U.each((function(t){z(V,t,w)})),B.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=_(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),V.attr("transform",(function(t){return c(t.xScale(t.xIndex),0)})),V.call(n.behavior.drag().origin((function(t){return t})).on("drag",(function(t){var e=t.parent;E.linePickActive(!1),t.x=Math.max(-x.overdrag,Math.min(t.model.width+x.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,V.sort((function(t,e){return t.x-e.x})).each((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio})),z(V,e,w),V.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr("transform",(function(t){return c(t.xScale(t.xIndex),0)})),n.select(this).attr("transform",c(t.x,0)),V.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!L(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on("dragend",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,z(V,e,w),n.select(this).attr("transform",(function(t){return c(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!L(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),E.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),V.exit().remove();var q=V.selectAll("."+x.cn.axisOverlays).data(g,v);q.enter().append("g").classed(x.cn.axisOverlays,!0),q.selectAll("."+x.cn.axis).remove();var H=q.selectAll("."+x.cn.axis).data(g,v);H.enter().append("g").classed(x.cn.axis,!0),H.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return m.isOrdinal(t)?e:D(t.model.dimensions[t.visibleIndex],e)})).scale(r)),h.font(H.selectAll("text"),t.model.tickFont)})),H.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),H.selectAll("text").style("text-shadow",f.makeTextShadow(k)).style("cursor","default");var G=q.selectAll("."+x.cn.axisHeading).data(g,v);G.enter().append("g").classed(x.cn.axisHeading,!0);var W=G.selectAll("."+x.cn.axisTitle).data(g,v);W.enter().append("text").classed(x.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",o?"none":"auto"),W.text((function(t){return t.label})).each((function(e){var r=n.select(this);h.font(r,e.model.labelFont),f.convertToTspans(r,t)})).attr("transform",(function(t){var e=I(t.model.labelAngle,t.model.labelSide),r=x.axisTitleOffset;return(e.dir>0?"":c(0,2*r+t.model.height))+u(e.degrees)+c(-r*e.dx,-r*e.dy)})).attr("text-anchor",(function(t){var e=I(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"}));var Y=q.selectAll("."+x.cn.axisExtent).data(g,v);Y.enter().append("g").classed(x.cn.axisExtent,!0);var X=Y.selectAll("."+x.cn.axisExtentTop).data(g,v);X.enter().append("g").classed(x.cn.axisExtentTop,!0),X.attr("transform",c(0,-x.axisExtentOffset));var Z=X.selectAll("."+x.cn.axisExtentTopText).data(g,v);Z.enter().append("text").classed(x.cn.axisExtentTopText,!0).call(O),Z.text((function(t){return R(t,!0)})).each((function(t){h.font(n.select(this),t.model.rangeFont)}));var K=Y.selectAll("."+x.cn.axisExtentBottom).data(g,v);K.enter().append("g").classed(x.cn.axisExtentBottom,!0),K.attr("transform",(function(t){return c(0,t.model.height+x.axisExtentOffset)}));var J=K.selectAll("."+x.cn.axisExtentBottomText).data(g,v);J.enter().append("text").classed(x.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(O),J.text((function(t){return R(t,!1)})).each((function(t){h.font(n.select(this),t.model.rangeFont)})),b.ensureAxisBrush(q,k,t)}},24196:function(t,e,r){"use strict";var n=r(36336),i=r(5048),a=r(95724).isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(t.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},u={},c={},f={},h=r._size;e.forEach((function(e,r){var n=e[0].trace;c[r]=n.index;var i=f[r]=n._fullInput.index;l[r]=t.data[i].dimensions,u[r]=t.data[i].dimensions.slice()})),n(t,e,{width:h.w,height:h.h,margin:{t:h.t,r:h.r,b:h.b,l:h.l}},{filterChanged:function(e,n,i){var a=u[e][n],o=i.map((function(t){return t.slice()})),s="dimensions["+n+"].constraintrange",l=r._tracePreGUI[t._fullData[c[e]]._fullInput.uid];if(void 0===l[s]){var h=a.constraintrange;l[s]=h||null}var p=t._fullData[c[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[f[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return s(t,e,r)-s(t,e,n)}}(r,u[e].filter(a));l[e].sort(n),u[e].filter((function(t){return!a(t)})).sort((function(t){return u[e].indexOf(t)})).forEach((function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(u[e].indexOf(t),0,t)})),t.emit("plotly_restyle",[{dimensions:[l[e]]},[f[e]]])}})}}).reglPrecompiled=o},74996:function(t,e,r){"use strict";var n=r(45464),i=r(86968).u,a=r(25376),o=r(22548),s=r(21776).Ks,l=r(21776).Gw,u=r(92880).extendFlat,c=r(98192).c,f=a({editType:"plot",arrayOk:!0,colorEditType:"plot"});t.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:c,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:u({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:u({},f,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:u({},f,{}),outsidetextfont:u({},f,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:u({},f,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:i({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:u({},f,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},80036:function(t,e,r){"use strict";var n=r(7316);e.name="pie",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},45768:function(t,e,r){"use strict";var n=r(38248),i=r(49760),a=r(76308),o={};function s(t){return function(e,r){return!!e&&!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e)}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r=0})),("funnelarea"===e.type?y:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,i=t.calcdata,a=n[r+"colorway"],s=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=l(a,o));for(var u=0,c=0;c0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}function c(t,e,r,n,i){n("marker.line.width")&&n("marker.line.color",i?void 0:r.paper_bgcolor);var a=n("marker.colors");l(n,"marker.pattern",a),t.marker&&!e.marker.pattern.fgcolor&&(e.marker.pattern.fgcolor=t.marker.colors),e.marker.pattern.bgcolor||(e.marker.pattern.bgcolor=r.paper_bgcolor)}t.exports={handleLabelsAndValues:u,handleMarkerDefaults:c,supplyDefaults:function(t,e,r,n){function l(r,n){return i.coerce(t,e,a,r,n)}var f=u(l("labels"),l("values")),h=f.len;if(e._hasLabels=f.hasLabels,e._hasValues=f.hasValues,!e._hasLabels&&e._hasValues&&(l("label0"),l("dlabel")),h){e._length=h,c(t,e,n,l,!0),l("scalegroup");var p,d=l("text"),v=l("texttemplate");if(v||(p=l("textinfo",i.isArrayOrTypedArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),v||p&&"none"!==p){var g=l("textposition");s(t,e,n,l,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&l("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&l("insidetextorientation")}else"none"===p&&l("textposition","none");o(e,n,l);var y=l("hole");if(l("title.text")){var m=l("title.position",y?"middle center":"top center");y||"middle center"!==m||(e.title.position="top center"),i.coerceFont(l,"title.font",n.font)}l("sort"),l("direction"),l("rotation"),l("pull")}else e.visible=!1}}},53644:function(t,e,r){"use strict";var n=r(10624).appendArrayMultiPointValues;t.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},21552:function(t,e,r){"use strict";var n=r(43616),i=r(76308);t.exports=function(t,e,r,a){var o=r.marker.pattern;o&&o.shape?n.pointStyle(t,r,a,e):i.fill(t,e.color)}},69656:function(t,e,r){"use strict";var n=r(3400);function i(t){return-1!==t.indexOf("e")?t.replace(/[.]?0+e/,"e"):-1!==t.indexOf(".")?t.replace(/[.]?0+$/,""):t}e.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+"%"},e.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},e.getFirstFilled=function(t,e){if(n.isArrayOrTypedArray(t))for(var r=0;r"),name:f.hovertemplate||-1!==h.indexOf("name")?f.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:g.castOption(_.bgcolor,t.pts)||t.color,borderColor:g.castOption(_.bordercolor,t.pts),fontFamily:g.castOption(w.family,t.pts),fontSize:g.castOption(w.size,t.pts),fontColor:g.castOption(w.color,t.pts),nameLength:g.castOption(_.namelength,t.pts),textAlign:g.castOption(_.align,t.pts),hovertemplate:g.castOption(f.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[y(t,f)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,inOut_bbox:T}),t.bbox=T[0],u._hasHoverLabel=!0}u._hasHoverEvent=!0,e.emit("plotly_hover",{points:[y(t,f)],event:n.event})}})),t.on("mouseout",(function(t){var r=e._fullLayout,i=e._fullData[u.index],o=n.select(this).datum();u._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[y(o,i)],event:n.event}),u._hasHoverEvent=!1),u._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),u._hasHoverLabel=!1)})),t.on("click",(function(t){var r=e._fullLayout,i=e._fullData[u.index];e._dragging||!1===r.hovermode||(e._hoverdata=[y(t,i)],a.click(e,n.event))}))}function b(t,e,r){var n=g.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=g.castOption(t._input.textfont.color,e.pts));var i=g.castOption(t.insidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.insidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,s=g.castOption(t.insidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,l=g.castOption(t.insidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,u=g.castOption(t.insidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant;return{color:n||o.contrast(e.color),family:i,size:a,weight:s,style:l,variant:u}}function _(t,e){for(var r,n,i=0;ie&&e>n||r=-4;g-=2)y(Math.PI*g,"tan");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),"tan")}if(f||p){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),"rad");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),"rad")}}if(s||d||f){var m=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/m,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;v.push(a)}(d||p)&&((a=T(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a)),(d||h)&&((a=k(t,n,o,l,u)).textPosAngle=(e.startangle+e.stopangle)/2,v.push(a));for(var x=0,b=0,_=0;_=1)break}return v[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:A(a,o/e),rotate:M(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*v);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:A(a,o/e),rotate:M(i+Math.PI/2)}}function A(t,e){return Math.cos(e)-t*e}function M(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function L(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function C(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=O(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*t.r);var l,u=t.r/(void 0===(l=t.trace.aspectratio)?1:l),c=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(c+=u,o.x-=(1+i)*u,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf("center")?c*=2:-1!==a.title.position.indexOf("right")&&(c+=u,o.x+=(1+i)*u,s.tx-=t.titleBox.width/2),r=c/t.titleBox.width,n=P(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function P(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function O(t){var e,r=t.pull;if(!r)return 0;if(l.isArrayOrTypedArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}function I(t,e){for(var r=[],n=0;n1?c=(u=r.r)/i.aspectratio:u=(c=r.r)*i.aspectratio,l=(u*=(1+i.baseratio)/2)*c}o=Math.min(o,l/r.vTotal)}for(n=0;n")}if(a){var x=l.castOption(i,e.i,"texttemplate");if(x){var b=function(t){return{label:t.label,value:t.v,valueLabel:g.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:g.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,"customdata")}}(e),_=g.getFirstFilled(i.text,e.pts);(m(_)||""===_)&&(b.text=_),e.text=l.texttemplateString(x,b,t._fullLayout._d3locale,b,i._meta||{})}else e.text=""}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}t.exports={plot:function(t,e){var r=t._context.staticPlot,a=t._fullLayout,h=a._size;d("pie",a),_(e,t),I(e,h);var v=l.makeTraceGroups(a._pielayer,e,"trace").each((function(e){var d=n.select(this),v=e[0],y=v.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,u="px0",c="px1";if("counterclockwise"===o.direction){for(e=0;ei.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),d.attr("stroke-linejoin","round"),d.each((function(){var m=n.select(this).selectAll("g.slice").data(e);m.enter().append("g").classed("slice",!0),m.exit().remove();var _=[[[],[]],[[],[]]],T=!1;m.each((function(i,o){if(i.hidden)n.select(this).selectAll("path,g").remove();else{i.pointNumber=i.i,i.curveNumber=y.index,_[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var u=v.cx,c=v.cy,h=n.select(this),d=h.selectAll("path.surface").data([i]);if(d.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),h.call(x,t,e),y.pull){var m=+g.castOption(y.pull,i.pts)||0;m>0&&(u+=m*i.pxmid[0],c+=m*i.pxmid[1])}i.cxFinal=u,i.cyFinal=c;var k=y.hole;if(i.v===v.vTotal){var A="M"+(u+i.px0[0])+","+(c+i.px0[1])+P(i.px0,i.pxmid,!0,1)+P(i.pxmid,i.px0,!0,1)+"Z";k?d.attr("d","M"+(u+k*i.px0[0])+","+(c+k*i.px0[1])+P(i.px0,i.pxmid,!1,k)+P(i.pxmid,i.px0,!1,k)+"Z"+A):d.attr("d",A)}else{var M=P(i.px0,i.px1,!0,1);if(k){var S=1-k;d.attr("d","M"+(u+k*i.px1[0])+","+(c+k*i.px1[1])+P(i.px1,i.px0,!1,k)+"l"+S*i.px0[0]+","+S*i.px0[1]+M+"Z")}else d.attr("d","M"+u+","+c+"l"+i.px0[0]+","+i.px0[1]+M+"Z")}D(t,i,v);var E=g.castOption(y.textposition,i.pts),C=h.selectAll("g.slicetext").data(i.text&&"none"!==E?[0]:[]);C.enter().append("g").classed("slicetext",!0),C.exit().remove(),C.each((function(){var r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),h=l.ensureUniformFontSize(t,"outside"===E?function(t,e,r){return{color:g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,family:g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,size:g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,weight:g.castOption(t.outsidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,style:g.castOption(t.outsidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,variant:g.castOption(t.outsidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant}}(y,i,a.font):b(y,i,a.font));r.text(i.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,h).call(f.convertToTspans,t);var d,m=s.bBox(r.node());if("outside"===E)d=L(m,i);else if(d=w(m,i,v),"auto"===E&&d.scale<1){var x=l.ensureUniformFontSize(t,y.outsidetextfont);r.call(s.font,x),d=L(m=s.bBox(r.node()),i)}var _=d.textPosAngle,k=void 0===_?i.pxmid:z(v.r,_);if(d.targetX=u+k[0]*d.rCenter+(d.x||0),d.targetY=c+k[1]*d.rCenter+(d.y||0),R(d,m),d.outside){var A=d.targetY;i.yLabelMin=A-m.height/2,i.yLabelMid=A,i.yLabelMax=A+m.height/2,i.labelExtraX=0,i.labelExtraY=0,T=!0}d.fontSize=h.size,p(y.type,d,a),e[o].transform=d,l.setTransormAndDisplay(r,d)}))}function P(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return"a"+n*v.r+","+n*v.r+" 0 "+i.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var k=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);if(k.enter().append("g").classed("titletext",!0),k.exit().remove(),k.each((function(){var e,r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),i=y.title.text;y._meta&&(i=l.templateString(i,y._meta)),r.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,y.title.font).call(f.convertToTspans,t),e="middle center"===y.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(v):C(v,h),r.attr("transform",c(e.x,e.y)+u(Math.min(1,e.scale))+c(e.tx,e.ty))})),T&&function(t,e){var r,n,i,a,o,s,u,c,f,h,p,d,v;function y(t,e){return t.pxmid[1]-e.pxmid[1]}function m(t,e){return e.pxmid[1]-t.pxmid[1]}function x(t,r){r||(r={});var i,c,f,p,d=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),v=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,m=t.cyFinal+o(t.px0[1],t.px1[1]),x=d-v;if(x*u>0&&(t.labelExtraY=x),l.isArrayOrTypedArray(e.pull))for(c=0;c=(g.castOption(e.pull,f.pts)||0)||((t.pxmid[1]-f.pxmid[1])*u>0?(x=f.cyFinal+o(f.px0[1],f.px1[1])-v-t.labelExtraY)*u>0&&(t.labelExtraY+=x):(y+t.labelExtraY-m)*u>0&&(i=3*s*Math.abs(c-h.indexOf(t)),(p=f.cxFinal+a(f.px0[0],f.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=p)))}for(n=0;n<2;n++)for(i=n?y:m,o=n?Math.max:Math.min,u=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(c=t[n][r]).sort(i),f=t[1-n][r],h=f.concat(c),d=[],p=0;pMath.abs(f)?s+="l"+f*t.pxmid[0]/t.pxmid[1]+","+f+"H"+(a+t.labelExtraX+u):s+="l"+t.labelExtraX+","+c+"v"+(f-c)+"h"+u}else s+="V"+(t.yLabelMid+t.labelExtraY)+"h"+u;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:s,fill:"none"})}else r.select("path.textline").remove()}))}(m,y),T&&y.automargin){var A=s.bBox(d.node()),M=y.domain,S=h.w*(M.x[1]-M.x[0]),E=h.h*(M.y[1]-M.y[0]),P=(.5*S-v.r)/h.w,O=(.5*E-v.r)/h.h;i.autoMargin(t,"pie."+y.uid+".automargin",{xl:M.x[0]-P,xr:M.x[1]+P,yb:M.y[0]-O,yt:M.y[1]+O,l:Math.max(v.cx-v.r-A.left,0),r:Math.max(A.right-(v.cx+v.r),0),b:Math.max(A.bottom-(v.cy+v.r),0),t:Math.max(v.cy-v.r-A.top,0),pad:5})}}))}));setTimeout((function(){v.selectAll("tspan").each((function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))}))}),0)},formatSliceLabel:D,transformInsideText:w,determineInsideTextFont:b,positionTitleOutside:C,prerenderTitles:_,layoutAreas:I,attachFxHandlers:x,computeTransform:R}},22152:function(t,e,r){"use strict";var n=r(33428),i=r(10528),a=r(82744).resizeText;t.exports=function(t){var e=t._fullLayout._pielayer.selectAll(".trace");a(t,e,"pie"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},10528:function(t,e,r){"use strict";var n=r(76308),i=r(69656).castOption,a=r(21552);t.exports=function(t,e,r,o){var s=r.marker.line,l=i(s.color,e.pts)||n.defaultLine,u=i(s.width,e.pts)||0;t.call(a,e,r,o).style("stroke-width",u).call(n.stroke,l)}},35484:function(t,e,r){"use strict";var n=r(52904);t.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},11072:function(t,e,r){"use strict";var n=r(67792).gl_pointcloud2d,i=r(3400).isArrayOrTypedArray,a=r(43080),o=r(19280).findExtremes,s=r(44928);function l(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var u=l.prototype;u.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:i(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},u.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=s(t,{})},u.updateFast=function(t){var e,r,n,i,s,l,u=this.xData=this.pickXData=t.x,c=this.yData=this.pickYData=t.y,f=this.pickXYData=t.xy,h=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(f){if(n=f,e=f.length>>>1,h)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var v=a(t.marker.color),g=a(t.marker.border.color),y=t.opacity*t.marker.opacity;v[3]*=y,this.pointcloudOptions.color=v;var m=t.marker.blend;null===m&&(m=u.length<100||c.length<100),this.pointcloudOptions.blend=m,g[3]*=y,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,b=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=b,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var _=this.scene.xaxis,w=this.scene.yaxis,T=b/2||.5;t._extremes[_._id]=o(_,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=o(w,[d[1],d[3]],{ppad:T})},u.dispose=function(){this.pointcloud.dispose()},t.exports=function(t,e){var r=new l(t,e.uid);return r.update(e),r}},41904:function(t,e,r){"use strict";var n=r(3400),i=r(35484);t.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},156:function(t,e,r){"use strict";["*pointcloud* trace is deprecated!","Please consider switching to the *scattergl* trace type."].join(" "),t.exports={attributes:r(35484),supplyDefaults:r(41904),calc:r(41484),plot:r(11072),moduleType:"trace",name:"pointcloud",basePlotModule:r(39952),categories:["gl","gl2d","showLegend"],meta:{}}},41440:function(t,e,r){"use strict";var n=r(25376),i=r(45464),a=r(22548),o=r(55756),s=r(86968).u,l=r(21776).Ks,u=r(49084),c=r(31780).templatedArray,f=r(29736).descriptionOnlyNumbers,h=r(92880).extendFlat,p=r(67824).overrideAll;(t.exports=p({hoverinfo:h({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:f("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),align:{valType:"enumerated",values:["justify","left","right","center"],dflt:"justify"}},link:{arrowlen:{valType:"number",min:0,dflt:0},label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},hovercolor:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:c("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:h(u().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},10760:function(t,e,r){"use strict";var n=r(67824).overrideAll,i=r(84888)._M,a=r(59596),o=r(65460),s=r(93972),l=r(86476),u=r(22676).prepSelect,c=r(3400),f=r(24040),h="sankey";function p(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if(o&&"pan"!==i&&"zoom"!==i){s(o,a);var h={_id:"x",c2p:c.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:c.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:h,yaxis:p,fillRangeItems:c.noop},subplot:e,xaxes:[h],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;rx&&(x=a.source[e]),a.target[e]>x&&(x=a.target[e]);var b,_=x+1;t.node._count=_;var w=t.node.groups,T={};for(e=0;e0&&s(L,_)&&s(C,_)&&(!T.hasOwnProperty(L)||!T.hasOwnProperty(C)||T[L]!==T[C])){T.hasOwnProperty(C)&&(C=T[C]),T.hasOwnProperty(L)&&(L=T[L]),C=+C,p[L=+L]=p[C]=!0;var P="";a.label&&a.label[e]&&(P=a.label[e]);var O=null;P&&d.hasOwnProperty(P)&&(O=d[P]),u.push({pointNumber:e,label:P,color:c?a.color[e]:a.color,hovercolor:f?a.hovercolor[e]:a.hovercolor,customdata:h?a.customdata[e]:a.customdata,concentrationscale:O,source:L,target:C,value:+E}),S.source.push(L),S.target.push(C)}}var I=_+w.length,z=o(r.color),D=o(r.customdata),R=[];for(e=0;e_-1,childrenNodes:[],pointNumber:e,label:F,color:z?r.color[e]:r.color,customdata:D?r.customdata[e]:r.customdata})}var B=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o1}))}(I,S.source,S.target)&&(B=!0),{circular:B,links:u,nodes:R,groups:w,groupLookup:T}}(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},11820:function(t){"use strict";t.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}},47140:function(t,e,r){"use strict";var n=r(3400),i=r(41440),a=r(76308),o=r(49760),s=r(86968).Q,l=r(16132),u=r(31780),c=r(51272);function f(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r("label"),r("cmin"),r("cmax"),r("colorscale")}t.exports=function(t,e,r,h){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(h.hoverlabel,t.hoverlabel),v=t.node,g=u.newContainer(e,"node");function y(t,e){return n.coerce(v,g,i.node,t,e)}y("label"),y("groups"),y("x"),y("y"),y("pad"),y("thickness"),y("line.color"),y("line.width"),y("hoverinfo",t.hoverinfo),l(v,g,y,d),y("hovertemplate"),y("align");var m=h.colorway;y("color",g.label.map((function(t,e){return a.addOpacity(function(t){return m[t%m.length]}(e),.8)}))),y("customdata");var x=t.link||{},b=u.newContainer(e,"link");function _(t,e){return n.coerce(x,b,i.link,t,e)}_("label"),_("arrowlen"),_("source"),_("target"),_("value"),_("line.color"),_("line.width"),_("hoverinfo",t.hoverinfo),l(x,b,_,d),_("hovertemplate");var w,T=o(h.paper_bgcolor).getLuminance()<.333,k=_("color",T?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)");function A(t){var e=o(t);if(!e.isValid())return t;var r=e.getAlpha();return r<=.8?e.setAlpha(r+.2):e=T?e.brighten():e.darken(),e.toRgbString()}_("hovercolor",Array.isArray(k)?k.map(A):A(k)),_("customdata"),c(x,b,{name:"colorscales",handleItemDefaults:f}),s(e,h,p),p("orientation"),p("valueformat"),p("valuesuffix"),g.x.length&&g.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",n.extendFlat({},h.font)),e._length=null}},45499:function(t,e,r){"use strict";t.exports={attributes:r(41440),supplyDefaults:r(47140),calc:r(48068),plot:r(59596),moduleType:"trace",name:"sankey",basePlotModule:r(10760),selectPoints:r(81128),categories:["noOpacity"],meta:{}}},59596:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=i.numberFormat,o=r(83248),s=r(93024),l=r(76308),u=r(11820).cn,c=i._;function f(t){return""!==t}function h(t,e){return t.filter((function(t){return t.key===e.traceId}))}function p(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function d(t){n.select(t).select("text.name").style("fill","black")}function v(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function y(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(x.bind(0,e,r,!1))}function m(t,e,r){e&&r&&h(r,e).selectAll("."+u.sankeyLink).filter(v(e)).call(b.bind(0,e,r,!1))}function x(t,e,r,n){n.style("fill",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha})),n.each((function(r){var n=r.link.label;""!==n&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===n})).style("fill",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha}))})),r&&h(e,t).selectAll("."+u.sankeyNode).filter(g(t)).call(y)}function b(t,e,r,n){n.style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),n.each((function(r){var n=r.link.label;""!==n&&h(e,t).selectAll("."+u.sankeyLink).filter((function(t){return t.link.label===n})).style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha}))})),r&&h(e,t).selectAll(u.sankeyNode).filter(g(t)).call(m)}function _(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}t.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,h=r._size,v=0;v"),color:_(o,"bgcolor")||l.addOpacity(v.color,1),borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),fontWeight:_(o,"font.weight"),fontStyle:_(o,"font.style"),fontVariant:_(o,"font.variant"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:n.event.x"),color:_(o,"bgcolor")||i.tinyColorHue,borderColor:_(o,"bordercolor"),fontFamily:_(o,"font.family"),fontSize:_(o,"font.size"),fontColor:_(o,"font.color"),fontWeight:_(o,"font.weight"),fontStyle:_(o,"font.style"),fontVariant:_(o,"font.variant"),nameLength:_(o,"namelength"),textAlign:_(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:m,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});p(w,.85),d(w)}}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(m,i,a),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit("plotly_unhover",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var a=r.node;a.originalEvent=n.event,t._hoverdata=[a],n.select(e).call(m,r,i),s.click(t,{target:!0})}}})}},83248:function(t,e,r){"use strict";var n=r(49812),i=r(67756).Gz,a=r(33428),o=r(26800),s=r(48932),l=r(11820),u=r(49760),c=r(76308),f=r(43616),h=r(3400),p=h.strTranslate,d=h.strRotate,v=r(71688),g=v.keyFun,y=v.repeat,m=v.unwrap,x=r(72736),b=r(24040),_=r(84284),w=_.CAP_SHIFT,T=_.LINE_SPACING;function k(t,e,r){var n,i=m(e),a=i.trace,c=a.domain,f="h"===a.orientation,p=a.node.pad,d=a.node.thickness,v={justify:o.sankeyJustify,left:o.sankeyLeft,right:o.sankeyRight,center:o.sankeyCenter}[a.node.align],g=t.width*(c.x[1]-c.x[0]),y=t.height*(c.y[1]-c.y[0]),x=i._nodes,b=i._links,_=i.circular;(n=_?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(f?[g,y]:[y,g]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodeAlign(v).nodes(x).links(b);var w,T,k,A=n();for(var M in n.nodePadding()o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(x=A.nodes).forEach((function(t){var e,r,n,i=0,a=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p})),n.update(A)}return{circular:_,key:r,trace:a,guid:h.randstr(),horizontal:f,width:g,height:y,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,linkArrowLength:a.link.arrowlen,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:c.x[0]*t.width+t.margin.l,translateY:t.height-c.y[1]*t.height+t.margin.t,dragParallel:f?y:g,dragPerpendicular:f?g:y,arrangement:a.arrangement,sankey:n,graph:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=u(e.color),i=u(e.hovercolor),a=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:a,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:c.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:c.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,linkArrowLength:t.linkArrowLength,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){var e=t.linkArrowLength;if(t.link.circular)return function(t,e){var r=t.width/2,n=t.circularPathData;return"top"===t.circularLinkType?"M "+(n.targetX-e)+" "+(n.targetY+r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 1 "+(n.rightFullExtent-r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 1 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY-n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.leftInnerExtent+" "+(n.sourceY-r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 0 "+(n.leftFullExtent-r)+" "+(n.sourceY-n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 0 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"L"+(n.targetX-e)+" "+(n.targetY-r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z":"M "+(n.targetX-e)+" "+(n.targetY-r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 0 "+(n.rightFullExtent-r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 0 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY+n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.leftInnerExtent+" "+(n.sourceY+r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 1 "+(n.leftFullExtent-r)+" "+(n.sourceY+n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 1 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"L"+(n.targetX-e)+" "+(n.targetY+r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z"}(t.link,e);var r=Math.abs((t.link.target.x0-t.link.source.x1)/2);e>r&&(e=r);var n=t.link.source.x1,a=t.link.target.x0-e,o=i(n,a),s=o(.5),l=o(.5),u=t.link.y0-t.link.width/2,c=t.link.y0+t.link.width/2,f=t.link.y1-t.link.width/2,h=t.link.y1+t.link.width/2,p="M"+n+","+u,d="C"+s+","+u+" "+l+","+f+" "+a+","+f,v="C"+l+","+h+" "+s+","+c+" "+n+","+c,g=e>0?"L"+(a+e)+","+(f+t.link.width/2):"";return p+d+(g+="L"+a+","+h)+v+"Z"}}function S(t,e){var r=u(e.color),n=l.nodePadAcross,i=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var a=e.dx,o=Math.max(.5,e.dy),s="node_"+e.pointNumber;return e.group&&(s=h.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:s,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:c.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,s].join("_"),interactionState:t.interactionState,figure:t}}function E(t){t.attr("transform",(function(t){return p(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function L(t){t.call(E)}function C(t,e){t.call(L),e.attr("d",M())}function P(t){t.attr("width",(function(t){return t.node.x1-t.node.x0})).attr("height",(function(t){return t.visibleHeight}))}function O(t){return t.link.width>1||t.linkLineWidth>0}function I(t){return p(t.translateX,t.translateY)+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function z(t,e,r){t.on(".basic",null).on("mouseover.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on("mousemove.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on("mouseout.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on("click.basic",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function D(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on("dragstart",(function(a){if("fixed"!==a.arrangement&&(h.ensureSingle(i._fullLayout._infolayer,"g","dragcover",(function(t){i._fullLayout._dragCover=t})),h.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),"snap"===a.arrangement)){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e0&&n.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,a),function(t,e,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=a.event.x,i=a.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),C(t.filter(B(r)),e))}})).on("dragend",(function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;el&&C[y].gap;)y--;for(x=C[y].s,v=C.length-1;v>y;v--)C[v].s=x;for(;lS[f]&&f=0;f--){var h=t[f];if("scatter"===h.type&&h.xaxis===u.xaxis&&h.yaxis===u.yaxis){h.opacity=void 0;break}}}}}},18800:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(52904),o=r(88200),s=r(43028),l=r(43980),u=r(31147),c=r(43912),f=r(74428),h=r(66828),p=r(11731),d=r(124),v=r(70840),g=r(3400).coercePattern;t.exports=function(t,e,r,y){function m(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,y,m);if(x||(e.visible=!1),e.visible){u(t,e,y,m),m("xhoverformat"),m("yhoverformat"),m("zorder");var b=c(t,e,y,m);"group"===y.scattermode&&void 0===e.orientation&&m("orientation","v");var _=!b&&x=Math.min(e,r)&&d<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(h.c2p(t.x)-d);return a=Math.min(e,r)&&v<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(p.c2p(t.y)-v);return ar!=(u=i[n][1])>=r&&(o=i[n-1][0],s=i[n][0],u-l&&(a=o+(s-o)*(r-l)/(u-l),f=Math.min(f,a),d=Math.max(d,a)));return{x0:f=Math.max(f,0),x1:d=Math.min(d,h._length),y0:r,y1:r}}(f._polygons);null===O&&(O={x0:g[0],x1:g[0],y0:g[1],y1:g[1]});var I=s.defaultLine;return s.opacity(f.fillcolor)?I=f.fillcolor:s.opacity((f.line||{}).color)&&(I=f.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:O.x0,x1:O.x1,y0:O.y0,y1:O.y1,color:I,hovertemplate:!1}),delete t.index,f.text&&!n.isArrayOrTypedArray(f.text)?t.text=String(f.text):t.text=f.name,[t]}}},65875:function(t,e,r){"use strict";var n=r(43028);t.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:r(52904),layoutAttributes:r(55308),supplyDefaults:r(18800),crossTraceDefaults:r(35036),supplyLayoutDefaults:r(59748),calc:r(16356).calc,crossTraceCalc:r(96664),arraysToCalcdata:r(20148),plot:r(96504),colorbar:r(5528),formatLabels:r(76688),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(98723),selectPoints:r(91560),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:r(57952),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},55308:function(t){"use strict";t.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}},59748:function(t,e,r){"use strict";var n=r(3400),i=r(55308);t.exports=function(t,e){var r,a="group"===e.barmode;"group"===e.scattermode&&("scattergap",r=a?e.bargap:.2,n.coerce(t,e,i,"scattergap",r))}},66828:function(t,e,r){"use strict";var n=r(3400).isArrayOrTypedArray,i=r(94288).hasColorscale,a=r(27260);t.exports=function(t,e,r,o,s,l){l||(l={});var u=(t.marker||{}).color;u&&u._inputArray&&(u=u._inputArray),s("line.color",r),i(t,"line")?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(u)&&u||r),s("line.width"),l.noDash||s("line.dash"),l.backoff&&s("line.backoff")}},52340:function(t,e,r){"use strict";var n=r(43616),i=r(39032),a=i.BADNUM,o=i.LOG_CLIP,s=o+.5,l=o-.5,u=r(3400),c=u.segmentsIntersect,f=u.constrain,h=r(88200);t.exports=function(t,e){var r,i,o,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=e.trace||{},L=e.xaxis,C=e.yaxis,P="log"===L.type,O="log"===C.type,I=L._length,z=C._length,D=e.backoff,R=E.marker,F=e.connectGaps,B=e.baseTolerance,N=e.shape,j="linear"===N,U=E.fill&&"none"!==E.fill,V=[],q=h.minTolerance,H=t.length,G=new Array(H),W=0;function Y(r){var n=t[r];if(!n)return!1;var i=e.linearized?L.l2p(n.x):L.c2p(n.x),o=e.linearized?C.l2p(n.y):C.c2p(n.y);if(i===a){if(P&&(i=L.c2p(n.x,!0)),i===a)return!1;O&&o===a&&(i*=Math.abs(L._m*z*(L._m>0?s:l)/(C._m*I*(C._m>0?s:l)))),i*=1e3}if(o===a){if(O&&(o=C.c2p(n.y,!0)),o===a)return!1;o*=1e3}return[i,o]}function X(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,u=i*o+a*s;if(u>0&&uot||t[1]lt)return[f(t[0],at,ot),f(t[1],st,lt)]}function ft(t,e){return t[0]===e[0]&&(t[0]===at||t[0]===ot)||t[1]===e[1]&&(t[1]===st||t[1]===lt)||void 0}function ht(t,e,r){return function(n,i){var a=ct(n),o=ct(i),s=[];if(a&&o&&ft(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*u.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);return l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l),s}}function pt(t){var e=t[0],r=t[1],n=e===G[W-1][0],i=r===G[W-1][1];if(!n||!i)if(W>1){var a=e===G[W-2][0],o=r===G[W-2][1];n&&(e===at||e===ot)&&a?o?W--:G[W-1]=t:i&&(r===st||r===lt)&&o?a?W--:G[W-1]=t:G[W++]=t}else G[W++]=t}function dt(t){G[W-1][0]!==t[0]&&G[W-1][1]!==t[1]&&pt([Q,tt]),pt(t),et=null,Q=tt=0}"linear"===N||"spline"===N?nt=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=ut[i],o=c(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&K(o,t)ot?ot:0,$=e[1]lt?lt:0,J||$){if(W)if(et){var n=nt(et,e);n.length>1&&(dt(n[0]),G[W++]=n[1])}else rt=nt(G[W-1],e)[0],G[W++]=rt;else G[W++]=[J||e[0],$||e[1]];var i=G[W-1];J&&$&&(i[0]!==J||i[1]!==$)?(et&&(Q!==J&&tt!==$?pt(Q&&tt?(a=et,s=(o=e)[0]-a[0],l=(o[1]-a[1])/s,(a[1]*o[0]-o[1]*a[0])/s>0?[l>0?at:ot,lt]:[l>0?ot:at,st]):[Q||J,tt||$]):Q&&tt&&pt([Q,tt])),pt([J,$])):Q-J&&tt-$&&pt([J||Q,$||tt]),et=e,Q=J,tt=$}else et&&dt(nt(et,e)[0]),G[W++]=e;var a,o,s,l}for(r=0;rZ(v,yt))break;o=v,(w=m[0]*y[0]+m[1]*y[1])>b?(b=w,p=v,g=!1):w<_&&(_=w,d=v,g=!0)}if(g?(gt(p),o!==d&>(d)):(d!==i&>(d),o!==p&>(p)),gt(o),r>=t.length||!v)break;gt(v),i=v}}else gt(p)}et&&pt([Q||et[0],tt||et[1]]),V.push(G.slice(0,W))}var mt=N.slice(N.length-1);if(D&&"h"!==mt&&"v"!==mt){for(var xt=!1,bt=-1,_t=[],wt=0;wt=0?l=p:(l=p=h,h++),l0?Math.max(r,a):0}}},5528:function(t){"use strict";t.exports={container:"marker",min:"cmin",max:"cmax"}},74428:function(t,e,r){"use strict";var n=r(76308),i=r(94288).hasColorscale,a=r(27260),o=r(43028);t.exports=function(t,e,r,s,l,u){var c=o.isBubble(t),f=(t.line||{}).color;u=u||{},f&&(r=f),l("marker.symbol"),l("marker.opacity",c?.7:1),l("marker.size"),u.noAngle||(l("marker.angle"),u.noAngleRef||l("marker.angleref"),u.noStandOff||l("marker.standoff")),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),u.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),u.noLine||(l("marker.line.color",f&&!Array.isArray(f)&&e.marker.color!==f?f:c?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",c?1:0)),c&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),u.gradient&&"none"!==l("marker.gradient.type")&&l("marker.gradient.color")}},31147:function(t,e,r){"use strict";var n=r(3400).dateTick0,i=r(39032).ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}t.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",a(o,e.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",a(s,e.ycalendar)),n("yperiodalignment"))}}},96504:function(t,e,r){"use strict";var n=r(33428),i=r(24040),a=r(3400),o=a.ensureSingle,s=a.identity,l=r(43616),u=r(43028),c=r(52340),f=r(14328),h=r(92065).tester;function p(t,e,r,f,p,d,v){var g,y=t._context.staticPlot;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,c=n.extent(a.simpleMap(s.range,s.r2c)),f=n.extent(a.simpleMap(l.range,l.r2c)),h=i[0].trace;if(u.hasMarkers(h)){var p=h.marker.maxdisplayed;if(0!==p){var d=i.filter((function(t){return t.x>=c[0]&&t.x<=c[1]&&t.y>=f[0]&&t.y<=f[1]})),v=Math.ceil(d.length/p),g=0;o.forEach((function(t,r){var n=t[0].trace;u.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function x(t){return m?t.transition():t}var b=r.xaxis,_=r.yaxis,w=f[0].trace,T=w.line,k=n.select(d),A=o(k,"g","errorbars"),M=o(k,"g","lines"),S=o(k,"g","points"),E=o(k,"g","text");if(i.getComponentMethod("errorbars","plot")(t,A,r,v),!0===w.visible){var L,C;x(k).style("opacity",w.opacity);var P,O,I=w.fill.charAt(w.fill.length-1);"x"!==I&&"y"!==I&&(I=""),"y"===I?(P=1,O=_.c2p(0,!0)):"x"===I&&(P=0,O=b.c2p(0,!0)),f[0][r.isRangePlot?"nodeRangePlot3":"node3"]=k;var z,D,R="",F=[],B=w._prevtrace,N=null,j=null;B&&(R=B._prevRevpath||"",C=B._nextFill,F=B._ownPolygons,N=B._fillsegments,j=B._fillElement);var U,V,q,H,G,W,Y="",X="",Z=[];w._polygons=[];var K=[],J=[],$=a.noop;if(L=w._ownFill,u.hasLines(w)||"none"!==w.fill){C&&C.datum(f),-1!==["hv","vh","hvh","vhv"].indexOf(T.shape)?(U=l.steps(T.shape),V=l.steps(T.shape.split("").reverse().join(""))):U=V="spline"===T.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),T.smoothing):l.smoothopen(t,T.smoothing)}:function(t){return"M"+t.join("L")},q=function(t){return V(t.reverse())},J=c(f,{xaxis:b,yaxis:_,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,backoff:T.backoff,simplify:T.simplify,fill:w.fill}),K=new Array(J.length);var Q=0;for(g=0;g0,g=f(t,e,r);(c=i.selectAll("g.trace").data(g,(function(t){return t[0].trace.uid}))).enter().append("g").attr("class",(function(t){return"trace scatter trace"+t[0].trace.uid})).style("stroke-miterlimit",2),c.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),"g","fills");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,u=[];a._ownfill&&u.push("_ownFill"),a._nexttrace&&u.push("_nextFill");var c=i.selectAll("g").data(u,s);c.enter().append("g"),c.exit().each((function(t){a[t]=null})).remove(),c.order().each((function(t){a[t]=o(n.select(this),"path","js-fill")}))}))}(t,c,e),v?(u&&(h=u()),n.transition().duration(a.duration).ease(a.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){i.selectAll("g.trace").each((function(r,n){p(t,n,e,r,g,this,a)}))}))):c.each((function(r,n){p(t,n,e,r,g,this,a)})),d&&c.exit().remove(),i.selectAll("path:not([d])").remove()}},91560:function(t,e,r){"use strict";var n=r(43028);t.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,u=t.yaxis,c=[],f=s[0].trace;if(!n.hasMarkers(f)&&!n.hasText(f))return[];if(!1===e)for(r=0;r0){var h=i.c2l(c);i._lowerLogErrorBound||(i._lowerLogErrorBound=h),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,h)}}else o[s]=[-l[0]*r,l[1]*r]}return o}t.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e-1?-1:t.indexOf("right")>-1?1:0}function b(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function _(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var E=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&f("surfacecolor",p||d);for(var v=["x","y","z"],g=0;g<3;++g){var y="projection."+v[g];f(y+".show")&&(f(y+".opacity"),f(y+".scale"))}var m=n.getComponentMethod("errorbars","supplyDefaults");m(t,e,p||d||r,{axis:"z"}),m(t,e,p||d||r,{axis:"y",inherit:"z"}),m(t,e,p||d||r,{axis:"x",inherit:"z"})}else e.visible=!1}},3296:function(t,e,r){"use strict";t.exports={plot:r(41064),attributes:r(91592),markerSymbols:r(87792),supplyDefaults:r(83484),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:r(41484),moduleType:"trace",name:"scatter3d",basePlotModule:r(12536),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},90372:function(t,e,r){"use strict";var n=r(98304),i=r(52904),a=r(45464),o=r(21776).Ks,s=r(21776).Gw,l=r(49084),u=r(92880).extendFlat,c=i.marker,f=i.line,h=c.line;t.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:u({},i.mode,{dflt:"markers"}),text:u({},i.text,{}),texttemplate:s({editType:"plot"},{keys:["a","b","text"]}),hovertext:u({},i.hovertext,{}),line:{color:f.color,width:f.width,dash:f.dash,backoff:f.backoff,shape:u({},f.shape,{values:["linear","spline"]}),smoothing:f.smoothing,editType:"calc"},connectgaps:i.connectgaps,fill:u({},i.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n(),marker:u({symbol:c.symbol,opacity:c.opacity,maxdisplayed:c.maxdisplayed,angle:c.angle,angleref:c.angleref,standoff:c.standoff,size:c.size,sizeref:c.sizeref,sizemin:c.sizemin,sizemode:c.sizemode,line:u({width:h.width,editType:"calc"},l("marker.line")),gradient:c.gradient,editType:"calc"},l("marker")),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:u({},a.hoverinfo,{flags:["a","b","text","name"]}),hoveron:i.hoveron,hovertemplate:o(),zorder:i.zorder}},48228:function(t,e,r){"use strict";var n=r(38248),i=r(90136),a=r(20148),o=r(4500),s=r(16356).calcMarkerSize,l=r(50948);t.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var u;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var c,f,h=e._length,p=new Array(h),d=!1;for(u=0;u")}return o}function m(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,g.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},4184:function(t,e,r){"use strict";t.exports={attributes:r(90372),supplyDefaults:r(6176),colorbar:r(5528),formatLabels:r(52364),calc:r(48228),plot:r(20036),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(58960),selectPoints:r(91560),eventData:r(89307),moduleType:"trace",name:"scattercarpet",basePlotModule:r(57952),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},20036:function(t,e,r){"use strict";var n=r(96504),i=r(54460),a=r(43616);t.exports=function(t,e,r,o){var s,l,u,c=r[0][0].carpet,f=i.getFromId(t,c.xaxis||"x"),h=i.getFromId(t,c.yaxis||"y"),p={xaxis:f,yaxis:h,plot:e.plot};for(s=0;s")}function p(t){return t+"°"}}(u,v,t,l[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}}},36952:function(t,e,r){"use strict";t.exports={attributes:r(6096),supplyDefaults:r(86188),colorbar:r(5528),formatLabels:r(56696),calc:r(25212),calcGeoJSON:r(48691).calcGeoJSON,plot:r(48691).plot,style:r(25064),styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(64292),eventData:r(58544),selectPoints:r(8796),moduleType:"trace",name:"scattergeo",basePlotModule:r(10816),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},48691:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(59972).getTopojsonFeatures,o=r(44808),s=r(27144),l=r(19280).findExtremes,u=r(39032).BADNUM,c=r(16356).calcMarkerSize,f=r(43028),h=r(25064);t.exports={calcGeoJSON:function(t,e){var r,n,o=t[0].trace,f=e[o.geo],h=f._subplot,p=o._length;if(i.isArrayOrTypedArray(o.locations)){var d=o.locationmode,v="geojson-id"===d?s.extractTraceFeature(t):a(o,h.topojson);for(r=0;r=g,w=2*b,T={},k=l.makeCalcdata(e,"x"),A=m.makeCalcdata(e,"y"),M=s(e,l,"x",k),S=s(e,m,"y",A),E=M.vals,L=S.vals;e._x=E,e._y=L,e.xperiodalignment&&(e._origX=k,e._xStarts=M.starts,e._xEnds=M.ends),e.yperiodalignment&&(e._origY=A,e._yStarts=S.starts,e._yEnds=S.ends);var C=new Array(w),P=new Array(b);for(r=0;r1&&i.extendFlat(s.line,p.linePositions(t,r,n)),s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}return s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel))),s}(t,0,e,C,E,L),z=d(t,x);return f(o,e),_?I.marker&&(O=I.marker.sizeAvg||Math.max(I.marker.size,3)):O=u(e,b),c(t,e,l,m,E,L,O),I.errorX&&y(e,l,I.errorX),I.errorY&&y(e,m,I.errorY),I.fill&&!z.fill2d&&(z.fill2d=!0),I.marker&&!z.scatter2d&&(z.scatter2d=!0),I.line&&!z.line2d&&(z.line2d=!0),!I.errorX&&!I.errorY||z.error2d||(z.error2d=!0),I.text&&!z.glText&&(z.glText=!0),I.marker&&(I.marker.snap=b),z.lineOptions.push(I.line),z.errorXOptions.push(I.errorX),z.errorYOptions.push(I.errorY),z.fillOptions.push(I.fill),z.markerOptions.push(I.marker),z.markerSelectedOptions.push(I.markerSel),z.markerUnselectedOptions.push(I.markerUnsel),z.textOptions.push(I.text),z.textSelectedOptions.push(I.textSel),z.textUnselectedOptions.push(I.textUnsel),z.selectBatch.push([]),z.unselectBatch.push([]),T._scene=z,T.index=z.count,T.x=E,T.y=L,T.positions=C,z.count++,[{x:!1,y:!1,t:T,trace:e}]}},67072:function(t){"use strict";t.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},84236:function(t,e,r){"use strict";var n=r(38248),i=r(20472),a=r(72160),o=r(24040),s=r(3400),l=s.isArrayOrTypedArray,u=r(43616),c=r(79811),f=r(33040).formatColor,h=r(43028),p=r(7152),d=r(80088),v=r(67072),g=r(13448).DESELECTDIM,y={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},m=r(10624).appendArrayPointValue;function x(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,u=e.textposition,c=l(u)?u:[u],f=o.color,h=o.size,p=o.family,d=o.weight,v=o.style,g=o.variant,y={},x=t._context.plotGlPixelRatio,b=e.texttemplate;if(b){y.text=[];var _=i._d3locale,w=Array.isArray(b),T=w?Math.min(b.length,a):a,k=w?function(t){return b[t]}:function(){return b};for(r=0;rv.TOO_MANY_POINTS||h.hasMarkers(e)?"rect":"round";if(u&&e.connectgaps){var f=n[0],p=n[1];for(i=0;i1?u[i]:u[0]:u,v=l(c)?c.length>1?c[i]:c[0]:c,g=y[d],m=y[v],x=f?f/.8+1:0,b=-m*x-.5*m;o.offset[i]=[g*x/p,b/p]}}return o}}},80220:function(t,e,r){"use strict";var n=r(3400),i=r(24040),a=r(80088),o=r(2876),s=r(88200),l=r(43028),u=r(43980),c=r(31147),f=r(74428),h=r(66828),p=r(70840),d=r(124);t.exports=function(t,e,r,v){function g(r,i){return n.coerce(t,e,o,r,i)}var y=!!t.marker&&a.isOpenSymbol(t.marker.symbol),m=l.isBubble(t),x=u(t,e,v,g);if(x){c(t,e,v,g),g("xhoverformat"),g("yhoverformat");var b=x100},e.isDotSymbol=function(t){return"string"==typeof t?n.DOT_RE.test(t):t>200}},41272:function(t,e,r){"use strict";var n=r(24040),i=r(3400),a=r(44928);function o(t,e,r,o){var s=t.xa,l=t.ya,u=t.distance,c=t.dxy,f=t.index,h={pointNumber:f,x:e[f],y:r[f]};h.tx=i.isArrayOrTypedArray(o.text)?o.text[f]:o.text,h.htx=Array.isArray(o.hovertext)?o.hovertext[f]:o.hovertext,h.data=Array.isArray(o.customdata)?o.customdata[f]:o.customdata,h.tp=Array.isArray(o.textposition)?o.textposition[f]:o.textposition;var p=o.textfont;p&&(h.ts=i.isArrayOrTypedArray(p.size)?p.size[f]:p.size,h.tc=i.isArrayOrTypedArray(p.color)?p.color[f]:p.color,h.tf=Array.isArray(p.family)?p.family[f]:p.family,h.tw=Array.isArray(p.weight)?p.weight[f]:p.weight,h.ty=Array.isArray(p.style)?p.style[f]:p.style,h.tv=Array.isArray(p.variant)?p.variant[f]:p.variant);var d=o.marker;d&&(h.ms=i.isArrayOrTypedArray(d.size)?d.size[f]:d.size,h.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[f]:d.opacity,h.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[f]:d.symbol,h.ma=i.isArrayOrTypedArray(d.angle)?d.angle[f]:d.angle,h.mc=i.isArrayOrTypedArray(d.color)?d.color[f]:d.color);var v=d&&d.line;v&&(h.mlc=Array.isArray(v.color)?v.color[f]:v.color,h.mlw=i.isArrayOrTypedArray(v.width)?v.width[f]:v.width);var g=d&&d.gradient;g&&"none"!==g.type&&(h.mgt=Array.isArray(g.type)?g.type[f]:g.type,h.mgc=Array.isArray(g.color)?g.color[f]:g.color);var y=s.c2p(h.x,!0),m=l.c2p(h.y,!0),x=h.mrc||1,b=o.hoverlabel;b&&(h.hbg=Array.isArray(b.bgcolor)?b.bgcolor[f]:b.bgcolor,h.hbc=Array.isArray(b.bordercolor)?b.bordercolor[f]:b.bordercolor,h.hts=i.isArrayOrTypedArray(b.font.size)?b.font.size[f]:b.font.size,h.htc=Array.isArray(b.font.color)?b.font.color[f]:b.font.color,h.htf=Array.isArray(b.font.family)?b.font.family[f]:b.font.family,h.hnl=i.isArrayOrTypedArray(b.namelength)?b.namelength[f]:b.namelength);var _=o.hoverinfo;_&&(h.hi=Array.isArray(_)?_[f]:_);var w=o.hovertemplate;w&&(h.ht=Array.isArray(w)?w[f]:w);var T={};T[t.index]=h;var k=o._origX,A=o._origY,M=i.extendFlat({},t,{color:a(o,h),x0:y-x,x1:y+x,xLabelVal:k?k[f]:h.x,y0:m-x,y1:m+x,yLabelVal:A?A[f]:h.y,cd:T,distance:u,spikeDistance:c,hovertemplate:h.ht});return h.htx?M.text=h.htx:h.tx?M.text=h.tx:o.text&&(M.text=o.text),i.fillText(h,o,M),n.getComponentMethod("errorbars","hoverInfo")(h,o,M),M}t.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,u,c,f,h,p,d,v=t.cd,g=v[0].t,y=v[0].trace,m=t.xa,x=t.ya,b=g.x,_=g.y,w=m.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=m.p2c(w-k),M=m.p2c(w+k),S=x.p2c(T-k),E=x.p2c(T+k);i="x"===n?g.tree.range(Math.min(A,M),Math.min(x._rl[0],x._rl[1]),Math.max(A,M),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(A,M),Math.min(S,E),Math.max(A,M),Math.max(S,E))}else i=g.ids;var L=k;if("x"===n){var C=!!y.xperiodalignment,P=!!y.yperiodalignment;for(c=0;c=Math.min(O,I)&&w<=Math.max(O,I)?0:1/0}if(f=Math.min(z,D)&&T<=Math.max(z,D)?0:1/0}d=Math.sqrt(f*f+h*h),s=i[c]}}}else for(c=i.length-1;c>-1;c--)l=b[a=i[c]],u=_[a],f=m.c2p(l)-w,h=x.c2p(u)-T,(p=Math.sqrt(f*f+h*h))m.glText.length){var T=_-m.glText.length;for(v=0;vr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),m.line2d.update(m.lineOptions)),m.error2d){var A=(m.errorXOptions||[]).concat(m.errorYOptions||[]);m.error2d.update(A)}m.scatter2d&&m.scatter2d.update(m.markerOptions),m.fillOrder=s.repeat(null,_),m.fill2d&&(m.fillOptions=m.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,u=m.lineOptions[e],c=[];s._ownfill&&c.push(e),s._nexttrace&&c.push(e+1),c.length&&(m.fillOrder[e]=c);var f,h,p=[],d=u&&u.positions||l.positions;if("tozeroy"===s.fill){for(f=0;ff&&isNaN(d[h+1]);)h-=2;0!==d[f+1]&&(p=[d[f],0]),p=p.concat(d.slice(f,h+2)),0!==d[h+1]&&(p=p.concat([d[h],0]))}else if("tozerox"===s.fill){for(f=0;ff&&isNaN(d[h]);)h-=2;0!==d[f]&&(p=[0,d[f+1]]),p=p.concat(d.slice(f,h+2)),0!==d[h]&&(p=p.concat([0,d[h+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],i=0,t.splitNull=!0,a=0;a-1;for(v=0;v<_;v++){var L=r[v][0],C=L.trace,P=L.t,O=P.index,I=C._length,z=P.x,D=P.y;if(C.selectedpoints||S||E){if(S||(S=!0),C.selectedpoints){var R=m.selectBatch[O]=s.selIndices2selPoints(C),F={};for(g=0;g")}function c(t){return t+"°"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,c=o[0].trace,f=t.xa,h=t.ya,p=t.subplot,d=[],v=l+c.uid+"-circle",g=c.cluster&&c.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[v]});d=y.map((function(t){return t.id}))}var m=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-m;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-f.c2p([x,a]),u=o.y-h.c2p([n,r]),c=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+u*u)-c,1-3/c)}),t),!1!==t.index){var b=o[t.index],_=b.lonlat,w=[i.modHalf(_[0],360)+m,_[1]],T=f.c2p(w),k=h.c2p(w),A=b.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[c.subplot]={_subplot:p};var S=c._module.formatLabels(b,c,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(c,b),t.extraText=u(c,b,o[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}},getExtraText:u}},11572:function(t,e,r){"use strict";t.exports={attributes:r(31512),supplyDefaults:r(15752),colorbar:r(5528),formatLabels:r(11960),calc:r(25212),plot:r(9660),hoverPoints:r(63312).hoverPoints,eventData:r(37920),selectPoints:r(404),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:r(33688),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},9660:function(t,e,r){"use strict";var n=r(3400),i=r(59392),a=r(47552).traceLayerPrefix,o={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function s(t,e,r,n){this.type="scattermapbox",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol",cluster:"source-"+e+"-circle",clusterCount:"source-"+e+"-circle"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol",cluster:a+e+"-cluster",clusterCount:a+e+"-cluster-count"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:"geojson",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[t]);a?a.setData(e.geojson):this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter);for(var i,a=this.layerIds[t],o=this.subplot.getMapLayers(),s=0;s=0;r--){var i=e[r];n.removeLayer(c.layerIds[i])}t||n.removeSource(c.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(c.layerIds[i]),t||n.removeSource(c.sourceIds[i])}}(t)}function h(t){l?function(t){t||c.addSource("circle",a.circle,e.cluster);for(var r=o.cluster,n=0;n=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,u=l.cluster&&l.cluster.enabled,c=!0!==l.visible,f=new s(t,l.uid,u,c),h=i(t.gd,e),p=f.below=t.belowLookup["trace-"+l.uid];if(u)for(f.addSource("circle",h.circle,l.cluster),r=0;r")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},76924:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:r(40872),categories:["polar","symbols","showLegend","scatter-like"],attributes:r(8319),supplyDefaults:r(85968).supplyDefaults,colorbar:r(5528),formatLabels:r(22852),calc:r(58320),plot:r(43456),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(8504).hoverPoints,selectPoints:r(91560),meta:{}}},43456:function(t,e,r){"use strict";var n=r(96504),i=r(39032).BADNUM;t.exports=function(t,e,r){for(var a=e.layers.frontplot.select("g.scatterlayer"),o=e.xaxis,s=e.yaxis,l={xaxis:o,yaxis:s,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},u=e.radialAxis,c=e.angularAxis,f=0;f=u&&(m.marker.cluster=d.tree),m.marker&&(m.markerSel.positions=m.markerUnsel.positions=m.marker.positions=_),m.line&&_.length>1&&l.extendFlat(m.line,s.linePositions(t,p,_)),m.text&&(l.extendFlat(m.text,{positions:_},s.textPosition(t,p,m.text,m.marker)),l.extendFlat(m.textSel,{positions:_},s.textPosition(t,p,m.text,m.markerSel)),l.extendFlat(m.textUnsel,{positions:_},s.textPosition(t,p,m.text,m.markerUnsel))),m.fill&&!h.fill2d&&(h.fill2d=!0),m.marker&&!h.scatter2d&&(h.scatter2d=!0),m.line&&!h.line2d&&(h.line2d=!0),m.text&&!h.glText&&(h.glText=!0),h.lineOptions.push(m.line),h.fillOptions.push(m.fill),h.markerOptions.push(m.marker),h.markerSelectedOptions.push(m.markerSel),h.markerUnselectedOptions.push(m.markerUnsel),h.textOptions.push(m.text),h.textSelectedOptions.push(m.textSel),h.textUnselectedOptions.push(m.textUnsel),h.selectBatch.push([]),h.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=y,d.positions=_,d._scene=h,d.index=h.count,h.count++}})),a(t,e,r)}},t.exports.reglPrecompiled={}},69496:function(t,e,r){"use strict";var n=r(21776).Ks,i=r(21776).Gw,a=r(92880).extendFlat,o=r(98304),s=r(52904),l=r(45464),u=s.line;t.exports={mode:s.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:s.text,texttemplate:i({editType:"plot"},{keys:["real","imag","text"]}),hovertext:s.hovertext,line:{color:u.color,width:u.width,dash:u.dash,backoff:u.backoff,shape:a({},u.shape,{values:["linear","spline"]}),smoothing:u.smoothing,editType:"calc"},connectgaps:s.connectgaps,marker:s.marker,cliponaxis:a({},s.cliponaxis,{dflt:!1}),textposition:s.textposition,textfont:s.textfont,fill:a({},s.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o(),hoverinfo:a({},l.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:s.hoveron,hovertemplate:n(),selected:s.selected,unselected:s.unselected}},47507:function(t,e,r){"use strict";var n=r(38248),i=r(39032).BADNUM,a=r(90136),o=r(20148),s=r(4500),l=r(16356).calcMarkerSize;t.exports=function(t,e){for(var r=t._fullLayout,u=e.subplot,c=r[u].realaxis,f=r[u].imaginaryaxis,h=c.makeCalcdata(e,"real"),p=f.makeCalcdata(e,"imag"),d=e._length,v=new Array(d),g=0;g")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,u=s.cd[s.index],c=s.trace;if(l.isPtInside(u))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(u,c,l,s),s.hovertemplate=c.hovertemplate,o}},makeHoverPointText:i}},95443:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scattersmith",basePlotModule:r(47788),categories:["smith","symbols","showLegend","scatter-like"],attributes:r(69496),supplyDefaults:r(76716),colorbar:r(5528),formatLabels:r(49504),calc:r(47507),plot:r(34927),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(25292).hoverPoints,selectPoints:r(91560),meta:{}}},34927:function(t,e,r){"use strict";var n=r(96504),i=r(39032).BADNUM,a=r(36416).smith;t.exports=function(t,e,r){for(var o=e.layers.frontplot.select("g.scatterlayer"),s=e.xaxis,l=e.yaxis,u={xaxis:s,yaxis:l,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},c=0;c"),o.hovertemplate=h.hovertemplate,a}function x(t,e){y.push(t._hovertitle+": "+e)}}},34864:function(t,e,r){"use strict";t.exports={attributes:r(5896),supplyDefaults:r(84256),colorbar:r(5528),formatLabels:r(90404),calc:r(34335),plot:r(88776),style:r(49224).style,styleOnSelect:r(49224).styleOnSelect,hoverPoints:r(26596),selectPoints:r(91560),eventData:r(97476),moduleType:"trace",name:"scatterternary",basePlotModule:r(19352),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},88776:function(t,e,r){"use strict";var n=r(96504);t.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();for(var a=e.xaxis,o=e.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},l=e.layers.frontplot.select("g.scatterlayer"),u=0;uh?b.sizeAvg||Math.max(b.size,3):a(e,x),p=0;pa&&l||i-1,P=!0;if(o(x)||p.selectedpoints||C){var O=p._length;if(p.selectedpoints){v.selectBatch=p.selectedpoints;var I=p.selectedpoints,z={};for(l=0;l1&&(c=v[m-1],h=g[m-1],d=y[m-1]),e=0;ec?"-":"+")+"x")).replace("y",(f>h?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var L=function(){m=0,M=[],S=[],E=[]};(!m||m2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,c=e._len,f={};function d(t,e){var n=r[e],o=i[u[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(f.vectors=l(d(e._u,"xaxis"),d(e._v,"yaxis"),d(e._w,"zaxis"),c),!c)return{positions:[],cells:[]};var v=d(e._Xs,"xaxis"),g=d(e._Ys,"yaxis"),y=d(e._Zs,"zaxis");if(f.meshgrid=[v,g,y],f.gridFill=e._gridFill,e._slen)f.startingPositions=l(d(e._startsX,"xaxis"),d(e._startsY,"yaxis"),d(e._startsZ,"zaxis"));else{for(var m=g[0],x=h(v),b=h(y),_=new Array(x.length*b.length),w=0,T=0;T=0};m?(r=Math.min(y.length,b.length),l=function(t){return M(y[t])&&S(t)},f=function(t){return String(y[t])}):(r=Math.min(x.length,b.length),l=function(t){return M(x[t])&&S(t)},f=function(t){return String(x[t])}),w&&(r=Math.min(r,_.length));for(var E=0;E1){for(var O=a.randstr(),I=0;I=0){e.i=s.i;var c=r.marker;c.pattern&&c.colors&&c.pattern.shape||(c.color=u,e.color=u),n.pointStyle(t,r,a,e)}else i.fill(t,u)}},45716:function(t,e,r){"use strict";var n=r(33428),i=r(24040),a=r(10624).appendArrayPointValue,o=r(93024),s=r(3400),l=r(95924),u=r(78176),c=r(69656).formatPieValue;function f(t,e,r){for(var n=t.data.data,i={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o"),name:A||z("name")?m.name:void 0,color:k("hoverlabel.bgcolor")||x.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),fontWeight:k("hoverlabel.font.weight"),fontStyle:k("hoverlabel.font.style"),fontVariant:k("hoverlabel.font.variant"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:A,hovertemplateLabels:P,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?"left":"right"),y&&(F.x=E,F.idealAlign=E<0?"left":"right");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(y){var N=t.select("path.surface");h.styleOne(N,i,m,r,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:l||[f(i,m,h.eventDataKeys)],event:n.event})}})),t.on("mouseout",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[f(s,a,h.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=t.select("path.surface");h.styleOne(l,s,a,r,{hovered:!1})}})),t.on("click",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=g&&(u.isHierarchyRoot(t)||u.isLeaf(t)),c=u.getPtId(t),p=u.isEntry(t)?u.findEntryWithChild(v,c):u.findEntryWithLevel(v,c),y=u.getPtId(p),m={points:[f(t,a,h.eventDataKeys)],event:n.event};s||(m.nextLevel=y);var x=l.triggerHandler(r,"plotly_"+d.type+"click",m);if(!1!==x&&e.hovermode&&(r._hoverdata=[f(t,a,h.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call("_storeDirectGUIEdit",a,e._tracePreGUI[a.uid],{level:a.level});var b={data:[{level:y}],traces:[d.index]},_={frame:{redraw:!1,duration:h.transitionTime},transition:{duration:h.transitionTime,easing:h.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call("animate",r,b,_)}}))}},78176:function(t,e,r){"use strict";var n=r(3400),i=r(76308),a=r(93972),o=r(69656);function s(t){return t.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,s(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,"label").join("/")+"/"},e.formatValue=o.formatPieValue,e.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},5621:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"sunburst",basePlotModule:r(54904),categories:[],animatable:!0,attributes:r(424),layoutAttributes:r(84920),supplyDefaults:r(25244),supplyLayoutDefaults:r(28732),calc:r(3776).calc,crossTraceCalc:r(3776).crossTraceCalc,plot:r(96488).plot,style:r(85676).style,colorbar:r(5528),meta:{}}},84920:function(t){"use strict";t.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},28732:function(t,e,r){"use strict";var n=r(3400),i=r(84920);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},96488:function(t,e,r){"use strict";var n=r(33428),i=r(74148),a=r(67756).qy,o=r(43616),s=r(3400),l=r(72736),u=r(82744),c=u.recordMinTextSize,f=u.clearMinTextSize,h=r(37820),p=r(69656).getRotationAngle,d=h.computeTransform,v=h.transformInsideText,g=r(85676).styleOne,y=r(60100).resizeText,m=r(45716),x=r(27328),b=r(78176);function _(t,r,u,f){var h=t._context.staticPlot,y=t._fullLayout,_=!y.uniformtext.mode&&b.hasTransition(f),T=n.select(u).selectAll("g.slice"),k=r[0],A=k.trace,M=k.hierarchy,S=b.findEntryWithLevel(M,A.level),E=b.getMaxDepth(A),L=y._size,C=A.domain,P=L.w*(C.x[1]-C.x[0]),O=L.h*(C.y[1]-C.y[0]),I=.5*Math.min(P,O),z=k.cx=L.l+L.w*(C.x[1]+C.x[0])/2,D=k.cy=L.t+L.h*(1-C.y[0])-O/2;if(!S)return T.remove();var R=null,F={};_&&T.each((function(t){F[b.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!R&&b.isEntry(t)&&(R=t)}));var B=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(S).descendants(),N=S.height+1,j=0,U=E;k.hasMultipleRoots&&b.isHierarchyRoot(S)&&(B=B.slice(1),N-=1,j=1,U+=1),B=B.filter((function(t){return t.y1<=U}));var V=p(A.rotation);V&&B.forEach((function(t){t.x0+=V,t.x1+=V}));var q=Math.min(N,E),H=function(t){return(t-j)/q*I},G=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},W=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,z,D)},Y=function(t){return z+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},X=function(t){return D+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(T=T.data(B,b.getPtId)).enter().append("g").classed("slice",!0),_?T.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var e=function(t){var e,r=b.getPtId(t),n=F[r],i=F[b.getPtId(S)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+V;e=t.rpx1Z?2*Math.PI:0)+V;e={x0:i,x1:i}}else e={rpx0:I,rpx1:I},s.extendFlat(e,$(t));else e={rpx0:0,rpx1:0};else e={x0:V,x1:V};return a(e,n)}(t);return function(t){return W(e(t))}})):f.attr("d",W),u.call(m,S,t,r,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(b.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),f.call(g,i,A,t);var p=s.ensureSingle(u,"g","slicetext"),w=s.ensureSingle(p,"text","",(function(t){t.attr("data-notex",1)})),T=s.ensureUniformFontSize(t,b.determineTextFont(A,i,y.font));w.text(e.formatSliceLabel(i,S,A,r,y)).classed("slicetext",!0).attr("text-anchor","middle").call(o.font,T).call(l.convertToTspans,t);var M=o.bBox(w.node());i.transform=v(M,i,k),i.transform.targetX=Y(i),i.transform.targetY=X(i);var E=function(t,e){var r=t.transform;return d(r,e),r.fontSize=T.size,c(A.type,r,y),s.getTextTransform(r)};_?w.transition().attrTween("transform",(function(t){var e=function(t){var e,r=F[b.getPtId(t)],n=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},R)if(t.parent)if(Z){var i=t.x1>Z?2*Math.PI:0;e.x0=e.x1=i}else s.extendFlat(e,$(t));else e.x0=e.x1=V;else e.x0=e.x1=V;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),u=a(e.x0,t.x0),f=a(e.x1,t.x1),h=a(e.transform.scale,n.scale),p=a(e.transform.rotate,n.rotate),d=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,v=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=u(t),i=f(t),a=function(t){return v(Math.pow(t,d))}(t),s={pxmid:G(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return c(A.type,n,y),{transform:{targetX:Y(s),targetY:X(s),scale:h(t),rotate:p(t),rCenter:a}}}}(t);return function(t){return E(e(t),M)}})):w.attr("transform",E(i,M))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}e.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,u=!r,c=!s.uniformtext.mode&&b.hasTransition(r);f("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),c?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(e){_(t,e,this,r)}))}))):(a.each((function(e){_(t,e,this,r)})),s.uniformtext.mode&&y(t,s._sunburstlayer.selectAll(".trace"),"sunburst")),u&&a.exit().remove()},e.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&"none"!==o))return"";var l=i.separators,u=n[0],c=t.data.data,f=u.hierarchy,h=b.isHierarchyRoot(t),p=b.getParent(f,t),d=b.getValue(t);if(!a){var v,g=o.split("+"),y=function(t){return-1!==g.indexOf(t)},m=[];if(y("label")&&c.label&&m.push(c.label),c.hasOwnProperty("v")&&y("value")&&m.push(b.formatValue(c.v,l)),!h){y("current path")&&m.push(b.getPath(t.data));var x=0;y("percent parent")&&x++,y("percent entry")&&x++,y("percent root")&&x++;var _=x>1;if(x){var w,T=function(t){v=b.formatPercent(w,l),_&&(v+=" of "+t),m.push(v)};y("percent parent")&&!h&&(w=d/b.getValue(p),T("parent")),y("percent entry")&&(w=d/b.getValue(e),T("entry")),y("percent root")&&(w=d/b.getValue(f),T("root"))}}return y("text")&&(v=s.castOption(r,c.i,"text"),s.isValidTextValue(v)&&m.push(v)),m.join("
")}var k=s.castOption(r,c.i,"texttemplate");if(!k)return"";var A={};c.label&&(A.label=c.label),c.hasOwnProperty("v")&&(A.value=c.v,A.valueLabel=b.formatValue(c.v,l)),A.currentPath=b.getPath(t.data),h||(A.percentParent=d/b.getValue(p),A.percentParentLabel=b.formatPercent(A.percentParent,l),A.parent=b.getPtLabel(p)),A.percentEntry=d/b.getValue(e),A.percentEntryLabel=b.formatPercent(A.percentEntry,l),A.entry=b.getPtLabel(e),A.percentRoot=d/b.getValue(f),A.percentRootLabel=b.formatPercent(A.percentRoot,l),A.root=b.getPtLabel(f),c.hasOwnProperty("color")&&(A.color=c.color);var M=s.castOption(r,c.i,"text");return(s.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=s.castOption(r,c.i,"customdata"),s.texttemplateString(k,A,i._d3locale,A,r._meta||{})}},85676:function(t,e,r){"use strict";var n=r(33428),i=r(76308),a=r(3400),o=r(82744).resizeText,s=r(60404);function l(t,e,r,n){var o=e.data.data,l=!e.children,u=o.i,c=a.castOption(r,u,"marker.line.color")||i.defaultLine,f=a.castOption(r,u,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",f).call(i.stroke,c).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(".trace");o(t,e,"sunburst"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},16716:function(t,e,r){"use strict";var n=r(76308),i=r(49084),a=r(29736).axisHoverFormat,o=r(21776).Ks,s=r(45464),l=r(92880).extendFlat,u=r(67824).overrideAll;function c(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var f=t.exports=u(l({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:o(),xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},i("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:c(),y:c(),z:c()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),"calc","nested");f.x.editType=f.y.editType=f.z.editType="calc+clearAxisTypes",f.transforms=void 0},56576:function(t,e,r){"use strict";var n=r(47128);t.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},79164:function(t,e,r){"use strict";var n=r(67792).gl_surface3d,i=r(67792).ndarray,a=r(67792).ndarray_linear_interpolate.d2,o=r(70448),s=r(11240),l=r(3400).isArrayOrTypedArray,u=r(33040).parseColorScale,c=r(43080),f=r(8932).extractOpts;function h(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=h.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){null!=t.dataCoordinate[a]&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var o=this.data.hovertext||this.data.text;return l(o)&&o[i]&&void 0!==o[i][n]?t.textLabel=o[i][n]:t.textLabel=o||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function v(t,e){if(t0){r=d[n];break}return r}function m(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;a_;)r--,r/=y(r),++r1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,u=1+a+1,c=i(new Float32Array(l*u),[l,u]),f=[1/e,0,0,0,1/r,0,0,0,1],h=0;h0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];ea&&(this.minValues[e]=a),this.maxValues[e]",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},55992:function(t,e,r){"use strict";var n=r(23536),i=r(92880).extendFlat,a=r(38248),o=r(38116).isTypedArray,s=r(38116).isArrayOrTypedArray;function l(t){if(s(t)){for(var e=0,r=0;r=e||u===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=u,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=u+1,a=0);return n}t.exports=function(t,e){var r=c(e.cells.values),o=function(t){return t.slice(e.header.values.length,t.length)},v=c(e.header.values);v.length&&!v[0].length&&(v[0]=[""],v=c(v));var g=v.concat(o(r).map((function(){return f((v[0]||[""]).length)}))),y=e.domain,m=Math.floor(t._fullLayout._size.w*(y.x[1]-y.x[0])),x=Math.floor(t._fullLayout._size.h*(y.y[1]-y.y[0])),b=e.header.values.length?g[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],_=r.length?r[0].map((function(){return e.cells.height})):[],w=b.reduce(u,0),T=d(_,x-w+n.uplift),k=p(d(b,w),[]),A=p(T,k),M={},S=e._fullInput.columnorder;s(S)&&(S=Array.from(S)),S=S.concat(o(r.map((function(t,e){return e}))));var E=g.map((function(t,r){var n=s(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),L=E.reduce(u,0);E=E.map((function(t){return t/L*m}));var C=Math.max(l(e.header.line.width),l(e.cells.line.width)),P={key:e.uid+t._context.staticPlot,translateX:y.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-y.y[1]),size:t._fullLayout._size,width:m,maxLineWidth:C,height:x,columnOrder:S,groupHeight:x,rowBlocks:A,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map((function(t){return t[0]})),gdColumnsOriginalOrder:g.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(t,e){var r=M[t];return M[t]=(r||0)+1,{key:t+"__"+M[t],label:t,specIndex:e,xIndex:S[e],xScale:h,x:void 0,calcdata:void 0,columnWidth:E[e]}}))};return P.columns.forEach((function(t){t.calcdata=P,t.x=h(t)})),P}},53056:function(t,e,r){"use strict";var n=r(92880).extendFlat;e.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},e.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0;return[r,e?r+e.rows.length:0]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},53212:function(t,e,r){"use strict";var n=r(3400),i=r(60520),a=r(86968).Q;t.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",n.extendFlat({},o.font)),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(t,e){return t-e})),o=i.map((function(t){return a.indexOf(t)})),s=o.length;s/i),l=!a||s;t.mayHaveMarkup=a&&i.match(/[<&>]/);var u,c="string"==typeof(u=i)&&u.match(n.latexCheck);t.latex=c;var f,h,p=c?"":k(t.calcdata.cells.prefix,e,r)||"",d=c?"":k(t.calcdata.cells.suffix,e,r)||"",v=c?null:k(t.calcdata.cells.format,e,r)||null,g=p+(v?o(v)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!c&&(f=T(g)),t.cellHeightMayIncrease=s||c||t.mayHaveMarkup||(void 0===f?T(g):f),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var y=(" "===n.wrapSplitCharacter?g.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===u.length&&(u[0]===i.length-1?u.unshift(u[0]-1):u.push(u[0]+1)),u[0]%2&&u.reverse(),e.each((function(t,e){t.page=u[e],t.scrollY=l})),e.attr("transform",(function(t){var e=R(t.rowBlocks,t.page)-t.scrollY;return f(0,e)})),t&&(P(t,r,e,u,n.prevPages,n,0),P(t,r,e,u,n.prevPages,n,1),b(r,t))}}function C(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),u=r||s.scrollbarState.dragMultiplier,c=s.scrollY;s.scrollY=void 0===a?s.scrollY+u*i.event.dy:a;var f=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(M);return L(t,f,l),s.scrollY===c}}function P(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(t,e){return e===o&&n[e]!==i[e]}));_(t,e,a,r),i[o]=n[o]})))}function O(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll("tspan.line").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],u=0,c=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)u+(i=(r=s.shift()).width+a)>c&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],u=0),l.push(r.text),u+=i;u&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll("tspan.line").remove(),w(o.select("."+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(D)}}function I(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=N(o),u=o.key-l.firstRowIndex,c=l.rows[u].rowHeight,h=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:c,p=Math.max(h,c);p-l.rows[u].rowHeight&&(l.rows[u].rowHeight=p,t.selectAll("."+n.cn.columnCell).call(D),L(null,t.filter(M),0),b(r,a,!0)),s.attr("transform",(function(){var t=this,e=t.parentNode.getBoundingClientRect(),r=i.select(t.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),a=t.transform.baseVal.consolidate(),s=r.top-e.top+(a?a.matrix.f:n.cellPad);return f(z(o,i.select(t.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function z(t,e){switch(t.align){case"left":default:return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2}}function D(t){t.attr("transform",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+F(e,1/0)}),0),r=F(N(t),t.key);return f(0,r+e)})).selectAll("."+n.cn.cellRect).attr("height",(function(t){return(e=N(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function R(t,e){for(var r=0,n=e-1;n>=0;n--)r+=B(t[n]);return r}function F(t,e){for(var r=0,n=0;n","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:c({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:"plot"},{keys:u.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:u.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:c({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}},79516:function(t,e,r){"use strict";var n=r(7316);e.name="treemap",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},97840:function(t,e,r){"use strict";var n=r(3776);e.r=function(t,e){return n.calc(t,e)},e.q=function(t){return n._runCrossTraceCalc("treemap",t)}},32984:function(t){"use strict";t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},34092:function(t,e,r){"use strict";var n=r(3400),i=r(40516),a=r(76308),o=r(86968).Q,s=r(31508).handleText,l=r(78048).TEXTPAD,u=r(74174).handleMarkerDefaults,c=r(8932),f=c.hasColorscale,h=c.handleDefaults;t.exports=function(t,e,r,c){function p(r,a){return n.coerce(t,e,i,r,a)}var d=p("labels"),v=p("parents");if(d&&d.length&&v&&v.length){var g=p("values");g&&g.length?p("branchvalues"):p("count"),p("level"),p("maxdepth"),"squarify"===p("tiling.packing")&&p("tiling.squarifyratio"),p("tiling.flip"),p("tiling.pad");var y=p("text");p("texttemplate"),e.texttemplate||p("textinfo",n.isArrayOrTypedArray(y)?"text+label":"label"),p("hovertext"),p("hovertemplate");var m=p("pathbar.visible");s(t,e,c,p,"auto",{hasPathbar:m,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("textposition");var x=-1!==e.textposition.indexOf("bottom");u(t,e,c,p),(e._hasColorscale=f(t,"marker","colors")||(t.marker||{}).coloraxis)?h(t,e,c,p,{prefix:"marker.",cLetter:"c"}):p("marker.depthfade",!(e.marker.colors||[]).length);var b=2*e.textfont.size;p("marker.pad.t",x?b/4:b),p("marker.pad.l",b/4),p("marker.pad.r",b/4),p("marker.pad.b",x?b:b/4),p("marker.cornerradius"),e._hovered={marker:{line:{width:2,color:a.contrast(c.paper_bgcolor)}}},m&&(p("pathbar.thickness",e.pathbar.textfont.size+2*l),p("pathbar.side"),p("pathbar.edgeshape")),p("sort"),p("root.color"),o(e,c,p),e._length=null}else e.visible=!1}},95808:function(t,e,r){"use strict";var n=r(33428),i=r(78176),a=r(82744).clearMinTextSize,o=r(60100).resizeText,s=r(52960);t.exports=function(t,e,r,l,u){var c,f,h=u.type,p=u.drawDescendants,d=t._fullLayout,v=d["_"+h+"layer"],g=!r;a(h,d),(c=v.selectAll("g.trace."+h).data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed(h,!0),c.order(),!d.uniformtext.mode&&i.hasTransition(r)?(l&&(f=l()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){f&&f()})).each("interrupt",(function(){f&&f()})).each((function(){v.selectAll("g.trace").each((function(e){s(t,e,this,r,p)}))}))):(c.each((function(e){s(t,e,this,r,p)})),d.uniformtext.mode&&o(t,v.selectAll(".trace"),h)),g&&c.exit().remove()}},27336:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(43616),o=r(72736),s=r(13832),l=r(66192).styleOne,u=r(32984),c=r(78176),f=r(45716),h=!0;t.exports=function(t,e,r,p,d){var v=d.barDifY,g=d.width,y=d.height,m=d.viewX,x=d.viewY,b=d.pathSlice,_=d.toMoveInsideSlice,w=d.strTransform,T=d.hasTransition,k=d.handleSlicesExit,A=d.makeUpdateSliceInterpolator,M=d.makeUpdateTextInterpolator,S={},E=t._context.staticPlot,L=t._fullLayout,C=e[0],P=C.trace,O=C.hierarchy,I=g/P._entryDepth,z=c.listPath(r.data,"id"),D=s(O.copy(),[g,y],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(D=D.filter((function(t){var e=z.indexOf(t.data.id);return-1!==e&&(t.x0=I*e,t.x1=I*(e+1),t.y0=v,t.y1=v+y,t.onPathbar=!0,!0)}))).reverse(),(p=p.data(D,c.getPtId)).enter().append("g").classed("pathbar",!0),k(p,h,S,[g,y],b),p.order();var R=p;T&&(R=R.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),R.each((function(s){s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-Math.min(g,y)/2),s._hoverY=x(s.y1-y/2);var p=n.select(this),d=i.ensureSingle(p,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?d.transition().attrTween("d",(function(t){var e=A(t,h,S,[g,y]);return function(t){return b(e(t))}})):d.attr("d",b),p.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),d.call(l,s,P,t,{hovered:!1}),s._text=(c.getPtLabel(s)||"").split("
").join(" ")||"";var v=i.ensureSingle(p,"g","slicetext"),k=i.ensureSingle(v,"text","",(function(t){t.attr("data-notex",1)})),C=i.ensureUniformFontSize(t,c.determineTextFont(P,s,L.font,{onPathbar:!0}));k.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(a.font,C).call(o.convertToTspans,t),s.textBB=a.bBox(k.node()),s.transform=_(s,{fontSize:C.size,onPathbar:!0}),s.transform.fontSize=C.size,T?k.transition().attrTween("transform",(function(t){var e=M(t,h,S,[g,y]);return function(t){return w(e(t))}})):k.attr("transform",w(s))}))}},76477:function(t,e,r){"use strict";var n=r(33428),i=r(3400),a=r(43616),o=r(72736),s=r(13832),l=r(66192).styleOne,u=r(32984),c=r(78176),f=r(45716),h=r(96488).formatSliceLabel,p=!1;t.exports=function(t,e,r,d,v){var g=v.width,y=v.height,m=v.viewX,x=v.viewY,b=v.pathSlice,_=v.toMoveInsideSlice,w=v.strTransform,T=v.hasTransition,k=v.handleSlicesExit,A=v.makeUpdateSliceInterpolator,M=v.makeUpdateTextInterpolator,S=v.prevEntry,E=t._context.staticPlot,L=t._fullLayout,C=e[0].trace,P=-1!==C.textposition.indexOf("left"),O=-1!==C.textposition.indexOf("right"),I=-1!==C.textposition.indexOf("bottom"),z=!I&&!C.marker.pad.t||I&&!C.marker.pad.b,D=s(r,[g,y],{packing:C.tiling.packing,squarifyratio:C.tiling.squarifyratio,flipX:C.tiling.flip.indexOf("x")>-1,flipY:C.tiling.flip.indexOf("y")>-1,pad:{inner:C.tiling.pad,top:C.marker.pad.t,left:C.marker.pad.l,right:C.marker.pad.r,bottom:C.marker.pad.b}}).descendants(),R=1/0,F=-1/0;D.forEach((function(t){var e=t.depth;e>=C._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(R=Math.min(R,e),F=Math.max(F,e))})),d=d.data(D,c.getPtId),C._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],b),d.order();var B=null;if(T&&S){var N=c.getPtId(S);d.each((function(t){null===B&&c.getPtId(t)===N&&(B={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var j=function(){return B||{x0:0,x1:g,y0:0,y1:y}},U=d;return T&&(U=U.transition().each("end",(function(){var e=n.select(this);c.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(s){var d=c.isHeader(s,C);s._x0=m(s.x0),s._x1=m(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=m(s.x1-C.marker.pad.r),s._hoverY=x(I?s.y1-C.marker.pad.b/2:s.y0+C.marker.pad.t/2);var v=n.select(this),k=i.ensureSingle(v,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?k.transition().attrTween("d",(function(t){var e=A(t,p,j(),[g,y]);return function(t){return b(e(t))}})):k.attr("d",b),v.call(f,r,t,e,{styleOne:l,eventDataKeys:u.eventDataKeys,transitionTime:u.CLICK_TRANSITION_TIME,transitionEasing:u.CLICK_TRANSITION_EASING}).call(c.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,C,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=d?z?"":c.getPtLabel(s)||"":h(s,r,C,e,L)||"";var S=i.ensureSingle(v,"g","slicetext"),D=i.ensureSingle(S,"text","",(function(t){t.attr("data-notex",1)})),R=i.ensureUniformFontSize(t,c.determineTextFont(C,s,L.font)),F=s._text||" ",B=d&&-1===F.indexOf("
");D.text(F).classed("slicetext",!0).attr("text-anchor",O?"end":P||B?"start":"middle").call(a.font,R).call(o.convertToTspans,t),s.textBB=a.bBox(D.node()),s.transform=_(s,{fontSize:R.size,isHeader:d}),s.transform.fontSize=R.size,T?D.transition().attrTween("transform",(function(t){var e=M(t,p,j(),[g,y]);return function(t){return w(e(t))}})):D.attr("transform",w(s))})),B}},83024:function(t){"use strict";t.exports=function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i),n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i),n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o-1?C+I:-(O+I):0,D={x0:P,x1:P,y0:z,y1:z+O},R=function(t,e,r){var n=y.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return t.x0===e.x0&&t.x1===e.x1&&t.y0===e.y0&&t.y1===e.y1?{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}:{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},F=null,B={},N={},j=null,U=function(t,e){return e?B[h(t)]:N[h(t)]};g.hasMultipleRoots&&k&&M++,y._maxDepth=M,y._backgroundColor=v.paper_bgcolor,y._entryDepth=b.data.depth,y._atRootLevel=k;var V=-L/2+S.l+S.w*(E.x[1]+E.x[0])/2,q=-C/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),H=function(t){return V+t},G=function(t){return q+t},W=G(0),Y=H(0),X=function(t){return Y+t},Z=function(t){return W+t};function K(t,e){return t+","+e}var J=X(0),$=function(t){t.x=Math.max(J,t.x)},Q=y.pathbar.edgeshape,tt=y[m?"tiling":"marker"].pad,et=function(t){return-1!==y.textposition.indexOf(t)},rt=et("top"),nt=et("left"),it=et("right"),at=et("bottom"),ot=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,o=t.textBB,c=rt||e.isHeader&&!at?"start":at?"end":"middle",f=et("right"),h=et("left")||e.onPathbar?-1:f?1:0;if(e.isHeader){if((r+=(m?tt:tt.l)-s)>=(n-=(m?tt:tt.r)-s)){var p=(r+n)/2;r=p,n=p}var d;at?i<(d=a-(m?tt:tt.b))&&d"===Q?(l.x-=a,u.x-=a,c.x-=a,f.x-=a):"/"===Q?(c.x-=a,f.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,u.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),$(l),$(f),$(o),$(u),$(c),$(s),"M"+K(l.x,l.y)+"L"+K(u.x,u.y)+"L"+K(s.x,s.y)+"L"+K(c.x,c.y)+"L"+K(f.x,f.y)+"L"+K(o.x,o.y)+"Z"},toMoveInsideSlice:ot,makeUpdateSliceInterpolator:lt,makeUpdateTextInterpolator:ut,handleSlicesExit:ct,hasTransition:A,strTransform:ft}):w.remove()}},66192:function(t,e,r){"use strict";var n=r(33428),i=r(76308),a=r(3400),o=r(78176),s=r(82744).resizeText,l=r(60404);function u(t,e,r,n,s){var u,c,f=(s||{}).hovered,h=e.data.data,p=h.i,d=h.color,v=o.isHierarchyRoot(e),g=1;if(f)u=r._hovered.marker.line.color,c=r._hovered.marker.line.width;else if(v&&d===r.root.color)g=100,u="rgba(0,0,0,0)",c=0;else if(u=a.castOption(r,p,"marker.line.color")||i.defaultLine,c=a.castOption(r,p,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var y=r.marker.depthfade;if(y){var m,x=i.combine(i.addOpacity(r._backgroundColor,.75),d);if(!0===y){var b=o.getMaxDepth(r);m=isFinite(b)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else m=e.data.depth-r._entryDepth,r._atRootLevel||m++;if(m>0)for(var _=0;_0){var b,_,w,T,k,A=t.xa,M=t.ya;"h"===d.orientation?(k=e,b="y",w=M,_="x",T=A):(k=r,b="x",w=A,_="y",T=M);var S=p[t.index];if(k>=S.span[0]&&k<=S.span[1]){var E=i.extendFlat({},t),L=T.c2p(k,!0),C=s.getKdeValue(S,d,k),P=s.getPositionOnKdePath(S,d,L),O=w._offset,I=w._length;E[b+"0"]=P[0],E[b+"1"]=P[1],E[_+"0"]=E[_+"1"]=L,E[_+"Label"]=_+": "+a.hoverLabelText(T,k,d[_+"hoverformat"])+", "+p[0].t.labels.kde+" "+C.toFixed(3);for(var z=0,D=0;D")),c.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;return i(n)?n:i(a)&&o?a:void 0}(h,g),[c]}function k(t){return n(v,t,h[d+"hoverformat"])}}},95952:function(t,e,r){"use strict";t.exports={attributes:r(65776),layoutAttributes:r(91352),supplyDefaults:r(24224).supplyDefaults,crossTraceDefaults:r(24224).crossTraceDefaults,supplyLayoutDefaults:r(59464),calc:r(73540),crossTraceCalc:r(50152),plot:r(64488),style:r(12252).style,hoverPoints:r(94196),eventData:r(53256),selectPoints:r(45784),moduleType:"trace",name:"waterfall",basePlotModule:r(57952),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},91352:function(t){"use strict";t.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},59464:function(t,e,r){"use strict";var n=r(3400),i=r(91352);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s0&&(g+=h?"M"+f[0]+","+d[1]+"V"+d[0]:"M"+f[1]+","+d[0]+"H"+f[0]),"between"!==p&&(r.isSum||s path").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),u(r,s,t),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},84224:function(t,e,r){"use strict";var n=r(54460),i=r(3400),a=r(73060),o=r(60468).W,s=r(39032).BADNUM;e.moduleType="transform",e.name="aggregate";var l=e.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},u=l.aggregations;function c(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),u=l.get(),c=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return f;case"first":return h;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;ii&&(i=c,o=u)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o":return function(t){return p(t)>f};case">=":return function(t){return p(t)>=f};case"[]":return function(t){var e=p(t);return e>=f[0]&&e<=f[1]};case"()":return function(t){var e=p(t);return e>f[0]&&e=f[0]&&ef[0]&&e<=f[1]};case"][":return function(t){var e=p(t);return e<=f[0]||e>=f[1]};case")(":return function(t){var e=p(t);return ef[1]};case"](":return function(t){var e=p(t);return e<=f[0]||e>f[1]};case")[":return function(t){var e=p(t);return e=f[1]};case"{}":return function(t){return-1!==f.indexOf(p(t))};case"}{":return function(t){return-1===f.indexOf(p(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),h),x={},b={},_=0;d?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(f))},y=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},y=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T1?"%{group} (%{trace})":"%{group}");var l=t.styles,u=o.styles=[];if(l)for(a=0;ah)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,d.prototype),e}function d(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return y(t)}return v(t,e,r)}function v(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!d.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|_(t,e),n=p(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(et(t,Uint8Array)){var e=new Uint8Array(t);return x(e.buffer,e.byteOffset,e.byteLength)}return m(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(t));if(et(t,ArrayBuffer)||t&&et(t.buffer,ArrayBuffer))return x(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(et(t,SharedArrayBuffer)||t&&et(t.buffer,SharedArrayBuffer)))return x(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return d.from(n,e,r);var i=function(t){if(d.isBuffer(t)){var e=0|b(t.length),r=p(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||rt(t.length)?p(0):m(t):"Buffer"===t.type&&Array.isArray(t.data)?m(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return d.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(t))}function g(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function y(t){return g(t),p(t<0?0:0|b(t))}function m(t){for(var e=t.length<0?0:0|b(t.length),r=p(e),n=0;n=h)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+h.toString(16)+" bytes");return 0|t}function _(t,e){if(d.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||et(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+l(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return $(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Q(t).length;default:if(i)return n?-1:$(t).length;e=(""+e).toLowerCase(),i=!0}}function w(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return R(this,e,r);case"utf8":case"utf-8":return O(this,e,r);case"ascii":return z(this,e,r);case"latin1":case"binary":return D(this,e,r);case"base64":return P(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function T(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function k(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),rt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=d.from(e,n)),d.isBuffer(e))return 0===e.length?-1:A(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):A(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function A(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function P(t,e,r){return 0===e&&r===t.length?u.fromByteArray(t):u.fromByteArray(t.slice(e,r))}function O(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=I)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(d.isBuffer(a)||(a=d.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!d.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},d.byteLength=_,d.prototype._isBuffer=!0,d.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},f&&(d.prototype[f]=d.prototype.inspect),d.prototype.compare=function(t,e,r,n,i){if(et(t,Uint8Array)&&(t=d.from(t,t.offset,t.byteLength)),!d.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+l(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),u=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return M(this,t,e,r);case"utf8":case"utf-8":return S(this,t,e,r);case"ascii":case"latin1":case"binary":return E(this,t,e,r);case"base64":return L(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var I=4096;function z(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,r,n,i,a){if(!d.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function j(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function V(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function q(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,4),c.write(t,e,r,n,23,4),r+4}function H(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,8),c.write(t,e,r,n,52,8),r+8}d.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},d.prototype.readUint8=d.prototype.readUInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),this[t]},d.prototype.readUint16LE=d.prototype.readUInt16LE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]|this[t+1]<<8},d.prototype.readUint16BE=d.prototype.readUInt16BE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]<<8|this[t+1]},d.prototype.readUint32LE=d.prototype.readUInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},d.prototype.readUint32BE=d.prototype.readUInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},d.prototype.readBigUInt64LE=it((function(t){Z(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},d.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||B(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},d.prototype.readInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},d.prototype.readInt16LE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt16BE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},d.prototype.readInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},d.prototype.readBigInt64LE=it((function(t){Z(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||B(t,4,this.length),c.read(this,t,!0,23,4)},d.prototype.readFloatBE=function(t,e){return t>>>=0,e||B(t,4,this.length),c.read(this,t,!1,23,4)},d.prototype.readDoubleLE=function(t,e){return t>>>=0,e||B(t,8,this.length),c.read(this,t,!0,52,8)},d.prototype.readDoubleBE=function(t,e){return t>>>=0,e||B(t,8,this.length),c.read(this,t,!1,52,8)},d.prototype.writeUintLE=d.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},d.prototype.writeUint8=d.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,255,0),this[e]=255&t,e+1},d.prototype.writeUint16LE=d.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeUint16BE=d.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeUint32LE=d.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},d.prototype.writeUint32BE=d.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigUInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeBigUInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},d.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},d.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},d.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},d.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeBigInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},d.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},d.prototype.writeDoubleLE=function(t,e,r){return H(this,t,e,!0,r)},d.prototype.writeDoubleBE=function(t,e,r){return H(this,t,e,!1,r)},d.prototype.copy=function(t,e,r,n){if(!d.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new G.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){Z(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(n,i,a)}function Z(t,e){if("number"!=typeof t)throw new G.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw Z(t,r),new G.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new G.ERR_BUFFER_OUT_OF_BOUNDS;throw new G.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}W("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),W("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(l(e))}),TypeError),W("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=Y(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=Y(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var J=/[^+/0-9A-Za-z-_]/g;function $(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function Q(t){return u.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(J,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function tt(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function et(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function rt(t){return t!=t}var nt=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function it(t){return"undefined"==typeof BigInt?at:t}function at(){throw new Error("BigInt not supported")}},9216:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},6296:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],u=t.mode||"turntable",c=n(),f=i(),h=a();return c.setDistanceLimits(l[0],l[1]),c.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),new o({turntable:c,orbit:f,matrix:h},u)};var n=r(7261),i=r(9977),a=r(4192);function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;s.flush=function(t){for(var e=this._controllerList,r=0;r0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,u=n-i;su?u:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},3865:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},1318:function(t){"use strict";t.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},8697:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},7842:function(t,e,r){"use strict";var n=r(6330),i=r(1533),a=r(2651),o=r(4387),s=r(869),l=r(8697);t.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var u,c,f=0;if(i(e))u=e.clone();else if("string"==typeof e)u=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))u=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),f-=256;u=a(e)}}if(n(r))u.mul(r[1]),c=r[0].clone();else if(i(r))c=r.clone();else if("string"==typeof r)c=o(r);else if(r)if(r===Math.floor(r))c=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),f+=256;c=a(r)}else c=a(1);return f>0?u=u.ushln(f):f<0&&(c=c.ushln(-f)),s(u,c)}},6330:function(t,e,r){"use strict";var n=r(1533);t.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},5716:function(t,e,r){"use strict";var n=r(6859);t.exports=function(t){return t.cmp(new n(0))}},1369:function(t,e,r){"use strict";var n=r(5716);t.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},1533:function(t,e,r){"use strict";r(6859),t.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},2651:function(t,e,r){"use strict";var n=r(6859),i=r(2361);t.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},869:function(t,e,r){"use strict";var n=r(2651),i=r(5716);t.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},4387:function(t,e,r){"use strict";var n=r(6859);t.exports=function(t){return new n(t)}},6504:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},7721:function(t,e,r){"use strict";var n=r(5716);t.exports=function(t){return n(t[0])*n(t[1])}},5572:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},946:function(t,e,r){"use strict";var n=r(1369),i=r(4025);t.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,u=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return u*s;if(s){var c=i(s)+4;return u*(s+(h=n(l.ushln(c).divRound(r)))*Math.pow(2,-c))}var f=r.bitLength()-l.bitLength()+53,h=n(l.ushln(f).divRound(r));return f<1023?u*h*Math.pow(2,-f):u*(h*=Math.pow(2,-1023))*Math.pow(2,1023-f)}},2478:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},8828:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},6859:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=a:e.BN=a,a.BN=a,a.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(7790).Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function u(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=l(t,e,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],h=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var u=1;u>>26,f=67108863&l,h=Math.min(u,e.length-1),p=Math.max(0,u-t.length+1);p<=h;p++){var d=u-p|0;c+=(o=(i=0|t.words[d])*(a=0|e.words[p])+f)/67108864|0,f=67108863&o}r.words[u]=0|f,l=0|c}return 0!==l?r.words[u]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?c[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var u=f[t],p=h[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var v=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?v+r:c[u-v.length]+v+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,u=new t(a),c=this.clone();if(l){for(s=0;!c.isZero();s++)o=c.andln(255),c.iushrn(8),u[s]=o;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,v=p>>>13,g=0|o[2],y=8191&g,m=g>>>13,x=0|o[3],b=8191&x,_=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],L=8191&E,C=E>>>13,P=0|o[7],O=8191&P,I=P>>>13,z=0|o[8],D=8191&z,R=z>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,W=0|s[2],Y=8191&W,X=W>>>13,Z=0|s[3],K=8191&Z,J=Z>>>13,$=0|s[4],Q=8191&$,tt=$>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ut=st>>>13,ct=0|s[8],ft=8191&ct,ht=ct>>>13,pt=0|s[9],dt=8191&pt,vt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(n=Math.imul(f,U))|0)+((8191&(i=(i=Math.imul(f,V))+Math.imul(h,U)|0))<<13)|0;u=((a=Math.imul(h,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(v,U)|0,a=Math.imul(v,V);var yt=(u+(n=n+Math.imul(f,H)|0)|0)+((8191&(i=(i=i+Math.imul(f,G)|0)+Math.imul(h,H)|0))<<13)|0;u=((a=a+Math.imul(h,G)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(m,U)|0,a=Math.imul(m,V),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(v,H)|0,a=a+Math.imul(v,G)|0;var mt=(u+(n=n+Math.imul(f,Y)|0)|0)+((8191&(i=(i=i+Math.imul(f,X)|0)+Math.imul(h,Y)|0))<<13)|0;u=((a=a+Math.imul(h,X)|0)+(i>>>13)|0)+(mt>>>26)|0,mt&=67108863,n=Math.imul(b,U),i=(i=Math.imul(b,V))+Math.imul(_,U)|0,a=Math.imul(_,V),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0,n=n+Math.imul(d,Y)|0,i=(i=i+Math.imul(d,X)|0)+Math.imul(v,Y)|0,a=a+Math.imul(v,X)|0;var xt=(u+(n=n+Math.imul(f,K)|0)|0)+((8191&(i=(i=i+Math.imul(f,J)|0)+Math.imul(h,K)|0))<<13)|0;u=((a=a+Math.imul(h,J)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(b,H)|0,i=(i=i+Math.imul(b,G)|0)+Math.imul(_,H)|0,a=a+Math.imul(_,G)|0,n=n+Math.imul(y,Y)|0,i=(i=i+Math.imul(y,X)|0)+Math.imul(m,Y)|0,a=a+Math.imul(m,X)|0,n=n+Math.imul(d,K)|0,i=(i=i+Math.imul(d,J)|0)+Math.imul(v,K)|0,a=a+Math.imul(v,J)|0;var bt=(u+(n=n+Math.imul(f,Q)|0)|0)+((8191&(i=(i=i+Math.imul(f,tt)|0)+Math.imul(h,Q)|0))<<13)|0;u=((a=a+Math.imul(h,tt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,H)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,X)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,X)|0,n=n+Math.imul(y,K)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(m,K)|0,a=a+Math.imul(m,J)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,tt)|0;var _t=(u+(n=n+Math.imul(f,rt)|0)|0)+((8191&(i=(i=i+Math.imul(f,nt)|0)+Math.imul(h,rt)|0))<<13)|0;u=((a=a+Math.imul(h,nt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(L,U),i=(i=Math.imul(L,V))+Math.imul(C,U)|0,a=Math.imul(C,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,Y)|0,i=(i=i+Math.imul(T,X)|0)+Math.imul(k,Y)|0,a=a+Math.imul(k,X)|0,n=n+Math.imul(b,K)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(_,K)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(v,rt)|0,a=a+Math.imul(v,nt)|0;var wt=(u+(n=n+Math.imul(f,at)|0)|0)+((8191&(i=(i=i+Math.imul(f,ot)|0)+Math.imul(h,at)|0))<<13)|0;u=((a=a+Math.imul(h,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(O,U),i=(i=Math.imul(O,V))+Math.imul(I,U)|0,a=Math.imul(I,V),n=n+Math.imul(L,H)|0,i=(i=i+Math.imul(L,G)|0)+Math.imul(C,H)|0,a=a+Math.imul(C,G)|0,n=n+Math.imul(M,Y)|0,i=(i=i+Math.imul(M,X)|0)+Math.imul(S,Y)|0,a=a+Math.imul(S,X)|0,n=n+Math.imul(T,K)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(k,K)|0,a=a+Math.imul(k,J)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,tt)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(v,at)|0,a=a+Math.imul(v,ot)|0;var Tt=(u+(n=n+Math.imul(f,lt)|0)|0)+((8191&(i=(i=i+Math.imul(f,ut)|0)+Math.imul(h,lt)|0))<<13)|0;u=((a=a+Math.imul(h,ut)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(O,H)|0,i=(i=i+Math.imul(O,G)|0)+Math.imul(I,H)|0,a=a+Math.imul(I,G)|0,n=n+Math.imul(L,Y)|0,i=(i=i+Math.imul(L,X)|0)+Math.imul(C,Y)|0,a=a+Math.imul(C,X)|0,n=n+Math.imul(M,K)|0,i=(i=i+Math.imul(M,J)|0)+Math.imul(S,K)|0,a=a+Math.imul(S,J)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(b,rt)|0,i=(i=i+Math.imul(b,nt)|0)+Math.imul(_,rt)|0,a=a+Math.imul(_,nt)|0,n=n+Math.imul(y,at)|0,i=(i=i+Math.imul(y,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ut)|0)+Math.imul(v,lt)|0,a=a+Math.imul(v,ut)|0;var kt=(u+(n=n+Math.imul(f,ft)|0)|0)+((8191&(i=(i=i+Math.imul(f,ht)|0)+Math.imul(h,ft)|0))<<13)|0;u=((a=a+Math.imul(h,ht)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(O,Y)|0,i=(i=i+Math.imul(O,X)|0)+Math.imul(I,Y)|0,a=a+Math.imul(I,X)|0,n=n+Math.imul(L,K)|0,i=(i=i+Math.imul(L,J)|0)+Math.imul(C,K)|0,a=a+Math.imul(C,J)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(b,at)|0,i=(i=i+Math.imul(b,ot)|0)+Math.imul(_,at)|0,a=a+Math.imul(_,ot)|0,n=n+Math.imul(y,lt)|0,i=(i=i+Math.imul(y,ut)|0)+Math.imul(m,lt)|0,a=a+Math.imul(m,ut)|0,n=n+Math.imul(d,ft)|0,i=(i=i+Math.imul(d,ht)|0)+Math.imul(v,ft)|0,a=a+Math.imul(v,ht)|0;var At=(u+(n=n+Math.imul(f,dt)|0)|0)+((8191&(i=(i=i+Math.imul(f,vt)|0)+Math.imul(h,dt)|0))<<13)|0;u=((a=a+Math.imul(h,vt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(D,Y)|0,i=(i=i+Math.imul(D,X)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,X)|0,n=n+Math.imul(O,K)|0,i=(i=i+Math.imul(O,J)|0)+Math.imul(I,K)|0,a=a+Math.imul(I,J)|0,n=n+Math.imul(L,Q)|0,i=(i=i+Math.imul(L,tt)|0)+Math.imul(C,Q)|0,a=a+Math.imul(C,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(b,lt)|0,i=(i=i+Math.imul(b,ut)|0)+Math.imul(_,lt)|0,a=a+Math.imul(_,ut)|0,n=n+Math.imul(y,ft)|0,i=(i=i+Math.imul(y,ht)|0)+Math.imul(m,ft)|0,a=a+Math.imul(m,ht)|0;var Mt=(u+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,vt)|0)+Math.imul(v,dt)|0))<<13)|0;u=((a=a+Math.imul(v,vt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,Y),i=(i=Math.imul(B,X))+Math.imul(N,Y)|0,a=Math.imul(N,X),n=n+Math.imul(D,K)|0,i=(i=i+Math.imul(D,J)|0)+Math.imul(R,K)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(O,Q)|0,i=(i=i+Math.imul(O,tt)|0)+Math.imul(I,Q)|0,a=a+Math.imul(I,tt)|0,n=n+Math.imul(L,rt)|0,i=(i=i+Math.imul(L,nt)|0)+Math.imul(C,rt)|0,a=a+Math.imul(C,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ut)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ut)|0,n=n+Math.imul(b,ft)|0,i=(i=i+Math.imul(b,ht)|0)+Math.imul(_,ft)|0,a=a+Math.imul(_,ht)|0;var St=(u+(n=n+Math.imul(y,dt)|0)|0)+((8191&(i=(i=i+Math.imul(y,vt)|0)+Math.imul(m,dt)|0))<<13)|0;u=((a=a+Math.imul(m,vt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,K),i=(i=Math.imul(B,J))+Math.imul(N,K)|0,a=Math.imul(N,J),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(O,rt)|0,i=(i=i+Math.imul(O,nt)|0)+Math.imul(I,rt)|0,a=a+Math.imul(I,nt)|0,n=n+Math.imul(L,at)|0,i=(i=i+Math.imul(L,ot)|0)+Math.imul(C,at)|0,a=a+Math.imul(C,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ut)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ut)|0,n=n+Math.imul(T,ft)|0,i=(i=i+Math.imul(T,ht)|0)+Math.imul(k,ft)|0,a=a+Math.imul(k,ht)|0;var Et=(u+(n=n+Math.imul(b,dt)|0)|0)+((8191&(i=(i=i+Math.imul(b,vt)|0)+Math.imul(_,dt)|0))<<13)|0;u=((a=a+Math.imul(_,vt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(O,at)|0,i=(i=i+Math.imul(O,ot)|0)+Math.imul(I,at)|0,a=a+Math.imul(I,ot)|0,n=n+Math.imul(L,lt)|0,i=(i=i+Math.imul(L,ut)|0)+Math.imul(C,lt)|0,a=a+Math.imul(C,ut)|0,n=n+Math.imul(M,ft)|0,i=(i=i+Math.imul(M,ht)|0)+Math.imul(S,ft)|0,a=a+Math.imul(S,ht)|0;var Lt=(u+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,vt)|0)+Math.imul(k,dt)|0))<<13)|0;u=((a=a+Math.imul(k,vt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(O,lt)|0,i=(i=i+Math.imul(O,ut)|0)+Math.imul(I,lt)|0,a=a+Math.imul(I,ut)|0,n=n+Math.imul(L,ft)|0,i=(i=i+Math.imul(L,ht)|0)+Math.imul(C,ft)|0,a=a+Math.imul(C,ht)|0;var Ct=(u+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,vt)|0)+Math.imul(S,dt)|0))<<13)|0;u=((a=a+Math.imul(S,vt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ut)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ut)|0,n=n+Math.imul(O,ft)|0,i=(i=i+Math.imul(O,ht)|0)+Math.imul(I,ft)|0,a=a+Math.imul(I,ht)|0;var Pt=(u+(n=n+Math.imul(L,dt)|0)|0)+((8191&(i=(i=i+Math.imul(L,vt)|0)+Math.imul(C,dt)|0))<<13)|0;u=((a=a+Math.imul(C,vt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ut))+Math.imul(N,lt)|0,a=Math.imul(N,ut),n=n+Math.imul(D,ft)|0,i=(i=i+Math.imul(D,ht)|0)+Math.imul(R,ft)|0,a=a+Math.imul(R,ht)|0;var Ot=(u+(n=n+Math.imul(O,dt)|0)|0)+((8191&(i=(i=i+Math.imul(O,vt)|0)+Math.imul(I,dt)|0))<<13)|0;u=((a=a+Math.imul(I,vt)|0)+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,n=Math.imul(B,ft),i=(i=Math.imul(B,ht))+Math.imul(N,ft)|0,a=Math.imul(N,ht);var It=(u+(n=n+Math.imul(D,dt)|0)|0)+((8191&(i=(i=i+Math.imul(D,vt)|0)+Math.imul(R,dt)|0))<<13)|0;u=((a=a+Math.imul(R,vt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863;var zt=(u+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,vt))+Math.imul(N,dt)|0))<<13)|0;return u=((a=Math.imul(N,vt))+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863,l[0]=gt,l[1]=yt,l[2]=mt,l[3]=xt,l[4]=bt,l[5]=_t,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Lt,l[14]=Ct,l[15]=Pt,l[16]=Ot,l[17]=It,l[18]=zt,0!==u&&(l[19]=u,r.length++),r};function v(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=p),a.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):n<63?p(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):v(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,u=0;u=0&&(0!==c||u>=i);u--){var f=0|this.words[u];this.words[u]=c<<26-a|f>>>a,c=f&s}return l&&0!==c&&(l.words[l.length++]=c),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var u=0;u=0;f--){var h=67108864*(0|n.words[i.length+f])+(0|n.words[i.length+f-1]);for(h=Math.min(h/o|0,67108863),n._ishlnsubmul(i,h,f);0!==n.negative;)h--,n.negative=0,n._ishlnsubmul(i,1,f),n.isZero()||(n.negative^=1);s&&(s.words[f]=h)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),u=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++u;for(var c=r.clone(),f=e.clone();!e.isZero();){for(var h=0,p=1;0==(e.words[0]&p)&&h<26;++h,p<<=1);if(h>0)for(e.iushrn(h);h-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(c),o.isub(f)),i.iushrn(1),o.iushrn(1);for(var d=0,v=1;0==(r.words[0]&v)&&d<26;++d,v<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(c),l.isub(f)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(u)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var u=0,c=1;0==(e.words[0]&c)&&u<26;++u,c<<=1);if(u>0)for(e.iushrn(u);u-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var f=0,h=1;0==(r.words[0]&h)&&f<26;++f,h<<=1);if(f>0)for(r.iushrn(f);f-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new T(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function m(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){m.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){m.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){m.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){m.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){T.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}m.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},m.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},m.prototype.split=function(t,e){t.iushrn(this.n,0,e)},m.prototype.imulK=function(t){return t.imul(this.k)},i(x,m),x.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,a=o}a>>>=22,t.words[i-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},x.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new x;else if("p224"===t)e=new b;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return y[t]=e,e},T.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},T.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},T.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},T.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},T.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},T.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},T.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},T.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},T.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},T.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},T.prototype.isqr=function(t){return this.imul(t,t.clone())},T.prototype.sqr=function(t){return this.mul(t,t)},T.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),u=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new a(2*c*c).toRed(this);0!==this.pow(c,u).cmp(l);)c.redIAdd(l);for(var f=this.pow(c,i),h=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var v=p,g=0;0!==v.cmp(s);g++)v=v.redSqr();n(g=0;n--){for(var u=e.words[n],c=l-1;c>=0;c--){var f=u>>c&1;i!==r[0]&&(i=this.sqr(i)),0!==f||0!==o?(o<<=1,o|=f,(4==++s||0===n&&0===c)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},T.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,T),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},6204:function(t){"use strict";t.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(c<=0)){var f,h=i.mallocDouble(2*c*s),p=i.mallocInt32(s);if((s=l(t,c,h,p))>0){if(1===c&&n)a.init(s),f=a.sweepComplete(c,r,0,s,h,p,0,s,h,p);else{var d=i.mallocDouble(2*c*u),v=i.mallocInt32(u);(u=l(e,c,d,v))>0&&(a.init(s+u),f=1===c?a.sweepBipartite(c,r,0,s,h,p,0,u,d,v):o(c,r,n,s,h,p,u,d,v),i.free(d),i.free(v))}i.free(h),i.free(p)}return f}}}function c(t,e){n.push([t,e])}},2455:function(t,e){"use strict";function r(t){return t?function(t,e,r,n,i,a,o,s,l,u,c){return i-n>l-s?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;hu-l?n?function(t,e,r,n,i,a,o,s,l,u,c){for(var f=2*t,h=n,p=f*n;h0;){var z=(O-=1)*b,D=w[z],R=w[z+1],F=w[z+2],B=w[z+3],N=w[z+4],j=w[z+5],U=O*_,V=T[U],q=T[U+1],H=1&j,G=!!(16&j),W=c,Y=S,X=L,Z=C;if(H&&(W=L,Y=C,X=c,Z=S),!(2&j&&R>=(F=g(t,D,R,F,W,Y,q))||4&j&&(R=y(t,D,R,F,W,Y,V))>=F)){var K=F-R,J=N-B;if(G){if(t*K*(K+J)=p0)&&!(p1>=hi)"),v=c("lo===p0"),g=c("lo>>1,h=2*t,p=f,d=s[h*f+e];u=x?(p=m,d=x):y>=_?(p=g,d=y):(p=b,d=_):x>=_?(p=m,d=x):_>=y?(p=g,d=y):(p=b,d=_);for(var w=h*(c-1),T=h*p,k=0;kr&&i[f+e]>u;--c,f-=o){for(var h=f,p=f+o,d=0;dh;++h,l+=s)if(i[l+f]===o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"loh;++h,l+=s)if(i[l+f]p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lo<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"hi<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=t+e,h=r;n>h;++h,l+=s)if(i[l+f]<=o)if(c===h)c+=1,u+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[u],i[u++]=d}var v=a[h];a[h]=a[c],a[c++]=v}return c},"lop;++p,l+=s){var d=i[l+f],v=i[l+h];if(dg;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"lo<=p0&&p0<=hi":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,u=l,c=r,f=e,h=t+e,p=r;n>p;++p,l+=s){var d=i[l+f],v=i[l+h];if(d<=o&&o<=v)if(c===p)c+=1,u+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[u],i[u++]=y}var m=a[p];a[p]=a[c],a[c++]=m}}return c},"!(lo>=p0)&&!(p1>=hi)":function(t,e,r,n,i,a,o,s){for(var l=2*t,u=l*r,c=u,f=r,h=e,p=t+e,d=r;n>d;++d,u+=l){var v=i[u+h],g=i[u+p];if(!(v>=o||s>=g))if(f===d)f+=1,c+=l;else{for(var y=0;l>y;++y){var m=i[u+y];i[u+y]=i[c],i[c++]=m}var x=a[d];a[d]=a[f],a[f++]=x}}return f}}},1811:function(t){"use strict";t.exports=function(t,n){n<=4*e?r(0,n-1,t):u(0,n-1,t)};var e=32;function r(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var u=r[l-2],c=r[l-1];if(ur[e+1])}function l(t,e,r,n){var i=n[t*=2];return i>1,g=v-h,y=v+h,m=p,x=g,b=v,_=y,w=d,T=t+1,k=c-1,A=0;s(m,x,f)&&(A=m,m=x,x=A),s(_,w,f)&&(A=_,_=w,w=A),s(m,b,f)&&(A=m,m=b,b=A),s(x,b,f)&&(A=x,x=b,b=A),s(m,_,f)&&(A=m,m=_,_=A),s(b,_,f)&&(A=b,b=_,_=A),s(x,w,f)&&(A=x,x=w,w=A),s(x,b,f)&&(A=x,x=b,b=A),s(_,w,f)&&(A=_,_=w,w=A);for(var M=f[2*x],S=f[2*x+1],E=f[2*_],L=f[2*_+1],C=2*m,P=2*b,O=2*w,I=2*p,z=2*v,D=2*d,R=0;R<2;++R){var F=f[C+R],B=f[P+R],N=f[O+R];f[I+R]=F,f[z+R]=B,f[D+R]=N}i(g,t,f),i(y,c,f);for(var j=T;j<=k;++j)if(l(j,M,S,f))j!==T&&n(j,T,f),++T;else if(!l(j,E,L,f))for(;;){if(l(k,E,L,f)){l(k,M,S,f)?(a(j,T,k,f),++T,--k):(n(j,k,f),--k);break}if(--k>>1;a(d,S);var E=0,L=0;for(T=0;T=o)v(c,f,L--,C=C-o|0);else if(C>=0)v(l,u,E--,C);else if(C<=-o){C=-C-o|0;for(var P=0;P>>1;a(d,E);var L=0,C=0,P=0;for(k=0;k>1==d[2*k+3]>>1&&(I=2,k+=1),O<0){for(var z=-(O>>1)-1,D=0;D>1)-1,0===I?v(l,u,L--,z):1===I?v(c,f,C--,z):2===I&&v(h,p,P--,z)}},scanBipartite:function(t,e,r,n,i,s,c,f,h,p,y,m){var x=0,b=2*t,_=e,w=e+t,T=1,k=1;n?k=o:T=o;for(var A=i;A>>1;a(d,L);var C=0;for(A=0;A=o?(O=!n,M-=o):(O=!!n,M-=1),O)g(l,u,C++,M);else{var I=m[M],z=b*M,D=y[z+e+1],R=y[z+e+1+t];t:for(var F=0;F>>1;a(d,T);var k=0;for(x=0;x=o)l[k++]=b-o;else{var M=p[b-=1],S=g*b,E=h[S+e+1],L=h[S+e+1+t];t:for(var C=0;C=0;--C)if(l[C]===b){for(z=C+1;z0;){for(var p=r.pop(),d=(c=-1,f=-1,l=o[s=r.pop()],1);d=0||(e.flip(s,p),i(t,e,r,c,s,f),i(t,e,r,s,f,c),i(t,e,r,f,p,c),i(t,e,r,p,c,f))}}},5023:function(t,e,r){"use strict";var n,i=r(2478);function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}t.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(u[p]!==-i){u[p]=i,c[p];for(var d=0;d<3;++d){var v=h[3*p+d];v>=0&&0===u[v]&&(f[3*p+d]?l.push(v):(s.push(v),u[v]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(t,e,r){for(var n=0,i=0;i1&&i(r[h[p-2]],r[h[p-1]],a)>0;)t.push([h[p-1],h[p-2],o]),p-=1;h.length=p,h.push(o);var d=f.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function c(t,e){var r;return(r=t.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var v=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([v,1],[v,0],-1,[],[],[],[])],y=[],m=(l=0,i.length);l=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;ne[2]?1:0)}function y(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[c=(S=n[a])[0]],b=x[0],_=x[1],w=t[b],T=t[_];if((w[0]-T[0]||w[1]-T[1])<0){var k=b;b=_,_=k}x[0]=b;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===c;){var S,E=(S=n[--a])[1];i?e.push([M,E,A]):e.push([M,E]),M=E}i?e.push([M,_,A]):e.push([M,_])}return h}(t,e,h,v,r),m=d(t,g);return y(e,m,r),!!m||h.length>0||v.length>0}},3637:function(t,e,r){"use strict";t.exports=function(t,e,r,n){var a=s(e,t),f=s(n,r),h=c(a,f);if(0===o(h))return null;var p=c(f,s(t,r)),d=i(p,h),v=u(a,d);return l(t,v)};var n=r(6504),i=r(8697),a=r(5572),o=r(7721),s=r(544),l=r(2653),u=r(8987);function c(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},3642:function(t){t.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},6729:function(t,e,r){"use strict";var n=r(3642),i=r(395);function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}t.exports=function(t){var e,r,l,u,c,f,h,p,d,v;if(t||(t={}),p=(t.nshades||72)-1,h=t.format||"hex",(f=t.colormap)||(f="jet"),"string"==typeof f){if(f=f.toLowerCase(),!n[f])throw Error(f+" not a supported colorscale");c=n[f]}else{if(!Array.isArray(f))throw Error("unsupported colormap option",f);c=f.slice()}if(c.length>p+1)throw new Error(f+" map requires nshades to be at least size "+c.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=c.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=c.map((function(t,e){var r=c[e].index,n=c[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),y=[];for(v=0;v0||l(t,e,a)?-1:1:0===s?u>0||l(t,e,r)?1:-1:i(u-s)}var f=n(t,e,r);return f>0?o>0&&n(t,e,a)>0?1:-1:f<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=r(3250),i=r(8572),a=r(9362),o=r(5382),s=r(8210);function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),u=a(r[1],-e[1]),c=s(o(n,l),o(i,u));return c[c.length-1]>=0}},8572:function(t){"use strict";t.exports=function(t){return t<0?-1:t>0?1:0}},8507:function(t){t.exports=function(t,n){var i=t.length,a=t.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return t[0]-n[0];case 2:return t[0]+t[1]-n[0]-n[1]||e(t[0],t[1])-e(n[0],n[1]);case 3:var o=t[0]+t[1],s=n[0]+n[1];if(a=o+t[2]-(s+n[2]))return a;var l=e(t[0],t[1]),u=e(n[0],n[1]);return e(l,t[2])-e(u,n[2])||e(l+t[2],o)-e(u+n[2],s);case 4:var c=t[0],f=t[1],h=t[2],p=t[3],d=n[0],v=n[1],g=n[2],y=n[3];return c+f+h+p-(d+v+g+y)||e(c,f,h,p)-e(d,v,g,y,d)||e(c+f,c+h,c+p,f+h,f+p,h+p)-e(d+v,d+g,d+y,v+g,v+y,g+y)||e(c+f+h,c+f+p,c+h+p,f+h+p)-e(d+v+g,d+v+y,d+g+y,v+g+y);default:for(var m=t.slice().sort(r),x=n.slice().sort(r),b=0;bt[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},4750:function(t,e,r){"use strict";t.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=r(8954),i=r(3952)},4769:function(t){"use strict";t.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,u=(1+2*i)*l,c=i*l,f=s*(3-2*i),h=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=u*t[p]+c*e[p]+f*r[p]+h*n[p];return a}return u*t+c*e+f*r+h*n},t.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,u=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var c=t.length-1;c>=0;--c)a[c]=o*t[c]+s*e[c]+l*r[c]+u*n[c];return a}return o*t+s*e+l*r[c]+u*n}},7642:function(t,e,r){"use strict";var n=r(8954),i=r(1682);function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a=2)return!1;t[r]=n}return!0})):_.filter((function(t){for(var e=0;e<=s;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0})),1&s)for(c=0;c<_.length;++c)h=(b=_[c])[0],b[0]=b[1],b[1]=h;return _}},2361:function(t){var e=!1;if("undefined"!=typeof Float64Array){var r=new Float64Array(1),n=new Uint32Array(r.buffer);r[0]=1,e=!0,1072693248===n[1]?(t.exports=function(t){return r[0]=t,[n[0],n[1]]},t.exports.pack=function(t,e){return n[0]=t,n[1]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[0]},t.exports.hi=function(t){return r[0]=t,n[1]}):1072693248===n[0]?(t.exports=function(t){return r[0]=t,[n[1],n[0]]},t.exports.pack=function(t,e){return n[1]=t,n[0]=e,r[0]},t.exports.lo=function(t){return r[0]=t,n[1]},t.exports.hi=function(t){return r[0]=t,n[0]}):e=!1}if(!e){var i=new Buffer(8);t.exports=function(t){return i.writeDoubleLE(t,0,!0),[i.readUInt32LE(0,!0),i.readUInt32LE(4,!0)]},t.exports.pack=function(t,e){return i.writeUInt32LE(t,0,!0),i.writeUInt32LE(e,4,!0),i.readDoubleLE(0,!0)},t.exports.lo=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(0,!0)},t.exports.hi=function(t){return i.writeDoubleLE(t,0,!0),i.readUInt32LE(4,!0)}}t.exports.sign=function(e){return t.exports.hi(e)>>>31},t.exports.exponent=function(e){return(t.exports.hi(e)<<1>>>21)-1023},t.exports.fraction=function(e){var r=t.exports.lo(e),n=t.exports.hi(e),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},t.exports.denormalized=function(e){return!(2146435072&t.exports.hi(e))}},1338:function(t){"use strict";function e(t,r,n){var i=0|t[n];if(i<=0)return[];var a,o=new Array(i);if(n===t.length-1)for(a=0;a0)return function(t,e){var r,n;for(r=new Array(t),n=0;n=r-1){h=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var c=s.length-1,f=(e[r-1],0);f=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--f)n.push(a(l[f-1],u[f-1],arguments[f])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var h=r;h>0;--h){var p=a(u[h-1],c[h-1],arguments[h]);n.push(p),i.push((p-n[o++])*f)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],u=s[1],c=t-e,f=c>1e-6?1/c:0;this._time.push(t);for(var h=r;h>0;--h){var p=arguments[h];n.push(a(l[h-1],u[h-1],n[o++]+p)),i.push(p*f)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--f)n.push(a(l[f],u[f],n[o]+c*i[o])),i.push(0),o+=1}}},3840:function(t){"use strict";function e(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function r(t){return new e(t._color,t.key,t.value,t.left,t.right,t._count)}function n(t,r){return new e(t,r.key,r.value,r.left,r.right,r._count)}function i(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function a(t,e){this._compare=t,this.root=e}t.exports=function(t){return new a(t||p,null)};var o=a.prototype;function s(t,e){var r;return e.left&&(r=s(t,e.left))?r:(r=t(e.key,e.value))||(e.right?s(t,e.right):void 0)}function l(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left&&(i=l(t,e,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(t,e,r,n.right)}function u(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=u(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return u(t,e,r,n,i.right)}function c(t,e){this.tree=t,this._stack=e}Object.defineProperty(o,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(o,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(t,r){for(var o=this._compare,s=this.root,l=[],u=[];s;){var c=o(t,s.key);l.push(s),u.push(c),s=c<=0?s.left:s.right}l.push(new e(0,t,r,null,null,1));for(var f=l.length-2;f>=0;--f)s=l[f],u[f]<=0?l[f]=new e(s._color,s.key,s.value,l[f+1],s.right,s._count+1):l[f]=new e(s._color,s.key,s.value,s.left,l[f+1],s._count+1);for(f=l.length-1;f>1;--f){var h=l[f-1];if(s=l[f],1===h._color||1===s._color)break;var p=l[f-2];if(p.left===h)if(h.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=h.right,h._color=1,h.right=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).left===p?v.left=h:v.right=h);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else{if(!(d=p.right)||0!==d._color){h.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=h,s.right=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).left===p?v.left=s:v.right=s);break}h._color=1,p.right=n(1,d),p._color=0,f-=1}else if(h.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=h.left,h._color=1,h.left=p,l[f-2]=h,l[f-1]=s,i(p),i(h),f>=3&&((v=l[f-3]).right===p?v.right=h:v.left=h);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}else{var d;if(!(d=p.left)||0!==d._color){var v;h.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=h,s.left=p,l[f-2]=s,l[f-1]=h,i(p),i(h),i(s),f>=3&&((v=l[f-3]).right===p?v.right=s:v.left=s);break}h._color=1,p.left=n(1,d),p._color=0,f-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return s(t,this.root);case 2:return l(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return u(e,r,this._compare,t,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new c(this,t)}}),Object.defineProperty(o,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new c(this,t)}}),o.at=function(t){if(t<0)return new c(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new c(this,[])},o.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new c(this,n)},o.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new c(this,n)},o.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new c(this,n);r=i<=0?r.left:r.right}return new c(this,[])},o.remove=function(t){var e=this.find(t);return e?e.remove():this},o.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var f=c.prototype;function h(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function p(t,e){return te?1:0}Object.defineProperty(f,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(f,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),f.clone=function(){return new c(this.tree,this._stack.slice())},f.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var o=new Array(t.length),s=t[t.length-1];o[o.length-1]=new e(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=t.length-2;l>=0;--l)(s=t[l]).left===t[l+1]?o[l]=new e(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var u=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var c=o[u-1];for(o.push(new e(s._color,c.key,c.value,s.left,s.right,s._count)),o[u-1].key=s.key,o[u-1].value=s.value,l=o.length-2;l>=u;--l)s=o[l],o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);o[u-1].left=o[u]}if(0===(s=o[o.length-1])._color){var f=o[o.length-2];for(f.left===s?f.left=null:f.right===s&&(f.right=null),o.pop(),l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((a=t[l-1]).left===e){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,e._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),void(t[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).left===a?u.left=s:u.right=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).left===a?u.left=o:u.right=o),t[l-1]=o,t[l]=a,l+11&&((u=t[l-2]).right===a?u.right=o:u.left=o),void(t[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((u=t[l-2]).right===a?u.right=s:u.left=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var u;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((u=t[l-2]).right===a?u.right=o:u.left=o),t[l-1]=o,t[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(f,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(f,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),f.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),f.update=function(t){var r=this._stack;if(0===r.length)throw new Error("Can't update empty node!");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new e(i._color,i.key,t,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new e(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new e(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},f.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(f,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},3837:function(t,e,r){"use strict";t.exports=function(t,e){var r=new c(t);return r.update(e),r};var n=r(4935),i=r(501),a=r(5304),o=r(6429),s=r(6444),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);function u(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function c(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickFontStyle=["normal","normal","normal"],this.tickFontWeight=["normal","normal","normal"],this.tickFontVariant=["normal","normal","normal"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=["auto","auto","auto"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["sans-serif","sans-serif","sans-serif"],this.labelFontStyle=["normal","normal","normal"],this.labelFontWeight=["normal","normal","normal"],this.labelFontVariant=["normal","normal","normal"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=["auto","auto","auto"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=a(t)}var f=c.prototype;function h(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}f.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?Array.isArray(a)&&Array.isArray(a[0]):Array.isArray(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),u=e.bind(this,!0,(function(t){if(Array.isArray(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]})),c=!1,f=!1;if("bounds"in t)for(var h=t.bounds,p=0;p<2;++p)for(var d=0;d<3;++d)h[p][d]!==this.bounds[p][d]&&(f=!0),this.bounds[p][d]=h[p][d];if("ticks"in t)for(r=t.ticks,c=!0,this.autoTicks=!1,p=0;p<3;++p)this.tickSpacing[p]=0;else a("tickSpacing")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),f=!0,c=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),c=!0),c){for(p=0;p<3;++p)r[p].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?c=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(c=!0),l("tickFontStyle")&&(c=!0),l("tickFontWeight")&&(c=!0),l("tickFontVariant")&&(c=!0),a("tickSize"),a("tickAngle"),a("tickPad"),u("tickColor");var v=l("labels");l("labelFont")&&(v=!0),l("labelFontStyle")&&(v=!0),l("labelFontWeight")&&(v=!0),l("labelFontVariant")&&(v=!0),o("labelEnable"),a("labelSize"),a("labelPad"),u("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),u("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),u("lineTickColor"),o("gridEnable"),a("gridWidth"),u("gridColor"),o("zeroEnable"),u("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),u("backgroundColor");var g=[{family:this.labelFont[0],style:this.labelFontStyle[0],weight:this.labelFontWeight[0],variant:this.labelFontVariant[0]},{family:this.labelFont[1],style:this.labelFontStyle[1],weight:this.labelFontWeight[1],variant:this.labelFontVariant[1]},{family:this.labelFont[2],style:this.labelFontStyle[2],weight:this.labelFontWeight[2],variant:this.labelFontVariant[2]}],y=[{family:this.tickFont[0],style:this.tickFontStyle[0],weight:this.tickFontWeight[0],variant:this.tickFontVariant[0]},{family:this.tickFont[1],style:this.tickFontStyle[1],weight:this.tickFontWeight[1],variant:this.tickFontVariant[1]},{family:this.tickFont[2],style:this.tickFontStyle[2],weight:this.tickFontWeight[2],variant:this.tickFontVariant[2]}];this._text?this._text&&(v||c)&&this._text.update(this.bounds,this.labels,g,this.ticks,y):this._text=n(this.gl,this.bounds,this.labels,g,this.ticks,y),this._lines&&c&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var p=[new h,new h,new h];function d(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,u=n[e],c=0;c<3;++c)if(e!==c){var f=a,h=s,p=o,d=l;u&1<0?(p[c]=-1,d[c]=0):(p[c]=0,d[c]=1)}}var v=[0,0,0],g={model:l,view:l,projection:l,_ortho:!1};f.isOpaque=function(){return!0},f.isTransparent=function(){return!1},f.drawTransparent=function(t){};var y=[0,0,0],m=[0,0,0],x=[0,0,0];f.draw=function(t){t=t||g;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,c=o(r,n,i,a,s),f=c.cubeEdges,h=c.axis,b=n[12],_=n[13],w=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*b+i[7]*_+i[11]*w+i[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=f[A],this.lastCubeProps.axis[A]=h[A];var M=p;for(A=0;A<3;++A)d(p[A],A,this.bounds,f,h);e=this.gl;var S,E,L,C=v;for(A=0;A<3;++A)this.backgroundEnable[A]?C[A]=h[A]:C[A]=0;for(this._background.draw(r,n,i,a,C,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var P=[0,0,0];h[A]>0?P[A]=a[1][A]:P[A]=a[0][A];for(var O=0;O<2;++O){var I=(A+1+O)%3,z=(A+1+(1^O))%3;this.gridEnable[I]&&this._lines.drawGrid(I,z,this.bounds,P,this.gridColor[I],this.gridWidth[I]*this.pixelRatio)}for(O=0;O<2;++O)I=(A+1+O)%3,z=(A+1+(1^O))%3,this.zeroEnable[z]&&Math.min(a[0][z],a[1][z])<=0&&Math.max(a[0][z],a[1][z])>=0&&this._lines.drawZero(I,z,this.bounds,P,this.zeroLineColor[z],this.zeroLineWidth[z]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var D=u(y,M[A].primalMinor),R=u(m,M[A].mirrorMinor),F=this.lineTickLength;for(O=0;O<3;++O){var B=k/r[5*O];D[O]*=F[O]*B,R[O]*=F[O]*B}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,D,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,R,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function N(t){(L=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,q=u(x,M[A].primalOffset);for(O=0;O<3;++O)this.lineTickEnable[A]&&(q[O]+=k*U[O]*Math.max(this.lineTickLength[O],0)/r[5*O]);var H=[0,0,0];if(H[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,E=1,"auto"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),L=[0,0,0],j(A,U,V),O=0;O<3;++O)q[O]+=k*U[O]*this.tickPad[O]/r[5*O];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],q,this.tickColor[A],H,L,S)}if(this.labelEnable[A]){for(E=0,L=[0,0,0],this.labels[A].length>4&&(N(A),E=1),"auto"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),O=0;O<3;++O)q[O]+=k*U[O]*this.labelPad[O]/r[5*O];q[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],q,this.labelColor[A],[0,0,0],L,S)}}this._text.unbind()},f.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},5304:function(t,e,r){"use strict";t.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var u=(l+1)%3,c=(l+2)%3,f=[0,0,0],h=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),f[l]=p,h[l]=p;for(var d=-1;d<=1;d+=2){f[u]=d;for(var v=-1;v<=1;v+=2)f[c]=v,e.push(f[0],f[1],f[2],h[0],h[1],h[2]),s+=1}var g=u;u=c,c=g}var y=n(t,new Float32Array(e)),m=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:y,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:t.FLOAT,size:3,offset:12,stride:24}],m),b=a(t);return b.attributes.position.location=0,b.attributes.normal.location=1,new o(t,y,x,b)};var n=r(2762),i=r(8116),a=r(1879).bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},6429:function(t,e,r){"use strict";t.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var m=0,x=0;x<2;++x){c[2]=a[x][2];for(var b=0;b<2;++b){c[1]=a[b][1];for(var _=0;_<2;++_)c[0]=a[_][0],h(l[m],c,s),m+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)u[x][k]=l[x][k]/T;p&&(u[x][2]*=-1),T<0&&(w<0||u[x][2]E&&(w|=1<E&&(w|=1<u[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(N=R^1<u[B][0]&&(B=N))}var j=v;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===D?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,q=w;for(A=0;A<3;++A)V[A]=q&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);e.Q=function(t){return i(t,s,l,null,[{name:"position",type:"vec3"}])};var u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * view * model * vec4(nPosition, 1.0);\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);e.bg=function(t){return i(t,u,c,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(t,e,r){"use strict";t.exports=function(t,e,r,n,o,l){var u=i(t),f=a(t,[{buffer:u,size:3}]),h=s(t);h.attributes.position.location=0;var p=new c(t,h,u,f);return p.update(e,r,n,o,l),p};var i=r(2762),a=r(8116),o=r(4359),s=r(1879).Q,l=window||n.global||{},u=l.__TEXT_CACHE||{};function c(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}l.__TEXT_CACHE={};var f=c.prototype,h=[0,0];f.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,h[0]=this.gl.drawingBufferWidth,h[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=h},f.unbind=function(){this.vao.unbind()},f.update=function(t,e,r,n,i){var a=[];function s(t,e,r,n,i,s){var l=[r.style,r.weight,r.variant,r.family].join("_"),c=u[l];c||(c=u[l]={});var f=c[e];f||(f=c[e]=function(t,e){try{return o(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r.family,fontStyle:r.style,fontWeight:r.weight,fontVariant:r.variant,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var h=(n||12)/12,p=f.positions,d=f.cells,v=0,g=d.length;v=0;--m){var x=p[y[m]];a.push(h*x[0],-h*x[1],t)}}for(var l=[0,0,0],c=[0,0,0],f=[0,0,0],h=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){f[d]=a.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),h[d]=(a.length/3|0)-f[d],l[d]=a.length/3|0;for(var v=0;v=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,u=o%a;o<0?(l=0|-Math.ceil(l),u=0|-u):(l=0|Math.floor(l),u|=0);var c=""+l;if(o<0&&(c="-"+c),i){for(var f=""+u;f.length=t[0][i];--o)a.push({x:o*e[i],text:r(e[i],o)});n.push(a)}return n},e.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function c(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=u(this.gl,this.type,this.length,this.usage,t.data,e):this.length=u(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=u(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var f;f=this.type===this.gl.ELEMENT_ARRAY_BUFFER?c(t,"uint16"):c(t,"float32"),this.length=u(this.gl,this.type,this.length,this.usage,e<0?f:f.subarray(0,t.length),e),n.free(f)}else if("object"==typeof t&&"number"==typeof t.length)this.length=u(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},t.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},6405:function(t,e,r){"use strict";var n=r(2931);t.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,u=1/0,c=-1/0,f=1/0,h=-1/0,p=null,d=null,v=[],g=1/0,y=!1,m="raw"===t.coneSizemode,x=0;xo&&(o=n.length(_)),x&&!m){var w=2*n.distance(p,b)/(n.length(d)+n.length(_));w?(g=Math.min(g,w),y=!1):y=!0}y||(p=b,d=_),v.push(_)}var T=[s,u,f],k=[l,c,h];e&&(e[0]=T,e[1]=k),0===o&&(o=1);var A=1/o;isFinite(g)||(g=1),a.vectorScale=g;var M=t.coneSize||(m?1:.5);t.absoluteConeSize&&(M=t.absoluteConeSize*A),a.coneScale=M,x=0;for(var S=0;x=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=c({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return u(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],f=[];this.cells=r,this.positions=n,this.vectors=i;var h=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,v=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],v=+t.vertexIntensityBounds[1];else for(var g=0;g0){var v=this.triShader;v.bind(),v.uniforms=u,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||f,n=t.view||f,i=t.projection||f,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},t.exports=function(t,e,r){var s=r.shaders;1===arguments.length&&(t=(e=t).gl);var l=function(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(t,s),c=function(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(t,s),f=o(t,u(new Uint8Array([255,255,255,255]),[1,1,4]));f.generateMipmap(),f.minFilter=t.LINEAR_MIPMAP_LINEAR,f.magFilter=t.LINEAR;var p=i(t),d=i(t),v=i(t),g=i(t),y=i(t),m=new h(t,f,l,c,p,d,y,v,g,a(t,[{buffer:p,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:v,type:t.FLOAT,size:4},{buffer:g,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),r.traceType||"cone");return m.update(e),m}},614:function(t,e,r){var n=r(3236),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * view * conePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},737:function(t){t.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},5171:function(t,e,r){var n=r(737);t.exports=function(t){return n[t]}},9165:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var u=new s(e,r,o,l);return u.update(t),u};var n=r(2762),i=r(8116),a=r(3436),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function u(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],u=n[15],c=(t._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*u)/e.drawingBufferHeight;this.vao.bind();for(var f=0;f<3;++f)e.lineWidth(this.lineWidth[f]*this.pixelRatio),r.capSize=this.capSize[f]*c,this.lineCount[f]&&e.drawArrays(e.LINES,this.lineOffset[f],this.lineCount[f]);this.vao.unbind()};var c=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function f(t,e,r,n){for(var i=c[n],a=0;a0&&((p=c.slice())[s]+=d[1][s],i.push(c[0],c[1],c[2],v[0],v[1],v[2],v[3],0,0,0,p[0],p[1],p[2],v[0],v[1],v[2],v[3],0,0,0),u(this.bounds,p),o+=2+f(i,p,v,s))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},3436:function(t,e,r){"use strict";var n=r(3236),i=r(9405),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * view * worldPosition;\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(t,e,r){"use strict";var n=r(7766);t.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var u=t.getExtension("WEBGL_draw_buffers");if(!l&&u&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;ac||r<0||r>c)throw new Error("gl-fbo: Parameters are too large for FBO");var f=1;if("color"in(n=n||{})){if((f=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(f>1){if(!u)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(f>t.getParameter(u.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+f+" draw buffers")}}var h=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&f>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");h=t.FLOAT}else n.preferFloat&&f>0&&p&&(h=t.FLOAT);var v=!0;"depth"in n&&(v=!!n.depth);var g=!1;return"stencil"in n&&(g=!!n.stencil),new d(t,e,r,h,f,v,g,u)};var i,a,o,s,l=null;function u(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function c(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function f(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function h(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var m=r.getExtension("WEBGL_depth_texture");m?d?t.depth=h(r,i,a,m.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v&&(t.depth=h(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):v&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):v?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),y=0;yi||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=u(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var v=i.attributes;return this.positionBuffer.bind(),v.position.pointer(),this.weightBuffer.bind(),v.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),v.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),f.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},f.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var u,c,f,p,d=t.colorLevels||[0],v=t.colorValues||[0,0,0,1],g=d.length,y=this.bounds;l?(u=y[0]=r[0],c=y[1]=o[0],f=y[2]=r[r.length-1],p=y[3]=o[o.length-1]):(u=y[0]=r[0]+(r[1]-r[0])/2,c=y[1]=o[0]+(o[1]-o[0])/2,f=y[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=y[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var m=1/(f-u),x=1/(p-c),b=e[0],_=e[1];this.shape=[b,_];var w=(l?(b-1)*(_-1):b*_)*(h.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),A=a.mallocUint8(2*w),M=a.mallocUint32(w),S=0,E=l?b-1:b,L=l?_-1:_,C=0;C max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];e.createShader=function(t){return i(t,a,o,null,l)},e.createPickShader=function(t){return i(t,a,s,null,l)}},5714:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=f(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=h(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),c=u(new Array(1024),[256,1,4]),p=0;p<1024;++p)c.data[p]=255;var d=a(e,c);d.wrap=e.REPEAT;var v=new y(e,r,o,s,l,d);return v.update(t),v};var n=r(2762),i=r(8116),a=r(7766),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(2478),u=r(9618),c=r(7319),f=c.createShader,h=c.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function v(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function y(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var m=y.prototype;m.isTransparent=function(){return this.hasAlpha},m.isOpaque=function(){return!this.hasAlpha},m.pickSlots=1,m.setPickBase=function(t){this.pickId=t},m.drawTransparent=m.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:v(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:v(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},m.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,c=0,f=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],h=t.position||t.positions;if(h){var p=t.color||t.colors||[0,0,0,1],v=t.lineWidth||1,g=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);c+=2,g=!0}continue t}f[0][r]=Math.min(f[0][r],b[r],_[r]),f[1][r]=Math.max(f[1][r],b[r],_[r])}Array.isArray(p[0])?(y=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],m=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):y=m=p,3===y.length&&(y=[y[0],y[1],y[2],1]),3===m.length&&(m=[m[0],m[1],m[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(v)?v.length>e-1?v[e-1]:v.length>0?v[v.length-1]:[0,0,0,1]:v;var T=s;if(s+=d(b,_),g){for(r=0;r<2;++r)i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3]);c+=2,g=!1}i.push(b[0],b[1],b[2],_[0],_[1],_[2],T,x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],T,-x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],s,-x,m[0],m[1],m[2],m[3],_[0],_[1],_[2],b[0],b[1],b[2],s,x,m[0],m[1],m[2],m[3]),c+=4}}if(this.buffer.update(i),a.push(s),o.push(h[h.length-1].slice()),this.bounds=f,this.vertexCount=c,this.points=o,this.arcLength=a,"dashes"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e1.0001)return null;y+=g[f]}return Math.abs(y-1)>.001?null:[h,s(t,g),g]}},840:function(t,e,r){var n=r(3236),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * view * model * vec4(p, 1.0);\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n f_id = id;\n f_position = position;\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * view * model * vec4(position, 1.0);\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * view * model * vec4(position, 1.0);\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.pointShader={vertex:l,fragment:u,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},e.pickShader={vertex:c,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},e.pointPickShader={vertex:h,fragment:f,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},e.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},7201:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(8116),o=r(7766),s=r(8406),l=r(6760),u=r(7608),c=r(9618),f=r(6729),h=r(7765),p=r(1888),d=r(840),v=r(7626),g=d.meshShader,y=d.wireShader,m=d.pointShader,x=d.pickShader,b=d.pointPickShader,_=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,T,k,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=c,this.triangleNormals=h,this.triangleUVs=f,this.triangleIds=u,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=v,this.edgeVAO=m,this.edgeCount=0,this.pointPositions=x,this.pointColors=_,this.pointUVs=T,this.pointSizes=k,this.pointIds=b,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,m.vertex,m.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function S(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function E(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function L(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=h(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((f=this.triShader).bind(),f.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((f=this.lineShader).bind(),f.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((f=this.pointShader).bind(),f.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((f=this.contourShader).bind(),f.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};(s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;ai[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t],r.uniforms.angle=y[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t]&&T&&(c[1^t]-=M*p*x[t],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t],r.uniforms.angle=_[t],a.drawArrays(a.TRIANGLES,w,T)),c[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(c[1^t]+=M*p*v[t+2],ki[k]&&(r.uniforms.dataAxis=u,r.uniforms.screenOffset=c,r.uniforms.color=g[t+2],r.uniforms.angle=y[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),m[t+2]&&T&&(c[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=f,r.uniforms.screenOffset=c,r.uniforms.color=b[t+2],r.uniforms.angle=_[t+2],a.drawArrays(a.TRIANGLES,w,T))}),v.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,u=r.pixelRatio;if(this.titleCount){for(var c=0;c<2;++c)e[c]=2*(o[c]*u-a[c])/(a[2+c]-a[c])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),v.bind=(h=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,u=.5*(n[o+2]+n[o]),c=n[o+2]-n[o],f=a[o],v=a[o+2]-f,g=i[o],y=i[o+2]-g;p[o]=2*l/c*v/y,h[o]=2*(s-u)/c*v/y}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=h,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),v.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,u=t.bounds;for(o=0;o<2;++o){var c=[Math.floor(s.length/3)],f=[-1/0],h=l[o];for(e=0;e=0){var v=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(v,e[1],v,e[3],p[d],h[d]):o.drawLine(e[0],v,e[2],v,p[d],h[d])}}for(d=0;d=0;--t)this.objects[t].dispose();for(this.objects.length=0,t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},u.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},u.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))u.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-u.lastT())/20;u.pan(a,0,0,f*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(3025),i=r(6296),a=r(351),o=r(8512),s=r(24),l=r(7520)},799:function(t,e,r){var n=r(3236),i=r(9405),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec2"}])}},4100:function(t,e,r){"use strict";var n=r(4437),i=r(3837),a=r(5445),o=r(4449),s=r(3589),l=r(2260),u=r(7169),c=r(351),f=r(4772),h=r(4040),p=r(799),d=r(9216)({tablet:!0,featureDetect:!0});function v(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}return e>0?(r=Math.round(Math.pow(10,e)),Math.ceil(t/r)*r):Math.ceil(t)}function y(t){return"boolean"!=typeof t||t}t.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;e||(e=document.createElement("canvas"),t.container?t.container.appendChild(e):document.body.appendChild(e));var r=t.gl;if(r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error("webgl not supported");var m=t.bounds||[[-10,-10,-10],[10,10,10]],x=new v,b=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),_=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},k=t.axes||{},A=i(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],L=[],C=[],P=[],O=!0,I=!0,z={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},D=(I=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=t.cameraObject||n(e,T),F={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:m,objects:E,shape:D,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:y(t.autoResize),autoBounds:y(t.autoBounds),autoScale:!!t.autoScale,autoCenter:y(t.autoCenter),clipToBounds:y(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:z,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,I=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function N(){if(!F._stopped&&F.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",O=!0}}}function j(){for(var t=E.length,e=P.length,n=0;n0&&0===C[e-1];)C.pop(),P.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&N(),window.addEventListener("resize",N),F.update=function(t){F._stopped||(t=t||{},O=!0,I=!0)},F.add=function(t){F._stopped||(t.axes=A,E.push(t),L.push(-1),O=!0,I=!0,j())},F.remove=function(t){if(!F._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),L.pop(),O=!0,I=!0,j())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener("resize",N),e.removeEventListener("webglcontextlost",U),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;tx.distance)continue;for(var u=0;u 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n"]),e.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n"]),e.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n"])},4696:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(1888),o=r(6640);function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}t.exports=function(t,e){var r=t.gl,a=new s(t,i(r),i(r),n(r,o.pointVertex,o.pointFragment),n(r,o.pickVertex,o.pickFragment));return a.update(e),t.addObject(a),a};var l,u,c=s.prototype;c.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},c.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),u=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),c=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=c<5,r.uniforms.pointSize=c,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(u[0]=255&t,u[1]=t>>8&255,u[2]=t>>16&255,u[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=u,this.pickOffset=t);var f=n.getParameter(n.BLEND),h=n.getParameter(n.DITHER);return f&&!this.blend&&n.disable(n.BLEND),h&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),f&&!this.blend&&n.enable(n.BLEND),h&&n.enable(n.DITHER),t+this.pointCount}),c.draw=c.unifiedDraw,c.drawPick=c.unifiedDraw,c.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},783:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u=e[0],c=e[1],f=e[2],h=e[3],p=r[0],d=r[1],v=r[2],g=r[3];return(a=u*p+c*d+f*v+h*g)<0&&(a=-a,p=-p,d=-d,v=-v,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*u+l*p,t[1]=s*c+l*d,t[2]=s*f+l*v,t[3]=s*h+l*g,t}},5964:function(t){"use strict";t.exports=function(t){return t||0===t?t.toString():""}},9366:function(t,e,r){"use strict";var n=r(4359);t.exports=function(t,e,r){var a=[e.style,e.weight,e.variant,e.family].join("_"),o=i[a];if(o||(o=i[a]={}),t in o)return o[t];var s={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e.family,fontStyle:e.style,fontWeight:e.weight,fontVariant:e.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},l=n(t,s);s.triangles=!1;var u,c,f=n(t,s);if(r&&1!==r){for(u=0;u max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * view * model * vec4(position, 1);\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * view * model * vec4(dataPosition, 1);\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),u=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),c=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],f={vertex:a,fragment:l,attributes:c},h={vertex:o,fragment:l,attributes:c},p={vertex:s,fragment:l,attributes:c},d={vertex:a,fragment:u,attributes:c},v={vertex:o,fragment:u,attributes:c},g={vertex:s,fragment:u,attributes:c};function y(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}e.createPerspective=function(t){return y(t,f)},e.createOrtho=function(t){return y(t,h)},e.createProject=function(t){return y(t,p)},e.createPickPerspective=function(t){return y(t,d)},e.createPickOrtho=function(t){return y(t,v)},e.createPickProject=function(t){return y(t,g)}},8418:function(t,e,r){"use strict";var n=r(5219),i=r(2762),a=r(8116),o=r(1888),s=r(6760),l=r(1283),u=r(9366),c=r(5964),f=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function h(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function p(t,e,r,n){return h(n,n),h(n,n),h(n,n)}function d(t,e){this.index=t,this.dataCoordinate=this.position=e}function v(t){return!0===t||t>1?1:t}function g(t,e,r,n,i,a,o,s,l,u,c,f){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=u,this.pickOrthoShader=c,this.pickProjectShader=f,this.points=[],this._selectResult=new d(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}t.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),u=l.createPickOrtho(e),c=l.createPickProject(e),f=i(e),h=i(e),p=i(e),d=i(e),v=new g(e,r,n,o,f,h,p,d,a(e,[{buffer:f,size:3,type:e.FLOAT},{buffer:h,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),s,u,c);return v.update(t),v};var y=g.prototype;y.pickSlots=1,y.setPickBase=function(t){this.pickId=t},y.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},y.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var m=[0,0],x=[0,0,0],b=[0,0,0],_=[0,0,0,1],w=[0,0,0,1],T=f.slice(),k=[0,0,0],A=[[0,0,0],[0,0,0]];function M(t){return t[0]=t[1]=t[2]=0,t}function S(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function E(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}var L=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function C(t,e,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,u=r.model||f,c=r.view||f,h=r.projection||f,d=e.axesBounds,v=function(t){for(var e=A,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],m[0]=2/o.drawingBufferWidth,m[1]=2/o.drawingBufferHeight,t.bind(),l.view=c,l.projection=h,l.screenSize=m,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=v,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var g=0;g<3;++g)if(a[g]){l.scale=e.projectScale[g],l.opacity=e.projectOpacity[g];for(var y=T,L=0;L<16;++L)y[L]=0;for(L=0;L<4;++L)y[5*L]=1;y[5*g]=0,i[g]<0?y[12+g]=d[0][g]:y[12+g]=d[1][g],s(y,u,y),l.model=y;var C=(g+1)%3,P=(g+2)%3,O=M(x),I=M(b);O[C]=1,I[P]=1;var z=p(0,0,0,S(_,O)),D=p(0,0,0,S(w,I));if(Math.abs(z[1])>Math.abs(D[1])){var R=z;z=D,D=R,R=O,O=I,I=R;var F=C;C=P,P=F}z[0]<0&&(O[C]=-1),D[1]>0&&(I[P]=-1);var B=0,N=0;for(L=0;L<4;++L)B+=Math.pow(u[4*C+L],2),N+=Math.pow(u[4*P+L],2);O[C]/=Math.sqrt(B),I[P]/=Math.sqrt(N),l.axes[0]=O,l.axes[1]=I,l.fragClipBounds[0]=E(k,v[0],g,-1e8),l.fragClipBounds[1]=E(k,v[1],g,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}(e,r,n,i),a===r.hasAlpha||o){t.bind();var u=t.uniforms;u.model=n.model||f,u.view=n.view||f,u.projection=n.projection||f,m[0]=2/l.drawingBufferWidth,m[1]=2/l.drawingBufferHeight,u.screenSize=m,u.highlightId=r.highlightId,u.highlightScale=r.highlightScale,u.fragClipBounds=L,u.clipBounds=r.axes.bounds,u.opacity=r.opacity,u.pickGroup=r.pickId/255,u.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function P(t,e,r,i){var a;a=Array.isArray(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},y.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},y.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(Array.isArray(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(Array.isArray(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){Array.isArray(t.projectOpacity)?this.projectOpacity=t.projectOpacity.slice():(r=+t.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=v(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=v(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l={family:t.font||"normal",style:t.fontStyle||"normal",weight:t.fontWeight||"normal",variant:t.fontVariant||"normal"},u=t.alignment||[0,0];if(2===u.length)i=u[0],a=u[1];else for(i=[],a=[],n=0;n0){var I=0,z=x,D=[0,0,0,1],R=[0,0,0,1],F=Array.isArray(p)&&Array.isArray(p[0]),B=Array.isArray(y)&&Array.isArray(y[0]);t:for(n=0;n<_;++n){for(m+=1,w=s[n],T=0;T<3;++T){if(isNaN(w[T])||!isFinite(w[T]))continue t;f[T]=Math.max(f[T],w[T]),c[T]=Math.min(c[T],w[T])}k=(N=P(h,n,l,this.pixelRatio)).mesh,A=N.lines,M=N.bounds;var N,j=N.visible;if(j)if(Array.isArray(p)){if(3===(U=F?n0?1-M[0][0]:W<0?1+M[1][0]:1,Y*=Y>0?1-M[0][1]:Y<0?1+M[1][1]:1],Z=k.cells||[],K=k.positions||[];for(T=0;T0){var y=r*c;o.drawBox(f-y,h-y,p+y,h+y,a),o.drawBox(f-y,d-y,p+y,d+y,a),o.drawBox(f-y,h-y,f+y,d+y,a),o.drawBox(p-y,h-y,p+y,d+y,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},3589:function(t,e,r){"use strict";t.exports=function(t,e){var r=e[0],a=e[1];return new l(t,n(t,r,a,{}),i.mallocUint8(r*a*4))};var n=r(2260),i=r(1888),a=r(9618),o=r(8828).nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var u=l.prototype;Object.defineProperty(u,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;_[m]=M}var S=new Array(r.length);function E(){h.program=o.program(p,h._vref,h._fref,b,_);for(var t=0;t=0){if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);s(t,e,p[0],i,d,a,f)}else{if(!(h.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+f+": "+h);var d;if((d=h.charCodeAt(h.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+f+": "+h);l(t,e,p,i,d,a,f)}}}return a};var n=r(8866);function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,"location",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}});var o=[function(t,e,r){return void 0===r.length?t.vertexAttrib1f(e,r):t.vertexAttrib1fv(e,r)},function(t,e,r,n){return void 0===r.length?t.vertexAttrib2f(e,r,n):t.vertexAttrib2fv(e,r)},function(t,e,r,n,i){return void 0===r.length?t.vertexAttrib3f(e,r,n,i):t.vertexAttrib3fv(e,r)},function(t,e,r,n,i,a){return void 0===r.length?t.vertexAttrib4f(e,r,n,i,a):t.vertexAttrib4fv(e,r)}];function s(t,e,r,n,a,s,l){var u=o[a],c=new i(t,e,r,n,a,u);Object.defineProperty(s,l,{set:function(e){return t.disableVertexAttribArray(n[r]),u(t,n[r],e),e},get:function(){return c},enumerable:!0})}function l(t,e,r,n,i,a,o){for(var l=new Array(i),u=new Array(i),c=0;c4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+m);t["uniformMatrix"+y+"fv"](s[f],!1,h);break}throw new i("","Unknown uniform data type for "+name+": "+m)}if((y=m.charCodeAt(m.length-1)-48)<2||y>4)throw new i("","Invalid data type");switch(m.charAt(0)){case"b":case"i":t["uniform"+y+"iv"](s[f],h);break;case"v":t["uniform"+y+"fv"](s[f],h);break;default:throw new i("","Unrecognized data type for vector "+name+": "+m)}}}}}}function u(t,e){if("object"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+""===n?a+="["+n+"]":a+="."+n,"object"==typeof i?r.push.apply(r,u(a,i)):r.push([a,i])}return r}function c(t,e,n){if("object"==typeof n){var u=f(n);Object.defineProperty(t,e,{get:a(u),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(c=n,function(t,e,r){return t.getUniform(e.program,r[c])}),set:l(n),enumerable:!0,configurable:!1}):t[e]=function(t){switch(t){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var e=t.indexOf("vec");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[n].type);var c}function f(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * view * tubePosition;\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(t,e,r){"use strict";var n=r(2931),i=r(9970),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e){var r,n=t.length;for(r=0;re)return r-1}return r},s=function(t,e,r){return tr?r:t},l=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nf-1||m>h-1||x>p-1)return n.create();var b,_,w,T,k,A,M=a[0][d],S=a[0][y],E=a[1][v],L=a[1][m],C=a[2][g],P=(l-M)/(S-M),O=(u-E)/(L-E),I=(c-C)/(a[2][x]-C);switch(isFinite(P)||(P=.5),isFinite(O)||(O=.5),isFinite(I)||(I=.5),r.reversedX&&(d=f-1-d,y=f-1-y),r.reversedY&&(v=h-1-v,m=h-1-m),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=v*p,T=m*p,b=d*p*h,_=y*p*h;break;case 4:k=g,A=x,b=d*p,_=y*p,w=v*p*f,T=m*p*f;break;case 3:w=v,T=m,k=g*h,A=x*h,b=d*h*p,_=y*h*p;break;case 2:w=v,T=m,b=d*h,_=y*h,k=g*h*f,A=x*h*f;break;case 1:b=d,_=y,k=g*f,A=x*f,w=v*f*p,T=m*f*p;break;default:b=d,_=y,w=v*f,T=m*f,k=g*f*h,A=x*f*h}var z=i[b+w+k],D=i[b+w+A],R=i[b+T+k],F=i[b+T+A],B=i[_+w+k],N=i[_+w+A],j=i[_+T+k],U=i[_+T+A],V=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(V,z,B,P),n.lerp(q,D,N,P),n.lerp(H,R,j,P),n.lerp(G,F,U,P);var W=n.create(),Y=n.create();n.lerp(W,V,H,O),n.lerp(Y,q,G,O);var X=n.create();return n.lerp(X,W,Y,I),X}(e,t,p)},v=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],y=e[0][0],m=e[0][1],x=e[0][2],b=e[1][0],_=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(eb||r_||nw)},k=10*n.distance(e[0],e[1])/u,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,u=0;uS&&(S=F),D.push(F),g.push({points:P,velocities:O,divergences:D});for(var B=0;B<100*u&&P.lengthA&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,C),I=d(N),n.squaredDistance(z,N)-A>-1e-4*A&&(P.push(N),z=N,O.push(I),R=v(N,I),F=n.length(R),isFinite(F)&&F>S&&(S=F),D.push(F)),C=N}}var U=function(t,e,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;u.push(h[T],p[T],p[k],p[k],h[k],h[T]),f.push(m,y,y,y,m,m),d.push(v,g,g,g,v,v);var A=u.length;c.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=h;h=p,p=M;var S=m;m=y,y=S;var E=v;v=g,g=E}return{positions:u,cells:c,vectors:f,vertexIntensity:d}}(t,r,a,o)})),f=[],h=[],p=[],d=[];for(s=0;s max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color — in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n vec4 worldPosition = model * vec4(worldCoordinate, 1.0);\n\n vec4 clipPosition = projection * view * worldPosition;\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);e.createShader=function(t){var e=n(t,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createPickShader=function(t){var e=n(t,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},e.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},9499:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=m(e),n=b(e),s=x(e),l=_(e),u=i(e),c=a(e,[{buffer:u,size:4,stride:w,offset:0},{buffer:u,size:3,stride:w,offset:16},{buffer:u,size:3,stride:w,offset:28}]),f=i(e),h=a(e,[{buffer:f,size:4,stride:20,offset:0},{buffer:f,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),v=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);v.minFilter=e.LINEAR,v.magFilter=e.LINEAR;var g=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,u,c,v,s,l,f,h,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var T in t)y[T]=t[T];return y.colormap=y.colormap||"jet",g.update(y),g};var n=r(8828),i=r(2762),a=r(8116),o=r(7766),s=r(1888),l=r(6729),u=r(5298),c=r(9994),f=r(9618),h=r(3711),p=r(6760),d=r(7608),v=r(2478),g=r(6199),y=r(990),m=y.createShader,x=y.createContourShader,b=y.createPickShader,_=y.createPickContourShader,w=40,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],k=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,i,a,o,l,u,c,h,p,d,v,g){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=u,this._contourPickShader=c,this._contourBuffer=h,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=v,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0]),f(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var L=E.prototype;L.genColormap=function(t,e){var r=!1,n=c([l({colormap:t,nshades:S,format:"rgba"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return u.divseq(n,255),this.hasAlphaScale=r,n},L.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},L.isOpaque=function(){return!this.isTransparent()},L.pickSlots=1,L.setPickBase=function(t){this.pickId=t};var C=[0,0,0],P={showSurface:!1,showContour:!1,projections:[T.slice(),T.slice(),T.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function O(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||C,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=P.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var u=P.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)u[i][n]=t.clipBounds[i][n];u[0][r]=-1e8,u[1][r]=1e8}return P.showSurface=o,P.showContour=s,P}var I={model:T,view:T,projection:T,inverseModel:T.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},z=T.slice(),D=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=I;n.model=t.model||T,n.view=t.view||T,n.projection=t.projection||T,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=D,n.vertexColor=this.vertexColor;var s=z;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var u=s[12+i];for(o=0;o<3;++o)u+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=u/l}var c=O(n,this);if(c.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=c.projections[i],this._shader.uniforms.clipBounds=c.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(c.showContour){var f=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,f.bind(),f.uniforms=n;var h=this._contourVAO;for(h.bind(),i=0;i<3;++i)for(f.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var u=r.position;u[0]=u[1]=u[2]=0;for(var c=0;c<2;++c)for(var f=c?a:1-a,h=0;h<2;++h)for(var p=i+c,d=s+h,g=f*(h?l:1-l),y=0;y<3;++y)u[y]+=this._field[y].get(p,d)*g;for(var m=this._pickResult.level,x=0;x<3;++x)if(m[x]=v.le(this.contourLevels[x],u[x]),m[x]<0)this.contourLevels[x].length>0&&(m[x]=0);else if(m[x]Math.abs(_-u[x])&&(m[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},L.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();u.assign(t.lo(1,1).hi(r[0],r[1]),e),u.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),u.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),u.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),u.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},L.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=B(t.contourWidth,Number)),"showContour"in t&&(this.showContour=B(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=B(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=j(t.contourColor)),"contourProject"in t&&(this.contourProject=B(t.contourProject,(function(t){return B(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=j(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=B(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=B(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0),"colormap"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=f(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var u=l[o];for(y=0;y<2;++y)if(u.shape[y]!==a[y])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],u)}}else if(t.ticks){var c=t.ticks;if(!Array.isArray(c)||2!==c.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=c[o];if((Array.isArray(p)||p.length)&&(p=f(p)),p.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var d=f(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var v=[0,0];v[o]=1,this._field[o]=f(this._field[o].data,[a[0]+2,a[1]+2],v,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var xt=0;xt<5;++xt)$.pop();U-=1}continue t}$.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[Q]=et,this._contourCounts[Q]=rt}var bt=s.mallocFloat($.length);for(o=0;o<$.length;++o)bt[o]=$[o];this._contourBuffer.update(bt),s.freeFloat(bt)}},L.dispose=function(){this._shader.dispose(),this._vao.dispose(),this._coordinateBuffer.dispose(),this._colorMap.dispose(),this._contourBuffer.dispose(),this._contourVAO.dispose(),this._contourShader.dispose(),this._contourPickShader.dispose(),this._dynamicBuffer.dispose(),this._dynamicVAO.dispose();for(var t=0;t<3;++t)s.freeFloat(this._field[t].data)},L.highlight=function(t){var e,r;if(!t)return this._dynamicCounts=[0,0,0],this.dyanamicLevel=[NaN,NaN,NaN],void(this.highlightLevel=[-1,-1,-1]);for(e=0;e<3;++e)this.enableHighlight[e]?this.highlightLevel[e]=t.level[e]:this.highlightLevel[e]=-1;for(r=this.snapToData?t.dataCoordinate:t.position,e=0;e<3;++e)r[e]-=this.objectOffset[e];if(this.enableDynamic[0]&&r[0]!==this.dynamicLevel[0]||this.enableDynamic[1]&&r[1]!==this.dynamicLevel[1]||this.enableDynamic[2]&&r[2]!==this.dynamicLevel[2]){for(var n=0,i=this.shape,a=s.mallocFloat(12*i[0]*i[1]),o=0;o<3;++o)if(this.enableDynamic[o]){this.dynamicLevel[o]=r[o];var l=(o+1)%3,u=(o+2)%3,c=this._field[o],f=this._field[l],p=this._field[u],d=h(c,r[o]),v=d.cells,g=d.positions;for(this._dynamicOffsets[o]=n,e=0;es||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=d(o,e.stride.slice()),u=0;"float32"===r?u=t.FLOAT:"float64"===r?(u=t.FLOAT,l=!1,r="float32"):"uint8"===r?u=t.UNSIGNED_BYTE:(u=t.UNSIGNED_BYTE,l=!1,r="uint8");var f,p,g=0;if(2===o.length)g=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])g=t.ALPHA;else if(2===o[2])g=t.LUMINANCE_ALPHA;else if(3===o[2])g=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}}u!==t.FLOAT||t.getExtension("OES_texture_float")||(u=t.UNSIGNED_BYTE,l=!1);var y=e.size;if(l)f=0===e.offset&&e.data.length===y?e.data:e.data.subarray(e.offset,e.offset+y);else{var m=[o[2],o[2]*o[0],1];p=a.malloc(y,r);var x=n(p,o,m,0);"float32"!==r&&"float64"!==r||u!==t.UNSIGNED_BYTE?i.assign(x,e):c(x,e),f=p.subarray(0,y)}var b=v(t);return t.texImage2D(t.TEXTURE_2D,0,g,o[0],o[1],0,g,u,f),l||a.free(p),new h(t,b,o[0],o[1],g,u)}(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function u(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var c=function(t,e){i.muls(t,e,255)};function f(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function h(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=h.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function v(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function g(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=v(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new h(t,o,e,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return f(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return f(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,f(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=u(t)?t:t.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l);else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,u,f){var h=f.dtype,p=f.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var v=0,g=0,y=d(p,f.stride.slice());if("float32"===h?v=t.FLOAT:"float64"===h?(v=t.FLOAT,y=!1,h="float32"):"uint8"===h?v=t.UNSIGNED_BYTE:(v=t.UNSIGNED_BYTE,y=!1,h="uint8"),2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],f=n(f.data,p,[f.stride[0],f.stride[1],1],f.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])g=t.ALPHA;else if(2===p[2])g=t.LUMINANCE_ALPHA;else if(3===p[2])g=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}p[2]}if(g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s),g!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var m=f.size,x=u.indexOf(o)<0;if(x&&u.push(o),v===l&&y)0===f.offset&&f.data.length===m?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,f.data.subarray(f.offset,f.offset+m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,f.data.subarray(f.offset,f.offset+m));else{var b;b=l===t.FLOAT?a.mallocFloat32(m):a.mallocUint8(m);var _=n(b,p,[p[2],p[2]*p[0],1]);v===t.FLOAT&&l===t.UNSIGNED_BYTE?c(_,f):i.assign(_,f),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,b.subarray(0,m)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,b.subarray(0,m)),l===t.FLOAT?a.freeFloat32(b):a.freeUint8(b)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},1433:function(t){"use strict";t.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i1?0:Math.acos(s)};var n=r(2825),i=r(3536),a=r(244)},9226:function(t){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},3126:function(t){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},3990:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},1091:function(t){t.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},5911:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},5455:function(t,e,r){t.exports=r(7056)},7056:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},4008:function(t,e,r){t.exports=r(6690)},6690:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},244:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},2613:function(t){t.exports=1e-6},9922:function(t,e,r){t.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(2613)},9265:function(t){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},2681:function(t){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},5137:function(t,e,r){t.exports=function(t,e,r,i,a,o){var s,l;for(e||(e=3),r||(r=0),l=i?Math.min(i*e+r,t.length):t.length,s=r;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},7636:function(t){t.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},6894:function(t){t.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=e[0],t[1]=i+o*u-s*l,t[2]=a+o*l+s*u,t}},109:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+s*l+o*u,t[1]=e[1],t[2]=a+s*u-o*l,t}},8692:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),u=Math.cos(n);return t[0]=i+o*u-s*l,t[1]=a+o*l+s*u,t[2]=e[2],t}},2447:function(t){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},6621:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},8489:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},1463:function(t){t.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},6141:function(t,e,r){t.exports=r(2953)},5486:function(t,e,r){t.exports=r(3066)},2953:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},3066:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},2229:function(t,e,r){t.exports=r(6843)},6843:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},492:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},5673:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},264:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t}},4361:function(t){t.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},2335:function(t){t.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},2933:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},7536:function(t){t.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},4691:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},1373:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},3750:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},3390:function(t){t.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},9970:function(t,e,r){t.exports={create:r(7536),clone:r(2335),fromValues:r(3390),copy:r(2933),set:r(4578),add:r(4361),subtract:r(6860),multiply:r(3576),divide:r(1373),min:r(2334),max:r(160),scale:r(9288),scaleAndAdd:r(4844),distance:r(4691),squaredDistance:r(7960),length:r(6808),squaredLength:r(483),negate:r(1498),inverse:r(4494),normalize:r(5177),dot:r(3750),lerp:r(2573),random:r(9131),transformMat4:r(5352),transformQuat:r(4041)}},4494:function(t){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},6808:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},2573:function(t){t.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},160:function(t){t.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},2334:function(t){t.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},3576:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},1498:function(t){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},5177:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t}},9131:function(t,e,r){var n=r(5177),i=r(9288);t.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},9288:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},4844:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},4578:function(t){t.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},7960:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},483:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},6860:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},5352:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},4041:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],u=r[3],c=u*n+s*a-l*i,f=u*i+l*n-o*a,h=u*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=c*u+p*-o+f*-l-h*-s,t[1]=f*u+p*-s+h*-o-c*-l,t[2]=h*u+p*-l+c*-s-f*-o,t[3]=e[3],t}},1848:function(t,e,r){var n=r(4905),i=r(6468);t.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return N(r),P+=r.length,(S=S.slice(r.length)).length}}function W(){return/[^a-fA-F0-9]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function Y(){return"."===e||/[eE]/.test(e)?(S.push(e),M=v,r=e,k+1):"x"===e&&1===S.length&&"0"===S[0]?(M=_,S.push(e),r=e,k+1):/[^\d]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function X(){return"f"===e&&(S.push(e),r=e,k+=1),/[eE]/.test(e)?(S.push(e),r=e,k+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function Z(){if(/[^\d\w_]/.test(e)){var t=S.join("");return M=B[t]?m:F[t]?y:g,N(S.join("")),M=l,k}return S.push(e),r=e,k+1}};var n=r(620),i=r(7827),a=r(6852),o=r(7932),s=r(3508),l=999,u=9999,c=0,f=1,h=2,p=3,d=4,v=5,g=6,y=7,m=8,x=9,b=10,_=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3508:function(t,e,r){var n=r(6852);n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),t.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},6852:function(t){t.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},7932:function(t,e,r){var n=r(620);t.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},620:function(t){t.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},7827:function(t){t.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},4905:function(t,e,r){var n=r(5874);t.exports=function(t,e){var r=n(e),i=[];return(i=i.concat(r(t))).concat(r(null))}},3236:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},8954:function(t,e,r){"use strict";t.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var i=t[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),c=0;c<=i;++c)l[c]=c;s<0&&(l[0]=1,l[1]=0);var f=new a(l,new Array(i+1),!1),h=f.adjacent,p=new Array(i+2);for(c=0;c<=i;++c){for(var d=l.slice(),v=0;v<=i;++v)v===c&&(d[v]=-1);var g=d[0];d[0]=d[1],d[1]=g;var y=new a(d,new Array(i+1),!0);h[c]=y,p[c]=y}for(p[i+1]=f,c=0;c<=i;++c){d=h[c].vertices;var m=h[c].adjacent;for(v=0;v<=i;++v){var x=d[v];if(x<0)m[v]=f;else for(var b=0;b<=i;++b)h[b].vertices.indexOf(x)<0&&(m[v]=h[b])}}var _=new u(i,o,p),w=!!e;for(c=i+1;c0;)for(var s=(t=o.pop()).adjacent,l=0;l<=r;++l){var u=s[l];if(u.boundary&&!(u.lastVisited<=-n)){for(var c=u.vertices,f=0;f<=r;++f){var h=c[f];i[f]=h<0?e:a[h]}var p=this.orient();if(p>0)return u;u.lastVisited=-n,0===p&&o.push(u)}}return null},c.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,u=s.adjacent,c=0;c<=n;++c)a[c]=i[l[c]];for(s.lastVisited=r,c=0;c<=n;++c){var f=u[c];if(!(f.lastVisited>=r)){var h=a[c];a[c]=t;var p=this.orient();if(a[c]=h,p<0){s=f;continue t}f.boundary?f.lastVisited=-r:f.lastVisited=r}}return}return s},c.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,u=this.interior,c=this.simplices,f=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,u.push(e);for(var h=[];f.length>0;){var p=(e=f.pop()).vertices,d=e.adjacent,v=p.indexOf(r);if(!(v<0))for(var g=0;g<=n;++g)if(g!==v){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var m=y.vertices;if(y.lastVisited!==-r){for(var x=0,b=0;b<=n;++b)m[b]<0?(x=b,l[b]=t):l[b]=i[m[b]];if(this.orient()>0){m[x]=r,y.boundary=!1,u.push(y),f.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var _=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);c.push(k);var A=_.indexOf(e);if(!(A<0))for(_[A]=k,T[v]=y,w[g]=-1,T[g]=e,d[g]=k,k.flip(),b=0;b<=n;++b){var M=w[b];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,L=0;L<=n;++L){var C=w[L];C<0||L===b||(S[E++]=C)}h.push(new o(S,k,b))}}}}}for(h.sort(s),g=0;g+1=0?o[l++]=s[c]:u=1&c;if(u===(1&t)){var f=o[0];o[0]=o[1],o[1]=f}e.push(o)}}return e}},3352:function(t,e,r){"use strict";var n=r(2478);function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}t.exports=function(t){return t&&0!==t.length?new y(g(t)):new y(null)};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=g(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function u(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function c(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function h(t,e){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=g([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=g([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,v);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?u(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?u(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);athis.mid?this.right&&(r=this.right.queryPoint(t,e))?r:f(this.rightPoints,t,e):h(this.leftPoints,e);var r},a.queryInterval=function(t,e,r){var n;return tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r))?n:ethis.mid?f(this.rightPoints,t,r):h(this.leftPoints,r)};var m=y.prototype;m.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},m.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},m.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},m.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(m,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(m,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},7762:function(t){"use strict";t.exports=function(t){for(var e=new Array(t),r=0;r13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},395:function(t){t.exports=function(t,e,r){return t*(1-r)+e*r}},2652:function(t,e,r){var n=r(4335),i=r(6864),a=r(1903),o=r(9921),s=r(7608),l=r(5665),u={length:r(1387),normalize:r(3536),dot:r(244),cross:r(5911)},c=i(),f=i(),h=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function v(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}t.exports=function(t,e,r,i,g,y){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(c,t))return!1;if(a(f,c),f[3]=0,f[7]=0,f[11]=0,f[15]=1,Math.abs(o(f)<1e-8))return!1;var m,x,b,_,w,T,k,A=c[3],M=c[7],S=c[11],E=c[12],L=c[13],C=c[14],P=c[15];if(0!==A||0!==M||0!==S){if(h[0]=A,h[1]=M,h[2]=S,h[3]=P,!s(f,f))return!1;l(f,f),m=g,b=f,_=(x=h)[0],w=x[1],T=x[2],k=x[3],m[0]=b[0]*_+b[4]*w+b[8]*T+b[12]*k,m[1]=b[1]*_+b[5]*w+b[9]*T+b[13]*k,m[2]=b[2]*_+b[6]*w+b[10]*T+b[14]*k,m[3]=b[3]*_+b[7]*w+b[11]*T+b[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=L,e[2]=C,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,c),r[0]=u.length(p[0]),u.normalize(p[0],p[0]),i[0]=u.dot(p[0],p[1]),v(p[1],p[1],p[0],1,-i[0]),r[1]=u.length(p[1]),u.normalize(p[1],p[1]),i[0]/=r[1],i[1]=u.dot(p[0],p[2]),v(p[2],p[2],p[0],1,-i[1]),i[2]=u.dot(p[1],p[2]),v(p[2],p[2],p[1],1,-i[2]),r[2]=u.length(p[2]),u.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],u.cross(d,p[1],p[2]),u.dot(p[0],d)<0)for(var O=0;O<3;O++)r[O]*=-1,p[O][0]*=-1,p[O][1]*=-1,p[O][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4335:function(t){t.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},7442:function(t,e,r){var n=r(6658),i=r(7182),a=r(2652),o=r(9921),s=r(8648),l=f(),u=f(),c=f();function f(){return{translate:h(),scale:h(1),skew:h(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function h(t){return[t||0,t||0,t||0]}t.exports=function(t,e,r,f){if(0===o(e)||0===o(r))return!1;var h=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,u.translate,u.scale,u.skew,u.perspective,u.quaternion);return!(!h||!p||(n(c.translate,l.translate,u.translate,f),n(c.skew,l.skew,u.skew,f),n(c.scale,l.scale,u.scale,f),n(c.perspective,l.perspective,u.perspective,f),s(c.quaternion,l.quaternion,u.quaternion,f),i(t,c.translate,c.scale,c.skew,c.perspective,c.quaternion),0))}},7182:function(t,e,r){var n={identity:r(7894),translate:r(7656),multiply:r(6760),create:r(6864),scale:r(2504),fromRotationTranslation:r(6743)},i=(n.create(),n.create());t.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},4192:function(t,e,r){"use strict";var n=r(2478),i=r(7442),a=r(7608),o=r(5567),s=r(2408),l=r(7089),u=r(6582),c=r(7656),f=(r(2504),r(3536)),h=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}t.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,u=0;u<16;++u)o[u]=s[l++];else{var c=e[r+1]-e[r],h=(l=16*r,this.prevMatrix),p=!0;for(u=0;u<16;++u)h[u]=s[l++];var d=this.nextMatrix;for(u=0;u<16;++u)d[u]=s[l++],p=p&&h[u]===d[u];if(c<1e-6||p)for(u=0;u<16;++u)o[u]=h[u];else i(o,h,d,(t-e[r])/c)}var v=this.computedUp;v[0]=o[1],v[1]=o[5],v[2]=o[9],f(v,v);var g=this.computedInverse;a(g,o);var y=this.computedEye,m=g[15];y[0]=g[12]/m,y[1]=g[13]/m,y[2]=g[14]/m;var x=this.computedCenter,b=Math.exp(this.computedRadius[0]);for(u=0;u<3;++u)x[u]=y[u]-o[2+4*u]*b}},d.idle=function(t){if(!(t1&&n(t[o[c-2]],t[o[c-1]],u)<=0;)c-=1,o.pop();for(o.push(l),c=s.length;c>1&&n(t[s[c-2]],t[s[c-1]],u)>=0;)c-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var f=0,h=(i=0,o.length);i0;--p)r[f++]=s[p];return r};var n=r(3250)[3]},351:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4687)},24:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},4687:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0"),"function"!=typeof t.vertex&&e("Must specify vertex creation function"),"function"!=typeof t.cell&&e("Must specify cell creation function"),"function"!=typeof t.phase&&e("Must specify phase function");for(var o=t.getters||[],s=new Array(a),l=0;l=0?s[l]=!0:s[l]=!1;return function(t,e,r,a,o,s){var l=[s,o].join(",");return(0,i[l])(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,0,r,s)};var i={"false,0,1":function(t,e,r,n,i){return function(a,o,s,l){var u,c=0|a.shape[0],f=0|a.shape[1],h=a.data,p=0|a.offset,d=0|a.stride[0],v=0|a.stride[1],g=p,y=0|-d,m=0,x=0|-v,b=0,_=-d-v|0,w=0,T=0|d,k=v-d*c|0,A=0,M=0,S=0,E=2*c|0,L=n(E),C=n(E),P=0,O=0,I=-1,z=-1,D=0,R=0|-c,F=0|c,B=0,N=-c-1|0,j=c-1|0,U=0,V=0,q=0;for(A=0;A0){if(M=1,L[P++]=r(h[g],o,s,l),g+=T,c>0)for(A=1,u=h[g],O=L[P]=r(u,o,s,l),D=L[P+I],B=L[P+R],U=L[P+N],O===D&&O===B&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,D,B,U,o,s,l),V=C[P]=S++),P+=1,g+=T,A=2;A0)for(A=1,u=h[g],O=L[P]=r(u,o,s,l),D=L[P+I],B=L[P+R],U=L[P+N],O===D&&O===B&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,D,B,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,b,w,B,U,o,s,l)),P+=1,g+=T,A=2;A0){if(A=1,L[P++]=r(h[g],o,s,l),g+=T,f>0)for(M=1,u=h[g],O=L[P]=r(u,o,s,l),B=L[P+R],D=L[P+I],U=L[P+N],O===B&&O===D&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,B,D,U,o,s,l),V=C[P]=S++),P+=1,g+=T,M=2;M0)for(M=1,u=h[g],O=L[P]=r(u,o,s,l),B=L[P+R],D=L[P+I],U=L[P+N],O===B&&O===D&&O===U||(m=h[g+y],b=h[g+x],w=h[g+_],t(A,M,u,m,b,w,O,B,D,U,o,s,l),V=C[P]=S++,U!==B&&e(C[P+R],V,w,m,U,B,o,s,l)),P+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),t.pick(0,-1,1).lo(1).hi(a[1]-2)),e(t.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),t.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),e(t.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),t.pick(-1,0,0).lo(1).hi(a[0]-2)),e(t.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),t.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),e(t.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),t.set(0,0,0,0),t.set(0,0,1,0),t.set(a[0]-1,0,0,0),t.set(a[0]-1,0,1,0),t.set(0,a[1]-1,0,0),t.set(0,a[1]-1,1,0),t.set(a[0]-1,a[1]-1,0,0),t.set(a[0]-1,a[1]-1,1,0),t}}t.exports=function(t,e,r){return Array.isArray(r)||(r=n(e.dimension,"string"==typeof r?r:"clamp")),0===e.size?t:0===e.dimension?(t.set(0),t):function(t){var e=t.join();if(a=c[e])return a;for(var r=t.length,n=[f,h],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return c[e]=a,a}(r)(t,e)}},4317:function(t){"use strict";function e(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var b=0|t[1];b>0;){b<64?(u=b,b=0):(u=64,b-=64),n=y+x*f+b*h,o=m+x*d+b*v;var _=0,w=0,T=0,k=p,A=f-c*p,M=h-l*f,S=g,E=d-c*g,L=v-l*d;for(T=0;T0;){v<64?(l=v,v=0):(l=64,v-=64);for(var g=0|t[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+v*c+g*u,o=d+v*h+g*f;var y=0,m=0,x=c,b=u-l*c,_=h,w=f-l*h;for(m=0;m0;){m<64?(u=m,m=0):(u=64,m-=64);for(var x=0|t[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var b=0|t[1];b>0;){b<64?(l=b,b=0):(l=64,b-=64),n=g+m*h+x*c+b*f,o=y+m*v+x*p+b*d;var _=0,w=0,T=0,k=h,A=c-u*h,M=f-s*c,S=v,E=p-u*v,L=d-s*p;for(T=0;Tr;){y=0,m=v-o;e:for(g=0;gb)break e;m+=f,y+=h}for(y=v,m=v-o,g=0;g>1,H=q-j,G=q+j,W=U,Y=H,X=q,Z=G,K=V,J=i+1,$=a-1,Q=!0,tt=0,et=0,rt=0,nt=f,it=e(nt),at=e(nt);A=l*W,M=l*Y,N=s;t:for(k=0;k0){g=W,W=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*K,N=s;t:for(k=0;k0){g=Z,Z=K,K=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*X,N=s;t:for(k=0;k0){g=W,W=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Z,N=s;t:for(k=0;k0){g=W,W=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*Z,N=s;t:for(k=0;k0){g=X,X=Z,Z=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*K,N=s;t:for(k=0;k0){g=Y,Y=K,K=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*K,N=s;t:for(k=0;k0){g=Z,Z=K,K=g;break t}if(rt<0)break t;N+=p}for(A=l*W,M=l*Y,S=l*X,E=l*Z,L=l*K,C=l*U,P=l*q,O=l*V,B=0,N=s,k=0;k0)){if(rt<0){for(A=l*b,M=l*J,S=l*$,N=s,k=0;k0)for(;;){for(_=s+$*l,B=0,k=0;k0)){for(_=s+$*l,B=0,k=0;kV){t:for(;;){for(_=s+J*l,B=0,N=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,u)}},446:function(t,e,r){"use strict";var n=r(7640),i={};t.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},9618:function(t,e,r){var n=r(7163),i="undefined"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function o(){var t,e=this.stride,r=new Array(e.length);for(t=0;t=0&&(e+=a*(r=0|t),i-=r),new n(this.data,i,a,e)},i.step=function(t){var e=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return"number"==typeof t&&((a=0|t)<0?(i+=r*(e-1),e=o(-e/a)):e=o(e/a),r*=a),new n(this.data,e,r,i)},i.transpose=function(t){t=void 0===t?0:0|t;var e=this.shape,r=this.stride;return new n(this.data,e[t],r[t],this.offset)},i.pick=function(t){var r=[],n=[],i=this.offset;return"number"==typeof t&&t>=0?i=i+this.stride[0]*t|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,e[r.length+1])(this.data,r,n,i)},function(t,e,r,i){return new n(t,e[0],r[0],i)}},2:function(t,e,r){function n(t,e,r,n,i,a){this.data=t,this.shape=[e,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=t,i.dimension=2,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(e,r,n){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]=n},i.get=function(e,r){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]},i.index=function(t,e){return this.offset+this.stride[0]*t+this.stride[1]*e},i.hi=function(t,e){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,this.stride[0],this.stride[1],this.offset)},i.lo=function(t,e){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return"number"==typeof t&&t>=0&&(r+=s*(i=0|t),a-=i),"number"==typeof e&&e>=0&&(r+=l*(i=0|e),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(t,e){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,u=Math.ceil;return"number"==typeof t&&((l=0|t)<0?(s+=a*(r-1),r=u(-r/l)):r=u(r/l),a*=l),"number"==typeof e&&((l=0|e)<0?(s+=o*(i-1),i=u(-i/l)):i=u(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(t,e){t=void 0===t?0:0|t,e=void 0===e?1:0|e;var r=this.shape,i=this.stride;return new n(this.data,r[t],r[e],i[t],i[e],this.offset)},i.pick=function(t,r){var n=[],i=[],a=this.offset;return"number"==typeof t&&t>=0?a=a+this.stride[0]*t|0:(n.push(this.shape[0]),i.push(this.stride[0])),"number"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,e[n.length+1])(this.data,n,i,a)},function(t,e,r,i){return new n(t,e[0],e[1],r[0],r[1],i)}},3:function(t,e,r){function n(t,e,r,n,i,a,o,s){this.data=t,this.shape=[e,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=t,i.dimension=3,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,"order",{get:function(){var t=Math.abs(this.stride[0]),e=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return t>e?e>r?[2,1,0]:t>r?[1,2,0]:[1,0,2]:t>r?[2,0,1]:r>e?[0,1,2]:[0,2,1]}}),i.set=function(e,r,n,i){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(e,r,n){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]},i.index=function(t,e,r){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r},i.hi=function(t,e,r){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(t,e,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.stride[0],c=this.stride[1],f=this.stride[2];return"number"==typeof t&&t>=0&&(i+=u*(a=0|t),o-=a),"number"==typeof e&&e>=0&&(i+=c*(a=0|e),s-=a),"number"==typeof r&&r>=0&&(i+=f*(a=0|r),l-=a),new n(this.data,o,s,l,u,c,f,i)},i.step=function(t,e,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],u=this.stride[2],c=this.offset,f=0,h=Math.ceil;return"number"==typeof t&&((f=0|t)<0?(c+=s*(i-1),i=h(-i/f)):i=h(i/f),s*=f),"number"==typeof e&&((f=0|e)<0?(c+=l*(a-1),a=h(-a/f)):a=h(a/f),l*=f),"number"==typeof r&&((f=0|r)<0?(c+=u*(o-1),o=h(-o/f)):o=h(o/f),u*=f),new n(this.data,i,a,o,s,l,u,c)},i.transpose=function(t,e,r){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[t],i[e],i[r],a[t],a[e],a[r],this.offset)},i.pick=function(t,r,n){var i=[],a=[],o=this.offset;return"number"==typeof t&&t>=0?o=o+this.stride[0]*t|0:(i.push(this.shape[0]),a.push(this.stride[0])),"number"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),"number"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,e[i.length+1])(this.data,i,a,o)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],r[0],r[1],r[2],i)}},4:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u){this.data=t,this.shape=[e,r,n,i],this.stride=[a,o,s,l],this.offset=0|u}var i=n.prototype;return i.dtype=t,i.dimension=4,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(e,r,n,i){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(t,e,r,n){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n},i.hi=function(t,e,r,i){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(t,e,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],u=this.shape[2],c=this.shape[3],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3];return"number"==typeof t&&t>=0&&(a+=f*(o=0|t),s-=o),"number"==typeof e&&e>=0&&(a+=h*(o=0|e),l-=o),"number"==typeof r&&r>=0&&(a+=p*(o=0|r),u-=o),"number"==typeof i&&i>=0&&(a+=d*(o=0|i),c-=o),new n(this.data,s,l,u,c,f,h,p,d,a)},i.step=function(t,e,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],u=this.stride[0],c=this.stride[1],f=this.stride[2],h=this.stride[3],p=this.offset,d=0,v=Math.ceil;return"number"==typeof t&&((d=0|t)<0?(p+=u*(a-1),a=v(-a/d)):a=v(a/d),u*=d),"number"==typeof e&&((d=0|e)<0?(p+=c*(o-1),o=v(-o/d)):o=v(o/d),c*=d),"number"==typeof r&&((d=0|r)<0?(p+=f*(s-1),s=v(-s/d)):s=v(s/d),f*=d),"number"==typeof i&&((d=0|i)<0?(p+=h*(l-1),l=v(-l/d)):l=v(l/d),h*=d),new n(this.data,a,o,s,l,u,c,f,h,p)},i.transpose=function(t,e,r,i){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[t],a[e],a[r],a[i],o[t],o[e],o[r],o[i],this.offset)},i.pick=function(t,r,n,i){var a=[],o=[],s=this.offset;return"number"==typeof t&&t>=0?s=s+this.stride[0]*t|0:(a.push(this.shape[0]),o.push(this.stride[0])),"number"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),"number"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),"number"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,e[a.length+1])(this.data,a,o,s)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],r[0],r[1],r[2],r[3],i)}},5:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,u,c,f){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,u,c],this.offset=0|f}var i=n.prototype;return i.dtype=t,i.dimension=5,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a,o){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(e,r,n,i,a){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(t,e,r,n,i){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(t,e,r,i,a){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,"number"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(t,e,r,i,a){var o=this.offset,s=0,l=this.shape[0],u=this.shape[1],c=this.shape[2],f=this.shape[3],h=this.shape[4],p=this.stride[0],d=this.stride[1],v=this.stride[2],g=this.stride[3],y=this.stride[4];return"number"==typeof t&&t>=0&&(o+=p*(s=0|t),l-=s),"number"==typeof e&&e>=0&&(o+=d*(s=0|e),u-=s),"number"==typeof r&&r>=0&&(o+=v*(s=0|r),c-=s),"number"==typeof i&&i>=0&&(o+=g*(s=0|i),f-=s),"number"==typeof a&&a>=0&&(o+=y*(s=0|a),h-=s),new n(this.data,l,u,c,f,h,p,d,v,g,y,o)},i.step=function(t,e,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],u=this.shape[3],c=this.shape[4],f=this.stride[0],h=this.stride[1],p=this.stride[2],d=this.stride[3],v=this.stride[4],g=this.offset,y=0,m=Math.ceil;return"number"==typeof t&&((y=0|t)<0?(g+=f*(o-1),o=m(-o/y)):o=m(o/y),f*=y),"number"==typeof e&&((y=0|e)<0?(g+=h*(s-1),s=m(-s/y)):s=m(s/y),h*=y),"number"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=m(-l/y)):l=m(l/y),p*=y),"number"==typeof i&&((y=0|i)<0?(g+=d*(u-1),u=m(-u/y)):u=m(u/y),d*=y),"number"==typeof a&&((y=0|a)<0?(g+=v*(c-1),c=m(-c/y)):c=m(c/y),v*=y),new n(this.data,o,s,l,u,c,f,h,p,d,v,g)},i.transpose=function(t,e,r,i,a){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[t],o[e],o[r],o[i],o[a],s[t],s[e],s[r],s[i],s[a],this.offset)},i.pick=function(t,r,n,i,a){var o=[],s=[],l=this.offset;return"number"==typeof t&&t>=0?l=l+this.stride[0]*t|0:(o.push(this.shape[0]),s.push(this.stride[0])),"number"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),"number"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),"number"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),"number"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,e[o.length+1])(this.data,o,s,l)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],e[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(t,e){var r=-1===e?"T":String(e),n=s[r];return-1===e?n(t):0===e?n(t,u[t][0]):n(t,u[t],o)}var u={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};t.exports=function(t,e,r,a){if(void 0===t)return(0,u.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,c=1;s>=0;--s)r[s]=c,c*=e[s]}if(void 0===a)for(a=0,s=0;s>>0;t.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);return e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},8406:function(t,e){e.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var b=i[u],_=1/Math.sqrt(g*m);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;b[x]+=_*(y[w]*v[T]-y[T]*v[w])}}}for(o=0;oa)for(_=1/Math.sqrt(k),x=0;x<3;++x)b[x]*=_;else for(x=0;x<3;++x)b[x]=0}return i},e.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0,u=0;u<3;++u)h[u]*=p;i[o]=h}return i}},4081:function(t){"use strict";t.exports=function(t,e,r,n,i,a,o,s,l,u){var c=e+a+u;if(f>0){var f=Math.sqrt(c+1);t[0]=.5*(o-l)/f,t[1]=.5*(s-n)/f,t[2]=.5*(r-a)/f,t[3]=.5*f}else{var h=Math.max(e,a,u);f=Math.sqrt(2*h-c+1),e>=h?(t[0]=.5*f,t[1]=.5*(i+r)/f,t[2]=.5*(s+n)/f,t[3]=.5*(o-l)/f):a>=h?(t[0]=.5*(r+i)/f,t[1]=.5*f,t[2]=.5*(l+o)/f,t[3]=.5*(s-n)/f):(t[0]=.5*(n+s)/f,t[1]=.5*(o+l)/f,t[2]=.5*f,t[3]=.5*(r-i)/f)}return t}},9977:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),c(r=[].slice.call(r,0,4),r);var i=new f(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up),i};var n=r(9215),i=r(6582),a=r(7399),o=r(7608),s=r(4081);function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function u(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function c(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=u(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function f(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var h=f.prototype;h.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},h.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;c(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var u=0,f=0;f<3;++f)u+=r[l+4*f]*i[f];r[12+l]=-u}},h.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},h.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},h.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},h.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],u=l(a,o,s);a/=u,o/=u,s/=u;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=l(c-=a*p,f-=o*p,h-=s*p);c/=d,f/=d,h/=d;var v=i[2],g=i[6],y=i[10],m=v*a+g*o+y*s,x=v*c+g*f+y*h,b=l(v-=m*a+x*c,g-=m*o+x*f,y-=m*s+x*h);v/=b,g/=b,y/=b;var _=c*e+a*r,w=f*e+o*r,T=h*e+s*r;this.center.move(t,_,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},h.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],c=i[1],f=i[5],h=i[9],p=i[2],d=i[6],v=i[10],g=e*a+r*c,y=e*o+r*f,m=e*s+r*h,x=-(d*m-v*y),b=-(v*g-p*m),_=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(b,2)-Math.pow(_,2))),T=u(x,b,_,w);T>1e-6?(x/=T,b/=T,_/=T,w/=T):(x=b=_=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],L=A*w+E*x+M*_-S*b,C=M*w+E*b+S*x-A*_,P=S*w+E*_+A*b-M*x,O=E*w-A*x-M*b-S*_;if(n){x=p,b=d,_=v;var I=Math.sin(n)/l(x,b,_);x*=I,b*=I,_*=I,O=O*(w=Math.cos(e))-(L=L*w+O*x+C*_-P*b)*x-(C=C*w+O*b+P*x-L*_)*b-(P=P*w+O*_+L*b-C*x)*_}var z=u(L,C,P,O);z>1e-6?(L/=z,C/=z,P/=z,O/=z):(L=C=P=0,O=1),this.rotation.set(t,L,C,P,O)},h.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),c(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,u=0;u<3;++u)l+=Math.pow(r[u]-e[u],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},h.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},h.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),c(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,u=n[14]/i;this.recalcMatrix(t);var f=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*f,l-n[6]*f,u-n[10]*f),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},h.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},h.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},h.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},h.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},h.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},1371:function(t,e,r){"use strict";var n=r(3233);t.exports=function(t,e,r){return n(r=void 0!==r?r+"":" ",e)+t}},3202:function(t){t.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},3088:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[c][r][0],l=c;break}s=o[1^l];for(var f=0;f<2;++f)for(var h=a[f][r],p=0;p0&&(o=d,s=v,l=f)}return i||o&&u(o,l),s}function f(t,r){var i=a[r][t][0],o=[t];u(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=c(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],f=t,h=o[1],p=c(l,f,!0);if(n(e[l],e[f],e[h],e[p])<0)break;o.push(t),s=c(l,f)}return o}function h(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){a[0][o].length;var v=f(o,p);h(0,v)?d.push.apply(d,v):(d.length>0&&l.push(d),d=v)}d.length>0&&l.push(d)}return l};var n=r(3140)},5609:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){i[p=o.pop()]=!1;var u=r[p];for(s=0;s0}))).length,g=new Array(v),y=new Array(v);for(p=0;p0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];for(0===V&&(j=[q=d[B]]),p=0;p=0||(F[H]=1^V,R.push(H),0===V&&(D(q=d[H])||(q.reverse(),j.push(q))))}0===V&&r.push(j)}return r};var n=r(3134),i=r(3088),a=r(5085),o=r(5250),s=r(8210),l=r(1682),u=r(5609);function c(t,e){for(var r=new Array(t),n=0;n0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,u=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(u>0)a=a.left;else{if(!(u<0))return 0;s=1,a=a.right}}return s}}(y.slabs,y.coordinates);return 0===a.length?m:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),m)};var n=r(3250)[3],i=r(4209),a=r(3352),o=r(2478);function s(){return!0}function l(t){for(var e={},r=0;r=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d):(k=0,p>=0?(A=0,m=d):-p>=f?(A=1,m=f+2*p+d):m=p*(A=-p/f)+d);else if(A<0)A=0,h>=0?(k=0,m=d):-h>=u?(k=1,m=u+2*h+d):m=h*(k=-h/u)+d;else{var M=1/T;m=(k*=M)*(u*k+c*(A*=M)+2*h)+A*(c*k+f*A+2*p)+d}else k<0?(b=f+p)>(x=c+h)?(_=b-x)>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d:(k=0,b<=0?(A=1,m=f+2*p+d):p>=0?(A=0,m=d):m=p*(A=-p/f)+d):A<0?(b=u+h)>(x=c+p)?(_=b-x)>=(w=u-2*c+f)?(A=1,k=0,m=f+2*p+d):m=(k=1-(A=_/w))*(u*k+c*A+2*h)+A*(c*k+f*A+2*p)+d:(A=0,b<=0?(k=1,m=u+2*h+d):h>=0?(k=0,m=d):m=h*(k=-h/u)+d):(_=f+p-c-h)<=0?(k=0,A=1,m=f+2*p+d):_>=(w=u-2*c+f)?(k=1,A=0,m=u+2*h+d):m=(k=_/w)*(u*k+c*(A=1-k)+2*h)+A*(c*k+f*A+2*p)+d;var S=1-k-A;for(l=0;l0){var u=t[r-1];if(0===n(s,u)&&a(u)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},3233:function(t){"use strict";var e,r="";t.exports=function(t,n){if("string"!=typeof t)throw new TypeError("expected a string");if(1===n)return t;if(2===n)return t+t;var i=t.length*n;if(e!==t||void 0===e)e=t,r="";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=t),n>>=1,t+=t;return r=(r+=t).substr(0,i)}},3025:function(t,e,r){t.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(t){"use strict";t.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r;(l=(s=t[i])-((r=a+s)-a))&&(t[--n]=r,r=l)}var o=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:f(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],u=r[1]-n[1],c=t[2]-n[2],f=e[2]-n[2],p=r[2]-n[2],d=a*u,v=o*l,g=o*s,y=i*u,m=i*l,x=a*s,b=c*(d-v)+f*(g-y)+p*(m-x),_=7771561172376103e-31*((Math.abs(d)+Math.abs(v))*Math.abs(c)+(Math.abs(g)+Math.abs(y))*Math.abs(f)+(Math.abs(m)+Math.abs(x))*Math.abs(p));return b>_||-b>_?b:h(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=c(t.length)),e.apply(void 0,t)}function v(t,e,r,n,i,a,o){return function(e,r,s,l,u){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,s);case 4:return a(e,r,s,l);case 5:return o(e,r,s,l,u)}for(var c=new Array(arguments.length),f=0;f0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),u=r[i],c=n[i],f=Math.min(u,c);if(Math.max(u,c)=n?(i=f,(l+=1)=n?(i=f,(l+=1)>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a>1,u=e[2*l+1];if(u===a)return l;a0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},2014:function(t,e,r){"use strict";var n=r(3105),i=r(4623);function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),u=i(e[0],e[1]);return(s=i(l,t[2])-i(u,e[2]))||i(l+t[2],a)-i(u+e[2],o);default:var c=t.slice(0);c.sort();var f=e.slice(0);f.sort();for(var h=0;h>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function c(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[g],s)););}return r}function f(t,e){if(e<0)return[];for(var r=[],i=(1<>>c&1&&u.push(i[c]);e.push(u)}return s(e)},e.skeleton=f,e.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=y(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=m(t);if(!(r>=0&&e0){var t=k[0];return g(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return u[r]===e?t:(u[r]=-1/0,b(t),_(),u[r]=e,b((M+=1)-1))}function T(t){if(!c[t]){c[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],v(e)),A[r]>=0&&w(A[r],v(r))}}var k=[],A=new Array(a);for(f=0;f>1;f>=0;--f)x(f);for(;;){var S=_();if(S<0||u[S]>r)break;T(S)}var E=[];for(f=0;f=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&C.push([n,i])}})),i.unique(i.normalize(C)),{positions:E,edges:C}};var n=r(3250),i=r(2014)},1303:function(t,e,r){"use strict";t.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),u=n(r,a,o);if(l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;if(l=n(s,o,a),u=n(s,o,r),l<0){if(u<=0)return l}else if(l>0){if(u>=0)return l}else if(u)return u;return a[0]-s[0]};var n=r(3250);function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),u=Math.min(e[0][1],e[1][1]),c=Math.max(e[0][1],e[1][1]);return lc?s-c:l-c}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=u(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=u(t.right,e))return l;t=t.left}}return r}function c(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function f(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=u(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var c=u(this.slabs[e-1],t);c&&(s?o(c.key,s)>0&&(s=c.key,i=c.value):(i=c.value,s=c.key))}var f=this.horizontal[e];if(f.length>0){var h=n.ge(f,t[1],l);if(h=f.length)return i;p=f[h]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},5202:function(t,e,r){"use strict";var n=r(1944),i=r(8210);function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l0||i>0&&c<0){var f=o(s,c,l,i);r.push(f),n.push(f.slice())}c<0?n.push(l.slice()):c>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=c}return{positive:r,negative:n}},t.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u>=0&&r.push(s.slice()),n=u}return r},t.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&u<0)&&r.push(o(i,u,s,n)),u<=0&&r.push(s.slice()),n=u}return r}},3387:function(t,e,r){var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return function(t,e){var r,n,o,s,l,u,c,f,h,p=1,d=t.length,v="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?v+=r:(!i.number.test(s.type)||f&&!s.sign?h="":(h=f?"+":"-",r=r.toString().replace(i.sign,"")),u=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",c=s.width-(h+r).length,l=s.width&&c>0?u.repeat(c):"",v+=s.align?h+r+l:"0"===u?h+l+r:l+h+r)}return v}(function(t){if(s[t])return s[t];for(var e,r=t,n=[],a=0;r;){if(null!==(e=i.text.exec(r)))n.push(e[0]);else if(null!==(e=i.modulo.exec(r)))n.push("%");else{if(null===(e=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var o=[],l=e[2],u=[];if(null===(u=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(u[1]);""!==(l=l.substring(u[0].length));)if(null!==(u=i.key_access.exec(l)))o.push(u[1]);else{if(null===(u=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(u[1])}e[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return s[t]=n}(t),arguments)}function o(t,e){return a.apply(null,[t].concat(e||[]))}var s=Object.create(null);e.sprintf=a,e.vsprintf=o,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0===(n=function(){return{sprintf:a,vsprintf:o}}.call(e,r,e,t))||(t.exports=n))}()},3711:function(t,e,r){"use strict";t.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=(o<<0)+(s<<1)+(l<<2)+(u<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:c.push([t-.5,e-.5]);break;case 1:c.push([t-.25-.25*(n+r-2*h)/(r-n),e-.25-.25*(i+r-2*h)/(r-i)]);break;case 2:c.push([t-.75-.25*(-n-r+2*h)/(n-r),e-.25-.25*(a+n-2*h)/(n-a)]);break;case 3:c.push([t-.5,e-.5-.5*(i+r+a+n-4*h)/(r-i+n-a)]);break;case 4:c.push([t-.25-.25*(a+i-2*h)/(i-a),e-.75-.25*(-i-r+2*h)/(i-r)]);break;case 5:c.push([t-.5-.5*(n+r+a+i-4*h)/(r-n+i-a),e-.5]);break;case 6:c.push([t-.5-.25*(-n-r+a+i)/(n-r+i-a),e-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:c.push([t-.75-.25*(a+i-2*h)/(i-a),e-.75-.25*(a+n-2*h)/(n-a)]);break;case 8:c.push([t-.75-.25*(-a-i+2*h)/(a-i),e-.75-.25*(-a-n+2*h)/(a-n)]);break;case 9:c.push([t-.5-.25*(n+r+-a-i)/(r-n+a-i),e-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:c.push([t-.5-.5*(-n-r-a-i+4*h)/(n-r+a-i),e-.5]);break;case 11:c.push([t-.25-.25*(-a-i+2*h)/(a-i),e-.75-.25*(i+r-2*h)/(r-i)]);break;case 12:c.push([t-.5,e-.5-.5*(-i-r-a-n+4*h)/(i-r+a-n)]);break;case 13:c.push([t-.75-.25*(n+r-2*h)/(r-n),e-.25-.25*(-a-n+2*h)/(a-n)]);break;case 14:c.push([t-.25-.25*(-n-r+2*h)/(n-r),e-.25-.25*(-i-r+2*h)/(i-r)])}},cell:function(t,e,r,n,i,a,o,s,l){i?s.push([t,e]):s.push([e,t])}});return function(t,e){var r=[],i=[];return n(t,r,i,e),{positions:r,cells:i}}}},o={}},529:function(t,e,r){"use strict";t.exports=function t(e,r,n){var a=(n=n||{}).fontStyle||"normal",s=n.fontWeight||"normal",l=n.fontVariant||"normal",u=[a,s,l,e].join("_"),c=o[u];c||(c=o[u]={" ":{data:new Float32Array(0),shape:.2}});var f=c[r];if(!f)if(r.length<=1||!/\d/.test(r))f=c[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(v+=.02);var y=new Float32Array(d),m=0,x=-.5*v;for(g=0;gMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function h(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var u=0;u<16;++u)this.computedMatrix[u]=.5;this.recalcMatrix(0)}var p=h.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),c=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,c+=r[a]*r[a],e[a]/=l;var f=Math.sqrt(c);for(a=0;a<3;++a)r[a]/=f;var h=this.computedToward;o(h,e,r),s(h,h);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],v=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),m=Math.cos(v),x=Math.sin(v),b=this.computedCenter,_=g*m,w=y*m,T=x,k=-g*x,A=-y*x,M=m,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var L=_*r[a]+w*h[a]+T*e[a];E[4*a+1]=k*r[a]+A*h[a]+M*e[a],E[4*a+2]=L,E[4*a+3]=0}var C=E[1],P=E[5],O=E[9],I=E[2],z=E[6],D=E[10],R=P*D-O*z,F=O*I-C*D,B=C*z-P*I,N=u(R,F,B);for(R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=b[a]+E[2+4*a]*p;for(a=0;a<3;++a){c=0;for(var j=0;j<3;++j)c+=E[a+4*j]*S[j];E[12+a]=-c}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,u=0;u<3;++u)i[4*u]=o[u],i[4*u+1]=s[u],i[4*u+2]=l[u];for(a(i,i,n,d),u=0;u<3;++u)o[u]=i[4*u],s[u]=i[4*u+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=u(a,o,s);a/=l,o/=l,s/=l;var c=i[0],f=i[4],h=i[8],p=c*a+f*o+h*s,d=u(c-=a*p,f-=o*p,h-=s*p),v=(c/=d)*e+a*r,g=(f/=d)*e+o*r,y=(h/=d)*e+s*r;this.center.move(t,v,g,y);var m=Math.exp(this.computedRadius[0]);m=Math.max(1e-4,m+n),this.radius.set(t,Math.log(m))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],f=e[a+8];if(n){var h=Math.abs(s),p=Math.abs(l),d=Math.abs(f),v=Math.max(h,p,d);h===v?(s=s<0?-1:1,l=f=0):d===v?(f=f<0?-1:1,s=l=0):(l=l<0?-1:1,s=f=0)}else{var g=u(s,l,f);s/=g,l/=g,f/=g}var y,m,x=e[o],b=e[o+4],_=e[o+8],w=x*s+b*l+_*f,T=u(x-=s*w,b-=l*w,_-=f*w),k=l*(_/=T)-f*(b/=T),A=f*(x/=T)-s*_,M=s*b-l*x,S=u(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,H,G,W),this.radius.idle(t),this.up.jump(t,s,l,f),this.right.jump(t,x,b,_),2===a){var E=e[1],L=e[5],C=e[9],P=E*x+L*b+C*_,O=E*k+L*A+C*M;y=R<0?-Math.PI/2:Math.PI/2,m=Math.atan2(O,P)}else{var I=e[2],z=e[6],D=e[10],R=I*s+z*l+D*f,F=I*x+z*b+D*_,B=I*k+z*A+D*M;y=Math.asin(c(R)),m=Math.atan2(B,F)}this.angle.jump(t,m,y),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var q=V[15],H=V[12]/q,G=V[13]/q,W=V[14]/q,Y=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*Y,G-j*Y,W-U*Y)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=u(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],f=e[1]-r[1],h=e[2]-r[2],p=u(l,f,h);if(!(p<1e-6)){l/=p,f/=p,h/=p;var d=this.computedRight,v=d[0],g=d[1],y=d[2],m=i*v+a*g+o*y,x=u(v-=m*i,g-=m*a,y-=m*o);if(!(x<.01&&(x=u(v=a*h-o*f,g=o*l-i*h,y=i*f-a*l))<1e-6)){v/=x,g/=x,y/=x,this.up.set(t,i,a,o),this.right.set(t,v,g,y),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var b=a*y-o*g,_=o*v-i*y,w=i*g-a*v,T=u(b,_,w),k=i*l+a*f+o*h,A=v*l+g*f+y*h,M=(b/=T)*l+(_/=T)*f+(w/=T)*h,S=Math.asin(c(k)),E=Math.atan2(M,A),L=this.angle._state,C=L[L.length-1],P=L[L.length-2];C%=2*Math.PI;var O=Math.abs(C+2*Math.PI-E),I=Math.abs(C-E),z=Math.abs(C-2*Math.PI-E);O0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},1755:function(t){"use strict";function e(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",w(function(t,e,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(T=0;T-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,l-s),n=n.replace("?px ",F())),A+=.25*L*(l-s)}if(!0===o.superscripts){var u=t.indexOf(d),f=r.indexOf(d),p=u>-1?parseInt(t[1+u]):0,v=f>-1?parseInt(r[1+f]):0;p!==v&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,v-p),n=n.replace("?px ",F())),A-=.25*L*(v-p)}if(!0===o.bolds){var g=t.indexOf(c)>-1,m=r.indexOf(c)>-1;!g&&m&&(n=x?n.replace("italic ","italic bold "):"bold "+n),g&&!m&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(h)>-1,b=r.indexOf(h)>-1;!x&&b&&(n="italic "+n),x&&!b&&(n=n.replace("italic ",""))}e.font=n}for(w=0;w",a="",o=i.length,s=a.length,l=e[0]===d||e[0]===y,u=0,c=-s;u>-1&&-1!==(u=r.indexOf(i,u))&&-1!==(c=r.indexOf(a,u+o))&&!(c<=u);){for(var f=u;f=c)n[f]=null,r=r.substr(0,f)+" "+r.substr(f+1);else if(null!==n[f]){var h=n[f].indexOf(e[0]);-1===h?n[f]+=e:l&&(n[f]=n[f].substr(0,h+1)+(1+parseInt(n[f][h+1]))+n[f].substr(h+2))}var p=u+o,v=r.substr(p,c-p).indexOf(i);u=-1!==v?v:c+s}return n}function b(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function _(t,e,r,n){var i=b(t,n),a=function(t,e,r){for(var n=e.textAlign||"start",i=e.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[a]:i}))},has___:{value:x((function(e){var n=m(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:x((function(n,i){var a,o=m(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:x((function(n){var i,a,o=m(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))}))}})};v.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof v||b();var t,n=new r,i=void 0,a=!1;return t=e?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new v),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new v),i.set___(t,e)}else n.set(t,e);return this},Object.create(v.prototype,{get___:{value:x((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:x((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:x(t)},delete___:{value:x((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:x((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}e&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=v.prototype,t.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),t.exports=v)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function y(t){return!(t.substr(0,8)==l&&"___"===t.substr(t.length-3))}function m(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[u];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,u,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function b(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},236:function(t,e,r){var n=r(8284);t.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},8284:function(t){t.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},606:function(t,e,r){var n=r(236);t.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},3349:function(t){"use strict";t.exports=function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=e[s];return l||(e[s]=l=t([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(function(){return function(t,e,r,n,i,a){var o=t[0],s=r[0],l=[0],u=s;n|=0;var c=0,f=s;for(c=0;c=0!=p>=0&&i.push(l[0]+.5+.5*(h+p)/(h-p)),n+=f,++l[0]}}}.bind(void 0,{funcName:"zeroCrossings"}))},781:function(t,e,r){"use strict";t.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=r(3349)},7790:function(){}},r={};function i(t){var n=r[t];if(void 0!==n)return n.exports;var a=r[t]={id:t,loaded:!1,exports:{}};return e[t].call(a.exports,a,a.exports,i),a.loaded=!0,a.exports}i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t};var a=i(1964);t.exports=a}()},33576:function(t,e,r){"use strict";function n(t,e){for(var r=0;rf)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,p.prototype),e}function p(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return g(t)}return d(t,e,r)}function d(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!p.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|b(t,e),n=h(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(tt(t,Uint8Array)){var e=new Uint8Array(t);return m(e.buffer,e.byteOffset,e.byteLength)}return y(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+s(t));if(tt(t,ArrayBuffer)||t&&tt(t.buffer,ArrayBuffer))return m(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(tt(t,SharedArrayBuffer)||t&&tt(t.buffer,SharedArrayBuffer)))return m(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return p.from(n,e,r);var i=function(t){if(p.isBuffer(t)){var e=0|x(t.length),r=h(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||et(t.length)?h(0):y(t):"Buffer"===t.type&&Array.isArray(t.data)?y(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return p.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+s(t))}function v(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function g(t){return v(t),h(t<0?0:0|x(t))}function y(t){for(var e=t.length<0?0:0|x(t.length),r=h(e),n=0;n=f)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f.toString(16)+" bytes");return 0|t}function b(t,e){if(p.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||tt(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+s(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return J(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return $(t).length;default:if(i)return n?-1:J(t).length;e=(""+e).toLowerCase(),i=!0}}function _(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return D(this,e,r);case"utf8":case"utf-8":return P(this,e,r);case"ascii":return I(this,e,r);case"latin1":case"binary":return z(this,e,r);case"base64":return C(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function w(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function T(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),et(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=p.from(e,n)),p.isBuffer(e))return 0===e.length?-1:k(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):k(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function k(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function u(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var c=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var f=!0,h=0;hi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function C(t,e,r){return 0===e&&r===t.length?l.fromByteArray(t):l.fromByteArray(t.slice(e,r))}function P(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,u=void 0,c=void 0,f=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(f=(31&a)<<6|63&l)>127&&(o=f);break;case 3:l=t[i+1],u=t[i+2],128==(192&l)&&128==(192&u)&&(f=(15&a)<<12|(63&l)<<6|63&u)>2047&&(f<55296||f>57343)&&(o=f);break;case 4:l=t[i+1],u=t[i+2],c=t[i+3],128==(192&l)&&128==(192&u)&&128==(192&c)&&(f=(15&a)<<18|(63&l)<<12|(63&u)<<6|63&c)>65535&&f<1114112&&(o=f)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=O)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(p.isBuffer(a)||(a=p.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!p.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},p.byteLength=b,p.prototype._isBuffer=!0,p.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},c&&(p.prototype[c]=p.prototype.inspect),p.prototype.compare=function(t,e,r,n,i){if(tt(t,Uint8Array)&&(t=p.from(t,t.offset,t.byteLength)),!p.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+s(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),l=Math.min(a,o),u=this.slice(n,i),c=t.slice(e,r),f=0;f>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return A(this,t,e,r);case"utf8":case"utf-8":return M(this,t,e,r);case"ascii":case"latin1":case"binary":return S(this,t,e,r);case"base64":return E(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},p.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function I(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function B(t,e,r,n,i,a){if(!p.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function N(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function j(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function U(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function V(t,e,r,n,i){return e=+e,r>>>=0,i||U(t,0,r,4),u.write(t,e,r,n,23,4),r+4}function q(t,e,r,n,i){return e=+e,r>>>=0,i||U(t,0,r,8),u.write(t,e,r,n,52,8),r+8}p.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},p.prototype.readUint8=p.prototype.readUInt8=function(t,e){return t>>>=0,e||F(t,1,this.length),this[t]},p.prototype.readUint16LE=p.prototype.readUInt16LE=function(t,e){return t>>>=0,e||F(t,2,this.length),this[t]|this[t+1]<<8},p.prototype.readUint16BE=p.prototype.readUInt16BE=function(t,e){return t>>>=0,e||F(t,2,this.length),this[t]<<8|this[t+1]},p.prototype.readUint32LE=p.prototype.readUInt32LE=function(t,e){return t>>>=0,e||F(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},p.prototype.readUint32BE=p.prototype.readUInt32BE=function(t,e){return t>>>=0,e||F(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},p.prototype.readBigUInt64LE=nt((function(t){X(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||F(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},p.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||F(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},p.prototype.readInt8=function(t,e){return t>>>=0,e||F(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},p.prototype.readInt16LE=function(t,e){t>>>=0,e||F(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt16BE=function(t,e){t>>>=0,e||F(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},p.prototype.readInt32LE=function(t,e){return t>>>=0,e||F(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},p.prototype.readInt32BE=function(t,e){return t>>>=0,e||F(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},p.prototype.readBigInt64LE=nt((function(t){X(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||Z(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||F(t,4,this.length),u.read(this,t,!0,23,4)},p.prototype.readFloatBE=function(t,e){return t>>>=0,e||F(t,4,this.length),u.read(this,t,!1,23,4)},p.prototype.readDoubleLE=function(t,e){return t>>>=0,e||F(t,8,this.length),u.read(this,t,!0,52,8)},p.prototype.readDoubleBE=function(t,e){return t>>>=0,e||F(t,8,this.length),u.read(this,t,!1,52,8)},p.prototype.writeUintLE=p.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||B(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||B(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},p.prototype.writeUint8=p.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,1,255,0),this[e]=255&t,e+1},p.prototype.writeUint16LE=p.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},p.prototype.writeUint16BE=p.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},p.prototype.writeUint32LE=p.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},p.prototype.writeUint32BE=p.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},p.prototype.writeBigUInt64LE=nt((function(t){return N(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),p.prototype.writeBigUInt64BE=nt((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),p.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},p.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);B(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},p.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},p.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},p.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},p.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},p.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||B(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},p.prototype.writeBigInt64LE=nt((function(t){return N(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),p.prototype.writeBigInt64BE=nt((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),p.prototype.writeFloatLE=function(t,e,r){return V(this,t,e,!0,r)},p.prototype.writeFloatBE=function(t,e,r){return V(this,t,e,!1,r)},p.prototype.writeDoubleLE=function(t,e,r){return q(this,t,e,!0,r)},p.prototype.writeDoubleBE=function(t,e,r){return q(this,t,e,!1,r)},p.prototype.copy=function(t,e,r,n){if(!p.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function Y(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new H.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){X(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||Z(e,t.length-(r+1))}(n,i,a)}function X(t,e){if("number"!=typeof t)throw new H.ERR_INVALID_ARG_TYPE(e,"number",t)}function Z(t,e,r){if(Math.floor(t)!==t)throw X(t,r),new H.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new H.ERR_BUFFER_OUT_OF_BOUNDS;throw new H.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}G("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),G("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(s(e))}),TypeError),G("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=W(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=W(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var K=/[^+/0-9A-Za-z-_]/g;function J(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function $(t){return l.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(K,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function Q(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function tt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function et(t){return t!=t}var rt=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function nt(t){return"undefined"==typeof BigInt?it:t}function it(){throw new Error("BigInt not supported")}},25928:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},48932:function(t,e,r){"use strict";r.r(e),r.d(e,{sankeyCenter:function(){return h},sankeyCircular:function(){return C},sankeyJustify:function(){return f},sankeyLeft:function(){return u},sankeyRight:function(){return c}});var n=r(84706),i=r(34712),a=r(10132),o=r(6688),s=r.n(o);function l(t){return t.target.depth}function u(t){return t.depth}function c(t,e){return e-1-t.height}function f(t,e){return t.sourceLinks.length?t.depth:e-1}function h(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.SY)(t.sourceLinks,l)-1:0}function p(t){return function(){return t}}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function v(t,e){return y(t.source,e.source)||t.index-e.index}function g(t,e){return y(t.target,e.target)||t.index-e.index}function y(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function m(t){return t.value}function x(t){return(t.y0+t.y1)/2}function b(t){return x(t.source)}function _(t){return x(t.target)}function w(t){return t.index}function T(t){return t.nodes}function k(t){return t.links}function A(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function M(t,e){return e(t)}var S=25,E=10,L=.3;function C(){var t,e,r=0,a=0,o=1,l=1,u=24,c=w,h=f,M=T,C=k,O=32,z=2,D=null;function F(){var f={nodes:M.apply(null,arguments),links:C.apply(null,arguments)};!function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.kH)(t.nodes,c);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!==(void 0===n?"undefined":d(n))&&(n=t.source=A(e,n)),"object"!==(void 0===i?"undefined":d(i))&&(i=t.target=A(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(f),function(t,e,r){var n=0;if(null===r){for(var i=[],a=0;a0?e+S+E:e,bottom:r=r>0?r+S+E:r,left:a=a>0?a+S+E:a,right:i=i>0?i+S+E:i}}(s),d=function(t,e){var i=(0,n.kv)(t.nodes,(function(t){return t.column})),s=o-r,c=l-a,f=s/(s+e.right+e.left),h=c/(c+e.top+e.bottom);return r=r*f+e.left,o=0==e.right?o:o*f,a=a*h+e.top,l*=h,t.nodes.forEach((function(t){t.x0=r+t.column*((o-r-u)/i),t.x1=t.x0+u})),h}(s,p);f*=d,s.links.forEach((function(t){t.width=t.value*f})),h.forEach((function(t){var e=t.length;t.forEach((function(t,r){t.depth==h.length-1&&1==e||0==t.depth&&1==e?(t.y0=l/2-t.value*f,t.y1=t.y0+t.value*f):t.partOfCycle?0==I(t,i)?(t.y0=l/2+r,t.y1=t.y0+t.value*f):"top"==t.circularLinkType?(t.y0=a+r,t.y1=t.y0+t.value*f):(t.y0=l-t.value*f-r,t.y1=t.y0+t.value*f):0==p.top||0==p.bottom?(t.y0=(l-a)/e*r,t.y1=t.y0+t.value*f):(t.y0=(l-a)/2-e/2+r,t.y1=t.y0+t.value*f)}))}))})(f),g();for(var p=1,d=c;d>0;--d)v(p*=.99,f),g();function v(t,e){var r=h.length;h.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&I(i,e)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else if(o==r-1&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else{var u=(0,n.mo)(i.sourceLinks,_),c=(0,n.mo)(i.targetLinks,b),f=((u&&c?(u+c)/2:u||c)-x(i))*t;i.y0+=f,i.y1+=f}}))}))}function g(){h.forEach((function(e){var r,n,i,o=a,s=e.length;for(e.sort(y),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-l)>0)for(o=r.y0-=n,r.y1-=n,i=s-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(f,O,c),B(f);for(var p=0;p<4;p++)X(f,l,c),Z(f,0,c),W(f,a,l,c),X(f,l,c),Z(f,0,c);return function(t,e,r){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=(0,n.SY)(i,(function(t){return t.y0})),u=(r-e)/((0,n.kv)(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*u;t.y0=(t.y0-l)*u,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*u,t.y1=(t.y1-l)*u,t.width=t.width*u}))}}(f,a,l),R(f,z,l,c),f}function B(t){t.nodes.forEach((function(t){t.sourceLinks.sort(g),t.targetLinks.sort(v)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return F.nodeId=function(t){return arguments.length?(c="function"==typeof t?t:p(t),F):c},F.nodeAlign=function(t){return arguments.length?(h="function"==typeof t?t:p(t),F):h},F.nodeWidth=function(t){return arguments.length?(u=+t,F):u},F.nodePadding=function(e){return arguments.length?(t=+e,F):t},F.nodes=function(t){return arguments.length?(M="function"==typeof t?t:p(t),F):M},F.links=function(t){return arguments.length?(C="function"==typeof t?t:p(t),F):C},F.size=function(t){return arguments.length?(r=a=0,o=+t[0],l=+t[1],F):[o-r,l-a]},F.extent=function(t){return arguments.length?(r=+t[0][0],o=+t[1][0],a=+t[0][1],l=+t[1][1],F):[[r,a],[o,l]]},F.iterations=function(t){return arguments.length?(O=+t,F):O},F.circularLinkGap=function(t){return arguments.length?(z=+t,F):z},F.nodePaddingRatio=function(t){return arguments.length?(e=+t,F):e},F.sortNodes=function(t){return arguments.length?(D=t,F):D},F.update=function(t){return P(t,c),B(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y11||i>1)}function D(t,e,r){return t.sort(F),t.forEach((function(n,i){var a,o,s=0;if($(n,r)&&z(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.source.column)){var u=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=u>s?u:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function R(t,e,r,i){var o=(0,n.SY)(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),D(t.links.filter((function(t){return"top"==t.circularLinkType})),e,i),D(t.links.filter((function(t){return"bottom"==t.circularLinkType})),e,i),t.links.forEach((function(n){if(n.circular){if(n.circularPathData.arcRadius=n.width+E,n.circularPathData.leftNodeBuffer=5,n.circularPathData.rightNodeBuffer=5,n.circularPathData.sourceWidth=n.source.x1-n.source.x0,n.circularPathData.sourceX=n.source.x0+n.circularPathData.sourceWidth,n.circularPathData.targetX=n.target.x0,n.circularPathData.sourceY=n.y0,n.circularPathData.targetY=n.y1,$(n,i)&&z(n))n.circularPathData.leftSmallArcRadius=E+n.width/2,n.circularPathData.leftLargeArcRadius=E+n.width/2,n.circularPathData.rightSmallArcRadius=E+n.width/2,n.circularPathData.rightLargeArcRadius=E+n.width/2,"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=n.source.y1+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=n.source.y0-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius);else{var s=n.source.column,l=n.circularLinkType,u=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));"bottom"==n.circularLinkType?u.sort(N):u.sort(B);var c=0;u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.leftSmallArcRadius=E+n.width/2+c,n.circularPathData.leftLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),s=n.target.column,u=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),"bottom"==n.circularLinkType?u.sort(U):u.sort(j),c=0,u.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.rightSmallArcRadius=E+n.width/2+c,n.circularPathData.rightLargeArcRadius=E+n.width/2+r*e+c),c+=t.width})),"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=Math.max(r,n.source.y1,n.target.y1)+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=o-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius)}n.circularPathData.leftInnerExtent=n.circularPathData.sourceX+n.circularPathData.leftNodeBuffer,n.circularPathData.rightInnerExtent=n.circularPathData.targetX-n.circularPathData.rightNodeBuffer,n.circularPathData.leftFullExtent=n.circularPathData.sourceX+n.circularPathData.leftLargeArcRadius+n.circularPathData.leftNodeBuffer,n.circularPathData.rightFullExtent=n.circularPathData.targetX-n.circularPathData.rightLargeArcRadius-n.circularPathData.rightNodeBuffer}if(n.circular)n.path=function(t){return"top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY}(n);else{var f=(0,a.ak)().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));n.path=f(n)}}))}function F(t,e){return V(t)==V(e)?"bottom"==t.circularLinkType?N(t,e):B(t,e):V(e)-V(t)}function B(t,e){return t.y0-e.y0}function N(t,e){return e.y0-t.y0}function j(t,e){return t.y1-e.y1}function U(t,e){return e.y1-t.y1}function V(t){return t.target.column-t.source.column}function q(t){return t.target.x0-t.source.x1}function H(t,e){var r=O(t),n=q(e)/Math.tan(r);return"up"==J(t)?t.y1+n:t.y1-n}function G(t,e){var r=O(t),n=q(e)/Math.tan(r);return"up"==J(t)?t.y1-n:t.y1+n}function W(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var u,c=s/(l+1),f=Math.pow(1-c,3),h=3*c*Math.pow(1-c,2),p=3*Math.pow(c,2)*(1-c),d=Math.pow(c,3),v=f*i.y0+h*i.y0+p*i.y1+d*i.y1,g=v-i.width/2,y=v+i.width/2;g>o.y0&&ga.y0&&i.y0a.y0&&i.y1a.y1)&&Y(t,u,e,r)}))):(y>o.y0&&yo.y1)&&(u=y-o.y0+10,o=Y(o,u,e,r),t.nodes.forEach((function(t){M(t,n)!=M(o,n)&&t.column==o.column&&t.y0o.y1&&Y(t,u,e,r)})))}}))}}))}function Y(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function X(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return M(t.source,r)==M(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!K(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=G(e,t);return t.y1-r}if(e.target.column>t.target.column)return G(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!K(t,e))return t.y0-e.y0;if(e.source.column0?"up":"down"}function $(t,e){return M(t.source,e)==M(t.target,e)}},26800:function(t,e,r){"use strict";r.r(e),r.d(e,{sankey:function(){return w},sankeyCenter:function(){return u},sankeyJustify:function(){return l},sankeyLeft:function(){return o},sankeyLinkHorizontal:function(){return M},sankeyRight:function(){return s}});var n=r(84706),i=r(34712);function a(t){return t.target.depth}function o(t){return t.depth}function s(t,e){return e-1-t.height}function l(t,e){return t.sourceLinks.length?t.depth:e-1}function u(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.SY)(t.sourceLinks,a)-1:0}function c(t){return function(){return t}}function f(t,e){return p(t.source,e.source)||t.index-e.index}function h(t,e){return p(t.target,e.target)||t.index-e.index}function p(t,e){return t.y0-e.y0}function d(t){return t.value}function v(t){return(t.y0+t.y1)/2}function g(t){return v(t.source)*t.value}function y(t){return v(t.target)*t.value}function m(t){return t.index}function x(t){return t.nodes}function b(t){return t.links}function _(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function w(){var t=0,e=0,r=1,a=1,o=24,s=8,u=m,w=l,T=x,k=b,A=32;function M(){var l={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.kH)(t.nodes,u);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!=typeof n&&(n=t.source=_(e,n)),"object"!=typeof i&&(i=t.target=_(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(l),function(t){t.nodes.forEach((function(t){t.value=Math.max((0,n.oh)(t.sourceLinks,d),(0,n.oh)(t.targetLinks,d))}))}(l),function(e){var n,i,a;for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){i.indexOf(t.target)<0&&i.push(t.target)}))}));for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){i.indexOf(t.source)<0&&i.push(t.source)}))}));var s=(r-t-o)/(a-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(a-1,Math.floor(w.call(null,e,a))))*s)+o}))}(l),function(t){var r=(0,i.UJ)().key((function(t){return t.x0})).sortKeys(n.XE).entries(t.nodes).map((function(t){return t.values}));(function(){var i=(0,n.kv)(r,(function(t){return t.length})),o=.6666666666666666*(a-e)/(i-1);s>o&&(s=o);var l=(0,n.SY)(r,(function(t){return(a-e-(t.length-1)*s)/(0,n.oh)(t,d)}));r.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*l}))})),t.links.forEach((function(t){t.width=t.value*l}))})(),f();for(var o=1,l=A;l>0;--l)c(o*=.99),f(),u(o),f();function u(t){r.forEach((function(e){e.forEach((function(e){if(e.targetLinks.length){var r=((0,n.oh)(e.targetLinks,g)/(0,n.oh)(e.targetLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function c(t){r.slice().reverse().forEach((function(e){e.forEach((function(e){if(e.sourceLinks.length){var r=((0,n.oh)(e.sourceLinks,y)/(0,n.oh)(e.sourceLinks,d)-v(e))*t;e.y0+=r,e.y1+=r}}))}))}function f(){r.forEach((function(t){var r,n,i,o=e,l=t.length;for(t.sort(p),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+s;if((n=o-s-a)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=t[i]).y1+s-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(l),S(l),l}function S(t){t.nodes.forEach((function(t){t.sourceLinks.sort(h),t.targetLinks.sort(f)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return M.update=function(t){return S(t),t},M.nodeId=function(t){return arguments.length?(u="function"==typeof t?t:c(t),M):u},M.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:c(t),M):w},M.nodeWidth=function(t){return arguments.length?(o=+t,M):o},M.nodePadding=function(t){return arguments.length?(s=+t,M):s},M.nodes=function(t){return arguments.length?(T="function"==typeof t?t:c(t),M):T},M.links=function(t){return arguments.length?(k="function"==typeof t?t:c(t),M):k},M.size=function(n){return arguments.length?(t=e=0,r=+n[0],a=+n[1],M):[r-t,a-e]},M.extent=function(n){return arguments.length?(t=+n[0][0],r=+n[1][0],e=+n[0][1],a=+n[1][1],M):[[t,e],[r,a]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M}var T=r(10132);function k(t){return[t.source.x1,t.y0]}function A(t){return[t.target.x0,t.y1]}function M(){return(0,T.ak)().source(k).target(A)}},33428:function(t,e,r){var n,i;(function(){var a={version:"3.8.0"},o=[].slice,s=function(t){return o.call(t)},l=self.document;function u(t){return t&&(t.ownerDocument||t.document||t).documentElement}function c(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(l)try{s(l.documentElement.childNodes)[0].nodeType}catch(t){s=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),l)try{l.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var f=this.Element.prototype,h=f.setAttribute,p=f.setAttributeNS,d=this.CSSStyleDeclaration.prototype,v=d.setProperty;f.setAttribute=function(t,e){h.call(this,t,e+"")},f.setAttributeNS=function(t,e,r){p.call(this,t,e,r+"")},d.setProperty=function(t,e,r){v.call(this,t,e+"",r)}}function g(t,e){return te?1:t>=e?0:NaN}function y(t){return null===t?NaN:+t}function m(t){return!isNaN(t)}function x(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}a.ascending=g,a.descending=function(t,e){return et?1:e>=t?0:NaN},a.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},a.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},a.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},a.deviation=function(){var t=a.variance.apply(this,arguments);return t?Math.sqrt(t):t};var b=x(g);function _(t){return t.length}a.bisectLeft=b.left,a.bisect=a.bisectRight=b.right,a.bisector=function(t){return x(1===t.length?function(e,r){return g(t(e),r)}:t)},a.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},a.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},a.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var w=Math.abs;function T(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function k(){this._=Object.create(null)}a.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,i=[],a=function(t){for(var e=1;t*e%1;)e*=10;return e}(w(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)=n.length)return e?e.call(r,a):t?a.sort(t):a;for(var l,u,c,f,h=-1,p=a.length,d=n[s++],v=new k;++h=n.length)return t;var r=[],a=i[e++];return t.forEach((function(t,n){r.push({key:t,values:s(n,e)})})),a?r.sort((function(t,e){return a(t.key,e.key)})):r}return r.map=function(t,e){return o(e,t,0)},r.entries=function(t){return s(o(a.map,t,0),0)},r.key=function(t){return n.push(t),r},r.sortKeys=function(t){return i[n.length-1]=t,r},r.sortValues=function(e){return t=e,r},r.rollup=function(t){return e=t,r},r},a.set=function(t){var e=new z;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},a.event=null,a.requote=function(t){return t.replace(G,"\\$&")};var G=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,W={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function Y(t){return W(t,J),t}var X=function(t,e){return e.querySelector(t)},Z=function(t,e){return e.querySelectorAll(t)},K=function(t,e){var r=t.matches||t[F(t,"matchesSelector")];return K=function(t,e){return r.call(t,e)},K(t,e)};"function"==typeof Sizzle&&(X=function(t,e){return Sizzle(t,e)[0]||null},Z=Sizzle,K=Sizzle.matchesSelector),a.selection=function(){return a.select(l.documentElement)};var J=a.selection.prototype=[];function $(t){return"function"==typeof t?t:function(){return X(t,this)}}function Q(t){return"function"==typeof t?t:function(){return Z(t,this)}}J.select=function(t){var e,r,n,i,a=[];t=$(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),et.hasOwnProperty(r)?{space:et[r],local:t}:t}},J.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node();return(t=a.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},J.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=at(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},J.sort=function(t){t=dt.apply(this,arguments);for(var e=-1,r=this.length;++e0&&(t=t.slice(0,i));var l=xt.get(t);function u(){var e=this[n];e&&(this.removeEventListener(t,e,e.$),delete this[n])}return l&&(t=l,o=_t),i?e?function(){var i=o(e,s(arguments));u.call(this),this.addEventListener(t,this[n]=i,i.$=r),i._=e}:u:e?N:function(){var e,r=new RegExp("^__on([^.]+)"+a.requote(t)+"$");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}a.selection.enter=gt,a.selection.enter.prototype=yt,yt.append=J.append,yt.empty=J.empty,yt.node=J.node,yt.call=J.call,yt.size=J.size,yt.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s=n&&(n=e+1);!(o=s[n])&&++n1?It:t<-1?-It:Math.asin(t)}function Ft(t){return((t=Math.exp(t))+1/t)/2}var Bt=Math.SQRT2;a.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],u=e[2],c=s-i,f=l-a,h=c*c+f*f;if(h0&&(t=t.transition().duration(v)),t.call(w.event)}function S(){s&&s.domain(o.range().map((function(t){return(t-h.x)/h.k})).map(o.invert)),f&&f.domain(u.range().map((function(t){return(t-h.y)/h.k})).map(u.invert))}function E(t){g++||t({type:"zoomstart"})}function L(t){S(),t({type:"zoom",scale:h.k,translate:[h.x,h.y]})}function C(t){--g||(t({type:"zoomend"}),e=null)}function P(){var t=this,e=_.of(t,arguments),r=0,n=a.select(c(t)).on(m,(function(){r=1,A(a.mouse(t),i),L(e)})).on(x,(function(){n.on(m,null).on(x,null),o(r),C(e)})),i=T(a.mouse(t)),o=kt(t);Ki.call(t),E(e)}function O(){var t,e=this,r=_.of(e,arguments),n={},o=0,s=".zoom-"+a.event.changedTouches[0].identifier,l="touchmove"+s,u="touchend"+s,c=[],f=a.select(e),p=kt(e);function d(){var r=a.touches(e);return t=h.k,r.forEach((function(t){t.identifier in n&&(n[t.identifier]=T(t))})),r}function v(){var t=a.event.target;a.select(t).on(l,g).on(u,m),c.push(t);for(var r=a.event.changedTouches,s=0,f=r.length;s1){y=p[0];var x=p[1],b=y[0]-x[0],_=y[1]-x[1];o=b*b+_*_}}function g(){var s,l,u,c,f=a.touches(e);Ki.call(e);for(var h=0,p=f.length;h360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Wt(t,e,r){return this instanceof Wt?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof Wt?new Wt(t.h,t.c,t.l):function(t,e,r){return t>0?new Wt(Math.atan2(r,e)*Dt,Math.sqrt(e*e+r*r),t):new Wt(NaN,NaN,t)}(t instanceof Zt?t.l:(t=he((t=a.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Wt(t,e,r)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,t*this.l)},Ht.rgb=function(){return Gt(this.h,this.s,this.l)},a.hcl=Wt;var Yt=Wt.prototype=new Vt;function Xt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Zt(r,Math.cos(t*=zt)*e,Math.sin(t)*e)}function Zt(t,e,r){return this instanceof Zt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Zt?new Zt(t.l,t.a,t.b):t instanceof Wt?Xt(t.h,t.c,t.l):he((t=ae(t)).r,t.g,t.b):new Zt(t,e,r)}Yt.brighter=function(t){return new Wt(this.h,this.c,Math.min(100,this.l+Kt*(arguments.length?t:1)))},Yt.darker=function(t){return new Wt(this.h,this.c,Math.max(0,this.l-Kt*(arguments.length?t:1)))},Yt.rgb=function(){return Xt(this.h,this.c,this.l).rgb()},a.lab=Zt;var Kt=18,Jt=.95047,$t=1,Qt=1.08883,te=Zt.prototype=new Vt;function ee(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*$t)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ce(""+t,ae,Gt):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+""}te.brighter=function(t){return new Zt(Math.min(100,this.l+Kt*(arguments.length?t:1)),this.a,this.b)},te.darker=function(t){return new Zt(Math.max(0,this.l-Kt*(arguments.length?t:1)),this.a,this.b)},te.rgb=function(){return ee(this.l,this.a,this.b)},a.rgb=ae;var le=ae.prototype=new Vt;function ue(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ce(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=ve.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function fe(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new qt(n,i,l)}function he(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/$t);return Zt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=r.call(i,u)}catch(t){return void o.error.call(i,t)}o.load.call(i,t)}else o.error.call(i,u)}return self.XDomainRequest&&!("withCredentials"in u)&&/^(http(s)?:)?\/\//.test(t)&&(u=new XDomainRequest),"onload"in u?u.onload=u.onerror=f:u.onreadystatechange=function(){u.readyState>3&&f()},u.onprogress=function(t){var e=a.event;a.event=t;try{o.progress.call(i,u)}finally{a.event=e}},i.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",i)},i.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",i):e},i.responseType=function(t){return arguments.length?(c=t,i):c},i.response=function(t){return r=t,i},["get","post"].forEach((function(t){i[t]=function(){return i.send.apply(i,[t].concat(s(arguments)))}})),i.send=function(r,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),u.open(r,t,!0),null==e||"accept"in l||(l.accept=e+",*/*"),u.setRequestHeader)for(var s in l)u.setRequestHeader(s,l[s]);return null!=e&&u.overrideMimeType&&u.overrideMimeType(e),null!=c&&(u.responseType=c),null!=a&&i.on("error",a).on("load",(function(t){a(null,t)})),o.beforesend.call(i,u),u.send(null==n?null:n),i},i.abort=function(){return u.abort(),i},a.rebind(i,o,"on"),null==n?i:i.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}ve.forEach((function(t,e){ve.set(t,oe(e))})),a.functor=ge,a.xhr=ye(D),a.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=me(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=function(e){for(var r={},n=t.length,i=0;i=l)return o;if(i)return i=!1,a;var e=u;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),_e=0):(_e=1,Te(Ae))}function Me(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t1&&(e=t[a[o-2]],r=t[a[o-1]],n=t[s],(r[0]-e[0])*(n[1]-e[1])-(r[1]-e[1])*(n[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function Pe(t,e){return t[0]-e[0]||t[1]-e[1]}a.timer=function(){ke.apply(this,arguments)},a.timer.flush=function(){Me(),Se()},a.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},a.geom={},a.geom.hull=function(t){var e=Ee,r=Le;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ge(e),a=ge(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[u[n]][2]]);for(n=+f;nEt)s=s.L;else{if(!((i=a-Ze(s,o))>Et)){n>-Et?(e=s.P,r=s):i>-Et?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=He(t);if(Be.insert(e,l),e||r){if(e===r)return tr(e),r=He(e.site),Be.insert(l,r),l.edge=r.edge=nr(e.site,l.site),Qe(e),void Qe(r);if(r){tr(e),tr(r);var u=e.site,c=u.x,f=u.y,h=t.x-c,p=t.y-f,d=r.site,v=d.x-c,g=d.y-f,y=2*(h*g-p*v),m=h*h+p*p,x=v*v+g*g,b={x:(g*m-p*x)/y+c,y:(h*x-v*m)/y+f};ir(r.edge,u,d,b),l.edge=nr(u,t,null,b),r.edge=nr(t,d,null,b),Qe(e),Qe(r)}else l.edge=nr(e.site,l.site)}}function Xe(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,u=l-e;if(!u)return s;var c=s-n,f=1/a-1/u,h=c/u;return f?(-h+Math.sqrt(h*h-2*f*(c*c/(-2*u)-l+u/2+i-a/2)))/f+n:(n+s)/2}function Ze(t,e){var r=t.N;if(r)return Xe(r,e);var n=t.site;return n.y===e?n.x:1/0}function Ke(t){this.site=t,this.edges=[]}function Je(t,e){return e.angle-t.angle}function $e(){sr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Qe(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,u=n.y-s,c=a.x-o,f=2*(l*(g=a.y-s)-u*c);if(!(f>=-Lt)){var h=l*l+u*u,p=c*c+g*g,d=(g*h-u*p)/f,v=(l*p-c*h)/f,g=v+s,y=Ve.pop()||new $e;y.arc=t,y.site=i,y.x=d+o,y.y=g+Math.sqrt(d*d+v*v),y.cy=g,t.circle=y;for(var m=null,x=je._;x;)if(y.y=s)return;if(h>d){if(a){if(a.y>=u)return}else a={x:g,y:l};r={x:g,y:u}}else{if(a){if(a.y1)if(h>d){if(a){if(a.y>=u)return}else a={x:(l-i)/n,y:l};r={x:(u-i)/n,y:u}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(e/=h,h<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=i-l,h||!(e<0)){if(e/=h,h<0){if(e>f)return;e>c&&(c=e)}else if(h>0){if(e0)){if(e/=p,p<0){if(e0){if(e>f)return;e>c&&(c=e)}if(e=a-u,p||!(e<0)){if(e/=p,p<0){if(e>f)return;e>c&&(c=e)}else if(p>0){if(e0&&(t.a={x:l+c*h,y:u+c*p}),f<1&&(t.b={x:l+f*h,y:u+f*p}),t}}}}}),l=o.length;l--;)(!er(e=o[l],t)||!s(e)||w(e.a.x-e.b.x)Et||w(i-r)>Et)&&(s.splice(o,0,new ar((y=a.site,m=c,x=w(n-f)Et?{x:f,y:w(e-f)Et?{x:w(r-d)Et?{x:h,y:w(e-h)Et?{x:w(r-p)=r&&u.x<=i&&u.y>=n&&u.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/Et)*Et,y:Math.round(i(t,e)/Et)*Et,i:e}}))}return o.links=function(t){return fr(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return fr(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,u=r.edges.sort(Je),c=-1,f=u.length,h=u[f-1].edge,p=h.l===l?h.r:h.l;++ca&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:xr(r,n)})),a=wr.lastIndex;return av&&(v=l.x),l.y>g&&(g=l.y),u.push(l.x),c.push(l.y);else for(f=0;fv&&(v=x),b>g&&(g=b),u.push(x),c.push(b)}var _=v-p,T=g-d;function k(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,u=t.y;if(null!=l)if(w(l-r)+w(u-n)<.01)A(t,e,r,n,i,a,o,s);else{var c=t.point;t.x=t.y=t.point=null,A(t,c,l,u,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),u=.5*(a+s),c=r>=l,f=n>=u,h=f<<1|c;t.leaf=!1,c?i=l:o=l,f?a=u:s=u,k(t=t.nodes[h]||(t.nodes[h]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}_>T?g=d+_:v=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+y(t,++f),+m(t,f),p,d,v,g)}};if(M.visit=function(t){gr(t,M,p,d,v,g)},M.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(u,c,f,h,p){if(!(c>a||f>o||h=_)<<1|e>=b,T=w+4;w=0&&!(r=a.interpolators[n](t,e)););return r}function kr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function Ir(t){return 1-Math.cos(t*It)}function zr(t){return Math.pow(2,10*(t-1))}function Dr(t){return 1-Math.sqrt(1-t*t)}function Rr(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Fr(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Br(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=jr(i),s=Nr(i,a),l=jr(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,r):t,i=r>=0?t.slice(r+1):"in";return n=Mr.get(n)||Ar,i=Sr.get(i)||D,e=i(n.apply(null,o.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},a.interpolateHcl=function(t,e){t=a.hcl(t),e=a.hcl(e);var r=t.h,n=t.c,i=t.l,o=e.h-r,s=e.c-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.c:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Xt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateHsl=function(t,e){t=a.hsl(t),e=a.hsl(e);var r=t.h,n=t.s,i=t.l,o=e.h-r,s=e.s-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.s:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Gt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateLab=function(t,e){t=a.lab(t),e=a.lab(e);var r=t.l,n=t.a,i=t.b,o=e.l-r,s=e.a-n,l=e.b-i;return function(t){return ee(r+o*t,n+s*t,i+l*t)+""}},a.interpolateRound=Fr,a.transform=function(t){var e=l.createElementNS(a.ns.prefix.svg,"g");return(a.transform=function(t){if(null!=t){e.setAttribute("transform",t);var r=e.transform.baseVal.consolidate()}return new Br(r?r.matrix:Ur)})(t)},Br.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Ur={a:1,b:0,c:0,d:1,e:0,f:0};function Vr(t){return t.length?t.pop()+",":""}function qr(t,e){var r=[],n=[];return t=a.transform(t),e=a.transform(e),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Vr(r)+"rotate(",null,")")-2,x:xr(t,e)})):e&&r.push(Vr(r)+"rotate("+e+")")}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(Vr(r)+"skewX(",null,")")-2,x:xr(t,e)}):e&&r.push(Vr(r)+"skewX("+e+")")}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Vr(r)+"scale(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Vr(r)+"scale("+e+")")}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i0?r=e:(t.c=null,t.t=NaN,t=null,l.end({type:"end",alpha:r=0})):e>0&&(l.start({type:"start",alpha:r=e}),t=ke(s.tick)),s):r},s.start=function(){var t,e,r,a=y.length,l=m.length,c=u[0],d=u[1];for(t=0;t=0;)r.push(i[n])}function an(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(c=u[l]),c.parent=a,c.depth=a.depth+1;r&&(a.value=0),a.children=u}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return an(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(nn(t,(function(t){t.children&&(t.value=0)})),an(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},a.layout.partition=function(){var t=a.layout.hierarchy(),e=[1,1];function r(t,e,n,i){var a=t.children;if(t.x=e,t.y=t.depth*i,t.dx=n,t.dy=i,a&&(o=a.length)){var o,s,l,u=-1;for(n=t.value?n/t.value:0;++us&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function xn(t){return t.reduce(bn,0)}function bn(t,e){return t+e[1]}function _n(t,e){return wn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function wn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Tn(t){return[a.min(t),a.max(t)]}function kn(t,e){return t.value-e.value}function An(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Mn(t,e){t._pack_next=e,e._pack_prev=t}function Sn(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function En(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,u=1/0,c=-1/0,f=1/0,h=-1/0;if(e.forEach(Ln),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(On(r,n,i=e[2]),x(i),An(r,i),r._pack_prev=i,An(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=f[0]&&l<=f[1]&&((s=u[a.bisect(h,l,1,d)-1]).y+=v,s.push(i[o]));return u}return i.value=function(t){return arguments.length?(e=t,i):e},i.range=function(t){return arguments.length?(r=ge(t),i):r},i.bins=function(t){return arguments.length?(n="number"==typeof t?function(e){return wn(e,t)}:ge(t),i):n},i.frequency=function(e){return arguments.length?(t=!!e,i):t},i},a.layout.pack=function(){var t,e=a.layout.hierarchy().sort(kn),r=0,n=[1,1];function i(i,a){var o=e.call(this,i,a),s=o[0],l=n[0],u=n[1],c=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,an(s,(function(t){t.r=+c(t.value)})),an(s,En),r){var f=r*(t?1:Math.max(2*s.r/l,2*s.r/u))/2;an(s,(function(t){t.r+=f})),an(s,En),an(s,(function(t){t.r-=f}))}return Pn(s,l/2,u/2,t?1:1/Math.max(2*s.r/l,2*s.r/u)),o}return i.size=function(t){return arguments.length?(n=t,i):n},i.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,i):t},i.padding=function(t){return arguments.length?(r=+t,i):r},rn(i,e)},a.layout.tree=function(){var t=a.layout.hierarchy().sort(null).value(null),e=In,r=[1,1],n=null;function i(i,a){var u=t.call(this,i,a),c=u[0],f=function(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;op.x&&(p=t),t.depth>d.depth&&(d=t)}));var v=e(h,p)/2-h.x,g=r[0]/(p.x+e(p,h)/2+v),y=r[1]/(d.depth||1);nn(c,(function(t){t.x=(t.x+v)*g,t.y=t.depth*y}))}return u}function o(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Dn(s),a=zn(a),s&&a;)l=zn(l),(o=Dn(o)).a=t,(i=s.z+f-a.z-u+e(s._,a._))>0&&(Rn(Fn(s,t,n),t,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Dn(o)&&(o.t=s,o.m+=f-c),a&&!zn(l)&&(l.t=a,l.m+=u-h,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=r[0],t.y=t.depth*r[1]}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t)?l:null,i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null==(r=t)?null:l,i):n?r:null},rn(i,t)},a.layout.cluster=function(){var t=a.layout.hierarchy().sort(null).value(null),e=In,r=[1,1],n=!1;function i(i,o){var s,l=t.call(this,i,o),u=l[0],c=0;an(u,(function(t){var r=t.children;r&&r.length?(t.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(r),t.y=function(t){return 1+a.max(t,(function(t){return t.y}))}(r)):(t.x=s?c+=e(t,s):0,t.y=0,s=t)}));var f=Bn(u),h=Nn(u),p=f.x-e(f,h)/2,d=h.x+e(h,f)/2;return an(u,n?function(t){t.x=(t.x-u.x)*r[0],t.y=(u.y-t.y)*r[1]}:function(t){t.x=(t.x-p)/(d-p)*r[0],t.y=(1-(u.y?t.y/u.y:1))*r[1]}),l}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t),i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null!=(r=t),i):n?r:null},rn(i,t)},a.layout.treemap=function(){var t,e=a.layout.hierarchy(),r=Math.round,n=[1,1],i=null,o=jn,s=!1,l="squarify",u=.5*(1+Math.sqrt(5));function c(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=u[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,v))<=h?(u.pop(),h=n):(s.area-=s.pop().area,d(s,v,a,!1),v=Math.min(a.dx,a.dy),s.length=s.area=0,h=1/0);s.length&&(d(s,v,a,!0),s.length=s.area=0),e.forEach(f)}}function h(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(c(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(h)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*u/n,n/(e*a*u)):1/0}function d(t,e,n,i){var a,o=-1,s=t.length,l=n.x,u=n.y,c=e?r(t.area/e):0;if(e==n.dx){for((i||c>n.dy)&&(c=n.dy);++on.dx)&&(c=n.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=a.random.normal.apply(a,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=a.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?Xn:Hn,l=n?Gr:Hr;return i=o(t,e,l,r),a=o(e,t,l,Tr),s}function s(t){return i(t)}return s.invert=function(t){return a(t)},s.domain=function(e){return arguments.length?(t=e.map(Number),o()):t},s.range=function(t){return arguments.length?(e=t,o()):e},s.rangeRound=function(t){return s.range(t).interpolate(Fr)},s.clamp=function(t){return arguments.length?(n=t,o()):n},s.interpolate=function(t){return arguments.length?(r=t,o()):r},s.ticks=function(e){return Qn(t,e)},s.tickFormat=function(e,r){return d3_scale_linearTickFormat(t,e,r)},s.nice=function(e){return Jn(t,e),o()},s.copy=function(){return Zn(t,e,r,n)},o()}function Kn(t,e){return a.rebind(t,e,"range","rangeRound","interpolate","clamp")}function Jn(t,e){return Gn(t,Wn($n(t,e)[2])),Gn(t,Wn($n(t,e)[2])),t}function $n(t,e){null==e&&(e=10);var r=Vn(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Qn(t,e){return a.range.apply(a,$n(t,e))}function ti(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Gn(n.map(i),r?Math:ei);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Vn(n),o=[],s=t[0],l=t[1],u=Math.floor(i(s)),c=Math.ceil(i(l)),f=e%1?2:e;if(isFinite(c-u)){if(r){for(;u0;h--)o.push(a(u)*h);for(u=0;o[u]l;c--);o=o.slice(u,c)}return o},o.copy=function(){return ti(t.copy(),e,r,n)},Kn(o,t)}a.scale.linear=function(){return Zn([0,1],[0,1],Tr,!1)},a.scale.log=function(){return ti(a.scale.linear().domain([0,1]),10,!0,[1,10])};var ei={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function ri(t,e,r){var n=ni(e),i=ni(1/e);function a(e){return t(n(e))}return a.invert=function(e){return i(t.invert(e))},a.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(n)),a):r},a.ticks=function(t){return Qn(r,t)},a.tickFormat=function(t,e){return d3_scale_linearTickFormat(r,t,e)},a.nice=function(t){return a.domain(Jn(r,t))},a.exponent=function(o){return arguments.length?(n=ni(e=o),i=ni(1/e),t.domain(r.map(n)),a):e},a.copy=function(){return ri(t.copy(),e,r)},Kn(a,t)}function ni(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function ii(t,e){var r,n,i;function o(i){return n[((r.get(i)||("range"===e.t?r.set(i,t.push(i)):NaN))-1)%n.length]}function s(e,r){return a.range(t.length).map((function(t){return e+r*t}))}return o.domain=function(n){if(!arguments.length)return t;t=[],r=new k;for(var i,a=-1,s=n.length;++a0?r[n-1]:t[0],nf?0:1;if(u=Ot)return l(u,p)+(s?l(s,1-p):"")+"Z";var d,v,g,y,m,x,b,_,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===di?Math.sqrt(s*s+u*u):+n.apply(this,arguments),p||(S*=-1),u&&(S=Rt(g/u*Math.sin(y))),s&&(M=Rt(g/s*Math.sin(y)))),u){m=u*Math.cos(c+S),x=u*Math.sin(c+S),b=u*Math.cos(f-S),_=u*Math.sin(f-S);var L=Math.abs(f-c-2*S)<=Ct?0:1;if(S&&bi(m,x,b,_)===p^L){var C=(c+f)/2;m=u*Math.cos(C),x=u*Math.sin(C),b=_=null}}else m=x=0;if(s){w=s*Math.cos(f-M),T=s*Math.sin(f-M),k=s*Math.cos(c+M),A=s*Math.sin(c+M);var P=Math.abs(c-f+2*M)<=Ct?0:1;if(M&&bi(w,T,k,A)===1-p^P){var O=(c+f)/2;w=s*Math.cos(O),T=s*Math.sin(O),k=A=null}}else w=T=0;if(h>Et&&(d=Math.min(Math.abs(u-s)/2,+r.apply(this,arguments)))>.001){v=s0?0:1}function _i(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,u=-s*a,c=t[0]+l,f=t[1]+u,h=e[0]+l,p=e[1]+u,d=(c+h)/2,v=(f+p)/2,g=h-c,y=p-f,m=g*g+y*y,x=r-n,b=c*p-h*f,_=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*m-b*b)),w=(b*y-g*_)/m,T=(-b*g-y*_)/m,k=(b*y+g*_)/m,A=(-b*g+y*_)/m,M=w-d,S=T-v,E=k-d,L=A-v;return M*M+S*S>E*E+L*L&&(w=k,T=A),[[w-l,T-u],[w*r/x,T*r/x]]}function wi(){return!0}function Ti(t){var e=Ee,r=Le,n=wi,i=Ai,a=i.key,o=.7;function s(a){var s,l=[],u=[],c=-1,f=a.length,h=ge(e),p=ge(r);function d(){l.push("M",i(t(u),o))}for(;++c1&&i.push("H",n[0]),i.join("")},"step-before":Si,"step-after":Ei,basis:Pi,"basis-open":function(t){if(t.length<4)return Ai(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Oi(Di,a)+","+Oi(Di,o)),--n;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Ai(t){return t.length>1?t.join("L"):t+"Z"}function Mi(t){return t.join("L")+"Z"}function Si(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var u=2;uCt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=ge(t),a):r},a.source=function(e){return arguments.length?(t=ge(e),a):t},a.target=function(t){return arguments.length?(e=ge(t),a):e},a.startAngle=function(t){return arguments.length?(n=ge(t),a):n},a.endAngle=function(t){return arguments.length?(i=ge(t),a):i},a},a.svg.diagonal=function(){var t=ji,e=Ui,r=qi;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=ge(e),n):t},n.target=function(t){return arguments.length?(e=ge(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},a.svg.diagonal.radial=function(){var t=a.svg.diagonal(),e=qi,r=t.projection;return t.projection=function(t){return arguments.length?r(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-It;return[r*Math.cos(n),r*Math.sin(n)]}}(e=t)):e},t},a.svg.symbol=function(){var t=Gi,e=Hi;function r(r,n){return(Yi.get(t.call(this,r,n))||Wi)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ge(e),r):t},r.size=function(t){return arguments.length?(e=ge(t),r):e},r};var Yi=a.map({circle:Wi,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*Zi)),r=e*Zi;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/Xi),r=e*Xi/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Xi),r=e*Xi/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});a.svg.symbolTypes=Yi.keys();var Xi=Math.sqrt(3),Zi=Math.tan(30*zt);J.transition=function(t){for(var e,r,n=Qi||++ra,i=aa(t),a=[],o=ta||{time:Date.now(),ease:Or,delay:0,duration:250},s=-1,l=this.length;++s0;)u[--h].call(t,o);if(a>=1)return f.event&&f.event.end.call(t,t.__data__,e),--c.count?delete c[n]:delete t[r],1}f||(a=i.time,o=ke((function(t){var e=f.delay;if(o.t=e+a,e<=t)return h(t-e);o.c=h}),0,a),f=c[n]={tween:new k,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++c.count)}ea.call=J.call,ea.empty=J.empty,ea.node=J.node,ea.size=J.size,a.transition=function(t,e){return t&&t.transition?Qi?t.transition(e):t:a.selection().transition(t)},a.transition.prototype=ea,ea.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=$(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",o[1]-o[0])}function v(t){t.select(".extent").attr("y",s[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",s[1]-s[0])}function g(){var f,g,y=this,m=a.select(a.event.target),x=r.of(y,arguments),b=a.select(y),_=m.datum(),w=!/^(n|s)$/.test(_)&&n,T=!/^(e|w)$/.test(_)&&i,k=m.classed("extent"),A=kt(y),M=a.mouse(y),S=a.select(c(y)).on("keydown.brush",(function(){32==a.event.keyCode&&(k||(f=null,M[0]-=o[1],M[1]-=s[1],k=2),V())})).on("keyup.brush",(function(){32==a.event.keyCode&&2==k&&(M[0]+=o[1],M[1]+=s[1],k=0,V())}));if(a.event.changedTouches?S.on("touchmove.brush",C).on("touchend.brush",O):S.on("mousemove.brush",C).on("mouseup.brush",O),b.interrupt().selectAll("*").interrupt(),k)M[0]=o[0]-M[0],M[1]=s[0]-M[1];else if(_){var E=+/w$/.test(_),L=+/^n/.test(_);g=[o[1-E]-M[0],s[1-L]-M[1]],M[0]=o[E],M[1]=s[L]}else a.event.altKey&&(f=M.slice());function C(){var t=a.mouse(y),e=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(a.event.altKey?(f||(f=[(o[0]+o[1])/2,(s[0]+s[1])/2]),M[0]=o[+(t[0](n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=o;function o(t,e){this.x=t,this.y=e}o.prototype={clone:function(){return new o(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},o.convert=function(t){return t instanceof o?t:Array.isArray(t)?new o(t[0],t[1]):t};var s="undefined"!=typeof self?self:{};var l=Math.pow(2,53)-1;function u(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}}var c=u(.25,.1,.25,1);function f(t,e,r){return Math.min(r,Math.max(e,t))}function h(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function p(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function y(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function m(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function x(t,e){return-1!==t.indexOf(e,t.length-e.length)}function b(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function _(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function w(t){return Array.isArray(t)?t.map(w):"object"==typeof t&&t?b(t,w):t}var T={};function k(t){T[t]||("undefined"!=typeof console&&console.warn(t),T[t]=!0)}function A(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function M(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),""})),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}var L=null;function C(t){if(null==L){var e=t.navigator?t.navigator.userAgent:null;L=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return L}function P(t){try{var e=s[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var O,I,z,D,R=s.performance&&s.performance.now?s.performance.now.bind(s.performance):Date.now.bind(Date),F=s.requestAnimationFrame||s.mozRequestAnimationFrame||s.webkitRequestAnimationFrame||s.msRequestAnimationFrame,B=s.cancelAnimationFrame||s.mozCancelAnimationFrame||s.webkitCancelAnimationFrame||s.msCancelAnimationFrame,N={now:R,frame:function(t){var e=F(t);return{cancel:function(){return B(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=s.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return O||(O=s.document.createElement("a")),O.href=t,O.href},hardwareConcurrency:s.navigator&&s.navigator.hardwareConcurrency||4,get devicePixelRatio(){return s.devicePixelRatio},get prefersReducedMotion(){return!!s.matchMedia&&(null==I&&(I=s.matchMedia("(prefers-reduced-motion: reduce)")),I.matches)}},j={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},U={supported:!1,testSupport:function(t){!V&&D&&(q?H(t):z=t)}},V=!1,q=!1;function H(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,D),t.isContextLost())return;U.supported=!0}catch(t){}t.deleteTexture(e),V=!0}s.document&&((D=s.document.createElement("img")).onload=function(){z&&H(z),z=null,q=!0},D.onerror=function(){V=!0,z=null},D.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var G="01";var W=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function Y(t){return 0===t.indexOf("mapbox:")}W.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",G,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},W.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},W.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},W.prototype.normalizeStyleURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeGlyphsURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeSourceURL=function(t,e){if(!Y(t))return t;var r=J(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},W.prototype.normalizeSpriteURL=function(t,e,r,n){var i=J(t);return Y(t)?(i.path="/styles/v1"+i.path+"/sprite"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+e+r,$(i))},W.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!Y(t))return t;var r=J(t),n=N.devicePixelRatio>=2||512===e?"@2x":"",i=U.supported?".webp":"$1";r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+n+i),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var a=this._customAccessToken||function(t){for(var e=0,r=t;e=0&&t.params.splice(i,1)}if("/"!==n.path&&(t.path=""+n.path+t.path),!j.REQUIRE_ACCESS_TOKEN)return $(t);if(!(e=e||j.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return t.params=t.params.filter((function(t){return-1===t.indexOf("access_token")})),t.params.push("access_token="+e),$(t)};var X=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function Z(t){return X.test(t)}var K=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function J(t){var e=t.match(K);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function $(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}var Q="mapbox.eventData";function tt(t){if(!t)return null;var e,r=t.split(".");if(!r||3!==r.length)return null;try{return JSON.parse((e=r[1],decodeURIComponent(s.atob(e).split("").map((function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)})).join(""))))}catch(t){return null}}var et=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};et.prototype.getStorageKey=function(t){var e,r,n=tt(j.ACCESS_TOKEN);return e=n&&n.u?(r=n.u,s.btoa(encodeURIComponent(r).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number("0x"+e))})))):j.ACCESS_TOKEN||"",t?Q+"."+t+":"+e:Q+":"+e},et.prototype.fetchEventData=function(){var t=P("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{var n=s.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=s.localStorage.getItem(r);i&&(this.anonId=i)}catch(t){k("Unable to read from LocalStorage")}},et.prototype.saveEventData=function(){var t=P("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{s.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&s.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){k("Unable to write to LocalStorage")}},et.prototype.processRequests=function(t){},et.prototype.postEvent=function(t,e,n,i){var a=this;if(j.EVENTS_URL){var o=J(j.EVENTS_URL);o.params.push("access_token="+(i||j.ACCESS_TOKEN||""));var s={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:G,userId:this.anonId},l=e?p(s,e):s,u={url:$(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([l])};this.pendingRequest=St(u,(function(t){a.pendingRequest=null,n(t),a.saveEventData(),a.processRequests(i)}))}},et.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var rt,nt,it=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(j.EVENTS_URL&&n||j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return Y(t)||Z(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),y(this.anonId)||(this.anonId=g()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(et),at=function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){j.EVENTS_URL&&j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return Y(t)||Z(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=tt(j.ACCESS_TOKEN),n=r?r.u:j.ACCESS_TOKEN,i=n!==this.eventData.tokenU;y(this.anonId)||(this.anonId=g(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(et),ot=new at,st=ot.postTurnstileEvent.bind(ot),lt=new it,ut=lt.postMapLoadEvent.bind(lt),ct="mapbox-tiles",ft=500,ht=50,pt=42e4;function dt(){s.caches&&!rt&&(rt=s.caches.open(ct))}function vt(t,e,r){if(dt(),rt){var n={status:e.status,statusText:e.statusText,headers:new s.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=E(e.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-rDate.now()&&!r["no-cache"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var mt,xt=1/0;function bt(){return null==mt&&(mt=s.OffscreenCanvas&&new s.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof s.createImageBitmap),mt}var _t={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(_t);var wt=function(t){function e(e,r,n){401===r&&Z(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error),Tt=S()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===s.location.protocol?s.parent:s).location.href};function kt(t,e){var r,n=new s.AbortController,i=new s.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:Tt(),signal:n.signal}),a=!1,o=!1,l=(r=i.url).indexOf("sku=")>0&&Z(r);"json"===t.type&&i.headers.set("Accept","application/json");var u=function(r,n,a){if(!o){if(r&&"SecurityError"!==r.message&&k(r),n&&a)return c(n);var u=Date.now();s.fetch(i).then((function(r){if(r.ok){var n=l?r.clone():null;return c(r,n,u)}return e(new wt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},c=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&vt(i,n,s),a=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(t){o||e(new Error(t.message))}))};return l?yt(i,u):u(null,null),{cancel:function(){o=!0,a||n.abort()}}}var At=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(Tt())&&!/^\w+:/.test(r))){if(s.fetch&&s.Request&&s.AbortController&&s.Request.prototype.hasOwnProperty("signal"))return kt(t,e);if(S()&&self.worker&&self.worker.actor){return self.worker.actor.send("getResource",t,e,void 0,!0)}}var r;return function(t,e){var r=new s.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new wt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},Mt=function(t,e){return At(p(t,{type:"arrayBuffer"}),e)},St=function(t,e){return At(p(t,{method:"POST"}),e)};var Et,Lt,Ct="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";Et=[],Lt=0;var Pt=function(t,e){if(U.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),Lt>=j.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return Et.push(r),r}Lt++;var n=!1,i=function(){if(!n)for(n=!0,Lt--;Et.length&&Lt0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Rt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Ft={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},Bt=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Nt(t){var e=t.key,r=t.value;return r?[new Bt(e,r,"constants have been deprecated as of v8")]:[]}function jt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var ne=[Gt,Wt,Yt,Xt,Zt,Qt,Kt,ee(Jt),te];function ie(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!ie(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=ne;r255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in r)return r[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf("("),u=i.indexOf(")");if(-1!==l&&u+1===i.length){var c=i.substr(0,l),f=i.substr(l+1,u-(l+1)).split(","),h=1;switch(c){case"rgba":if(4!==f.length)return null;h=o(f.pop());case"rgb":return 3!==f.length?null:[a(f[0]),a(f[1]),a(f[2]),h];case"hsla":if(4!==f.length)return null;h=o(f.pop());case"hsl":if(3!==f.length)return null;var p=(parseFloat(f[0])%360+360)%360/360,d=o(f[1]),v=o(f[2]),g=v<=.5?v*(d+1):v+d-v*d,y=2*v-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),h];default:return null}}return null}}catch(t){}})),le=se.parseCSSColor,ue=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};ue.parse=function(t){if(t){if(t instanceof ue)return t;if("string"==typeof t){var e=le(t);if(e)return new ue(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},ue.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+i+")"},ue.prototype.toArray=function(){var t=this,e=t.r,r=t.g,n=t.b,i=t.a;return 0===i?[0,0,0,0]:[255*e/i,255*r/i,255*n/i,i]},ue.black=new ue(0,0,0,1),ue.white=new ue(1,1,1,1),ue.transparent=new ue(0,0,0,0),ue.red=new ue(1,0,0,1);var ce=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};ce.prototype.compare=function(t,e){return this.collator.compare(t,e)},ce.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var fe=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},he=function(t){this.sections=t};he.fromString=function(t){return new he([new fe(t,null,null,null,null)])},he.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},he.factory=function(t){return t instanceof he?t:he.fromString(t)},he.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(t){return t.text})).join("")},he.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function ve(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof ue)return!0;if(t instanceof ce)return!0;if(t instanceof he)return!0;if(t instanceof pe)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if("string"!=typeof s||!(s in be)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);a=be[s],n++}else a=Jt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}r=ee(a,o)}else r=be[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var we=function(t){this.type=Qt,this.sections=t};we.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,Wt)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,ee(Yt))))return null;var u=null;if(o["text-color"]&&!(u=e.parse(o["text-color"],1,Zt)))return null;var c=n[n.length-1];c.scale=s,c.font=l,c.textColor=u}else{var f=e.parse(t[a],1,Jt);if(!f)return null;var h=f.type.kind;if("string"!==h&&"value"!==h&&"null"!==h&&"resolvedImage"!==h)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:f,scale:null,font:null,textColor:null})}}return new we(n)},we.prototype.evaluate=function(t){return new he(this.sections.map((function(e){var r=e.content.evaluate(t);return ge(r)===te?new fe("",r,null,null,null):new fe(ye(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},we.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},Te.prototype.eachChild=function(t){t(this.input)},Te.prototype.outputDefined=function(){return!1},Te.prototype.serialize=function(){return["image",this.input.serialize()]};var ke={"to-boolean":Xt,"to-color":Zt,"to-number":Wt,"to-string":Yt},Ae=function(t,e){this.type=t,this.args=e};Ae.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=ke[r],i=[],a=1;a4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":de(e[0],e[1],e[2],e[3])))return new ue(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new xe(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Ie(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,e.z);return[Math.round(n*a*Ce),Math.round(i*a*Ce)]}function ze(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function De(t,e){for(var r=!1,n=0,i=e.length;n0&&f<0||c<0&&f>0}function Be(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}Pe(e,t)}function He(t,e,r,n){for(var i=Math.pow(2,n.z)*Ce,a=[n.x*Ce,n.y*Ce],o=[],s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Ze(t,e)&&(r=!1)})),r}We.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(ve(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;ne))throw new xe("Input is not a number.");o=s-1}return 0}Je.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Je.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new _e(e,[t]):"coerce"===r?new Ae(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||"coerce");else a=r(a,o,e.typeAnnotation||"assert")}if(!(a instanceof me)&&"resolvedImage"!==a.type.kind&&$e(a)){var l=new Se;try{a=new me(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},Je.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Je(this.registry,n,e||null,i,this.errors)},Je.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new qt(n,t))},Je.prototype.checkSubtype=function(t,e){var r=ie(t,e);return r&&this.error(r),r};var tr=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var c=e.parse(s,u,i);if(!c)return null;i=i||c.type,n.push([o,c])}return new tr(i,r,n)},tr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Qe(e,n)].evaluate(t)},tr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var rr=Object.freeze({__proto__:null,number:er,color:function(t,e,r){return new ue(er(t.r,e.r,r),er(t.g,e.g,r),er(t.b,e.b,r),er(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return er(t,e[n],r)}))}}),nr=.95047,ir=1,ar=1.08883,or=4/29,sr=6/29,lr=3*sr*sr,ur=sr*sr*sr,cr=Math.PI/180,fr=180/Math.PI;function hr(t){return t>ur?Math.pow(t,1/3):t/lr+or}function pr(t){return t>sr?t*t*t:lr*(t-or)}function dr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function vr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function gr(t){var e=vr(t.r),r=vr(t.g),n=vr(t.b),i=hr((.4124564*e+.3575761*r+.1804375*n)/nr),a=hr((.2126729*e+.7151522*r+.072175*n)/ir);return{l:116*a-16,a:500*(i-a),b:200*(a-hr((.0193339*e+.119192*r+.9503041*n)/ar)),alpha:t.a}}function yr(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=ir*pr(e),r=nr*pr(r),n=ar*pr(n),new ue(dr(3.2404542*r-1.5371385*e-.4985314*n),dr(-.969266*r+1.8760108*e+.041556*n),dr(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function mr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var xr={forward:gr,reverse:yr,interpolate:function(t,e,r){return{l:er(t.l,e.l,r),a:er(t.a,e.a,r),b:er(t.b,e.b,r),alpha:er(t.alpha,e.alpha,r)}}},br={forward:function(t){var e=gr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*fr;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*cr,r=t.c;return yr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:mr(t.h,e.h,r),c:er(t.c,e.c,r),l:er(t.l,e.l,r),alpha:er(t.alpha,e.alpha,r)}}},_r=Object.freeze({__proto__:null,lab:xr,hcl:br}),wr=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(i=e.parse(i,2,Wt)))return null;var l=[],u=null;"interpolate-hcl"===r||"interpolate-lab"===r?u=Zt:e.expectedType&&"value"!==e.expectedType.kind&&(u=e.expectedType);for(var c=0;c=f)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var v=e.parse(h,d,u);if(!v)return null;u=u||v.type,l.push([f,v])}return"number"===u.kind||"color"===u.kind||"array"===u.kind&&"number"===u.itemType.kind&&"number"==typeof u.N?new wr(u,r,n,i,l):e.error("Type "+re(u)+" is not interpolatable.")},wr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=Qe(e,n),o=e[a],s=e[a+1],l=wr.interpolationFactor(this.interpolation,n,o,s),u=r[a].evaluate(t),c=r[a+1].evaluate(t);return"interpolate"===this.operator?rr[this.type.kind.toLowerCase()](u,c,l):"interpolate-hcl"===this.operator?br.reverse(br.interpolate(br.forward(u),br.forward(c),l)):xr.reverse(xr.interpolate(xr.forward(u),xr.forward(c),l))},wr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new xe("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new xe("Array index must be an integer, but found "+e+" instead.");return r[e]},Mr.prototype.eachChild=function(t){t(this.index),t(this.input)},Mr.prototype.outputDefined=function(){return!1},Mr.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var Sr=function(t,e){this.type=Xt,this.needle=t,this.haystack=e};Sr.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);return r&&n?ae(r.type,[Xt,Yt,Wt,Gt,Jt])?new Sr(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+re(r.type)+" instead"):null},Sr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!oe(e,["boolean","string","number","null"]))throw new xe("Expected first argument to be of type boolean, string, number or null, but found "+re(ge(e))+" instead.");if(!oe(r,["string","array"]))throw new xe("Expected second argument to be of type array or string, but found "+re(ge(r))+" instead.");return r.indexOf(e)>=0},Sr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},Sr.prototype.outputDefined=function(){return!0},Sr.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var Er=function(t,e,r){this.type=Wt,this.needle=t,this.haystack=e,this.fromIndex=r};Er.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);if(!r||!n)return null;if(!ae(r.type,[Xt,Yt,Wt,Gt,Jt]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+re(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Wt);return i?new Er(r,n,i):null}return new Er(r,n)},Er.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!oe(e,["boolean","string","number","null"]))throw new xe("Expected first argument to be of type boolean, string, number or null, but found "+re(ge(e))+" instead.");if(!oe(r,["string","array"]))throw new xe("Expected second argument to be of type array or string, but found "+re(ge(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},Er.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},Er.prototype.outputDefined=function(){return!1},Er.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var Lr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Lr.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return u.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof h&&Math.floor(h)!==h)return u.error("Numeric branch labels must be integer values.");if(r){if(u.checkSubtype(r,ge(h)))return null}else r=ge(h);if(void 0!==i[String(h)])return u.error("Branch labels must be unique.");i[String(h)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,Jt);if(!d)return null;var v=e.parse(t[t.length-1],t.length-1,n);return v?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new Lr(r,n,d,i,a,v):null},Lr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(ge(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Lr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Lr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},Lr.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Wt);if(!r||!n)return null;if(!ae(r.type,[ee(Jt),Yt,Jt]))return e.error("Expected first argument to be of type array or string, but found "+re(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Wt);return i?new Pr(r.type,r,n,i):null}return new Pr(r.type,r,n)},Pr.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!oe(e,["string","array"]))throw new xe("Expected first argument to be of type array or string, but found "+re(ge(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},Pr.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},Pr.prototype.outputDefined=function(){return!1},Pr.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var Dr=zr("==",(function(t,e,r){return e===r}),Ir),Rr=zr("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!Ir(0,e,r,n)})),Fr=zr("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Nr=zr("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),jr=zr(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),Ur=function(t,e,r,n,i){this.type=Yt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};Ur.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Wt);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Yt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Yt)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,Wt)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,Wt))?null:new Ur(r,i,a,o,s)},Ur.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},Ur.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},Ur.prototype.outputDefined=function(){return!1},Ur.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var Vr=function(t){this.type=Wt,this.input=t};Vr.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+re(r.type)+" instead."):new Vr(r):null},Vr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new xe("Expected value to be of type string or array, but found "+re(ge(e))+" instead.")},Vr.prototype.eachChild=function(t){t(this.input)},Vr.prototype.outputDefined=function(){return!1},Vr.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var qr={"==":Dr,"!=":Rr,">":Br,"<":Fr,">=":jr,"<=":Nr,array:_e,at:Mr,boolean:_e,case:Cr,coalesce:kr,collator:Le,format:we,image:Te,in:Sr,"index-of":Er,interpolate:wr,"interpolate-hcl":wr,"interpolate-lab":wr,length:Vr,let:Ar,literal:me,match:Lr,number:_e,"number-format":Ur,object:_e,slice:Pr,step:tr,string:_e,"to-boolean":Ae,"to-color":Ae,"to-number":Ae,"to-string":Ae,var:Ke,within:We};function Hr(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=de(r,n,i,o);if(s)throw new xe(s);return new ue(r/255*o,n/255*o,i/255*o,o)}function Gr(t,e){return t in e}function Wr(t,e){var r=e[t];return void 0===r?null:r}function Yr(t){return{type:t}}function Xr(t){return{result:"success",value:t}}function Zr(t){return{result:"error",value:t}}function Kr(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function Jr(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function $r(t){return!!t.expression&&t.expression.interpolated}function Qr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function tn(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function en(t){return t}function rn(t,e){var r,n,i,a="color"===e.type,o=t.stops&&"object"==typeof t.stops[0][0],s=o||void 0!==t.property,l=o||!s,u=t.type||($r(e)?"exponential":"interval");if(a&&((t=jt({},t)).stops&&(t.stops=t.stops.map((function(t){return[t[0],ue.parse(t[1])]}))),t.default?t.default=ue.parse(t.default):t.default=ue.parse(e.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!_r[t.colorSpace])throw new Error("Unknown color space: "+t.colorSpace);if("exponential"===u)r=sn;else if("interval"===u)r=on;else if("categorical"===u){r=an,n=Object.create(null);for(var c=0,f=t.stops;c=t.stops[n-1][0])return t.stops[n-1][1];var i=Qe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function sn(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==Qr(r))return nn(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Qe(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],u=rr[e.type]||en;if(t.colorSpace&&"rgb"!==t.colorSpace){var c=_r[t.colorSpace];u=function(t,e){return c.reverse(c.interpolate(c.forward(t),c.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return u(r,n,o)}}:u(s,l,o)}function ln(t,e,r){return"color"===e.type?r=ue.parse(r):"formatted"===e.type?r=he.fromString(r.toString()):"resolvedImage"===e.type?r=pe.fromString(r.toString()):Qr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),nn(r,t.default,e.default)}Ee.register(qr,{error:[{kind:"error"},[Yt],function(t,e){var r=e[0];throw new xe(r.evaluate(t))}],typeof:[Yt,[Jt],function(t,e){return re(ge(e[0].evaluate(t)))}],"to-rgba":[ee(Wt,4),[Zt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Zt,[Wt,Wt,Wt],Hr],rgba:[Zt,[Wt,Wt,Wt,Wt],Hr],has:{type:Xt,overloads:[[[Yt],function(t,e){return Gr(e[0].evaluate(t),t.properties())}],[[Yt,Kt],function(t,e){var r=e[0],n=e[1];return Gr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Jt,overloads:[[[Yt],function(t,e){return Wr(e[0].evaluate(t),t.properties())}],[[Yt,Kt],function(t,e){var r=e[0],n=e[1];return Wr(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[Jt,[Yt],function(t,e){return Wr(e[0].evaluate(t),t.featureState||{})}],properties:[Kt,[],function(t){return t.properties()}],"geometry-type":[Yt,[],function(t){return t.geometryType()}],id:[Jt,[],function(t){return t.id()}],zoom:[Wt,[],function(t){return t.globals.zoom}],"heatmap-density":[Wt,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[Wt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Jt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[Wt,Yr(Wt),function(t,e){for(var r=0,n=0,i=e;n":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[Xt,[Yt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[Xt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[Xt,[Jt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[Xt,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[Xt,[ee(Yt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[Xt,[ee(Jt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[Xt,[Yt,ee(Jt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[Xt,[Yt,ee(Jt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Xt,overloads:[[[Xt,Xt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Yr(Xt),function(t,e){for(var r=0,n=e;r0&&"string"==typeof t[0]&&t[0]in qr}function fn(t,e){var r=new Je(qr,[],e?function(t){var e={color:Zt,string:Yt,number:Wt,enum:Yt,boolean:Xt,formatted:Qt,resolvedImage:te};return"array"===t.type?ee(e[t.value]||Jt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Xr(new un(n,e)):Zr(r.errors)}un.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},un.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new xe("Expected value to be one of "+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var hn=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!Xe(e.expression)};hn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},hn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var pn=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!Xe(e.expression),this.interpolationType=n};function dn(t,e){if("error"===(t=fn(t,e)).result)return t;var r=t.value.expression,n=Ye(r);if(!n&&!Kr(e))return Zr([new qt("","data expressions not supported")]);var i=Ze(r,["zoom"]);if(!i&&!Jr(e))return Zr([new qt("","zoom expressions not supported")]);var a=gn(r);if(!a&&!i)return Zr([new qt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof qt)return Zr([a]);if(a instanceof wr&&!$r(e))return Zr([new qt("",'"interpolate" expressions cannot be used with this property')]);if(!a)return Xr(new hn(n?"constant":"source",t.value));var o=a instanceof wr?a.interpolation:void 0;return Xr(new pn(n?"camera":"composite",t.value,a.labels,o))}pn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},pn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},pn.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?wr.interpolationFactor(this.interpolationType,t,e,r):0};var vn=function(t,e){this._parameters=t,this._specification=e,jt(this,rn(this._parameters,this._specification))};function gn(t){var e=null;if(t instanceof Ar)e=gn(t.result);else if(t instanceof kr)for(var r=0,n=t.args;rn.maximum?[new Bt(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function bn(t){var e,r,n,i=t.valueSpec,a=Ut(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,l=!s,u="array"===Qr(t.value.stops)&&"array"===Qr(t.value.stops[0])&&"object"===Qr(t.value.stops[0][0]),c=yn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===a)return[new Bt(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(mn({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:f})),"array"===Qr(r)&&0===r.length&&e.push(new Bt(t.key,r,"array must have at least one stop")),e},default:function(t){return Hn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===a&&s&&c.push(new Bt(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||c.push(new Bt(t.key,t.value,'missing required property "stops"')),"exponential"===a&&t.valueSpec.expression&&!$r(t.valueSpec)&&c.push(new Bt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!Kr(t.valueSpec)?c.push(new Bt(t.key,t.value,"property functions not supported")):s&&!Jr(t.valueSpec)&&c.push(new Bt(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!u||void 0!==t.value.property||c.push(new Bt(t.key,t.value,'"property" property is required')),c;function f(t){var e=[],a=t.value,s=t.key;if("array"!==Qr(a))return[new Bt(s,a,"array expected, "+Qr(a)+" found")];if(2!==a.length)return[new Bt(s,a,"array length 2 expected, length "+a.length+" found")];if(u){if("object"!==Qr(a[0]))return[new Bt(s,a,"object expected, "+Qr(a[0])+" found")];if(void 0===a[0].zoom)return[new Bt(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new Bt(s,a,"object stop key must have value")];if(n&&n>Ut(a[0].zoom))return[new Bt(s,a[0].zoom,"stop zoom values must appear in ascending order")];Ut(a[0].zoom)!==n&&(n=Ut(a[0].zoom),r=void 0,o={}),e=e.concat(yn({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:xn,value:h}}))}else e=e.concat(h({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return cn(Vt(a[1]))?e.concat([new Bt(s+"[1]",a[1],"expressions are not allowed in function stops.")]):e.concat(Hn({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function h(t,n){var s=Qr(t.value),l=Ut(t.value),u=null!==t.value?t.value:n;if(e){if(s!==e)return[new Bt(t.key,u,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new Bt(t.key,u,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var c="number expected, "+s+" found";return Kr(i)&&void 0===a&&(c+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Bt(t.key,u,c)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);ee?1:0}function Sn(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var e=1;e"===r||"<="===r||">="===r?Ln(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(En))):"all"===r?["all"].concat(t.slice(1).map(En)):"none"===r?["all"].concat(t.slice(1).map(En).map(On)):"in"===r?Cn(t[1],t.slice(2)):"!in"===r?On(Cn(t[1],t.slice(2))):"has"===r?Pn(t[1]):"!has"===r?On(Pn(t[1])):"within"!==r||t}function Ln(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function Cn(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?["filter-in-large",t,["literal",e.sort(Mn)]]:["filter-in-small",t,["literal",e]]}}function Pn(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function On(t){return["!",t]}function In(t){return Tn(Vt(t.value))?_n(jt({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):zn(t)}function zn(t){var e=t.value,r=t.key;if("array"!==Qr(e))return[new Bt(r,e,"array expected, "+Qr(e)+" found")];var n,i=t.styleSpec,a=[];if(e.length<1)return[new Bt(r,e,"filter array must have at least 1 element")];switch(a=a.concat(wn({key:r+"[0]",value:e[0],valueSpec:i.filter_operator,style:t.style,styleSpec:t.styleSpec})),Ut(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Ut(e[1])&&a.push(new Bt(r,e,'"$type" cannot be use with operator "'+e[0]+'"'));case"==":case"!=":3!==e.length&&a.push(new Bt(r,e,'filter array for operator "'+e[0]+'" must have 3 elements'));case"in":case"!in":e.length>=2&&"string"!==(n=Qr(e[1]))&&a.push(new Bt(r+"[1]",e[1],"string expected, "+n+" found"));for(var o=2;o=c[p+0]&&n>=c[p+1])?(o[h]=!0,a.push(u[h])):o[h]=!1}}},ri.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),f=this._convertToCellCoord(n),h=l;h<=c;h++)for(var p=u;p<=f;p++){var d=this.d*p+h;if((!s||s(this._convertFromCellCoord(h),this._convertFromCellCoord(p),this._convertFromCellCoord(h+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},ri.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},ri.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},ri.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=ei+this.cells.length+1+1,r=0,n=0;n=0)){var f=t[c];u[c]=ai[l].shallow.indexOf(c)>=0?f:ci(f,e)}t instanceof Error&&(u.message=t.message)}if(u.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(u.$name=l),u}throw new Error("can't serialize object of type "+typeof t)}function fi(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||li(t)||ui(t)||ArrayBuffer.isView(t)||t instanceof ni)return t;if(Array.isArray(t))return t.map(fi);if("object"==typeof t){var e=t.$name||"Object",r=ai[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i=0?s:fi(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var hi=function(){this.first=!0};hi.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function di(t){for(var e=0,r=t;e=65097&&t<=65103)||pi["CJK Compatibility Ideographs"](t)||pi["CJK Compatibility"](t)||pi["CJK Radicals Supplement"](t)||pi["CJK Strokes"](t)||!(!pi["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||pi["CJK Unified Ideographs Extension A"](t)||pi["CJK Unified Ideographs"](t)||pi["Enclosed CJK Letters and Months"](t)||pi["Hangul Compatibility Jamo"](t)||pi["Hangul Jamo Extended-A"](t)||pi["Hangul Jamo Extended-B"](t)||pi["Hangul Jamo"](t)||pi["Hangul Syllables"](t)||pi.Hiragana(t)||pi["Ideographic Description Characters"](t)||pi.Kanbun(t)||pi["Kangxi Radicals"](t)||pi["Katakana Phonetic Extensions"](t)||pi.Katakana(t)&&12540!==t||!(!pi["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!pi["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||pi["Unified Canadian Aboriginal Syllabics"](t)||pi["Unified Canadian Aboriginal Syllabics Extended"](t)||pi["Vertical Forms"](t)||pi["Yijing Hexagram Symbols"](t)||pi["Yi Syllables"](t)||pi["Yi Radicals"](t))))}function gi(t){return!(vi(t)||function(t){return!!(pi["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||pi["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||pi["Letterlike Symbols"](t)||pi["Number Forms"](t)||pi["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||pi["Control Pictures"](t)&&9251!==t||pi["Optical Character Recognition"](t)||pi["Enclosed Alphanumerics"](t)||pi["Geometric Shapes"](t)||pi["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||pi["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||pi["CJK Symbols and Punctuation"](t)||pi.Katakana(t)||pi["Private Use Area"](t)||pi["CJK Compatibility Forms"](t)||pi["Small Form Variants"](t)||pi["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function yi(t){return pi.Arabic(t)||pi["Arabic Supplement"](t)||pi["Arabic Extended-A"](t)||pi["Arabic Presentation Forms-A"](t)||pi["Arabic Presentation Forms-B"](t)}function mi(t){return t>=1424&&t<=2303||pi["Arabic Presentation Forms-A"](t)||pi["Arabic Presentation Forms-B"](t)}function xi(t,e){return!(!e&&mi(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||pi.Khmer(t))}function bi(t){for(var e=0,r=t;e-1&&(Mi=ki),Ai&&Ai(t)};function Li(){Ci.fire(new zt("pluginStateChange",{pluginStatus:Mi,pluginURL:Si}))}var Ci=new Rt,Pi=function(){return Mi},Oi=function(){if(Mi!==_i||!Si)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Mi=wi,Li(),Si&&Mt({url:Si},(function(t){t?Ei(t):(Mi=Ti,Li())}))},Ii={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return Mi===Ti||null!=Ii.applyArabicShaping},isLoading:function(){return Mi===wi},setState:function(t){Mi=t.pluginStatus,Si=t.pluginURL},isParsed:function(){return null!=Ii.applyArabicShaping&&null!=Ii.processBidirectionalText&&null!=Ii.processStyledBidirectionalText},getPluginURL:function(){return Si}},zi=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new hi,this.transition={})};zi.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var Di=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(tn(t))return new vn(t,e);if(cn(t)){var r=dn(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=ue.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};Di.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},Di.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var Ri=function(t){this.property=t,this.value=new Di(t,void 0)};Ri.prototype.transitioned=function(t,e){return new Bi(this.property,this.value,e,p({},t.transition,this.transition),t.now)},Ri.prototype.untransitioned=function(){return new Bi(this.property,this.value,null,{},0)};var Fi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Fi.prototype.getValue=function(t){return w(this._values[t].value.value)},Fi.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].value=new Di(this._values[t].property,null===e?void 0:w(e))},Fi.prototype.getTransition=function(t){return w(this._values[t].transition)},Fi.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].transition=w(e)||void 0},Fi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var Ni=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Ni.prototype.possiblyEvaluate=function(t,e,r){for(var n=new Vi(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Hi),Wi=function(t){this.specification=t};Wi.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new zi(Math.floor(e.zoom-1),e)),t.expression.evaluate(new zi(Math.floor(e.zoom),e)),t.expression.evaluate(new zi(Math.floor(e.zoom+1),e)),e)}},Wi.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Wi.prototype.interpolate=function(t){return t};var Yi=function(t){this.specification=t};Yi.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},Yi.prototype.interpolate=function(){return!1};var Xi=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new Di(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Ri(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};oi("DataDrivenProperty",Hi),oi("DataConstantProperty",qi),oi("CrossFadedDataDrivenProperty",Gi),oi("CrossFadedProperty",Wi),oi("ColorRampProperty",Yi);var Zi="-transition",Ki=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new ji(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Fi(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Vi(r.paint)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".layout."+t;if(this._validate($n,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return x(t,Zi)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(Jn,n,t,e,r))return!1}if(x(t,Zi))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;var i=this._transitionablePaint._values[t],a="cross-faded-data-driven"===i.property.specification["property-type"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),_(t,(function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Qn(this,t.call(Zn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Ft,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Ui&&Kr(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(Rt),Ji={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},$i=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Qi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function ta(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,Ji[i].BYTES_PER_ELEMENT),o=r=ea(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}})),size:ea(r,Math.max(n,e)),alignment:e}}function ea(t,e){return Math.ceil(t/e)*e}Qi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Qi.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Qi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Qi.prototype.clear=function(){this.length=0},Qi.prototype.resize=function(t){this.reserve(t),this.length=t},Qi.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Qi.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Qi);ra.prototype.bytesPerElement=4,oi("StructArrayLayout2i4",ra);var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Qi);na.prototype.bytesPerElement=8,oi("StructArrayLayout4i8",na);var ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);ia.prototype.bytesPerElement=12,oi("StructArrayLayout2i4i12",ia);var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(Qi);aa.prototype.bytesPerElement=8,oi("StructArrayLayout2i4ub8",aa);var oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Qi);oa.prototype.bytesPerElement=8,oi("StructArrayLayout2f8",oa);var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l,u)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c){var f=10*t;return this.uint16[f+0]=e,this.uint16[f+1]=r,this.uint16[f+2]=n,this.uint16[f+3]=i,this.uint16[f+4]=a,this.uint16[f+5]=o,this.uint16[f+6]=s,this.uint16[f+7]=l,this.uint16[f+8]=u,this.uint16[f+9]=c,t},e}(Qi);sa.prototype.bytesPerElement=20,oi("StructArrayLayout10ui20",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f){var h=this.length;return this.resize(h+1),this.emplace(h,t,e,r,n,i,a,o,s,l,u,c,f)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=u,this.int16[p+9]=c,this.int16[p+10]=f,this.int16[p+11]=h,t},e}(Qi);la.prototype.bytesPerElement=24,oi("StructArrayLayout4i4ui4i24",la);var ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Qi);ua.prototype.bytesPerElement=12,oi("StructArrayLayout3f12",ua);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Qi);ca.prototype.bytesPerElement=4,oi("StructArrayLayout1ul4",ca);var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u){var c=10*t,f=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=a,this.int16[c+5]=o,this.uint32[f+3]=s,this.uint16[c+8]=l,this.uint16[c+9]=u,t},e}(Qi);fa.prototype.bytesPerElement=20,oi("StructArrayLayout6i1ul2ui20",fa);var ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);ha.prototype.bytesPerElement=12,oi("StructArrayLayout2i2i2i12",ha);var pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Qi);pa.prototype.bytesPerElement=16,oi("StructArrayLayout2f1f2i16",pa);var da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Qi);da.prototype.bytesPerElement=12,oi("StructArrayLayout2ub2f12",da);var va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Qi);va.prototype.bytesPerElement=6,oi("StructArrayLayout3ui6",va);var ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g){var y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y){var m=24*t,x=12*t,b=48*t;return this.int16[m+0]=e,this.int16[m+1]=r,this.uint16[m+2]=n,this.uint16[m+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[m+10]=l,this.uint16[m+11]=u,this.uint16[m+12]=c,this.float32[x+7]=f,this.float32[x+8]=h,this.uint8[b+36]=p,this.uint8[b+37]=d,this.uint8[b+38]=v,this.uint32[x+10]=g,this.int16[m+22]=y,t},e}(Qi);ga.prototype.bytesPerElement=48,oi("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",ga);var ya=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E){var L=34*t,C=17*t;return this.int16[L+0]=e,this.int16[L+1]=r,this.int16[L+2]=n,this.int16[L+3]=i,this.int16[L+4]=a,this.int16[L+5]=o,this.int16[L+6]=s,this.int16[L+7]=l,this.uint16[L+8]=u,this.uint16[L+9]=c,this.uint16[L+10]=f,this.uint16[L+11]=h,this.uint16[L+12]=p,this.uint16[L+13]=d,this.uint16[L+14]=v,this.uint16[L+15]=g,this.uint16[L+16]=y,this.uint16[L+17]=m,this.uint16[L+18]=x,this.uint16[L+19]=b,this.uint16[L+20]=_,this.uint16[L+21]=w,this.uint16[L+22]=T,this.uint32[C+12]=k,this.float32[C+13]=A,this.float32[C+14]=M,this.float32[C+15]=S,this.float32[C+16]=E,t},e}(Qi);ya.prototype.bytesPerElement=68,oi("StructArrayLayout8i15ui1ul4f68",ya);var ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Qi);ma.prototype.bytesPerElement=4,oi("StructArrayLayout1f4",ma);var xa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Qi);xa.prototype.bytesPerElement=6,oi("StructArrayLayout3i6",xa);var ba=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(Qi);ba.prototype.bytesPerElement=8,oi("StructArrayLayout1ul2ui8",ba);var _a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Qi);_a.prototype.bytesPerElement=4,oi("StructArrayLayout2ui4",_a);var wa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Qi);wa.prototype.bytesPerElement=2,oi("StructArrayLayout1ui2",wa);var Ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Qi);Ta.prototype.bytesPerElement=16,oi("StructArrayLayout4f16",Ta);var ka=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}($i);ka.prototype.size=20;var Aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ka(this,t)},e}(fa);oi("CollisionBoxArray",Aa);var Ma=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}($i);Ma.prototype.size=48;var Sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ma(this,t)},e}(ga);oi("PlacedSymbolArray",Sa);var Ea=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}($i);Ea.prototype.size=68;var La=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ea(this,t)},e}(ya);oi("SymbolInstanceArray",La);var Ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(ma);oi("GlyphOffsetArray",Ca);var Pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(xa);oi("SymbolLineVertexArray",Pa);var Oa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}($i);Oa.prototype.size=8;var Ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Oa(this,t)},e}(ba);oi("FeatureIndexArray",Ia);var za=ta([{name:"a_pos",components:2,type:"Int16"}],4).members,Da=function(t){void 0===t&&(t=[]),this.segments=t};function Ra(t,e){return 256*(t=f(Math.floor(t),0,255))+f(Math.floor(e),0,255)}Da.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>Da.MAX_VERTEX_ARRAY_LENGTH&&k("Max vertices per segment is "+Da.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!i||i.vertexLength+t>Da.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},Da.prototype.get=function(){return this.segments},Da.prototype.destroy=function(){for(var t=0,e=this.segments;t>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Na=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),ja=Ba,Ua=Ba,Va=Na;ja.murmur3=Ua,ja.murmur2=Va;var qa=function(){this.ids=[],this.positions=[],this.indexed=!1};qa.prototype.add=function(t,e,r,n){this.ids.push(Ga(t)),this.positions.push(e,r,n)},qa.prototype.getPositions=function(t){for(var e=Ga(t),r=0,n=this.ids.length-1;r>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},qa.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Wa(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},qa.deserialize=function(t){var e=new qa;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var Ha=Math.pow(2,53)-1;function Ga(t){var e=+t;return!isNaN(e)&&e<=Ha?e:ja(String(t))}function Wa(t,e,r,n){for(;r>1],a=r-1,o=n+1;;){do{a++}while(t[a]i);if(a>=o)break;Ya(t,a,o),Ya(e,3*a,3*o),Ya(e,3*a+1,3*o+1),Ya(e,3*a+2,3*o+2)}o-ro.x+1||lo.y+1)&&k("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function mo(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?yo(t):[]}}function xo(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var bo=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ra,this.indexArray=new va,this.segments=new Da,this.programConfigurations=new co(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function _o(t,e){for(var r=0;r1){if(Ao(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function Lo(t,e){for(var r,n,i,a=!1,o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Co(t,e){for(var r=!1,n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function Po(t,e,r){var n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;var a=A(t,e,r[0]);return a!==A(t,e,r[1])||a!==A(t,e,r[2])||a!==A(t,e,r[3])}function Oo(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Io(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function zo(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l=po||c<0||c>=po)){var f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),h=f.vertexLength;xo(this.layoutVertexArray,u,c,-1,-1),xo(this.layoutVertexArray,u,c,1,-1),xo(this.layoutVertexArray,u,c,1,1),xo(this.layoutVertexArray,u,c,-1,1),this.indexArray.emplaceBack(h,h+1,h+2),this.indexArray.emplaceBack(h,h+3,h+2),f.vertexLength+=4,f.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},oi("CircleBucket",bo,{omit:["layers"]});var Do=new Xi({"circle-sort-key":new Hi(Ft.layout_circle["circle-sort-key"])}),Ro={paint:new Xi({"circle-radius":new Hi(Ft.paint_circle["circle-radius"]),"circle-color":new Hi(Ft.paint_circle["circle-color"]),"circle-blur":new Hi(Ft.paint_circle["circle-blur"]),"circle-opacity":new Hi(Ft.paint_circle["circle-opacity"]),"circle-translate":new qi(Ft.paint_circle["circle-translate"]),"circle-translate-anchor":new qi(Ft.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new qi(Ft.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new qi(Ft.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new Hi(Ft.paint_circle["circle-stroke-width"]),"circle-stroke-color":new Hi(Ft.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new Hi(Ft.paint_circle["circle-stroke-opacity"])}),layout:Do},Fo="undefined"!=typeof Float32Array?Float32Array:Array;function Bo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function No(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var jo=No;var Uo,Vo=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};function qo(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}Uo=new Fo(3),Fo!=Float32Array&&(Uo[0]=0,Uo[1]=0,Uo[2]=0),function(){var t=new Fo(4);Fo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ho=function(t){var e=t[0],r=t[1];return e*e+r*r},Go=(function(){var t=new Fo(2);Fo!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,Ro)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new bo(t)},e.prototype.queryRadius=function(t){var e=t;return Oo("circle-radius",this,e)+Oo("circle-stroke-width",this,e)+Io(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=zo(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),u=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),c="map"===this.paint.get("circle-pitch-alignment"),f=c?l:function(t,e){return t.map((function(t){return Wo(t,e)}))}(l,s),h=c?u*o:u,p=0,d=n;pt.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l80*r){n=a=t[0],i=o=t[1];for(var d=r;da&&(a=s),l>o&&(o=l);u=0!==(u=Math.max(a-n,o-i))?1/u:0}return cs(h,p,r,n,i,u),p}function ls(t,e,r,n,i){var a,o;if(i===Os(t,e,r,n)>0)for(a=e;a=e;a-=n)o=Ls(a,t[a],t[a+1],o);return o&&Ts(o,o.next)&&(Cs(o),o=o.next),o}function us(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Ts(n,n.next)&&0!==ws(n.prev,n,n.next))n=n.next;else{if(Cs(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function cs(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=ms(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,u=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?hs(t,n,i,a):fs(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Cs(t),t=l.next,u=l.next;else if((t=l)===u){o?1===o?cs(t=ps(us(t),e,r),e,r,n,i,a,2):2===o&&ds(t,e,r,n,i,a):cs(us(t),e,r,n,i,a,1);break}}}function fs(t){var e=t.prev,r=t,n=t.next;if(ws(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(bs(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ws(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function hs(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ws(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=ms(s,l,e,r,n),h=ms(u,c,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=f&&d&&d.z<=h;){if(p!==t.prev&&p!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=f;){if(p!==t.prev&&p!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=h;){if(d!==t.prev&&d!==t.next&&bs(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function ps(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Ts(i,a)&&ks(i,n,n.next,a)&&Ss(i,a)&&Ss(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),Cs(n),Cs(n.next),n=t=a),n=n.next}while(n!==t);return us(n)}function ds(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&_s(o,s)){var l=Es(o,s);return o=us(o,o.next),l=us(l,l.next),cs(o,e,r,n,i,a),void cs(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function vs(t,e){return t.x-e.x}function gs(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=c&&i!==n.x&&bs(ar.x||n.x===r.x&&ys(r,n)))&&(r=n,h=l)),n=n.next}while(n!==u);return r}(t,e)){var r=Es(e,t);us(e,e.next),us(r,r.next)}}function ys(t,e){return ws(t.prev,t,e.prev)<0&&ws(e.next,t,t.next)<0}function ms(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function xs(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function _s(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&ks(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(Ss(t,e)&&Ss(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(ws(t.prev,t,e.prev)||ws(t,e.prev,e))||Ts(t,e)&&ws(t.prev,t,t.next)>0&&ws(e.prev,e,e.next)>0)}function ws(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ts(t,e){return t.x===e.x&&t.y===e.y}function ks(t,e,r,n){var i=Ms(ws(t,e,r)),a=Ms(ws(t,e,n)),o=Ms(ws(r,n,t)),s=Ms(ws(r,n,e));return i!==a&&o!==s||!(0!==i||!As(t,r,e))||!(0!==a||!As(t,n,e))||!(0!==o||!As(r,t,n))||!(0!==s||!As(r,e,n))}function As(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Ms(t){return t>0?1:t<0?-1:0}function Ss(t,e){return ws(t.prev,t,t.next)<0?ws(t,e,t.next)>=0&&ws(t,t.prev,e)>=0:ws(t,e,t.prev)<0||ws(t,t.next,e)<0}function Es(t,e){var r=new Ps(t.i,t.x,t.y),n=new Ps(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Ls(t,e,r,n){var i=new Ps(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Cs(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Ps(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Os(t,e,r,n){for(var i=0,a=e,o=r-n;ar;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),u=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);zs(t,e,Math.max(r,Math.floor(e-o*l/a+u)),Math.min(n,Math.floor(e+(a-o)*l/a+u)),i)}var c=t[e],f=r,h=n;for(Ds(t,r,e),i(t[n],c)>0&&Ds(t,r,n);f0;)h--}0===i(t[r],c)?Ds(t,r,h):Ds(t,++h,n),h<=e&&(r=h+1),e<=h&&(n=h-1)}}function Ds(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Rs(t,e){return te?1:0}function Fs(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=t[i-1].length,r.holes.push(n))}return r},as.default=os;var Us=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ra,this.indexArray=new va,this.indexArray2=new _a,this.programConfigurations=new co(t.layers,t.zoom),this.segments=new Da,this.segments2=new Da,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Us.prototype.populate=function(t,e,r){this.hasPattern=Ns("fill",this.layers,e);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0,o=t;a>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Ys.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,u=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())u&&(u=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,u]},Ys.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),u=Ys.types[this.type];function c(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Qs(t,e,r){if(3===t){var n=new Ks(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Js.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Ws(this._pbf,e,this.extent,this._keys,this._values)};var tl={VectorTile:function(t,e){this.layers=t.readFields(Qs,{},e)},VectorTileFeature:Ws,VectorTileLayer:Ks},el=tl.VectorTileFeature.types,rl=Math.pow(2,13);function nl(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*rl)+o,i*rl*2,a*rl*2,Math.round(s))}var il=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ia,this.indexArray=new va,this.programConfigurations=new co(t.layers,t.zoom),this.segments=new Da,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function al(t,e){return t.x===e.x&&(t.x<0||t.x>po)||t.y===e.y&&(t.y<0||t.y>po)}il.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=Ns("fill-extrusion",this.layers,e);for(var n=0,i=t;npo}))||O.every((function(t){return t.y<0}))||O.every((function(t){return t.y>po}))))for(var v=0,g=0;g=1){var m=d[g-1];if(!al(y,m)){f.vertexLength+4>Da.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=y.sub(m)._perp()._unit(),b=m.dist(y);v+b>32768&&(v=0),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,v),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,v),v+=b,nl(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,0,v),nl(this.layoutVertexArray,m.x,m.y,x.x,x.y,0,1,v);var _=f.vertexLength;this.indexArray.emplaceBack(_,_+2,_+1),this.indexArray.emplaceBack(_+1,_+2,_+3),f.vertexLength+=4,f.primitiveLength+=2}}}}if(f.vertexLength+l>Da.MAX_VERTEX_ARRAY_LENGTH&&(f=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===el[t.type]){for(var w=[],T=[],k=f.vertexLength,A=0,M=s;A=2&&t[l-1].equals(t[l-2]);)l--;for(var u=0;u0;if(T&&y>u){var A=c.dist(p);if(A>2*f){var M=c.sub(c.sub(p)._mult(f/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,v,0,0,h),p=M}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(_i&&(E="bevel"),"bevel"===E&&(_>2&&(E="flipbevel"),_100)m=g.mult(-1);else{var L=_*v.add(g).mag()/v.sub(g).mag();m._perp()._mult(L*(k?-1:1))}this.addCurrentVertex(c,m,0,0,h),this.addCurrentVertex(c,m.mult(-1),0,0,h)}else if("bevel"===E||"fakeround"===E){var C=-Math.sqrt(_*_-1),P=k?C:0,O=k?0:C;if(p&&this.addCurrentVertex(c,v,P,O,h),"fakeround"===E)for(var I=Math.round(180*w/Math.PI/20),z=1;z2*f){var j=c.add(d.sub(c)._mult(f/N)._round());this.updateDistance(c,j),this.addCurrentVertex(j,g,0,0,h),c=j}}}}},vl.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,u=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,u,a,!0,-n,i),this.distance>dl/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},vl.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,u=.5*(this.lineClips?this.scaledDistance*(dl-1):this.scaledDistance);if(this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&u)<<2,u>>6),this.lineClips){var c=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(c,this.lineClipsArray.length)}var f=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,f),o.primitiveLength++),i?this.e2=f:this.e1=f},vl.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},vl.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},oi("LineBucket",vl,{omit:["layers","patternFeatures"]});var gl=new Xi({"line-cap":new qi(Ft.layout_line["line-cap"]),"line-join":new Hi(Ft.layout_line["line-join"]),"line-miter-limit":new qi(Ft.layout_line["line-miter-limit"]),"line-round-limit":new qi(Ft.layout_line["line-round-limit"]),"line-sort-key":new Hi(Ft.layout_line["line-sort-key"])}),yl={paint:new Xi({"line-opacity":new Hi(Ft.paint_line["line-opacity"]),"line-color":new Hi(Ft.paint_line["line-color"]),"line-translate":new qi(Ft.paint_line["line-translate"]),"line-translate-anchor":new qi(Ft.paint_line["line-translate-anchor"]),"line-width":new Hi(Ft.paint_line["line-width"]),"line-gap-width":new Hi(Ft.paint_line["line-gap-width"]),"line-offset":new Hi(Ft.paint_line["line-offset"]),"line-blur":new Hi(Ft.paint_line["line-blur"]),"line-dasharray":new Wi(Ft.paint_line["line-dasharray"]),"line-pattern":new Gi(Ft.paint_line["line-pattern"]),"line-gradient":new Yi(Ft.paint_line["line-gradient"])}),layout:gl},ml=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new zi(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Hi),xl=new ml(yl.paint.properties["line-width"].specification);xl.useIntegerZoom=!0;var bl=function(t){function e(e){t.call(this,e,yl),this.gradientVersion=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){if("line-gradient"===t){var e=this._transitionablePaint._values["line-gradient"].value.expression;this.stepInterpolant=e._styleExpression.expression instanceof tr,this.gradientVersion=(this.gradientVersion+1)%l}},e.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values["line-floorwidth"]=xl.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new vl(t)},e.prototype.queryRadius=function(t){var e=t,r=_l(Oo("line-width",this,e),Oo("line-gap-width",this,e)),n=Oo("line-offset",this,e);return r/2+Math.abs(n)+Io(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=zo(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),u=s/2*_l(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),c=this.paint.get("line-offset").evaluate(e,r);return c&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i=3)for(var a=0;a0?e+2*t:t}var wl=ta([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Tl=ta([{name:"a_projected_pos",components:3,type:"Float32"}],4),kl=(ta([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),ta([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),Al=(ta([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]),ta([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),Ml=ta([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function Sl(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),Ii.applyArabicShaping&&(t=Ii.applyArabicShaping(t)),t}(t.text,e,r)})),t}ta([{name:"triangle",components:3,type:"Uint16"}]),ta([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),ta([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),ta([{type:"Float32",name:"offsetX"}]),ta([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var El={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var Ll=24,Cl=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},Pl=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v},Ol=Il;function Il(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}Il.Varint=0,Il.Fixed64=1,Il.Bytes=2,Il.Fixed32=5;var zl=4294967296,Dl=1/zl,Rl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function Fl(t){return t.type===Il.Bytes?t.readVarint()+t.pos:t.pos+1}function Bl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Nl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function jl(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Jl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}Il.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Zl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Jl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Zl(this.buf,this.pos)+Zl(this.buf,this.pos+4)*zl;return this.pos+=8,t},readSFixed64:function(){var t=Zl(this.buf,this.pos)+Jl(this.buf,this.pos+4)*zl;return this.pos+=8,t},readFloat:function(){var t=Cl(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Cl(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Bl(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Bl(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Rl?function(t,e,r){return Rl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(a=t[i+1]))&&(u=(31&l)<<6|63&a)<=127&&(u=null):3===c?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((u=(15&l)<<12|(63&a)<<6|63&o)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((u=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==Il.Bytes)return t.push(this.readVarint(e));var r=Fl(this);for(t=t||[];this.pos127;);else if(e===Il.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Il.Fixed32)this.pos+=4;else{if(e!==Il.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Nl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Pl(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Pl(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&Nl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,Il.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,jl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ul,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Hl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Vl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,ql,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Gl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Wl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Yl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Xl,e)},writeBytesField:function(t,e){this.writeTag(t,Il.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,Il.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,Il.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,Il.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,Il.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,Il.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,Il.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,Il.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,Il.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,Il.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var $l=3;function Ql(t,e,r){1===t&&r.readMessage(tu,e)}function tu(t,e,r){if(3===t){var n=r.readMessage(eu,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,u=n.top,c=n.advance;e.push({id:i,bitmap:new Jo({width:o+2*$l,height:s+2*$l},a),metrics:{width:o,height:s,left:l,top:u,advance:c}})}}function eu(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var ru=$l;function nu(t){for(var e=0,r=0,n=0,i=t;n=0;h--){var p=o[h];if(!(f.w>p.w||f.h>p.h)){if(f.x=p.x,f.y=p.y,l=Math.max(l,f.y+f.h),s=Math.max(s,f.x+f.w),f.w===p.w&&f.h===p.h){var d=o.pop();h0&&B>A&&(A=B)}else{var N=r[S.fontStack],j=N&&N[L];if(j&&j.rect)O=j.rect,P=j.metrics;else{var U=e[S.fontStack],V=U&&U[L];if(!V)continue;P=V.metrics}C=(_-S.scale)*Ll}D?(t.verticalizable=!0,k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:O}),h+=z*S.scale+u):(k.push({glyph:L,imageName:I,x:h,y:p+C,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:P,rect:O}),h+=P.advance*S.scale+u)}if(0!==k.length){var q=h-u;d=Math.max(q,d),wu(k,0,k.length-1,g,A)}h=0;var H=a*_+A;T.lineOffset=Math.max(A,w),p+=H,v=Math.max(H,v),++y}else p+=a,++y}var G=p-uu,W=_u(o),Y=W.horizontalAlign,X=W.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var u=(e-r)*i,c=0;c=a!==o?-s*n-uu:(-n*l+.5)*o;for(var f=0,h=t;f=0&&n>=t&&pu[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},fu.prototype.substring=function(t,e){var r=new fu;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},fu.prototype.toString=function(){return this.text},fu.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},fu.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(cu.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var pu={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},du={};function vu(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*Ll/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function gu(t,e,r,n){var i=Math.pow(t-e,2);return n?t=0,c=0,f=0;f-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],u=0;sn;)u-=l.shift().angleDelta;if(u>i)return!1;o++,s+=f.dist(h)}return!0}function Pu(t){for(var e=0,r=0;ru){var d=(u-l)/p,v=er(f.x,h.x,d),g=er(f.y,h.y,d),y=new ku(v,g,h.angleTo(f),c);return y._round(),!o||Cu(t,y,s,o,e)?y:void 0}l+=p}}function Du(t,e,r,n,i,a,o,s,l){var u=Ou(n,a,o),c=Iu(n,i),f=c*o,h=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-f=0&&b=0&&_=0&&h+u<=c){var w=new ku(b,_,m,d);w._round(),n&&!Cu(t,w,a,n,i)||p.push(w)}}f+=y}return s||p.length||o||(p=Ru(t,f/2,r,n,i,a,o,!0,l)),p}function Fu(t,e,r,n,i){for(var o=[],s=0;s=n&&h.x>=n||(f.x>=n?f=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round():h.x>=n&&(h=new a(n,f.y+(h.y-f.y)*((n-f.x)/(h.x-f.x)))._round()),f.y>=i&&h.y>=i||(f.y>=i?f=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round():h.y>=i&&(h=new a(f.x+(h.x-f.x)*((i-f.y)/(h.y-f.y)),i)._round()),u&&f.equals(u[u.length-1])||(u=[f],o.push(u)),u.push(h)))))}return o}var Bu=iu;function Nu(t,e,r,n){var i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2*Bu,u=o.paddedRect.h-2*Bu,c=t.right-t.left,f=t.bottom-t.top,h=o.stretchX||[[0,l]],p=o.stretchY||[[0,u]],d=function(t,e){return t+e[1]-e[0]},v=h.reduce(d,0),g=p.reduce(d,0),y=l-v,m=u-g,x=0,b=v,_=0,w=g,T=0,k=y,A=0,M=m;if(o.content&&n){var S=o.content;x=ju(h,0,S[0]),_=ju(p,0,S[1]),b=ju(h,S[0],S[2]),w=ju(p,S[1],S[3]),T=S[0]-x,A=S[1]-_,k=S[2]-S[0]-b,M=S[3]-S[1]-w}var E=function(n,i,l,u){var h=Vu(n.stretch-x,b,c,t.left),p=qu(n.fixed-T,k,n.stretch,v),d=Vu(i.stretch-_,w,f,t.top),y=qu(i.fixed-A,M,i.stretch,g),m=Vu(l.stretch-x,b,c,t.left),S=qu(l.fixed-T,k,l.stretch,v),E=Vu(u.stretch-_,w,f,t.top),L=qu(u.fixed-A,M,u.stretch,g),C=new a(h,d),P=new a(m,d),O=new a(m,E),I=new a(h,E),z=new a(p/s,y/s),D=new a(S/s,L/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];C._matMult(N),P._matMult(N),I._matMult(N),O._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,q=u.stretch+u.fixed;return{tl:C,tr:P,bl:I,br:O,tex:{x:o.paddedRect.x+Bu+j,y:o.paddedRect.y+Bu+V,w:U-j,h:q-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:z,pixelOffsetBR:D,minFontScaleX:k/s/c,minFontScaleY:M/s/f,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var L=Uu(h,y,v),C=Uu(p,m,g),P=0;P0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var v=o.top*s-l,g=o.bottom*s+l,y=o.left*s-l,m=o.right*s+l,x=o.collisionPadding;if(x&&(y-=x[0]*s,v-=x[1]*s,m+=x[2]*s,g+=x[3]*s),c){var b=new a(y,v),_=new a(m,v),w=new a(y,g),T=new a(m,g),k=c*Math.PI/180;b._rotate(k),_._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(b.x,_.x,w.x,T.x),m=Math.max(b.x,_.x,w.x,T.x),v=Math.min(b.y,_.y,w.y,T.y),g=Math.max(b.y,_.y,w.y,T.y)}t.emplaceBack(e.x,e.y,y,v,m,g,r,n,i)}this.boxEndIndex=t.length},Gu=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Wu),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Wu(t,e){return te?1:0}function Yu(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],u=0;uo)&&(o=c.x),(!u||c.y>s)&&(s=c.y)}var f=o-n,h=s-i,p=Math.min(f,h),d=p/2,v=new Gu([],Xu);if(0===p)return new a(n,i);for(var g=n;gm.d||!m.d)&&(m=b,r&&console.log("found best %d after %d probes",Math.round(1e4*b.d)/1e4,x)),b.max-m.d<=e||(d=b.h/2,v.push(new Zu(b.p.x-d,b.p.y-d,d,t)),v.push(new Zu(b.p.x+d,b.p.y-d,d,t)),v.push(new Zu(b.p.x-d,b.p.y+d,d,t)),v.push(new Zu(b.p.x+d,b.p.y+d,d,t)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+m.d)),m.p}function Xu(t,e){return e.max-t.max}function Zu(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=c.y>t.y&&t.x<(c.x-u.x)*(t.y-u.y)/(c.y-u.y)+u.x&&(r=!r),n=Math.min(n,Eo(t,u,c))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Gu.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Gu.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Gu.prototype.peek=function(){return this.data[0]},Gu.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},Gu.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t=0)break;e[t]=o,t=a}e[t]=i};var Ku=7,Ju=Number.POSITIVE_INFINITY;function $u(t,e){return e[1]!==Ju?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-Ku;break;case"bottom-right":case"bottom-left":case"bottom":i=-r+Ku}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=i-Ku;break;case"bottom-right":case"bottom-left":n=-i+Ku;break;case"bottom":n=-e+Ku;break;case"top":n=e-Ku}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function Qu(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var tc=255,ec=tc*Au;function rc(t,e,r,n,i,o,s,l,u,c,f,h,p,d,v){var g=function(t,e,r,n,i,o,s,l){for(var u=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,c=[],f=0,h=e.positionedLines;fec&&k(t.layerIds[0]+': Value for "text-size" is >= '+tc+'. Reduce your "text-size".'):"composite"===y.kind&&((m=[Au*d.compositeTextSizes[0].evaluate(s,{},v),Au*d.compositeTextSizes[1].evaluate(s,{},v)])[0]>ec||m[1]>ec)&&k(t.layerIds[0]+': Value for "text-size" is >= '+tc+'. Reduce your "text-size".'),t.addSymbols(t.text,g,m,l,o,s,c,e,u.lineStartIndex,u.lineLength,p,v);for(var x=0,b=f;x=0;o--)if(n.dist(a[o])0)&&("constant"!==a.value.kind||a.value.value.length>0),u="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,c=i.get("symbol-sort-key");if(this.features=[],l||u){for(var f=e.iconDependencies,h=e.glyphDependencies,p=e.availableImages,d=new zi(this.zoom),v=0,g=t;v=0;for(var I=0,z=k.sections;I=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l0},hc.prototype.hasIconData=function(){return this.icon.segments.get().length>0},hc.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},hc.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},hc.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},hc.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},oi("SymbolBucket",hc,{omit:["layers","collisionBoxArray","features","compareText"]}),hc.MAX_GLYPHS=65535,hc.addDynamicAttributes=lc;var pc=new Xi({"symbol-placement":new qi(Ft.layout_symbol["symbol-placement"]),"symbol-spacing":new qi(Ft.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new qi(Ft.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Hi(Ft.layout_symbol["symbol-sort-key"]),"symbol-z-order":new qi(Ft.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new qi(Ft.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new qi(Ft.layout_symbol["icon-ignore-placement"]),"icon-optional":new qi(Ft.layout_symbol["icon-optional"]),"icon-rotation-alignment":new qi(Ft.layout_symbol["icon-rotation-alignment"]),"icon-size":new Hi(Ft.layout_symbol["icon-size"]),"icon-text-fit":new qi(Ft.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new qi(Ft.layout_symbol["icon-text-fit-padding"]),"icon-image":new Hi(Ft.layout_symbol["icon-image"]),"icon-rotate":new Hi(Ft.layout_symbol["icon-rotate"]),"icon-padding":new qi(Ft.layout_symbol["icon-padding"]),"icon-keep-upright":new qi(Ft.layout_symbol["icon-keep-upright"]),"icon-offset":new Hi(Ft.layout_symbol["icon-offset"]),"icon-anchor":new Hi(Ft.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new qi(Ft.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new qi(Ft.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new qi(Ft.layout_symbol["text-rotation-alignment"]),"text-field":new Hi(Ft.layout_symbol["text-field"]),"text-font":new Hi(Ft.layout_symbol["text-font"]),"text-size":new Hi(Ft.layout_symbol["text-size"]),"text-max-width":new Hi(Ft.layout_symbol["text-max-width"]),"text-line-height":new qi(Ft.layout_symbol["text-line-height"]),"text-letter-spacing":new Hi(Ft.layout_symbol["text-letter-spacing"]),"text-justify":new Hi(Ft.layout_symbol["text-justify"]),"text-radial-offset":new Hi(Ft.layout_symbol["text-radial-offset"]),"text-variable-anchor":new qi(Ft.layout_symbol["text-variable-anchor"]),"text-anchor":new Hi(Ft.layout_symbol["text-anchor"]),"text-max-angle":new qi(Ft.layout_symbol["text-max-angle"]),"text-writing-mode":new qi(Ft.layout_symbol["text-writing-mode"]),"text-rotate":new Hi(Ft.layout_symbol["text-rotate"]),"text-padding":new qi(Ft.layout_symbol["text-padding"]),"text-keep-upright":new qi(Ft.layout_symbol["text-keep-upright"]),"text-transform":new Hi(Ft.layout_symbol["text-transform"]),"text-offset":new Hi(Ft.layout_symbol["text-offset"]),"text-allow-overlap":new qi(Ft.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new qi(Ft.layout_symbol["text-ignore-placement"]),"text-optional":new qi(Ft.layout_symbol["text-optional"])}),dc={paint:new Xi({"icon-opacity":new Hi(Ft.paint_symbol["icon-opacity"]),"icon-color":new Hi(Ft.paint_symbol["icon-color"]),"icon-halo-color":new Hi(Ft.paint_symbol["icon-halo-color"]),"icon-halo-width":new Hi(Ft.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Hi(Ft.paint_symbol["icon-halo-blur"]),"icon-translate":new qi(Ft.paint_symbol["icon-translate"]),"icon-translate-anchor":new qi(Ft.paint_symbol["icon-translate-anchor"]),"text-opacity":new Hi(Ft.paint_symbol["text-opacity"]),"text-color":new Hi(Ft.paint_symbol["text-color"],{runtimeType:Zt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new Hi(Ft.paint_symbol["text-halo-color"]),"text-halo-width":new Hi(Ft.paint_symbol["text-halo-width"]),"text-halo-blur":new Hi(Ft.paint_symbol["text-halo-blur"]),"text-translate":new qi(Ft.paint_symbol["text-translate"]),"text-translate-anchor":new qi(Ft.paint_symbol["text-translate-anchor"])}),layout:pc},vc=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Gt,this.defaultValue=t};vc.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},vc.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},vc.prototype.outputDefined=function(){return!1},vc.prototype.serialize=function(){return null},oi("FormatSectionOverride",vc,{omit:["defaultValue"]});var gc=function(t){function e(e){t.call(this,e,dc)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a",targetMapId:n,sourceMapId:a.mapId})}}},Cc.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else S()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},Cc.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},Cc.prototype.processTask=function(t,e){var r=this;if(""===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(fi(e.error)):n(null,fi(e.data)))}else{var i=!1,a=C(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:"",sourceMapId:r.mapId,error:e?ci(e):null,data:ci(n,a)},a)}:function(t){i=!0},s=null,l=fi(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var u=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,u[0],l.source)[u[1]](l,o)}else o(new Error("Could not find function "+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},Cc.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var Oc=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Oc.prototype.setNorthEast=function(t){return this._ne=t instanceof zc?new zc(t.lng,t.lat):zc.convert(t),this},Oc.prototype.setSouthWest=function(t){return this._sw=t instanceof zc?new zc(t.lng,t.lat):zc.convert(t),this},Oc.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof zc)e=t,r=t;else{if(!(t instanceof Oc)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(Oc.convert(a))}var o=t;return this.extend(zc.convert(o))}return this}if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new zc(e.lng,e.lat),this._ne=new zc(r.lng,r.lat)),this},Oc.prototype.getCenter=function(){return new zc((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Oc.prototype.getSouthWest=function(){return this._sw},Oc.prototype.getNorthEast=function(){return this._ne},Oc.prototype.getNorthWest=function(){return new zc(this.getWest(),this.getNorth())},Oc.prototype.getSouthEast=function(){return new zc(this.getEast(),this.getSouth())},Oc.prototype.getWest=function(){return this._sw.lng},Oc.prototype.getSouth=function(){return this._sw.lat},Oc.prototype.getEast=function(){return this._ne.lng},Oc.prototype.getNorth=function(){return this._ne.lat},Oc.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Oc.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Oc.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Oc.prototype.contains=function(t){var e=zc.convert(t),r=e.lng,n=e.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},Oc.convert=function(t){return!t||t instanceof Oc?t:new Oc(t)};var Ic=6371008.8,zc=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};zc.prototype.wrap=function(){return new zc(h(this.lng,-180,180),this.lat)},zc.prototype.toArray=function(){return[this.lng,this.lat]},zc.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},zc.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Ic*Math.acos(Math.min(i,1))},zc.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Oc(new zc(this.lng-r,this.lat-e),new zc(this.lng+r,this.lat+e))},zc.convert=function(t){if(t instanceof zc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new zc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new zc(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var Dc=2*Math.PI*Ic;function Rc(t){return Dc*Math.cos(t*Math.PI/180)}function Fc(t){return(180+t)/360}function Bc(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Nc(t,e){return t/Rc(e)}function jc(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Uc=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Uc.fromLngLat=function(t,e){void 0===e&&(e=0);var r=zc.convert(t);return new Uc(Fc(r.lng),Bc(r.lat),Nc(e,r.lat))},Uc.prototype.toLngLat=function(){return new zc(360*this.x-180,jc(this.y))},Uc.prototype.toAltitude=function(){return t=this.z,e=this.y,t*Rc(jc(e));var t,e},Uc.prototype.meterInMercatorCoordinateUnits=function(){return 1/Dc*(t=jc(this.y),1/Math.cos(t*Math.PI/180));var t};var Vc=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Gc(0,t,t,e,r)};Vc.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Vc.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=Pc(256*r,256*(n=Math.pow(2,i)-n-1),i),o=Pc(256*(r+1),256*(n+1),i),a[0]+","+a[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<this.canonical.z?new Hc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Hc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Hc.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Gc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Gc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Hc.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},Hc.prototype.children=function(t){if(this.overscaledZ>=t)return[new Hc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Hc(e,this.wrap,e,r,n),new Hc(e,this.wrap,e,r+1,n),new Hc(e,this.wrap,e,r,n+1),new Hc(e,this.wrap,e,r+1,n+1)]},Hc.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Wc.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Wc.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Wc.prototype.getPixels=function(){return new $o({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Wc.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,u=a;u=0&&c[3]>=0&&s.insert(o,c[0],c[1],c[2],c[3])}},Jc.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new tl.VectorTile(new Ol(this.rawTileData)).layers,this.sourceLayerCoder=new Yc(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Jc.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var o=t.params||{},s=po/t.tileSize/t.scale,l=An(o.filter),u=t.queryGeometry,c=t.queryPadding*s,f=Qc(u),h=this.grid.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c),p=Qc(t.cameraQueryGeometry),d=0,v=this.grid3D.query(p.minX-c,p.minY-c,p.maxX+c,p.maxY+c,(function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o=l.x&&i>=l.y)return!0}var u=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var c=0,f=u;c=0)return!0;return!1}(a,f)){var h=this.sourceLayerCoder.decode(r),d=this.vtLayers[h].feature(n);if(i.needGeometry){var v=mo(d,!0);if(!i.filter(new zi(this.tileID.overscaledZ),v,this.tileID.canonical))return}else if(!i.filter(new zi(this.tileID.overscaledZ),d))return;for(var g=this.getId(d,h),y=0;yn)i=!1;else if(e)if(this.expirationTimeht&&(t.getActor().send("enforceCacheSizeLimit",ft),xt=0)},t.clamp=f,t.clearTileCache=function(t){var e=s.caches.delete(ct);t&&e.catch(t).then((function(){return t()}))},t.clipLine=Fu,t.clone=function(t){var e=new Fo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=w,t.clone$2=function(t){var e=new Fo(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Ml,t.config=j,t.create=function(){var t=new Fo(16);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new Fo(9);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new Fo(4);return Fo!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=fn,t.createLayout=ta,t.createStyleLayer=function(t){return"custom"===t.type?new _c(t):new wc[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=er,t.offscreenCanvasSupported=bt,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t},t.parseGlyphPBF=function(t){return new Ol(t).readFields(Ql,[])},t.pbf=Ol,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=po/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,u=t.layers[0]._unevaluatedLayout._values,c={};if("composite"===t.textSizeData.kind){var f=t.textSizeData,h=f.minZoom,p=f.maxZoom;c.compositeTextSizes=[u["text-size"].possiblyEvaluate(new zi(h),o),u["text-size"].possiblyEvaluate(new zi(p),o)]}if("composite"===t.iconSizeData.kind){var d=t.iconSizeData,v=d.minZoom,g=d.maxZoom;c.compositeIconSizes=[u["icon-size"].possiblyEvaluate(new zi(v),o),u["icon-size"].possiblyEvaluate(new zi(g),o)]}c.layoutTextSize=u["text-size"].possiblyEvaluate(new zi(t.zoom+1),o),c.layoutIconSize=u["icon-size"].possiblyEvaluate(new zi(t.zoom+1),o),c.textMaxSize=u["text-size"].possiblyEvaluate(new zi(18));for(var y=l.get("text-line-height")*Ll,m="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),b=l.get("text-size"),_=function(){var a=T[w],s=l.get("text-font").evaluate(a,{},o).join(","),u=b.evaluate(a,{},o),f=c.layoutTextSize.evaluate(a,{},o),h=c.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,v=[0,0];if(d){var g=d.toString(),_=l.get("text-letter-spacing").evaluate(a,{},o)*Ll,A=function(t){for(var e=0,r=t;e=po||f.y<0||f.y>=po||function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,A){var M,S,E,L,C,P=t.addToLineVertexArray(e,r),O=0,I=0,z=0,D=0,R=-1,F=-1,B={},N=ja(""),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(j=(M=s.layout.get("text-offset").evaluate(b,{},T).map((function(t){return t*Ll})))[0],U=M[1]):(j=s.layout.get("text-radial-offset").evaluate(b,{},T)*Ll,U=Ju),t.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(b,{},T)+90,q=n.vertical;L=new Hu(l,e,u,c,f,q,h,p,d,V),o&&(C=new Hu(l,e,u,c,f,o,g,y,d,V))}if(i){var H=s.layout.get("icon-rotate").evaluate(b,{}),G="none"!==s.layout.get("icon-text-fit"),W=Nu(i,H,w,G),Y=o?Nu(o,H,w,G):void 0;E=new Hu(l,e,u,c,f,i,g,y,!1,H),O=4*W.length;var X=t.iconSizeData,Z=null;"source"===X.kind?(Z=[Au*s.layout.get("icon-size").evaluate(b,{})])[0]>ec&&k(t.layerIds[0]+': Value for "icon-size" is >= '+tc+'. Reduce your "icon-size".'):"composite"===X.kind&&((Z=[Au*_.compositeIconSizes[0].evaluate(b,{},T),Au*_.compositeIconSizes[1].evaluate(b,{},T)])[0]>ec||Z[1]>ec)&&k(t.layerIds[0]+': Value for "icon-size" is >= '+tc+'. Reduce your "icon-size".'),t.addSymbols(t.icon,W,Z,x,m,b,!1,e,P.lineStartIndex,P.lineLength,-1,T),R=t.icon.placedSymbolArray.length-1,Y&&(I=4*Y.length,t.addSymbols(t.icon,Y,Z,x,m,b,lu.vertical,e,P.lineStartIndex,P.lineLength,-1,T),F=t.icon.placedSymbolArray.length-1)}for(var K in n.horizontal){var J=n.horizontal[K];if(!S){N=ja(J.text);var $=s.layout.get("text-rotate").evaluate(b,{},T);S=new Hu(l,e,u,c,f,J,h,p,d,$)}var Q=1===J.positionedLines.length;if(z+=rc(t,e,J,a,s,d,b,v,P,n.vertical?lu.horizontal:lu.horizontalOnly,Q?Object.keys(n.horizontal):[K],B,R,_,T),Q)break}n.vertical&&(D+=rc(t,e,n.vertical,a,s,d,b,v,P,lu.vertical,["vertical"],B,F,_,T));var tt=S?S.boxStartIndex:t.collisionBoxArray.length,et=S?S.boxEndIndex:t.collisionBoxArray.length,rt=L?L.boxStartIndex:t.collisionBoxArray.length,nt=L?L.boxEndIndex:t.collisionBoxArray.length,it=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,ot=C?C.boxStartIndex:t.collisionBoxArray.length,st=C?C.boxEndIndex:t.collisionBoxArray.length,lt=-1,ut=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ut(S,lt),lt=ut(L,lt),lt=ut(E,lt);var ct=(lt=ut(C,lt))>-1?1:0;ct&&(lt*=A/Ll),t.glyphOffsetArray.length>=hc.MAX_GLYPHS&&k("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,b.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,tt,et,rt,nt,it,at,ot,st,u,z,D,O,I,ct,0,h,j,U,lt)}(t,f,s,r,n,i,h,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,m,w,M,l,b,T,S,d,e,a,u,c,o)};if("line"===E)for(var O=0,I=Fu(e.geometry,0,0,po,po);O1){var U=zu(j,A,r.vertical||v,n,g,x);U&&P(j,U)}}else if("Polygon"===e.type)for(var V=0,q=Fs(e.geometry,0);V=E.maxzoom||"none"!==E.visibility&&(o(S,this.zoom,n),(v[E.id]=E.createBucket({index:c.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:b,sourceID:this.source})).populate(_,g,this.tileID.canonical),c.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var L=t.mapObject(g.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(L).length?a.send("getGlyphs",{uid:this.uid,stacks:L},(function(t,e){f||(f=t,h=e,O.call(l))})):h={};var C=Object.keys(g.iconDependencies);C.length?a.send("getImages",{icons:C,source:this.source,tileID:this.tileID,type:"icons"},(function(t,e){f||(f=t,p=e,O.call(l))})):p={};var P=Object.keys(g.patternDependencies);function O(){if(f)return s(f);if(h&&p&&d){var e=new i(h),r=new t.ImageAtlas(p,d);for(var a in v){var l=v[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,h,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:t.values(v).filter((function(t){return!t.isEmpty()})),featureIndex:c,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?h:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}P.length?a.send("getImages",{icons:P,source:this.source,tileID:this.tileID,type:"patterns"},(function(t,e){f||(f=t,d=e,O.call(l))})):d={},O.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status="done",n.loaded[i]=s,r(e);var l=a.rawData,u={};a.expires&&(u.expires=a.expires),a.cacheControl&&(u.cacheControl=a.cacheControl);var c={};if(o){var f=o.finish();f&&(c.resourceTiming=JSON.parse(JSON.stringify(f)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,u,c))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var u=t.window.ImageBitmap,c=function(){this.loaded={}};c.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=u&&a instanceof u?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},c.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},c.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var f=function t(e,r){var n,i=e&&e.type;if("FeatureCollection"===i)for(n=0;n=0!=!!e&&t.reverse()}var d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,v=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};v.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function P(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s>1;z(t,e,o,n,i,a%2),I(t,e,r,n,o-1,a+1),I(t,e,r,o+1,i,a+1)}}function z(t,e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(o-u)/o)*(s-o/2<0?-1:1);z(t,e,r,Math.max(n,Math.floor(r-s*u/o+c)),Math.min(i,Math.floor(r+(o-s)*u/o+c)),a)}var f=e[2*r+a],h=n,p=i;for(D(t,e,n,r),e[2*i+a]>f&&D(t,e,n,i);hf;)p--}e[2*n+a]===f?D(t,e,n,p):D(t,e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function D(t,e,r,n){R(t,r,n),R(e,2*r,2*n),R(e,2*r+1,2*n+1)}function R(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function F(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}_.fromVectorTileJs=w,_.fromGeojsonVt=T,_.GeoJSONWrapper=k;var B=function(t){return t[0]},N=function(t){return t[1]},j=function(t,e,r,n,i){void 0===e&&(e=B),void 0===r&&(r=N),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&c.push(t[d]);else{var v=Math.floor((p+h)/2);s=e[2*v],l=e[2*v+1],s>=r&&s<=i&&l>=n&&l<=a&&c.push(t[v]);var g=(f+1)%2;(0===f?r<=s:n<=l)&&(u.push(p),u.push(v-1),u.push(g)),(0===f?i>=s:a>=l)&&(u.push(v+1),u.push(h),u.push(g))}}return c}(this.ids,this.coords,t,e,r,n,this.nodeSize)},j.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var u=o.pop(),c=o.pop(),f=o.pop();if(c-f<=a)for(var h=f;h<=c;h++)F(e[2*h],e[2*h+1],r,n)<=l&&s.push(t[h]);else{var p=Math.floor((f+c)/2),d=e[2*p],v=e[2*p+1];F(d,v,r,n)<=l&&s.push(t[p]);var g=(u+1)%2;(0===u?r-i<=d:n-i<=v)&&(o.push(f),o.push(p-1),o.push(g)),(0===u?r+i>=d:n+i>=v)&&(o.push(p+1),o.push(c),o.push(g))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var U={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},V=function(t){this.options=Z(Object.create(U),t),this.trees=new Array(this.options.maxZoom+1)};function q(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function H(t,e){var r=t.geometry.coordinates,n=r[0],i=r[1];return{x:Y(n),y:X(i),zoom:1/0,index:e,parentId:-1}}function G(t){return{type:"Feature",id:t.id,properties:W(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function W(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return Z(Z({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function Y(t){return t/360+.5}function X(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function Z(t,e){for(var r in e)t[r]=e[r];return t}function K(t){return t.x}function J(t){return t.y}function $(t,e,r,n){for(var i,a=n,o=r-e>>1,s=r-e,l=t[e],u=t[e+1],c=t[r],f=t[r+1],h=e+3;ha)i=h,a=p;else if(p===a){var d=Math.abs(h-o);dn&&(i-e>3&&$(t,e,i,n),t[i+2]=a,r-i>3&&$(t,i,r,n))}function Q(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function tt(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)et(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(o+=n?(i*u-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(u-a,2))),i=l,a=u}var c=e.length-3;e[2]=1,$(e,0,c,r),e[c+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function at(t,e,r,n){for(var i=0;i1?1:r}function lt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;for(var l=[],u=0;u=r&&d=n)){var v=[];if("Point"===h||"MultiPoint"===h)ut(f,v,r,n,i);else if("LineString"===h)ct(f,v,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===h)ht(f,v,r,n,i,!1);else if("Polygon"===h)ht(f,v,r,n,i,!0);else if("MultiPolygon"===h)for(var g=0;g=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function ct(t,e,r,n,i,a,o){for(var s,l,u=ft(t),c=0===i?dt:vt,f=t.start,h=0;hr&&(l=c(u,p,d,g,y,r),o&&(u.start=f+s*l)):m>n?x=r&&(l=c(u,p,d,g,y,r),b=!0),x>n&&m<=n&&(l=c(u,p,d,g,y,n),b=!0),!a&&b&&(o&&(u.end=f+s*l),e.push(u),u=ft(t)),o&&(f+=s)}var _=t.length-3;p=t[_],d=t[_+1],v=t[_+2],(m=0===i?p:d)>=r&&m<=n&&pt(u,p,d,v),_=u.length-3,a&&_>=3&&(u[_]!==u[0]||u[_+1]!==u[1])&&pt(u,u[0],u[1],u[2]),u.length&&e.push(u)}function ft(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ht(t,e,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=c),f>o.maxY&&(o.maxY=f)}return o}function _t(t,e,r,n){var i=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;n24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n=n;u--){var c=+Date.now();s=this._cluster(s,u),this.trees[u]=new j(s,K,J,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",u,s.length,+Date.now()-c)}return r&&console.timeEnd("total time"),this},V.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],u=[],c=0,f=l.range(Y(r),X(a),Y(i),X(n));ce&&(d+=m.numPoints||1)}if(d>=s){for(var x=c.x*p,b=c.y*p,_=o&&p>1?this._map(c,!0):null,w=(u<<5)+(e+1)+this.points.length,T=0,k=h;T1)for(var E=0,L=h;E>5},V.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},V.prototype._map=function(t,e){if(t.numPoints)return e?Z({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?Z({},n):n},Tt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Tt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,u=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var c=1<1&&console.time("creation"),h=this.tiles[f]=bt(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),u)){u>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,h.numFeatures,h.numPoints,h.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(h.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<1&&console.time("clipping");var v,g,y,m,x,b,_=.5*l.buffer/l.extent,w=.5-_,T=.5+_,k=1+_;v=g=y=m=null,x=lt(t,c,r-_,r+T,0,h.minX,h.maxX,l),b=lt(t,c,r+w,r+k,0,h.minX,h.maxX,l),t=null,x&&(v=lt(x,c,n-_,n+T,1,h.minY,h.maxY,l),g=lt(x,c,n+w,n+k,1,h.minY,h.maxY,l),x=null),b&&(y=lt(b,c,n-_,n+T,1,h.minY,h.maxY,l),m=lt(b,c,n+w,n+k,1,h.minY,h.maxY,l),b=null),u>1&&console.timeEnd("clipping"),s.push(v||[],e+1,2*r,2*n),s.push(g||[],e+1,2*r,2*n+1),s.push(y||[],e+1,2*r+1,2*n),s.push(m||[],e+1,2*r+1,2*n+1)}}},Tt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,u=t,c=e,f=r;!l&&u>0;)u--,c=Math.floor(c/2),f=Math.floor(f/2),l=this.tiles[kt(u,c,f)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",u,c,f),a>1&&console.time("drilling down"),this.splitTile(l.source,u,c,f,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?mt(this.tiles[s],i):null):null};var Mt=function(e){function r(t,r,n,i){e.call(this,t,r,n,At),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));f(o,!0);try{if(n.filter){var s=t.createExpression(n.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===s.result)throw new Error(s.value.map((function(t){return t.key+": "+t.message})).join(", "));var l=o.features.filter((function(t){return s.value.evaluate({zoom:0},t)}));o={type:"FeatureCollection",features:l}}e._geoJSONIndex=n.cluster?new V(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),u=0,c=l;u=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var h=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e=0?1.2:1))}function y(t,e,r,n,i,a,o){for(var s=0;s65535)e(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=void 0,d=i/r*(n+1);if(l.isDash){var v=n-Math.abs(d);p=Math.sqrt(h*h+v*v)}else p=n-Math.sqrt(h*h+d*d);this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],u=0;u1&&(l=t[++s]);var c=Math.abs(u-l.left),f=Math.abs(u-l.right),h=Math.min(c,f),p=l.isDash?h:-h;this.data[o+u]=Math.max(0,Math.min(255,p+128))}},k.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o=n&&e.x=i&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?"reloadTile":"loadTile";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),O=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),I=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(I),D=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return"number"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,O.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];tthis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(t){return t.wrapped().key in this.data},j.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},j.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},j.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},j.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},j.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},j.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(zt(this._source.type)){for(var u={},c={},f=0,h=Object.keys(l);fthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],y=this.getTile(g);if(y&&y.hasData()){n[g.key]=g;continue}}else{var m=d.children(this._source.maxzoom);if(n[m[0].key]&&n[m[1].key]&&n[m[2].key]&&n[m[3].key])continue}for(var x=v.wasRequested(),b=d.overscaledZ-1;b>=a;--b){var _=d.scaledTo(b);if(i[_.key])break;if(i[_.key]=!0,!(v=this.getTile(_))&&x&&(v=this._addTile(_)),v&&(n[_.key]=_,x=v.wasRequested(),v.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),u=s.map((function(t){return o.pointCoordinate(t)})),c=this.getIds(),f=1/0,h=1/0,p=-1/0,d=-1/0,v=0,g=u;v=0&&y[1].y+g>=0){var m=l.map((function(t){return s.getTilePoint(t)})),x=u.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:m,cameraQueryGeometry:x,scale:v})}}},x=0;x=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function It(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function zt(t){return"raster"===t||"image"===t||"video"===t}function Dt(){return new t.window.Worker(oa.workerUrl)}Ot.maxOverzooming=10,Ot.maxUnderzooming=3;var Rt="mapboxgl_preloaded_worker_pool",Ft=function(){this.active={}};Ft.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Qt=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ae(e,r,n,i,a,o,s,l){var u=i?e.textSizeData:e.iconSizeData,c=t.evaluateSizeForZoom(u,n.transform.zoom),f=[256/n.width*2+1,256/n.height*2+1],h=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;h.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,v=n.transform.width/n.transform.height,g=!1,y=0;yMath.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function le(e,r,n,i,a,o,s,l,u,c,f,h,p,d){var v,g=r/24,y=e.lineOffsetX*g,m=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,b=e.lineStartIndex,_=e.lineStartIndex+e.lineLength,w=oe(g,l,y,m,n,f,h,e,u,o,p);if(!w)return{notEnoughRoom:!0};var T=re(w.first.point,s).point,k=re(w.last.point,s).point;if(i&&!n){var A=se(e.writingMode,T,k,d);if(A)return A}v=[w.first];for(var M=e.glyphStartIndex+1;M0?C.point:ue(h,L,S,1,a),O=se(e.writingMode,S,P,d);if(O)return O}var I=ce(g*l.getoffsetX(e.glyphStartIndex),y,m,n,f,h,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,u,o,p);if(!I)return{notEnoughRoom:!0};v=[I]}for(var z=0,D=v;z0?1:-1,v=0;i&&(d*=-1,v=Math.PI),d<0&&(v+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,m=a,x=0,b=0,_=Math.abs(p),w=[];x+b<=_;){if((g+=d)=u)return null;if(m=y,w.push(y),void 0===(y=h[g])){var T=new t.Point(c.getx(g),c.gety(g)),k=re(T,f);if(k.signedDistanceFromCamera>0)y=h[g]=k.point;else{var A=g-d;y=ue(0===x?o:new t.Point(c.getx(A),c.gety(A)),T,m,_-x+1,f)}}x+=b,b=m.dist(y)}var M=(_-x)/b,S=y.sub(m),E=S.mult(M)._add(m);E._add(S._unit()._perp()._mult(n*d));var L=v+Math.atan2(y.y-m.y,y.x-m.x);return w.push(E),{point:E,angle:L,path:w}}Qt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Qt.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Qt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Qt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Qt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Qt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Qt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var u=[],c={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,u,c,i),n?u.length>0:u},Qt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Qt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Qt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Qt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,u=this.boxCells[i];if(null!==u)for(var c=this.bboxes,f=0,h=u;f=c[d+0]&&n>=c[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:c[d],y1:c[d+1],x2:c[d+2],y2:c[d+3]})}}}var v=this.circleCells[i];if(null!==v)for(var g=this.circles,y=0,m=v;yo*o+s*s},Qt.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var u=(o-i)/2,c=Math.abs(e-(i+u));if(c>u+r)return!1;if(l<=s||c<=u)return!0;var f=l-s,h=c-u;return f*f+h*h<=r*r};var fe=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function he(t,e){for(var r=0;r=1;P--)C.push(E.path[P]);for(var O=1;O0){for(var R=C[0].clone(),F=C[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[C]:F.xM.x||F.yM.y?[]:t.clipLine([C],A.x,A.y,M.x,M.y)}for(var N=0,j=D;N=this.screenRightBoundary||nthis.screenBottomBoundary},ve.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0?(this.prevPlacement&&this.prevPlacement.variableOffsets[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID]&&this.prevPlacement.placements[f.crossTileID].text&&(v=this.prevPlacement.variableOffsets[f.crossTileID].anchor),this.variableOffsets[f.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:v},this.markUsedJustification(h,t,f,p),h.allowVerticalPlacement&&(this.markUsedOrientation(h,p,f),this.placedOrientations[f.crossTileID]=p),{shift:y,placedGlyphBoxes:m}):void 0},Ae.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,u=a.textLabelPlaneMatrix,c=a.labelToScreenMatrix,f=a.textPixelRatio,h=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,v=a.collisionGroup,g=s.get("text-optional"),y=s.get("icon-optional"),m=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),b="map"===s.get("text-rotation-alignment"),_="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=m&&(x||!o.hasIconData()||y),A=x&&(m||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,a){if(!r[e.crossTileID])if(h)i.placements[e.crossTileID]=new xe(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,L={box:null,offscreen:null},C={box:null,offscreen:null},P=null,O=null,I=0,z=0,D=0;a.textFeatureIndex?I=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(I=e.featureIndex),a.verticalTextFeatureIndex&&(z=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,n=a,i.markUsedOrientation(o,n,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,u=e.textBoxScale,c=w&&!x?r:null,h={box:[],offscreen:!1},p=m?2*N.length:N.length,d=0;d=N.length,k=i.attemptAnchorPlacement(g,t,a,s,u,b,_,f,l,v,y,e,o,n,c);if(k&&(h=k.placedGlyphBoxes)&&h.box&&h.box.length){T=!0,E=k.shift;break}}return h};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=L&&L.box&&L.box.length;return o.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),L&&(T=L.box,S=L.offscreen);var V=F(L&&L.box);if(!T&&i.prevPlacement){var q=i.prevPlacement.variableOffsets[e.crossTileID];q&&(i.variableOffsets[e.crossTileID]=q,i.markUsedJustification(o,q.anchor,e,V))}}else{var H=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,m,f,l,v.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return H(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?H(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(L&&L.box&&L.box.length)}}if(T=(p=L)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),W=t.evaluateSizeForFeature(o.textSizeData,d,G),Y=s.get("text-padding"),X=e.collisionCircleDiameter;P=i.collisionIndex.placeCollisionCircles(m,G,o.lineVertexArray,o.glyphOffsetArray,W,l,u,c,n,_,v.predicate,X,Y),T=m||P.circles.length>0&&!P.collisionDetected,S=S&&P.offscreen}if(a.iconFeatureIndex&&(D=a.iconFeatureIndex),a.iconBox){var Z=function(t){var e=w&&E?ke(t,E.x,E.y,b,_,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,f,l,v.predicate)};M=C&&C.box&&C.box.length&&a.verticalIconBox?(O=Z(a.verticalIconBox)).box.length>0:(O=Z(a.iconBox)).box.length>0,S=S&&O.offscreen}var K=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,J=y||0===e.numIconVertices;if(K||J?J?K||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(C&&C.box&&z?i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,z,v.ID):i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID)),M&&O&&i.collisionIndex.insertCollisionBox(O.box,s.get("icon-ignore-placement"),o.bucketInstanceId,D,v.ID),P&&(T&&i.collisionIndex.insertCollisionCircles(P.circles,s.get("text-ignore-placement"),o.bucketInstanceId,I,v.ID),n)){var $=o.bucketInstanceId,Q=i.collisionCircleArrays[$];void 0===Q&&(Q=i.collisionCircleArrays[$]=new be);for(var tt=0;tt=0;--E){var L=S[E];M(o.symbolInstances.get(L),o.collisionArrays[L])}else for(var C=e.symbolInstanceStart;C=0&&(e.text.placedSymbolArray.get(u).crossTileID=a>=0&&u!==a?0:n.crossTileID)}},Ae.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,b=i.placedOrientations[a.crossTileID],_=b===t.WritingMode.vertical,w=b===t.WritingMode.horizontal||b===t.WritingMode.horizontalOnly;if(m){var T=ze(y.text),k=_?De:T;d(e.text,s,k);var A=w?De:T;d(e.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=M||_?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(e,S.anchor,a,b);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(e,"left",a,E),i.markUsedOrientation(e,E,a))}if(x){var L=ze(y.icon),C=!(h&&a.verticalPlacedIconSymbolIndex&&_);if(a.placedIconSymbolIndex>=0){var P=C?L:De;d(e.icon,a.numIconVertices,P),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var O=C?De:L;d(e.icon,a.numVerticalIconVertices,O),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var I=e.collisionArrays[n];if(I){var z=new t.Point(0,0);if(I.textBox||I.verticalTextBox){var D=!0;if(u){var R=i.variableOffsets[v];R?(z=Te(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),c&&z._rotate(f?i.transform.angle:-i.transform.angle)):D=!1}I.textBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!D||_,z.x,z.y),I.verticalTextBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!D||w,z.x,z.y)}var F=Boolean(!w&&I.verticalIconBox);I.iconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,F,h?z.x:0,h?z.y:0),I.verticalIconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,h?z.x:0,h?z.y:0)}}},g=0;gt},Ae.prototype.setStale=function(){this.stale=!0};var Se=Math.pow(2,25),Ee=Math.pow(2,24),Le=Math.pow(2,17),Ce=Math.pow(2,16),Pe=Math.pow(2,9),Oe=Math.pow(2,8),Ie=Math.pow(2,1);function ze(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Se+e*Ee+r*Le+e*Ce+r*Pe+e*Oe+r*Ie+e}var De=0,Re=function(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Re.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Re(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Fe.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Be=512/t.EXTENT/2,Ne=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;nt.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var u=o[t.scaledTo(Number(a)).key];u&&u.findMatches(e.symbolInstances,t,i)}}for(var c=0;c1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,c())})),u=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),(function(t,e){u=null,o||(o=t,a=e,c())}));function c(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],u=l.width,c=l.height,f=l.x,h=l.y,p=l.sdf,d=l.pixelRatio,v=l.stretchX,g=l.stretchY,y=l.content,m=new t.RGBAImage({width:u,height:c});t.RGBAImage.copy(e,m,{x:f,y:h},{x:0,y:0},{width:u,height:c}),r[s]={data:m,pixelRatio:d,sdf:p,stretchX:v,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),u&&(u.cancel(),u=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new t.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r0)throw new Error("Unimplemented: "+i.map((function(t){return t.command})).join(", ")+".");return n.forEach((function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this._afterImageUpdated(e)},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this._afterImageUpdated(e)},r.prototype._afterImageUpdated=function(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Ot(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else{var a;if("custom"===e.type){if(qe(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,"layers."+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;"geojson"===o&&i?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s=0;d--){var v=this._order[d];if(r(v))for(var g=i.length-1;g>=0;g--){var y=i[g].feature;if(n[y.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),nr=_r("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),ir=_r("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),ar=_r("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),or=_r("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),sr=_r("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),lr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),ur=_r("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),cr=_r("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),fr=_r("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hr=_r("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),pr=_r("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),dr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),vr=_r("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),gr=_r("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),yr=_r("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),mr=_r("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),xr=_r("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),br=_r("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");function _r(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=e.match(/attribute ([\w]+) ([\w]+)/g),i=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:t=t.replace(r,(function(t,e,r,n,i){return s[i]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),vertexSource:e=e.replace(r,(function(t,e,r,n,i){var a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),staticAttributes:n,staticUniforms:o}}var wr=Object.freeze({__proto__:null,prelude:Ze,background:Ke,backgroundPattern:Je,circle:$e,clippingMask:Qe,heatmap:tr,heatmapTexture:er,collisionBox:rr,collisionCircle:nr,debug:ir,fill:ar,fillOutline:or,fillOutlinePattern:sr,fillPattern:lr,fillExtrusion:ur,fillExtrusionPattern:cr,hillshadePrepare:fr,hillshade:hr,line:pr,lineGradient:dr,linePattern:vr,lineSDF:gr,raster:yr,symbolIcon:mr,symbolSDF:xr,symbolTextAndIcon:br}),Tr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};function kr(t){for(var e=[],r=0;r>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}Ar.prototype.draw=function(t,e,r,n,i,a,o,s,l,u,c,f,h,p,d,v){var g,y=t.gl;if(!this.failedToCreate){for(var m in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[m].set(o[m]);p&&p.setUniforms(t,this.binderUniforms,f,{zoom:h});for(var x=(g={},g[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[e],b=0,_=c.get();b<_.length;b+=1){var w=_[b],T=w.vaos||(w.vaos={});(T[s]||(T[s]=new Tr)).bind(t,this,l,p?p.getPaintVertexBuffers():[],u,w.vertexOffset,d,v),y.drawElements(e,w.primitiveLength*x,y.UNSIGNED_SHORT,w.primitiveOffset*x*2)}}};var Sr=function(e,r,n,i){var a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=t.create$1();"viewport"===a.properties.get("anchor")&&t.fromRotation(l,-r.transform.angle),t.transformMat3(s,s,l);var u=a.properties.get("color");return{u_matrix:e,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[u.r,u.g,u.b],u_vertical_gradient:+n,u_opacity:i}},Er=function(e,r,n,i,a,o,s){return t.extend(Sr(e,r,n,i),Mr(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8})},Lr=function(t){return{u_matrix:t}},Cr=function(e,r,n,i){return t.extend(Lr(e),Mr(n,r,i))},Pr=function(t,e){return{u_matrix:t,u_world:e}},Or=function(e,r,n,i,a){return t.extend(Cr(e,r,n,i),{u_world:a})},Ir=function(e,r,n,i){var a,o,s=e.transform;if("map"===i.paint.get("circle-pitch-alignment")){var l=ge(n,1,s.zoom);a=!0,o=[l,l]}else a=!1,o=s.pixelsToGLUnits;return{u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+("map"===i.paint.get("circle-pitch-scale")),u_matrix:e.translatePosMatrix(r.posMatrix,n,i.paint.get("circle-translate"),i.paint.get("circle-translate-anchor")),u_pitch_with_map:+a,u_device_pixel_ratio:t.browser.devicePixelRatio,u_extrude_scale:o}},zr=function(t,e,r){var n=ge(r,1,e.zoom),i=Math.pow(2,e.zoom-r.tileID.overscaledZ),a=r.tileID.overscaleFactor();return{u_matrix:t,u_camera_to_center_distance:e.cameraToCenterDistance,u_pixels_to_tile_units:n,u_extrude_scale:[e.pixelsToGLUnits[0]/(n*i),e.pixelsToGLUnits[1]/(n*i)],u_overscale_factor:a}},Dr=function(t,e,r){return{u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}},Rr=function(t,e,r){return void 0===r&&(r=1),{u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}},Fr=function(t){return{u_matrix:t}},Br=function(t,e,r,n){return{u_matrix:t,u_extrude_scale:ge(e,1,r),u_intensity:n}},Nr=function(e,r,n,i){var a=t.create();t.ortho(a,0,e.width,e.height,0,0,1);var o=e.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:i,u_opacity:r.paint.get("heatmap-opacity")}},jr=function(e,r,n){var i=n.paint.get("hillshade-shadow-color"),a=n.paint.get("hillshade-highlight-color"),o=n.paint.get("hillshade-accent-color"),s=n.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===n.paint.get("hillshade-illumination-anchor")&&(s-=e.transform.angle);var l,u,c,f=!e.options.moving;return{u_matrix:e.transform.calculatePosMatrix(r.tileID.toUnwrapped(),f),u_image:0,u_latrange:(l=r.tileID,u=Math.pow(2,l.canonical.z),c=l.canonical.y,[new t.MercatorCoordinate(0,c/u).toLngLat().lat,new t.MercatorCoordinate(0,(c+1)/u).toLngLat().lat]),u_light:[n.paint.get("hillshade-exaggeration"),s],u_shadow:i,u_highlight:a,u_accent:o}},Ur=function(e,r){var n=r.stride,i=t.create();return t.ortho(i,0,t.EXTENT,-t.EXTENT,0,0,1),t.translate(i,i,[0,-t.EXTENT,0]),{u_matrix:i,u_image:1,u_dimension:[n,n],u_zoom:e.overscaledZ,u_unpack:r.getUnpackVector()}};var Vr=function(e,r,n){var i=e.transform;return{u_matrix:Yr(e,r,n),u_ratio:1/ge(r,1,i.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},qr=function(e,r,n,i){return t.extend(Vr(e,r,n),{u_image:0,u_image_height:i})},Hr=function(e,r,n,i){var a=e.transform,o=Wr(r,a);return{u_matrix:Yr(e,r,n),u_texsize:r.imageAtlasTexture.size,u_ratio:1/ge(r,1,a.zoom),u_device_pixel_ratio:t.browser.devicePixelRatio,u_image:0,u_scale:[o,i.fromScale,i.toScale],u_fade:i.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Gr=function(e,r,n,i,a){var o=e.transform,s=e.lineAtlas,l=Wr(r,o),u="round"===n.layout.get("line-cap"),c=s.getDash(i.from,u),f=s.getDash(i.to,u),h=c.width*a.fromScale,p=f.width*a.toScale;return t.extend(Vr(e,r,n),{u_patternscale_a:[l/h,-c.height/2],u_patternscale_b:[l/p,-f.height/2],u_sdfgamma:s.width/(256*Math.min(h,p)*t.browser.devicePixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:f.y,u_mix:a.t})};function Wr(t,e){return 1/ge(t,1,e.tileZoom)}function Yr(t,e,r){return t.translatePosMatrix(e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}var Xr=function(t,e,r,n,i){return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Zr(i.paint.get("raster-hue-rotate"))};var a,o};function Zr(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var Kr,Jr=function(t,e,r,n,i,a,o,s,l,u){var c=i.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:c.cameraToCenterDistance,u_pitch:c.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:c.width/c.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:u,u_texture:0}},$r=function(e,r,n,i,a,o,s,l,u,c,f){var h=a.transform;return t.extend(Jr(e,r,n,i,a,o,s,l,u,c),{u_gamma_scale:i?Math.cos(h._pitch)*h.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+f})},Qr=function(e,r,n,i,a,o,s,l,u,c){return t.extend($r(e,r,n,i,a,o,s,l,!0,u,!0),{u_texsize_icon:c,u_texture_icon:1})},tn=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},en=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,u=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/u,f=c*(n.tileID.canonical.x+n.tileID.wrap*u),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ge(n,1,r.transform.tileZoom),u_pixel_coord_upper:[f>>16,h>>16],u_pixel_coord_lower:[65535&f,65535&h]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},rn={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image),u_image_height:new t.Uniform1f(e,r.u_image_height)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function nn(e,r,n,i,a,o,s){for(var l=e.context,u=l.gl,c=e.useProgram("collisionBox"),f=[],h=0,p=0,d=0;d0){var _=t.create(),w=m;t.mul(_,y.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(_,_,y.placementViewportMatrix),f.push({circleArray:b,circleOffset:p,transform:w,invTransform:_}),p=h+=b.length/4}x&&c.draw(l,u.LINES,Mt.disabled,Et.disabled,e.colorModeForRenderPass(),Ct.disabled,zr(m,e.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&f.length){var T=e.useProgram("collisionCircle"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*h),k._trim();for(var A=0,M=0,S=f;M=0&&(v[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else he(y.numGlyphs,p)}if(f){d.clear();for(var C=e.icon.placedSymbolArray,P=0;P0){var s=t.browser.now(),l=(s-e.timeAdded)/o,u=r?(s-r.timeAdded)/o:-1,c=n.getSource(),f=a.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),h=!r||Math.abs(r.tileID.overscaledZ-f)>Math.abs(e.tileID.overscaledZ-f),p=h&&e.refreshedUponExpiration?1:t.clamp(h?l:1-u,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var gn=new t.Color(1,0,0,1),yn=new t.Color(0,1,0,1),mn=new t.Color(0,0,1,1),xn=new t.Color(1,0,1,1),bn=new t.Color(0,1,1,1);function _n(t){var e=t.transform.padding;wn(t,t.transform.height-(e.top||0),3,gn),wn(t,e.bottom||0,3,yn),Tn(t,e.left||0,3,mn),Tn(t,t.transform.width-(e.right||0),3,xn);var r=t.transform.centerPoint;!function(t,e,r,n){var i=20,a=2;kn(t,e-a/2,r-i/2,a,i,n),kn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,bn)}function wn(t,e,r,n){kn(t,0,e+r/2,t.transform.width,r,n)}function Tn(t,e,r,n){kn(t,e-r/2,0,r,t.transform.height,n)}function kn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function An(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=Mt.disabled,u=Et.disabled,c=e.colorModeForRenderPass(),f="$debug";i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,u,c,Ct.disabled,Rr(o,t.Color.red),f,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var h=r.getTileByID(n.key).latestRawTileData,p=h&&h.byteLength||0,d=Math.floor(p/1024),v=r.getTile(n).tileSize,g=512/Math.min(v,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=" => "+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,y+" "+d+"kb"),s.draw(i,a.TRIANGLES,l,u,Lt.alphaBlended,Ct.disabled,Rr(o,t.Color.transparent,g),f,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var Mn={symbol:function(e,r,n,i,a){if("translucent"===e.renderPass){var o=Et.disabled,s=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,r,n,i,a,o,s){for(var l=r.transform,u="map"===a,c="map"===o,f=0,h=e;f256&&this.clearStencil(),r.setColorMode(Lt.disabled),r.setDepthMode(Mt.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,o=e;a256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Et({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Et({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=c[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?e.pop():null},Sn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},Sn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=""+t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new Ar(this.context,t,wr[t],e,rn[t],this._showOverdrawInspector)),this.cache[r]},Sn.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},Sn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},Sn.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var e=this.context.gl;this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,e.RGBA)}},Sn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var En=function(t,e){this.points=t,this.planes=e};En.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new En(a,o)};var Ln=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};Ln.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var u=Number.MAX_VALUE,c=-Number.MAX_VALUE,f=0;fthis.max[l]-this.min[l])return 0}return 1};var Cn=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n};Cn.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},Cn.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},Cn.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},Cn.prototype.clone=function(){return new Cn(this.top,this.bottom,this.left,this.right)},Cn.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var Pn=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Cn,this._posMatrixCache={},this._alignedPosMatrixCache={}},On={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};Pn.prototype.clone=function(){var t=new Pn(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},On.minZoom.get=function(){return this._minZoom},On.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},On.maxZoom.get=function(){return this._maxZoom},On.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},On.minPitch.get=function(){return this._minPitch},On.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},On.maxPitch.get=function(){return this._maxPitch},On.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},On.renderWorldCopies.get=function(){return this._renderWorldCopies},On.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},On.worldSize.get=function(){return this.tileSize*this.scale},On.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},On.size.get=function(){return new t.Point(this.width,this.height)},On.bearing.get=function(){return-this.angle/Math.PI*180},On.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},On.pitch.get=function(){return this._pitch/Math.PI*180},On.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},On.fov.get=function(){return this._fov/Math.PI*180},On.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},On.zoom.get=function(){return this._zoom},On.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},On.center.get=function(){return this._center},On.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},On.padding.get=function(){return this._edgeInsets.toJSON()},On.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},On.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},Pn.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},Pn.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},Pn.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},Pn.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),u=s-1;u<=l+1;u++)0!==u&&r.push(new t.UnwrappedTileID(u,e));return r},Pn.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=En.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var u=function(t){return{aabb:new Ln([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},c=[],f=[],h=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)c.push(u(-d)),c.push(u(d));for(c.push(u(0));c.length>0;){var v=c.pop(),g=v.x,y=v.y,m=v.fullyVisible;if(!m){var x=v.aabb.intersects(s);if(0===x)continue;m=2===x}var b=v.aabb.distanceX(o),_=v.aabb.distanceY(o),w=Math.max(Math.abs(b),Math.abs(_)),T=3+(1<T&&v.zoom>=l)f.push({tileID:new t.OverscaledTileID(v.zoom===h?p:v.zoom,v.wrap,v.zoom,g,y),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-y])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(y<<1)+(k>>1);c.push({aabb:v.aabb.quadrant(k),zoom:v.zoom+1,x:A,y:M,wrap:v.wrap,fullyVisible:m})}}return f.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},Pn.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},On.unmodified.get=function(){return this._unmodified},Pn.prototype.zoomScale=function(t){return Math.pow(2,t)},Pn.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},Pn.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},Pn.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},On.point.get=function(){return this.project(this.center)},Pn.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},Pn.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},Pn.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},Pn.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},Pn.prototype.coordinateLocation=function(t){return t.toLngLat()},Pn.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,u=n[1]/a,c=r[2]/i,f=n[2]/a,h=c===f?0:(0-c)/(f-c);return new t.MercatorCoordinate(t.number(o,s,h)/this.worldSize,t.number(l,u,h)/this.worldSize)},Pn.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},Pn.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},Pn.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},Pn.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},Pn.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},Pn.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},Pn.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,u=this.size,c=this._unmodified;if(this.latRange){var f=this.latRange;a=t.mercatorYfromLat(f[1])*this.worldSize,e=(o=t.mercatorYfromLat(f[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var y=p.x,m=u.x/2;y-ml&&(n=l-m)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=c,this._constraining=!1}},Pn.prototype._calcMatrices=function(){if(this.height){var e=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(e)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,u=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),c=this.height/50,f=new Float64Array(16);t.perspective(f,this._fov,this.width/this.height,c,u),f[8]=2*-r.x/this.width,f[9]=2*r.y/this.height,t.scale(f,f,[1,-1,1]),t.translate(f,f,[0,0,-this.cameraToCenterDistance]),t.rotateX(f,f,this._pitch),t.rotateZ(f,f,this.angle),t.translate(f,f,[-s,-l,0]),this.mercatorMatrix=t.scale([],f,[this.worldSize,this.worldSize,this.worldSize]),t.scale(f,f,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=f,this.invProjMatrix=t.invert([],this.projMatrix);var h=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),v=Math.sin(this.angle),g=s-Math.round(s)+d*h+v*p,y=l-Math.round(l)+d*p+v*h,m=new Float64Array(f);if(t.translate(m,m,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=m,f=t.create(),t.scale(f,f,[this.width/2,-this.height/2,1]),t.translate(f,f,[1,-1,0]),this.labelPlaneMatrix=f,f=t.create(),t.scale(f,f,[1,-1,1]),t.translate(f,f,[-1,-1,0]),t.scale(f,f,[2/this.width,2/this.height,1]),this.glCoordMatrix=f,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(f=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=f,this._posMatrixCache={},this._alignedPosMatrixCache={}}},Pn.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},Pn.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},Pn.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},In.prototype._updateHashUnthrottled=function(){var e=t.window.location.href.replace(/(#.+)?$/,this.getHashString());try{t.window.history.replaceState(t.window.history.state,null,e)}catch(t){}};var zn={linearity:.3,easing:t.bezier(0,0,.3,1)},Dn=t.extend({deceleration:2500,maxSpeed:1400},zn),Rn=t.extend({deceleration:20,maxSpeed:1400},zn),Fn=t.extend({deceleration:1e3,maxSpeed:360},zn),Bn=t.extend({deceleration:1e3,maxSpeed:90},zn),Nn=function(t){this._map=t,this.clear()};function jn(t,e){(!t.duration||t.duration0&&r-e[0].time>160;)e.shift()},Nn.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.dblclick=function(t){return this._firePreventable(new Vn(t.type,this._map,t))},Gn.prototype.mouseover=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.mouseout=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.touchstart=function(t){return this._firePreventable(new qn(t.type,this._map,t))},Gn.prototype.touchmove=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchend=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchcancel=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Gn.prototype.isEnabled=function(){return!0},Gn.prototype.isActive=function(){return!1},Gn.prototype.enable=function(){},Gn.prototype.disable=function(){};var Wn=function(t){this._map=t};Wn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Wn.prototype.mousemove=function(t){this._map.fire(new Vn(t.type,this._map,t))},Wn.prototype.mousedown=function(){this._delayContextMenu=!0},Wn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Vn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Wn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Vn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()},Wn.prototype.isEnabled=function(){return!0},Wn.prototype.isActive=function(){return!1},Wn.prototype.enable=function(){},Wn.prototype.disable=function(){};var Yn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Xn(t,e){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n30)&&(this.aborted=!0)}}},Zn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var Kn=function(t){this.singleTap=new Zn(t),this.numTaps=t.numTaps,this.reset()};Kn.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},Kn.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},Kn.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},Kn.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Jn=function(){this._zoomIn=new Kn({numTouches:1,numTaps:2}),this._zoomOut=new Kn({numTouches:2,numTaps:1}),this.reset()};Jn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Jn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Jn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Jn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Jn.prototype.touchcancel=function(){this.reset()},Jn.prototype.enable=function(){this._enabled=!0},Jn.prototype.disable=function(){this._enabled=!1,this.reset()},Jn.prototype.isEnabled=function(){return this._enabled},Jn.prototype.isActive=function(){return this._active};var $n={};$n[0]=1,$n[2]=2;var Qn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Qn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Qn.prototype._correctButton=function(t,e){return!1},Qn.prototype._move=function(t,e){return{}},Qn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Qn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r)if(t.preventDefault(),function(t,e){var r=$n[e];return void 0===t.buttons||(t.buttons&r)!==r}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(r)0&&(this._active=!0);var i=Xn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var u=i[l],c=this._touches[l];c&&(a._add(u),o._add(u.sub(c)),s++,i[l]=u)}if(this._touches=i,!(sMath.abs(t.x)}var fi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ci(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ci(t)&&ci(e)&&a}},e}(ii),hi={panStep:100,bearingStep:15,pitchStep:10},pi=function(){var t=hi;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1};function di(t){return t*(2-t)}pi.prototype.reset=function(){this._active=!1},pi.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(n=0,i=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:di,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},pi.prototype.enable=function(){this._enabled=!0},pi.prototype.disable=function(){this._enabled=!1,this.reset()},pi.prototype.isEnabled=function(){return this._enabled},pi.prototype.isActive=function(){return this._active},pi.prototype.disableRotation=function(){this._rotationDisabled=!0},pi.prototype.enableRotation=function(){this._rotationDisabled=!1};var vi=4.000244140625,gi=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onTimeout"],this)};gi.prototype.setZoomRate=function(t){this._defaultZoomRate=t},gi.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},gi.prototype.isEnabled=function(){return!!this._enabled},gi.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},gi.prototype.isZooming=function(){return!!this._zooming},gi.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},gi.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},gi.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%vi==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},gi.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},gi.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},gi.prototype.renderFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>vi?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,u=this._easing,c=!1;if("wheel"===this._type&&l&&u){var f=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),h=u(f);o=t.number(l,s,h),f<1?this._frameId||(this._frameId=!0):c=!0}else o=s,c=!0;return this._active=!0,c&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!c,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},gi.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},gi.prototype.reset=function(){this._active=!1};var yi=function(t,e){this._clickZoom=t,this._tapZoom=e};yi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},yi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},yi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},yi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var mi=function(){this.reset()};mi.prototype.reset=function(){this._active=!1},mi.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},mi.prototype.enable=function(){this._enabled=!0},mi.prototype.disable=function(){this._enabled=!1,this.reset()},mi.prototype.isEnabled=function(){return this._enabled},mi.prototype.isActive=function(){return this._active};var xi=function(){this._tap=new Kn({numTouches:1,numTaps:1}),this.reset()};xi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},xi.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},xi.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},xi.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},xi.prototype.touchcancel=function(){this.reset()},xi.prototype.enable=function(){this._enabled=!0},xi.prototype.disable=function(){this._enabled=!1,this.reset()},xi.prototype.isEnabled=function(){return this._enabled},xi.prototype.isActive=function(){return this._active};var bi=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};bi.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},bi.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},bi.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},bi.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var _i=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};_i.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},_i.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},_i.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},_i.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var wi=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};wi.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},wi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},wi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},wi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},wi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},wi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var Ti=function(t){return t.zoom||t.drag||t.pitch||t.rotate},ki=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(t.Event);function Ai(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var Mi=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Nn(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll(["handleEvent","handleWindowEvent"],this);var i=this._el;this._listeners=[[i,"touchstart",{passive:!0}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[t.window,"blur",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,_):Math.max(.5,_),w=Math.pow(g,1-e),T=i.unproject(x.add(b.mult(e*w)).mult(v));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),i&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),u=this.getPadding(),c="zoom"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,f="bearing"in e?this._normalizeBearing(e.bearing,s):s,h="pitch"in e?+e.pitch:l,p="padding"in e?e.padding:a.padding,d=a.zoomScale(c-o),v=t.Point.convert(e.offset),g=a.centerPoint.add(v),y=a.pointLocation(g),m=t.LngLat.convert(e.center||y);this._normalizeCenter(m);var x=a.project(y),b=a.project(m).sub(x),_=e.curve,w=Math.max(a.width,a.height),T=w/d,k=b.mag();if("minZoom"in e){var A=t.clamp(Math.min(e.minZoom,o,c),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);_=Math.sqrt(M/k*2)}var S=_*_;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function L(t){return(Math.exp(t)-Math.exp(-t))/2}function C(t){return(Math.exp(t)+Math.exp(-t))/2}var P=E(0),O=function(t){return C(P)/C(P+_*t)},I=function(t){return w*((C(P)*(L(e=P+_*t)/C(e))-L(P))/S)/k;var e},z=(E(1)-P)/_;if(Math.abs(k)<1e-6||!isFinite(z)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var D=Te.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==f,this._pitching=h!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*z,d=1/O(i);a.zoom=1===e?c:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,f,e)),n._pitching&&(a.pitch=t.number(l,h,e)),n._padding&&(a.interpolatePadding(u,p,e),g=a.centerPoint.add(v));var y=1===e?m:a.unproject(x.add(b.mult(I(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop(!1)}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),Ei=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)};Ei.prototype.getDefaultPosition=function(){return"bottom-right"},Ei.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=r.create("button","mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Ei.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Ei.prototype._setElementTitle=function(t,e){var r=this._map._getUIString("AttributionControl."+e);t.title=r,t.setAttribute("aria-label",r)},Ei.prototype._toggleAttribution=function(){this._container.classList.contains("mapboxgl-compact-show")?(this._container.classList.remove("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-pressed","false")):(this._container.classList.add("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-pressed","true"))},Ei.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Ei.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};var Li=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};Li.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Li.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Li.prototype.getDefaultPosition=function(){return"bottom-left"},Li.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},Li.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},Li.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var Ci=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Ci.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Ci.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>Di)throw new Error("maxPitch must be less than or equal to 60");var i=new Pn(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Ci,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Pi,e.locale),this._clickTolerance=e.clickTolerance,this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof Ii))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1),t.window.addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new Mi(this,e);var a="string"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new In(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Ei({customAttribution:e.customAttribution})),this.addControl(new Li,e.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(e){r._update("style"===e.dataType),r.fire(new t.Event(e.dataType+"data",e))})),this.on("dataloading",(function(e){r.fire(new t.Event(e.dataType+"dataloading",e))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&(r=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.hasControl=function(t){return this._controls.indexOf(t)>-1},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()Di)throw new Error("maxPitch must be less than or equal to 60");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if("mouseenter"===t||"mouseover"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new Vn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Vn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Vn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;if(void 0===r)return n.prototype.off.call(this,t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ui.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ui.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ui.prototype.off=function(){var t=this.element;r.removeEventListener(t,"mousedown",this.mousedown),r.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(t,"touchmove",this.touchmove),r.removeEventListener(t,"touchend",this.touchend),r.removeEventListener(t,"touchcancel",this.reset),this.offTemp()},Ui.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,"mousemove",this.mousemove),r.removeEventListener(t.window,"mouseup",this.mouseup)},Ui.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,"mousemove",this.mousemove),r.addEventListener(t.window,"mouseup",this.mouseup)},Ui.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ui.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ui.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ui.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ui.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)=r}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag")))},n.prototype._onUp=function(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||"auto",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(t.Evented),Yi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};var Xi=0,Zi=!1,Ki=function(e){function n(r){e.call(this),this.options=t.extend({},Yi,r),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(e){return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),n=this._setupUI,void 0!==Gi?n(Gi):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:"geolocation"}).then((function(t){Gi="denied"!==t.state,n(Gi)})):(Gi=!!t.window.navigator.geolocation,n(Gi)),this._container;var n},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),r.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Xi=0,Zi=!1},n.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitudee.getEast()||r.latitudee.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Zi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this._geolocateButton=r.create("button","mapboxgl-ctrl-geolocate",this._container),r.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}else{var a=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Wi(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Wi({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(function(e){var r=e.originalEvent&&"resize"===e.originalEvent.type;e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||r||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Xi--,Zi=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Xi>1?(e={maximumAge:6e5,timeout:0},Zi=!0):(e=this.options.positionOptions,Zi=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Ji={maxWidth:100,unit:"metric"},$i=function(e){this.options=t.extend({},Ji,e),t.bindAll(["_onMove","setUnit"],this)};function Qi(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?ta(e,n,l/5280,t._getUIString("ScaleControl.Miles")):ta(e,n,l,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?ta(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?ta(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):ta(e,n,s,t._getUIString("ScaleControl.Meters"))}function ta(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(""+Math.floor(i)).length-1))*((o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;t.style.width=e*l+"px",t.innerHTML=s+" "+n}$i.prototype.getDefaultPosition=function(){return"bottom-left"},$i.prototype._onMove=function(){Qi(this._map,this._container,this.options)},$i.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},$i.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},$i.prototype.setUnit=function(t){this.options.unit=t,Qi(this._map,this._container,this.options)};var ea=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange")};ea.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},ea.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},ea.prototype._setupUI=function(){var e=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden",!0),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},ea.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},ea.prototype._isFullscreen=function(){return this._fullscreen},ea.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},ea.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var ra={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},na=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", "),ia=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(ra),r),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement("body");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=r.create("div","mapboxgl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.setOffset=function(t){return this.options.offset=t,this._update(),this},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(t){var e=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(t){return e._container.classList.add(t)})),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Vi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||t)){var i=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat),a=this.options.anchor,o=aa(this.options.offset);if(!a){var s,l=this._container.offsetWidth,u=this._container.offsetHeight;s=i.y+o.bottom.ythis._map.transform.height-u?["bottom"]:[],i.xthis._map.transform.width-l/2&&s.push("right"),a=0===s.length?"bottom":s.join("-")}var c=i.add(o[a]).round();r.setTransform(this._container,qi[a]+" translate("+c.x+"px,"+c.y+"px)"),Hi(this._container,a,"popup")}},n.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var t=this._container.querySelector(na);t&&t.focus()}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);function aa(e){if(e){if("number"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.Point(0,0),top:new t.Point(0,e),"top-left":new t.Point(r,r),"top-right":new t.Point(-r,r),bottom:new t.Point(0,-e),"bottom-left":new t.Point(r,-r),"bottom-right":new t.Point(-r,-r),left:new t.Point(e,0),right:new t.Point(-e,0)}}if(e instanceof t.Point||Array.isArray(e)){var n=t.Point.convert(e);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:t.Point.convert(e.center||[0,0]),top:t.Point.convert(e.top||[0,0]),"top-left":t.Point.convert(e["top-left"]||[0,0]),"top-right":t.Point.convert(e["top-right"]||[0,0]),bottom:t.Point.convert(e.bottom||[0,0]),"bottom-left":t.Point.convert(e["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(e["bottom-right"]||[0,0]),left:t.Point.convert(e.left||[0,0]),right:t.Point.convert(e.right||[0,0])}}return aa(new t.Point(0,0))}var oa={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Fi,NavigationControl:ji,GeolocateControl:Ki,AttributionControl:Ei,ScaleControl:$i,FullscreenControl:ea,Popup:ia,Marker:Wi,Style:Ye,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){jt().acquire(Rt)},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Ft.workerCount},set workerCount(t){Ft.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return oa})),r}()},3108:function(t,e,r){"use strict";t.exports=r(26099)},26099:function(t,e,r){"use strict";var n=r(64928),i=r(32420),a=r(51160),o=r(76752),s=r(55616),l=r(31264),u=r(47520),c=r(18400),f=r(72512),h=r(76244);function p(t,e){for(var r=e[0],n=e[1],a=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,u=t.length/2;l>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(f(e.dtype))(g):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=g));for(var y=0;yr||s>1073741824){for(var h=0;hr+i||M>n+i||S=C||o===s)){var l=m[a];void 0===s&&(s=l.length);for(var u=o;u=g&&f<=w&&h>=y&&h<=T&&P.push(c)}var p=x[a],d=p[4*o+0],v=p[4*o+1],b=p[4*o+2],_=p[4*o+3],k=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(p,o+1),E=.5*i,O=a+1;e(r,n,E,O,d,v||b||_||k),e(r,n+E,E,O,v,b||_||k),e(r+E,n,E,O,b,_||k),e(r+E,n+E,E,O,_,k)}}(0,0,1,0,0,1),P},d;function E(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;s0){e+=Math.abs(o(t[0]));for(var r=1;r2){for(l=0;l=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},3256:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(46284);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;st[0]&&(e[0]=t[0]),e[1]>t[1]&&(e[1]=t[1]),e[2]=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},84880:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(76796);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;s=0))throw new Error("precision must be a positive number");var r=Math.pow(10,e||0);return Math.round(t*r)/r},e.radiansToLength=c,e.lengthToRadians=f,e.lengthToDegrees=function(t,e){return h(f(t,e))},e.bearingToAzimuth=function(t){var e=t%360;return e<0&&(e+=360),e},e.radiansToDegrees=h,e.degreesToRadians=function(t){return t%360*Math.PI/180},e.convertLength=function(t,e,r){if(void 0===e&&(e="kilometers"),void 0===r&&(r="kilometers"),!(t>=0))throw new Error("length must be a positive number");return c(f(t,e),r)},e.convertArea=function(t,r,n){if(void 0===r&&(r="meters"),void 0===n&&(n="kilometers"),!(t>=0))throw new Error("area must be a positive number");var i=e.areaFactors[r];if(!i)throw new Error("invalid original units");var a=e.areaFactors[n];if(!a)throw new Error("invalid final units");return t/i*a},e.isNumber=p,e.isObject=function(t){return!!t&&t.constructor===Object},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((function(t){if(!p(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")},e.radians2degrees=function(){throw new Error("method has been renamed to `radiansToDegrees`")},e.degrees2radians=function(){throw new Error("method has been renamed to `degreesToRadians`")},e.distanceToDegrees=function(){throw new Error("method has been renamed to `lengthToDegrees`")},e.distanceToRadians=function(){throw new Error("method has been renamed to `lengthToRadians`")},e.radiansToDistance=function(){throw new Error("method has been renamed to `radiansToLength`")},e.bearingToAngle=function(){throw new Error("method has been renamed to `bearingToAzimuth`")},e.convertDistance=function(){throw new Error("method has been renamed to `convertLength`")}},43752:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(49840);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,u,c,f,h=0,p=0,d=t.type,v="FeatureCollection"===d,g="Feature"===d,y=v?t.features.length:1,m=0;mu||p>c||d>f)return l=i,u=r,c=p,f=d,void(o=0);var v=n.lineString([l,i],t.properties);if(!1===e(v,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function c(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;si&&(i=t[o]),t[o]1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;it.length)&&(r=t.length),t.substring(r-e.length,r)===e}var g="",y="",m="",x="",b={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function _(t){var e=Object.keys(t),r=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){r[e]=t[e]})),Object.defineProperty(r,"message",{value:t.message}),r}function w(t){return p(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var T=function(t){function e(t){var r;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,e),"object"!==h(t)||null===t)throw new d("options","Object",t);var i=t.message,a=t.operator,l=t.stackStartFn,u=t.actual,c=t.expected,p=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=i)r=o(this,f(e).call(this,String(i)));else if(n.stderr&&n.stderr.isTTY&&(n.stderr&&n.stderr.getColorDepth&&1!==n.stderr.getColorDepth()?(g="",y="",x="",m=""):(g="",y="",x="",m="")),"object"===h(u)&&null!==u&&"object"===h(c)&&null!==c&&"stack"in u&&u instanceof Error&&"stack"in c&&c instanceof Error&&(u=_(u),c=_(c)),"deepStrictEqual"===a||"strictEqual"===a)r=o(this,f(e).call(this,function(t,e,r){var i="",a="",o=0,s="",l=!1,u=w(t),c=u.split("\n"),f=w(e).split("\n"),p=0,d="";if("strictEqual"===r&&"object"===h(t)&&"object"===h(e)&&null!==t&&null!==e&&(r="strictEqualObject"),1===c.length&&1===f.length&&c[0]!==f[0]){var _=c[0].length+f[0].length;if(_<=10){if(!("object"===h(t)&&null!==t||"object"===h(e)&&null!==e||0===t&&0===e))return"".concat(b[r],"\n\n")+"".concat(c[0]," !== ").concat(f[0],"\n")}else if("strictEqualObject"!==r&&_<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;c[0][p]===f[0][p];)p++;p>2&&(d="\n ".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return"";var r=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,r-t.length)}(" ",p),"^"),p=0)}}for(var T=c[c.length-1],k=f[f.length-1];T===k&&(p++<2?s="\n ".concat(T).concat(s):i=T,c.pop(),f.pop(),0!==c.length&&0!==f.length);)T=c[c.length-1],k=f[f.length-1];var A=Math.max(c.length,f.length);if(0===A){var M=u.split("\n");if(M.length>30)for(M[26]="".concat(g,"...").concat(x);M.length>27;)M.pop();return"".concat(b.notIdentical,"\n\n").concat(M.join("\n"),"\n")}p>3&&(s="\n".concat(g,"...").concat(x).concat(s),l=!0),""!==i&&(s="\n ".concat(i).concat(s),i="");var S=0,E=b[r]+"\n".concat(y,"+ actual").concat(x," ").concat(m,"- expected").concat(x),L=" ".concat(g,"...").concat(x," Lines skipped");for(p=0;p1&&p>2&&(C>4?(a+="\n".concat(g,"...").concat(x),l=!0):C>3&&(a+="\n ".concat(f[p-2]),S++),a+="\n ".concat(f[p-1]),S++),o=p,i+="\n".concat(m,"-").concat(x," ").concat(f[p]),S++;else if(f.length1&&p>2&&(C>4?(a+="\n".concat(g,"...").concat(x),l=!0):C>3&&(a+="\n ".concat(c[p-2]),S++),a+="\n ".concat(c[p-1]),S++),o=p,a+="\n".concat(y,"+").concat(x," ").concat(c[p]),S++;else{var P=f[p],O=c[p],I=O!==P&&(!v(O,",")||O.slice(0,-1)!==P);I&&v(P,",")&&P.slice(0,-1)===O&&(I=!1,O+=","),I?(C>1&&p>2&&(C>4?(a+="\n".concat(g,"...").concat(x),l=!0):C>3&&(a+="\n ".concat(c[p-2]),S++),a+="\n ".concat(c[p-1]),S++),o=p,a+="\n".concat(y,"+").concat(x," ").concat(O),i+="\n".concat(m,"-").concat(x," ").concat(P),S+=2):(a+=i,i="",1!==C&&0!==p||(a+="\n ".concat(O),S++))}if(S>20&&p30)for(k[26]="".concat(g,"...").concat(x);k.length>27;)k.pop();r=1===k.length?o(this,f(e).call(this,"".concat(T," ").concat(k[0]))):o(this,f(e).call(this,"".concat(T,"\n\n").concat(k.join("\n"),"\n")))}else{var A=w(u),M="",S=b[a];"notDeepEqual"===a||"notEqual"===a?(A="".concat(b[a],"\n\n").concat(A)).length>1024&&(A="".concat(A.slice(0,1021),"...")):(M="".concat(w(c)),A.length>512&&(A="".concat(A.slice(0,509),"...")),M.length>512&&(M="".concat(M.slice(0,509),"...")),"deepEqual"===a||"equal"===a?A="".concat(S,"\n\n").concat(A,"\n\nshould equal\n\n"):M=" ".concat(a," ").concat(M)),r=o(this,f(e).call(this,"".concat(A).concat(M)))}return Error.stackTraceLimit=p,r.generatedMessage=!i,Object.defineProperty(s(r),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),r.code="ERR_ASSERTION",r.actual=u,r.expected=c,r.operator=a,Error.captureStackTrace&&Error.captureStackTrace(s(r),l),r.stack,r.name="AssertionError",o(r)}var r,l;return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&c(t,e)}(e,t),r=e,l=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:p.custom,value:function(t,e){return p(this,function(t){for(var e=1;e2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}u("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),u("ERR_INVALID_ARG_TYPE",(function(t,e,i){var a,s,l,u,f;if(void 0===o&&(o=r(45408)),o("string"==typeof t,"'name' must be a string"),"string"==typeof e&&(s="not ",e.substr(0,4)===s)?(a="must not be",e=e.replace(/^not /,"")):a="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))l="The ".concat(t," ").concat(a," ").concat(c(e,"type"));else{var h=("number"!=typeof f&&(f=0),f+1>(u=t).length||-1===u.indexOf(".",f)?"argument":"property");l='The "'.concat(t,'" ').concat(h," ").concat(a," ").concat(c(e,"type"))}return l+". Received type ".concat(n(i))}),TypeError),u("ERR_INVALID_ARG_VALUE",(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===s&&(s=r(35840));var i=s.inspect(e);return i.length>128&&(i="".concat(i.slice(0,128),"...")),"The argument '".concat(t,"' ").concat(n,". Received ").concat(i)}),TypeError,RangeError),u("ERR_INVALID_RETURN_VALUE",(function(t,e,r){var i;return i=r&&r.constructor&&r.constructor.name?"instance of ".concat(r.constructor.name):"type ".concat(n(r)),"Expected ".concat(t,' to be returned from the "').concat(e,'"')+" function but got ".concat(i,".")}),TypeError),u("ERR_MISSING_ARGS",(function(){for(var t=arguments.length,e=new Array(t),n=0;n0,"At least one arg needs to be specified");var i="The ",a=e.length;switch(e=e.map((function(t){return'"'.concat(t,'"')})),a){case 1:i+="".concat(e[0]," argument");break;case 2:i+="".concat(e[0]," and ").concat(e[1]," arguments");break;default:i+=e.slice(0,a-1).join(", "),i+=", and ".concat(e[a-1]," arguments")}return"".concat(i," must be specified")}),TypeError),t.exports.codes=l},25116:function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{n||null==s.return||s.return()}finally{if(i)throw a}}return r}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function i(t){return i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},i(t)}var a=void 0!==/a/g.flags,o=function(t){var e=[];return t.forEach((function(t){return e.push(t)})),e},s=function(t){var e=[];return t.forEach((function(t,r){return e.push([r,t])})),e},l=Object.is?Object.is:r(39896),u=Object.getOwnPropertySymbols?Object.getOwnPropertySymbols:function(){return[]},c=Number.isNaN?Number.isNaN:r(1560);function f(t){return t.call.bind(t)}var h=f(Object.prototype.hasOwnProperty),p=f(Object.prototype.propertyIsEnumerable),d=f(Object.prototype.toString),v=r(35840).types,g=v.isAnyArrayBuffer,y=v.isArrayBufferView,m=v.isDate,x=v.isMap,b=v.isRegExp,_=v.isSet,w=v.isNativeError,T=v.isBoxedPrimitive,k=v.isNumberObject,A=v.isStringObject,M=v.isBooleanObject,S=v.isBigIntObject,E=v.isSymbolObject,L=v.isFloat32Array,C=v.isFloat64Array;function P(t){if(0===t.length||t.length>10)return!0;for(var e=0;e57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function O(t){return Object.keys(t).filter(P).concat(u(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function I(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i>2],a+=n[(3&r[e])<<4|r[e+1]>>4],a+=n[(15&r[e+1])<<2|r[e+2]>>6],a+=n[63&r[e+2]];return i%3==2?a=a.substring(0,a.length-1)+"=":i%3==1&&(a=a.substring(0,a.length-2)+"=="),a},s=function(t){var e,r,n,a,o,s=.75*t.length,l=t.length,u=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var c=new ArrayBuffer(s),f=new Uint8Array(c);for(e=0;e>4,f[u++]=(15&n)<<4|a>>2,f[u++]=(3&a)<<6|63&o;return c}},59968:function(t,e){"use strict";e.byteLength=function(t){var e=s(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,a=s(t),o=a[0],l=a[1],u=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,l)),c=0,f=l>0?o-4:o;for(r=0;r>16&255,u[c++]=e>>8&255,u[c++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,u[c++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,u[c++]=e>>8&255,u[c++]=255&e),u},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,u=n-i;su?u:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},64928:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},308:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},29620:function(t,e,r){"use strict";var n=r(32420);t.exports=function(t,e){e||(e={});var r,o,s,l,u,c,f,h,p,d,v,g=null==e.cutoff?.25:e.cutoff,y=null==e.radius?8:e.radius,m=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,c=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(f=(h=t).getContext("2d"),r=h.width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(f=t,r=(h=t.canvas).width,o=h.height,l=(p=f.getImageData(0,0,r,o)).data,c=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,c=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(u=l,l=Array(r*o),d=0,v=u.length;d-1?i(r):r}},57916:function(t,e,r){"use strict";var n=r(8844),i=r(53664),a=r(14500),o=i("%TypeError%"),s=i("%Function.prototype.apply%"),l=i("%Function.prototype.call%"),u=i("%Reflect.apply%",!0)||n.call(l,s),c=i("%Object.defineProperty%",!0),f=i("%Math.max%");if(c)try{c({},"a",{value:1})}catch(t){c=null}t.exports=function(t){if("function"!=typeof t)throw new o("a function is required");var e=u(n,l,arguments);return a(e,1+f(0,t.length-(arguments.length-1)),!0)};var h=function(){return u(n,s,arguments)};c?c(t.exports,"apply",{value:h}):t.exports.apply=h},32420:function(t){t.exports=function(t,e,r){return er?r:t:te?e:t}},3808:function(t,e,r){"use strict";var n=r(32420);function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(255&n(o,0,255))}t.exports=i,t.exports.to=i,t.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},17592:function(t){"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},72160:function(t,e,r){"use strict";var n=r(96824),i=r(32420),a=r(72512);t.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(a(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},96824:function(t,e,r){"use strict";var n=r(95532),i=r(53576),a=r(32420);t.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},95532:function(t,e,r){"use strict";var n=r(17592);t.exports=function(t){var e,r,a=[],o=1;if("string"==typeof t)if(t=t.toLowerCase(),n[t])a=n[t].slice(),r="rgb";else if("transparent"===t)o=0,r="rgb",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var s=t.slice(1);o=1,(c=s.length)<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===c&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===c&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),r="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var l=e[1],u="rgb"===l;r=s=l.replace(/a$/,"");var c="cmyk"===s?4:"gray"===s?1:3;a=e[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(t,e){if(/%$/.test(t))return e===c?parseFloat(t)/100:"rgb"===s?255*parseFloat(t)/100:parseFloat(t);if("h"===s[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==i[t])return i[t]}return parseFloat(t)})),l===s&&a.push(1),o=u||void 0===a[c]?1:a[c],a=a.slice(0,c)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(a=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),r=t.match(/([a-z])/gi).join("").toLowerCase());else isNaN(t)?Array.isArray(t)||t.length?(a=[t[0],t[1],t[2]],r="rgb",o=4===t.length?t[3]:1):t instanceof Object&&(null!=t.r||null!=t.red||null!=t.R?(r="rgb",a=[t.r||t.red||t.R||0,t.g||t.green||t.G||0,t.b||t.blue||t.B||0]):(r="hsl",a=[t.h||t.hue||t.H||0,t.s||t.saturation||t.S||0,t.l||t.lightness||t.L||t.b||t.brightness]),o=t.a||t.alpha||t.opacity||1,null!=t.opacity&&(o/=100)):(r="rgb",a=[t>>>16,(65280&t)>>>8,255&t]);return{space:r,values:a,alpha:o}};var i={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},53576:function(t,e,r){"use strict";var n=r(19336);t.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var u=0;u<3;u++)(n=o+1/3*-(u-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[u]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},19336:function(t){"use strict";t.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},36116:function(t){t.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|ç)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|é)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|é)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|ã)o.?tom(e|é)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},42771:function(t,e,r){"use strict";t.exports={parse:r(46416),stringify:r(49395)}},8744:function(t,e,r){"use strict";var n=r(30584);t.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},46416:function(t,e,r){"use strict";var n=r(92384),i=r(68194),a=r(3748),o=r(2904),s=r(47916),l=r(7294),u=r(39956),c=r(8744).isSize;t.exports=h;var f=h.cache={};function h(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(f[t])return f[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==a.indexOf(t))return f[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},h=u(t,/\s+/);e=h.shift();){if(-1!==i.indexOf(e))return["style","variant","weight","stretch"].forEach((function(t){r[t]=e})),f[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(c(e)){var d=u(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===h[0]&&(h.shift(),r.lineHeight=p(h.shift())),!h.length)throw new Error("Missing required font-family.");return r.family=u(h.join(" "),/\s*,\s*/).map(n),f[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},49395:function(t,e,r){"use strict";var n=r(55616),i=r(8744).isSize,a=d(r(68194)),o=d(r(3748)),s=d(r(2904)),l=d(r(47916)),u=d(r(7294)),c={normal:1,"small-caps":1},f={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},h="serif";function p(t,e){if(t&&!e[t]&&!a[t])throw Error("Unknown keyword `"+t+"`");return t}function d(t){for(var e={},r=0;re?1:t>=e?0:NaN}r.d(e,{XE:function(){return n},kv:function(){return s},mo:function(){return u},Uf:function(){return c},SY:function(){return f},ik:function(){return h},oh:function(){return p}}),1===(i=n).length&&(a=i,i=function(t,e){return n(a(t),e)});var i,a,o=Array.prototype;function s(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n}function l(t){return null===t?NaN:+t}function u(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r}function f(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function h(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n=n.length)return null!=t&&r.sort(t),null!=e?e(r):r;for(var u,c,f,h=-1,p=r.length,d=n[i++],v=o(),g=s();++hn.length)return t;var a,o=i[r-1];return null!=e&&r>=n.length?a=t.entries():(a=[],t.each((function(t,e){a.push({key:e,values:s(t,r)})}))),null!=o?a.sort((function(t,e){return o(t.key,e.key)})):a}return r={object:function(t){return a(t,0,l,u)},map:function(t){return a(t,0,c,f)},entries:function(t){return s(a(t,0,c,f),0)},key:function(t){return n.push(t),r},sortKeys:function(t){return i[n.length-1]=t,r},sortValues:function(e){return t=e,r},rollup:function(t){return e=t,r}}}function l(){return{}}function u(t,e,r){t[e]=r}function c(){return o()}function f(t,e,r){t.set(e,r)}function h(){}var p=o.prototype;h.prototype=function(t,e){var r=new h;if(t instanceof h)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o,i=p,!(p=p[f=c<<1|u]))return i[f]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[f]=d:t._root=d,t;do{i=i?i[f]=new Array(4):t._root=new Array(4),(u=e>=(a=(v+y)/2))?v=a:y=a,(c=r>=(o=(g+m)/2))?g=o:m=o}while((f=c<<1|u)==(h=(l>=o)<<1|s>=a));return i[h]=p,i[f]=d,t}function s(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function l(t){return t[0]}function u(t){return t[1]}function c(t,e,r){var n=new f(null==e?l:e,null==r?u:r,NaN,NaN,NaN,NaN);return null==t?n:n.addAll(t)}function f(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function h(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}r.r(e),r.d(e,{forceCenter:function(){return n},forceCollide:function(){return g},forceLink:function(){return b},forceManyBody:function(){return K},forceRadial:function(){return J},forceSimulation:function(){return Z},forceX:function(){return $},forceY:function(){return Q}});var p=c.prototype=f.prototype;function d(t){return t.x+t.vx}function v(t){return t.y+t.vy}function g(t){var e,r,n=1,o=1;function s(){for(var t,i,s,u,f,h,p,g=e.length,y=0;yu+d||if+d||os.index){var v=u-l.x-l.vx,g=f-l.y-l.vy,y=v*v+g*g;yt.r&&(t.r=t[e].r)}function u(){if(e){var n,i,a=e.length;for(r=new Array(a),n=0;nf&&(f=n),ih&&(h=i));if(u>f||c>h)return this;for(this.cover(u,c).cover(f,h),r=0;rt||t>=i||n>e||e>=a;)switch(s=(ep||(a=u.y0)>d||(o=u.x1)=m)<<1|t>=y)&&(u=v[v.length-1],v[v.length-1]=v[v.length-1-c],v[v.length-1-c]=u)}else{var x=t-+this._x.call(null,g.data),b=e-+this._y.call(null,g.data),_=x*x+b*b;if(_=(s=(d+g)/2))?d=s:g=s,(c=o>=(l=(v+y)/2))?v=l:y=l,e=p,!(p=p[f=c<<1|u]))return this;if(!p.length)break;(e[f+1&3]||e[f+2&3]||e[f+3&3])&&(r=e,h=f)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[f]=i:delete e[f],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[h]=p:this._root=p),this):(this._root=i,this)},p.removeAll=function(t){for(var e=0,r=t.length;e=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),o=-1,s=a.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++o0)for(var r,n,i=new Array(r),a=0;a=0&&e._call.call(null,t),e=e._next;--L}()}finally{L=0,function(){for(var t,e,r=M,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:M=e);S=t,H(n)}(),z=0}}function q(){var t=R.now(),e=t-I;e>O&&(D-=e,I=t)}function H(t){L||(C&&(C=clearTimeout(C)),t-z>24?(t<1/0&&(C=setTimeout(V,t-R.now()-D)),P&&(P=clearInterval(P))):(P||(I=R.now(),P=setInterval(q,O)),L=1,F(V)))}function G(t){return t.x}function W(t){return t.y}j.prototype=U.prototype={constructor:j,restart:function(t,e,r){if("function"!=typeof t)throw new TypeError("callback is not a function");r=(null==r?B():+r)+(null==e?0:+e),this._next||S===this||(S?S._next=this:M=this,S=this),this._call=t,this._time=r,H()},stop:function(){this._call&&(this._call=null,this._time=1/0,H())}};var Y=10,X=Math.PI*(3-Math.sqrt(5));function Z(t){var e,r=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=(0,y.kH)(),l=U(c),u=E("tick","end");function c(){f(),u.call("tick",e),r1?(null==r?s.remove(t):s.set(t,p(r)),e):s.get(t)},find:function(e,r,n){var i,a,o,s,l,u=0,c=t.length;for(null==n?n=1/0:n*=n,u=0;u1?(u.on(t,r),e):u.on(t)}}}function K(){var t,e,r,n,o=i(-30),s=1,l=1/0,u=.81;function f(n){var i,a=t.length,o=c(t,G,W).visitAfter(p);for(r=n,i=0;i=l)){(t.data!==e||t.next)&&(0===f&&(d+=(f=a())*f),0===h&&(d+=(h=a())*h),d1?n[0]+n.slice(2):n,+t.slice(r+1)]}r.d(e,{E9:function(){return h},SO:function(){return v}});var i,a=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(t){if(!(e=a.exec(t)))throw new Error("invalid format: "+t);var e;return new s({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function s(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function l(t,e){var r=n(t,e);if(!r)return t+"";var i=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+new Array(a-i.length+2).join("0")}o.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var u={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return l(100*t,e)},r:l,s:function(t,e){var r=n(t,e);if(!r)return t+"";var a=r[0],o=r[1],s=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+n(t,Math.max(0,e+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function c(t){return t}var f,h,p=Array.prototype.map,d=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function v(t){var e,r,a=void 0===t.grouping||void 0===t.thousands?c:(e=p.call(t.grouping,Number),r=t.thousands+"",function(t,n){for(var i=t.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(r)}),s=void 0===t.currency?"":t.currency[0]+"",l=void 0===t.currency?"":t.currency[1]+"",f=void 0===t.decimal?".":t.decimal+"",h=void 0===t.numerals?c:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(p.call(t.numerals,String)),v=void 0===t.percent?"%":t.percent+"",g=void 0===t.minus?"-":t.minus+"",y=void 0===t.nan?"NaN":t.nan+"";function m(t){var e=(t=o(t)).fill,r=t.align,n=t.sign,c=t.symbol,p=t.zero,m=t.width,x=t.comma,b=t.precision,_=t.trim,w=t.type;"n"===w?(x=!0,w="g"):u[w]||(void 0===b&&(b=12),_=!0,w="g"),(p||"0"===e&&"="===r)&&(p=!0,e="0",r="=");var T="$"===c?s:"#"===c&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",k="$"===c?l:/[%p]/.test(w)?v:"",A=u[w],M=/[defgprs%]/.test(w);function S(t){var o,s,l,u=T,c=k;if("c"===w)c=A(t)+c,t="";else{var v=(t=+t)<0||1/t<0;if(t=isNaN(t)?y:A(Math.abs(t),b),_&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),v&&0==+t&&"+"!==n&&(v=!1),u=(v?"("===n?n:g:"-"===n||"("===n?"":n)+u,c=("s"===w?d[8+i/3]:"")+c+(v&&"("===n?")":""),M)for(o=-1,s=t.length;++o(l=t.charCodeAt(o))||l>57){c=(46===l?f+t.slice(o+1):t.slice(o))+c,t=t.slice(0,o);break}}x&&!p&&(t=a(t,1/0));var S=u.length+t.length+c.length,E=S>1)+u+t+c+E.slice(S);break;default:t=E+u+t+c}return h(t)}return b=void 0===b?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,b)):Math.max(0,Math.min(20,b)),S.toString=function(){return t+""},S}return{format:m,formatPrefix:function(t,e){var r,i=m(((t=o(t)).type="f",t)),a=3*Math.max(-8,Math.min(8,Math.floor((r=e,((r=n(Math.abs(r)))?r[1]:NaN)/3)))),s=Math.pow(10,-a),l=d[8+a/3];return function(t){return i(s*t)+l}}}}f=v({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),h=f.format,f.formatPrefix},87108:function(t,e,r){"use strict";r.r(e),r.d(e,{geoAiry:function(){return D},geoAiryRaw:function(){return z},geoAitoff:function(){return F},geoAitoffRaw:function(){return R},geoArmadillo:function(){return N},geoArmadilloRaw:function(){return B},geoAugust:function(){return U},geoAugustRaw:function(){return j},geoBaker:function(){return G},geoBakerRaw:function(){return H},geoBerghaus:function(){return X},geoBerghausRaw:function(){return Y},geoBertin1953:function(){return rt},geoBertin1953Raw:function(){return et},geoBoggs:function(){return ct},geoBoggsRaw:function(){return ut},geoBonne:function(){return vt},geoBonneRaw:function(){return dt},geoBottomley:function(){return yt},geoBottomleyRaw:function(){return gt},geoBromley:function(){return xt},geoBromleyRaw:function(){return mt},geoChamberlin:function(){return Et},geoChamberlinAfrica:function(){return St},geoChamberlinRaw:function(){return At},geoCollignon:function(){return Ct},geoCollignonRaw:function(){return Lt},geoCraig:function(){return Ot},geoCraigRaw:function(){return Pt},geoCraster:function(){return Dt},geoCrasterRaw:function(){return zt},geoCylindricalEqualArea:function(){return Ft},geoCylindricalEqualAreaRaw:function(){return Rt},geoCylindricalStereographic:function(){return Nt},geoCylindricalStereographicRaw:function(){return Bt},geoEckert1:function(){return Ut},geoEckert1Raw:function(){return jt},geoEckert2:function(){return qt},geoEckert2Raw:function(){return Vt},geoEckert3:function(){return Gt},geoEckert3Raw:function(){return Ht},geoEckert4:function(){return Yt},geoEckert4Raw:function(){return Wt},geoEckert5:function(){return Zt},geoEckert5Raw:function(){return Xt},geoEckert6:function(){return Jt},geoEckert6Raw:function(){return Kt},geoEisenlohr:function(){return te},geoEisenlohrRaw:function(){return Qt},geoFahey:function(){return ne},geoFaheyRaw:function(){return re},geoFoucaut:function(){return ae},geoFoucautRaw:function(){return ie},geoFoucautSinusoidal:function(){return se},geoFoucautSinusoidalRaw:function(){return oe},geoGilbert:function(){return he},geoGingery:function(){return ge},geoGingeryRaw:function(){return pe},geoGinzburg4:function(){return xe},geoGinzburg4Raw:function(){return me},geoGinzburg5:function(){return _e},geoGinzburg5Raw:function(){return be},geoGinzburg6:function(){return Te},geoGinzburg6Raw:function(){return we},geoGinzburg8:function(){return Ae},geoGinzburg8Raw:function(){return ke},geoGinzburg9:function(){return Se},geoGinzburg9Raw:function(){return Me},geoGringorten:function(){return Ce},geoGringortenQuincuncial:function(){return ii},geoGringortenRaw:function(){return Le},geoGuyou:function(){return ze},geoGuyouRaw:function(){return Ie},geoHammer:function(){return $},geoHammerRaw:function(){return K},geoHammerRetroazimuthal:function(){return Be},geoHammerRetroazimuthalRaw:function(){return Re},geoHealpix:function(){return Ye},geoHealpixRaw:function(){return qe},geoHill:function(){return Ze},geoHillRaw:function(){return Xe},geoHomolosine:function(){return er},geoHomolosineRaw:function(){return tr},geoHufnagel:function(){return nr},geoHufnagelRaw:function(){return rr},geoHyperelliptical:function(){return sr},geoHyperellipticalRaw:function(){return or},geoInterrupt:function(){return cr},geoInterruptedBoggs:function(){return hr},geoInterruptedHomolosine:function(){return dr},geoInterruptedMollweide:function(){return gr},geoInterruptedMollweideHemispheres:function(){return mr},geoInterruptedQuarticAuthalic:function(){return fn},geoInterruptedSinuMollweide:function(){return br},geoInterruptedSinusoidal:function(){return wr},geoKavrayskiy7:function(){return kr},geoKavrayskiy7Raw:function(){return Tr},geoLagrange:function(){return Mr},geoLagrangeRaw:function(){return Ar},geoLarrivee:function(){return Lr},geoLarriveeRaw:function(){return Er},geoLaskowski:function(){return Pr},geoLaskowskiRaw:function(){return Cr},geoLittrow:function(){return Ir},geoLittrowRaw:function(){return Or},geoLoximuthal:function(){return Dr},geoLoximuthalRaw:function(){return zr},geoMiller:function(){return Fr},geoMillerRaw:function(){return Rr},geoModifiedStereographic:function(){return Zr},geoModifiedStereographicAlaska:function(){return Hr},geoModifiedStereographicGs48:function(){return Gr},geoModifiedStereographicGs50:function(){return Wr},geoModifiedStereographicLee:function(){return Xr},geoModifiedStereographicMiller:function(){return Yr},geoModifiedStereographicRaw:function(){return Br},geoMollweide:function(){return ot},geoMollweideRaw:function(){return at},geoMtFlatPolarParabolic:function(){return Qr},geoMtFlatPolarParabolicRaw:function(){return $r},geoMtFlatPolarQuartic:function(){return en},geoMtFlatPolarQuarticRaw:function(){return tn},geoMtFlatPolarSinusoidal:function(){return nn},geoMtFlatPolarSinusoidalRaw:function(){return rn},geoNaturalEarth:function(){return an.c},geoNaturalEarth2:function(){return sn},geoNaturalEarth2Raw:function(){return on},geoNaturalEarthRaw:function(){return an.g},geoNellHammer:function(){return un},geoNellHammerRaw:function(){return ln},geoNicolosi:function(){return pn},geoNicolosiRaw:function(){return hn},geoPatterson:function(){return kn},geoPattersonRaw:function(){return Tn},geoPeirceQuincuncial:function(){return ai},geoPierceQuincuncial:function(){return ai},geoPolyconic:function(){return Mn},geoPolyconicRaw:function(){return An},geoPolyhedral:function(){return On},geoPolyhedralButterfly:function(){return Nn},geoPolyhedralCollignon:function(){return Vn},geoPolyhedralWaterman:function(){return qn},geoProject:function(){return Xn},geoQuantize:function(){return oi},geoQuincuncial:function(){return ni},geoRectangularPolyconic:function(){return li},geoRectangularPolyconicRaw:function(){return si},geoRobinson:function(){return fi},geoRobinsonRaw:function(){return ci},geoSatellite:function(){return pi},geoSatelliteRaw:function(){return hi},geoSinuMollweide:function(){return Qe},geoSinuMollweideRaw:function(){return $e},geoSinusoidal:function(){return pt},geoSinusoidalRaw:function(){return ht},geoStitch:function(){return Oi},geoTimes:function(){return zi},geoTimesRaw:function(){return Ii},geoTwoPointAzimuthal:function(){return Bi},geoTwoPointAzimuthalRaw:function(){return Ri},geoTwoPointAzimuthalUsa:function(){return Fi},geoTwoPointEquidistant:function(){return Ui},geoTwoPointEquidistantRaw:function(){return Ni},geoTwoPointEquidistantUsa:function(){return ji},geoVanDerGrinten:function(){return qi},geoVanDerGrinten2:function(){return Gi},geoVanDerGrinten2Raw:function(){return Hi},geoVanDerGrinten3:function(){return Yi},geoVanDerGrinten3Raw:function(){return Wi},geoVanDerGrinten4:function(){return Zi},geoVanDerGrinten4Raw:function(){return Xi},geoVanDerGrintenRaw:function(){return Vi},geoWagner:function(){return Ji},geoWagner4:function(){return ra},geoWagner4Raw:function(){return ea},geoWagner6:function(){return ia},geoWagner6Raw:function(){return na},geoWagner7:function(){return $i},geoWagnerRaw:function(){return Ki},geoWiechel:function(){return oa},geoWiechelRaw:function(){return aa},geoWinkel3:function(){return la},geoWinkel3Raw:function(){return sa}});var n=r(87952),i=Math.abs,a=Math.atan,o=Math.atan2,s=(Math.ceil,Math.cos),l=Math.exp,u=Math.floor,c=Math.log,f=Math.max,h=Math.min,p=Math.pow,d=Math.round,v=Math.sign||function(t){return t>0?1:t<0?-1:0},g=Math.sin,y=Math.tan,m=1e-6,x=1e-12,b=Math.PI,_=b/2,w=b/4,T=Math.SQRT1_2,k=P(2),A=P(b),M=2*b,S=180/b,E=b/180;function L(t){return t>1?_:t<-1?-_:Math.asin(t)}function C(t){return t>1?0:t<-1?b:Math.acos(t)}function P(t){return t>0?Math.sqrt(t):0}function O(t){return(l(t)-l(-t))/2}function I(t){return(l(t)+l(-t))/2}function z(t){var e=y(t/2),r=2*c(s(t/2))/(e*e);function n(t,e){var n=s(t),i=s(e),a=g(e),o=i*n,l=-((1-o?c((1+o)/2)/(1-o):-.5)+r/(1+o));return[l*i*g(t),l*a]}return n.invert=function(e,n){var a,l=P(e*e+n*n),u=-t/2,f=50;if(!l)return[0,0];do{var h=u/2,p=s(h),d=g(h),v=d/p,y=-c(i(p));u-=a=(2/v*y-r*v-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(i(a)>m&&--f>0);var x=g(u);return[o(e*x,l*s(u)),L(n*x/l)]},n}function D(){var t=_,e=(0,n.U)(z),r=e(t);return r.radius=function(r){return arguments.length?e(t=r*E):t*S},r.scale(179.976).clipAngle(147)}function R(t,e){var r=s(e),n=function(t){return t?t/Math.sin(t):1}(C(r*s(t/=2)));return[2*r*g(t)*n,g(e)*n]}function F(){return(0,n.c)(R).scale(152.63)}function B(t){var e=g(t),r=s(t),n=t>=0?1:-1,a=y(n*t),l=(1+e-r)/2;function u(t,i){var u=s(i),c=s(t/=2);return[(1+u)*g(t),(n*i>-o(c,a)-.001?0:10*-n)+l+g(i)*r-(1+u)*e*c]}return u.invert=function(t,u){var c=0,f=0,h=50;do{var p=s(c),d=g(c),v=s(f),y=g(f),x=1+v,b=x*d-t,_=l+y*r-x*e*p-u,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*v+e*p*y,M=T*k-A*w,S=(_*T-b*A)/M/2,E=(b*k-_*w)/M;i(E)>2&&(E/=2),c-=S,f-=E}while((i(S)>m||i(E)>m)&&--h>0);return n*f>-o(s(c),a)-.001?[2*c,f]:null},u}function N(){var t=20*E,e=t>=0?1:-1,r=y(e*t),i=(0,n.U)(B),a=i(t),l=a.stream;return a.parallel=function(n){return arguments.length?(r=y((e=(t=n*E)>=0?1:-1)*t),i(t)):t*S},a.stream=function(n){var i=a.rotate(),u=l(n),c=(a.rotate([0,0]),l(n)),f=a.precision();return a.rotate(i),u.sphere=function(){c.polygonStart(),c.lineStart();for(var n=-180*e;e*n<180;n+=90*e)c.point(n,90*e);if(t)for(;e*(n-=3*e*f)>=-180;)c.point(n,e*-o(s(n*E/2),r)*S);c.lineEnd(),c.polygonEnd()},u},a.scale(218.695).center([0,28.0974])}function j(t,e){var r=y(e/2),n=P(1-r*r),i=1+n*s(t/=2),a=g(t)*n/i,o=r/i,l=a*a,u=o*o;return[4/3*a*(3+l-3*u),4/3*o*(3+3*l-u)]}function U(){return(0,n.c)(j).scale(66.1603)}R.invert=function(t,e){if(!(t*t+4*e*e>b*b+m)){var r=t,n=e,a=25;do{var o,l=g(r),u=g(r/2),c=s(r/2),f=g(n),h=s(n),p=g(2*n),d=f*f,v=h*h,y=u*u,x=1-v*c*c,_=x?C(h*c)*P(o=1/x):o=0,w=2*_*h*u-t,T=_*f-e,k=o*(v*y+_*h*c*d),A=o*(.5*l*p-2*_*f*u),M=.25*o*(p*u-_*f*v*l),S=o*(d*c+_*y*h),E=A*M-S*k;if(!E)break;var L=(T*A-w*S)/E,O=(w*M-T*k)/E;r-=L,n-=O}while((i(L)>m||i(O)>m)&&--a>0);return[r,n]}},j.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&i(e)>1)return null;var r=1+t*t+e*e,n=P((r-P(r*r-4*e*e))/2),a=L(n)/3,l=n?function(t){return c(t+P(t*t-1))}(i(e/n))/3:function(t){return c(t+P(t*t+1))}(i(t))/3,u=s(a),f=I(l),h=f*f-u*u;return[2*v(t)*o(O(l)*u,.25-h),2*v(e)*o(f*g(a),.25+h)]};var V=P(8),q=c(1+k);function H(t,e){var r=i(e);return rx&&--u>0);return[t/(s(o)*(V-1/g(o))),v(e)*o]};var W=r(69020);function Y(t){var e=2*b/t;function r(t,r){var n=(0,W.O)(t,r);if(i(t)>_){var a=o(n[1],n[0]),l=P(n[0]*n[0]+n[1]*n[1]),u=e*d((a-_)/e)+_,c=o(g(a-=u),2-s(a));a=u+L(b/l*g(c))-c,n[0]=l*s(a),n[1]=l*g(a)}return n}return r.invert=function(t,r){var n=P(t*t+r*r);if(n>_){var i=o(r,t),l=e*d((i-_)/e)+_,u=i>l?-1:1,c=n*s(l-i),f=1/y(u*C((c-b)/P(b*(b-2*c)+n*n)));i=l+2*a((f+u*P(f*f-3))/3),t=n*s(i),r=n*g(i)}return W.O.invert(t,r)},r}function X(){var t=5,e=(0,n.U)(Y),r=e(t),i=r.stream,a=.01,l=-s(a*E),u=g(a*E);return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),c=i(e),f=(r.rotate([0,0]),i(e));return r.rotate(n),c.sphere=function(){f.polygonStart(),f.lineStart();for(var e=0,r=360/t,n=2*b/t,i=90-180/t,c=_;e0&&i(n)>m);return s<0?NaN:r}function tt(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=x),function(n,a,o,s){var l,u,c;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var f=0;fl)o-=u/=2,s-=c/=2;else{l=v;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,m=t(o+g,s),x=t(o,s+y),b=(m[0]-h[0])/g,_=(m[1]-h[1])/g,w=(x[0]-h[0])/y,T=(x[1]-h[1])/y,k=T*b-_*w,A=(i(k)<.5?.5:1)/k;if(o+=u=(d*w-p*T)*A,s+=c=(p*_-d*b)*A,i(u)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=tt(e),e}function rt(){return(0,n.c)(et()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function nt(t,e){var r,n=t*g(e),a=30;do{e-=r=(e+g(e)-n)/(1+s(e))}while(i(r)>m&&--a>0);return e/2}function it(t,e,r){function n(n,i){return[t*n*s(i=nt(r,i)),e*g(i)]}return n.invert=function(n,i){return i=L(i/e),[n/(t*s(i)),L((2*i+g(2*i))/r)]},n}J.invert=function(t,e){var r=2*L(e/2);return[t*s(r/2)/s(r),r]};var at=it(k/_,k,b);function ot(){return(0,n.c)(at).scale(169.529)}var st=2.00276,lt=1.11072;function ut(t,e){var r=nt(b,e);return[st*t/(1/s(e)+lt/s(r)),(e+k*g(r))/st]}function ct(){return(0,n.c)(ut).scale(160.857)}function ft(t){var e=0,r=(0,n.U)(t),i=r(e);return i.parallel=function(t){return arguments.length?r(e=t*E):e*S},i}function ht(t,e){return[t*s(e),e]}function pt(){return(0,n.c)(ht).scale(152.63)}function dt(t){if(!t)return ht;var e=1/y(t);function r(r,n){var i=e+t-n,a=i?r*s(n)/i:i;return[i*g(a),e-i*s(a)]}return r.invert=function(r,n){var i=P(r*r+(n=e-n)*n),a=e+t-i;return[i/s(a)*o(r,n),a]},r}function vt(){return ft(dt).scale(123.082).center([0,26.1441]).parallel(45)}function gt(t){function e(e,r){var n=_-r,i=n?e*t*g(n)/n:n;return[n*g(i)/t,_-n*s(i)]}return e.invert=function(e,r){var n=e*t,i=_-r,a=P(n*n+i*i),s=o(n,i);return[(a?a/g(a):1)*s/t,_-a]},e}function yt(){var t=.5,e=(0,n.U)(gt),r=e(t);return r.fraction=function(r){return arguments.length?e(t=+r):t},r.scale(158.837)}ut.invert=function(t,e){var r,n,a=st*e,o=e<0?-w:w,l=25;do{n=a-k*g(o),o-=r=(g(2*o)+2*o-b*g(n))/(2*s(2*o)+2+b*s(n)*k*s(o))}while(i(r)>m&&--l>0);return n=a-k*g(o),[t*(1/s(n)+lt/s(o))/st,n]},ht.invert=function(t,e){return[t/s(e),e]};var mt=it(1,4/b,b);function xt(){return(0,n.c)(mt).scale(152.63)}var bt=r(24052),_t=r(92992);function wt(t,e,r,n,a,l){var u,c=s(l);if(i(t)>1||i(l)>1)u=C(r*a+e*n*c);else{var f=g(t/2),h=g(l/2);u=2*L(P(f*f+e*n*h*h))}return i(u)>m?[u,o(n*g(l),e*a-r*n*c)]:[0,0]}function Tt(t,e,r){return C((t*t+e*e-r*r)/(2*t*e))}function kt(t){return t-2*b*u((t+b)/(2*b))}function At(t,e,r){for(var n,i=[[t[0],t[1],g(t[1]),s(t[1])],[e[0],e[1],g(e[1]),s(e[1])],[r[0],r[1],g(r[1]),s(r[1])]],a=i[2],o=0;o<3;++o,a=n)n=i[o],a.v=wt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=Tt(i[0].v[0],i[2].v[0],i[1].v[0]),u=Tt(i[0].v[0],i[1].v[0],i[2].v[0]),c=b-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var f=[i[2].point[0]=i[0].point[0]+i[2].v[0]*s(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*g(l))];return function(t,e){var r,n=g(e),a=s(e),o=new Array(3);for(r=0;r<3;++r){var l=i[r];if(o[r]=wt(e-l[1],l[3],l[2],a,n,t-l[0]),!o[r][0])return l.point;o[r][1]=kt(o[r][1]-l.v[1])}var h=f.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=Tt(i[r].v[0],o[r][0],o[p][0]);o[r][1]<0&&(d=-d),r?1==r?(d=u-d,h[0]-=o[r][0]*s(d),h[1]-=o[r][0]*g(d)):(d=c-d,h[0]+=o[r][0]*s(d),h[1]+=o[r][0]*g(d)):(h[0]+=o[r][0]*s(d),h[1]-=o[r][0]*g(d))}return h[0]/=3,h[1]/=3,h}}function Mt(t){return t[0]*=E,t[1]*=E,t}function St(){return Et([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Et(t,e,r){var i=(0,bt.c)({type:"MultiPoint",coordinates:[t,e,r]}),a=[-i[0],-i[1]],o=(0,_t.c)(a),s=At(Mt(o(t)),Mt(o(e)),Mt(o(r)));s.invert=tt(s);var l=(0,n.c)(s).rotate(a),u=l.center;return delete l.rotate,l.center=function(t){return arguments.length?u(o(t)):o.invert(u())},l.clipAngle(90)}function Lt(t,e){var r=P(1-g(e));return[2/A*t*r,A*(1-r)]}function Ct(){return(0,n.c)(Lt).scale(95.6464).center([0,30])}function Pt(t){var e=y(t);function r(t,r){return[t,(t?t/g(t):1)*(g(r)*s(t)-e*s(r))]}return r.invert=e?function(t,r){t&&(r*=g(t)/t);var n=s(t);return[t,2*o(P(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,L(t?e*y(t)/t:e)]},r}function Ot(){return ft(Pt).scale(249.828).clipAngle(90)}Lt.invert=function(t,e){var r=(r=e/A-1)*r;return[r>0?t*P(b/r)/2:0,L(1-r)]};var It=P(3);function zt(t,e){return[It*t*(2*s(2*e/3)-1)/A,It*A*g(e/3)]}function Dt(){return(0,n.c)(zt).scale(156.19)}function Rt(t){var e=s(t);function r(t,r){return[t*e,g(r)/e]}return r.invert=function(t,r){return[t/e,L(r*e)]},r}function Ft(){return ft(Rt).parallel(38.58).scale(195.044)}function Bt(t){var e=s(t);function r(t,r){return[t*e,(1+e)*y(r/2)]}return r.invert=function(t,r){return[t/e,2*a(r/(1+e))]},r}function Nt(){return ft(Bt).scale(124.75)}function jt(t,e){var r=P(8/(3*b));return[r*t*(1-i(e)/b),r*e]}function Ut(){return(0,n.c)(jt).scale(165.664)}function Vt(t,e){var r=P(4-3*g(i(e)));return[2/P(6*b)*t*r,v(e)*P(2*b/3)*(2-r)]}function qt(){return(0,n.c)(Vt).scale(165.664)}function Ht(t,e){var r=P(b*(4+b));return[2/r*t*(1+P(1-4*e*e/(b*b))),4/r*e]}function Gt(){return(0,n.c)(Ht).scale(180.739)}function Wt(t,e){var r=(2+_)*g(e);e/=2;for(var n=0,a=1/0;n<10&&i(a)>m;n++){var o=s(e);e-=a=(e+g(e)*(o+2)-r)/(2*o*(1+o))}return[2/P(b*(4+b))*t*(1+s(e)),2*P(b/(4+b))*g(e)]}function Yt(){return(0,n.c)(Wt).scale(180.739)}function Xt(t,e){return[t*(1+s(e))/P(2+b),2*e/P(2+b)]}function Zt(){return(0,n.c)(Xt).scale(173.044)}function Kt(t,e){for(var r=(1+_)*g(e),n=0,a=1/0;n<10&&i(a)>m;n++)e-=a=(e+g(e)-r)/(1+s(e));return r=P(2+b),[t*(1+s(e))/r,2*e/r]}function Jt(){return(0,n.c)(Kt).scale(173.044)}zt.invert=function(t,e){var r=3*L(e/(It*A));return[A*t/(It*(2*s(2*r/3)-1)),r]},jt.invert=function(t,e){var r=P(8/(3*b)),n=e/r;return[t/(r*(1-i(n)/b)),n]},Vt.invert=function(t,e){var r=2-i(e)/P(2*b/3);return[t*P(6*b)/(2*r),v(e)*L((4-r*r)/3)]},Ht.invert=function(t,e){var r=P(b*(4+b))/2;return[t*r/(1+P(1-e*e*(4+b)/(4*b))),e*r/2]},Wt.invert=function(t,e){var r=e*P((4+b)/b)/2,n=L(r),i=s(n);return[t/(2/P(b*(4+b))*(1+i)),L((n+r*(i+2))/(2+_))]},Xt.invert=function(t,e){var r=P(2+b),n=e*r/2;return[r*t/(1+s(n)),n]},Kt.invert=function(t,e){var r=1+_,n=P(r/2);return[2*t*n/(1+s(e*=n)),L((e+g(e))/r)]};var $t=3+2*k;function Qt(t,e){var r=g(t/=2),n=s(t),i=P(s(e)),o=s(e/=2),l=g(e)/(o+k*n*i),u=P(2/(1+l*l)),f=P((k*o+(n+r)*i)/(k*o+(n-r)*i));return[$t*(u*(f-1/f)-2*c(f)),$t*(u*l*(f+1/f)-2*a(l))]}function te(){return(0,n.c)(Qt).scale(62.5271)}Qt.invert=function(t,e){if(!(r=j.invert(t/1.2,1.065*e)))return null;var r,n=r[0],o=r[1],l=20;t/=$t,e/=$t;do{var u=n/2,p=o/2,d=g(u),v=s(u),y=g(p),x=s(p),b=s(o),w=P(b),A=y/(x+k*v*w),M=A*A,S=P(2/(1+M)),E=(k*x+(v+d)*w)/(k*x+(v-d)*w),L=P(E),C=L-1/L,O=L+1/L,I=S*C-2*c(L)-t,z=S*A*O-2*a(A)-e,D=y&&T*w*d*M/y,R=(k*v*x+w)/(2*(x+k*v*w)*(x+k*v*w)*w),F=-.5*A*S*S*S,B=F*D,N=F*R,U=(U=2*x+k*w*(v-d))*U*L,V=(k*v*x*w+b)/U,q=-k*d*y/(w*U),H=C*B-2*V/L+S*(V+V/E),G=C*N-2*q/L+S*(q+q/E),W=A*O*B-2*D/(1+M)+S*O*D+S*A*(V-V/E),Y=A*O*N-2*R/(1+M)+S*O*R+S*A*(q-q/E),X=G*W-Y*H;if(!X)break;var Z=(z*G-I*Y)/X,K=(I*W-z*H)/X;n-=Z,o=f(-_,h(_,o-K))}while((i(Z)>m||i(K)>m)&&--l>0);return i(i(o)-_)n){var h=P(f),p=o(c,u),v=r*d(p/r),y=p-v,x=t*s(y),w=(t*g(y)-y*g(x))/(_-x),T=de(y,w),k=(b-t)/ve(T,x,b);u=h;var A,M=50;do{u-=A=(t+ve(T,x,u)*k-h)/(T(u)*k)}while(i(A)>m&&--M>0);c=y*g(u),u<_&&(c-=w*(u-_));var S=g(v),E=s(v);l[0]=u*E-c*S,l[1]=u*S+c*E}return l}return a.invert=function(e,a){var l=e*e+a*a;if(l>n){var u=P(l),c=o(a,e),f=r*d(c/r),h=c-f;e=u*s(h),a=u*g(h);for(var p=e-_,v=g(e),y=a/v,m=e<_?1/0:0,w=10;;){var T=t*g(y),k=t*s(y),A=g(k),M=_-k,S=(T-y*A)/M,E=de(y,S);if(i(m)m||i(p)>m)&&--y>0);return[d,v]},c}var me=ye(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function xe(){return(0,n.c)(me).scale(149.995)}var be=ye(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function _e(){return(0,n.c)(be).scale(153.93)}var we=ye(5/6*b,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Te(){return(0,n.c)(we).scale(130.945)}function ke(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}function Ae(){return(0,n.c)(ke).scale(131.747)}ke.invert=function(t,e){var r,n=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(i(r)>m&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=n*n)*l;n-=r=(n*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(i(r)>m&&--o>0);return[n,a]};var Me=ye(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Se(){return(0,n.c)(Me).scale(131.087)}function Ee(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*b,n);return a[0]-=i*e,a}return t.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=t.invert(r+i*e,n),o=a[0]-i*b;return o<-b?o+=2*b:o>b&&(o-=2*b),a[0]=o,a}),r}function Le(t,e){var r=v(t),n=v(e),a=s(e),l=s(t)*a,u=g(t)*a,c=g(n*e);t=i(o(u,c)),e=L(l),i(t-_)>m&&(t%=_);var f=function(t,e){if(e===_)return[0,0];var r,n,a=g(e),o=a*a,l=o*o,u=1+l,c=1+3*l,f=1-l,h=L(1/P(u)),p=f+o*u*h,d=(1-a)/p,v=P(d),y=d*u,x=P(y),w=v*f;if(0===t)return[0,-(w+o*x)];var T,k=s(e),A=1/k,M=2*a*k,S=(-p*k-(1-a)*((-3*o+h*c)*M))/(p*p),E=-A*M,C=-A*(o*u*S+d*c*M),O=-2*A*(f*(.5*S/v)-2*o*v*M),I=4*t/b;if(t>.222*b||e.175*b){if(r=(w+o*P(y*(1+l)-w*w))/(1+l),t>b/4)return[r,r];var z=r,D=.5*r;r=.5*(D+z),n=50;do{var R=r*(O+E*P(y-r*r))+C*L(r/x)-I;if(!R)break;R<0?D=r:z=r,r=.5*(D+z)}while(i(z-D)>m&&--n>0)}else{r=m,n=25;do{var F=r*r,B=P(y-F),N=O+E*B,j=r*N+C*L(r/x)-I;r-=T=B?j/(N+(C-E*F)/B):0}while(i(T)>m&&--n>0)}return[r,-w-o*P(y-r*r)]}(t>b/4?_-t:t,e);return t>b/4&&(c=f[0],f[0]=-f[1],f[1]=-c),f[0]*=r,f[1]*=-n,f}function Ce(){return(0,n.c)(Ee(Le)).scale(239.75)}function Pe(t,e){var r,n,o,u,c,f;if(e=1-m)return r=(1-e)/4,o=1/(n=I(t)),[(u=((f=l(2*(f=t)))-1)/(f+1))+r*((c=n*O(t))-t)/(n*n),o-r*u*o*(c-t),o+r*u*o*(c+t),2*a(l(t))-_+r*(c-t)/n];var h=[1,0,0,0,0,0,0,0,0],p=[P(e),0,0,0,0,0,0,0,0],d=0;for(n=P(1-e),c=1;i(p[d]/h[d])>m&&d<8;)r=h[d++],p[d]=(r-n)/2,h[d]=(r+n)/2,n=P(r*n),c*=2;o=c*h[d]*t;do{o=(L(u=p[d]*g(n=o)/h[d])+o)/2}while(--d);return[g(o),u=s(o),u/s(o-n),o]}function Oe(t,e){if(!e)return t;if(1===e)return c(y(t/2+w));for(var r=1,n=P(1-e),o=P(e),s=0;i(o)>m;s++){if(t%b){var l=a(n*y(t)/r);l<0&&(l+=b),t+=l+~~(t/b)*b}else t+=t;o=(r+n)/2,n=P(r*n),o=((r=o)-n)/2}return t/(p(2,s)*r)}function Ie(t,e){var r=(k-1)/(k+1),n=P(1-r*r),u=Oe(_,n*n),f=c(y(b/4+i(e)/2)),h=l(-1*f)/P(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?_:-_)-o(i,2*t)),-.25*c(i*i+4*r)+.5*c(n*n+r)]}(h*s(-1*t),h*g(-1*t)),d=function(t,e,r){var n=i(t),o=O(i(e));if(n){var s=1/g(n),l=1/(y(n)*y(n)),u=-(l+r*(o*o*s*s)-1+r),c=(-u+P(u*u-(r-1)*l*4))/2;return[Oe(a(1/P(c)),r)*v(t),Oe(a(P((c/l-1)/r)),1-r)*v(e)]}return[0,Oe(a(o),1-r)*v(e)]}(p[0],p[1],n*n);return[-d[1],(e>=0?1:-1)*(.5*u-d[0])]}function ze(){return(0,n.c)(Ee(Ie)).scale(151.496)}Le.invert=function(t,e){i(t)>1&&(t=2*v(t)-t),i(e)>1&&(e=2*v(e)-e);var r=v(t),n=v(e),a=-r*t,l=-n*e,u=l/a<1,c=function(t,e){for(var r=0,n=1,a=.5,o=50;;){var l=a*a,u=P(a),c=L(1/P(1+l)),f=1-l+a*(1+l)*c,h=(1-u)/f,p=P(h),d=h*(1+l),v=p*(1-l),g=P(d-t*t),y=e+v+a*g;if(i(n-r)0?r=a:n=a,a=.5*(r+n)}if(!o)return null;var m=L(u),_=s(m),w=1/_,T=2*u*_,k=(-f*_-(-3*a+c*(1+3*l))*T*(1-u))/(f*f);return[b/4*(t*(-2*w*((1-l)*(.5*k/p)-2*a*p*T)+-w*T*g)+-w*(a*(1+l)*k+h*(1+3*l)*T)*L(t/P(d))),m]}(u?l:a,u?a:l),f=c[0],h=c[1],p=s(h);return u&&(f=-_-f),[r*(o(g(f)*p,-g(h))+b),n*L(s(f)*p)]},Ie.invert=function(t,e){var r,n,i,s,u,f,h=(k-1)/(k+1),p=P(1-h*h),d=(n=-t,i=p*p,(r=.5*Oe(_,p*p)-e)?(s=Pe(r,i),n?(f=(u=Pe(n,1-i))[1]*u[1]+i*s[0]*s[0]*u[0]*u[0],[[s[0]*u[2]/f,s[1]*s[2]*u[0]*u[1]/f],[s[1]*u[1]/f,-s[0]*s[2]*u[0]*u[2]/f],[s[2]*u[1]*u[2]/f,-i*s[0]*s[1]*u[0]/f]]):[[s[0],0],[s[1],0],[s[2],0]]):[[0,(u=Pe(n,1-i))[0]/u[1]],[1/u[1],0],[u[2]/u[1],0]]),v=function(t,e){var r=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/r,(t[1]*e[0]-t[0]*e[1])/r]}(d[0],d[1]);return[o(v[1],v[0])/-1,2*a(l(-.5*c(h*v[0]*v[0]+h*v[1]*v[1])))-_]};var De=r(61780);function Re(t){var e=g(t),r=s(t),n=Fe(t);function a(t,a){var o=n(t,a);t=o[0],a=o[1];var l=g(a),u=s(a),c=s(t),f=C(e*l+r*u*c),h=g(f),p=i(h)>m?f/h:1;return[p*r*g(t),(i(t)>_?p:-p)*(e*u-r*l*c)]}return n.invert=Fe(-t),a.invert=function(t,r){var i=P(t*t+r*r),a=-g(i),l=s(i),u=i*l,c=-r*a,f=i*e,h=P(u*u+c*c-f*f),p=o(u*f+c*h,c*f-u*h),d=(i>_?-1:1)*o(t*a,i*s(p)*l+r*g(p)*a);return n.invert(d,p)},a}function Fe(t){var e=g(t),r=s(t);return function(t,n){var i=s(n),a=s(t)*i,l=g(t)*i,u=g(n);return[o(l,a*r-u*e),L(u*r+a*e)]}}function Be(){var t=0,e=(0,n.U)(Re),r=e(t),i=r.rotate,a=r.stream,o=(0,De.c)();return r.parallel=function(n){if(!arguments.length)return t*S;var i=r.rotate();return e(t=n*E).rotate(i)},r.rotate=function(e){return arguments.length?(i.call(r,[e[0],e[1]-t*S]),o.center([-e[0],-e[1]]),r):((e=i.call(r))[1]+=t*S,e)},r.stream=function(t){return(t=a(t)).sphere=function(){t.polygonStart();var e,r=o.radius(89.99)().coordinates[0],n=r.length-1,i=-1;for(t.lineStart();++i=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},r.scale(79.4187).parallel(45).clipAngle(179.999)}var Ne=r(84706),je=r(16016),Ue=L(1-1/3)*S,Ve=Rt(0);function qe(t){var e=Ue*E,r=Lt(b,e)[0]-Lt(-b,e)[0],n=Ve(0,e)[1],a=Lt(0,e)[1],o=A-a,s=M/t,l=4/M,c=n+o*o*4/M;function p(p,d){var v,g=i(d);if(g>e){var y=h(t-1,f(0,u((p+b)/s)));(v=Lt(p+=b*(t-1)/t-y*s,g))[0]=v[0]*M/r-M*(t-1)/(2*t)+y*M/t,v[1]=n+4*(v[1]-a)*o/M,d<0&&(v[1]=-v[1])}else v=Ve(p,d);return v[0]*=l,v[1]/=c,v}return p.invert=function(e,p){e/=l;var d=i(p*=c);if(d>n){var v=h(t-1,f(0,u((e+b)/s)));e=(e+b*(t-1)/t-v*s)*r/M;var g=Lt.invert(e,.25*(d-n)*M/o+a);return g[0]-=b*(t-1)/t-v*s,p<0&&(g[1]=-g[1]),g}return Ve.invert(e,p)},p}function He(t,e){return[t,1&e?90-m:Ue]}function Ge(t,e){return[t,1&e?-90+m:-Ue]}function We(t){return[t[0]*(1-m),t[1]]}function Ye(){var t=4,e=(0,n.U)(qe),r=e(t),i=r.stream;return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),a=i(e),o=(r.rotate([0,0]),i(e));return r.rotate(n),a.sphere=function(){var e,r;(0,je.c)((e=180/t,r=[].concat((0,Ne.ik)(-180,180+e/2,e).map(He),(0,Ne.ik)(180,-180-e/2,-e).map(Ge)),{type:"Polygon",coordinates:[180===e?r.map(We):r]}),o)},a},r.scale(239.75)}function Xe(t){var e,r=1+t,n=L(g(1/r)),a=2*P(b/(e=b+4*n*r)),l=.5*a*(r+P(t*(2+t))),u=t*t,c=r*r;function f(f,h){var p,d,v=1-g(h);if(v&&v<2){var y,m=_-h,w=25;do{var T=g(m),k=s(m),A=n+o(T,r-k),M=1+c-2*r*k;m-=y=(m-u*n-r*T+M*A-.5*v*e)/(2*r*T*A)}while(i(y)>x&&--w>0);p=a*P(M),d=f*A/b}else p=a*(t+v),d=f*n/b;return[p*g(d),l-p*s(d)]}return f.invert=function(t,i){var s=t*t+(i-=l)*i,f=(1+c-s/(a*a))/(2*r),h=C(f),p=g(h),d=n+o(p,r-f);return[L(t/P(s))*b/d,L(1-2*(h-u*n-r*p+(1+c-2*r*f)*d)/e)]},f}function Ze(){var t=1,e=(0,n.U)(Xe),r=e(t);return r.ratio=function(r){return arguments.length?e(t=+r):t},r.scale(167.774).center([0,18.67])}var Ke=.7109889596207567,Je=.0528035274542;function $e(t,e){return e>-Ke?((t=at(t,e))[1]+=Je,t):ht(t,e)}function Qe(){return(0,n.c)($e).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function tr(t,e){return i(e)>Ke?((t=at(t,e))[1]-=e>0?Je:-Je,t):ht(t,e)}function er(){return(0,n.c)(tr).scale(152.63)}function rr(t,e,r,n){var i=P(4*b/(2*r+(1+t-e/2)*g(2*r)+(t+e)/2*g(4*r)+e/2*g(6*r))),a=P(n*g(r)*P((1+t*s(2*r)+e*s(4*r))/(1+t+e))),o=r*u(1);function l(r){return P(1+t*s(2*r)+e*s(4*r))}function u(n){var i=n*r;return(2*i+(1+t-e/2)*g(2*i)+(t+e)/2*g(4*i)+e/2*g(6*i))/r}function c(t){return l(t)*g(t)}var f=function(t,e){var n=r*Q(u,o*g(e)/r,e/b);isNaN(n)&&(n=r*v(e));var c=i*l(n);return[c*a*t/b*s(n),c/a*g(n)]};return f.invert=function(t,e){var n=Q(c,e*a/i);return[t*b/(s(n)*i*a*l(n)),L(r*u(n/r)/o)]},0===r&&(i=P(n/b),(f=function(t,e){return[t*i,g(e)/i]}).invert=function(t,e){return[t/i,L(e*i)]}),f}function nr(){var t=1,e=0,r=45*E,i=2,a=(0,n.U)(rr),o=a(t,e,r,i);return o.a=function(n){return arguments.length?a(t=+n,e,r,i):t},o.b=function(n){return arguments.length?a(t,e=+n,r,i):e},o.psiMax=function(n){return arguments.length?a(t,e,r=+n*E,i):r*S},o.ratio=function(n){return arguments.length?a(t,e,r,i=+n):i},o.scale(180.739)}function ir(t,e,r,n,i,a,o,s,l,u,c){if(c.nanEncountered)return NaN;var f,h,p,d,v,g,y,m,x,b;if(h=t(e+.25*(f=r-e)),p=t(r-.25*f),isNaN(h))c.nanEncountered=!0;else{if(!isNaN(p))return b=((g=(d=f*(n+4*h+i)/12)+(v=f*(i+4*p+a)/12))-o)/15,u>l?(c.maxDepthCount++,g+b):Math.abs(b)t?r=n:e=n,n=e+r>>1}while(n>e);var i=u[n+1]-u[n];return i&&(i=(t-u[n+1])/i),(n+1+i)/s}var h=2*f(1)/b*o/r,d=function(t,e){var r=f(i(g(e))),a=n(r)*t;return r/=h,[a,e>=0?r:-r]};return d.invert=function(t,e){var r;return i(e*=h)<1&&(r=v(e)*L(a(i(e))*o)),[t/n(i(e)),r]},d}function sr(){var t=0,e=2.5,r=1.183136,i=(0,n.U)(or),a=i(t,e,r);return a.alpha=function(n){return arguments.length?i(t=+n,e,r):t},a.k=function(n){return arguments.length?i(t,e=+n,r):e},a.gamma=function(n){return arguments.length?i(t,e,r=+n):r},a.scale(152.63)}function lr(t,e){return i(t[0]-e[0])a[o][2][0];++o);var l=t(r-a[o][1][0],n);return l[0]+=t(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}r?o.invert=r(o):t.invert&&(o.invert=function(r,n){for(var i=a[+(n<0)],s=e[+(n<0)],l=0,u=i.length;l=0;--s)r=(e=t[1][s])[0][0],n=e[0][1],i=e[1][1],a=e[2][0],o=e[2][1],l.push(ur([[a-m,o-m],[a-m,i+m],[r+m,i+m],[r+m,n-m]],30));return{type:"Polygon",coordinates:[(0,Ne.Uf)(l)]}}(r),e=r.map((function(t){return t.map((function(t){return[[t[0][0]*E,t[0][1]*E],[t[1][0]*E,t[1][1]*E],[t[2][0]*E,t[2][1]*E]]}))})),a=e.map((function(e){return e.map((function(e){var r,n=t(e[0][0],e[0][1])[0],i=t(e[2][0],e[2][1])[0],a=t(e[1][0],e[0][1])[1],o=t(e[1][0],e[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):e.map((function(t){return t.map((function(t){return[[t[0][0]*S,t[0][1]*S],[t[1][0]*S,t[1][1]*S],[t[2][0]*S,t[2][1]*S]]}))}))},null!=e&&s.lobes(e),s}$e.invert=function(t,e){return e>-Ke?at.invert(t,e-Je):ht.invert(t,e)},tr.invert=function(t,e){return i(e)>Ke?at.invert(t,e+(e>0?Je:-Je)):ht.invert(t,e)};var fr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function hr(){return cr(ut,fr).scale(160.857)}var pr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function dr(){return cr(tr,pr).scale(152.63)}var vr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function gr(){return cr(at,vr).scale(169.529)}var yr=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function mr(){return cr(at,yr).scale(169.529).rotate([20,0])}var xr=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function br(){return cr($e,xr,tt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var _r=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function wr(){return cr(ht,_r).scale(152.63).rotate([-20,0])}function Tr(t,e){return[3/M*t*P(b*b/3-e*e),e]}function kr(){return(0,n.c)(Tr).scale(158.837)}function Ar(t){function e(e,r){if(i(i(r)-_)2)return null;var a=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+a+s);return l=p((1+l)/(1-l),1/t),[o(2*e,1-a-s)/t,L((l-1)/(l+1))]},e}function Mr(){var t=.5,e=(0,n.U)(Ar),r=e(t);return r.spacing=function(r){return arguments.length?e(t=+r):t},r.scale(124.75)}Tr.invert=function(t,e){return[M/3*t/P(b*b/3-e*e),e]};var Sr=b/k;function Er(t,e){return[t*(1+P(s(e)))/2,e/(s(e/2)*s(t/6))]}function Lr(){return(0,n.c)(Er).scale(97.2672)}function Cr(t,e){var r=t*t,n=e*e;return[t*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),e*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function Pr(){return(0,n.c)(Cr).scale(139.98)}function Or(t,e){return[g(t)/s(e),y(e)*s(t)]}function Ir(){return(0,n.c)(Or).scale(144.049).clipAngle(89.999)}function zr(t){var e=s(t),r=y(w+t/2);function n(n,a){var o=a-t,s=i(o)=0;)h=(f=t[c])[0]+l*(i=h)-u*p,p=f[1]+l*p+u*i;return[h=l*(i=h)-u*p,p=l*p+u*i]}return r.invert=function(r,n){var l=20,u=r,c=n;do{for(var f,h=e,p=t[h],d=p[0],v=p[1],y=0,x=0;--h>=0;)y=d+u*(f=y)-c*x,x=v+u*x+c*f,d=(p=t[h])[0]+u*(f=d)-c*v,v=p[1]+u*v+c*f;var b,_,w=(y=d+u*(f=y)-c*x)*y+(x=v+u*x+c*f)*x;u-=b=((d=u*(f=d)-c*v-r)*y+(v=u*v+c*f-n)*x)/w,c-=_=(v*y-d*x)/w}while(i(b)+i(_)>m*m&&--l>0);if(l){var T=P(u*u+c*c),k=2*a(.5*T),A=g(k);return[o(u*A,T*s(k)),T?L(c*A/T):0]}},r}Er.invert=function(t,e){var r=i(t),n=i(e),a=m,o=_;nm||i(x)>m)&&--a>0);return a&&[r,n]},Or.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?T*P((i-P(i*i-4*r))/r):1/P(n);return[L(t*a),v(e)*C(a)]},Rr.invert=function(t,e){return[t,2.5*a(l(.8*e))-.625*b]};var Nr=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],jr=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Ur=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Vr=[[.9245,0],[0,0],[.01943,0]],qr=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Hr(){return Zr(Nr,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Gr(){return Zr(jr,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Wr(){return Zr(Ur,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Yr(){return Zr(Vr,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Xr(){return Zr(qr,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Zr(t,e){var r=(0,n.c)(Br(t)).rotate(e).clipAngle(90),i=(0,_t.c)(e),a=r.center;return delete r.rotate,r.center=function(t){return arguments.length?a(i(t)):i.invert(a())},r}var Kr=P(6),Jr=P(7);function $r(t,e){var r=L(7*g(e)/(3*Kr));return[Kr*t*(2*s(2*r/3)-1)/Jr,9*g(r/3)/Jr]}function Qr(){return(0,n.c)($r).scale(164.859)}function tn(t,e){for(var r,n=(1+T)*g(e),a=e,o=0;o<25&&(a-=r=(g(a/2)+g(a)-n)/(.5*s(a/2)+s(a)),!(i(r)x&&--l>0);return[t/(.84719-.13063*(n=s*s)+(o=n*(a=n*n))*o*(.05494*n-.04515-.02326*a+.00331*o)),s]},ln.invert=function(t,e){for(var r=e/2,n=0,a=1/0;n<10&&i(a)>m;++n){var o=s(e/2);e-=a=(e-y(e/2)-r)/(1-.5/(o*o))}return[2*t/(1+s(e)),e]};var cn=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function fn(){return cr(K(1/0),cn).rotate([20,0]).scale(152.63)}function hn(t,e){var r=g(e),n=s(e),a=v(t);if(0===t||i(e)===_)return[0,e];if(0===e)return[t,0];if(i(t)===_)return[t*n,_*r];var o=b/(2*t)-2*t/b,l=2*e/b,u=(1-l*l)/(r-l),c=o*o,f=u*u,h=1+c/f,p=1+f/c,d=(o*r/u-o/2)/h,y=(f*r/c+u/2)/p,m=y*y-(f*r*r/c+u*r-1)/p;return[_*(d+P(d*d+n*n/h)*a),_*(y+P(m<0?0:m)*v(-e*o)*a)]}function pn(){return(0,n.c)(hn).scale(127.267)}hn.invert=function(t,e){var r=(t/=_)*t,n=r+(e/=_)*e,i=b*b;return[t?(n-1+P((1-n)*(1-n)+4*r))/(2*t)*_:0,Q((function(t){return n*(b*g(t)-2*t)*b+4*t*t*(e-g(t))+2*b*t-i*e}),0)]};var dn=1.0148,vn=.23185,gn=-.14499,yn=.02406,mn=dn,xn=5*vn,bn=7*gn,_n=9*yn,wn=1.790857183;function Tn(t,e){var r=e*e;return[t,e*(dn+r*r*(vn+r*(gn+yn*r)))]}function kn(){return(0,n.c)(Tn).scale(139.319)}function An(t,e){if(i(e)wn?e=wn:e<-1.790857183&&(e=-1.790857183);var r,n=e;do{var a=n*n;n-=r=(n*(dn+a*a*(vn+a*(gn+yn*a)))-e)/(mn+a*a*(xn+a*(bn+_n*a)))}while(i(r)>m);return[t,n]},An.invert=function(t,e){if(i(e)m&&--o>0);return l=y(a),[(i(e)=0;)if(n=e[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(e.face,r.face),i=(c=n.map(r.project),f=n.map(e.project),h=Cn(c[1],c[0]),p=Cn(f[1],f[0]),d=function(t,e){return o(t[0]*e[1]-t[1]*e[0],t[0]*e[0]+t[1]*e[1])}(h,p),v=Pn(h)/Pn(p),Ln([1,0,c[0][0],0,1,c[0][1]],Ln([v,0,0,0,v,0],Ln([s(d),g(d),0,-g(d),s(d),0],[1,0,-f[0][0],0,1,-f[0][1]]))));e.transform=r.transform?Ln(r.transform,i):i;for(var a=r.edges,l=0,u=a.length;l0?[-e[0],0]:[180-e[0],180])};var e=Bn.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,r){var n=e[t];n&&(n.children||(n.children=[])).push(e[r])})),On(e[0],(function(t,r){return e[t<-b/2?r<0?6:4:t<0?r<0?2:0:tn^p>n&&r<(h-u)*(n-c)/(p-c)+u&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),Qn=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}};function ni(t){var e=t(_,0)[0]-t(-_,0)[0];function r(r,n){var a=i(r)<_,o=t(a?r:r>0?r-b:r+b,n),s=(o[0]-o[1])*T,l=(o[0]+o[1])*T;if(a)return[s,l];var u=e*T,c=s>0^l>0?-1:1;return[c*s-v(l)*u,c*l-v(s)*u]}return t.invert&&(r.invert=function(r,n){var a=(r+n)*T,o=(n-r)*T,s=i(a)<.5*e&&i(o)<.5*e;if(!s){var l=e*T,u=a>0^o>0?-1:1,c=-u*r+(o>0?1:-1)*l,f=-u*n+(a>0?1:-1)*l;a=(-c-f)*T,o=(c-f)*T}var h=t.invert(a,o);return s||(h[0]+=a>0?b:-b),h}),(0,n.c)(r).rotate([-90,-90,45]).clipAngle(179.999)}function ii(){return ni(Le).scale(176.423)}function ai(){return ni(Ie).scale(111.48)}function oi(t,e){if(!(0<=(e=+e)&&e<=20))throw new Error("invalid digits");function r(t){var r=t.length,n=2,i=new Array(r);for(i[0]=+t[0].toFixed(e),i[1]=+t[1].toFixed(e);n2||a[0]!=e[0]||a[1]!=e[1])&&(n.push(a),e=a)}return 1===n.length&&t.length>1&&n.push(r(t[t.length-1])),n}function a(t){return t.map(i)}function o(t){if(null==t)return t;var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(o)};break;case"Point":e={type:"Point",coordinates:r(t.coordinates)};break;case"MultiPoint":e={type:t.type,coordinates:n(t.coordinates)};break;case"LineString":e={type:t.type,coordinates:i(t.coordinates)};break;case"MultiLineString":case"Polygon":e={type:t.type,coordinates:a(t.coordinates)};break;case"MultiPolygon":e={type:"MultiPolygon",coordinates:t.coordinates.map(a)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function s(t){var e={type:"Feature",properties:t.properties,geometry:o(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),e}if(null!=t)switch(t.type){case"Feature":return s(t);case"FeatureCollection":var l={type:"FeatureCollection",features:t.features.map(s)};return null!=t.bbox&&(l.bbox=t.bbox),l;default:return o(t)}return t}function si(t){var e=g(t);function r(r,n){var i=e?y(r*e/2)/e:r/2;if(!n)return[2*i,-t];var o=2*a(i*g(n)),l=1/y(n);return[g(o)*l,n+(1-s(o))*l-t]}return r.invert=function(r,n){if(i(n+=t)m&&--c>0);var d=r*(f=y(u)),v=y(i(n)0?_:-_)*(f+o*(d-l)/2+o*o*(d-2*f+l)/2)]}function fi(){return(0,n.c)(ci).scale(152.63)}function hi(t,e){var r=function(t){function e(e,r){var n=s(r),i=(t-1)/(t-n*s(e));return[i*n*g(e),i*g(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=P(n),a=(t-P(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[o(e*a,i*P(1-a*a)),i?L(r*a/i):0]},e}(t);if(!e)return r;var n=s(e),i=g(e);function a(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return a.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},a}function pi(){var t=2,e=0,r=(0,n.U)(hi),i=r(t,e);return i.distance=function(n){return arguments.length?r(t=+n,e):t},i.tilt=function(n){return arguments.length?r(t,e=n*E):e*S},i.scale(432.147).clipAngle(C(1/t)*S-1e-6)}ui.forEach((function(t){t[1]*=1.0144})),ci.invert=function(t,e){var r=e/_,n=90*r,a=h(18,i(n/5)),o=f(0,u(a));do{var s=ui[o][1],l=ui[o+1][1],c=ui[h(19,o+2)][1],p=c-s,d=c-2*l+s,v=2*(i(r)-l)/p,g=d/p,y=v*(1-g*v*(1-2*g*v));if(y>=0||1===o){n=(e>=0?5:-5)*(y+a);var m,b=50;do{y=(a=h(18,i(n)/5))-(o=u(a)),s=ui[o][1],l=ui[o+1][1],c=ui[h(19,o+2)][1],n-=(m=(e>=0?_:-_)*(l+y*(c-s)/2+y*y*(c-2*l+s)/2)-e)*S}while(i(m)>x&&--b>0);break}}while(--o>=0);var w=ui[o][0],T=ui[o+1][0],k=ui[h(19,o+2)][0];return[t/(T+y*(k-w)/2+y*y*(k-2*T+w)/2),n*E]};var di=1e-4,vi=1e4,gi=-180,yi=gi+di,mi=180,xi=mi-di,bi=-90,_i=bi+di,wi=90,Ti=wi-di;function ki(t){return t.length>0}function Ai(t){return t===bi||t===wi?[0,t]:[gi,(e=t,Math.floor(e*vi)/vi)];var e}function Mi(t){var e=t[0],r=t[1],n=!1;return e<=yi?(e=gi,n=!0):e>=xi&&(e=mi,n=!0),r<=_i?(r=bi,n=!0):r>=Ti&&(r=wi,n=!0),n?[e,r]:t}function Si(t){return t.map(Mi)}function Ei(t,e,r){for(var n=0,i=t.length;n=xi||c<=_i||c>=Ti){a[o]=Mi(l);for(var f=o+1;fyi&&p_i&&d=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(f-1)}),a[0]=Ai(a[0][1]),o=-1,s=a.length}}}}function Li(t){var e,r,n,i,a,o,s=t.length,l={},u={};for(e=0;e0?b-l:l)*S],c=(0,n.c)(t(s)).rotate(u),f=(0,_t.c)(u),h=c.center;return delete c.rotate,c.center=function(t){return arguments.length?h(f(t)):f.invert(h())},c.clipAngle(90)}function Ri(t){var e=s(t);function r(t,r){var n=(0,Rn.Y)(t,r);return n[0]*=e,n}return r.invert=function(t,r){return Rn.Y.invert(t/e,r)},r}function Fi(){return Bi([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Bi(t,e){return Di(Ri,t,e)}function Ni(t){if(!(t*=2))return W.O;var e=-t/2,r=-e,n=t*t,i=y(r),a=.5/g(r);function l(i,a){var o=C(s(a)*s(i-e)),l=C(s(a)*s(i-r));return[((o*=o)-(l*=l))/(2*t),(a<0?-1:1)*P(4*n*l-(n-o+l)*(n-o+l))/(2*t)]}return l.invert=function(t,n){var l,u,c=n*n,f=s(P(c+(l=t+e)*l)),h=s(P(c+(l=t+r)*l));return[o(u=f-h,l=(f+h)*i),(n<0?-1:1)*C(P(l*l+u*u)*a)]},l}function ji(){return Ui([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Ui(t,e){return Di(Ni,t,e)}function Vi(t,e){if(i(e)m&&--l>0);return[v(t)*(P(a*a+4)+a)*b/4,_*s]};var Qi=4*b+3*P(3),ta=2*P(2*b*P(3)/Qi),ea=it(ta*P(3)/b,ta,Qi/6);function ra(){return(0,n.c)(ea).scale(176.84)}function na(t,e){return[t*P(1-3*e*e/(b*b)),e]}function ia(){return(0,n.c)(na).scale(152.63)}function aa(t,e){var r=s(e),n=s(t)*r,i=1-n,a=s(t=o(g(t)*r,-g(e))),l=g(t);return[l*(r=P(1-n*n))-a*i,-a*r-l*i]}function oa(){return(0,n.c)(aa).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function sa(t,e){var r=R(t,e);return[(r[0]+t/_)/2,(r[1]+e)/2]}function la(){return(0,n.c)(sa).scale(158.837)}na.invert=function(t,e){return[t/P(1-3*e*e/(b*b)),e]},aa.invert=function(t,e){var r=(t*t+e*e)/-2,n=P(-r*(2+r)),i=e*r+t*n,a=t*r-e*n,s=P(a*a+i*i);return[o(n*i,s*(1+r)),s?-L(n*a/s):0]},sa.invert=function(t,e){var r=t,n=e,a=25;do{var o,l=s(n),u=g(n),c=g(2*n),f=u*u,h=l*l,p=g(r),d=s(r/2),v=g(r/2),y=v*v,x=1-h*d*d,b=x?C(l*d)*P(o=1/x):o=0,w=.5*(2*b*l*v+r/_)-t,T=.5*(b*u+n)-e,k=.5*o*(h*y+b*l*d*f)+.5/_,A=o*(p*c/4-b*u*v),M=.125*o*(c*v-b*u*h*p),S=.5*o*(f*d+b*y*l)+.5,E=A*M-S*k,L=(T*A-w*S)/E,O=(w*M-T*k)/E;r-=L,n-=O}while((i(L)>m||i(O)>m)&&--a>0);return[r,n]}},88728:function(t,e,r){"use strict";function n(){return new i}function i(){this.reset()}r.d(e,{c:function(){return n}}),i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(t){o(a,t,this.t),o(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new i;function o(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}},95384:function(t,e,r){"use strict";r.d(e,{cp:function(){return x},mQ:function(){return h},oB:function(){return d}});var n,i,a,o,s,l=r(88728),u=r(64528),c=r(70932),f=r(16016),h=(0,l.c)(),p=(0,l.c)(),d={point:c.c,lineStart:c.c,lineEnd:c.c,polygonStart:function(){h.reset(),d.lineStart=v,d.lineEnd=g},polygonEnd:function(){var t=+h;p.add(t<0?u.kD+t:t),this.lineStart=this.lineEnd=this.point=c.c},sphere:function(){p.add(u.kD)}};function v(){d.point=y}function g(){m(n,i)}function y(t,e){d.point=m,n=t,i=e,t*=u.qw,e*=u.qw,a=t,o=(0,u.W8)(e=e/2+u.wL),s=(0,u.g$)(e)}function m(t,e){t*=u.qw,e=(e*=u.qw)/2+u.wL;var r=t-a,n=r>=0?1:-1,i=n*r,l=(0,u.W8)(e),c=(0,u.g$)(e),f=s*c,p=o*l+f*(0,u.W8)(i),d=f*n*(0,u.g$)(i);h.add((0,u.WE)(d,p)),a=t,o=l,s=c}function x(t){return p.reset(),(0,f.c)(t,d),2*p}},13696:function(t,e,r){"use strict";r.d(e,{c:function(){return C}});var n,i,a,o,s,l,u,c,f,h,p=r(88728),d=r(95384),v=r(84220),g=r(64528),y=r(16016),m=(0,p.c)(),x={point:b,lineStart:w,lineEnd:T,polygonStart:function(){x.point=k,x.lineStart=A,x.lineEnd=M,m.reset(),d.oB.polygonStart()},polygonEnd:function(){d.oB.polygonEnd(),x.point=b,x.lineStart=w,x.lineEnd=T,d.mQ<0?(n=-(a=180),i=-(o=90)):m>g.Gg?o=90:m<-g.Gg&&(i=-90),h[0]=n,h[1]=a},sphere:function(){n=-(a=180),i=-(o=90)}};function b(t,e){f.push(h=[n=t,a=t]),eo&&(o=e)}function _(t,e){var r=(0,v.ux)([t*g.qw,e*g.qw]);if(c){var l=(0,v.CW)(c,r),u=[l[1],-l[0],0],p=(0,v.CW)(u,l);(0,v.cJ)(p),p=(0,v.G)(p);var d,y=t-s,m=y>0?1:-1,x=p[0]*g.oh*m,b=(0,g.a2)(y)>180;b^(m*so&&(o=d):b^(m*s<(x=(x+360)%360-180)&&xo&&(o=e)),b?tS(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t):a>=n?(ta&&(a=t)):t>s?S(n,t)>S(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t)}else f.push(h=[n=t,a=t]);eo&&(o=e),c=r,s=t}function w(){x.point=_}function T(){h[0]=n,h[1]=a,x.point=b,c=null}function k(t,e){if(c){var r=t-s;m.add((0,g.a2)(r)>180?r+(r>0?360:-360):r)}else l=t,u=e;d.oB.point(t,e),_(t,e)}function A(){d.oB.lineStart()}function M(){k(l,u),d.oB.lineEnd(),(0,g.a2)(m)>g.Gg&&(n=-(a=180)),h[0]=n,h[1]=a,c=null}function S(t,e){return(e-=t)<0?e+360:e}function E(t,e){return t[0]-e[0]}function L(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eS(s[0],s[1])&&(s[1]=l[1]),S(l[0],s[1])>S(s[0],s[1])&&(s[0]=l[0])):u.push(s=l);for(c=-1/0,e=0,s=u[r=u.length-1];e<=r;s=l,++e)l=u[e],(p=S(s[1],l[0]))>c&&(c=p,n=l[0],a=s[1])}return f=h=null,n===1/0||i===1/0?[[NaN,NaN],[NaN,NaN]]:[[n,i],[a,o]]}},84220:function(t,e,r){"use strict";r.d(e,{CW:function(){return s},Ez:function(){return o},G:function(){return i},cJ:function(){return c},mg:function(){return l},ux:function(){return a},wx:function(){return u}});var n=r(64528);function i(t){return[(0,n.WE)(t[1],t[0]),(0,n.qR)(t[2])]}function a(t){var e=t[0],r=t[1],i=(0,n.W8)(r);return[i*(0,n.W8)(e),i*(0,n.g$)(e),(0,n.g$)(r)]}function o(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function s(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function l(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function u(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function c(t){var e=(0,n._I)(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}},24052:function(t,e,r){"use strict";r.d(e,{c:function(){return I}});var n,i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x=r(64528),b=r(70932),_=r(16016),w={sphere:b.c,point:T,lineStart:A,lineEnd:E,polygonStart:function(){w.lineStart=L,w.lineEnd=C},polygonEnd:function(){w.lineStart=A,w.lineEnd=E}};function T(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e);k(r*(0,x.W8)(t),r*(0,x.g$)(t),(0,x.g$)(e))}function k(t,e,r){++n,a+=(t-a)/n,o+=(e-o)/n,s+=(r-s)/n}function A(){w.point=M}function M(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e);g=r*(0,x.W8)(t),y=r*(0,x.g$)(t),m=(0,x.g$)(e),w.point=S,k(g,y,m)}function S(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e),n=r*(0,x.W8)(t),a=r*(0,x.g$)(t),o=(0,x.g$)(e),s=(0,x.WE)((0,x._I)((s=y*o-m*a)*s+(s=m*n-g*o)*s+(s=g*a-y*n)*s),g*n+y*a+m*o);i+=s,l+=s*(g+(g=n)),u+=s*(y+(y=a)),c+=s*(m+(m=o)),k(g,y,m)}function E(){w.point=T}function L(){w.point=P}function C(){O(d,v),w.point=T}function P(t,e){d=t,v=e,t*=x.qw,e*=x.qw,w.point=O;var r=(0,x.W8)(e);g=r*(0,x.W8)(t),y=r*(0,x.g$)(t),m=(0,x.g$)(e),k(g,y,m)}function O(t,e){t*=x.qw,e*=x.qw;var r=(0,x.W8)(e),n=r*(0,x.W8)(t),a=r*(0,x.g$)(t),o=(0,x.g$)(e),s=y*o-m*a,d=m*n-g*o,v=g*a-y*n,b=(0,x._I)(s*s+d*d+v*v),_=(0,x.qR)(b),w=b&&-_/b;f+=w*s,h+=w*d,p+=w*v,i+=_,l+=_*(g+(g=n)),u+=_*(y+(y=a)),c+=_*(m+(m=o)),k(g,y,m)}function I(t){n=i=a=o=s=l=u=c=f=h=p=0,(0,_.c)(t,w);var e=f,r=h,d=p,v=e*e+r*r+d*d;return v0?os)&&(o+=i*a.kD));for(var h,p=o;i>0?p>s:p0?i.pi:-i.pi,u=(0,i.a2)(o-r);(0,i.a2)(u-i.pi)0?i.or:-i.or),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),t.point(o,n),e=0):a!==l&&u>=i.pi&&((0,i.a2)(r-a)i.Gg?(0,i.MQ)(((0,i.g$)(e)*(o=(0,i.W8)(n))*(0,i.g$)(r)-(0,i.g$)(n)*(a=(0,i.W8)(e))*(0,i.g$)(t))/(a*o*s)):(e+n)/2}(r,n,o,s),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),e=0),t.point(r=o,n=s),a=l},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*i.or,n.point(-i.pi,a),n.point(0,a),n.point(i.pi,a),n.point(i.pi,0),n.point(i.pi,-a),n.point(0,-a),n.point(-i.pi,-a),n.point(-i.pi,0),n.point(-i.pi,a);else if((0,i.a2)(t[0]-e[0])>i.Gg){var o=t[0]1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}},2728:function(t,e,r){"use strict";r.d(e,{c:function(){return l}});var n=r(84220),i=r(61780),a=r(64528),o=r(41860),s=r(14229);function l(t){var e=(0,a.W8)(t),r=6*a.qw,l=e>0,u=(0,a.a2)(e)>a.Gg;function c(t,r){return(0,a.W8)(t)*(0,a.W8)(r)>e}function f(t,r,i){var o=(0,n.ux)(t),s=(0,n.ux)(r),l=[1,0,0],u=(0,n.CW)(o,s),c=(0,n.Ez)(u,u),f=u[0],h=c-f*f;if(!h)return!i&&t;var p=e*c/h,d=-e*f/h,v=(0,n.CW)(l,u),g=(0,n.wx)(l,p),y=(0,n.wx)(u,d);(0,n.mg)(g,y);var m=v,x=(0,n.Ez)(g,m),b=(0,n.Ez)(m,m),_=x*x-b*((0,n.Ez)(g,g)-1);if(!(_<0)){var w=(0,a._I)(_),T=(0,n.wx)(m,(-x-w)/b);if((0,n.mg)(T,g),T=(0,n.G)(T),!i)return T;var k,A=t[0],M=r[0],S=t[1],E=r[1];M0^T[1]<((0,a.a2)(T[0]-A)a.pi^(A<=T[0]&&T[0]<=M)){var P=(0,n.wx)(m,(-x+w)/b);return(0,n.mg)(P,g),[T,(0,n.G)(P)]}}}function h(e,r){var n=l?t:a.pi-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}return(0,s.c)(c,(function(t){var e,r,n,i,s;return{lineStart:function(){i=n=!1,s=1},point:function(p,d){var v,g=[p,d],y=c(p,d),m=l?y?0:h(p,d):y?h(p+(p<0?a.pi:-a.pi),d):0;if(!e&&(i=n=y)&&t.lineStart(),y!==n&&(!(v=f(e,g))||(0,o.c)(e,v)||(0,o.c)(g,v))&&(g[2]=1),y!==n)s=0,y?(t.lineStart(),v=f(g,e),t.point(v[0],v[1])):(v=f(e,g),t.point(v[0],v[1],2),t.lineEnd()),e=v;else if(u&&e&&l^y){var x;m&r||!(x=f(g,e,!0))||(s=0,l?(t.lineStart(),t.point(x[0][0],x[0][1]),t.point(x[1][0],x[1][1]),t.lineEnd()):(t.point(x[1][0],x[1][1]),t.lineEnd(),t.lineStart(),t.point(x[0][0],x[0][1],3)))}!y||e&&(0,o.c)(e,g)||t.point(g[0],g[1]),e=g,n=y,r=m},lineEnd:function(){n&&t.lineEnd(),e=null},clean:function(){return s|(i&&n)<<1}}}),(function(e,n,a,o){(0,i.Q)(o,t,r,a,e,n)}),l?[0,-t]:[-a.pi,t-a.pi])}},14229:function(t,e,r){"use strict";r.d(e,{c:function(){return l}});var n=r(97208),i=r(32232),a=r(64528),o=r(58196),s=r(84706);function l(t,e,r,a){return function(l){var f,h,p,d=e(l),v=(0,n.c)(),g=e(v),y=!1,m={point:x,lineStart:_,lineEnd:w,polygonStart:function(){m.point=T,m.lineStart=k,m.lineEnd=A,h=[],f=[]},polygonEnd:function(){m.point=x,m.lineStart=_,m.lineEnd=w,h=(0,s.Uf)(h);var t=(0,o.c)(f,a);h.length?(y||(l.polygonStart(),y=!0),(0,i.c)(h,c,t,r,l)):t&&(y||(l.polygonStart(),y=!0),l.lineStart(),r(null,null,1,l),l.lineEnd()),y&&(l.polygonEnd(),y=!1),h=f=null},sphere:function(){l.polygonStart(),l.lineStart(),r(null,null,1,l),l.lineEnd(),l.polygonEnd()}};function x(e,r){t(e,r)&&l.point(e,r)}function b(t,e){d.point(t,e)}function _(){m.point=b,d.lineStart()}function w(){m.point=x,d.lineEnd()}function T(t,e){p.push([t,e]),g.point(t,e)}function k(){g.lineStart(),p=[]}function A(){T(p[0][0],p[0][1]),g.lineEnd();var t,e,r,n,i=g.clean(),a=v.result(),o=a.length;if(p.pop(),f.push(p),p=null,o)if(1&i){if((e=(r=a[0]).length-1)>0){for(y||(l.polygonStart(),y=!0),l.lineStart(),t=0;t1&&2&i&&a.push(a.pop().concat(a.shift())),h.push(a.filter(u))}return m}}function u(t){return t.length>1}function c(t,e){return((t=t.x)[0]<0?t[1]-a.or-a.Gg:a.or-t[1])-((e=e.x)[0]<0?e[1]-a.or-a.Gg:a.or-e[1])}},21676:function(t,e,r){"use strict";r.d(e,{c:function(){return u}});var n=r(64528),i=r(97208),a=r(32232),o=r(84706),s=1e9,l=-s;function u(t,e,r,u){function c(n,i){return t<=n&&n<=r&&e<=i&&i<=u}function f(n,i,a,o){var s=0,l=0;if(null==n||(s=h(n,a))!==(l=h(i,a))||d(n,i)<0^a>0)do{o.point(0===s||3===s?t:r,s>1?u:e)}while((s=(s+a+4)%4)!==l);else o.point(i[0],i[1])}function h(i,a){return(0,n.a2)(i[0]-t)0?0:3:(0,n.a2)(i[0]-r)0?2:1:(0,n.a2)(i[1]-e)0?1:0:a>0?3:2}function p(t,e){return d(t.x,e.x)}function d(t,e){var r=h(t,1),n=h(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}return function(n){var h,d,v,g,y,m,x,b,_,w,T,k=n,A=(0,i.c)(),M={point:S,lineStart:function(){M.point=E,d&&d.push(v=[]),w=!0,_=!1,x=b=NaN},lineEnd:function(){h&&(E(g,y),m&&_&&A.rejoin(),h.push(A.result())),M.point=S,_&&k.lineEnd()},polygonStart:function(){k=A,h=[],d=[],T=!0},polygonEnd:function(){var e=function(){for(var e=0,r=0,n=d.length;ru&&(f-i)*(u-a)>(h-a)*(t-i)&&++e:h<=u&&(f-i)*(u-a)<(h-a)*(t-i)&&--e;return e}(),r=T&&e,i=(h=(0,o.Uf)(h)).length;(r||i)&&(n.polygonStart(),r&&(n.lineStart(),f(null,null,1,n),n.lineEnd()),i&&(0,a.c)(h,p,e,f,n),n.polygonEnd()),k=n,h=d=v=null}};function S(t,e){c(t,e)&&k.point(t,e)}function E(n,i){var a=c(n,i);if(d&&v.push([n,i]),w)g=n,y=i,m=a,w=!1,a&&(k.lineStart(),k.point(n,i));else if(a&&_)k.point(n,i);else{var o=[x=Math.max(l,Math.min(s,x)),b=Math.max(l,Math.min(s,b))],f=[n=Math.max(l,Math.min(s,n)),i=Math.max(l,Math.min(s,i))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],u=0,c=1,f=e[0]-s,h=e[1]-l;if(o=r-s,f||!(o>0)){if(o/=f,f<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=i-s,f||!(o<0)){if(o/=f,f<0){if(o>c)return;o>u&&(u=o)}else if(f>0){if(o0)){if(o/=h,h<0){if(o0){if(o>c)return;o>u&&(u=o)}if(o=a-l,h||!(o<0)){if(o/=h,h<0){if(o>c)return;o>u&&(u=o)}else if(h>0){if(o0&&(t[0]=s+u*f,t[1]=l+u*h),c<1&&(e[0]=s+c*f,e[1]=l+c*h),!0}}}}}(o,f,t,e,r,u)?a&&(k.lineStart(),k.point(n,i),T=!1):(_||(k.lineStart(),k.point(o[0],o[1])),k.point(f[0],f[1]),a||k.lineEnd(),T=!1)}x=n,b=i,_=a}return M}}},32232:function(t,e,r){"use strict";r.d(e,{c:function(){return o}});var n=r(41860),i=r(64528);function a(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function o(t,e,r,o,l){var u,c,f=[],h=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r,o=t[0],s=t[e];if((0,n.c)(o,s)){if(!o[2]&&!s[2]){for(l.lineStart(),u=0;u=0;--u)l.point((d=p[u])[0],d[1]);else o(g.x,g.p.x,-1,l);g=g.p}p=(g=g.o).z,y=!y}while(!g.v);l.lineEnd()}}}function s(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n0&&(i=S(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))g.Gg})).map(l)).concat((0,F.ik)((0,g.Km)(a/p)*p,i,p).filter((function(t){return(0,g.a2)(t%v)>g.Gg})).map(u))}return m.lines=function(){return x().map((function(t){return{type:"LineString",coordinates:t}}))},m.outline=function(){return{type:"Polygon",coordinates:[c(n).concat(f(o).slice(1),c(r).reverse().slice(1),f(s).reverse().slice(1))]}},m.extent=function(t){return arguments.length?m.extentMajor(t).extentMinor(t):m.extentMinor()},m.extentMajor=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],s=+t[0][1],o=+t[1][1],n>r&&(t=n,n=r,r=t),s>o&&(t=s,s=o,o=t),m.precision(y)):[[n,s],[r,o]]},m.extentMinor=function(r){return arguments.length?(e=+r[0][0],t=+r[1][0],a=+r[0][1],i=+r[1][1],e>t&&(r=e,e=t,t=r),a>i&&(r=a,a=i,i=r),m.precision(y)):[[e,a],[t,i]]},m.step=function(t){return arguments.length?m.stepMajor(t).stepMinor(t):m.stepMinor()},m.stepMajor=function(t){return arguments.length?(d=+t[0],v=+t[1],m):[d,v]},m.stepMinor=function(t){return arguments.length?(h=+t[0],p=+t[1],m):[h,p]},m.precision=function(h){return arguments.length?(y=+h,l=B(a,i,90),u=N(e,t,y),c=B(s,o,90),f=N(n,r,y),m):y},m.extentMajor([[-180,-90+g.Gg],[180,90-g.Gg]]).extentMinor([[-180,-80-g.Gg],[180,80+g.Gg]])}function U(){return j()()}var V,q,H,G,W=r(27284),Y=r(7376),X=(0,v.c)(),Z=(0,v.c)(),K={point:y.c,lineStart:y.c,lineEnd:y.c,polygonStart:function(){K.lineStart=J,K.lineEnd=tt},polygonEnd:function(){K.lineStart=K.lineEnd=K.point=y.c,X.add((0,g.a2)(Z)),Z.reset()},result:function(){var t=X/2;return X.reset(),t}};function J(){K.point=$}function $(t,e){K.point=Q,V=H=t,q=G=e}function Q(t,e){Z.add(G*t-H*e),H=t,G=e}function tt(){Q(V,q)}var et,rt,nt,it,at=K,ot=r(73784),st=0,lt=0,ut=0,ct=0,ft=0,ht=0,pt=0,dt=0,vt=0,gt={point:yt,lineStart:mt,lineEnd:_t,polygonStart:function(){gt.lineStart=wt,gt.lineEnd=Tt},polygonEnd:function(){gt.point=yt,gt.lineStart=mt,gt.lineEnd=_t},result:function(){var t=vt?[pt/vt,dt/vt]:ht?[ct/ht,ft/ht]:ut?[st/ut,lt/ut]:[NaN,NaN];return st=lt=ut=ct=ft=ht=pt=dt=vt=0,t}};function yt(t,e){st+=t,lt+=e,++ut}function mt(){gt.point=xt}function xt(t,e){gt.point=bt,yt(nt=t,it=e)}function bt(t,e){var r=t-nt,n=e-it,i=(0,g._I)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,yt(nt=t,it=e)}function _t(){gt.point=yt}function wt(){gt.point=kt}function Tt(){At(et,rt)}function kt(t,e){gt.point=At,yt(et=nt=t,rt=it=e)}function At(t,e){var r=t-nt,n=e-it,i=(0,g._I)(r*r+n*n);ct+=i*(nt+t)/2,ft+=i*(it+e)/2,ht+=i,pt+=(i=it*t-nt*e)*(nt+t),dt+=i*(it+e),vt+=3*i,yt(nt=t,it=e)}var Mt=gt;function St(t){this._context=t}St.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,g.kD)}},result:y.c};var Et,Lt,Ct,Pt,Ot,It=(0,v.c)(),zt={point:y.c,lineStart:function(){zt.point=Dt},lineEnd:function(){Et&&Rt(Lt,Ct),zt.point=y.c},polygonStart:function(){Et=!0},polygonEnd:function(){Et=null},result:function(){var t=+It;return It.reset(),t}};function Dt(t,e){zt.point=Rt,Lt=Pt=t,Ct=Ot=e}function Rt(t,e){Pt-=t,Ot-=e,It.add((0,g._I)(Pt*Pt+Ot*Ot)),Pt=t,Ot=e}var Ft=zt;function Bt(){this._string=[]}function Nt(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function jt(t,e){var r,n,i=4.5;function a(t){return t&&("function"==typeof i&&n.pointRadius(+i.apply(this,arguments)),(0,m.c)(t,r(n))),n.result()}return a.area=function(t){return(0,m.c)(t,r(at)),at.result()},a.measure=function(t){return(0,m.c)(t,r(Ft)),Ft.result()},a.bounds=function(t){return(0,m.c)(t,r(ot.c)),ot.c.result()},a.centroid=function(t){return(0,m.c)(t,r(Mt)),Mt.result()},a.projection=function(e){return arguments.length?(r=null==e?(t=null,Y.c):(t=e).stream,a):t},a.context=function(t){return arguments.length?(n=null==t?(e=null,new Bt):new St(e=t),"function"!=typeof i&&n.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(n.pointRadius(+t),+t),a):i},a.projection(t).context(e)}Bt.prototype={_radius:4.5,_circle:Nt(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Nt(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var Ut=r(87952);function Vt(t){var e=0,r=g.pi/3,n=(0,Ut.U)(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*g.qw,r=t[1]*g.qw):[e*g.oh,r*g.oh]},i}function qt(t,e){var r=(0,g.g$)(t),n=(r+(0,g.g$)(e))/2;if((0,g.a2)(n)=.12&&i<.234&&n>=-.425&&n<-.214?s:i>=.166&&i<.234&&n>=-.214&&n<-.115?l:o).invert(t)},c.stream=function(r){return t&&e===r?t:(n=[o.stream(e=r),s.stream(r),l.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++r0?e<-g.or+g.Gg&&(e=-g.or+g.Gg):e>g.or-g.Gg&&(e=g.or-g.Gg);var r=i/(0,g.g3)(te(e),n);return[r*(0,g.g$)(n*t),i-r*(0,g.W8)(n*t)]}return a.invert=function(t,e){var r=i-e,a=(0,g.kq)(n)*(0,g._I)(t*t+r*r),o=(0,g.WE)(t,(0,g.a2)(r))*(0,g.kq)(r);return r*n<0&&(o-=g.pi*(0,g.kq)(t)*(0,g.kq)(r)),[o/n,2*(0,g.MQ)((0,g.g3)(i/a,1/n))-g.or]},a}function re(){return Vt(ee).scale(109.5).parallels([30,30])}Jt.invert=function(t,e){return[t,2*(0,g.MQ)((0,g.oN)(e))-g.or]};var ne=r(69604);function ie(t,e){var r=(0,g.W8)(t),n=t===e?(0,g.g$)(t):(r-(0,g.W8)(e))/(e-t),i=r/n+t;if((0,g.a2)(n)2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)}xe.invert=(0,me.g)((function(t){return 2*(0,g.MQ)(t)})),_e.invert=function(t,e){return[-e,2*(0,g.MQ)((0,g.oN)(t))-g.or]}},27284:function(t,e,r){"use strict";r.d(e,{c:function(){return i}});var n=r(64528);function i(t,e){var r=t[0]*n.qw,i=t[1]*n.qw,a=e[0]*n.qw,o=e[1]*n.qw,s=(0,n.W8)(i),l=(0,n.g$)(i),u=(0,n.W8)(o),c=(0,n.g$)(o),f=s*(0,n.W8)(r),h=s*(0,n.g$)(r),p=u*(0,n.W8)(a),d=u*(0,n.g$)(a),v=2*(0,n.qR)((0,n._I)((0,n.SD)(o-i)+s*u*(0,n.SD)(a-r))),g=(0,n.g$)(v),y=v?function(t){var e=(0,n.g$)(t*=v)/g,r=(0,n.g$)(v-t)/g,i=r*f+e*p,a=r*h+e*d,o=r*l+e*c;return[(0,n.WE)(a,i)*n.oh,(0,n.WE)(o,(0,n._I)(i*i+a*a))*n.oh]}:function(){return[r*n.oh,i*n.oh]};return y.distance=v,y}},64528:function(t,e,r){"use strict";r.d(e,{Gg:function(){return n},Km:function(){return v},MQ:function(){return h},SD:function(){return A},W8:function(){return d},WE:function(){return p},Yz:function(){return y},_I:function(){return _},a2:function(){return f},a6:function(){return w},a8:function(){return i},g$:function(){return x},g3:function(){return m},kD:function(){return l},kq:function(){return b},mE:function(){return T},oN:function(){return g},oh:function(){return u},or:function(){return o},pi:function(){return a},qR:function(){return k},qw:function(){return c},wL:function(){return s}});var n=1e-6,i=1e-12,a=Math.PI,o=a/2,s=a/4,l=2*a,u=180/a,c=a/180,f=Math.abs,h=Math.atan,p=Math.atan2,d=Math.cos,v=Math.ceil,g=Math.exp,y=(Math.floor,Math.log),m=Math.pow,x=Math.sin,b=Math.sign||function(t){return t>0?1:t<0?-1:0},_=Math.sqrt,w=Math.tan;function T(t){return t>1?0:t<-1?a:Math.acos(t)}function k(t){return t>1?o:t<-1?-o:Math.asin(t)}function A(t){return(t=x(t/2))*t}},70932:function(t,e,r){"use strict";function n(){}r.d(e,{c:function(){return n}})},73784:function(t,e,r){"use strict";var n=r(70932),i=1/0,a=i,o=-i,s=o,l={point:function(t,e){to&&(o=t),es&&(s=e)},lineStart:n.c,lineEnd:n.c,polygonStart:n.c,polygonEnd:n.c,result:function(){var t=[[i,a],[o,s]];return o=s=-(a=i=1/0),t}};e.c=l},41860:function(t,e,r){"use strict";r.d(e,{c:function(){return i}});var n=r(64528);function i(t,e){return(0,n.a2)(t[0]-e[0])=0?1:-1,L=E*S,C=L>a.pi,P=x*A;if(o.add((0,a.WE)(P*E*(0,a.g$)(L),b*M+P*(0,a.W8)(L))),c+=C?S+E*a.kD:S,C^y>=r^T>=r){var O=(0,i.CW)((0,i.ux)(g),(0,i.ux)(w));(0,i.cJ)(O);var I=(0,i.CW)(u,O);(0,i.cJ)(I);var z=(C^S>=0?-1:1)*(0,a.qR)(I[2]);(n>z||n===z&&(O[0]||O[1]))&&(f+=C^S>=0?1:-1)}}return(c<-a.Gg||c4*e&&y--){var w=o+p,T=s+v,k=u+g,A=(0,l._I)(w*w+T*T+k*k),M=(0,l.qR)(k/=A),S=(0,l.a2)((0,l.a2)(k)-1)e||(0,l.a2)((x*P+b*O)/_-.5)>.3||o*p+s*v+u*g2?t[2]%360*l.qw:0,V()):[L*l.oh,C*l.oh,P*l.oh]},j.angle=function(t){return arguments.length?(O=t%360*l.qw,V()):O*l.oh},j.reflectX=function(t){return arguments.length?(I=t?-1:1,V()):I<0},j.reflectY=function(t){return arguments.length?(z=t?-1:1,V()):z<0},j.precision=function(t){return arguments.length?(x=v(b,N=t*t),q()):(0,l._I)(N)},j.fitExtent=function(t,e){return(0,f.QX)(j,t,e)},j.fitSize=function(t,e){return(0,f.UV)(j,t,e)},j.fitWidth=function(t,e){return(0,f.Qx)(j,t,e)},j.fitHeight=function(t,e){return(0,f.OW)(j,t,e)},function(){return e=t.apply(this,arguments),j.invert=e.invert&&U,V()}}},47984:function(t,e,r){"use strict";r.d(e,{c:function(){return o},g:function(){return a}});var n=r(87952),i=r(64528);function a(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}function o(){return(0,n.c)(a).scale(175.295)}a.invert=function(t,e){var r,n=e,a=25;do{var o=n*n,s=o*o;n-=r=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while((0,i.a2)(r)>i.Gg&&--a>0);return[t/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]}},4888:function(t,e,r){"use strict";r.d(e,{c:function(){return s},t:function(){return o}});var n=r(64528),i=r(62280),a=r(87952);function o(t,e){return[(0,n.W8)(e)*(0,n.g$)(t),(0,n.g$)(e)]}function s(){return(0,a.c)(o).scale(249.5).clipAngle(90+n.Gg)}o.invert=(0,i.g)(n.qR)},92992:function(t,e,r){"use strict";r.d(e,{O:function(){return o},c:function(){return c}});var n=r(68120),i=r(64528);function a(t,e){return[(0,i.a2)(t)>i.pi?t+Math.round(-t/i.kD)*i.kD:t,e]}function o(t,e,r){return(t%=i.kD)?e||r?(0,n.c)(l(t),u(e,r)):l(t):e||r?u(e,r):a}function s(t){return function(e,r){return[(e+=t)>i.pi?e-i.kD:e<-i.pi?e+i.kD:e,r]}}function l(t){var e=s(t);return e.invert=s(-t),e}function u(t,e){var r=(0,i.W8)(t),n=(0,i.g$)(t),a=(0,i.W8)(e),o=(0,i.g$)(e);function s(t,e){var s=(0,i.W8)(e),l=(0,i.W8)(t)*s,u=(0,i.g$)(t)*s,c=(0,i.g$)(e),f=c*r+l*n;return[(0,i.WE)(u*a-f*o,l*r-c*n),(0,i.qR)(f*a+u*o)]}return s.invert=function(t,e){var s=(0,i.W8)(e),l=(0,i.W8)(t)*s,u=(0,i.g$)(t)*s,c=(0,i.g$)(e),f=c*a-u*o;return[(0,i.WE)(u*a+c*o,l*r+f*n),(0,i.qR)(f*r-l*n)]},s}function c(t){function e(e){return(e=t(e[0]*i.qw,e[1]*i.qw))[0]*=i.oh,e[1]*=i.oh,e}return t=o(t[0]*i.qw,t[1]*i.qw,t.length>2?t[2]*i.qw:0),e.invert=function(e){return(e=t.invert(e[0]*i.qw,e[1]*i.qw))[0]*=i.oh,e[1]*=i.oh,e},e}a.invert=a},16016:function(t,e,r){"use strict";function n(t,e){t&&a.hasOwnProperty(t.type)&&a[t.type](t,e)}r.d(e,{c:function(){return l}});var i={Feature:function(t,e){n(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,i=-1,a=r.length;++i=0;)e+=r[n].value;else e=1;t.value=e}function l(t,e){var r,n,i,a,o,s=new h(t),l=+t.value&&(s.value=t.value),c=[s];for(null==e&&(e=u);r=c.pop();)if(l&&(r.value=+r.data.value),(i=e(r.data))&&(o=i.length))for(r.children=new Array(o),a=o-1;a>=0;--a)c.push(n=r.children[a]=new h(i[a])),n.parent=r,n.depth=r.depth+1;return s.eachBefore(f)}function u(t){return t.children}function c(t){t.data=t.data.data}function f(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function h(t){this.data=t,this.depth=this.height=0,this.parent=null}r.r(e),r.d(e,{cluster:function(){return o},hierarchy:function(){return l},pack:function(){return O},packEnclose:function(){return d},packSiblings:function(){return S},partition:function(){return B},stratify:function(){return H},tree:function(){return J},treemap:function(){return rt},treemapBinary:function(){return nt},treemapDice:function(){return F},treemapResquarify:function(){return at},treemapSlice:function(){return $},treemapSliceDice:function(){return it},treemapSquarify:function(){return et}}),h.prototype=l.prototype={constructor:h,count:function(){return this.eachAfter(s)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return l(this).eachBefore(c)}};var p=Array.prototype.slice;function d(t){for(var e,r,n=0,i=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(p.call(t))).length,a=[];n0&&r*r>n*n+i*i}function m(t,e){for(var r=0;r(o*=o)?(n=(u+o-i)/(2*u),a=Math.sqrt(Math.max(0,o/u-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(u+i-o)/(2*u),a=Math.sqrt(Math.max(0,i/u-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function T(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function k(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function A(t){this._=t,this.next=null,this.previous=null}function M(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,u,c,f;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;w(r,e,n=t[2]),e=new A(e),r=new A(r),n=new A(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s0)throw new Error("cycle");return a}return r.id=function(e){return arguments.length?(t=E(e),r):t},r.parentId=function(t){return arguments.length?(e=E(t),r):e},r}function G(t,e){return t.parent===e.parent?1:2}function W(t){var e=t.children;return e?e[0]:t.t}function Y(t){var e=t.children;return e?e[e.length-1]:t.t}function X(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function Z(t,e,r){return t.a.parent===e.parent?t.a:r}function K(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function J(){var t=G,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new K(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new K(n[i],i)),r.parent=e;return(o.parent=new K(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var u=i,c=i,f=i;i.eachBefore((function(t){t.xc.x&&(c=t),t.depth>f.depth&&(f=t)}));var h=u===c?1:t(u,c)/2,p=h-u.x,d=e/(c.x+h+p),v=r/(f.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*v}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],u=a.m,c=o.m,f=s.m,h=l.m;s=Y(s),a=W(a),s&&a;)l=W(l),(o=Y(o)).a=e,(i=s.z+f-a.z-u+t(s._,a._))>0&&(X(Z(s,e,n),e,i),u+=i,c+=i),f+=s.m,u+=a.m,h+=l.m,c+=o.m;s&&!Y(o)&&(o.t=s,o.m+=f-c),a&&!W(l)&&(l.t=a,l.m+=u-h,n=e)}return n}(e,i,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i}function $(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,u=t.value&&(i-r)/t.value;++sh&&(h=s),g=c*c*v,(p=Math.max(h/g,g/f))>d){c-=s;break}d=p}y.push(o={value:c,dice:l1?e:1)},r}(Q);function rt(){var t=et,e=!1,r=1,n=1,i=[0],a=L,o=L,s=L,l=L,u=L;function c(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(f),i=[0],e&&t.eachBefore(R),t}function f(e){var r=i[e.depth],n=e.x0+r,c=e.y0+r,f=e.x1-r,h=e.y1-r;f=r-1){var c=s[e];return c.x0=i,c.y0=a,c.x1=o,void(c.y1=l)}for(var f=u[e],h=n/2+f,p=e+1,d=r-1;p>>1;u[v]l-a){var m=(i*y+o*g)/n;t(e,p,g,i,a,m,l),t(p,r,y,m,a,o,l)}else{var x=(a*y+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,y,i,x,o,l)}}(0,l,t.value,e,r,n,i)}function it(t,e,r,n,i){(1&t.depth?$:F)(t,e,r,n,i)}var at=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,u,c,f=-1,h=o.length,p=t.value;++f1?e:1)},r}(Q)},10132:function(t,e,r){"use strict";r.d(e,{ak:function(){return y}});var n=Math.PI,i=2*n,a=1e-6,o=i-a;function s(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function l(){return new s}s.prototype=l.prototype={constructor:s,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,i,o){t=+t,e=+e,r=+r,i=+i,o=+o;var s=this._x1,l=this._y1,u=r-t,c=i-e,f=s-t,h=l-e,p=f*f+h*h;if(o<0)throw new Error("negative radius: "+o);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(p>a)if(Math.abs(h*u-c*f)>a&&o){var d=r-s,v=i-l,g=u*u+c*c,y=d*d+v*v,m=Math.sqrt(g),x=Math.sqrt(p),b=o*Math.tan((n-Math.acos((g+p-y)/(2*m*x)))/2),_=b/x,w=b/m;Math.abs(_-1)>a&&(this._+="L"+(t+_*f)+","+(e+_*h)),this._+="A"+o+","+o+",0,0,"+ +(h*d>f*v)+","+(this._x1=t+w*u)+","+(this._y1=e+w*c)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,r,s,l,u){t=+t,e=+e,u=!!u;var c=(r=+r)*Math.cos(s),f=r*Math.sin(s),h=t+c,p=e+f,d=1^u,v=u?s-l:l-s;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+h+","+p:(Math.abs(this._x1-h)>a||Math.abs(this._y1-p)>a)&&(this._+="L"+h+","+p),r&&(v<0&&(v=v%i+i),v>o?this._+="A"+r+","+r+",0,1,"+d+","+(t-c)+","+(e-f)+"A"+r+","+r+",0,1,"+d+","+(this._x1=h)+","+(this._y1=p):v>a&&(this._+="A"+r+","+r+",0,"+ +(v>=n)+","+d+","+(this._x1=t+r*Math.cos(l))+","+(this._y1=e+r*Math.sin(l))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};var u=l,c=Array.prototype.slice;function f(t){return function(){return t}}function h(t){return t[0]}function p(t){return t[1]}function d(t){return t.source}function v(t){return t.target}function g(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function y(){return function(t){var e=d,r=v,n=h,i=p,a=null;function o(){var o,s=c.call(arguments),l=e.apply(this,s),f=r.apply(this,s);if(a||(a=o=u()),t(a,+n.apply(this,(s[0]=l,s)),+i.apply(this,s),+n.apply(this,(s[0]=f,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(r=t,o):r},o.x=function(t){return arguments.length?(n="function"==typeof t?t:f(+t),o):n},o.y=function(t){return arguments.length?(i="function"==typeof t?t:f(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}(g)}},94336:function(t,e,r){"use strict";r.d(e,{Yn:function(){return d},m_:function(){return h},E9:function(){return v}});var n=r(8208),i=r(58931),a=r(46192),o=r(68936),s=r(32171),l=r(53528);function u(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function c(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function f(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function h(t){var e=t.dateTime,r=t.date,s=t.time,l=t.periods,h=t.days,p=t.shortDays,d=t.months,v=t.shortMonths,y=w(l),m=T(l),x=w(h),b=T(h),_=w(p),St=T(p),Et=w(d),Lt=T(d),Ct=w(v),Pt=T(v),Ot={a:function(t){return p[t.getDay()]},A:function(t){return h[t.getDay()]},b:function(t){return v[t.getMonth()]},B:function(t){return d[t.getMonth()]},c:null,d:H,e:H,f:Z,H:G,I:W,j:Y,L:X,m:K,M:J,p:function(t){return l[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:At,s:Mt,S:$,u:Q,U:tt,V:et,w:rt,W:nt,x:null,X:null,y:it,Y:at,Z:ot,"%":kt},It={a:function(t){return p[t.getUTCDay()]},A:function(t){return h[t.getUTCDay()]},b:function(t){return v[t.getUTCMonth()]},B:function(t){return d[t.getUTCMonth()]},c:null,d:st,e:st,f:ht,H:lt,I:ut,j:ct,L:ft,m:pt,M:dt,p:function(t){return l[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:At,s:Mt,S:vt,u:gt,U:yt,V:mt,w:xt,W:bt,x:null,X:null,y:_t,Y:wt,Z:Tt,"%":kt},zt={a:function(t,e,r){var n=_.exec(e.slice(r));return n?(t.w=St[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=x.exec(e.slice(r));return n?(t.w=b[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=Ct.exec(e.slice(r));return n?(t.m=Pt[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=Et.exec(e.slice(r));return n?(t.m=Lt[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,r,n){return Ft(t,e,r,n)},d:z,e:z,f:j,H:R,I:R,j:D,L:N,m:I,M:F,p:function(t,e,r){var n=y.exec(e.slice(r));return n?(t.p=m[n[0].toLowerCase()],r+n[0].length):-1},q:O,Q:V,s:q,S:B,u:A,U:M,V:S,w:k,W:E,x:function(t,e,n){return Ft(t,r,e,n)},X:function(t,e,r){return Ft(t,s,e,r)},y:C,Y:L,Z:P,"%":U};function Dt(t,e){return function(r){var n,i,a,o=[],s=-1,l=0,u=t.length;for(r instanceof Date||(r=new Date(+r));++s53)return null;"w"in h||(h.w=1),"Z"in h?(l=(s=c(f(h.y,0,1))).getUTCDay(),s=l>4||0===l?n.ot.ceil(s):(0,n.ot)(s),s=i.c.offset(s,7*(h.V-1)),h.y=s.getUTCFullYear(),h.m=s.getUTCMonth(),h.d=s.getUTCDate()+(h.w+6)%7):(l=(s=u(f(h.y,0,1))).getDay(),s=l>4||0===l?a.qT.ceil(s):(0,a.qT)(s),s=o.c.offset(s,7*(h.V-1)),h.y=s.getFullYear(),h.m=s.getMonth(),h.d=s.getDate()+(h.w+6)%7)}else("W"in h||"U"in h)&&("w"in h||(h.w="u"in h?h.u%7:"W"in h?1:0),l="Z"in h?c(f(h.y,0,1)).getUTCDay():u(f(h.y,0,1)).getDay(),h.m=0,h.d="W"in h?(h.w+6)%7+7*h.W-(l+5)%7:h.w+7*h.U-(l+6)%7);return"Z"in h?(h.H+=h.Z/100|0,h.M+=h.Z%100,c(h)):u(h)}}function Ft(t,e,r,n){for(var i,a,o=0,s=e.length,l=r.length;o=l)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=zt[i in g?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Ot.x=Dt(r,Ot),Ot.X=Dt(s,Ot),Ot.c=Dt(e,Ot),It.x=Dt(r,It),It.X=Dt(s,It),It.c=Dt(e,It),{format:function(t){var e=Dt(t+="",Ot);return e.toString=function(){return t},e},parse:function(t){var e=Rt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=Dt(t+="",It);return e.toString=function(){return t},e},utcParse:function(t){var e=Rt(t+="",!0);return e.toString=function(){return t},e}}}var p,d,v,g={"-":"",_:" ",0:"0"},y=/^\s*\d+/,m=/^%/,x=/[\\^$*+?|[\]().{}]/g;function b(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function P(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function O(t,e,r){var n=y.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function I(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function z(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function D(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function R(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function F(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function B(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function N(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function j(t,e,r){var n=y.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U(t,e,r){var n=m.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function V(t,e,r){var n=y.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function q(t,e,r){var n=y.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function H(t,e){return b(t.getDate(),e,2)}function G(t,e){return b(t.getHours(),e,2)}function W(t,e){return b(t.getHours()%12||12,e,2)}function Y(t,e){return b(1+o.c.count((0,s.c)(t),t),e,3)}function X(t,e){return b(t.getMilliseconds(),e,3)}function Z(t,e){return X(t,e)+"000"}function K(t,e){return b(t.getMonth()+1,e,2)}function J(t,e){return b(t.getMinutes(),e,2)}function $(t,e){return b(t.getSeconds(),e,2)}function Q(t){var e=t.getDay();return 0===e?7:e}function tt(t,e){return b(a.uU.count((0,s.c)(t)-1,t),e,2)}function et(t,e){var r=t.getDay();return t=r>=4||0===r?(0,a.kD)(t):a.kD.ceil(t),b(a.kD.count((0,s.c)(t),t)+(4===(0,s.c)(t).getDay()),e,2)}function rt(t){return t.getDay()}function nt(t,e){return b(a.qT.count((0,s.c)(t)-1,t),e,2)}function it(t,e){return b(t.getFullYear()%100,e,2)}function at(t,e){return b(t.getFullYear()%1e4,e,4)}function ot(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+b(e/60|0,"0",2)+b(e%60,"0",2)}function st(t,e){return b(t.getUTCDate(),e,2)}function lt(t,e){return b(t.getUTCHours(),e,2)}function ut(t,e){return b(t.getUTCHours()%12||12,e,2)}function ct(t,e){return b(1+i.c.count((0,l.c)(t),t),e,3)}function ft(t,e){return b(t.getUTCMilliseconds(),e,3)}function ht(t,e){return ft(t,e)+"000"}function pt(t,e){return b(t.getUTCMonth()+1,e,2)}function dt(t,e){return b(t.getUTCMinutes(),e,2)}function vt(t,e){return b(t.getUTCSeconds(),e,2)}function gt(t){var e=t.getUTCDay();return 0===e?7:e}function yt(t,e){return b(n.EV.count((0,l.c)(t)-1,t),e,2)}function mt(t,e){var r=t.getUTCDay();return t=r>=4||0===r?(0,n.yA)(t):n.yA.ceil(t),b(n.yA.count((0,l.c)(t),t)+(4===(0,l.c)(t).getUTCDay()),e,2)}function xt(t){return t.getUTCDay()}function bt(t,e){return b(n.ot.count((0,l.c)(t)-1,t),e,2)}function _t(t,e){return b(t.getUTCFullYear()%100,e,2)}function wt(t,e){return b(t.getUTCFullYear()%1e4,e,4)}function Tt(){return"+0000"}function kt(){return"%"}function At(t){return+t}function Mt(t){return Math.floor(+t/1e3)}p=h({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),d=p.format,p.parse,v=p.utcFormat,p.utcParse},68936:function(t,e,r){"use strict";r.d(e,{m:function(){return o}});var n=r(81628),i=r(69792),a=(0,n.c)((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.iy)/i.SK}),(function(t){return t.getDate()-1}));e.c=a;var o=a.range},69792:function(t,e,r){"use strict";r.d(e,{KK:function(){return s},SK:function(){return o},cg:function(){return a},iy:function(){return i},yc:function(){return n}});var n=1e3,i=6e4,a=36e5,o=864e5,s=6048e5},73220:function(t,e,r){"use strict";r.r(e),r.d(e,{timeDay:function(){return y.c},timeDays:function(){return y.m},timeFriday:function(){return m.iB},timeFridays:function(){return m.sJ},timeHour:function(){return v},timeHours:function(){return g},timeInterval:function(){return n.c},timeMillisecond:function(){return a},timeMilliseconds:function(){return o},timeMinute:function(){return h},timeMinutes:function(){return p},timeMonday:function(){return m.qT},timeMondays:function(){return m.QP},timeMonth:function(){return b},timeMonths:function(){return _},timeSaturday:function(){return m.Wc},timeSaturdays:function(){return m.aI},timeSecond:function(){return u},timeSeconds:function(){return c},timeSunday:function(){return m.uU},timeSundays:function(){return m.Ab},timeThursday:function(){return m.kD},timeThursdays:function(){return m.eC},timeTuesday:function(){return m.Mf},timeTuesdays:function(){return m.Oc},timeWednesday:function(){return m.eg},timeWednesdays:function(){return m.sn},timeWeek:function(){return m.uU},timeWeeks:function(){return m.Ab},timeYear:function(){return w.c},timeYears:function(){return w.Q},utcDay:function(){return L.c},utcDays:function(){return L.o},utcFriday:function(){return C.od},utcFridays:function(){return C.iG},utcHour:function(){return S},utcHours:function(){return E},utcMillisecond:function(){return a},utcMilliseconds:function(){return o},utcMinute:function(){return k},utcMinutes:function(){return A},utcMonday:function(){return C.ot},utcMondays:function(){return C.iO},utcMonth:function(){return O},utcMonths:function(){return I},utcSaturday:function(){return C.Ad},utcSaturdays:function(){return C.K8},utcSecond:function(){return u},utcSeconds:function(){return c},utcSunday:function(){return C.EV},utcSundays:function(){return C.Wq},utcThursday:function(){return C.yA},utcThursdays:function(){return C.ob},utcTuesday:function(){return C.sG},utcTuesdays:function(){return C.kl},utcWednesday:function(){return C._6},utcWednesdays:function(){return C.W_},utcWeek:function(){return C.EV},utcWeeks:function(){return C.Wq},utcYear:function(){return z.c},utcYears:function(){return z.i}});var n=r(81628),i=(0,n.c)((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?(0,n.c)((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i,o=i.range,s=r(69792),l=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*s.yc)}),(function(t,e){return(e-t)/s.yc}),(function(t){return t.getUTCSeconds()})),u=l,c=l.range,f=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.yc)}),(function(t,e){t.setTime(+t+e*s.iy)}),(function(t,e){return(e-t)/s.iy}),(function(t){return t.getMinutes()})),h=f,p=f.range,d=(0,n.c)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.yc-t.getMinutes()*s.iy)}),(function(t,e){t.setTime(+t+e*s.cg)}),(function(t,e){return(e-t)/s.cg}),(function(t){return t.getHours()})),v=d,g=d.range,y=r(68936),m=r(46192),x=(0,n.c)((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),b=x,_=x.range,w=r(32171),T=(0,n.c)((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*s.iy)}),(function(t,e){return(e-t)/s.iy}),(function(t){return t.getUTCMinutes()})),k=T,A=T.range,M=(0,n.c)((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*s.cg)}),(function(t,e){return(e-t)/s.cg}),(function(t){return t.getUTCHours()})),S=M,E=M.range,L=r(58931),C=r(8208),P=(0,n.c)((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),O=P,I=P.range,z=r(53528)},81628:function(t,e,r){"use strict";r.d(e,{c:function(){return a}});var n=new Date,i=new Date;function a(t,e,r,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(r){return t(r=new Date(r-1)),e(r,1),t(r),r},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(a=new Date(+r)),e(r,i),t(r)}while(a=e)for(;t(e),!r(e);)e.setTime(e-1)}),(function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!r(t););else for(;--n>=0;)for(;e(t,1),!r(t););}))},r&&(s.count=function(e,a){return n.setTime(+e),i.setTime(+a),t(n),t(i),Math.floor(r(n,i))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}},58931:function(t,e,r){"use strict";r.d(e,{o:function(){return o}});var n=r(81628),i=r(69792),a=(0,n.c)((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/i.SK}),(function(t){return t.getUTCDate()-1}));e.c=a;var o=a.range},8208:function(t,e,r){"use strict";r.d(e,{Ad:function(){return h},EV:function(){return o},K8:function(){return x},W_:function(){return g},Wq:function(){return p},_6:function(){return u},iG:function(){return m},iO:function(){return d},kl:function(){return v},ob:function(){return y},od:function(){return f},ot:function(){return s},sG:function(){return l},yA:function(){return c}});var n=r(81628),i=r(69792);function a(t){return(0,n.c)((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/i.KK}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},53528:function(t,e,r){"use strict";r.d(e,{i:function(){return a}});var n=r(81628),i=(0,n.c)((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.c)((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null},e.c=i;var a=i.range},46192:function(t,e,r){"use strict";r.d(e,{Ab:function(){return p},Mf:function(){return l},Oc:function(){return v},QP:function(){return d},Wc:function(){return h},aI:function(){return x},eC:function(){return y},eg:function(){return u},iB:function(){return f},kD:function(){return c},qT:function(){return s},sJ:function(){return m},sn:function(){return g},uU:function(){return o}});var n=r(81628),i=r(69792);function a(t){return(0,n.c)((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.iy)/i.KK}))}var o=a(0),s=a(1),l=a(2),u=a(3),c=a(4),f=a(5),h=a(6),p=o.range,d=s.range,v=l.range,g=u.range,y=c.range,m=f.range,x=h.range},32171:function(t,e,r){"use strict";r.d(e,{Q:function(){return a}});var n=r(81628),i=(0,n.c)((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.c)((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null},e.c=i;var a=i.range},64348:function(t,e,r){"use strict";var n=r(39640)(),i=r(53664),a=n&&i("%Object.defineProperty%",!0);if(a)try{a({},"a",{value:1})}catch(t){a=!1}var o=i("%SyntaxError%"),s=i("%TypeError%"),l=r(2304);t.exports=function(t,e,r){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new s("`obj` must be an object or a function`");if("string"!=typeof e&&"symbol"!=typeof e)throw new s("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new s("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new s("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new s("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new s("`loose`, if provided, must be a boolean");var n=arguments.length>3?arguments[3]:null,i=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,c=arguments.length>6&&arguments[6],f=!!l&&l(t,e);if(a)a(t,e,{configurable:null===u&&f?f.configurable:!u,enumerable:null===n&&f?f.enumerable:!n,value:r,writable:null===i&&f?f.writable:!i});else{if(!c&&(n||i||u))throw new o("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");t[e]=r}}},81288:function(t,e,r){"use strict";var n=r(41820),i="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),a=Object.prototype.toString,o=Array.prototype.concat,s=Object.defineProperty,l=r(39640)(),u=s&&l,c=function(t,e,r,n){if(e in t)if(!0===n){if(t[e]===r)return}else if("function"!=typeof(i=n)||"[object Function]"!==a.call(i)||!n())return;var i;u?s(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r},f=function(t,e){var r=arguments.length>2?arguments[2]:{},a=n(e);i&&(a=o.call(a,Object.getOwnPropertySymbols(e)));for(var s=0;ss*l){var p=(h-f)/s;o[c]=1e3*p}}return o}function i(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*a){o=l=t[0],s=f=t[1];for(var b=a;bl&&(l=h),d>f&&(f=d);v=0!==(v=Math.max(l-o,f-s))?1/v:0}return i(m,x,a,o,s,v),x}function r(t,e,r,n,i){var a,o;if(i===M(t,e,r,n)>0)for(a=e;a=e;a-=n)o=T(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function n(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==g(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function i(t,e,r,u,c,f,p){if(t){!p&&f&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=h(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,u=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,u*=2}while(o>1)}(i)}(t,u,c,f);for(var d,v,g=t;t.prev!==t.next;)if(d=t.prev,v=t.next,f?o(t,u,c,f):a(t))e.push(d.i/r),e.push(t.i/r),e.push(v.i/r),k(t),t=v.next,g=v.next;else if((t=v)===g){p?1===p?i(t=s(n(t),e,r),e,r,u,c,f,2):2===p&&l(t,e,r,u,c,f):i(n(t),e,r,u,c,f,1);break}}}function a(t){var e=t.prev,r=t,n=t.next;if(g(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(d(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&g(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function o(t,e,r,n){var i=t.prev,a=t,o=t.next;if(g(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,c=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,f=h(s,l,e,r,n),p=h(u,c,e,r,n),v=t.prevZ,y=t.nextZ;v&&v.z>=f&&y&&y.z<=p;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;if(v=v.prevZ,y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}for(;v&&v.z>=f;){if(v!==t.prev&&v!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,v.x,v.y)&&g(v.prev,v,v.next)>=0)return!1;v=v.prevZ}for(;y&&y.z<=p;){if(y!==t.prev&&y!==t.next&&d(i.x,i.y,a.x,a.y,o.x,o.y,y.x,y.y)&&g(y.prev,y,y.next)>=0)return!1;y=y.nextZ}return!0}function s(t,e,r){var i=t;do{var a=i.prev,o=i.next.next;!y(a,o)&&m(a,i,i.next,o)&&_(a,o)&&_(o,a)&&(e.push(a.i/r),e.push(i.i/r),e.push(o.i/r),k(i),k(i.next),i=t=o),i=i.next}while(i!==t);return n(i)}function l(t,e,r,a,o,s){var l=t;do{for(var u=l.next.next;u!==l.prev;){if(l.i!==u.i&&v(l,u)){var c=w(l,u);return l=n(l,l.next),c=n(c,c.next),i(l,e,r,a,o,s),void i(c,e,r,a,o,s)}u=u.next}l=l.next}while(l!==t)}function u(t,e){return t.x-e.x}function c(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=c&&i!==n.x&&d(ar.x||n.x===r.x&&f(r,n)))&&(r=n,p=l)),n=n.next}while(n!==u);return r}(t,e),e){var r=w(e,t);n(e,e.next),n(r,r.next)}}function f(t,e){return g(t.prev,t,e.prev)<0&&g(e.next,t,t.next)<0}function h(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function p(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function v(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&m(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(_(t,e)&&_(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(g(t.prev,t,e.prev)||g(t,e.prev,e))||y(t,e)&&g(t.prev,t,t.next)>0&&g(e.prev,e,e.next)>0)}function g(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function m(t,e,r,n){var i=b(g(t,e,r)),a=b(g(t,e,n)),o=b(g(r,n,t)),s=b(g(r,n,e));return i!==a&&o!==s||!(0!==i||!x(t,r,e))||!(0!==a||!x(t,n,e))||!(0!==o||!x(r,t,n))||!(0!==s||!x(r,e,n))}function x(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function b(t){return t>0?1:t<0?-1:0}function _(t,e){return g(t.prev,t,t.next)<0?g(t,e,t.next)>=0&&g(t,t.prev,e)>=0:g(t,e,t.prev)<0||g(t,t.next,e)<0}function w(t,e){var r=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function T(t,e,r,n){var i=new A(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function A(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function M(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},6688:function(t,e,r){var n=r(78484);t.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function u(t){o[t]=!1,s.hasOwnProperty(t)&&Object.keys(s[t]).forEach((function(e){delete s[t][e],o[e]&&u(e)}))}function c(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o=55296&&m<=56319&&(w+=t[++r]),w=T?h.call(T,k,w,v):w,e?(p.value=w,d(g,v,p)):g[v]=w,++v;y=v}if(void 0===y)for(y=o(t.length),e&&(g=new e(y)),r=0;r0?1:-1}},96936:function(t,e,r){"use strict";var n=r(85608),i=Math.abs,a=Math.floor;t.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},81304:function(t,e,r){"use strict";var n=r(96936),i=Math.max;t.exports=function(t){return i(0,n(t))}},14428:function(t,e,r){"use strict";var n=r(34044),i=r(9252),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;t.exports=function(t,e){return function(r,u){var c,f=arguments[2],h=arguments[3];return r=Object(i(r)),n(u),c=s(r),h&&c.sort("function"==typeof h?a.call(h,r):void 0),"function"!=typeof t&&(t=c[t]),o.call(t,c,(function(t,n){return l.call(r,t)?o.call(u,f,r[t],t,r,n):e}))}}},38452:function(t,e,r){"use strict";t.exports=r(96276)()?Object.assign:r(81892)},96276:function(t){"use strict";t.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},81892:function(t,e,r){"use strict";var n=r(54768),i=r(9252),a=Math.max;t.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},29768:function(t){"use strict";var e=Object.prototype.toString,r=e.call("");t.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||e.call(t)===r)||!1}},82252:function(t){"use strict";var e=Object.create(null),r=Math.random;t.exports=function(){var t;do{t=r().toString(36).slice(2)}while(e[t]);return t}},52104:function(t,e,r){"use strict";var n,i=r(69932),a=r(71056),o=r(21092),s=r(92664),l=r(85512),u=Object.defineProperty;n=t.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",u(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t}))}),u(n.prototype,s.toStringTag,o("c","Array Iterator"))},76024:function(t,e,r){"use strict";var n=r(60948),i=r(34044),a=r(29768),o=r(76252),s=Array.isArray,l=Function.prototype.call,u=Array.prototype.some;t.exports=function(t,e){var r,c,f,h,p,d,v,g,y=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),f=function(){h=!0},"array"!==r)if("string"!==r)for(c=t.next();!c.done;){if(l.call(e,y,c.value,f),h)return;c=t.next()}else for(d=t.length,p=0;p=55296&&g<=56319&&(v+=t[++p]),l.call(e,y,v,f),!h);++p);else u.call(t,(function(t){return l.call(e,y,t,f),h}))}},76252:function(t,e,r){"use strict";var n=r(60948),i=r(29768),a=r(52104),o=r(80940),s=r(52891),l=r(92664).iterator;t.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},85512:function(t,e,r){"use strict";var n,i=r(41476),a=r(38452),o=r(34044),s=r(9252),l=r(21092),u=r(27940),c=r(92664),f=Object.defineProperty,h=Object.defineProperties;t.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");h(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,h(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):f(this,"__redo__",l("c",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),f(n.prototype,c.iterator,l((function(){return this})))},76368:function(t,e,r){"use strict";var n=r(60948),i=r(42584),a=r(29768),o=r(92664).iterator,s=Array.isArray;t.exports=function(t){return!(!i(t)||!s(t)&&!a(t)&&!n(t)&&"function"!=typeof t[o])}},80940:function(t,e,r){"use strict";var n,i=r(69932),a=r(21092),o=r(92664),s=r(85512),l=Object.defineProperty;n=t.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},52891:function(t,e,r){"use strict";var n=r(76368);t.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},60964:function(t){"use strict";function e(t,e){if(null==t)throw new TypeError("Cannot convert first argument to object");for(var r=Object(t),n=1;n0&&o.length>i&&!o.warned){o.warned=!0;var c=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");c.name="MaxListenersExceededWarning",c.emitter=t,c.type=e,c.count=o.length,u=c,console&&console.warn&&console.warn(u)}return t}function c(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=c.bind(n);return i.listener=r,n.wrapFn=i,i}function h(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(void 0===l)return!1;if("function"==typeof l)n(l,this,e);else{var u=l.length,c=d(l,u);for(r=0;r=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},a.prototype.listeners=function(t){return h(this,t,!0)},a.prototype.rawListeners=function(t){return h(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},39072:function(t){var e=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(t){return e()}try{return __global__||e()}finally{delete Object.prototype.__global__}}()},12296:function(t,e,r){"use strict";t.exports=r(45072)()?globalThis:r(39072)},45072:function(t){"use strict";t.exports=function(){return"object"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},38248:function(t,e,r){"use strict";var n=r(94576);t.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0==(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},47520:function(t,e,r){var n=r(72512);t.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var i,a,o,s,l=t[0].length,u=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(u+r));var c=e.length-r;if(u!==c)throw new Error("source length "+u+" ("+l+"x"+t.length+") does not match destination length "+c);for(i=0,o=r;ie[0]-o[0]/2&&(h=o[0]/2,p+=o[1]);return r}},71920:function(t){"use strict";function e(t,a){a||(a={}),("string"==typeof t||Array.isArray(t))&&(a.family=t);var o=Array.isArray(a.family)?a.family.join(", "):a.family;if(!o)throw Error("`family` must be defined");var s=a.size||a.fontSize||a.em||48,l=a.weight||a.fontWeight||"",u=(t=[a.style||a.fontStyle||"",l,s].join(" ")+"px "+o,a.origin||"top");if(e.cache[o]&&s<=e.cache[o].em)return r(e.cache[o],u);var c=a.canvas||e.canvas,f=c.getContext("2d"),h={upper:void 0!==a.upper?a.upper:"H",lower:void 0!==a.lower?a.lower:"x",descent:void 0!==a.descent?a.descent:"p",ascent:void 0!==a.ascent?a.ascent:"h",tittle:void 0!==a.tittle?a.tittle:"i",overshoot:void 0!==a.overshoot?a.overshoot:"O"},p=Math.ceil(1.5*s);c.height=p,c.width=.5*p,f.font=t;var d="H",v={top:0};f.clearRect(0,0,p,p),f.textBaseline="top",f.fillStyle="black",f.fillText(d,0,0);var g=n(f.getImageData(0,0,p,p));f.clearRect(0,0,p,p),f.textBaseline="bottom",f.fillText(d,0,p);var y=n(f.getImageData(0,0,p,p));v.lineHeight=v.bottom=p-y+g,f.clearRect(0,0,p,p),f.textBaseline="alphabetic",f.fillText(d,0,p);var m=p-n(f.getImageData(0,0,p,p))-1+g;v.baseline=v.alphabetic=m,f.clearRect(0,0,p,p),f.textBaseline="middle",f.fillText(d,0,.5*p);var x=n(f.getImageData(0,0,p,p));v.median=v.middle=p-x-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="hanging",f.fillText(d,0,.5*p);var b=n(f.getImageData(0,0,p,p));v.hanging=p-b-1+g-.5*p,f.clearRect(0,0,p,p),f.textBaseline="ideographic",f.fillText(d,0,p);var _=n(f.getImageData(0,0,p,p));if(v.ideographic=p-_-1+g,h.upper&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.upper,0,0),v.upper=n(f.getImageData(0,0,p,p)),v.capHeight=v.baseline-v.upper),h.lower&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.lower,0,0),v.lower=n(f.getImageData(0,0,p,p)),v.xHeight=v.baseline-v.lower),h.tittle&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.tittle,0,0),v.tittle=n(f.getImageData(0,0,p,p))),h.ascent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.ascent,0,0),v.ascent=n(f.getImageData(0,0,p,p))),h.descent&&(f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.descent,0,0),v.descent=i(f.getImageData(0,0,p,p))),h.overshoot){f.clearRect(0,0,p,p),f.textBaseline="top",f.fillText(h.overshoot,0,0);var w=i(f.getImageData(0,0,p,p));v.overshoot=w-m}for(var T in v)v[T]/=s;return v.em=s,e.cache[o]=v,r(v,u)}function r(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function n(t){for(var e=t.height,r=t.data,n=3;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}t.exports=e,e.canvas=document.createElement("canvas"),e.cache={}},46492:function(t,e,r){"use strict";var n=r(90720),i=Object.prototype.toString,a=Object.prototype.hasOwnProperty;t.exports=function(t,e,r){if(!n(e))throw new TypeError("iterator must be a function");var o;arguments.length>=3&&(o=r),"[object Array]"===i.call(t)?function(t,e,r){for(var n=0,i=t.length;n1&&"boolean"!=typeof e)throw new o('"allowMissing" argument must be a boolean');if(null===M(/^%?[^%]*%?$/,t))throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=function(t){var e=A(t,0,1),r=A(t,-1);if("%"===e&&"%"!==r)throw new i("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==e)throw new i("invalid intrinsic syntax, expected opening `%`");var n=[];return k(t,S,(function(t,e,r,i){n[n.length]=r?k(i,E,"$1"):e||t})),n}(t),n=r.length>0?r[0]:"",a=L("%"+n+"%",e),s=a.name,u=a.value,c=!1,f=a.alias;f&&(n=f[0],T(r,w([0,1],f)));for(var h=1,p=!0;h=r.length){var m=l(u,d);u=(p=!!m)&&"get"in m&&!("originalValue"in m.get)?m.get:u[d]}else p=_(u,d),u=u[d];p&&!c&&(g[s]=u)}}return u}},12408:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15];return t[0]=s*(h*y-p*g)-f*(l*y-u*g)+v*(l*p-u*h),t[1]=-(n*(h*y-p*g)-f*(i*y-a*g)+v*(i*p-a*h)),t[2]=n*(l*y-u*g)-s*(i*y-a*g)+v*(i*u-a*l),t[3]=-(n*(l*p-u*h)-s*(i*p-a*h)+f*(i*u-a*l)),t[4]=-(o*(h*y-p*g)-c*(l*y-u*g)+d*(l*p-u*h)),t[5]=r*(h*y-p*g)-c*(i*y-a*g)+d*(i*p-a*h),t[6]=-(r*(l*y-u*g)-o*(i*y-a*g)+d*(i*u-a*l)),t[7]=r*(l*p-u*h)-o*(i*p-a*h)+c*(i*u-a*l),t[8]=o*(f*y-p*v)-c*(s*y-u*v)+d*(s*p-u*f),t[9]=-(r*(f*y-p*v)-c*(n*y-a*v)+d*(n*p-a*f)),t[10]=r*(s*y-u*v)-o*(n*y-a*v)+d*(n*u-a*s),t[11]=-(r*(s*p-u*f)-o*(n*p-a*f)+c*(n*u-a*s)),t[12]=-(o*(f*g-h*v)-c*(s*g-l*v)+d*(s*h-l*f)),t[13]=r*(f*g-h*v)-c*(n*g-i*v)+d*(n*h-i*f),t[14]=-(r*(s*g-l*v)-o*(n*g-i*v)+d*(n*l-i*s)),t[15]=r*(s*h-l*f)-o*(n*h-i*f)+c*(n*l-i*s),t}},76860:function(t){t.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},64492:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},54212:function(t){t.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},70800:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],u=t[8],c=t[9],f=t[10],h=t[11],p=t[12],d=t[13],v=t[14],g=t[15];return(e*o-r*a)*(f*g-h*v)-(e*s-n*a)*(c*g-h*d)+(e*l-i*a)*(c*v-f*d)+(r*s-n*o)*(u*g-h*p)-(r*l-i*o)*(u*v-f*p)+(n*l-i*s)*(u*d-c*p)}},61784:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,u=r*o,c=n*o,f=n*s,h=i*o,p=i*s,d=i*l,v=a*o,g=a*s,y=a*l;return t[0]=1-f-d,t[1]=c+y,t[2]=h-g,t[3]=0,t[4]=c-y,t[5]=1-u-d,t[6]=p+v,t[7]=0,t[8]=h+g,t[9]=p-v,t[10]=1-u-f,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},91616:function(t){t.exports=function(t,e,r){var n,i,a,o=r[0],s=r[1],l=r[2],u=Math.sqrt(o*o+s*s+l*l);return Math.abs(u)<1e-6?null:(o*=u=1/u,s*=u,l*=u,n=Math.sin(e),a=1-(i=Math.cos(e)),t[0]=o*o*a+i,t[1]=s*o*a+l*n,t[2]=l*o*a-s*n,t[3]=0,t[4]=o*s*a-l*n,t[5]=s*s*a+i,t[6]=l*s*a+o*n,t[7]=0,t[8]=o*l*a+s*n,t[9]=s*l*a-o*n,t[10]=l*l*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}},51944:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,u=a+a,c=n*s,f=n*l,h=n*u,p=i*l,d=i*u,v=a*u,g=o*s,y=o*l,m=o*u;return t[0]=1-(p+v),t[1]=f+m,t[2]=h-y,t[3]=0,t[4]=f-m,t[5]=1-(c+v),t[6]=d+g,t[7]=0,t[8]=h+y,t[9]=d-g,t[10]=1-(c+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},69444:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},48268:function(t){t.exports=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},21856:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},79216:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},57736:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},38848:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),u=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*u,t[15]=0,t}},36635:function(t){t.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},36524:function(t,e,r){t.exports={create:r(54212),clone:r(76860),copy:r(64492),identity:r(36635),transpose:r(86520),invert:r(4308),adjoint:r(12408),determinant:r(70800),multiply:r(80944),translate:r(35176),scale:r(68152),rotate:r(30016),rotateX:r(15456),rotateY:r(64840),rotateZ:r(4192),fromRotation:r(91616),fromRotationTranslation:r(51944),fromScaling:r(69444),fromTranslation:r(48268),fromXRotation:r(21856),fromYRotation:r(79216),fromZRotation:r(57736),fromQuat:r(61784),frustum:r(38848),perspective:r(51296),perspectiveFromFieldOfView:r(63688),ortho:r(97688),lookAt:r(56508),str:r(89412)}},4308:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],u=e[7],c=e[8],f=e[9],h=e[10],p=e[11],d=e[12],v=e[13],g=e[14],y=e[15],m=r*s-n*o,x=r*l-i*o,b=r*u-a*o,_=n*l-i*s,w=n*u-a*s,T=i*u-a*l,k=c*v-f*d,A=c*g-h*d,M=c*y-p*d,S=f*g-h*v,E=f*y-p*v,L=h*y-p*g,C=m*L-x*E+b*S+_*M-w*A+T*k;return C?(C=1/C,t[0]=(s*L-l*E+u*S)*C,t[1]=(i*E-n*L-a*S)*C,t[2]=(v*T-g*w+y*_)*C,t[3]=(h*w-f*T-p*_)*C,t[4]=(l*M-o*L-u*A)*C,t[5]=(r*L-i*M+a*A)*C,t[6]=(g*b-d*T-y*x)*C,t[7]=(c*T-h*b+p*x)*C,t[8]=(o*E-s*M+u*k)*C,t[9]=(n*M-r*E-a*k)*C,t[10]=(d*w-v*b+y*m)*C,t[11]=(f*b-c*w-p*m)*C,t[12]=(s*A-o*S-l*k)*C,t[13]=(r*S-n*A+i*k)*C,t[14]=(v*x-d*_-g*m)*C,t[15]=(c*_-f*x+h*m)*C,t):null}},56508:function(t,e,r){var n=r(36635);t.exports=function(t,e,r,i){var a,o,s,l,u,c,f,h,p,d,v=e[0],g=e[1],y=e[2],m=i[0],x=i[1],b=i[2],_=r[0],w=r[1],T=r[2];return Math.abs(v-_)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(y-T)<1e-6?n(t):(f=v-_,h=g-w,p=y-T,a=x*(p*=d=1/Math.sqrt(f*f+h*h+p*p))-b*(h*=d),o=b*(f*=d)-m*p,s=m*h-x*f,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=h*s-p*o,u=p*a-f*s,c=f*o-h*a,(d=Math.sqrt(l*l+u*u+c*c))?(l*=d=1/d,u*=d,c*=d):(l=0,u=0,c=0),t[0]=a,t[1]=l,t[2]=f,t[3]=0,t[4]=o,t[5]=u,t[6]=h,t[7]=0,t[8]=s,t[9]=c,t[10]=p,t[11]=0,t[12]=-(a*v+o*g+s*y),t[13]=-(l*v+u*g+c*y),t[14]=-(f*v+h*g+p*y),t[15]=1,t)}},80944:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],v=e[12],g=e[13],y=e[14],m=e[15],x=r[0],b=r[1],_=r[2],w=r[3];return t[0]=x*n+b*s+_*f+w*v,t[1]=x*i+b*l+_*h+w*g,t[2]=x*a+b*u+_*p+w*y,t[3]=x*o+b*c+_*d+w*m,x=r[4],b=r[5],_=r[6],w=r[7],t[4]=x*n+b*s+_*f+w*v,t[5]=x*i+b*l+_*h+w*g,t[6]=x*a+b*u+_*p+w*y,t[7]=x*o+b*c+_*d+w*m,x=r[8],b=r[9],_=r[10],w=r[11],t[8]=x*n+b*s+_*f+w*v,t[9]=x*i+b*l+_*h+w*g,t[10]=x*a+b*u+_*p+w*y,t[11]=x*o+b*c+_*d+w*m,x=r[12],b=r[13],_=r[14],w=r[15],t[12]=x*n+b*s+_*f+w*v,t[13]=x*i+b*l+_*h+w*g,t[14]=x*a+b*u+_*p+w*y,t[15]=x*o+b*c+_*d+w*m,t}},97688:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),u=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*u,t[15]=1,t}},51296:function(t){t.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},63688:function(t){t.exports=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),u=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*u*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}},30016:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,u,c,f,h,p,d,v,g,y,m,x,b,_,w,T,k,A,M,S,E=n[0],L=n[1],C=n[2],P=Math.sqrt(E*E+L*L+C*C);return Math.abs(P)<1e-6?null:(E*=P=1/P,L*=P,C*=P,i=Math.sin(r),o=1-(a=Math.cos(r)),s=e[0],l=e[1],u=e[2],c=e[3],f=e[4],h=e[5],p=e[6],d=e[7],v=e[8],g=e[9],y=e[10],m=e[11],x=E*E*o+a,b=L*E*o+C*i,_=C*E*o-L*i,w=E*L*o-C*i,T=L*L*o+a,k=C*L*o+E*i,A=E*C*o+L*i,M=L*C*o-E*i,S=C*C*o+a,t[0]=s*x+f*b+v*_,t[1]=l*x+h*b+g*_,t[2]=u*x+p*b+y*_,t[3]=c*x+d*b+m*_,t[4]=s*w+f*T+v*k,t[5]=l*w+h*T+g*k,t[6]=u*w+p*T+y*k,t[7]=c*w+d*T+m*k,t[8]=s*A+f*M+v*S,t[9]=l*A+h*M+g*S,t[10]=u*A+p*M+y*S,t[11]=c*A+d*M+m*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},15456:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+u*n,t[5]=o*i+c*n,t[6]=s*i+f*n,t[7]=l*i+h*n,t[8]=u*i-a*n,t[9]=c*i-o*n,t[10]=f*i-s*n,t[11]=h*i-l*n,t}},64840:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[8],c=e[9],f=e[10],h=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-u*n,t[1]=o*i-c*n,t[2]=s*i-f*n,t[3]=l*i-h*n,t[8]=a*n+u*i,t[9]=o*n+c*i,t[10]=s*n+f*i,t[11]=l*n+h*i,t}},4192:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],u=e[4],c=e[5],f=e[6],h=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+u*n,t[1]=o*i+c*n,t[2]=s*i+f*n,t[3]=l*i+h*n,t[4]=u*i-a*n,t[5]=c*i-o*n,t[6]=f*i-s*n,t[7]=h*i-l*n,t}},68152:function(t){t.exports=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},89412:function(t){t.exports=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}},35176:function(t){t.exports=function(t,e,r){var n,i,a,o,s,l,u,c,f,h,p,d,v=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*v+e[4]*g+e[8]*y+e[12],t[13]=e[1]*v+e[5]*g+e[9]*y+e[13],t[14]=e[2]*v+e[6]*g+e[10]*y+e[14],t[15]=e[3]*v+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],u=e[6],c=e[7],f=e[8],h=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=u,t[7]=c,t[8]=f,t[9]=h,t[10]=p,t[11]=d,t[12]=n*v+s*g+f*y+e[12],t[13]=i*v+l*g+h*y+e[13],t[14]=a*v+u*g+p*y+e[14],t[15]=o*v+c*g+d*y+e[15]),t}},86520:function(t){t.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},23352:function(t,e,r){"use strict";var n=r(42771),i=r(55616),a=r(28624),o=r(55212),s=r(60463),l=r(72160),u=r(33888),c=r(14144),f=r(51160),h=r(58908),p=r(65819),d=r(23464),v=r(63768),g=r(50896),y=r(71920),m=r(47520),x=r(308).nextPow2,b=new s,_=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(_=!0),document.body.removeChild(w)}var T=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=b.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),b.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(h(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=f(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=m(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+"px sans-serif");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+"px "+t)}else{var i=t.style,s=t.weight,l=t.stretch,u=t.variant;t=n.parse(n.stringify(t)),i&&(t.style=i),s&&(t.weight=s),l&&(t.stretch=l),u&&(t.variant=u)}var c=n.stringify({size:T.baseFontSize,family:t.family,stretch:_?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),f=p(t.size),h=Math.round(f[0]*d(f[1]));if(h!==e.fontSize[r]&&(o=!0,e.fontSize[r]=h),!(e.font[r]&&c==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[c],e.font[r]))){var v=t.family.join(", "),g=[t.style];t.style!=t.variant&&g.push(t.variant),t.variant!=t.weight&&g.push(t.weight),_&&t.weight!=t.stretch&&g.push(t.stretch),e.font[r]={baseString:c,family:v,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:y(v,{origin:"top",fontSize:T.baseFontSize,fontStyle:g.join(" ")})},T.fonts[c]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:_?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),h=0;h2){for(var w=!t.position[0].length,k=c.mallocFloat(2*this.count),A=0,M=0;A1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+="number"==typeof t?t-n.baseline:-n[t])}))),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var H;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=c.mallocUint8(G);for(var W=(t.color.subarray||t.color.slice).bind(t.color),Y=0;Y4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var K=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array(K);for(var J=0;J1?this.counts[J]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[J]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*J,4*J+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[J]:this.opacity,baseline:null!=this.baselineOffset[J]?this.baselineOffset[J]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[J]?this.alignOffset[J]:this.alignOffset[0]:0,atlas:this.fontAtlas[J]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*J,2*J+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text="",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.maxAtlasSize=1024,T.atlasCanvas=document.createElement("canvas"),T.atlasContext=T.atlasCanvas.getContext("2d",{alpha:!1}),T.baseFontSize=64,T.fonts={},t.exports=T},55212:function(t,e,r){"use strict";var n=r(55616);function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.g.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.g.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}t.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},(t=a(t)||"string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0)).pixelRatio||(t.pixelRatio=r.g.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}return t.gl||["webgl","experimental-webgl","webgl-experimental"].some((function(e){try{t.gl=t.canvas.getContext(e,t.attrs)}catch(t){}return t.gl})),t.gl}},26444:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,c=-7,f=r?i-1:0,h=r?-1:1,p=t[e+f];for(f+=h,a=p&(1<<-c)-1,p>>=-c,c+=s;c>0;a=256*a+t[e+f],f+=h,c-=8);for(o=a&(1<<-c)-1,a>>=-c,c+=n;c>0;o=256*o+t[e+f],f+=h,c-=8);if(0===a)a=1-u;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=u}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,u=8*a-i-1,c=(1<>1,h=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,v=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=c):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(o++,l/=2),o+f>=c?(s=0,o=c):o+f>=1?(s=(e*l-1)*Math.pow(2,i),o+=f):(s=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,u-=8);t[r+p-d]|=128*v}},6768:function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},91148:function(t,e,r){"use strict";var n=r(46672)(),i=r(99676)("Object.prototype.toString"),a=function(t){return!(n&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===i(t)},o=function(t){return!!a(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==i(t)&&"[object Function]"===i(t.callee)},s=function(){return a(arguments)}();a.isLegacyArguments=o,t.exports=s?a:o},24200:function(t){t.exports=!0},90720:function(t){"use strict";var e,r,n=Function.prototype.toString,i="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof i&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw r}}),r={},i((function(){throw 42}),null,e)}catch(t){t!==r&&(i=null)}else i=null;var a=/^\s*class\b/,o=function(t){try{var e=n.call(t);return a.test(e)}catch(t){return!1}},s=function(t){try{return!o(t)&&(n.call(t),!0)}catch(t){return!1}},l=Object.prototype.toString,u="function"==typeof Symbol&&!!Symbol.toStringTag,c=!(0 in[,]),f=function(){return!1};if("object"==typeof document){var h=document.all;l.call(h)===l.call(document.all)&&(f=function(t){if((c||!t)&&(void 0===t||"object"==typeof t))try{var e=l.call(t);return("[object HTMLAllCollection]"===e||"[object HTML document.all class]"===e||"[object HTMLCollection]"===e||"[object Object]"===e)&&null==t("")}catch(t){}return!1})}t.exports=i?function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{i(t,null,e)}catch(t){if(t!==r)return!1}return!o(t)&&s(t)}:function(t){if(f(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(u)return s(t);if(o(t))return!1;var e=l.call(t);return!("[object Function]"!==e&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e))&&s(t)}},84420:function(t,e,r){"use strict";var n,i=Object.prototype.toString,a=Function.prototype.toString,o=/^\s*(?:function)?\*/,s=r(46672)(),l=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(o.test(a.call(t)))return!0;if(!s)return"[object GeneratorFunction]"===i.call(t);if(!l)return!1;if(void 0===n){var e=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(t){}}();n=!!e&&l(e)}return l(t)===n}},96604:function(t){"use strict";t.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},85992:function(t){"use strict";t.exports=function(t){return t!=t}},1560:function(t,e,r){"use strict";var n=r(57916),i=r(81288),a=r(85992),o=r(57740),s=r(59736),l=n(o(),Number);i(l,{getPolyfill:o,implementation:a,shim:s}),t.exports=l},57740:function(t,e,r){"use strict";var n=r(85992);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:n}},59736:function(t,e,r){"use strict";var n=r(81288),i=r(57740);t.exports=function(){var t=i();return n(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},18400:function(t){"use strict";t.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},58908:function(t){"use strict";var e=Object.prototype.toString;t.exports=function(t){var r;return"[object Object]"===e.call(t)&&(null===(r=Object.getPrototypeOf(t))||r===Object.getPrototypeOf({}))}},94576:function(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},53520:function(t){"use strict";t.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},7728:function(t,e,r){"use strict";var n=r(46492),i=r(63436),a=r(99676),o=a("Object.prototype.toString"),s=r(46672)(),l=r(2304),u="undefined"==typeof globalThis?r.g:globalThis,c=i(),f=a("Array.prototype.indexOf",!0)||function(t,e){for(var r=0;r-1}return!!l&&function(t){var e=!1;return n(p,(function(r,n){if(!e)try{e=r.call(t)===n}catch(t){}})),e}(t)}},76244:function(t){"use strict";t.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},62644:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function u(t,s){var u=n.x(s),c=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||u!==i||c!==a||l(s))&&(r=0|t,i=u||0,a=c||0,e&&e(r,i,a,o))}function c(t){u(0,t)}function f(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function h(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?u(0,t):u(r,t)}function d(t){u(r|n.buttons(t),t)}function v(t){u(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",v),t.addEventListener("mouseleave",c),t.addEventListener("mouseenter",c),t.addEventListener("mouseout",c),t.addEventListener("mouseover",c),t.addEventListener("blur",f),t.addEventListener("keyup",h),t.addEventListener("keydown",h),t.addEventListener("keypress",h),t!==window&&(window.addEventListener("blur",f),window.addEventListener("keyup",h),window.addEventListener("keydown",h),window.addEventListener("keypress",h)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",v),t.removeEventListener("mouseleave",c),t.removeEventListener("mouseenter",c),t.removeEventListener("mouseout",c),t.removeEventListener("mouseover",c),t.removeEventListener("blur",f),t.removeEventListener("keyup",h),t.removeEventListener("keydown",h),t.removeEventListener("keypress",h),t!==window&&(window.removeEventListener("blur",f),window.removeEventListener("keyup",h),window.removeEventListener("keydown",h),window.removeEventListener("keypress",h)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(93784)},29128:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},93784:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1<0&&a(s,r))}catch(t){c.call(new h(r),t)}}}function c(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&a(s,e))}function f(t,e,r,n){for(var i=0;i1&&(i*=y=Math.sqrt(y),s*=y);var m=i*i,x=s*s,b=(u==c?-1:1)*Math.sqrt(Math.abs((m*x-m*g*g-x*v*v)/(m*g*g+x*v*v)));b==1/0&&(b=1);var _=b*i*g/s+(t+f)/2,w=b*-s*v/i+(n+h)/2,T=Math.asin(((n-w)/s).toFixed(9)),k=Math.asin(((h-w)/s).toFixed(9));(T=t<_?e-T:T)<0&&(T=2*e+T),(k=f<_?e-k:k)<0&&(k=2*e+k),c&&T>k&&(T-=2*e),!c&&k>T&&(k-=2*e)}if(Math.abs(k-T)>r){var A=k,M=f,S=h;k=T+r*(c&&k>T?1:-1);var E=a(f=_+i*Math.cos(k),h=w+s*Math.sin(k),i,s,l,0,c,M,S,[k,A,_,w])}var L=Math.tan((k-T)/4),C=4/3*i*L,P=4/3*s*L,O=[2*t-(t+C*Math.sin(T)),2*n-(n-P*Math.cos(T)),f+C*Math.sin(k),h-P*Math.cos(k),f,h];if(p)return O;E&&(O=O.concat(E));for(var I=0;I7&&(r.push(y.splice(0,7)),y.unshift("C"));break;case"S":var x=p,b=d;"C"!=e&&"S"!=e||(x+=x-o,b+=b-l),y=["C",x,b,y[1],y[2],y[3],y[4]];break;case"T":"Q"==e||"T"==e?(f=2*p-f,h=2*d-h):(f=p,h=d),y=i(p,d,f,h,y[1],y[2]);break;case"Q":f=y[1],h=y[2],y=i(p,d,y[1],y[2],y[3],y[4]);break;case"L":y=n(p,d,y[1],y[2]);break;case"H":y=n(p,d,y[1],d);break;case"V":y=n(p,d,p,y[1]);break;case"Z":y=n(p,d,u,c)}e=m,p=y[y.length-2],d=y[y.length-1],y.length>4?(o=y[y.length-4],l=y[y.length-3]):(o=p,l=d),r.push(y)}return r}},50896:function(t){"use strict";var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,i){for(var a,o,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l0&&!i.call(t,0))for(var v=0;v0)for(var g=0;g=0&&"[object Function]"===e.call(t.callee)),n}},32868:function(t){"use strict";function e(t,e){if("string"!=typeof t)return[t];var r=[t];"string"==typeof e||Array.isArray(e)?e={brackets:e}:e||(e={});var n=e.brackets?Array.isArray(e.brackets)?e.brackets:[e.brackets]:["{}","[]","()"],i=e.escape||"___",a=!!e.flat;n.forEach((function(t){var e=new RegExp(["\\",t[0],"[^\\",t[0],"\\",t[1],"]*\\",t[1]].join("")),n=[];function a(e,a,o){var s=r.push(e.slice(t[0].length,-t[1].length))-1;return n.push(s),i+s+i}r.forEach((function(t,n){for(var i,o=0;t!=i;)if(i=t,t=t.replace(e,a),o++>1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),t[0]+"$1"+t[1])})),e}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function r(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",i=t[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r}),"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function n(t,n){return Array.isArray(t)?r(t,n):e(t,n)}n.parse=e,n.stringify=r,t.exports=n},51160:function(t,e,r){"use strict";var n=r(55616);t.exports=function(t){var e;return arguments.length>1&&(t=arguments),"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]),t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(e={x:(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"})).left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height),e}},21984:function(t){t.exports=function(t){var i=[];return t.replace(r,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(n);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(i.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==e[o])return a.unshift(r),i.push(a);if(a.lengtha!=p>a&&i<(h-c)*(a-f)/(p-f)+c&&(o=!o)}return o}},14756:function(t,e,r){var n,i=r(7688),a=r(28648),o=r(72200),s=r(11403),l=r(82368),u=r(17792),c=!1,f=a();function h(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?c=i():!1===t&&(c=!1),!1!==c&&c.list},epsilon:function(t){return f.epsilon(t)},segments:function(t){var e=o(!0,f,c);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,f,c).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,c),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,c),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,c),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,c),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,c),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,f,c),inverted:t.inverted}},polygonFromGeoJSON:function(t){return u.toPolygon(n,t)},polygonToGeoJSON:function(t){return u.fromPolygon(n,f,t)},union:function(t,e){return h(t,e,n.selectUnion)},intersect:function(t,e){return h(t,e,n.selectIntersect)},difference:function(t,e){return h(t,e,n.selectDifference)},differenceRev:function(t,e){return h(t,e,n.selectDifferenceRev)},xor:function(t,e){return h(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),t.exports=n},7688:function(t){t.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n("check",{seg1:t,seg2:e})},segmentChop:function(t,e){return n("div_seg",{seg:t,pt:e}),n("chop",{seg:t,pt:e})},statusRemove:function(t){return n("pop_seg",{seg:t})},segmentUpdate:function(t){return n("seg_update",{seg:t})},segmentNew:function(t,e){return n("new_seg",{seg:t,primary:e})},segmentRemove:function(t){return n("rem_seg",{seg:t})},tempStatus:function(t,e,r){return n("temp_status",{seg:t,above:e,below:r})},rewind:function(t){return n("rewind",{seg:t})},status:function(t,e,r){return n("status",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n("vert",{x:e}))},log:function(t){return"string"!=typeof t&&(t=JSON.stringify(t,!1," ")),n("log",{txt:t})},reset:function(){return n("reset")},selected:function(t){return n("selected",{segs:t})},chainStart:function(t){return n("chain_start",{seg:t})},chainRemoveHead:function(t,e){return n("chain_rem_head",{index:t,pt:e})},chainRemoveTail:function(t,e){return n("chain_rem_tail",{index:t,pt:e})},chainNew:function(t,e){return n("chain_new",{pt1:t,pt2:e})},chainMatch:function(t){return n("chain_match",{index:t})},chainClose:function(t){return n("chain_close",{index:t})},chainAddHead:function(t,e){return n("chain_add_head",{index:t,pt:e})},chainAddTail:function(t,e){return n("chain_add_tail",{index:t,pt:e})},chainConnect:function(t,e){return n("chain_con",{index1:t,index2:e})},chainReverse:function(t){return n("chain_rev",{index:t})},chainJoin:function(t,e){return n("chain_join",{index1:t,index2:e})},done:function(){return n("done")}}}},28648:function(t){t.exports=function(t){"number"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return"number"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-u)*(i-c)/(o-c)+u-n>t&&(s=!s),a=u,o=c}return s}};return e}},17792:function(t){var e={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i0}))}function c(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,u=a.start,c=a.end;r&&r.checkIntersection(i,a);var f=e.linesIntersect(o,s,u,c);if(!1===f){if(!e.pointsCollinear(o,s,u))return!1;if(e.pointsSame(o,c)||e.pointsSame(s,u))return!1;var h=e.pointsSame(o,u),p=e.pointsSame(s,c);if(h&&p)return n;var d=!h&&e.pointBetween(o,u,c),v=!p&&e.pointBetween(s,u,c);if(h)return v?l(n,s):l(t,c),n;d&&(p||(v?l(n,s):l(t,c)),l(n,o))}else 0===f.alongA&&(-1===f.alongB?l(t,u):0===f.alongB?l(t,f.pt):1===f.alongB&&l(t,c)),0===f.alongB&&(-1===f.alongA?l(n,o):0===f.alongA?l(n,f.pt):1===f.alongA&&l(n,s));return!1}for(var f=[];!a.isEmpty();){var h=a.getHead();if(r&&r.vert(h.pt[0]),h.isStart){r&&r.segmentNew(h.seg,h.primary);var p=u(h),d=p.before?p.before.ev:null,v=p.after?p.after.ev:null;function g(){if(d){var t=c(h,d);if(t)return t}return!!v&&c(h,v)}r&&r.tempStatus(h.seg,!!d&&d.seg,!!v&&v.seg);var y,m,x=g();if(x)t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=h.seg.myFill,r&&r.segmentUpdate(x.seg),h.other.remove(),h.remove();if(a.getHead()!==h){r&&r.rewind(h.seg);continue}t?(m=null===h.seg.myFill.below||h.seg.myFill.above!==h.seg.myFill.below,h.seg.myFill.below=v?v.seg.myFill.above:i,h.seg.myFill.above=m?!h.seg.myFill.below:h.seg.myFill.below):null===h.seg.otherFill&&(y=v?h.primary===v.primary?v.seg.otherFill.above:v.seg.myFill.above:h.primary?o:i,h.seg.otherFill={above:y,below:y}),r&&r.status(h.seg,!!d&&d.seg,!!v&&v.seg),h.other.status=p.insert(n.node({ev:h}))}else{var b=h.status;if(null===b)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(b.prev)&&s.exists(b.next)&&c(b.prev.ev,b.next.ev),r&&r.statusRemove(b.ev.seg),b.remove(),!h.primary){var _=h.seg.myFill;h.seg.myFill=h.seg.otherFill,h.seg.otherFill=_}f.push(h.seg)}a.getHead().remove()}return r&&r.done(),f}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},n.prototype.read_uint16=function(t){var r=this.input;if(t+2>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?256*r[t]+r[t+1]:r[t]+256*r[t+1]},n.prototype.read_uint32=function(t){var r=this.input;if(t+4>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?16777216*r[t]+65536*r[t+1]+256*r[t+2]+r[t+3]:r[t]+256*r[t+1]+65536*r[t+2]+16777216*r[t+3]},n.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},n.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},n.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return this.read_uint32(e);case 9:return 0|this.read_uint32(e);default:return null}},n.prototype.scan_ifd=function(t,n,i){var a=this.read_uint16(n);n+=2;for(var o=0;othis.input.length)throw e("unexpected EOF","EBADDATA");for(var d=[],v=h,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:u,entry_offset:n+this.start,data_length:f,data_offset:h+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);n+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(n)})},t.exports.ExifParser=n,t.exports.get_orientation=function(t){var e=0;try{return new n(t,0,t.length).each((function(t){if(0===t.ifd&&274===t.tag&&Array.isArray(t.value))return e=t.value[0],!1})),e}catch(t){return-1}}},44600:function(t,e,r){"use strict";var n=r(9696).eW,i=r(9696).eI;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,u=0;ue.width||t.width===e.width&&t.height>e.height?t:e})),i=r.reduce((function(t,e){return t.height>e.height||t.height===e.height&&t.width>e.width?t:e})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;e.transforms.forEach((function(t){var e={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if("imir"===t.type&&(s=0===t.value?r[s]:e[s=e[s=r[s]]]),"irot"===t.type)for(var n=0;n1&&(h.variants=f.variants),f.orientation&&(h.orientation=f.orientation),f.exif_location&&f.exif_location.offset+f.exif_location.length<=t.length){var p=a(t,f.exif_location.offset),d=t.slice(f.exif_location.offset+p+4,f.exif_location.offset+f.exif_location.length),v=s.get_orientation(d);v>0&&(h.orientation=v)}return h}}}}}}},38728:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).Bz,o=n("BM");t.exports=function(t){if(!(t.length<26)&&i(t,0,o))return{width:a(t,18),height:a(t,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}},5588:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).Bz,o=n("GIF87a"),s=n("GIF89a");t.exports=function(t){if(!(t.length<10)&&(i(t,0,o)||i(t,0,s)))return{width:a(t,6),height:a(t,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}},41924:function(t,e,r){"use strict";var n=r(9696).Bz;t.exports=function(t){var e=n(t,0),r=n(t,2),i=n(t,4);if(0===e&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;so.width||u>o.height)&&(o=c)}return{width:o.width,height:o.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}},87968:function(t,e,r){"use strict";var n=r(9696).eW,i=r(9696).wR,a=r(9696).gS,o=r(11688),s=i("Exif\0\0");t.exports=function(t){if(!(t.length<2)&&255===t[0]&&216===t[1]&&255===t[2])for(var e=2;;){for(;;){if(t.length-e<2)return;if(255===t[e++])break}for(var r,i,l=t[e++];255===l;)l=t[e++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(t.length-e<2)return;r=n(t,e)-2,e+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(t,e,s)&&(i=o.get_orientation(t.slice(e+6,e+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(t.length-e0&&(u.orientation=i),u}e+=r}}},37276:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).eI,o=n("‰PNG\r\n\n"),s=n("IHDR");t.exports=function(t){if(!(t.length<24)&&i(t,0,o)&&i(t,12,s))return{width:a(t,16),height:a(t,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}},90328:function(t,e,r){"use strict";var n=r(9696).wR,i=r(9696).gS,a=r(9696).eI,o=n("8BPS\0");t.exports=function(t){if(!(t.length<22)&&i(t,0,o))return{width:a(t,18),height:a(t,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}},16024:function(t){"use strict";function e(t){return"number"==typeof t&&isFinite(t)&&t>0}var r=/<[-_.:a-zA-Z0-9][^>]*>/,n=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,i=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,a=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,o=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,s=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function l(t){return s.test(t)?t.match(s)[0]:"px"}t.exports=function(t){if(function(t){var e,r=0,n=t.length;for(239===t[0]&&187===t[1]&&191===t[2]&&(r=3);r>14&16383),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function h(t,e){return{width:1+(t[e+6]<<16|t[e+5]<<8|t[e+4]),height:1+(t[e+9]<t.length)){for(;e+8=10?r=r||c(t,e+8):"VP8L"===p&&d>=9?r=r||f(t,e+8):"VP8X"===p&&d>=10?r=r||h(t,e+8):"EXIF"===p&&(n=s.get_orientation(t.slice(e+8,e+8+d)),e=1/0),e+=8+d}else e++;if(r)return n>0&&(r.orientation=n),r}}}},87480:function(t,e,r){"use strict";t.exports={avif:r(40528),bmp:r(38728),gif:r(5588),ico:r(41924),jpeg:r(87968),png:r(37276),psd:r(90328),svg:r(16024),tiff:r(98792),webp:r(20704)}},19480:function(t,e,r){"use strict";var n=r(87480);t.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r1)for(var r=1;r1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(b.groups=x=t.map((function(t,u){var c=x[u];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),c||(x[u]=c={id:u,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},m,t)),a(c,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n",frag:"\nprecision highp float;\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n",attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:"\nprecision highp float;\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n",frag:"\nprecision highp float;\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n",uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},g.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},g.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},g.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>g.precisionThreshold||e.scale[1]*e.viewport.height>g.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=g.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},g.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,c=this.gl;if(t.forEach((function(t,p){var y=e.passes[p];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=o(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow",splitNull:"splitNull"}),y||(e.passes[p]=y={id:p,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},g.defaults,t)),null!=t.thickness&&(y.thickness=parseFloat(t.thickness)),null!=t.opacity&&(y.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(y.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(y.overlay=!!t.overlay,p=D}));(O=O.slice(0,R)).push(D)}for(var F=function(t){var e=k.slice(2*z,2*O[t]).concat(D?k.slice(2*D):[]),r=(y.hole||[]).map((function(e){return e-D+(O[t]-z)})),n=l(e,r);n=n.map((function(e){return e+z+(e+zt.length)&&(e=t.length);for(var r=0,n=new Array(e);r 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),l.vert=f(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\n// `invariant` effectively turns off optimizations for the position.\n// We need this because -fast-math on M1 Macs is re-ordering\n// floating point operations in a way that causes floating point\n// precision limits to put points in the wrong locations.\ninvariant gl_Position;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),v&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}x.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=u(t,{bounds:f}):n&&n.length&&(e.tree=n),e.tree){var h={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(h):e.elements=o.elements(h)}var p=g.float32(t);return i({data:p,usage:"dynamic"}),a({data:g.fract32(t,p),usage:"dynamic"}),l({data:new Uint8Array(c),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x,s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y,l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}t.exports=c,c.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},c.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nk))&&(s.lower||!(T>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[s(t.byteLength)>>2].push(t)}var r=o(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function u(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||$(t.data))}function c(t,e,r,n,i,a){for(var o=0;o(i=s)&&(i=n.buffer.byteLength,5123===f?i>>=1:5125===f&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},l=0,c={uint8:5121,uint16:5123};e.oes_element_index_uint&&(c.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var f=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)l(t),f.primType=4,f.vertCount=0|t,f.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,h=0;Array.isArray(t)||$(t)||u(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=nt[t.usage]),"primitive"in t&&(n=st[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(h=c[t.type]),"length"in t?o=0|t.length:(o=i,5123===h||5122===h?o*=2:5125!==h&&5124!==h||(o*=4))),a(f,e,r,n,i,o,h)}else l(),f.primType=4,f.vertCount=0,f.type=5121;return s}var l=r.create(null,34963,!0),f=new i(l._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=f,s.subdata=function(t,e){return l.subdata(t,e),s},s.destroy=function(){o(f)},s},createStream:function(t){var e=f.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){f.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){Q(s).forEach(o)}}}function y(t){for(var e=K.allocType(5123,t.length),r=0;r>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function C(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(ut).forEach((function(e){t+=ut[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;P.call(r);var a=L();return"number"==typeof t?M(a,0|t,"number"==typeof e?0|e:0|t):t?(O(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,l(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),E(a,3553),I(r,3553),R(),C(a),o.profile&&(i.stats.size=A(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=Z[i.internalformat],n.type=J[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new z(3553);return ut[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=v();return l(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),R(),g(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,D(i);for(var l=0;i.mipmask>>l;++l){var u=a>>l,c=s>>l;if(!u||!c)break;t.texImage2D(3553,l,i.format,u,c,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=A(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType="texture2d",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,u){function f(t,e,r,n,i,a){var s,u=h.texInfo;for(P.call(u),s=0;6>s;++s)y[s]=L();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(y[0],t),S(y[1],e),S(y[2],r),S(y[3],n),S(y[4],i),S(y[5],a);else if(O(u,t),c(h,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)l(y[s],h),S(y[s],t[s]);else for(s=0;6>s;++s)S(y[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(y[s],t,t);for(l(h,y[0]),h.mipmask=u.genMipmaps?(y[0].width<<1)-1:y[0].mipmask,h.internalformat=y[0].internalformat,f.width=y[0].width,f.height=y[0].height,D(h),s=0;6>s;++s)E(y[s],34069+s);for(I(u,34067),R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,u.genMipmaps,!0)),f.format=Z[h.internalformat],f.type=J[h.type],f.mag=rt[u.magFilter],f.min=nt[u.minFilter],f.wrapS=it[u.wrapS],f.wrapT=it[u.wrapT],s=0;6>s;++s)C(y[s]);return f}var h=new z(34067);ut[h.id]=h,a.cubeCount++;var y=Array(6);return f(e,r,n,i,s,u),f.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=v();return l(a,h),a.width=0,a.height=0,p(a,e),a.width=a.width||(h.width>>i)-r,a.height=a.height||(h.height>>i)-n,D(h),d(a,34069+t,r,n,i),R(),g(a),f},f.resize=function(e){if((e|=0)!==h.width){f.width=h.width=e,f.height=h.height=e,D(h);for(var r=0;6>r;++r)for(var n=0;h.mipmask>>n;++n)t.texImage2D(34069+r,n,h.format,e>>n,e>>n,0,h.format,h.type,null);return R(),o.profile&&(h.stats.size=A(h.internalformat,h.type,f.width,f.height,!1,!0)),f}},f._reglType="textureCube",f._texture=h,o.profile&&(f.stats=h.stats),f.destroy=function(){h.decRef()},f},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);I(e.texInfo,e.target)}))},refresh:function(){for(var e=0;ei;++i){for(u=0;ut;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){Q(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Q(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),y(e)}))}})}function E(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function L(t,e,r,n,i,a,o){function s(){this.id=++f,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,h[this.id]=this,this.buffers=[]}var l=r.maxAttributes,c=Array(l);for(r=0;r=h.byteLength?l.subdata(h):(l.destroy(),r.buffers[s]=null)),r.buffers[s]||(l=r.buffers[s]=i.create(c,34962,!1,!0)),f.buffer=i.getBuffer(l),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1,t[s]=1):i.getBuffer(c)?(f.buffer=i.getBuffer(c),f.size=0|f.buffer.dimension,f.normalized=!1,f.type=f.buffer.dtype,f.offset=0,f.stride=0,f.divisor=0,f.state=1):i.getBuffer(c.buffer)?(f.buffer=i.getBuffer(c.buffer),f.size=0|(+c.size||f.buffer.dimension),f.normalized=!!c.normalized||!1,f.type="type"in c?rt[c.type]:f.buffer.dtype,f.offset=0|(c.offset||0),f.stride=0|(c.stride||0),f.divisor=0|(c.divisor||0),f.state=1):"x"in c&&(f.x=+c.x||0,f.y=+c.y||0,f.z=+c.z||0,f.w=+c.w||0,f.state=2)}for(l=0;lt&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return h.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);Q(u).forEach(e),u={},Q(c).forEach(e),c={},h.forEach((function(e){t.deleteProgram(e.program)})),h.length=0,f={},r.shaderCount=0},program:function(e,n,i,a){var o=f[n];o||(o=f[n]={});var p=o[e];if(p&&(p.refCount++,!a))return p;var d=new s(n,e);return r.shaderCount++,l(d,i,a),p||(o[e]=d),h.push(d),G(d,{destroy:function(){if(d.refCount--,0>=d.refCount){t.deleteProgram(d.program);var e=h.indexOf(d);h.splice(e,1),r.shaderCount--}0>=o[d.vertId].refCount&&(t.deleteShader(c[d.vertId]),delete c[d.vertId],delete f[d.fragId][d.vertId]),Object.keys(f[d.fragId]).length||(t.deleteShader(u[d.fragId]),delete u[d.fragId],delete f[d.fragId])}})},restore:function(){u={},c={};for(var t=0;t>>e|t<<32-e}function I(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function z(t){return Array.prototype.slice.call(t)}function D(t){return z(t).join("")}function R(t){function e(){var t=[],e=[];return G((function(){t.push.apply(t,z(arguments))}),{def:function(){var r="v"+i++;return e.push(r),0>>4&15)+"0123456789abcdef".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,u,c,f,h,p,d=8*t.length;for(t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),e[d>>5]|=128<<24-d%32,e[15+(d+64>>9<<4)]=d,c=0;cf;f++){var v;16>f?r[f]=e[f+c]:(h=f,p=I(p=O(p=r[f-2],17)^O(p,19)^p>>>10,r[f-7]),v=O(v=r[f-15],7)^O(v,18)^v>>>3,r[h]=I(I(p,v),r[f-16])),h=I(I(I(I(u,h=O(h=o,6)^O(h,11)^O(h,25)),o&s^~o&l),Mt[f]),r[f]),p=I(u=O(u=d,2)^O(u,13)^O(u,22),d&n^d&i^n&i),u=l,l=s,s=o,o=I(a,h),a=i,i=n,n=d,d=I(h,p)}t[0]=I(d,t[0]),t[1]=I(n,t[1]),t[2]=I(i,t[2]),t[3]=I(a,t[3]),t[4]=I(o,t[4]),t[5]=I(s,t[5]),t[6]=I(l,t[6]),t[7]=I(u,t[7])}for(e="",r=0;r<32*t.length;r+=8)e+=String.fromCharCode(t[r>>5]>>>24-r%32&255);return e}(function(t){for(var e,r,n="",i=-1;++i=e&&56320<=r&&57343>=r&&(e=65536+((1023&e)<<10)+(1023&r),i++),127>=e?n+=String.fromCharCode(e):2047>=e?n+=String.fromCharCode(192|e>>>6&31,128|63&e):65535>=e?n+=String.fromCharCode(224|e>>>12&15,128|e>>>6&63,128|63&e):2097151>=e&&(n+=String.fromCharCode(240|e>>>18&7,128|e>>>12&63,128|e>>>6&63,128|63&e));return n}(r))),n[e])?n[e].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[e]=r),r.apply(null,o))}}}function F(t){return Array.isArray(t)||$(t)||u(t)}function B(t){return t.sort((function(t,e){return"viewport"===t?-1:"viewport"===e?1:t"+e+"?"+i+".constant["+e+"]:0;"})).join(""),"}}else{","if(",s,"(",i,".buffer)){",c,"=",a,".createStream(",34962,",",i,".buffer);","}else{",c,"=",a,".getBuffer(",i,".buffer);","}",f,'="type" in ',i,"?",o.glTypes,"[",i,".type]:",c,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",a,".destroyStream(",c,");","}"),l}))})),o}function M(t,e,n,i,a){function s(t){var e=u[t];e&&(h[t]=e)}var l=function(t,e){if("string"==typeof(r=t.static).frag&&"string"==typeof r.vert){if(0>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,v,g,s],");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(c+".drawElements("+[d,g,y,v+"<<(("+y+"-5121)>>1)"]+");")}function e(){r(c+".drawArrays("+[d,v,g]+");")}p&&"null"!==p?m?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,u=t.shared,c=u.gl,f=u.draw,h=n.draw,p=function(){var i=h.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a),h.elementsActive&&a("if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);")):(i=a.def(),a(i,"=",f,".","elements",";","if(",i,"){",c,".bindBuffer(",34963,",",i,".buffer.buffer);}","else if(",u.vao,".currentVAO){",i,"=",t.shared.elements+".getElements("+u.vao,".currentVAO.elements);",et?"":"if("+i+")"+c+".bindBuffer(34963,"+i+".buffer.buffer);","}")),i}(),d=i("primitive"),v=i("offset"),g=function(){var i=h.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(f,".","count"),i}();if("number"==typeof g){if(0===g)return}else r("if(",g,"){"),r.exit("}");Q&&(s=i("instances"),l=t.instancing);var y=p+".type",m=h.elements&&j(h.elements)&&!h.vaoActive;Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function q(t,e,r,n,i){return i=(e=_()).proc("body",i),Q&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){P(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,".setVAO(",r.drawVAO.append(t,e),");"):e(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(e(t.shared.vao,".setVAO(null);"),I(t,e,r,n.attributes,(function(){return!0}))),z(t,e,r,n.uniforms,(function(){return!0}),!1),D(t,e,e,r)}function W(t,e,r,n){function i(){return!0}t.batchId="a1",P(t,e),I(t,e,r,n.attributes,i),z(t,e,r,n.uniforms,i,!1),D(t,e,e,r)}function X(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}P(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var u=t.scope(),c=t.scope();e(u.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",c,"}",u.exit),r.needsContext&&S(t,c,r.context),r.needsFramebuffer&&E(t,c,r.framebuffer),C(t,c,r.state,i),r.profile&&i(r.profile)&&O(t,c,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?c(t.shared.vao,".setVAO(",r.drawVAO.append(t,c),");"):u(t.shared.vao,".setVAO(",r.drawVAO.append(t,u),");"):u(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(u(t.shared.vao,".setVAO(null);"),I(t,u,r,n.attributes,a),I(t,c,r,n.attributes,i)),z(t,u,r,n.uniforms,a,!1),z(t,c,r,n.uniforms,i,!0),D(t,u,c,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,c),l=c.def(n,".id"),u=c.def(e,"[",l,"]"),c(t.shared.gl,".useProgram(",n,".program);","if(!",u,"){",u,"=",e,"[",l,"]=",t.link((function(e){return q(W,t,r,e,2)})),"(",n,");}",u,".call(this,a0[",s,"],",s,");"))}function Z(t,r){function n(e){var n=r.shader[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.shader,"."+e,n):i.set(a.shader,"."+e,t.link(n,{stable:!0})))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;if(S(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),B(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);m(o)?o.forEach((function(r,n){isNaN(r)?i.set(t.next[e],"["+n+"]",r):i.set(t.next[e],"["+n+"]",t.link(r,{stable:!0}))})):j(n)?i.set(a.next,"."+e,t.link(o,{stable:!0})):i.set(a.next,"."+e,o)})),O(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach((function(e){var n=r.draw[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.draw,"."+e,n):i.set(a.draw,"."+e,t.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(t,i);Array.isArray(o)&&(o="["+o.map((function(e){return isNaN(e)?e:t.link(e,{stable:!0})}))+"]"),i.set(a.uniforms,"["+t.link(e.id(n),{stable:!0})+"]",o)})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new J).forEach((function(t){i.set(a,"."+t,n[t])}))})),r.scopeVAO){var s=r.scopeVAO.append(t,i);isNaN(s)?i.set(a.vao,".targetVAO",s):i.set(a.vao,".targetVAO",t.link(s,{stable:!0}))}n("vert"),n("frag"),0=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(c).forEach((function(e){t+=c[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,a=0,c=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(a=e.shape)[0],a=0|a[1]):("radius"in e&&(n=a=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(a=0|e.height)),"format"in e&&(c=s[e.format])):"number"==typeof e?(n=0|e,a="number"==typeof r?0|r:n):e||(n=a=1),n!==u.width||a!==u.height||c!==u.format)return o.width=u.width=n,o.height=u.height=a,u.format=c,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,c,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height),o.format=l[u.format],o}var u=new a(t.createRenderbuffer());return c[u.id]=u,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===u.width&&a===u.height||(o.width=u.width=n,o.height=u.height=a,t.bindRenderbuffer(36161,u.renderbuffer),t.renderbufferStorage(36161,u.format,n,a),i.profile&&(u.stats.size=wt[u.format]*u.width*u.height)),o},o._reglType="renderbuffer",o._renderbuffer=u,i.profile&&(o.stats=u.stats),o.destroy=function(){u.decRef()},o},clear:function(){Q(c).forEach(o)},restore:function(){Q(c).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}},kt=[];kt[6408]=4,kt[6407]=3;var At=[];At[5121]=1,At[5126]=4,At[36193]=2;var Mt=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],St=["x","y","z","w"],Et="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),Lt={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Ct={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},Pt={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Ot={cw:2304,ccw:2305},It=new N(!1,!1,!1,(function(){}));return function(t){function e(){if(0===K.length)T&&T.update(),et=null;else{et=X.next(e),f();for(var t=K.length-1;0<=t;--t){var r=K[t];r&&r(O,null,0)}d.flush(),T&&T.update()}}function r(){!et&&0=K.length&&n()}}}}function c(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,O.viewportWidth=O.framebufferWidth=O.drawingBufferWidth=t[2]=e[2]=d.drawingBufferWidth,O.viewportHeight=O.framebufferHeight=O.drawingBufferHeight=t[3]=e[3]=d.drawingBufferHeight}function f(){O.tick+=1,O.time=p(),c(),U.procs.poll()}function h(){B.refresh(),c(),U.procs.refresh(),T&&T.update()}function p(){return(Z()-k)/1e3}if(!(t=a(t)))return null;var d=t.gl,y=d.getContextAttributes();d.isContextLost();var m=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;ie;++e)rt(G({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:Y.define.bind(null,1),context:Y.define.bind(null,2),this:Y.define.bind(null,3),draw:s({}),buffer:function(t){return z.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:y,frame:u,on:function(t,e){var r;switch(t){case"frame":return u(e);case"lost":r=$;break;case"restore":r=Q;break;case"destroy":r=tt}return r.push(e),{cancel:function(){for(var t=0;t4294967295||l(e)!==e)throw new s("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],n=!0,u=!0;if("length"in t&&o){var c=o(t,"length");c&&!c.configurable&&(n=!1),c&&!c.writable&&(u=!1)}return(n||u||!r)&&(a?i(t,"length",e,!0,!0):i(t,"length",e)),t}},29936:function(t,e,r){t.exports=i;var n=r(61252).EventEmitter;function i(){n.call(this)}r(6768)(i,n),i.Readable=r(12348),i.Writable=r(11288),i.Duplex=r(15316),i.Transform=r(22477),i.PassThrough=r(27136),i.finished=r(15932),i.pipeline=r(38180),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on("data",i),t.on("drain",a),t._isStdio||e&&!1===e.end||(r.on("end",s),r.on("close",l));var o=!1;function s(){o||(o=!0,t.end())}function l(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function u(t){if(c(),0===n.listenerCount(this,"error"))throw t}function c(){r.removeListener("data",i),t.removeListener("drain",a),r.removeListener("end",s),r.removeListener("close",l),r.removeListener("error",u),t.removeListener("error",u),r.removeListener("end",c),r.removeListener("close",c),t.removeListener("close",c)}return r.on("error",u),t.on("error",u),r.on("end",c),r.on("close",c),t.on("close",c),t.emit("pipe",r),t}},92784:function(t){"use strict";var e={};function r(t,r,n){n||(n=Error);var i=function(t){var e,n;function i(e,n,i){return t.call(this,function(t,e,n){return"string"==typeof r?r:r(t,e,n)}(e,n,i))||this}return n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,i}(n);i.prototype.name=n.name,i.prototype.code=t,e[t]=i}function n(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,a,o,s,l;if("string"==typeof e&&(a="not ",e.substr(0,4)===a)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))o="The ".concat(t," ").concat(i," ").concat(n(e,"type"));else{var u=("number"!=typeof l&&(l=0),l+1>(s=t).length||-1===s.indexOf(".",l)?"argument":"property");o='The "'.concat(t,'" ').concat(u," ").concat(i," ").concat(n(e,"type"))}return o+". Received type ".concat(typeof r)}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.i=e},15316:function(t,e,r){"use strict";var n=r(4168),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=c;var a=r(12348),o=r(11288);r(6768)(c,a);for(var s=i(o.prototype),l=0;l0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),n)s.endEmitted?w(t,new _):S(t,s,e,!0);else if(s.ended)w(t,new x);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?S(t,s,e,!1):O(t,s)):S(t,s,e,!1)}else n||(s.reading=!1,O(t,s));return!s.ended&&(s.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=E?t=E:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function C(t){var e=t._readableState;a("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(a("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(P,t))}function P(t){var e=t._readableState;a("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t)}function O(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(I,t,e))}function I(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function D(t){a("readable nexttick read 0"),t.read(0)}function R(t,e){a("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),F(t),e.flowing&&!e.reading&&t.read(0)}function F(t){var e=t._readableState;for(a("flow",e.flowing);e.flowing&&null!==t.read(););}function B(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function N(t){var e=t._readableState;a("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t))}function j(t,e){if(a("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function U(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return a("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?N(this):C(this),null;if(0===(t=L(t,e))&&e.ended)return 0===e.length&&N(this),null;var n,i=e.needReadable;return a("need readable",i),(0===e.length||e.length-t0?B(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&N(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){w(this,new b("_read()"))},A.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,a("pipe count=%d opts=%j",n.pipesCount,e);var s=e&&!1===e.end||t===i.stdout||t===i.stderr?v:l;function l(){a("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",(function e(i,o){a("onunpipe"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,a("cleanup"),t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",u),t.removeListener("error",h),t.removeListener("unpipe",e),r.removeListener("end",l),r.removeListener("end",v),r.removeListener("data",f),c=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||u())}));var u=function(t){return function(){var e=t._readableState;a("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,F(t))}}(r);t.on("drain",u);var c=!1;function f(e){a("ondata");var i=t.write(e);a("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!c&&(a("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function h(e){a("onerror",e),v(),t.removeListener("error",h),0===o(t,"error")&&w(t,e)}function p(){t.removeListener("finish",d),v()}function d(){a("onfinish"),t.removeListener("close",p),v()}function v(){a("unpipe"),r.unpipe(t)}return r.on("data",f),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",h),t.once("close",p),t.once("finish",d),t.emit("pipe",r),n.flowing||(a("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,a("on readable",n.length,n.reading),n.length?C(this):n.reading||i.nextTick(D,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=s.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(z,this),r},A.prototype.removeAllListeners=function(t){var e=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(z,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(a("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(R,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return a("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(a("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(a("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){a("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new _(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new v("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,P(t,e),r&&(e.finished?i.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=f.destroy,A.prototype._undestroy=f.undestroy,A.prototype._destroy=function(t,e){e(t)}},60328:function(t,e,r){"use strict";var n,i=r(4168);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(15932),s=Symbol("lastResolve"),l=Symbol("lastReject"),u=Symbol("error"),c=Symbol("ended"),f=Symbol("lastPromise"),h=Symbol("handlePromise"),p=Symbol("stream");function d(t,e){return{value:t,done:e}}function v(t){var e=t[s];if(null!==e){var r=t[p].read();null!==r&&(t[f]=null,t[s]=null,t[l]=null,e(d(r,!1)))}}function g(t){i.nextTick(v,t)}var y=Object.getPrototypeOf((function(){})),m=Object.setPrototypeOf((a(n={get stream(){return this[p]},next:function(){var t=this,e=this[u];if(null!==e)return Promise.reject(e);if(this[c])return Promise.resolve(d(void 0,!0));if(this[p].destroyed)return new Promise((function(e,r){i.nextTick((function(){t[u]?r(t[u]):e(d(void 0,!0))}))}));var r,n=this[f];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[c]?r(d(void 0,!0)):e[h](r,n)}),n)}}(n,this));else{var a=this[p].read();if(null!==a)return Promise.resolve(d(a,!1));r=new Promise(this[h])}return this[f]=r,r}},Symbol.asyncIterator,(function(){return this})),a(n,"return",(function(){var t=this;return new Promise((function(e,r){t[p].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),n),y);t.exports=function(t){var e,r=Object.create(m,(a(e={},p,{value:t,writable:!0}),a(e,s,{value:null,writable:!0}),a(e,l,{value:null,writable:!0}),a(e,u,{value:null,writable:!0}),a(e,c,{value:t._readableState.endEmitted,writable:!0}),a(e,h,{value:function(t,e){var n=r[p].read();n?(r[f]=null,r[s]=null,r[l]=null,t(d(n,!1))):(r[s]=t,r[l]=e)},writable:!0}),e));return r[f]=null,o(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[l];return null!==e&&(r[f]=null,r[s]=null,r[l]=null,e(t)),void(r[u]=t)}var n=r[s];null!==n&&(r[f]=null,r[s]=null,r[l]=null,n(d(void 0,!0))),r[c]=!0})),t.on("readable",g.bind(null,r)),r}},47264:function(t,e,r){"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e,r,n,i=o.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,o.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){c||(c=t),t&&h.forEach(l),a||(h.forEach(l),f(c))}))}));return e.reduce(u)}},24888:function(t,e,r){"use strict";var n=r(92784).i.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:"highWaterMark",a);return Math.floor(a)}return t.objectMode?16:16384}}},4776:function(t,e,r){t.exports=r(61252).EventEmitter},86032:function(t,e,r){"use strict";var n=r(30456).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=u,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=c,this.end=f,e=3;break;default:return this.write=h,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function u(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function c(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function f(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function h(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.o=a,a.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(t.lastNeed=i-1),i):--n=0?(i>0&&(t.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},55619:function(t,e,r){var n=r(45408),i=r(86844)("stream-parser");t.exports=function(t){var e=t&&"function"==typeof t._transform,r=t&&"function"==typeof t._write;if(!e&&!r)throw new Error("must pass a Writable or Transform stream in");i("extending Parser into stream"),t._bytes=c,t._skipBytes=f,e&&(t._passthrough=h),e?t._transform=d:t._write=p};var a=-1,o=0,s=1,l=2;function u(t){i("initializing parser stream"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=a,t._parserCallback=null,"function"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function c(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got "'+t+'"'),this._parserInit||u(this),i("buffering %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=o}function f(t,e){n(!this._parserCallback,'there is already a "callback" set!'),n(t>0,'can only skip > 0 bytes, got "'+t+'"'),this._parserInit||u(this),i("skipping %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=s}function h(t,e){n(!this._parserCallback,'There is already a "callback" set!'),n(t>0,'can only pass through > 0 bytes, got "'+t+'"'),this._parserInit||u(this),i("passing through %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=l}function p(t,e,r){this._parserInit||u(this),i("write(%o bytes)",t.length),"function"==typeof e&&(r=e),g(this,t,null,r)}function d(t,e,r){this._parserInit||u(this),i("transform(%o bytes)",t.length),"function"!=typeof e&&(e=this._parserOutput),g(this,t,e,r)}function v(t,e,r,n){if(t._parserBytesLeft-=e.length,i("%o bytes left for stream piece",t._parserBytesLeft),t._parserState===o?(t._parserBuffers.push(e),t._parserBuffered+=e.length):t._parserState===l&&r(e),0!==t._parserBytesLeft)return n;var s=t._parserCallback;if(s&&t._parserState===o&&t._parserBuffers.length>1&&(e=Buffer.concat(t._parserBuffers,t._parserBuffered)),t._parserState!==o&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=a,t._parserBuffers.splice(0),s){var u=[];e&&u.push(e),r&&u.push(r);var c=s.length>u.length;c&&u.push(y(n));var f=s.apply(t,u);if(!c||n===f)return n}}var g=y((function t(e,r,n,i){return e._parserBytesLeft<=0?i(new Error("got data but not currently parsing anything")):r.length<=e._parserBytesLeft?function(){return v(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return v(e,a,n,(function(o){return o?i(o):r.length>a.length?function(){return t(e,r.slice(a.length),n,i)}:void 0}))}}));function y(t){return function(){for(var e=t.apply(this,arguments);"function"==typeof e;)e=e();return e}}},86844:function(t,e,r){var n=r(4168);function i(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==n&&"env"in n&&(t=n.env.DEBUG),t}(e=t.exports=r(89416)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+e.humanize(this.diff),r){var n="color: "+this.color;t.splice(1,0,n,"color: inherit");var i=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){"%%"!==t&&(i++,"%c"===t&&(a=i))})),t.splice(a,0,n)}},e.save=function(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}},e.load=i,e.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(i())},89416:function(t,e,r){var n;function i(t){function r(){if(r.enabled){var t=r,i=+new Date,a=i-(n||i);t.diff=a,t.prev=n,t.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s0)return function(t){if(!((t=String(t)).length>100)){var a=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(a){var o=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"days":case"day":case"d":return o*i;case"hours":case"hour":case"hrs":case"hr":case"h":return o*n;case"minutes":case"minute":case"mins":case"min":case"m":return o*r;case"seconds":case"second":case"secs":case"sec":case"s":return o*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(t);if("number"===l&&!1===isNaN(t))return o.long?a(s=t,i,"day")||a(s,n,"hour")||a(s,r,"minute")||a(s,e,"second")||s+" ms":function(t){return t>=i?Math.round(t/i)+"d":t>=n?Math.round(t/n)+"h":t>=r?Math.round(t/r)+"m":t>=e?Math.round(t/e)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},39956:function(t,e,r){"use strict";var n=r(32868);t.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=u[u.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[v])}a[e]=d}else{if(n[e]===r[e]){var g=[],y=[],m=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),y.push(s[x]),m+=s[x].length,o[x]=f.length,x===e){l.length=d;break}}f.push(g);var b=new Array(m);for(d=0;d1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};e.default=function(t){var e=t.px,r=t.py,s=t.cx,l=t.cy,u=t.rx,c=t.ry,f=t.xAxisRotation,h=void 0===f?0:f,p=t.largeArcFlag,d=void 0===p?0:p,v=t.sweepFlag,g=void 0===v?0:v,y=[];if(0===u||0===c)return[];var m=Math.sin(h*n/360),x=Math.cos(h*n/360),b=x*(e-s)/2+m*(r-l)/2,_=-m*(e-s)/2+x*(r-l)/2;if(0===b&&0===_)return[];u=Math.abs(u),c=Math.abs(c);var w=Math.pow(b,2)/Math.pow(u,2)+Math.pow(_,2)/Math.pow(c,2);w>1&&(u*=Math.sqrt(w),c*=Math.sqrt(w));var T=function(t,e,r,i,a,s,l,u,c,f,h,p){var d=Math.pow(a,2),v=Math.pow(s,2),g=Math.pow(h,2),y=Math.pow(p,2),m=d*v-d*y-v*g;m<0&&(m=0),m/=d*y+v*g;var x=(m=Math.sqrt(m)*(l===u?-1:1))*a/s*p,b=m*-s/a*h,_=f*x-c*b+(t+r)/2,w=c*x+f*b+(e+i)/2,T=(h-x)/a,k=(p-b)/s,A=(-h-x)/a,M=(-p-b)/s,S=o(1,0,T,k),E=o(T,k,A,M);return 0===u&&E>0&&(E-=n),1===u&&E<0&&(E+=n),[_,w,S,E]}(e,r,s,l,u,c,d,g,m,x,b,_),k=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}(T,4),A=k[0],M=k[1],S=k[2],E=k[3],L=Math.abs(E)/(n/4);Math.abs(1-L)<1e-7&&(L=1);var C=Math.max(Math.ceil(L),1);E/=C;for(var P=0;Pe[2]&&(e[2]=u[c+0]),u[c+1]>e[3]&&(e[3]=u[c+1]);return e}},41976:function(t,e,r){"use strict";t.exports=function(t){for(var e,r=[],o=0,s=0,l=0,u=0,c=null,f=null,h=0,p=0,d=0,v=t.length;d4?(o=g[g.length-4],s=g[g.length-3]):(o=h,s=p),r.push(g)}return r};var n=r(92848);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},20472:function(t,e,r){"use strict";var n,i=r(74840),a=r(21984),o=r(22235),s=r(53520),l=r(29620),u=document.createElement("canvas"),c=u.getContext("2d");t.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");var r,f;e||(e={}),e.shape?(r=e.shape[0],f=e.shape[1]):(r=u.width=e.w||e.width||200,f=u.height=e.h||e.height||200);var h=Math.min(r,f),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),v=[r/(d[2]-d[0]),f/(d[3]-d[1])],g=Math.min(v[0]||0,v[1]||0)/2;if(c.fillStyle="black",c.fillRect(0,0,r,f),c.fillStyle="white",p&&("number"!=typeof p&&(p=1),c.strokeStyle=p>0?"white":"black",c.lineWidth=Math.abs(p)),c.translate(.5*r,.5*f),c.scale(g,g),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var y=new Path2D(t);c.fill(y),p&&c.stroke(y)}else{var m=a(t);o(c,m),c.fill(),p&&c.stroke()}return c.setTransform(1,0,0,1,0,0),l(c,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*h})}},49760:function(t,e,r){var n;!function(i){var a=/^\s+/,o=/\s+$/,s=0,l=i.round,u=i.min,c=i.max,f=i.random;function h(t,e){if(e=e||{},(t=t||"")instanceof h)return t;if(!(this instanceof h))return new h(t,e);var r=function(t){var e,r,n,s={r:0,g:0,b:0},l=1,f=null,h=null,p=null,d=!1,v=!1;return"string"==typeof t&&(t=function(t){t=t.replace(a,"").replace(o,"").toLowerCase();var e,r=!1;if(C[t])t=C[t],r=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(e=q.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=q.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=q.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=q.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=q.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=q.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=q.hex8.exec(t))?{r:D(e[1]),g:D(e[2]),b:D(e[3]),a:N(e[4]),format:r?"name":"hex8"}:(e=q.hex6.exec(t))?{r:D(e[1]),g:D(e[2]),b:D(e[3]),format:r?"name":"hex"}:(e=q.hex4.exec(t))?{r:D(e[1]+""+e[1]),g:D(e[2]+""+e[2]),b:D(e[3]+""+e[3]),a:N(e[4]+""+e[4]),format:r?"name":"hex8"}:!!(e=q.hex3.exec(t))&&{r:D(e[1]+""+e[1]),g:D(e[2]+""+e[2]),b:D(e[3]+""+e[3]),format:r?"name":"hex"}}(t)),"object"==typeof t&&(H(t.r)&&H(t.g)&&H(t.b)?(e=t.r,r=t.g,n=t.b,s={r:255*I(e,255),g:255*I(r,255),b:255*I(n,255)},d=!0,v="%"===String(t.r).substr(-1)?"prgb":"rgb"):H(t.h)&&H(t.s)&&H(t.v)?(f=F(t.s),h=F(t.v),s=function(t,e,r){t=6*I(t,360),e=I(e,100),r=I(r,100);var n=i.floor(t),a=t-n,o=r*(1-e),s=r*(1-a*e),l=r*(1-(1-a)*e),u=n%6;return{r:255*[r,s,o,o,l,r][u],g:255*[l,r,r,s,o,o][u],b:255*[o,o,l,r,r,s][u]}}(t.h,f,h),d=!0,v="hsv"):H(t.h)&&H(t.s)&&H(t.l)&&(f=F(t.s),p=F(t.l),s=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=I(t,360),e=I(e,100),r=I(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(t.h,f,p),d=!0,v="hsl"),t.hasOwnProperty("a")&&(l=t.a)),l=O(l),{ok:d,format:t.format||v,r:u(255,c(s.r,0)),g:u(255,c(s.g,0)),b:u(255,c(s.b,0)),a:l}}(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=s++}function p(t,e,r){t=I(t,255),e=I(e,255),r=I(r,255);var n,i,a=c(t,e,r),o=u(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(h(n));return a}function L(t,e){e=e||6;for(var r=h(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(h({h:n,s:i,v:a})),a=(a+s)%1;return o}h.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,r,n=this.toRgb();return t=n.r/255,e=n.g/255,r=n.b/255,.2126*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:i.pow((r+.055)/1.055,2.4))},setAlpha:function(t){return this._a=O(t),this._roundA=l(100*this._a)/100,this},toHsv:function(){var t=d(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=d(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=p(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=p(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return v(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[R(l(t).toString(16)),R(l(e).toString(16)),R(l(r).toString(16)),R(B(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*I(this._r,255))+"%",g:l(100*I(this._g,255))+"%",b:l(100*I(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%)":"rgba("+l(100*I(this._r,255))+"%, "+l(100*I(this._g,255))+"%, "+l(100*I(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(P[v(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+g(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=h(t);r="#"+g(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return h(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(b,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(y,arguments)},saturate:function(){return this._applyModification(m,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(T,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(k,arguments)},monochromatic:function(){return this._applyCombination(L,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},h.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:F(t[n]));t=r}return h(t,e)},h.equals=function(t,e){return!(!t||!e)&&h(t).toRgbString()==h(e).toRgbString()},h.random=function(){return h.fromRatio({r:f(),g:f(),b:f()})},h.mix=function(t,e,r){r=0===r?0:r||50;var n=h(t).toRgb(),i=h(e).toRgb(),a=r/100;return h({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},h.readability=function(t,e){var r=h(t),n=h(e);return(i.max(r.getLuminance(),n.getLuminance())+.05)/(i.min(r.getLuminance(),n.getLuminance())+.05)},h.isReadable=function(t,e,r){var n,i,a,o,s,l=h.readability(t,e);switch(i=!1,(a=r,"AA"!==(o=((a=a||{level:"AA",size:"small"}).level||"AA").toUpperCase())&&"AAA"!==o&&(o="AA"),"small"!==(s=(a.size||"small").toLowerCase())&&"large"!==s&&(s="small"),n={level:o,size:s}).level+n.size){case"AAsmall":case"AAAlarge":i=l>=4.5;break;case"AAlarge":i=l>=3;break;case"AAAsmall":i=l>=7}return i},h.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var u=0;ul&&(l=n,s=h(e[u]));return h.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,h.mostReadable(t,["#fff","#000"],r))};var C=h.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},P=h.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(C);function O(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function I(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var r=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=u(e,c(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),i.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function z(t){return u(1,c(0,t))}function D(t){return parseInt(t,16)}function R(t){return 1==t.length?"0"+t:""+t}function F(t){return t<=1&&(t=100*t+"%"),t}function B(t){return i.round(255*parseFloat(t)).toString(16)}function N(t){return D(t)/255}var j,U,V,q=(U="[\\s|\\(]+("+(j="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",V="[\\s|\\(]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",{CSS_UNIT:new RegExp(j),rgb:new RegExp("rgb"+U),rgba:new RegExp("rgba"+V),hsl:new RegExp("hsl"+U),hsla:new RegExp("hsla"+V),hsv:new RegExp("hsv"+U),hsva:new RegExp("hsva"+V),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function H(t){return!!q.CSS_UNIT.exec(t)}t.exports?t.exports=h:void 0===(n=function(){return h}.call(e,r,e,t))||(t.exports=n)}(Math)},37816:function(t){"use strict";t.exports=r,t.exports.float32=t.exports.float=r,t.exports.fract32=t.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=r(t));for(var n=0,i=e.length;n":(e.length>100&&(e=e.slice(0,99)+"…"),e=e.replace(i,(function(t){switch(t){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}})))}},7328:function(t,e,r){"use strict";var n=r(81680),i={object:!0,function:!0,undefined:!0};t.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},87396:function(t,e,r){"use strict";var n=r(57980),i=r(85488);t.exports=function(t){return i(t)?t:n(t,"%v is not a plain function",arguments[1])}},85488:function(t,e,r){"use strict";var n=r(73384),i=/^\s*class[\s{/}]/,a=Function.prototype.toString;t.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},54612:function(t,e,r){"use strict";var n=r(7328);t.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},33940:function(t,e,r){"use strict";var n=r(81680),i=r(7328),a=Object.prototype.toString;t.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if("function"!=typeof e)return null;if(e===a)return null}try{return""+t}catch(t){return null}}},18496:function(t,e,r){"use strict";var n=r(57980),i=r(81680);t.exports=function(t){return i(t)?t:n(t,"Cannot use %v",arguments[1])}},81680:function(t){"use strict";t.exports=function(t){return null!=t}},14144:function(t,e,r){"use strict";var n=r(308),i=r(10352),a=r(33576).Buffer;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s="undefined"!=typeof BigUint64Array,l="undefined"!=typeof BigInt64Array,u=r.g.__TYPEDARRAY_POOL;u.UINT8C||(u.UINT8C=i([32,0])),u.BIGUINT64||(u.BIGUINT64=i([32,0])),u.BIGINT64||(u.BIGINT64=i([32,0])),u.BUFFER||(u.BUFFER=i([32,0]));var c=u.DATA,f=u.BUFFER;function h(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);c[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=c[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function v(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function m(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function b(t){return new Float32Array(p(4*t),0,t)}function _(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=f[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))f[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);c[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){h(t.buffer)},e.freeArrayBuffer=h,e.freeBuffer=function(t){f[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return v(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return m(t);case"int32":return x(t);case"float":case"float32":return b(t);case"double":case"float64":return _(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=v,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=m,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=b,e.mallocFloat64=e.mallocDouble=_,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)u.UINT8[t].length=0,u.UINT16[t].length=0,u.UINT32[t].length=0,u.INT8[t].length=0,u.INT16[t].length=0,u.INT32[t].length=0,u.FLOAT[t].length=0,u.DOUBLE[t].length=0,u.BIGUINT64[t].length=0,u.BIGINT64[t].length=0,u.UINT8C[t].length=0,c[t].length=0,f[t].length=0}},92384:function(t){var e=/[\'\"]/;t.exports=function(t){return t?(e.test(t.charAt(0))&&(t=t.substr(1)),e.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},45223:function(t){"use strict";t.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&e._extend(n,r),b(n.showHidden)&&(n.showHidden=!1),b(n.depth)&&(n.depth=2),b(n.colors)&&(n.colors=!1),b(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=c),h(n,t,n.depth)}function c(t,e){var r=u.styles[e];return r?"["+u.colors[r][0]+"m"+t+"["+u.colors[r][1]+"m":t}function f(t,e){return t}function h(t,r,n){if(t.customInspect&&r&&A(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return x(i)||(i=h(t,i,n)),i}var a=function(t,e){if(b(e))return t.stylize("undefined","undefined");if(x(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}return m(e)?t.stylize(""+e,"number"):g(e)?t.stylize(""+e,"boolean"):y(e)?t.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),k(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return p(r);if(0===o.length){if(A(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(_(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(T(r))return t.stylize(Date.prototype.toString.call(r),"date");if(k(r))return p(r)}var u,c="",f=!1,w=["{","}"];return v(r)&&(f=!0,w=["[","]"]),A(r)&&(c=" [Function"+(r.name?": "+r.name:"")+"]"),_(r)&&(c=" "+RegExp.prototype.toString.call(r)),T(r)&&(c=" "+Date.prototype.toUTCString.call(r)),k(r)&&(c=" "+p(r)),0!==o.length||f&&0!=r.length?n<0?_(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=f?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o60?r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}(u,c,w)):w[0]+c+w[1]}function p(t){return"["+Error.prototype.toString.call(t)+"]"}function d(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),L(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=y(r)?h(t,l.value,null):h(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(t){return" "+t})).join("\n").slice(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),b(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function v(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function y(t){return null===t}function m(t){return"number"==typeof t}function x(t){return"string"==typeof t}function b(t){return void 0===t}function _(t){return w(t)&&"[object RegExp]"===M(t)}function w(t){return"object"==typeof t&&null!==t}function T(t){return w(t)&&"[object Date]"===M(t)}function k(t){return w(t)&&("[object Error]"===M(t)||t instanceof Error)}function A(t){return"function"==typeof t}function M(t){return Object.prototype.toString.call(t)}function S(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!o[t])if(s.test(t)){var r=n.pid;o[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else o[t]=function(){};return o[t]},e.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=r(41088),e.isArray=v,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=m,e.isString=x,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=b,e.isRegExp=_,e.types.isRegExp=_,e.isObject=w,e.isDate=T,e.types.isDate=T,e.isError=k,e.types.isNativeError=k,e.isFunction=A,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(75272);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function L(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,r;console.log("%s - %s",(r=[S((t=new Date).getHours()),S(t.getMinutes()),S(t.getSeconds())].join(":"),[t.getDate(),E[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=r(6768),e._extend=function(t,e){if(!e||!w(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var C="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function P(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(C&&t[C]){var e;if("function"!=typeof(e=t[C]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,C,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],a=0;a-1?e:"Object"===e&&function(t){var e=!1;return n(v,(function(r,n){if(!e)try{r(t),e=h(n,1)}catch(t){}})),e}(t)}return s?function(t){var e=!1;return n(v,(function(r,n){if(!e)try{"$"+r(t)===n&&(e=h(n,1))}catch(t){}})),e}(t):null}},67020:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),i=t.month(),a=""+this.toChineseMonth(n,i);return e&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一","二","三","四","五","六","七","八","九","十","十一","十二"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"闰"===e[0]&&(r=!0,e=e.substring(1)),"月"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(e);else{var i=e[e.length-1];r="i"===i||"I"===i}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=h[o-h[0]],l=s>>9&4095,u=s>>5&15,c=31&s;(i=a.newDate(l,u,c)).add(4-(i.dayOfWeek()||7),"d");var f=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(f/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=f[t-f[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l;if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(l=!1,a=n):(l=!!n,a={}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var u,c=f[o.year-f[0]],p=c>>13;u=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d>9&4095,(v>>5&15)-1,(31&v)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a={}}var o=h[i.year-h[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=h[a.year-h[0]];var l,u=new Date(o>>9&4095,(o>>5&15)-1,31&o),c=new Date(i.year,i.month-1,i.day);l=Math.round((c-u)/864e5);var p,d=f[a.year-f[0]];for(p=0;p<13;p++){var v=d&1<<12-p?30:29;if(l>13;return!g||p=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},65168:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},2084:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},26368:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-khamīs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},24747:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},65616:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o(8+(t-=this.jdEpoch)+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s(20+(t-=this.jdEpoch),20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},30632:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},73040:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var u=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(u)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(u,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var u=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,u)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var u=t-this.toJD(l,1,1)+1,c=u<=186?Math.ceil(u/31):Math.ceil((u-6)/30),f=t-this.toJD(l,c,1)+1;return this.newDate(l,c,f)}}),n.calendars.persian=a,n.calendars.jalali=a},51456:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},4592:function(t,e,r){var n=r(38700),i=r(50896),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},45348:function(t,e,r){var n=r(38700),i=r(50896);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thalāthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,u=e-o[r-1]+1;return this.newDate(s,l,u)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},38700:function(t,e,r){var n=r(50896);function i(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(u.local.invalidDate||u.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(u.local.differentCalendars||u.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,u.local.invalidMonth||u.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,u.local.invalidYear||u.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day(),"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,u.local.invalidDate||u.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),u=i-(l>2.5?4716:4715);return u<=0&&u--,this.newDate(u,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,u.local.invalidDate||u.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var u=t.exports=new i;u.cdate=a,u.baseCalendar=s,u.calendars.gregorian=l},15168:function(t,e,r){var n=r(50896),i=r(38700);n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s=(r=r||{}).dayNamesShort||this.local.dayNamesShort,l=r.dayNames||this.local.dayNames,u=r.monthNumbers||this.local.monthNumbers,c=r.monthNamesShort||this.local.monthNamesShort,f=r.monthNames||this.local.monthNames,h=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;_+n1}),p=function(t,e,r,n){var i=""+e;if(h(t,n))for(;i.length1},x=function(t,r){var n=m(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},b=this,_=function(){if("function"==typeof l){m("m");var t=l.call(b,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=m(t,a)?n:r,s=0;s-1){p=1,d=v;for(var E=this.daysInMonth(h,p);d>E;E=this.daysInMonth(h,p))p++,d-=E}return f>-1?this.fromJD(f):this.newDate(h,p,d)},determineDate:function(t,e,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return e=e?e.newDate():null,null==t?e:"string"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,"d"):a.newDate(t)}})},21576:function(){},19768:function(){},63436:function(t,e,r){"use strict";var n=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],i="undefined"==typeof globalThis?r.g:globalThis;t.exports=function(){for(var t=[],e=0;e>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?T(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?T(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=h.exec(t))?new A(e[1],e[2],e[3],1):(e=p.exec(t))?new A(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=d.exec(t))?T(e[1],e[2],e[3],e[4]):(e=v.exec(t))?T(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=g.exec(t))?P(e[1],e[2]/100,e[3]/100,1):(e=y.exec(t))?P(e[1],e[2]/100,e[3]/100,e[4]):m.hasOwnProperty(t)?w(m[t]):"transparent"===t?new A(NaN,NaN,NaN,0):null}function w(t){return new A(t>>16&255,t>>8&255,255&t,1)}function T(t,e,r,n){return n<=0&&(t=e=r=NaN),new A(t,e,r,n)}function k(t,e,r,n){return 1===arguments.length?((i=t)instanceof a||(i=_(i)),i?new A((i=i.rgb()).r,i.g,i.b,i.opacity):new A):new A(t,e,r,null==n?1:n);var i}function A(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function M(){return"#".concat(C(this.r)).concat(C(this.g)).concat(C(this.b))}function S(){var t=E(this.opacity);return"".concat(1===t?"rgb(":"rgba(").concat(L(this.r),", ").concat(L(this.g),", ").concat(L(this.b)).concat(1===t?")":", ".concat(t,")"))}function E(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function L(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function C(t){return((t=L(t))<16?"0":"")+t.toString(16)}function P(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new I(t,e,r,n)}function O(t){if(t instanceof I)return new I(t.h,t.s,t.l,t.opacity);if(t instanceof a||(t=_(t)),!t)return new I;if(t instanceof I)return t;var e=(t=t.rgb()).r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,l=o-i,u=(o+i)/2;return l?(s=e===o?(r-n)/l+6*(r0&&u<1?0:s,new I(s,l,u,t.opacity)}function I(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function z(t){return(t=(t||0)%360)<0?t+360:t}function D(t){return Math.max(0,Math.min(1,t||0))}function R(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function F(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}n(a,_,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return O(this).formatHsl()},formatRgb:b,toString:b}),n(A,k,i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},clamp:function(){return new A(L(this.r),L(this.g),L(this.b),E(this.opacity))},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:M,formatHex:M,formatHex8:function(){return"#".concat(C(this.r)).concat(C(this.g)).concat(C(this.b)).concat(C(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:S,toString:S})),n(I,(function(t,e,r,n){return 1===arguments.length?O(t):new I(t,e,r,null==n?1:n)}),i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new I(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new I(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new A(R(t>=240?t-240:t+120,i,n),R(t,i,n),R(t<120?t+240:t-120,i,n),this.opacity)},clamp:function(){return new I(z(this.h),D(this.s),D(this.l),E(this.opacity))},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=E(this.opacity);return"".concat(1===t?"hsl(":"hsla(").concat(z(this.h),", ").concat(100*D(this.s),"%, ").concat(100*D(this.l),"%").concat(1===t?")":", ".concat(t,")"))}}));var B=function(t){return function(){return t}};function N(t,e){var r=e-t;return r?function(t,e){return function(r){return t+r*e}}(t,r):B(isNaN(t)?e:t)}var j=function t(e){var r=function(t){return 1==(t=+t)?N:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):B(isNaN(e)?r:e)}}(e);function n(t,e){var n=r((t=k(t)).r,(e=k(e)).r),i=r(t.g,e.g),a=r(t.b,e.b),o=N(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return n.gamma=t,n}(1);function U(t){return function(e){var r,n,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,s=na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:H(r,n)})),a=X.lastIndex;return a:not(.watermark)":"opacity:0;-webkit-transition:opacity .3s ease 0s;-moz-transition:opacity .3s ease 0s;-ms-transition:opacity .3s ease 0s;-o-transition:opacity .3s ease 0s;transition:opacity .3s ease 0s;","X:hover .modebar--hover .modebar-group":"opacity:1;","X .modebar-group":"float:left;display:inline-block;box-sizing:border-box;padding-left:8px;position:relative;vertical-align:middle;white-space:nowrap;","X .modebar-btn":"position:relative;font-size:16px;padding:3px 4px;height:22px;cursor:pointer;line-height:normal;box-sizing:border-box;","X .modebar-btn svg":"position:relative;top:2px;","X .modebar.vertical":"display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-end;max-height:100%;","X .modebar.vertical svg":"top:-1px;","X .modebar.vertical .modebar-group":"display:block;float:none;padding-left:0px;padding-bottom:8px;","X .modebar.vertical .modebar-group .modebar-btn":"display:block;text-align:center;","X [data-title]:before,X [data-title]:after":"position:absolute;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0);display:none;opacity:0;z-index:1001;pointer-events:none;top:110%;right:50%;","X [data-title]:hover:before,X [data-title]:hover:after":"display:block;opacity:1;","X [data-title]:before":'content:"";position:absolute;background:rgba(0,0,0,0);border:6px solid rgba(0,0,0,0);z-index:1002;margin-top:-12px;border-bottom-color:#69738a;margin-right:-6px;',"X [data-title]:after":"content:attr(data-title);background:#69738a;color:#fff;padding:8px 10px;font-size:12px;line-height:12px;white-space:nowrap;margin-right:-18px;border-radius:2px;","X .vertical [data-title]:before,X .vertical [data-title]:after":"top:0%;right:200%;","X .vertical [data-title]:before":"border:6px solid rgba(0,0,0,0);border-left-color:#69738a;margin-top:8px;margin-right:-30px;",Y:'font-family:"Open Sans",verdana,arial,sans-serif;position:fixed;top:50px;right:20px;z-index:10000;font-size:10pt;max-width:180px;',"Y p":"margin:0;","Y .notifier-note":"min-width:180px;max-width:250px;border:1px solid #fff;z-index:3000;margin:0;background-color:#8c97af;background-color:rgba(140,151,175,.9);color:#fff;padding:10px;overflow-wrap:break-word;word-wrap:break-word;-ms-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;","Y .notifier-close":"color:#fff;opacity:.8;float:right;padding:0 5px;background:none;border:none;font-size:20px;font-weight:bold;line-height:20px;","Y .notifier-close:hover":"color:#444;text-decoration:none;cursor:pointer;"};for(var a in i){var o=a.replace(/^,/," ,").replace(/X/g,".js-plotly-plot .plotly").replace(/Y/g,".plotly-notifier");n.addStyleRule(o,i[a])}},14187:function(t,e,r){"use strict";t.exports=r(47908)},20273:function(t,e,r){"use strict";t.exports=r(58218)},6457:function(t,e,r){"use strict";t.exports=r(89362)},15849:function(t,e,r){"use strict";t.exports=r(53794)},38847:function(t,e,r){"use strict";t.exports=r(29698)},7659:function(t,e,r){"use strict";t.exports=r(51252)},60089:function(t,e,r){"use strict";t.exports=r(48050)},22084:function(t,e,r){"use strict";t.exports=r(58075)},35892:function(t,e,r){"use strict";t.exports=r(9419)},81204:function(t,e,r){"use strict";t.exports=r(28128)},55857:function(t,e,r){"use strict";t.exports=r(47050)},12862:function(t,e,r){"use strict";t.exports=r(91405)},97629:function(t,e,r){"use strict";t.exports=r(34406)},67549:function(t,e,r){"use strict";t.exports=r(17430)},2660:function(t,e,r){"use strict";t.exports=r(91995)},86071:function(t,e,r){"use strict";t.exports=r(81264)},66200:function(t,e,r){"use strict";t.exports=r(42849)},53446:function(t,e,r){"use strict";t.exports=r(52213)},86899:function(t,e,r){"use strict";t.exports=r(91132)},13430:function(t,e,r){"use strict";t.exports=r(50453)},21548:function(t,e,r){"use strict";t.exports=r(29251)},53939:function(t,e,r){"use strict";t.exports=r(72892)},1902:function(t,e,r){"use strict";t.exports=r(74461)},29096:function(t,e,r){"use strict";t.exports=r(66143)},23820:function(t,e,r){"use strict";t.exports=r(81955)},82017:function(t,e,r){"use strict";t.exports=r(36858)},113:function(t,e,r){"use strict";t.exports=r(92106)},20260:function(t,e,r){"use strict";var n=r(67549);n.register([r(20273),r(15849),r(21548),r(1902),r(29096),r(23820),r(12862),r(1639),r(10067),r(53446),r(31014),r(113),r(78170),r(8202),r(92382),r(82017),r(86899),r(54357),r(66903),r(90594),r(71680),r(7412),r(55857),r(784),r(74221),r(22084),r(44001),r(97281),r(12345),r(53939),r(29117),r(5410),r(5057),r(81204),r(86071),r(14226),r(35892),r(2660),r(96599),r(28573),r(76832),r(60089),r(51469),r(97629),r(27700),r(7659),r(11780),r(27195),r(6457),r(84639),r(14187),r(66200),r(13430),r(90590),r(38847)]),t.exports=n},28573:function(t,e,r){"use strict";t.exports=r(25638)},90594:function(t,e,r){"use strict";t.exports=r(75297)},7412:function(t,e,r){"use strict";t.exports=r(58859)},27700:function(t,e,r){"use strict";t.exports=r(12683)},5410:function(t,e,r){"use strict";t.exports=r(6305)},29117:function(t,e,r){"use strict";t.exports=r(83910)},78170:function(t,e,r){"use strict";t.exports=r(49913)},12345:function(t,e,r){"use strict";t.exports=r(15186)},96599:function(t,e,r){"use strict";t.exports=r(71760)},54357:function(t,e,r){"use strict";t.exports=r(17822)},51469:function(t,e,r){"use strict";t.exports=r(56534)},74221:function(t,e,r){"use strict";t.exports=r(18070)},44001:function(t,e,r){"use strict";t.exports=r(52378)},14226:function(t,e,r){"use strict";t.exports=r(30929)},5057:function(t,e,r){"use strict";t.exports=r(83866)},11780:function(t,e,r){"use strict";t.exports=r(66939)},27195:function(t,e,r){"use strict";t.exports=r(23748)},84639:function(t,e,r){"use strict";t.exports=r(73304)},1639:function(t,e,r){"use strict";t.exports=r(12864)},90590:function(t,e,r){"use strict";t.exports=r(99855)},97281:function(t,e,r){"use strict";t.exports=r(91450)},784:function(t,e,r){"use strict";t.exports=r(51943)},8202:function(t,e,r){"use strict";t.exports=r(80809)},66903:function(t,e,r){"use strict";t.exports=r(95984)},76832:function(t,e,r){"use strict";t.exports=r(51671)},92382:function(t,e,r){"use strict";t.exports=r(47181)},10067:function(t,e,r){"use strict";t.exports=r(37276)},71680:function(t,e,r){"use strict";t.exports=r(75703)},31014:function(t,e,r){"use strict";t.exports=r(38261)},11645:function(t){"use strict";t.exports=[{path:"",backoff:0},{path:"M-2.4,-3V3L0.6,0Z",backoff:.6},{path:"M-3.7,-2.5V2.5L1.3,0Z",backoff:1.3},{path:"M-4.45,-3L-1.65,-0.2V0.2L-4.45,3L1.55,0Z",backoff:1.55},{path:"M-2.2,-2.2L-0.2,-0.2V0.2L-2.2,2.2L-1.4,3L1.6,0L-1.4,-3Z",backoff:1.6},{path:"M-4.4,-2.1L-0.6,-0.2V0.2L-4.4,2.1L-4,3L2,0L-4,-3Z",backoff:2},{path:"M2,0A2,2 0 1,1 0,-2A2,2 0 0,1 2,0Z",backoff:0,noRotate:!0},{path:"M2,2V-2H-2V2Z",backoff:0,noRotate:!0}]},50222:function(t,e,r){"use strict";var n=r(11645),i=r(80337),a=r(54826),o=r(78032).templatedArray;r(35081),t.exports=o("annotation",{visible:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},text:{valType:"string",editType:"calc+arraydraw"},textangle:{valType:"angle",dflt:0,editType:"calc+arraydraw"},font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),width:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},height:{valType:"number",min:1,dflt:null,editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},align:{valType:"enumerated",values:["left","center","right"],dflt:"center",editType:"arraydraw"},valign:{valType:"enumerated",values:["top","middle","bottom"],dflt:"middle",editType:"arraydraw"},bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},bordercolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},borderpad:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},borderwidth:{valType:"number",min:0,dflt:1,editType:"calc+arraydraw"},showarrow:{valType:"boolean",dflt:!0,editType:"calc+arraydraw"},arrowcolor:{valType:"color",editType:"arraydraw"},arrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},startarrowhead:{valType:"integer",min:0,max:n.length,dflt:1,editType:"arraydraw"},arrowside:{valType:"flaglist",flags:["end","start"],extras:["none"],dflt:"end",editType:"arraydraw"},arrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},startarrowsize:{valType:"number",min:.3,dflt:1,editType:"calc+arraydraw"},arrowwidth:{valType:"number",min:.1,editType:"calc+arraydraw"},standoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},startstandoff:{valType:"number",min:0,dflt:0,editType:"calc+arraydraw"},ax:{valType:"any",editType:"calc+arraydraw"},ay:{valType:"any",editType:"calc+arraydraw"},axref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.x.toString()],editType:"calc"},ayref:{valType:"enumerated",dflt:"pixel",values:["pixel",a.idRegex.y.toString()],editType:"calc"},xref:{valType:"enumerated",values:["paper",a.idRegex.x.toString()],editType:"calc"},x:{valType:"any",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},xshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},yref:{valType:"enumerated",values:["paper",a.idRegex.y.toString()],editType:"calc"},y:{valType:"any",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"auto",editType:"calc+arraydraw"},yshift:{valType:"number",dflt:0,editType:"calc+arraydraw"},clicktoshow:{valType:"enumerated",values:[!1,"onoff","onout"],dflt:!1,editType:"arraydraw"},xclick:{valType:"any",editType:"arraydraw"},yclick:{valType:"any",editType:"arraydraw"},hovertext:{valType:"string",editType:"arraydraw"},hoverlabel:{bgcolor:{valType:"color",editType:"arraydraw"},bordercolor:{valType:"color",editType:"arraydraw"},font:i({editType:"arraydraw"}),editType:"arraydraw"},captureevents:{valType:"boolean",editType:"arraydraw"},editType:"calc",_deprecated:{ref:{valType:"string",editType:"calc"}}})},60317:function(t,e,r){"use strict";var n=r(34809),i=r(29714),a=r(3377).draw;function o(t){var e=t._fullLayout;n.filterVisible(e.annotations).forEach((function(e){var r=i.getFromId(t,e.xref),n=i.getFromId(t,e.yref),a=i.getRefType(e.xref),o=i.getRefType(e.yref);e._extremes={},"range"===a&&s(e,r),"range"===o&&s(e,n)}))}function s(t,e){var r,n=e._id,a=n.charAt(0),o=t[a],s=t["a"+a],l=t[a+"ref"],c=t["a"+a+"ref"],u=t["_"+a+"padplus"],h=t["_"+a+"padminus"],f={x:1,y:-1}[a]*t[a+"shift"],p=3*t.arrowsize*t.arrowwidth||0,d=p+f,m=p-f,g=3*t.startarrowsize*t.arrowwidth||0,y=g+f,v=g-f;if(c===l){var x=i.findExtremes(e,[e.r2c(o)],{ppadplus:d,ppadminus:m}),_=i.findExtremes(e,[e.r2c(s)],{ppadplus:Math.max(u,y),ppadminus:Math.max(h,v)});r={min:[x.min[0],_.min[0]],max:[x.max[0],_.max[0]]}}else y=s?y+s:y,v=s?v-s:v,r=i.findExtremes(e,[e.r2c(o)],{ppadplus:Math.max(u,d,y),ppadminus:Math.max(h,m,v)});t._extremes[n]=r}t.exports=function(t){var e=t._fullLayout;if(n.filterVisible(e.annotations).length&&t._fullData.length)return n.syncOrAsync([a,o],t)}},6035:function(t,e,r){"use strict";var n=r(34809),i=r(33626),a=r(78032).arrayEditor;function o(t,e){var r,n,i,a,o,l,c,u=t._fullLayout.annotations,h=[],f=[],p=[],d=(e||[]).length;for(r=0;r0||r.explicitOff.length>0},onClick:function(t,e){var r,s,l=o(t,e),c=l.on,u=l.off.concat(l.explicitOff),h={},f=t._fullLayout.annotations;if(c.length||u.length){for(r=0;r2/3?"right":"center"),{center:0,middle:0,left:.5,bottom:-.5,right:-.5,top:.5}[e]}for(var W=!1,Y=["x","y"],X=0;X1)&&(nt===rt?((pt=it.r2fraction(e["a"+et]))<0||pt>1)&&(W=!0):W=!0),$=it._offset+it.r2p(e[et]),Q=.5}else{var dt="domain"===ft;"x"===et?(K=e[et],$=dt?it._offset+it._length*K:$=T.l+T.w*K):(K=1-e[et],$=dt?it._offset+it._length*K:$=T.t+T.h*K),Q=e.showarrow?.5:K}if(e.showarrow){ht.head=$;var mt=e["a"+et];if(tt=ot*H(.5,e.xanchor)-st*H(.5,e.yanchor),nt===rt){var gt=l.getRefType(nt);"domain"===gt?("y"===et&&(mt=1-mt),ht.tail=it._offset+it._length*mt):"paper"===gt?"y"===et?(mt=1-mt,ht.tail=T.t+T.h*mt):ht.tail=T.l+T.w*mt:ht.tail=it._offset+it.r2p(mt),J=tt}else ht.tail=$+mt,J=tt+mt;ht.text=ht.tail+tt;var yt=w["x"===et?"width":"height"];if("paper"===rt&&(ht.head=o.constrain(ht.head,1,yt-1)),"pixel"===nt){var vt=-Math.max(ht.tail-3,ht.text),xt=Math.min(ht.tail+3,ht.text)-yt;vt>0?(ht.tail+=vt,ht.text+=vt):xt>0&&(ht.tail-=xt,ht.text-=xt)}ht.tail+=ut,ht.head+=ut}else J=tt=lt*H(Q,ct),ht.text=$+tt;ht.text+=ut,tt+=ut,J+=ut,e["_"+et+"padplus"]=lt/2+J,e["_"+et+"padminus"]=lt/2-J,e["_"+et+"size"]=lt,e["_"+et+"shift"]=tt}if(W)R.remove();else{var _t=0,bt=0;if("left"!==e.align&&(_t=(A-_)*("center"===e.align?.5:1)),"top"!==e.valign&&(bt=(D-b)*("middle"===e.valign?.5:1)),h)n.select("svg").attr({x:N+_t-1,y:N+bt}).call(u.setClipUrl,U?C:null,t);else{var wt=N+bt-m.top,Tt=N+_t-m.left;G.call(f.positionText,Tt,wt).call(u.setClipUrl,U?C:null,t)}V.select("rect").call(u.setRect,N,N,A,D),j.call(u.setRect,F/2,F/2,B-F,q-F),R.call(u.setTranslate,Math.round(L.x.text-B/2),Math.round(L.y.text-q/2)),z.attr({transform:"rotate("+I+","+L.x.text+","+L.y.text+")"});var kt,At=function(r,n){P.selectAll(".annotation-arrow-g").remove();var l=L.x.head,h=L.y.head,f=L.x.tail+r,p=L.y.tail+n,m=L.x.text+r,_=L.y.text+n,b=o.rotationXYMatrix(I,m,_),w=o.apply2DTransform(b),A=o.apply2DTransform2(b),C=+j.attr("width"),O=+j.attr("height"),D=m-.5*C,F=D+C,B=_-.5*O,N=B+O,U=[[D,B,D,N],[D,N,F,N],[F,N,F,B],[F,B,D,B]].map(A);if(!U.reduce((function(t,e){return t^!!o.segmentsIntersect(l,h,l+1e6,h+1e6,e[0],e[1],e[2],e[3])}),!1)){U.forEach((function(t){var e=o.segmentsIntersect(f,p,l,h,t[0],t[1],t[2],t[3]);e&&(f=e.x,p=e.y)}));var V=e.arrowwidth,q=e.arrowcolor,H=e.arrowside,G=P.append("g").style({opacity:c.opacity(q)}).classed("annotation-arrow-g",!0),Z=G.append("path").attr("d","M"+f+","+p+"L"+l+","+h).style("stroke-width",V+"px").call(c.stroke,c.rgb(q));if(g(Z,H,e),k.annotationPosition&&Z.node().parentNode&&!a){var W=l,Y=h;if(e.standoff){var X=Math.sqrt(Math.pow(l-f,2)+Math.pow(h-p,2));W+=e.standoff*(f-l)/X,Y+=e.standoff*(p-h)/X}var $,J,K=G.append("path").classed("annotation-arrow",!0).classed("anndrag",!0).classed("cursor-move",!0).attr({d:"M3,3H-3V-3H3ZM0,0L"+(f-W)+","+(p-Y),transform:s(W,Y)}).style("stroke-width",V+6+"px").call(c.stroke,"rgba(0,0,0,0)").call(c.fill,"rgba(0,0,0,0)");d.init({element:K.node(),gd:t,prepFn:function(){var t=u.getTranslate(R);$=t.x,J=t.y,y&&y.autorange&&M(y._name+".autorange",!0),x&&x.autorange&&M(x._name+".autorange",!0)},moveFn:function(t,r){var n=w($,J),i=n[0]+t,a=n[1]+r;R.call(u.setTranslate,i,a),S("x",v(y,t,"x",T,e)),S("y",v(x,r,"y",T,e)),e.axref===e.xref&&S("ax",v(y,t,"ax",T,e)),e.ayref===e.yref&&S("ay",v(x,r,"ay",T,e)),G.attr("transform",s(t,r)),z.attr({transform:"rotate("+I+","+i+","+a+")"})},doneFn:function(){i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}};e.showarrow&&At(0,0),O&&d.init({element:R.node(),gd:t,prepFn:function(){kt=z.attr("transform")},moveFn:function(t,r){var n="pointer";if(e.showarrow)e.axref===e.xref?S("ax",v(y,t,"ax",T,e)):S("ax",e.ax+t),e.ayref===e.yref?S("ay",v(x,r,"ay",T.w,e)):S("ay",e.ay+r),At(t,r);else{if(a)return;var i,o;if(y)i=v(y,t,"x",T,e);else{var l=e._xsize/T.w,c=e.x+(e._xshift-e.xshift)/T.w-l/2;i=d.align(c+t/T.w,l,0,1,e.xanchor)}if(x)o=v(x,r,"y",T,e);else{var u=e._ysize/T.h,h=e.y-(e._yshift+e.yshift)/T.h-u/2;o=d.align(h-r/T.h,u,0,1,e.yanchor)}S("x",i),S("y",o),y&&x||(n=d.getCursor(y?.5:i,x?.5:o,e.xanchor,e.yanchor))}z.attr({transform:s(t,r)+kt}),p(R,n)},clickFn:function(r,n){e.captureevents&&t.emit("plotly_clickannotation",Z(n))},doneFn:function(){p(R),i.call("_guiRelayout",t,E());var e=document.querySelector(".js-notes-box-panel");e&&e.redraw(e.selectedObj)}})}}}t.exports={draw:function(t){var e=t._fullLayout;e._infolayer.selectAll(".annotation").remove();for(var r=0;r=0,x=e.indexOf("end")>=0,_=d.backoff*g+r.standoff,b=m.backoff*y+r.startstandoff;if("line"===p.nodeName){o={x:+t.attr("x1"),y:+t.attr("y1")},u={x:+t.attr("x2"),y:+t.attr("y2")};var w=o.x-u.x,T=o.y-u.y;if(f=(h=Math.atan2(T,w))+Math.PI,_&&b&&_+b>Math.sqrt(w*w+T*T))return void O();if(_){if(_*_>w*w+T*T)return void O();var k=_*Math.cos(h),A=_*Math.sin(h);u.x+=k,u.y+=A,t.attr({x2:u.x,y2:u.y})}if(b){if(b*b>w*w+T*T)return void O();var M=b*Math.cos(h),S=b*Math.sin(h);o.x-=M,o.y-=S,t.attr({x1:o.x,y1:o.y})}}else if("path"===p.nodeName){var E=p.getTotalLength(),C="";if(E<_+b)return void O();var L=p.getPointAtLength(0),I=p.getPointAtLength(.1);h=Math.atan2(L.y-I.y,L.x-I.x),o=p.getPointAtLength(Math.min(b,E)),C="0px,"+b+"px,";var P=p.getPointAtLength(E),z=p.getPointAtLength(E-.1);f=Math.atan2(P.y-z.y,P.x-z.x),u=p.getPointAtLength(Math.max(0,E-_)),C+=E-(C?b+_:_)+"px,"+E+"px",t.style("stroke-dasharray",C)}function O(){t.style("stroke-dasharray","0px,100px")}function D(e,a,o,u){e.path&&(e.noRotate&&(o=0),n.select(p.parentNode).append("path").attr({class:t.attr("class"),d:e.path,transform:c(a.x,a.y)+l(180*o/Math.PI)+s(u)}).style({fill:i.rgb(r.arrowcolor),"stroke-width":0}))}v&&D(m,o,h,y),x&&D(d,u,f,g)}},3599:function(t,e,r){"use strict";var n=r(3377),i=r(6035);t.exports={moduleType:"component",name:"annotations",layoutAttributes:r(50222),supplyLayoutDefaults:r(63737),includeBasePlot:r(20706)("annotations"),calcAutorange:r(60317),draw:n.draw,drawOne:n.drawOne,drawRaw:n.drawRaw,hasClickToShow:i.hasClickToShow,onClick:i.onClick,convertCoords:r(59741)}},38239:function(t,e,r){"use strict";var n=r(50222),i=r(13582).overrideAll,a=r(78032).templatedArray;t.exports=i(a("annotation",{visible:n.visible,x:{valType:"any"},y:{valType:"any"},z:{valType:"any"},ax:{valType:"number"},ay:{valType:"number"},xanchor:n.xanchor,xshift:n.xshift,yanchor:n.yanchor,yshift:n.yshift,text:n.text,textangle:n.textangle,font:n.font,width:n.width,height:n.height,opacity:n.opacity,align:n.align,valign:n.valign,bgcolor:n.bgcolor,bordercolor:n.bordercolor,borderpad:n.borderpad,borderwidth:n.borderwidth,showarrow:n.showarrow,arrowcolor:n.arrowcolor,arrowhead:n.arrowhead,startarrowhead:n.startarrowhead,arrowside:n.arrowside,arrowsize:n.arrowsize,startarrowsize:n.startarrowsize,arrowwidth:n.arrowwidth,standoff:n.standoff,startstandoff:n.startstandoff,hovertext:n.hovertext,hoverlabel:n.hoverlabel,captureevents:n.captureevents}),"calc","from-root")},47979:function(t,e,r){"use strict";var n=r(34809),i=r(29714);function a(t,e){var r=e.fullSceneLayout.domain,a=e.fullLayout._size,o={pdata:null,type:"linear",autorange:!1,range:[-1/0,1/0]};t._xa={},n.extendFlat(t._xa,o),i.setConvert(t._xa),t._xa._offset=a.l+r.x[0]*a.w,t._xa.l2p=function(){return.5*(1+t._pdata[0]/t._pdata[3])*a.w*(r.x[1]-r.x[0])},t._ya={},n.extendFlat(t._ya,o),i.setConvert(t._ya),t._ya._offset=a.t+(1-r.y[1])*a.h,t._ya.l2p=function(){return.5*(1-t._pdata[1]/t._pdata[3])*a.h*(r.y[1]-r.y[0])}}t.exports=function(t){for(var e=t.fullSceneLayout.annotations,r=0;r1){c=!0;break}}c?t.fullLayout._infolayer.select(".annotation-"+t.id+'[data-index="'+s+'"]').remove():(l._pdata=i(t.glplot.cameraParams,[e.xaxis.r2l(l.x)*r[0],e.yaxis.r2l(l.y)*r[1],e.zaxis.r2l(l.z)*r[2]]),n(t.graphDiv,l,s,t.id,l._xa,l._ya))}}},83348:function(t,e,r){"use strict";var n=r(33626),i=r(34809);t.exports={moduleType:"component",name:"annotations3d",schema:{subplots:{scene:{annotations:r(38239)}}},layoutAttributes:r(38239),handleDefaults:r(34232),includeBasePlot:function(t,e){var r=n.subplotsRegistry.gl3d;if(r)for(var a=r.attrRegex,o=Object.keys(t),s=0;s=0))return t;if(3===o)n[o]>1&&(n[o]=1);else if(n[o]>=1)return t}var s=Math.round(255*n[0])+", "+Math.round(255*n[1])+", "+Math.round(255*n[2]);return a?"rgba("+s+", "+n[3]+")":"rgb("+s+")"}o.tinyRGB=function(t){var e=t.toRgb();return"rgb("+Math.round(e.r)+", "+Math.round(e.g)+", "+Math.round(e.b)+")"},o.rgb=function(t){return o.tinyRGB(n(t))},o.opacity=function(t){return t?n(t).getAlpha():0},o.addOpacity=function(t,e){var r=n(t).toRgb();return"rgba("+Math.round(r.r)+", "+Math.round(r.g)+", "+Math.round(r.b)+", "+e+")"},o.combine=function(t,e){var r=n(t).toRgb();if(1===r.a)return n(t).toRgbString();var i=n(e||c).toRgb(),a=1===i.a?i:{r:255*(1-i.a)+i.r*i.a,g:255*(1-i.a)+i.g*i.a,b:255*(1-i.a)+i.b*i.a},o={r:a.r*(1-r.a)+r.r*r.a,g:a.g*(1-r.a)+r.g*r.a,b:a.b*(1-r.a)+r.b*r.a};return n(o).toRgbString()},o.interpolate=function(t,e,r){var i=n(t).toRgb(),a=n(e).toRgb(),o={r:r*i.r+(1-r)*a.r,g:r*i.g+(1-r)*a.g,b:r*i.b+(1-r)*a.b};return n(o).toRgbString()},o.contrast=function(t,e,r){var i=n(t);return 1!==i.getAlpha()&&(i=n(o.combine(t,c))),(i.isDark()?e?i.lighten(e):c:r?i.darken(r):l).toString()},o.stroke=function(t,e){var r=n(e);t.style({stroke:o.tinyRGB(r),"stroke-opacity":r.getAlpha()})},o.fill=function(t,e){var r=n(e);t.style({fill:o.tinyRGB(r),"fill-opacity":r.getAlpha()})},o.clean=function(t){if(t&&"object"==typeof t){var e,r,n,i,s=Object.keys(t);for(e=0;e0?n>=l:n<=l));i++)n>u&&n0?n>=l:n<=l));i++)n>r[0]&&n1){var pt=Math.pow(10,Math.floor(Math.log(ft)/Math.LN10));ut*=pt*c.roundUp(ft/pt,[2,5,10]),(Math.abs(Z.start)/Z.size+1e-6)%1<2e-6&&(lt.tick0=0)}lt.dtick=ut}lt.domain=o?[ot+P/B.h,ot+Q-P/B.h]:[ot+I/B.w,ot+Q-I/B.w],lt.setScale(),t.attr("transform",u(Math.round(B.l),Math.round(B.t)));var dt,mt=t.select("."+A.cbtitleunshift).attr("transform",u(-Math.round(B.l),-Math.round(B.t))),gt=lt.ticklabelposition,yt=lt.title.font.size,vt=t.select("."+A.cbaxis),xt=0,_t=0;function bt(n,i){var a={propContainer:lt,propName:e._propPrefix+"title",traceIndex:e._traceIndex,_meta:e._meta,placeholder:F._dfltTitle.colorbar,containerGroup:t.select("."+A.cbtitle)},o="h"===n.charAt(0)?n.substr(1):"h"+n;t.selectAll("."+o+",."+o+"-math-group").remove(),m.draw(r,n,h(a,i||{}))}return c.syncOrAsync([a.previousPromises,function(){var t,e;(o&&ct||!o&&!ct)&&("top"===V&&(t=I+B.l+tt*z,e=P+B.t+et*(1-ot-Q)+3+.75*yt),"bottom"===V&&(t=I+B.l+tt*z,e=P+B.t+et*(1-ot)-3-.25*yt),"right"===V&&(e=P+B.t+et*O+3+.75*yt,t=I+B.l+tt*ot),bt(lt._id+"title",{attributes:{x:t,y:e,"text-anchor":o?"start":"middle"}}))},function(){if(!o&&!ct||o&&ct){var a,l=t.select("."+A.cbtitle),h=l.select("text"),f=[-M/2,M/2],d=l.select(".h"+lt._id+"title-math-group").node(),m=15.6;if(h.node()&&(m=parseInt(h.node().style.fontSize,10)*w),d?(a=p.bBox(d),_t=a.width,(xt=a.height)>m&&(f[1]-=(xt-m)/2)):h.node()&&!h.classed(A.jsPlaceholder)&&(a=p.bBox(h.node()),_t=a.width,xt=a.height),o){if(xt){if(xt+=5,"top"===V)lt.domain[1]-=xt/B.h,f[1]*=-1;else{lt.domain[0]+=xt/B.h;var y=g.lineCount(h);f[1]+=(1-y)*m}l.attr("transform",u(f[0],f[1])),lt.setScale()}}else _t&&("right"===V&&(lt.domain[0]+=(_t+yt/2)/B.w),l.attr("transform",u(f[0],f[1])),lt.setScale())}t.selectAll("."+A.cbfills+",."+A.cblines).attr("transform",o?u(0,Math.round(B.h*(1-lt.domain[1]))):u(Math.round(B.w*lt.domain[0]),0)),vt.attr("transform",o?u(0,Math.round(-B.t)):u(Math.round(-B.l),0));var v=t.select("."+A.cbfills).selectAll("rect."+A.cbfill).attr("style","").data(Y);v.enter().append("rect").classed(A.cbfill,!0).attr("style",""),v.exit().remove();var x=q.map(lt.c2p).map(Math.round).sort((function(t,e){return t-e}));v.each((function(t,a){var s=[0===a?q[0]:(Y[a]+Y[a-1])/2,a===Y.length-1?q[1]:(Y[a]+Y[a+1])/2].map(lt.c2p).map(Math.round);o&&(s[1]=c.constrain(s[1]+(s[1]>s[0])?1:-1,x[0],x[1]));var l=n.select(this).attr(o?"x":"y",rt).attr(o?"y":"x",n.min(s)).attr(o?"width":"height",Math.max($,2)).attr(o?"height":"width",Math.max(n.max(s)-n.min(s),2));if(e._fillgradient)p.gradient(l,r,e._id,o?"vertical":"horizontalreversed",e._fillgradient,"fill");else{var u=G(t).replace("e-","");l.attr("fill",i(u).toHexString())}}));var _=t.select("."+A.cblines).selectAll("path."+A.cbline).data(j.color&&j.width?X:[]);_.enter().append("path").classed(A.cbline,!0),_.exit().remove(),_.each((function(t){var e=rt,r=Math.round(lt.c2p(t))+j.width/2%1;n.select(this).attr("d","M"+(o?e+","+r:r+","+e)+(o?"h":"v")+$).call(p.lineGroupStyle,j.width,H(t),j.dash)})),vt.selectAll("g."+lt._id+"tick,path").remove();var b=rt+$+(M||0)/2-("outside"===e.ticks?1:0),T=s.calcTicks(lt),k=s.getTickSigns(lt)[2];return s.drawTicks(r,lt,{vals:"inside"===lt.ticks?s.clipEnds(lt,T):T,layer:vt,path:s.makeTickPath(lt,b,k),transFn:s.makeTransTickFn(lt)}),s.drawLabels(r,lt,{vals:T,layer:vt,transFn:s.makeTransTickLabelFn(lt),labelFns:s.makeLabelFns(lt,b)})},function(){if(o&&!ct||!o&&ct){var t,i,a=lt.position||0,s=lt._offset+lt._length/2;if("right"===V)i=s,t=B.l+tt*a+10+yt*(lt.showticklabels?1:.5);else if(t=s,"bottom"===V&&(i=B.t+et*a+10+(-1===gt.indexOf("inside")?lt.tickfont.size:0)+("intside"!==lt.ticks&&e.ticklen||0)),"top"===V){var l=U.text.split("
").length;i=B.t+et*a+10-$-w*yt*l}bt((o?"h":"v")+lt._id+"title",{avoid:{selection:n.select(r).selectAll("g."+lt._id+"tick"),side:V,offsetTop:o?0:B.t,offsetLeft:o?B.l:0,maxShift:o?F.width:F.height},attributes:{x:t,y:i,"text-anchor":"middle"},transform:{rotate:o?-90:0,offset:0}})}},a.previousPromises,function(){var n,s=$+M/2;-1===gt.indexOf("inside")&&(n=p.bBox(vt.node()),s+=o?n.width:n.height),dt=mt.select("text");var c=0,h=o&&"top"===V,m=!o&&"right"===V,g=0;if(dt.node()&&!dt.classed(A.jsPlaceholder)){var v,x=mt.select(".h"+lt._id+"title-math-group").node();x&&(o&&ct||!o&&!ct)?(c=(n=p.bBox(x)).width,v=n.height):(c=(n=p.bBox(mt.node())).right-B.l-(o?rt:st),v=n.bottom-B.t-(o?st:rt),o||"top"!==V||(s+=n.height,g=n.height)),m&&(dt.attr("transform",u(c/2+yt/2,0)),c*=2),s=Math.max(s,o?c:v)}var _=2*(o?I:P)+s+S+M/2,w=0;!o&&U.text&&"bottom"===L&&O<=0&&(_+=w=_/2,g+=w),F._hColorbarMoveTitle=w,F._hColorbarMoveCBTitle=g;var N=S+M,j=(o?rt:st)-N/2-(o?I:0),q=(o?st:rt)-(o?K:P+g-w);t.select("."+A.cbbg).attr("x",j).attr("y",q).attr(o?"width":"height",Math.max(_-w,2)).attr(o?"height":"width",Math.max(K+N,2)).call(d.fill,E).call(d.stroke,e.bordercolor).style("stroke-width",S);var H=m?Math.max(c-10,0):0;t.selectAll("."+A.cboutline).attr("x",(o?rt:st+I)+H).attr("y",(o?st+P-K:rt)+(h?xt:0)).attr(o?"width":"height",Math.max($,2)).attr(o?"height":"width",Math.max(K-(o?2*P+xt:2*I+H),2)).call(d.stroke,e.outlinecolor).style({fill:"none","stroke-width":M});var G=o?nt*_:0,Z=o?0:(1-it)*_-g;if(G=R?B.l-G:-G,Z=D?B.t-Z:-Z,t.attr("transform",u(G,Z)),!o&&(S||i(E).getAlpha()&&!i.equals(F.paper_bgcolor,E))){var W=vt.selectAll("text"),Y=W[0].length,X=t.select("."+A.cbbg).node(),J=p.bBox(X),Q=p.getTranslate(t);W.each((function(t,e){var r=Y-1;if(0===e||e===r){var n,i=p.bBox(this),a=p.getTranslate(this);if(e===r){var o=i.right+a.x;(n=J.right+Q.x+st-S-2+z-o)>0&&(n=0)}else if(0===e){var s=i.left+a.x;(n=J.left+Q.x+st+S+2-s)<0&&(n=0)}n&&(Y<3?this.setAttribute("transform","translate("+n+",0) "+this.getAttribute("transform")):this.setAttribute("visibility","hidden"))}}))}var tt={},et=T[C],at=k[C],ot=T[L],ut=k[L],ht=_-$;o?("pixels"===f?(tt.y=O,tt.t=K*ot,tt.b=K*ut):(tt.t=tt.b=0,tt.yt=O+l*ot,tt.yb=O-l*ut),"pixels"===b?(tt.x=z,tt.l=_*et,tt.r=_*at):(tt.l=ht*et,tt.r=ht*at,tt.xl=z-y*et,tt.xr=z+y*at)):("pixels"===f?(tt.x=z,tt.l=K*et,tt.r=K*at):(tt.l=tt.r=0,tt.xl=z+l*et,tt.xr=z-l*at),"pixels"===b?(tt.y=1-O,tt.t=_*ot,tt.b=_*ut):(tt.t=ht*ot,tt.b=ht*ut,tt.yt=O-y*ot,tt.yb=O+y*ut));var ft=e.y<.5?"b":"t",pt=e.x<.5?"l":"r";r._fullLayout._reservedMargin[e._id]={};var _t={r:F.width-j-G,l:j+tt.r,b:F.height-q-Z,t:q+tt.b};R&&D?a.autoMargin(r,e._id,tt):R?r._fullLayout._reservedMargin[e._id][ft]=_t[ft]:D||o?r._fullLayout._reservedMargin[e._id][pt]=_t[pt]:r._fullLayout._reservedMargin[e._id][ft]=_t[ft]}],r)}(r,e,t);y&&y.then&&(t._promises||[]).push(y),t._context.edits.colorbarPosition&&function(t,e,r){var n,i,a,s="v"===e.orientation,c=r._fullLayout._size;l.init({element:t.node(),gd:r,prepFn:function(){n=t.attr("transform"),f(t)},moveFn:function(r,o){t.attr("transform",n+u(r,o)),i=l.align((s?e._uFrac:e._vFrac)+r/c.w,s?e._thickFrac:e._lenFrac,0,1,e.xanchor),a=l.align((s?e._vFrac:1-e._uFrac)-o/c.h,s?e._lenFrac:e._thickFrac,0,1,e.yanchor);var h=l.getCursor(i,a,e.xanchor,e.yanchor);f(t,h)},doneFn:function(){if(f(t),void 0!==i&&void 0!==a){var n={};n[e._propPrefix+"x"]=i,n[e._propPrefix+"y"]=a,void 0!==e._traceIndex?o.call("_guiRestyle",r,n,e._traceIndex):o.call("_guiRelayout",r,n)}}})}(r,e,t)})),e.exit().each((function(e){a.autoMargin(t,e._id)})).remove(),e.order()}}},91362:function(t,e,r){"use strict";var n=r(34809);t.exports=function(t){return n.isPlainObject(t.colorbar)}},96919:function(t,e,r){"use strict";t.exports={moduleType:"component",name:"colorbar",attributes:r(25158),supplyDefaults:r(42097),draw:r(5881).draw,hasColorbar:r(91362)}},87163:function(t,e,r){"use strict";var n=r(25158),i=r(90694).counter,a=r(62994),o=r(19017).scales;function s(t){return"`"+t+"`"}a(o),t.exports=function(t,e){t=t||"";var r,a=(e=e||{}).cLetter||"c",l=("onlyIfNumerical"in e?e.onlyIfNumerical:Boolean(t),"noScale"in e?e.noScale:"marker.line"===t),c="showScaleDflt"in e?e.showScaleDflt:"z"===a,u="string"==typeof e.colorscaleDflt?o[e.colorscaleDflt]:null,h=e.editTypeOverride||"",f=t?t+".":"";"colorAttr"in e?(r=e.colorAttr,e.colorAttr):s(f+(r={z:"z",c:"color"}[a]));var p=a+"auto",d=a+"min",m=a+"max",g=a+"mid",y=(s(f+p),s(f+d),s(f+m),{});y[d]=y[m]=void 0;var v={};v[p]=!1;var x={};return"color"===r&&(x.color={valType:"color",arrayOk:!0,editType:h||"style"},e.anim&&(x.color.anim=!0)),x[p]={valType:"boolean",dflt:!0,editType:"calc",impliedEdits:y},x[d]={valType:"number",dflt:null,editType:h||"plot",impliedEdits:v},x[m]={valType:"number",dflt:null,editType:h||"plot",impliedEdits:v},x[g]={valType:"number",dflt:null,editType:"calc",impliedEdits:y},x.colorscale={valType:"colorscale",editType:"calc",dflt:u,impliedEdits:{autocolorscale:!1}},x.autocolorscale={valType:"boolean",dflt:!1!==e.autoColorDflt,editType:"calc",impliedEdits:{colorscale:void 0}},x.reversescale={valType:"boolean",dflt:!1,editType:"plot"},l||(x.showscale={valType:"boolean",dflt:c,editType:"calc"},x.colorbar=n),e.noColorAxis||(x.coloraxis={valType:"subplotid",regex:i("coloraxis"),dflt:null,editType:"calc"}),x}},28379:function(t,e,r){"use strict";var n=r(10721),i=r(34809),a=r(65477).extractOpts;t.exports=function(t,e,r){var o,s=t._fullLayout,l=r.vals,c=r.containerStr,u=c?i.nestedProperty(e,c).get():e,h=a(u),f=!1!==h.auto,p=h.min,d=h.max,m=h.mid,g=function(){return i.aggNums(Math.min,null,l)},y=function(){return i.aggNums(Math.max,null,l)};void 0===p?p=g():f&&(p=u._colorAx&&n(p)?Math.min(p,g()):g()),void 0===d?d=y():f&&(d=u._colorAx&&n(d)?Math.max(d,y()):y()),f&&void 0!==m&&(d-m>m-p?p=m-(d-m):d-m=0?s.colorscale.sequential:s.colorscale.sequentialminus,h._sync("colorscale",o))}},67623:function(t,e,r){"use strict";var n=r(34809),i=r(65477).hasColorscale,a=r(65477).extractOpts;t.exports=function(t,e){function r(t,e){var r=t["_"+e];void 0!==r&&(t[e]=r)}function o(t,i){var o=i.container?n.nestedProperty(t,i.container).get():t;if(o)if(o.coloraxis)o._colorAx=e[o.coloraxis];else{var s=a(o),l=s.auto;(l||void 0===s.min)&&r(o,i.min),(l||void 0===s.max)&&r(o,i.max),s.autocolorscale&&r(o,"colorscale")}}for(var s=0;s=0;n--,i++){var a=t[n];r[i]=[1-a[0],a[1]]}return r}function d(t,e){e=e||{};for(var r=t.domain,o=t.range,l=o.length,c=new Array(l),u=0;u4/3-s?o:s}},4001:function(t,e,r){"use strict";var n=r(34809),i=[["sw-resize","s-resize","se-resize"],["w-resize","move","e-resize"],["nw-resize","n-resize","ne-resize"]];t.exports=function(t,e,r,a){return t="left"===r?0:"center"===r?1:"right"===r?2:n.constrain(Math.floor(3*t),0,2),e="bottom"===a?0:"middle"===a?1:"top"===a?2:n.constrain(Math.floor(3*e),0,2),i[e][t]}},70414:function(t,e){"use strict";e.selectMode=function(t){return"lasso"===t||"select"===t},e.drawMode=function(t){return"drawclosedpath"===t||"drawopenpath"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.openMode=function(t){return"drawline"===t||"drawopenpath"===t},e.rectMode=function(t){return"select"===t||"drawline"===t||"drawrect"===t||"drawcircle"===t},e.freeMode=function(t){return"lasso"===t||"drawclosedpath"===t||"drawopenpath"===t},e.selectingOrDrawing=function(t){return e.freeMode(t)||e.rectMode(t)}},14751:function(t,e,r){"use strict";var n=r(44039),i=r(39784),a=r(74043),o=r(34809).removeElement,s=r(54826),l=t.exports={};l.align=r(53770),l.getCursor=r(4001);var c=r(60148);function u(){var t=document.createElement("div");t.className="dragcover";var e=t.style;return e.position="fixed",e.left=0,e.right=0,e.top=0,e.bottom=0,e.zIndex=999999999,e.background="none",document.body.appendChild(t),t}function h(t){return n(t.changedTouches?t.changedTouches[0]:t,document.body)}l.unhover=c.wrapped,l.unhoverRaw=c.raw,l.init=function(t){var e,r,n,c,f,p,d,m,g=t.gd,y=1,v=g._context.doubleClickDelay,x=t.element;g._mouseDownTime||(g._mouseDownTime=0),x.style.pointerEvents="all",x.onmousedown=b,a?(x._ontouchstart&&x.removeEventListener("touchstart",x._ontouchstart),x._ontouchstart=b,x.addEventListener("touchstart",b,{passive:!1})):x.ontouchstart=b;var _=t.clampFn||function(t,e,r){return Math.abs(t)v&&(y=Math.max(y-1,1)),g._dragged)t.doneFn&&t.doneFn();else if(t.clickFn&&t.clickFn(y,p),!m){var r;try{r=new MouseEvent("click",e)}catch(t){var n=h(e);(r=document.createEvent("MouseEvents")).initMouseEvent("click",e.bubbles,e.cancelable,e.view,e.detail,e.screenX,e.screenY,n[0],n[1],e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget)}d.dispatchEvent(r)}g._dragging=!1,g._dragged=!1}else g._dragged=!1}},l.coverSlip=u},60148:function(t,e,r){"use strict";var n=r(68596),i=r(64025),a=r(95425).getGraphDiv,o=r(85988),s=t.exports={};s.wrapped=function(t,e,r){(t=a(t))._fullLayout&&i.clear(t._fullLayout._uid+o.HOVERID),s.raw(t,e,r)},s.raw=function(t,e){var r=t._fullLayout,i=t._hoverdata;e||(e={}),e.target&&!t._dragged&&!1===n.triggerHandler(t,"plotly_beforehover",e)||(r._hoverlayer.selectAll("g").remove(),r._hoverlayer.selectAll("line").remove(),r._hoverlayer.selectAll("circle").remove(),t._hoverdata=void 0,e.target&&i&&t.emit("plotly_unhover",{event:e,points:i}))}},94850:function(t,e){"use strict";e.T={valType:"string",values:["solid","dot","dash","longdash","dashdot","longdashdot"],dflt:"solid",editType:"style"},e.k={shape:{valType:"enumerated",values:["","/","\\","x","-","|","+","."],dflt:"",arrayOk:!0,editType:"style"},fillmode:{valType:"enumerated",values:["replace","overlay"],dflt:"replace",editType:"style"},bgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgcolor:{valType:"color",arrayOk:!0,editType:"style"},fgopacity:{valType:"number",editType:"style",min:0,max:1},size:{valType:"number",min:0,dflt:8,arrayOk:!0,editType:"style"},solidity:{valType:"number",min:0,max:1,dflt:.3,arrayOk:!0,editType:"style"},editType:"style"}},62203:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=i.numberFormat,o=r(10721),s=r(65657),l=r(33626),c=r(78766),u=r(88856),h=i.strTranslate,f=r(30635),p=r(62972),d=r(4530).LINE_SPACING,m=r(20438).DESELECTDIM,g=r(64726),y=r(92527),v=r(36040).appendArrayPointValue,x=t.exports={};function _(t){return"none"===t?void 0:t}x.font=function(t,e){var r=e.variant,n=e.style,i=e.weight,a=e.color,o=e.size,s=e.family,l=e.shadow,u=e.lineposition,h=e.textcase;s&&t.style("font-family",s),o+1&&t.style("font-size",o+"px"),a&&t.call(c.fill,a),i&&t.style("font-weight",i),n&&t.style("font-style",n),r&&t.style("font-variant",r),h&&t.style("text-transform",_(function(t){return b[t]}(h))),l&&t.style("text-shadow","auto"===l?f.makeTextShadow(c.contrast(a)):_(l)),u&&t.style("text-decoration-line",_(function(t){return t.replace("under","underline").replace("over","overline").replace("through","line-through").split("+").join(" ")}(u)))};var b={normal:"none",lower:"lowercase",upper:"uppercase","word caps":"capitalize"};function w(t,e,r,n){var i=e.fillpattern,a=e.fillgradient,o=i&&x.getPatternAttr(i.shape,0,"");if(o){var s=x.getPatternAttr(i.bgcolor,0,null),l=x.getPatternAttr(i.fgcolor,0,null),u=i.fgopacity,h=x.getPatternAttr(i.size,0,8),f=x.getPatternAttr(i.solidity,0,.3),p=e.uid;x.pattern(t,"point",r,p,o,h,f,void 0,i.fillmode,s,l,u)}else if(a&&"none"!==a.type){var d,m,g=a.type,y="scatterfill-"+e.uid;n&&(y="legendfill-"+e.uid),n||void 0===a.start&&void 0===a.stop?("horizontal"===g&&(g+="reversed"),t.call(x.gradient,r,y,g,a.colorscale,"fill")):("horizontal"===g?(d={x:a.start,y:0},m={x:a.stop,y:0}):"vertical"===g&&(d={x:0,y:a.start},m={x:0,y:a.stop}),d.x=e._xA.c2p(void 0===d.x?e._extremes.x.min[0].val:d.x,!0),d.y=e._yA.c2p(void 0===d.y?e._extremes.y.min[0].val:d.y,!0),m.x=e._xA.c2p(void 0===m.x?e._extremes.x.max[0].val:m.x,!0),m.y=e._yA.c2p(void 0===m.y?e._extremes.y.max[0].val:m.y,!0),t.call(E,r,y,"linear",a.colorscale,"fill",d,m,!0,!1))}else e.fillcolor&&t.call(c.fill,e.fillcolor)}x.setPosition=function(t,e,r){t.attr("x",e).attr("y",r)},x.setSize=function(t,e,r){t.attr("width",e).attr("height",r)},x.setRect=function(t,e,r,n,i){t.call(x.setPosition,e,r).call(x.setSize,n,i)},x.translatePoint=function(t,e,r,n){var i=r.c2p(t.x),a=n.c2p(t.y);return!!(o(i)&&o(a)&&e.node())&&("text"===e.node().nodeName?e.attr("x",i).attr("y",a):e.attr("transform",h(i,a)),!0)},x.translatePoints=function(t,e,r){t.each((function(t){var i=n.select(this);x.translatePoint(t,i,e,r)}))},x.hideOutsideRangePoint=function(t,e,r,n,i,a){e.attr("display",r.isPtWithinRange(t,i)&&n.isPtWithinRange(t,a)?null:"none")},x.hideOutsideRangePoints=function(t,e){if(e._hasClipOnAxisFalse){var r=e.xaxis,i=e.yaxis;t.each((function(e){var a=e[0].trace,o=a.xcalendar,s=a.ycalendar,c=l.traceIs(a,"bar-like")?".bartext":".point,.textpoint";t.selectAll(c).each((function(t){x.hideOutsideRangePoint(t,n.select(this),r,i,o,s)}))}))}},x.crispRound=function(t,e,r){return e&&o(e)?t._context.staticPlot?e:e<1?1:Math.round(e):r||0},x.singleLineStyle=function(t,e,r,n,i){e.style("fill","none");var a=(((t||[])[0]||{}).trace||{}).line||{},o=r||a.width||0,s=i||a.dash||"";c.stroke(e,n||a.color),x.dashLine(e,s,o)},x.lineGroupStyle=function(t,e,r,i){t.style("fill","none").each((function(t){var a=(((t||[])[0]||{}).trace||{}).line||{},o=e||a.width||0,s=i||a.dash||"";n.select(this).call(c.stroke,r||a.color).call(x.dashLine,s,o)}))},x.dashLine=function(t,e,r){r=+r||0,e=x.dashStyle(e,r),t.style({"stroke-dasharray":e,"stroke-width":r+"px"})},x.dashStyle=function(t,e){e=+e||1;var r=Math.max(e,3);return"solid"===t?t="":"dot"===t?t=r+"px,"+r+"px":"dash"===t?t=3*r+"px,"+3*r+"px":"longdash"===t?t=5*r+"px,"+5*r+"px":"dashdot"===t?t=3*r+"px,"+r+"px,"+r+"px,"+r+"px":"longdashdot"===t&&(t=5*r+"px,"+2*r+"px,"+r+"px,"+2*r+"px"),t},x.singleFillStyle=function(t,e){var r=n.select(t.node());w(t,((r.data()[0]||[])[0]||{}).trace||{},e,!1)},x.fillGroupStyle=function(t,e,r){t.style("stroke-width",0).each((function(t){var i=n.select(this);t[0].trace&&w(i,t[0].trace,e,r)}))};var T=r(38882);x.symbolNames=[],x.symbolFuncs=[],x.symbolBackOffs=[],x.symbolNeedLines={},x.symbolNoDot={},x.symbolNoFill={},x.symbolList=[],Object.keys(T).forEach((function(t){var e=T[t],r=e.n;x.symbolList.push(r,String(r),t,r+100,String(r+100),t+"-open"),x.symbolNames[r]=t,x.symbolFuncs[r]=e.f,x.symbolBackOffs[r]=e.backoff||0,e.needLine&&(x.symbolNeedLines[r]=!0),e.noDot?x.symbolNoDot[r]=!0:x.symbolList.push(r+200,String(r+200),t+"-dot",r+300,String(r+300),t+"-open-dot"),e.noFill&&(x.symbolNoFill[r]=!0)}));var k=x.symbolNames.length;function A(t,e,r,n){var i=t%100;return x.symbolFuncs[i](e,r,n)+(t>=200?"M0,0.5L0.5,0L0,-0.5L-0.5,0Z":"")}x.symbolNumber=function(t){if(o(t))t=+t;else if("string"==typeof t){var e=0;t.indexOf("-open")>0&&(e=100,t=t.replace("-open","")),t.indexOf("-dot")>0&&(e+=200,t=t.replace("-dot","")),(t=x.symbolNames.indexOf(t))>=0&&(t+=e)}return t%100>=k||t>=400?0:Math.floor(Math.max(t,0))};var M=a("~f"),S={radial:{type:"radial"},radialreversed:{type:"radial",reversed:!0},horizontal:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0}},horizontalreversed:{type:"linear",start:{x:1,y:0},stop:{x:0,y:0},reversed:!0},vertical:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0}},verticalreversed:{type:"linear",start:{x:0,y:1},stop:{x:0,y:0},reversed:!0}};function E(t,e,r,a,o,l,u,h,f,p){var d,m=o.length;"linear"===a?d={node:"linearGradient",attrs:{x1:u.x,y1:u.y,x2:h.x,y2:h.y,gradientUnits:f?"userSpaceOnUse":"objectBoundingBox"},reversed:p}:"radial"===a&&(d={node:"radialGradient",reversed:p});for(var g=new Array(m),y=0;y=0&&void 0===t.i&&(t.i=o.i),e.style("opacity",n.selectedOpacityFn?n.selectedOpacityFn(t):void 0===t.mo?s.opacity:t.mo),n.ms2mrc){var u;u="various"===t.ms||"various"===s.size?3:n.ms2mrc(t.ms),t.mrc=u,n.selectedSizeFn&&(u=t.mrc=n.selectedSizeFn(t));var h=x.symbolNumber(t.mx||s.symbol)||0;t.om=h%200>=100;var f=nt(t,r),p=Z(t,r);e.attr("d",A(h,u,f,p))}var d,m,g,y=!1;if(t.so)g=l.outlierwidth,m=l.outliercolor,d=s.outliercolor;else{var v=(l||{}).width;g=(t.mlw+1||v+1||(t.trace?(t.trace.marker.line||{}).width:0)+1)-1||0,m="mlc"in t?t.mlcc=n.lineScale(t.mlc):i.isArrayOrTypedArray(l.color)?c.defaultLine:l.color,i.isArrayOrTypedArray(s.color)&&(d=c.defaultLine,y=!0),d="mc"in t?t.mcc=n.markerScale(t.mc):s.color||s.colors||"rgba(0,0,0,0)",n.selectedColorFn&&(d=n.selectedColorFn(t))}if(t.om)e.call(c.stroke,d).style({"stroke-width":(g||1)+"px",fill:"none"});else{e.style("stroke-width",(t.isBlank?0:g)+"px");var _=s.gradient,b=t.mgt;b?y=!0:b=_&&_.type,i.isArrayOrTypedArray(b)&&(b=b[0],S[b]||(b=0));var w=s.pattern,T=w&&x.getPatternAttr(w.shape,t.i,"");if(b&&"none"!==b){var k=t.mgc;k?y=!0:k=_.color;var M=r.uid;y&&(M+="-"+t.i),x.gradient(e,a,M,b,[[0,k],[1,d]],"fill")}else if(T){var E=!1,C=w.fgcolor;!C&&o&&o.color&&(C=o.color,E=!0);var L=x.getPatternAttr(C,t.i,o&&o.color||null),I=x.getPatternAttr(w.bgcolor,t.i,null),P=w.fgopacity,z=x.getPatternAttr(w.size,t.i,8),O=x.getPatternAttr(w.solidity,t.i,.3);E=E||t.mcc||i.isArrayOrTypedArray(w.shape)||i.isArrayOrTypedArray(w.bgcolor)||i.isArrayOrTypedArray(w.fgcolor)||i.isArrayOrTypedArray(w.size)||i.isArrayOrTypedArray(w.solidity);var D=r.uid;E&&(D+="-"+t.i),x.pattern(e,"point",a,D,T,z,O,t.mcc,w.fillmode,I,L,P)}else i.isArrayOrTypedArray(d)?c.fill(e,d[t.i]):c.fill(e,d);g&&c.stroke(e,m)}},x.makePointStyleFns=function(t){var e={},r=t.marker;return e.markerScale=x.tryColorscale(r,""),e.lineScale=x.tryColorscale(r,"line"),l.traceIs(t,"symbols")&&(e.ms2mrc=g.isBubble(t)?y(t):function(){return(r.size||6)/2}),t.selectedpoints&&i.extendFlat(e,x.makeSelectedPointStyleFns(t)),e},x.makeSelectedPointStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},a=t.marker||{},o=r.marker||{},s=n.marker||{},c=a.opacity,u=o.opacity,h=s.opacity,f=void 0!==u,p=void 0!==h;(i.isArrayOrTypedArray(c)||f||p)&&(e.selectedOpacityFn=function(t){var e=void 0===t.mo?a.opacity:t.mo;return t.selected?f?u:e:p?h:m*e});var d=a.color,g=o.color,y=s.color;(g||y)&&(e.selectedColorFn=function(t){var e=t.mcc||d;return t.selected?g||e:y||e});var v=a.size,x=o.size,_=s.size,b=void 0!==x,w=void 0!==_;return l.traceIs(t,"symbols")&&(b||w)&&(e.selectedSizeFn=function(t){var e=t.mrc||v/2;return t.selected?b?x/2:e:w?_/2:e}),e},x.makeSelectedTextStyleFns=function(t){var e={},r=t.selected||{},n=t.unselected||{},i=t.textfont||{},a=r.textfont||{},o=n.textfont||{},s=i.color,l=a.color,u=o.color;return e.selectedTextColorFn=function(t){var e=t.tc||s;return t.selected?l||e:u||(l?e:c.addOpacity(e,m))},e},x.selectedPointStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedPointStyleFns(e),i=e.marker||{},a=[];r.selectedOpacityFn&&a.push((function(t,e){t.style("opacity",r.selectedOpacityFn(e))})),r.selectedColorFn&&a.push((function(t,e){c.fill(t,r.selectedColorFn(e))})),r.selectedSizeFn&&a.push((function(t,n){var a=n.mx||i.symbol||0,o=r.selectedSizeFn(n);t.attr("d",A(x.symbolNumber(a),o,nt(n,e),Z(n,e))),n.mrc2=o})),a.length&&t.each((function(t){for(var e=n.select(this),r=0;r0?r:0}function O(t,e,r){return r&&(t=j(t)),e?R(t[1]):D(t[0])}function D(t){var e=n.round(t,2);return C=e,e}function R(t){var e=n.round(t,2);return L=e,e}function F(t,e,r,n){var i=t[0]-e[0],a=t[1]-e[1],o=r[0]-e[0],s=r[1]-e[1],l=Math.pow(i*i+a*a,.25),c=Math.pow(o*o+s*s,.25),u=(c*c*i-l*l*o)*n,h=(c*c*a-l*l*s)*n,f=3*c*(l+c),p=3*l*(l+c);return[[D(e[0]+(f&&u/f)),R(e[1]+(f&&h/f))],[D(e[0]-(p&&u/p)),R(e[1]-(p&&h/p))]]}x.textPointStyle=function(t,e,r){if(t.size()){var a;if(e.selectedpoints){var o=x.makeSelectedTextStyleFns(e);a=o.selectedTextColorFn}var s=e.texttemplate,l=r._fullLayout;t.each((function(t){var o=n.select(this),c=s?i.extractOption(t,e,"txt","texttemplate"):i.extractOption(t,e,"tx","text");if(c||0===c){if(s){var u=e._module.formatLabels,h=u?u(t,e,l):{},p={};v(p,e,t.i);var d=e._meta||{};c=i.texttemplateString(c,h,l._d3locale,p,t,d)}var m=t.tp||e.textposition,g=z(t,e),y=a?a(t):t.tc||e.textfont.color;o.call(x.font,{family:t.tf||e.textfont.family,weight:t.tw||e.textfont.weight,style:t.ty||e.textfont.style,variant:t.tv||e.textfont.variant,textcase:t.tC||e.textfont.textcase,lineposition:t.tE||e.textfont.lineposition,shadow:t.tS||e.textfont.shadow,size:g,color:y}).text(c).call(f.convertToTspans,r).call(P,m,g,t.mrc)}else o.remove()}))}},x.selectedTextStyle=function(t,e){if(t.size()&&e.selectedpoints){var r=x.makeSelectedTextStyleFns(e);t.each((function(t){var i=n.select(this),a=r.selectedTextColorFn(t),o=t.tp||e.textposition,s=z(t,e);c.fill(i,a);var u=l.traceIs(e,"bar-like");P(i,o,s,t.mrc2||t.mrc,u)}))}},x.smoothopen=function(t,e){if(t.length<3)return"M"+t.join("L");var r,n="M"+t[0],i=[];for(r=1;r=c||w>=h&&w<=c)&&(T<=f&&T>=u||T>=f&&T<=u)&&(t=[w,T])}return t}x.steps=function(t){var e=B[t]||N;return function(t){for(var r="M"+D(t[0][0])+","+R(t[0][1]),n=t.length,i=1;i=1e4&&(x.savedBBoxes={},U=0),r&&(x.savedBBoxes[r]=g),U++,i.extendFlat({},g)},x.setClipUrl=function(t,e,r){t.attr("clip-path",q(e,r))},x.getTranslate=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\btranslate\((-?\d*\.?\d*)[^-\d]*(-?\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||0,y:+e[1]||0}},x.setTranslate=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||0,r=r||0,a=a.replace(/(\btranslate\(.*?\);?)/,"").trim(),a=(a+=h(e,r)).trim(),t[i]("transform",a),a},x.getScale=function(t){var e=(t[t.attr?"attr":"getAttribute"]("transform")||"").replace(/.*\bscale\((\d*\.?\d*)[^\d]*(\d*\.?\d*)[^\d].*/,(function(t,e,r){return[e,r].join(" ")})).split(" ");return{x:+e[0]||1,y:+e[1]||1}},x.setScale=function(t,e,r){var n=t.attr?"attr":"getAttribute",i=t.attr?"attr":"setAttribute",a=t[n]("transform")||"";return e=e||1,r=r||1,a=a.replace(/(\bscale\(.*?\);?)/,"").trim(),a=(a+="scale("+e+","+r+")").trim(),t[i]("transform",a),a};var H=/\s*sc.*/;x.setPointGroupScale=function(t,e,r){if(e=e||1,r=r||1,t){var n=1===e&&1===r?"":"scale("+e+","+r+")";t.each((function(){var t=(this.getAttribute("transform")||"").replace(H,"");t=(t+=n).trim(),this.setAttribute("transform",t)}))}};var G=/translate\([^)]*\)\s*$/;function Z(t,e){var r;return t&&(r=t.mf),void 0===r&&(r=e.marker&&e.marker.standoff||0),e._geo||e._xA?r:-r}x.setTextPointsScale=function(t,e,r){t&&t.each((function(){var t,i=n.select(this),a=i.select("text");if(a.node()){var o=parseFloat(a.attr("x")||0),s=parseFloat(a.attr("y")||0),l=(i.attr("transform")||"").match(G);t=1===e&&1===r?[]:[h(o,s),"scale("+e+","+r+")",h(-o,-s)],l&&t.push(l),i.attr("transform",t.join(""))}}))},x.getMarkerStandoff=Z;var W,Y,X,$,J,K,Q=Math.atan2,tt=Math.cos,et=Math.sin;function rt(t,e){var r=e[0],n=e[1];return[r*tt(t)-n*et(t),r*et(t)+n*tt(t)]}function nt(t,e){var r,n,a=t.ma;void 0===a&&((a=e.marker.angle)&&!i.isArrayOrTypedArray(a)||(a=0));var s=e.marker.angleref;if("previous"===s||"north"===s){if(e._geo){var l=e._geo.project(t.lonlat);r=l[0],n=l[1]}else{var c=e._xA,u=e._yA;if(!c||!u)return 90;r=c.c2p(t.x),n=u.c2p(t.y)}if(e._geo){var h,f=t.lonlat[0],p=t.lonlat[1],d=e._geo.project([f,p+1e-5]),m=e._geo.project([f+1e-5,p]),g=Q(m[1]-n,m[0]-r),y=Q(d[1]-n,d[0]-r);if("north"===s)h=a/180*Math.PI;else if("previous"===s){var v=f/180*Math.PI,x=p/180*Math.PI,_=W/180*Math.PI,b=Y/180*Math.PI,w=_-v,T=tt(b)*et(w),k=et(b)*tt(x)-tt(b)*et(x)*tt(w);h=-Q(T,k)-Math.PI,W=f,Y=p}var A=rt(g,[tt(h),0]),M=rt(y,[et(h),0]);a=Q(A[1]+M[1],A[0]+M[0])/Math.PI*180,"previous"!==s||K===e.uid&&t.i===J+1||(a=null)}if("previous"===s&&!e._geo)if(K===e.uid&&t.i===J+1&&o(r)&&o(n)){var S=r-X,E=n-$,C=e.line&&e.line.shape||"",L=C.slice(C.length-1);"h"===L&&(E=0),"v"===L&&(S=0),a+=Q(E,S)/Math.PI*180+90}else a=null}return X=r,$=n,J=t.i,K=e.uid,a}x.getMarkerAngle=nt},38882:function(t,e,r){"use strict";var n,i,a,o,s=r(26953),l=r(45568).round,c="M0,0Z",u=Math.sqrt(2),h=Math.sqrt(3),f=Math.PI,p=Math.cos,d=Math.sin;function m(t){return null===t}function g(t,e,r){if(!(t&&t%360!=0||e))return r;if(a===t&&o===e&&n===r)return i;function l(t,r){var n=p(t),i=d(t),a=r[0],o=r[1]+(e||0);return[a*n-o*i,a*i+o*n]}a=t,o=e,n=r;for(var c=t/180*f,u=0,h=0,m=s(r),g="",y=0;y0,h=t._context.staticPlot;e.each((function(e){var f,p=e[0].trace,d=p.error_x||{},m=p.error_y||{};p.ids&&(f=function(t){return t.id});var g=o.hasMarkers(p)&&p.marker.maxdisplayed>0;m.visible||d.visible||(e=[]);var y=n.select(this).selectAll("g.errorbar").data(e,f);if(y.exit().remove(),e.length){d.visible||y.selectAll("path.xerror").remove(),m.visible||y.selectAll("path.yerror").remove(),y.style("opacity",1);var v=y.enter().append("g").classed("errorbar",!0);u&&v.style("opacity",0).transition().duration(s.duration).style("opacity",1),a.setClipUrl(y,r.layerClipId,t),y.each((function(t){var e=n.select(this),r=function(t,e,r){var n={x:e.c2p(t.x),y:r.c2p(t.y)};return void 0!==t.yh&&(n.yh=r.c2p(t.yh),n.ys=r.c2p(t.ys),i(n.ys)||(n.noYS=!0,n.ys=r.c2p(t.ys,!0))),void 0!==t.xh&&(n.xh=e.c2p(t.xh),n.xs=e.c2p(t.xs),i(n.xs)||(n.noXS=!0,n.xs=e.c2p(t.xs,!0))),n}(t,l,c);if(!g||t.vis){var a,o=e.select("path.yerror");if(m.visible&&i(r.x)&&i(r.yh)&&i(r.ys)){var f=m.width;a="M"+(r.x-f)+","+r.yh+"h"+2*f+"m-"+f+",0V"+r.ys,r.noYS||(a+="m-"+f+",0h"+2*f),o.size()?u&&(o=o.transition().duration(s.duration).ease(s.easing)):o=e.append("path").style("vector-effect",h?"none":"non-scaling-stroke").classed("yerror",!0),o.attr("d",a)}else o.remove();var p=e.select("path.xerror");if(d.visible&&i(r.y)&&i(r.xh)&&i(r.xs)){var y=(d.copy_ystyle?m:d).width;a="M"+r.xh+","+(r.y-y)+"v"+2*y+"m0,-"+y+"H"+r.xs,r.noXS||(a+="m0,-"+y+"v"+2*y),p.size()?u&&(p=p.transition().duration(s.duration).ease(s.easing)):p=e.append("path").style("vector-effect",h?"none":"non-scaling-stroke").classed("xerror",!0),p.attr("d",a)}else p.remove()}}))}}))}},22800:function(t,e,r){"use strict";var n=r(45568),i=r(78766);t.exports=function(t){t.each((function(t){var e=t[0].trace,r=e.error_y||{},a=e.error_x||{},o=n.select(this);o.selectAll("path.yerror").style("stroke-width",r.thickness+"px").call(i.stroke,r.color),a.copy_ystyle&&(a=r),o.selectAll("path.xerror").style("stroke-width",a.thickness+"px").call(i.stroke,a.color)}))}},70192:function(t,e,r){"use strict";var n=r(80337),i=r(6811).hoverlabel,a=r(93049).extendFlat;t.exports={hoverlabel:{bgcolor:a({},i.bgcolor,{arrayOk:!0}),bordercolor:a({},i.bordercolor,{arrayOk:!0}),font:n({arrayOk:!0,editType:"none"}),align:a({},i.align,{arrayOk:!0}),namelength:a({},i.namelength,{arrayOk:!0}),editType:"none"}}},83552:function(t,e,r){"use strict";var n=r(34809),i=r(33626);function a(t,e,r,i){i=i||n.identity,Array.isArray(t)&&(e[0][r]=i(t))}t.exports=function(t){var e=t.calcdata,r=t._fullLayout;function o(t){return function(e){return n.coerceHoverinfo({hoverinfo:e},{_module:t._module},r)}}for(var s=0;s=0&&r.index$[0]._length||bt<0||bt>J[0]._length)return m.unhoverRaw(t,e)}else _t="xpx"in e?e.xpx:$[0]._length/2,bt="ypx"in e?e.ypx:J[0]._length/2;if(e.pointerX=_t+$[0]._offset,e.pointerY=bt+J[0]._offset,nt="xval"in e?x.flat(_,e.xval):x.p2c($,_t),it="yval"in e?x.flat(_,e.yval):x.p2c(J,bt),!i(nt[0])||!i(it[0]))return o.warn("Fx.hover failed",e,t),m.unhoverRaw(t,e)}var At=1/0;function Mt(r,n){for(ot=0;otmt&&(gt.splice(0,mt),At=gt[0].distance),M&&0!==rt&&0===gt.length){dt.distance=rt,dt.index=!1;var u=lt._module.hoverPoints(dt,ft,pt,"closest",{hoverLayer:b._hoverlayer});if(u&&(u=u.filter((function(t){return t.spikeDistance<=rt}))),u&&u.length){var h,f=u.filter((function(t){return t.xa.showspikes&&"hovered data"!==t.xa.spikesnap}));if(f.length){var p=f[0];i(p.x0)&&i(p.y0)&&(h=Et(p),(!vt.vLinePoint||vt.vLinePoint.spikeDistance>h.spikeDistance)&&(vt.vLinePoint=h))}var m=u.filter((function(t){return t.ya.showspikes&&"hovered data"!==t.ya.spikesnap}));if(m.length){var g=m[0];i(g.x0)&&i(g.y0)&&(h=Et(g),(!vt.hLinePoint||vt.hLinePoint.spikeDistance>h.spikeDistance)&&(vt.hLinePoint=h))}}}}}function St(t,e,r){for(var n,i=null,a=1/0,o=0;o0&&Math.abs(t.distance)Nt-1;jt--)Ht(gt[jt]);gt=Ut,Pt()}var Gt=t._hoverdata,Zt=[],Wt=H(t),Yt=G(t);for(at=0;at1||gt.length>1)||"closest"===S&&xt&>.length>1,se=d.combine(b.plot_bgcolor||d.background,b.paper_bgcolor),le=D(gt,{gd:t,hovermode:S,rotateLabels:oe,bgColor:se,container:b._hoverlayer,outerContainer:b._paper.node(),commonLabelOpts:b.hoverlabel,hoverdistance:b.hoverdistance}),ce=le.hoverLabels;if(x.isUnifiedHover(S)||(function(t,e,r,n){var i,a,o,s,l,c,u,h=e?"xa":"ya",f=e?"ya":"xa",p=0,d=1,m=t.size(),g=new Array(m),y=0,v=n.minX,x=n.maxX,_=n.minY,b=n.maxY,w=function(t){return t*r._invScaleX},T=function(t){return t*r._invScaleY};function k(t){var e=t[0],r=t[t.length-1];if(a=e.pmin-e.pos-e.dp+e.size,o=r.pos+r.dp+r.size-e.pmax,a>.01){for(l=t.length-1;l>=0;l--)t[l].dp+=a;i=!1}if(!(o<.01)){if(a<-.01){for(l=t.length-1;l>=0;l--)t[l].dp-=o;i=!1}if(i){var n=0;for(s=0;se.pmax&&n++;for(s=t.length-1;s>=0&&!(n<=0);s--)(c=t[s]).pos>e.pmax-1&&(c.del=!0,n--);for(s=0;s=0;l--)t[l].dp-=o;for(s=t.length-1;s>=0&&!(n<=0);s--)(c=t[s]).pos+c.dp+c.size>e.pmax&&(c.del=!0,n--)}}}for(t.each((function(t){var n=t[h],i=t[f],a="x"===n._id.charAt(0),o=n.range;0===y&&o&&o[0]>o[1]!==a&&(d=-1);var s=0,l=a?r.width:r.height;if("x"===r.hovermode||"y"===r.hovermode){var c,u,p=F(t,e),m=t.anchor,k="end"===m?-1:1;if("middle"===m)u=(c=t.crossPos+(a?T(p.y-t.by/2):w(t.bx/2+t.tx2width/2)))+(a?T(t.by):w(t.bx));else if(a)u=(c=t.crossPos+T(E+p.y)-T(t.by/2-E))+T(t.by);else{var M=w(k*E+p.x),S=M+w(k*t.bx);c=t.crossPos+Math.min(M,S),u=t.crossPos+Math.max(M,S)}a?void 0!==_&&void 0!==b&&Math.min(u,b)-Math.max(c,_)>1&&("left"===i.side?(s=i._mainLinePosition,l=r.width):l=i._mainLinePosition):void 0!==v&&void 0!==x&&Math.min(u,x)-Math.max(c,v)>1&&("top"===i.side?(s=i._mainLinePosition,l=r.height):l=i._mainLinePosition)}g[y++]=[{datum:t,traceIndex:t.trace.index,dp:0,pos:t.pos,posref:t.posref,size:t.by*(a?A:1)/2,pmin:s,pmax:l}]})),g.sort((function(t,e){return t[0].posref-e[0].posref||d*(e[0].traceIndex-t[0].traceIndex)}));!i&&p<=m;){for(p++,i=!0,s=0;s.01){for(l=S.length-1;l>=0;l--)S[l].dp+=a;for(M.push.apply(M,S),g.splice(s+1,1),u=0,l=M.length-1;l>=0;l--)u+=M[l].dp;for(o=u/M.length,l=M.length-1;l>=0;l--)M[l].dp-=o;i=!1}else s++}g.forEach(k)}for(s=g.length-1;s>=0;s--){var I=g[s];for(l=I.length-1;l>=0;l--){var P=I[l],z=P.datum;z.offset=P.dp,z.del=P.del}}}(ce,oe,b,le.commonLabelBoundingBox),B(ce,oe,b._invScaleX,b._invScaleY)),l&&l.tagName){var ue=v.getComponentMethod("annotations","hasClickToShow")(t,Zt);f(n.select(l),ue?"pointer":"")}l&&!a&&function(t,e,r){if(!r||r.length!==t._hoverdata.length)return!0;for(var n=r.length-1;n>=0;n--){var i=r[n],a=t._hoverdata[n];if(i.curveNumber!==a.curveNumber||String(i.pointNumber)!==String(a.pointNumber)||String(i.pointNumbers)!==String(a.pointNumbers))return!0}return!1}(t,0,Gt)&&(Gt&&t.emit("plotly_unhover",{event:e,points:Gt}),t.emit("plotly_hover",{event:e,points:t._hoverdata,xaxes:$,yaxes:J,xvals:nt,yvals:it}))}(t,e,r,a,l)}))},e.loneHover=function(t,e){var r=!0;Array.isArray(t)||(r=!1,t=[t]);var i=e.gd,a=H(i),o=G(i),s=D(t.map((function(t){var r=t._x0||t.x0||t.x||0,n=t._x1||t.x1||t.x||0,s=t._y0||t.y0||t.y||0,l=t._y1||t.y1||t.y||0,c=t.eventData;if(c){var u=Math.min(r,n),h=Math.max(r,n),f=Math.min(s,l),p=Math.max(s,l),m=t.trace;if(v.traceIs(m,"gl3d")){var g=i._fullLayout[m.scene]._scene.container,y=g.offsetLeft,x=g.offsetTop;u+=y,h+=y,f+=x,p+=x}c.bbox={x0:u+o,x1:h+o,y0:f+a,y1:p+a},e.inOut_bbox&&e.inOut_bbox.push(c.bbox)}else c=!1;return{color:t.color||d.defaultLine,x0:t.x0||t.x||0,x1:t.x1||t.x||0,y0:t.y0||t.y||0,y1:t.y1||t.y||0,xLabel:t.xLabel,yLabel:t.yLabel,zLabel:t.zLabel,text:t.text,name:t.name,idealAlign:t.idealAlign,borderColor:t.borderColor,fontFamily:t.fontFamily,fontSize:t.fontSize,fontColor:t.fontColor,fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontVariant:t.fontVariant,nameLength:t.nameLength,textAlign:t.textAlign,trace:t.trace||{index:0,hoverinfo:""},xa:{_offset:0},ya:{_offset:0},index:0,hovertemplate:t.hovertemplate||!1,hovertemplateLabels:t.hovertemplateLabels||!1,eventData:c}})),{gd:i,hovermode:"closest",rotateLabels:!1,bgColor:e.bgColor||d.background,container:n.select(e.container),outerContainer:e.outerContainer||e.container}).hoverLabels,l=0,c=0;return s.sort((function(t,e){return t.y0-e.y0})).each((function(t,r){var n=t.y0-t.by/2;t.offset=n-5([\s\S]*)<\/extra>/;function D(t,e){var r=e.gd,i=r._fullLayout,a=e.hovermode,s=e.rotateLabels,u=e.bgColor,f=e.container,m=e.outerContainer,g=e.commonLabelOpts||{};if(0===t.length)return[[]];var y=e.fontFamily||_.HOVERFONT,k=e.fontSize||_.HOVERFONTSIZE,A=e.fontWeight||i.font.weight,M=e.fontStyle||i.font.style,S=e.fontVariant||i.font.variant,L=e.fontTextcase||i.font.textcase,I=e.fontLineposition||i.font.lineposition,P=e.fontShadow||i.font.shadow,O=t[0],D=O.xa,F=O.ya,B=a.charAt(0),N=B+"Label",j=O[N];if(void 0===j&&"multicategory"===D.type)for(var U=0;Ui.width-T&&(z=i.width-T),e.attr("d","M"+(x-z)+",0L"+(x-z+E)+","+w+E+"H"+T+"v"+w+(2*C+b.height)+"H"+-T+"V"+w+E+"H"+(x-z-E)+"Z"),x=z,Q.minX=x-T,Q.maxX=x+T,"top"===D.side?(Q.minY=_-(2*C+b.height),Q.maxY=_-C):(Q.minY=_+C,Q.maxY=_+(2*C+b.height))}else{var R,B,N;"right"===F.side?(R="start",B=1,N="",x=D._offset+D._length):(R="end",B=-1,N="-",x=D._offset),_=F._offset+(O.y0+O.y1)/2,s.attr("text-anchor",R),e.attr("d","M0,0L"+N+E+","+E+"V"+(C+b.height/2)+"h"+N+(2*C+b.width)+"V-"+(C+b.height/2)+"H"+N+E+"V-"+E+"Z"),Q.minY=_-(C+b.height/2),Q.maxY=_+(C+b.height/2),"right"===F.side?(Q.minX=x+E,Q.maxX=x+E+(2*C+b.width)):(Q.minX=x-E-(2*C+b.width),Q.maxX=x-E);var U,V=b.height/2,H=q-b.top-V,G="clip"+i._uid+"commonlabel"+F._id;if(x=0?dt:mt+vt=0?mt:Mt+vt=0?ft:pt+xt=0?pt:St+xt=0,"top"!==t.idealAlign&&J||!K?J?(N+=V/2,t.anchor="start"):t.anchor="middle":(N-=V/2,t.anchor="end"),t.crossPos=N;else{if(t.pos=N,J=B+U/2+Q<=H,K=B-U/2-Q>=0,"left"!==t.idealAlign&&J||!K)if(J)B+=U/2,t.anchor="start";else{t.anchor="middle";var tt=Q/2,et=B+tt-H,rt=B-tt;et>0&&(B-=et),rt<0&&(B+=-rt)}else B-=U/2,t.anchor="end";t.crossPos=B}w.attr("text-anchor",t.anchor),O&&z.attr("text-anchor",t.anchor),e.attr("transform",l(B,N)+(s?c(T):""))})),{hoverLabels:Et,commonLabelBoundingBox:Q}}function R(t,e,r,n,i,a){var s="",l="";void 0!==t.nameOverride&&(t.name=t.nameOverride),t.name&&(t.trace._meta&&(t.name=o.templateString(t.name,t.trace._meta)),s=V(t.name,t.nameLength));var c=r.charAt(0),u="x"===c?"y":"x";void 0!==t.zLabel?(void 0!==t.xLabel&&(l+="x: "+t.xLabel+"
"),void 0!==t.yLabel&&(l+="y: "+t.yLabel+"
"),"choropleth"!==t.trace.type&&"choroplethmapbox"!==t.trace.type&&"choroplethmap"!==t.trace.type&&(l+=(l?"z: ":"")+t.zLabel)):e&&t[c+"Label"]===i?l=t[u+"Label"]||"":void 0===t.xLabel?void 0!==t.yLabel&&"scattercarpet"!==t.trace.type&&(l=t.yLabel):l=void 0===t.yLabel?t.xLabel:"("+t.xLabel+", "+t.yLabel+")",!t.text&&0!==t.text||Array.isArray(t.text)||(l+=(l?"
":"")+t.text),void 0!==t.extraText&&(l+=(l?"
":"")+t.extraText),a&&""===l&&!t.hovertemplate&&(""===s&&a.remove(),l=s);var h=t.hovertemplate||!1;if(h){var f=t.hovertemplateLabels||t;t[c+"Label"]!==i&&(f[c+"other"]=f[c+"Val"],f[c+"otherLabel"]=f[c+"Label"]),l=(l=o.hovertemplateString(h,f,n._d3locale,t.eventData[0]||{},t.trace._meta)).replace(O,(function(e,r){return s=V(r,t.nameLength),""}))}return[l,s]}function F(t,e){var r=0,n=t.offset;return e&&(n*=-S,r=t.offset*M),{x:r,y:n}}function B(t,e,r,i){var a=function(t){return t*r},o=function(t){return t*i};t.each((function(t){var r=n.select(this);if(t.del)return r.remove();var i,s,l,c,u=r.select("text.nums"),f=t.anchor,d="end"===f?-1:1,m=(c=(l=(s={start:1,end:-1,middle:0}[(i=t).anchor])*(E+C))+s*(i.txwidth+C),"middle"===i.anchor&&(l-=i.tx2width/2,c+=i.txwidth/2+C),{alignShift:s,textShiftX:l,text2ShiftX:c}),g=F(t,e),y=g.x,v=g.y,x="middle"===f;r.select("path").attr("d",x?"M-"+a(t.bx/2+t.tx2width/2)+","+o(v-t.by/2)+"h"+a(t.bx)+"v"+o(t.by)+"h-"+a(t.bx)+"Z":"M0,0L"+a(d*E+y)+","+o(E+v)+"v"+o(t.by/2-E)+"h"+a(d*t.bx)+"v-"+o(t.by)+"H"+a(d*E+y)+"V"+o(v-E)+"Z");var _=y+m.textShiftX,b=v+t.ty0-t.by/2+C,w=t.textAlign||"auto";"auto"!==w&&("left"===w&&"start"!==f?(u.attr("text-anchor","start"),_=x?-t.bx/2-t.tx2width/2+C:-t.bx-C):"right"===w&&"end"!==f&&(u.attr("text-anchor","end"),_=x?t.bx/2-t.tx2width/2-C:t.bx+C)),u.call(h.positionText,a(_),o(b)),t.tx2width&&(r.select("text.name").call(h.positionText,a(m.text2ShiftX+m.alignShift*C+y),o(v+t.ty0-t.by/2+C)),r.select("rect").call(p.setRect,a(m.text2ShiftX+(m.alignShift-1)*t.tx2width/2+y),o(v-t.by/2-1),a(t.tx2width),o(t.by+2)))}))}function N(t,e){var r=t.index,n=t.trace||{},a=t.cd[0],s=t.cd[r]||{};function l(t){return t||i(t)&&0===t}var c=Array.isArray(r)?function(t,e){var i=o.castOption(a,r,t);return l(i)?i:o.extractOption({},n,"",e)}:function(t,e){return o.extractOption(s,n,t,e)};function u(e,r,n){var i=c(r,n);l(i)&&(t[e]=i)}if(u("hoverinfo","hi","hoverinfo"),u("bgcolor","hbg","hoverlabel.bgcolor"),u("borderColor","hbc","hoverlabel.bordercolor"),u("fontFamily","htf","hoverlabel.font.family"),u("fontSize","hts","hoverlabel.font.size"),u("fontColor","htc","hoverlabel.font.color"),u("fontWeight","htw","hoverlabel.font.weight"),u("fontStyle","hty","hoverlabel.font.style"),u("fontVariant","htv","hoverlabel.font.variant"),u("nameLength","hnl","hoverlabel.namelength"),u("textAlign","hta","hoverlabel.align"),t.posref="y"===e||"closest"===e&&"h"===n.orientation?t.xa._offset+(t.x0+t.x1)/2:t.ya._offset+(t.y0+t.y1)/2,t.x0=o.constrain(t.x0,0,t.xa._length),t.x1=o.constrain(t.x1,0,t.xa._length),t.y0=o.constrain(t.y0,0,t.ya._length),t.y1=o.constrain(t.y1,0,t.ya._length),void 0!==t.xLabelVal&&(t.xLabel="xLabel"in t?t.xLabel:g.hoverLabelText(t.xa,t.xLabelVal,n.xhoverformat),t.xVal=t.xa.c2d(t.xLabelVal)),void 0!==t.yLabelVal&&(t.yLabel="yLabel"in t?t.yLabel:g.hoverLabelText(t.ya,t.yLabelVal,n.yhoverformat),t.yVal=t.ya.c2d(t.yLabelVal)),void 0!==t.zLabelVal&&void 0===t.zLabel&&(t.zLabel=String(t.zLabelVal)),!(isNaN(t.xerr)||"log"===t.xa.type&&t.xerr<=0)){var h=g.tickText(t.xa,t.xa.c2l(t.xerr),"hover").text;void 0!==t.xerrneg?t.xLabel+=" +"+h+" / -"+g.tickText(t.xa,t.xa.c2l(t.xerrneg),"hover").text:t.xLabel+=" ± "+h,"x"===e&&(t.distance+=1)}if(!(isNaN(t.yerr)||"log"===t.ya.type&&t.yerr<=0)){var f=g.tickText(t.ya,t.ya.c2l(t.yerr),"hover").text;void 0!==t.yerrneg?t.yLabel+=" +"+f+" / -"+g.tickText(t.ya,t.ya.c2l(t.yerrneg),"hover").text:t.yLabel+=" ± "+f,"y"===e&&(t.distance+=1)}var p=t.hoverinfo||t.trace.hoverinfo;return p&&"all"!==p&&(-1===(p=Array.isArray(p)?p:p.split("+")).indexOf("x")&&(t.xLabel=void 0),-1===p.indexOf("y")&&(t.yLabel=void 0),-1===p.indexOf("z")&&(t.zLabel=void 0),-1===p.indexOf("text")&&(t.text=void 0),-1===p.indexOf("name")&&(t.name=void 0)),t}function j(t,e,r){var n,i,o=r.container,s=r.fullLayout,l=s._size,c=r.event,u=!!e.hLinePoint,h=!!e.vLinePoint;if(o.selectAll(".spikeline").remove(),h||u){var f=d.combine(s.plot_bgcolor,s.paper_bgcolor);if(u){var m,y,v=e.hLinePoint;n=v&&v.xa,"cursor"===(i=v&&v.ya).spikesnap?(m=c.pointerX,y=c.pointerY):(m=n._offset+v.x,y=i._offset+v.y);var x,_,b=a.readability(v.color,f)<1.5?d.contrast(f):v.color,w=i.spikemode,T=i.spikethickness,k=i.spikecolor||b,A=g.getPxPosition(t,i);if(-1!==w.indexOf("toaxis")||-1!==w.indexOf("across")){if(-1!==w.indexOf("toaxis")&&(x=A,_=m),-1!==w.indexOf("across")){var M=i._counterDomainMin,S=i._counterDomainMax;"free"===i.anchor&&(M=Math.min(M,i.position),S=Math.max(S,i.position)),x=l.l+M*l.w,_=l.l+S*l.w}o.insert("line",":first-child").attr({x1:x,x2:_,y1:y,y2:y,"stroke-width":T,stroke:k,"stroke-dasharray":p.dashStyle(i.spikedash,T)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:x,x2:_,y1:y,y2:y,"stroke-width":T+2,stroke:f}).classed("spikeline",!0).classed("crisp",!0)}-1!==w.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:A+("right"!==i.side?T:-T),cy:y,r:T,fill:k}).classed("spikeline",!0)}if(h){var E,C,L=e.vLinePoint;n=L&&L.xa,i=L&&L.ya,"cursor"===n.spikesnap?(E=c.pointerX,C=c.pointerY):(E=n._offset+L.x,C=i._offset+L.y);var I,P,z=a.readability(L.color,f)<1.5?d.contrast(f):L.color,O=n.spikemode,D=n.spikethickness,R=n.spikecolor||z,F=g.getPxPosition(t,n);if(-1!==O.indexOf("toaxis")||-1!==O.indexOf("across")){if(-1!==O.indexOf("toaxis")&&(I=F,P=C),-1!==O.indexOf("across")){var B=n._counterDomainMin,N=n._counterDomainMax;"free"===n.anchor&&(B=Math.min(B,n.position),N=Math.max(N,n.position)),I=l.t+(1-N)*l.h,P=l.t+(1-B)*l.h}o.insert("line",":first-child").attr({x1:E,x2:E,y1:I,y2:P,"stroke-width":D,stroke:R,"stroke-dasharray":p.dashStyle(n.spikedash,D)}).classed("spikeline",!0).classed("crisp",!0),o.insert("line",":first-child").attr({x1:E,x2:E,y1:I,y2:P,"stroke-width":D+2,stroke:f}).classed("spikeline",!0).classed("crisp",!0)}-1!==O.indexOf("marker")&&o.insert("circle",":first-child").attr({cx:E,cy:F-("top"!==n.side?D:-D),r:D,fill:R}).classed("spikeline",!0)}}}function U(t,e){return!e||e.vLinePoint!==t._spikepoints.vLinePoint||e.hLinePoint!==t._spikepoints.hLinePoint}function V(t,e){return h.plainText(t||"",{len:e,allowedTags:["br","sub","sup","b","i","em","s","u"]})}function q(t,e,r){var n=e[t+"a"],i=e[t+"Val"],a=e.cd[0];if("category"===n.type||"multicategory"===n.type)i=n._categoriesMap[i];else if("date"===n.type){var o=e.trace[t+"periodalignment"];if(o){var s=e.cd[e.index],l=s[t+"Start"];void 0===l&&(l=s[t]);var c=s[t+"End"];void 0===c&&(c=s[t]);var u=c-l;"end"===o?i+=u:"middle"===o&&(i+=u/2)}i=n.d2c(i)}return a&&a.t&&a.t.posLetter===n._id&&("group"!==r.boxmode&&"group"!==r.violinmode||(i+=a.t.dPos)),i}function H(t){return t.offsetTop+t.clientTop}function G(t){return t.offsetLeft+t.clientLeft}function Z(t,e){var r=t._fullLayout,n=e.getBoundingClientRect(),i=n.left,a=n.top,s=i+n.width,l=a+n.height,c=o.apply3DTransform(r._invTransform)(i,a),u=o.apply3DTransform(r._invTransform)(s,l),h=c[0],f=c[1],p=u[0],d=u[1];return{x:h,y:f,width:p-h,height:d-f,top:Math.min(f,d),left:Math.min(h,p),right:Math.max(h,p),bottom:Math.max(f,d)}}},26430:function(t,e,r){"use strict";var n=r(34809),i=r(78766),a=r(36040).isUnifiedHover;t.exports=function(t,e,r,o){o=o||{};var s=e.legend;function l(t){o.font[t]||(o.font[t]=s?e.legend.font[t]:e.font[t])}e&&a(e.hovermode)&&(o.font||(o.font={}),l("size"),l("family"),l("color"),l("weight"),l("style"),l("variant"),s?(o.bgcolor||(o.bgcolor=i.combine(e.legend.bgcolor,e.paper_bgcolor)),o.bordercolor||(o.bordercolor=e.legend.bordercolor)):o.bgcolor||(o.bgcolor=e.paper_bgcolor)),r("hoverlabel.bgcolor",o.bgcolor),r("hoverlabel.bordercolor",o.bordercolor),r("hoverlabel.namelength",o.namelength),n.coerceFont(r,"hoverlabel.font",o.font),r("hoverlabel.align",o.align)}},45265:function(t,e,r){"use strict";var n=r(34809),i=r(6811);t.exports=function(t,e){function r(r,a){return void 0!==e[r]?e[r]:n.coerce(t,e,i,r,a)}return r("clickmode"),r("hoversubplots"),r("hovermode")}},32141:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=r(14751),o=r(36040),s=r(6811),l=r(38103);t.exports={moduleType:"component",name:"fx",constants:r(85988),schema:{layout:s},attributes:r(70192),layoutAttributes:s,supplyLayoutGlobalDefaults:r(5358),supplyDefaults:r(3239),supplyLayoutDefaults:r(8412),calc:r(83552),getDistanceFunction:o.getDistanceFunction,getClosest:o.getClosest,inbox:o.inbox,quadrature:o.quadrature,appendArrayPointValue:o.appendArrayPointValue,castHoverOption:function(t,e,r){return i.castOption(t,e,"hoverlabel."+r)},castHoverinfo:function(t,e,r){return i.castOption(t,r,"hoverinfo",(function(r){return i.coerceHoverinfo({hoverinfo:r},{_module:t._module},e)}))},hover:l.hover,unhover:a.unhover,loneHover:l.loneHover,loneUnhover:function(t){var e=i.isD3Selection(t)?t:n.select(t);e.selectAll("g.hovertext").remove(),e.selectAll(".spikeline").remove()},click:r(94225)}},6811:function(t,e,r){"use strict";var n=r(85988),i=r(80337),a=i({editType:"none"});a.family.dflt=n.HOVERFONT,a.size.dflt=n.HOVERFONTSIZE,t.exports={clickmode:{valType:"flaglist",flags:["event","select"],dflt:"event",editType:"plot",extras:["none"]},dragmode:{valType:"enumerated",values:["zoom","pan","select","lasso","drawclosedpath","drawopenpath","drawline","drawrect","drawcircle","orbit","turntable",!1],dflt:"zoom",editType:"modebar"},hovermode:{valType:"enumerated",values:["x","y","closest",!1,"x unified","y unified"],dflt:"closest",editType:"modebar"},hoversubplots:{valType:"enumerated",values:["single","overlaying","axis"],dflt:"overlaying",editType:"none"},hoverdistance:{valType:"integer",min:-1,dflt:20,editType:"none"},spikedistance:{valType:"integer",min:-1,dflt:-1,editType:"none"},hoverlabel:{bgcolor:{valType:"color",editType:"none"},bordercolor:{valType:"color",editType:"none"},font:a,grouptitlefont:i({editType:"none"}),align:{valType:"enumerated",values:["left","right","auto"],dflt:"auto",editType:"none"},namelength:{valType:"integer",min:-1,dflt:15,editType:"none"},editType:"none"},selectdirection:{valType:"enumerated",values:["h","v","d","any"],dflt:"any",editType:"none"}}},8412:function(t,e,r){"use strict";var n=r(34809),i=r(6811),a=r(45265),o=r(26430);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}a(t,e)&&(r("hoverdistance"),r("spikedistance")),"select"===r("dragmode")&&r("selectdirection");var s=e._has("mapbox"),l=e._has("map"),c=e._has("geo"),u=e._basePlotModules.length;"zoom"===e.dragmode&&((s||l||c)&&1===u||(s||l)&&c&&2===u)&&(e.dragmode="pan"),o(t,e,r),n.coerceFont(r,"hoverlabel.grouptitlefont",e.hoverlabel.font)}},5358:function(t,e,r){"use strict";var n=r(34809),i=r(26430),a=r(6811);t.exports=function(t,e){i(t,e,(function(r,i){return n.coerce(t,e,a,r,i)}))}},83595:function(t,e,r){"use strict";var n=r(34809),i=r(90694).counter,a=r(13792).u,o=r(54826).idRegex,s=r(78032),l={rows:{valType:"integer",min:1,editType:"plot"},roworder:{valType:"enumerated",values:["top to bottom","bottom to top"],dflt:"top to bottom",editType:"plot"},columns:{valType:"integer",min:1,editType:"plot"},subplots:{valType:"info_array",freeLength:!0,dimensions:2,items:{valType:"enumerated",values:[i("xy").toString(),""],editType:"plot"},editType:"plot"},xaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.x.toString(),""],editType:"plot"},editType:"plot"},yaxes:{valType:"info_array",freeLength:!0,items:{valType:"enumerated",values:[o.y.toString(),""],editType:"plot"},editType:"plot"},pattern:{valType:"enumerated",values:["independent","coupled"],dflt:"coupled",editType:"plot"},xgap:{valType:"number",min:0,max:1,editType:"plot"},ygap:{valType:"number",min:0,max:1,editType:"plot"},domain:a({name:"grid",editType:"plot",noGridCell:!0},{}),xside:{valType:"enumerated",values:["bottom","bottom plot","top plot","top"],dflt:"bottom plot",editType:"plot"},yside:{valType:"enumerated",values:["left","left plot","right plot","right"],dflt:"left plot",editType:"plot"},editType:"plot"};function c(t,e,r){var n=e[r+"axes"],i=Object.keys((t._splomAxes||{})[r]||{});return Array.isArray(n)?n:i.length?i:void 0}function u(t,e,r,n,i,a){var o=e(t+"gap",r),s=e("domain."+t);e(t+"side",n);for(var l=new Array(i),c=s[0],u=(s[1]-c)/(i-o),h=u*(1-o),f=0;f1){f||p||d||"independent"===k("pattern")&&(f=!0),g._hasSubplotGrid=f;var x,_,b="top to bottom"===k("roworder"),w=f?.2:.1,T=f?.3:.1;m&&e._splomGridDflt&&(x=e._splomGridDflt.xside,_=e._splomGridDflt.yside),g._domains={x:u("x",k,w,x,v),y:u("y",k,T,_,y,b)}}else delete e.grid}function k(t,e){return n.coerce(r,g,l,t,e)}},contentDefaults:function(t,e){var r=e.grid;if(r&&r._domains){var n,i,a,o,s,l,u,f=t.grid||{},p=e._subplots,d=r._hasSubplotGrid,m=r.rows,g=r.columns,y="independent"===r.pattern,v=r._axisMap={};if(d){var x=f.subplots||[];l=r.subplots=new Array(m);var _=1;for(n=0;n("legend"===t?1:0));if(!1===M&&(r[t]=void 0),(!1!==M||h.uirevision)&&(p("uirevision",r.uirevision),!1!==M)){p("borderwidth");var S,E,C,L="h"===p("orientation"),I="paper"===p("yref"),P="paper"===p("xref"),z="left";if(L?(S=0,n.getComponentMethod("rangeslider","isVisible")(e.xaxis)?I?(E=1.1,C="bottom"):(E=1,C="top"):I?(E=-.1,C="top"):(E=0,C="bottom")):(E=1,C="auto",P?S=1.02:(S=1,z="right")),i.coerce(h,f,{x:{valType:"number",editType:"legend",min:P?-2:0,max:P?3:1,dflt:S}},"x"),i.coerce(h,f,{y:{valType:"number",editType:"legend",min:I?-2:0,max:I?3:1,dflt:E}},"y"),p("traceorder",b),c.isGrouped(r[t])&&p("tracegroupgap"),p("entrywidth"),p("entrywidthmode"),p("indentation"),p("itemsizing"),p("itemwidth"),p("itemclick"),p("itemdoubleclick"),p("groupclick"),p("xanchor",z),p("yanchor",C),p("valign"),i.noneOrAll(h,f,["x","y"]),p("title.text")){p("title.side",L?"left":"top");var O=i.extendFlat({},d,{size:i.bigFont(d.size)});i.coerceFont(p,"title.font",O)}}}}t.exports=function(t,e,r){var n,a=r.slice(),o=e.shapes;if(o)for(n=0;n1)}var B=d.hiddenlabels||[];if(!(T||d.showlegend&&S.length))return s.selectAll("."+w).remove(),d._topdefs.select("#"+r).remove(),a.autoMargin(t,w);var N=i.ensureSingle(s,"g",w,(function(t){T||t.attr("pointer-events","all")})),j=i.ensureSingleById(d._topdefs,"clipPath",r,(function(t){t.append("rect")})),U=i.ensureSingle(N,"rect","bg",(function(t){t.attr("shape-rendering","crispEdges")}));U.call(u.stroke,f.bordercolor).call(u.fill,f.bgcolor).style("stroke-width",f.borderwidth+"px");var V,q=i.ensureSingle(N,"g","scrollbox"),H=f.title;f._titleWidth=0,f._titleHeight=0,H.text?((V=i.ensureSingle(q,"text",w+"titletext")).attr("text-anchor","start").call(c.font,H.font).text(H.text),C(V,q,t,f,b)):q.selectAll("."+w+"titletext").remove();var G=i.ensureSingle(N,"rect","scrollbar",(function(t){t.attr(p.scrollBarEnterAttrs).call(u.fill,p.scrollBarColor)})),Z=q.selectAll("g.groups").data(S);Z.enter().append("g").attr("class","groups"),Z.exit().remove();var W=Z.selectAll("g.traces").data(i.identity);W.enter().append("g").attr("class","traces"),W.exit().remove(),W.style("opacity",(function(t){var e=t[0].trace;return o.traceIs(e,"pie-like")?-1!==B.indexOf(t[0].label)?.5:1:"legendonly"===e.visible?.5:1})).each((function(){n.select(this).call(M,t,f)})).call(x,t,f).each((function(){T||n.select(this).call(E,t,w)})),i.syncOrAsync([a.previousPromises,function(){return function(t,e,r,i){var a=t._fullLayout,o=P(i);i||(i=a[o]);var s=a._size,l=_.isVertical(i),u=_.isGrouped(i),h="fraction"===i.entrywidthmode,f=i.borderwidth,d=2*f,m=p.itemGap,g=i.indentation+i.itemwidth+2*m,y=2*(f+m),v=I(i),x=i.y<0||0===i.y&&"top"===v,b=i.y>1||1===i.y&&"bottom"===v,w=i.tracegroupgap,T={};i._maxHeight=Math.max(x||b?a.height/2:s.h,30);var A=0;i._width=0,i._height=0;var M=function(t){var e=0,r=0,n=t.title.side;return n&&(-1!==n.indexOf("left")&&(e=t._titleWidth),-1!==n.indexOf("top")&&(r=t._titleHeight)),[e,r]}(i);if(l)r.each((function(t){var e=t[0].height;c.setTranslate(this,f+M[0],f+M[1]+i._height+e/2+m),i._height+=e,i._width=Math.max(i._width,t[0].width)})),A=g+i._width,i._width+=m+g+d,i._height+=y,u&&(e.each((function(t,e){c.setTranslate(this,0,e*i.tracegroupgap)})),i._height+=(i._lgroupsLength-1)*i.tracegroupgap);else{var S=L(i),E=i.x<0||0===i.x&&"right"===S,C=i.x>1||1===i.x&&"left"===S,z=b||x,O=a.width/2;i._maxWidth=Math.max(E?z&&"left"===S?s.l+s.w:O:C?z&&"right"===S?s.r+s.w:O:s.w,2*g);var D=0,R=0;r.each((function(t){var e=k(t,i,g);D=Math.max(D,e),R+=e})),A=null;var F=0;if(u){var B=0,N=0,j=0;e.each((function(){var t=0,e=0;n.select(this).selectAll("g.traces").each((function(r){var n=k(r,i,g),a=r[0].height;c.setTranslate(this,M[0],M[1]+f+m+a/2+e),e+=a,t=Math.max(t,n),T[r[0].trace.legendgroup]=t}));var r=t+m;N>0&&r+f+N>i._maxWidth?(F=Math.max(F,N),N=0,j+=B+w,B=e):B=Math.max(B,e),c.setTranslate(this,N,j),N+=r})),i._width=Math.max(F,N)+f,i._height=j+B+y}else{var U=r.size(),V=R+d+(U-1)*m=i._maxWidth&&(F=Math.max(F,Z),H=0,G+=q,i._height+=q,q=0),c.setTranslate(this,M[0]+f+H,M[1]+f+G+e/2+m),Z=H+r+m,H+=n,q=Math.max(q,e)})),V?(i._width=H+d,i._height=q+y):(i._width=Math.max(F,Z)+d,i._height+=q+y)}}i._width=Math.ceil(Math.max(i._width+M[0],i._titleWidth+2*(f+p.titlePad))),i._height=Math.ceil(Math.max(i._height+M[1],i._titleHeight+2*(f+p.itemGap))),i._effHeight=Math.min(i._height,i._maxHeight);var W=t._context.edits,Y=W.legendText||W.legendPosition;r.each((function(t){var e=n.select(this).select("."+o+"toggle"),r=t[0].height,a=t[0].trace.legendgroup,s=k(t,i,g);u&&""!==a&&(s=T[a]);var f=Y?g:A||s;l||h||(f+=m/2),c.setRect(e,0,-r/2,f,r)}))}(t,Z,W,f)},function(){var e,u,v,x,_=d._size,b=f.borderwidth,k="paper"===f.xref,M="paper"===f.yref;if(H.text&&function(t,e,r){if("top center"===e.title.side||"top right"===e.title.side){var n=e.title.font.size*m,i=0,a=t.node(),o=c.bBox(a).width;"top center"===e.title.side?i=.5*(e._width-2*r-2*p.titlePad-o):"top right"===e.title.side&&(i=e._width-2*r-2*p.titlePad-o),h.positionText(t,r+p.titlePad+i,r+n)}}(V,f,b),!T){var S,E;S=k?_.l+_.w*f.x-g[L(f)]*f._width:d.width*f.x-g[L(f)]*f._width,E=M?_.t+_.h*(1-f.y)-g[I(f)]*f._effHeight:d.height*(1-f.y)-g[I(f)]*f._effHeight;var C=function(t,e,r,n){var i=t._fullLayout,o=i[e],s=L(o),l=I(o),c="paper"===o.xref,u="paper"===o.yref;t._fullLayout._reservedMargin[e]={};var h=o.y<.5?"b":"t",f=o.x<.5?"l":"r",p={r:i.width-r,l:r+o._width,b:i.height-n,t:n+o._effHeight};if(c&&u)return a.autoMargin(t,e,{x:o.x,y:o.y,l:o._width*g[s],r:o._width*y[s],b:o._effHeight*y[l],t:o._effHeight*g[l]});c?t._fullLayout._reservedMargin[e][h]=p[h]:u||"v"===o.orientation?t._fullLayout._reservedMargin[e][f]=p[f]:t._fullLayout._reservedMargin[e][h]=p[h]}(t,w,S,E);if(C)return;if(d.margin.autoexpand){var P=S,z=E;S=k?i.constrain(S,0,d.width-f._width):P,E=M?i.constrain(E,0,d.height-f._effHeight):z,S!==P&&i.log("Constrain "+w+".x to make legend fit inside graph"),E!==z&&i.log("Constrain "+w+".y to make legend fit inside graph")}c.setTranslate(N,S,E)}if(G.on(".drag",null),N.on("wheel",null),T||f._height<=f._maxHeight||t._context.staticPlot){var O=f._effHeight;T&&(O=f._height),U.attr({width:f._width-b,height:O-b,x:b/2,y:b/2}),c.setTranslate(q,0,0),j.select("rect").attr({width:f._width-2*b,height:O-2*b,x:b,y:b}),c.setClipUrl(q,r,t),c.setRect(G,0,0,0,0),delete f._scrollY}else{var D,R,F,B=Math.max(p.scrollBarMinHeight,f._effHeight*f._effHeight/f._height),Z=f._effHeight-B-2*p.scrollBarMargin,W=f._height-f._effHeight,Y=Z/W,X=Math.min(f._scrollY||0,W);U.attr({width:f._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:f._effHeight-b,x:b/2,y:b/2}),j.select("rect").attr({width:f._width-2*b+p.scrollBarWidth+p.scrollBarMargin,height:f._effHeight-2*b,x:b,y:b+X}),c.setClipUrl(q,r,t),K(X,B,Y),N.on("wheel",(function(){K(X=i.constrain(f._scrollY+n.event.deltaY/Z*W,0,W),B,Y),0!==X&&X!==W&&n.event.preventDefault()}));var $=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;D="touchstart"===t.type?t.changedTouches[0].clientY:t.clientY,F=X})).on("drag",(function(){var t=n.event.sourceEvent;2===t.buttons||t.ctrlKey||(R="touchmove"===t.type?t.changedTouches[0].clientY:t.clientY,X=function(t,e,r){var n=(r-e)/Y+t;return i.constrain(n,0,W)}(F,D,R),K(X,B,Y))}));G.call($);var J=n.behavior.drag().on("dragstart",(function(){var t=n.event.sourceEvent;"touchstart"===t.type&&(D=t.changedTouches[0].clientY,F=X)})).on("drag",(function(){var t=n.event.sourceEvent;"touchmove"===t.type&&(R=t.changedTouches[0].clientY,X=function(t,e,r){var n=(e-r)/Y+t;return i.constrain(n,0,W)}(F,D,R),K(X,B,Y))}));q.call(J)}function K(e,r,n){f._scrollY=t._fullLayout[w]._scrollY=e,c.setTranslate(q,0,-e),c.setRect(G,f._width,p.scrollBarMargin+e*n,p.scrollBarWidth,r),j.select("rect").attr("y",b+e)}t._context.edits.legendPosition&&(N.classed("cursor-move",!0),l.init({element:N.node(),gd:t,prepFn:function(t){if(t.target!==G.node()){var e=c.getTranslate(N);v=e.x,x=e.y}},moveFn:function(t,r){if(void 0!==v&&void 0!==x){var n=v+t,i=x+r;c.setTranslate(N,n,i),e=l.align(n,f._width,_.l,_.l+_.w,f.xanchor),u=l.align(i+f._height,-f._height,_.t+_.h,_.t,f.yanchor)}},doneFn:function(){if(void 0!==e&&void 0!==u){var r={};r[w+".x"]=e,r[w+".y"]=u,o.call("_guiRelayout",t,r)}},clickFn:function(e,r){var n=s.selectAll("g.traces").filter((function(){var t=this.getBoundingClientRect();return r.clientX>=t.left&&r.clientX<=t.right&&r.clientY>=t.top&&r.clientY<=t.bottom}));n.size()>0&&A(t,N,n,e,r)}}))}],t)}}function k(t,e,r){var n=t[0],i=n.width,a=e.entrywidthmode,o=n.trace.legendwidth||e.entrywidth;return"fraction"===a?e._maxWidth*o:r+(o||i)}function A(t,e,r,n,i){var a=r.data()[0][0].trace,l={event:i,node:r.node(),curveNumber:a.index,expandedIndex:a._expandedIndex,data:t.data,layout:t.layout,frames:t._transitionData._frames,config:t._context,fullData:t._fullData,fullLayout:t._fullLayout};a._group&&(l.group=a._group),o.traceIs(a,"pie-like")&&(l.label=r.datum()[0].label);var c=s.triggerHandler(t,"plotly_legendclick",l);if(1===n){if(!1===c)return;e._clickTimeout=setTimeout((function(){t._fullLayout&&f(r,t,n)}),t._context.doubleClickDelay)}else 2===n&&(e._clickTimeout&&clearTimeout(e._clickTimeout),t._legendMouseDownTime=0,!1!==s.triggerHandler(t,"plotly_legenddoubleclick",l)&&!1!==c&&f(r,t,n))}function M(t,e,r){var n,a,s=P(r),l=t.data()[0][0],u=l.trace,f=o.traceIs(u,"pie-like"),d=!r._inHover&&e._context.edits.legendText&&!f,m=r._maxNameLength;l.groupTitle?(n=l.groupTitle.text,a=l.groupTitle.font):(a=r.font,r.entries?n=l.text:(n=f?l.label:u.name,u._meta&&(n=i.templateString(n,u._meta))));var g=i.ensureSingle(t,"text",s+"text");g.attr("text-anchor","start").call(c.font,a).text(d?S(n,m):n);var y=r.indentation+r.itemwidth+2*p.itemGap;h.positionText(g,y,0),d?g.call(h.makeEditable,{gd:e,text:n}).call(C,t,e,r).on("edit",(function(n){this.text(S(n,m)).call(C,t,e,r);var a=l.trace._fullInput||{},s={};if(o.hasTransform(a,"groupby")){var c=o.getTransformIndices(a,"groupby"),h=c[c.length-1],f=i.keyedContainer(a,"transforms["+h+"].styles","target","value.name");f.set(l.trace._group,n),s=f.constructUpdate()}else s.name=n;return a._isShape?o.call("_guiRelayout",e,"shapes["+u.index+"].name",s.name):o.call("_guiRestyle",e,s,u.index)})):C(g,t,e,r)}function S(t,e){var r=Math.max(4,e);if(t&&t.trim().length>=r/2)return t;for(var n=r-(t=t||"").length;n>0;n--)t+=" ";return t}function E(t,e,r){var a,o=e._context.doubleClickDelay,s=1,l=i.ensureSingle(t,"rect",r+"toggle",(function(t){e._context.staticPlot||t.style("cursor","pointer").attr("pointer-events","all"),t.call(u.fill,"rgba(0,0,0,0)")}));e._context.staticPlot||(l.on("mousedown",(function(){(a=(new Date).getTime())-e._legendMouseDownTimeo&&(s=Math.max(s-1,1)),A(e,i,t,s,n.event)}})))}function C(t,e,r,n,i){n._inHover&&t.attr("data-notex",!0),h.convertToTspans(t,r,(function(){!function(t,e,r,n){var i=t.data()[0][0];if(r._inHover||!i||i.trace.showlegend){var a=t.select("g[class*=math-group]"),o=a.node(),s=P(r);r||(r=e._fullLayout[s]);var l,u,f=r.borderwidth,d=(n===b?r.title.font:i.groupTitle?i.groupTitle.font:r.font).size*m;if(o){var g=c.bBox(o);l=g.height,u=g.width,n===b?c.setTranslate(a,f,f+.75*l):c.setTranslate(a,0,.25*l)}else{var y="."+s+(n===b?"title":"")+"text",v=t.select(y),x=h.lineCount(v),_=v.node();if(l=d*x,u=_?c.bBox(_).width:0,n===b)"left"===r.title.side&&(u+=2*p.itemGap),h.positionText(v,f+p.titlePad,f+d);else{var w=2*p.itemGap+r.indentation+r.itemwidth;i.groupTitle&&(w=p.itemGap,u-=r.indentation+r.itemwidth),h.positionText(v,w,-d*((x-1)/2-.3))}}n===b?(r._titleWidth=u,r._titleHeight=l):(i.lineHeight=d,i.height=Math.max(l,16)+3,i.width=u)}else t.remove()}(e,r,n,i)}))}function L(t){return i.isRightAnchor(t)?"right":i.isCenterAnchor(t)?"center":"left"}function I(t){return i.isBottomAnchor(t)?"bottom":i.isMiddleAnchor(t)?"middle":"top"}function P(t){return t._id||"legend"}t.exports=function(t,e){if(e)T(t,e);else{var r=t._fullLayout,i=r._legends;r._infolayer.selectAll('[class^="legend"]').each((function(){var t=n.select(this),e=t.attr("class").split(" ")[0];e.match(w)&&-1===i.indexOf(e)&&t.remove()}));for(var a=0;aS&&(M=S)}k[a][0]._groupMinRank=M,k[a][0]._preGroupSort=a}var E=function(t,e){return t.trace.legendrank-e.trace.legendrank||t._preSort-e._preSort};for(k.forEach((function(t,e){t[0]._preGroupSort=e})),k.sort((function(t,e){return t[0]._groupMinRank-e[0]._groupMinRank||t[0]._preGroupSort-e[0]._preGroupSort})),a=0;ar?r:t}t.exports=function(t,e,r){var y=e._fullLayout;r||(r=y.legend);var v="constant"===r.itemsizing,x=r.itemwidth,_=(x+2*p.itemGap)/2,b=o(_,0),w=function(t,e,r,n){var i;if(t+1)i=t;else{if(!(e&&e.width>0))return 0;i=e.width}return v?n:Math.min(i,r)};function T(t,a,o){var u=t[0].trace,h=u.marker||{},f=h.line||{},p=h.cornerradius?"M6,3a3,3,0,0,1-3,3H-3a3,3,0,0,1-3-3V-3a3,3,0,0,1,3-3H3a3,3,0,0,1,3,3Z":"M6,6H-6V-6H6Z",d=o?u.visible&&u.type===o:i.traceIs(u,"bar"),m=n.select(a).select("g.legendpoints").selectAll("path.legend"+o).data(d?[t]:[]);m.enter().append("path").classed("legend"+o,!0).attr("d",p).attr("transform",b),m.exit().remove(),m.each((function(t){var i=n.select(this),a=t[0],o=w(a.mlw,h.line,5,2);i.style("stroke-width",o+"px");var p=a.mcc;if(!r._inHover&&"mc"in a){var d=c(h),m=d.mid;void 0===m&&(m=(d.max+d.min)/2),p=s.tryColorscale(h,"")(m)}var y=p||a.mc||h.color,v=h.pattern,x=v&&s.getPatternAttr(v.shape,0,"");if(x){var _=s.getPatternAttr(v.bgcolor,0,null),b=s.getPatternAttr(v.fgcolor,0,null),T=v.fgopacity,k=g(v.size,8,10),A=g(v.solidity,.5,1),M="legend-"+u.uid;i.call(s.pattern,"legend",e,M,x,k,A,p,v.fillmode,_,b,T)}else i.call(l.fill,y);o&&l.stroke(i,a.mlc||f.color)}))}function k(t,r,o){var s=t[0],l=s.trace,c=o?l.visible&&l.type===o:i.traceIs(l,o),u=n.select(r).select("g.legendpoints").selectAll("path.legend"+o).data(c?[t]:[]);if(u.enter().append("path").classed("legend"+o,!0).attr("d","M6,6H-6V-6H6Z").attr("transform",b),u.exit().remove(),u.size()){var p=l.marker||{},d=w(f(p.line.width,s.pts),p.line,5,2),m="pieLike",g=a.minExtend(l,{marker:{line:{width:d}}},m),y=a.minExtend(s,{trace:g},m);h(u,y,g,e)}}t.each((function(t){var e=n.select(this),i=a.ensureSingle(e,"g","layers");i.style("opacity",t[0].trace.opacity);var s=r.indentation,l=r.valign,c=t[0].lineHeight,u=t[0].height;if("middle"===l&&0===s||!c||!u)i.attr("transform",null);else{var h={top:1,bottom:-1}[l]*(.5*(c-u+3))||0,f=r.indentation;i.attr("transform",o(f,h))}i.selectAll("g.legendfill").data([t]).enter().append("g").classed("legendfill",!0),i.selectAll("g.legendlines").data([t]).enter().append("g").classed("legendlines",!0);var p=i.selectAll("g.legendsymbols").data([t]);p.enter().append("g").classed("legendsymbols",!0),p.selectAll("g.legendpoints").data([t]).enter().append("g").classed("legendpoints",!0)})).each((function(t){var r,i=t[0].trace,o=[];if(i.visible)switch(i.type){case"histogram2d":case"heatmap":o=[["M-15,-2V4H15V-2Z"]],r=!0;break;case"choropleth":case"choroplethmapbox":case"choroplethmap":o=[["M-6,-6V6H6V-6Z"]],r=!0;break;case"densitymapbox":case"densitymap":o=[["M-6,0 a6,6 0 1,0 12,0 a 6,6 0 1,0 -12,0"]],r="radial";break;case"cone":o=[["M-6,2 A2,2 0 0,0 -6,6 V6L6,4Z"],["M-6,-6 A2,2 0 0,0 -6,-2 L6,-4Z"],["M-6,-2 A2,2 0 0,0 -6,2 L6,0Z"]],r=!1;break;case"streamtube":o=[["M-6,2 A2,2 0 0,0 -6,6 H6 A2,2 0 0,1 6,2 Z"],["M-6,-6 A2,2 0 0,0 -6,-2 H6 A2,2 0 0,1 6,-6 Z"],["M-6,-2 A2,2 0 0,0 -6,2 H6 A2,2 0 0,1 6,-2 Z"]],r=!1;break;case"surface":o=[["M-6,-6 A2,3 0 0,0 -6,0 H6 A2,3 0 0,1 6,-6 Z"],["M-6,1 A2,3 0 0,1 -6,6 H6 A2,3 0 0,0 6,0 Z"]],r=!0;break;case"mesh3d":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!1;break;case"volume":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6H6L0,6Z"]],r=!0;break;case"isosurface":o=[["M-6,6H0L-6,-6Z"],["M6,6H0L6,-6Z"],["M-6,-6 A12,24 0 0,0 6,-6 L0,6Z"]],r=!1}var u=n.select(this).select("g.legendpoints").selectAll("path.legend3dandfriends").data(o);u.enter().append("path").classed("legend3dandfriends",!0).attr("transform",b).style("stroke-miterlimit",1),u.exit().remove(),u.each((function(t,o){var u,h=n.select(this),f=c(i),p=f.colorscale,m=f.reversescale;if(p){if(!r){var g=p.length;u=0===o?p[m?g-1:0][1]:1===o?p[m?0:g-1][1]:p[Math.floor((g-1)/2)][1]}}else{var y=i.vertexcolor||i.facecolor||i.color;u=a.isArrayOrTypedArray(y)?y[o]||y[0]:y}h.attr("d",t[0]),u?h.call(l.fill,u):h.call((function(t){if(t.size()){var n="legendfill-"+i.uid;s.gradient(t,e,n,d(m,"radial"===r),p,"fill")}}))}))})).each((function(t){var e=t[0].trace,r="waterfall"===e.type;if(t[0]._distinct&&r){var i=t[0].trace[t[0].dir].marker;return t[0].mc=i.color,t[0].mlw=i.line.width,t[0].mlc=i.line.color,T(t,this,"waterfall")}var a=[];e.visible&&r&&(a=t[0].hasTotals?[["increasing","M-6,-6V6H0Z"],["totals","M6,6H0L-6,-6H-0Z"],["decreasing","M6,6V-6H0Z"]]:[["increasing","M-6,-6V6H6Z"],["decreasing","M6,6V-6H-6Z"]]);var o=n.select(this).select("g.legendpoints").selectAll("path.legendwaterfall").data(a);o.enter().append("path").classed("legendwaterfall",!0).attr("transform",b).style("stroke-miterlimit",1),o.exit().remove(),o.each((function(t){var r=n.select(this),i=e[t[0]].marker,a=w(void 0,i.line,5,2);r.attr("d",t[1]).style("stroke-width",a+"px").call(l.fill,i.color),a&&r.call(l.stroke,i.line.color)}))})).each((function(t){T(t,this,"funnel")})).each((function(t){T(t,this)})).each((function(t){var r=t[0].trace,o=n.select(this).select("g.legendpoints").selectAll("path.legendbox").data(r.visible&&i.traceIs(r,"box-violin")?[t]:[]);o.enter().append("path").classed("legendbox",!0).attr("d","M6,6H-6V-6H6Z").attr("transform",b),o.exit().remove(),o.each((function(){var t=n.select(this);if("all"!==r.boxpoints&&"all"!==r.points||0!==l.opacity(r.fillcolor)||0!==l.opacity((r.line||{}).color)){var i=w(void 0,r.line,5,2);t.style("stroke-width",i+"px").call(l.fill,r.fillcolor),i&&l.stroke(t,r.line.color)}else{var c=a.minExtend(r,{marker:{size:v?12:a.constrain(r.marker.size,2,16),sizeref:1,sizemin:1,sizemode:"diameter"}});o.call(s.pointStyle,c,e)}}))})).each((function(t){k(t,this,"funnelarea")})).each((function(t){k(t,this,"pie")})).each((function(t){var r,i,o=m(t),l=o.showFill,h=o.showLine,f=o.showGradientLine,p=o.showGradientFill,g=o.anyFill,y=o.anyLine,v=t[0],_=v.trace,b=c(_),T=b.colorscale,k=b.reversescale,A=u.hasMarkers(_)||!g?"M5,0":y?"M5,-2":"M5,-3",M=n.select(this),S=M.select(".legendfill").selectAll("path").data(l||p?[t]:[]);if(S.enter().append("path").classed("js-fill",!0),S.exit().remove(),S.attr("d",A+"h"+x+"v6h-"+x+"z").call((function(t){if(t.size())if(l)s.fillGroupStyle(t,e,!0);else{var r="legendfill-"+_.uid;s.gradient(t,e,r,d(k),T,"fill")}})),h||f){var E=w(void 0,_.line,10,5);i=a.minExtend(_,{line:{width:E}}),r=[a.minExtend(v,{trace:i})]}var C=M.select(".legendlines").selectAll("path").data(h||f?[r]:[]);C.enter().append("path").classed("js-line",!0),C.exit().remove(),C.attr("d",A+(f?"l"+x+",0.0001":"h"+x)).call(h?s.lineGroupStyle:function(t){if(t.size()){var r="legendline-"+_.uid;s.lineGroupStyle(t),s.gradient(t,e,r,d(k),T,"stroke")}})})).each((function(t){var r,i,o=m(t),l=o.anyFill,c=o.anyLine,h=o.showLine,f=o.showMarker,p=t[0],d=p.trace,g=!f&&!c&&!l&&u.hasText(d);function y(t,e,r,n){var i=a.nestedProperty(d,t).get(),o=a.isArrayOrTypedArray(i)&&e?e(i):i;if(v&&o&&void 0!==n&&(o=n),r){if(or[1])return r[1]}return o}function x(t){return p._distinct&&p.index&&t[p.index]?t[p.index]:t[0]}if(f||g||h){var _={},w={};if(f){_.mc=y("marker.color",x),_.mx=y("marker.symbol",x),_.mo=y("marker.opacity",a.mean,[.2,1]),_.mlc=y("marker.line.color",x),_.mlw=y("marker.line.width",a.mean,[0,5],2),w.marker={sizeref:1,sizemin:1,sizemode:"diameter"};var T=y("marker.size",a.mean,[2,16],12);_.ms=T,w.marker.size=T}h&&(w.line={width:y("line.width",x,[0,10],5)}),g&&(_.tx="Aa",_.tp=y("textposition",x),_.ts=10,_.tc=y("textfont.color",x),_.tf=y("textfont.family",x),_.tw=y("textfont.weight",x),_.ty=y("textfont.style",x),_.tv=y("textfont.variant",x),_.tC=y("textfont.textcase",x),_.tE=y("textfont.lineposition",x),_.tS=y("textfont.shadow",x)),r=[a.minExtend(p,_)],(i=a.minExtend(d,w)).selectedpoints=null,i.texttemplate=null}var k=n.select(this).select("g.legendpoints"),A=k.selectAll("path.scatterpts").data(f?r:[]);A.enter().insert("path",":first-child").classed("scatterpts",!0).attr("transform",b),A.exit().remove(),A.call(s.pointStyle,i,e),f&&(r[0].mrc=3);var M=k.selectAll("g.pointtext").data(g?r:[]);M.enter().append("g").classed("pointtext",!0).append("text").attr("transform",b),M.exit().remove(),M.selectAll("text").call(s.textPointStyle,i,e)})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendcandle").data(e.visible&&"candlestick"===e.type?[t,t]:[]);r.enter().append("path").classed("legendcandle",!0).attr("d",(function(t,e){return e?"M-15,0H-8M-8,6V-6H8Z":"M15,0H8M8,-6V6H-8Z"})).attr("transform",b).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("stroke-width",o+"px").call(l.fill,a.fillcolor),o&&l.stroke(i,a.line.color)}))})).each((function(t){var e=t[0].trace,r=n.select(this).select("g.legendpoints").selectAll("path.legendohlc").data(e.visible&&"ohlc"===e.type?[t,t]:[]);r.enter().append("path").classed("legendohlc",!0).attr("d",(function(t,e){return e?"M-15,0H0M-8,-6V0":"M15,0H0M8,6V0"})).attr("transform",b).style("stroke-miterlimit",1),r.exit().remove(),r.each((function(t,r){var i=n.select(this),a=e[r?"increasing":"decreasing"],o=w(void 0,a.line,5,2);i.style("fill","none").call(s.dashLine,a.line.dash,o),o&&l.stroke(i,a.line.color)}))}))}},50308:function(t,e,r){"use strict";r(87632),t.exports={editType:"modebar",orientation:{valType:"enumerated",values:["v","h"],dflt:"h",editType:"modebar"},bgcolor:{valType:"color",editType:"modebar"},color:{valType:"color",editType:"modebar"},activecolor:{valType:"color",editType:"modebar"},uirevision:{valType:"any",editType:"none"},add:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"},remove:{valType:"string",arrayOk:!0,dflt:"",editType:"modebar"}}},5832:function(t,e,r){"use strict";var n=r(33626),i=r(44122),a=r(5975),o=r(35188),s=r(28231).eraseActiveShape,l=r(34809),c=l._,u=t.exports={};function h(t,e){var r,i,o=e.currentTarget,s=o.getAttribute("data-attr"),l=o.getAttribute("data-val")||!0,c=t._fullLayout,u={},h=a.list(t,null,!0),f=c._cartesianSpikesEnabled;if("zoom"===s){var p,d="in"===l?.5:2,m=(1+d)/2,g=(1-d)/2;for(i=0;i1?(z=["toggleHover"],O=["resetViews"]):y?(P=["zoomInGeo","zoomOutGeo"],z=["hoverClosestGeo"],O=["resetGeo"]):g?(z=["hoverClosest3d"],O=["resetCameraDefault3d","resetCameraLastSave3d"]):w?(P=["zoomInMapbox","zoomOutMapbox"],z=["toggleHover"],O=["resetViewMapbox"]):T?(P=["zoomInMap","zoomOutMap"],z=["toggleHover"],O=["resetViewMap"]):_?z=["hoverClosestGl2d"]:v?z=["hoverClosestPie"]:M?(z=["hoverClosestCartesian","hoverCompareCartesian"],O=["resetViewSankey"]):z=["toggleHover"],m&&z.push("toggleSpikelines","hoverClosestCartesian","hoverCompareCartesian"),(function(t){for(var e=0;e0)){var m=function(t,e,r){for(var n=r.filter((function(r){return e[r].anchor===t._id})),i=0,a=0;a0?t.touches[0].clientX:0}function y(t,e,r,n){var i=o.ensureSingle(t,"rect",m.bgClassName,(function(t){t.attr({x:0,y:0,"shape-rendering":"crispEdges"})})),a=n.borderwidth%2==0?n.borderwidth:n.borderwidth-1,u=-n._offsetShift,h=l.crispRound(e,n.borderwidth);i.attr({width:n._width+a,height:n._height+a,transform:s(u,u),"stroke-width":h}).call(c.stroke,n.bordercolor).call(c.fill,n.bgcolor)}function v(t,e,r,n){var i=e._fullLayout;o.ensureSingleById(i._topdefs,"clipPath",n._clipId,(function(t){t.append("rect").attr({x:0,y:0})})).select("rect").attr({width:n._width,height:n._height})}function x(t,e,r,i){var s,c=e.calcdata,u=t.selectAll("g."+m.rangePlotClassName).data(r._subplotsWith,o.identity);u.enter().append("g").attr("class",(function(t){return m.rangePlotClassName+" "+t})).call(l.setClipUrl,i._clipId,e),u.order(),u.exit().remove(),u.each((function(t,o){var l=n.select(this),u=0===o,p=f.getFromId(e,t,"y"),d=p._name,m=i[d],g={data:[],layout:{xaxis:{type:r.type,domain:[0,1],range:i.range.slice(),calendar:r.calendar},width:i._width,height:i._height,margin:{t:0,b:0,l:0,r:0}},_context:e._context};r.rangebreaks&&(g.layout.xaxis.rangebreaks=r.rangebreaks),g.layout[d]={type:p.type,domain:[0,1],range:"match"!==m.rangemode?m.range.slice():p.range.slice(),calendar:p.calendar},p.rangebreaks&&(g.layout[d].rangebreaks=p.rangebreaks),a.supplyDefaults(g);var y=g._fullLayout.xaxis,v=g._fullLayout[d];y.clearCalc(),y.setScale(),v.clearCalc(),v.setScale();var x={id:t,plotgroup:l,xaxis:y,yaxis:v,isRangePlot:!0};u?s=x:(x.mainplot="xy",x.mainplotinfo=s),h.rangePlot(e,x,function(t,e){for(var r=[],n=0;n=n.max)e=B[r+1];else if(t=n.pmax)e=B[r+1];else if(tr._length||v+b<0)return;u=y+b,p=v+b;break;case l:if(_="col-resize",y+b>r._length)return;u=y+b,p=v;break;case c:if(_="col-resize",v+b<0)return;u=y,p=v+b;break;default:_="ew-resize",u=m,p=m+b}if(p=0;k--){var A=r.append("path").attr(g).style("opacity",k?.1:y).call(o.stroke,x).call(o.fill,v).call(s.dashLine,k?"solid":b,k?4+_:_);if(d(A,t,a),w){var M=l(t.layout,"selections",a);A.style({cursor:"move"});var S={element:A.node(),plotinfo:p,gd:t,editHelpers:M,isActiveSelection:!0},E=n(c,t);i(E,A,S)}else A.style("pointer-events",k?"all":"none");T[k]=A}var C=T[0];T[1].node().addEventListener("click",(function(){return function(t,e){if(f(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeSelectionIndex)return void m(t);t._fullLayout._activeSelectionIndex=r,t._fullLayout._deactivateSelection=m,h(t)}}}(t,C)}))}(t._fullLayout._selectionLayer)}function d(t,e,r){var n=r.xref+r.yref;s.setClipUrl(t,"clip"+e._fullLayout._uid+n,e)}function m(t){f(t)&&t._fullLayout._activeSelectionIndex>=0&&(a(t),delete t._fullLayout._activeSelectionIndex,h(t))}t.exports={draw:h,drawOne:p,activateLastSelection:function(t){if(f(t)){var e=t._fullLayout.selections.length-1;t._fullLayout._activeSelectionIndex=e,t._fullLayout._deactivateSelection=m,h(t)}}}},52307:function(t,e,r){"use strict";var n=r(94850).T,i=r(93049).extendFlat;t.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:i({},n,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}},43028:function(t){"use strict";t.exports=function(t,e,r){r("newselection.mode"),r("newselection.line.width")&&(r("newselection.line.color"),r("newselection.line.dash")),r("activeselection.fillcolor"),r("activeselection.opacity")}},51817:function(t,e,r){"use strict";var n=r(70414).selectMode,i=r(78534).clearOutline,a=r(81055),o=a.readPaths,s=a.writePaths,l=a.fixDatesForPaths;t.exports=function(t,e){if(t.length){var r=t[0][0];if(r){var a=r.getAttribute("d"),c=e.gd,u=c._fullLayout.newselection,h=e.plotinfo,f=h.xaxis,p=h.yaxis,d=e.isActiveSelection,m=e.dragmode,g=(c.layout||{}).selections||[];if(!n(m)&&void 0!==d){var y=c._fullLayout._activeSelectionIndex;if(y-1,_=[];if(function(t){return t&&Array.isArray(t)&&!0!==t[0].hoverOnBox}(y)){Z(t,e,a);var b=function(t,e){var r,n,i=t[0],a=-1,o=[];for(n=0;n0?function(t,e){var r,n,i,a=[];for(i=0;i0&&a.push(r);if(1===a.length&&a[0]===e.searchInfo&&(n=e.searchInfo.cd[0].trace).selectedpoints.length===e.pointNumbers.length){for(i=0;i1)return!1;if((n+=e.selectedpoints.length)>1)return!1}return 1===n}(s)&&(f=J(b))){for(o&&o.remove(),g=0;g=0})(i)&&i._fullLayout._deactivateShape(i),function(t){return t._fullLayout._activeSelectionIndex>=0}(i)&&i._fullLayout._deactivateSelection(i);var o=i._fullLayout._zoomlayer,s=p(r),l=m(r);if(s||l){var c,u,h=o.selectAll(".select-outline-"+n.id);h&&i._fullLayout._outlining&&(s&&(c=T(h,t)),c&&a.call("_guiRelayout",i,{shapes:c}),l&&!U(t)&&(u=k(h,t)),u&&(i._fullLayout._noEmitSelectedAtStart=!0,a.call("_guiRelayout",i,{selections:u}).then((function(){e&&A(i)}))),i._fullLayout._outlining=!1)}n.selection={},n.selection.selectionDefs=t.selectionDefs=[],n.selection.mergedPolygons=t.mergedPolygons=[]}function Y(t){return t._id}function X(t,e,r,n){if(!t.calcdata)return[];var i,a,o,s=[],l=e.map(Y),c=r.map(Y);for(o=0;o0?n[0]:r;return!!e.selectedpoints&&e.selectedpoints.indexOf(i)>-1}function K(t,e,r){var n,i;for(n=0;n-1&&e;if(!a&&e){var et=ot(t,!0);if(et.length){var nt=et[0].xref,pt=et[0].yref;if(nt&&pt){var dt=ct(et);ut([L(t,nt,"x"),L(t,pt,"y")])(Q,dt)}}t._fullLayout._noEmitSelectedAtStart?t._fullLayout._noEmitSelectedAtStart=!1:tt&&ht(t,Q),f._reselect=!1}if(!a&&f._deselect){var mt=f._deselect;(function(t,e,r){for(var n=0;n=0)k._fullLayout._deactivateShape(k);else if(!x){var r=A.clickmode;C.done(Mt).then((function(){if(C.clear(Mt),2===t){for(_t.remove(),J=0;J-1&&V(e,k,n.xaxes,n.yaxes,n.subplot,n,_t),"event"===r&&ht(k,void 0);l.click(k,e,I.id)})).catch(M.error)}},n.doneFn=function(){kt.remove(),C.done(Mt).then((function(){C.clear(Mt),!S&&$&&n.selectionDefs&&($.subtract=xt,n.selectionDefs.push($),n.mergedPolygons.length=0,[].push.apply(n.mergedPolygons,Y)),(S||x)&&W(n,S),n.doneFnCompleted&&n.doneFnCompleted(St),_&&ht(k,at)})).catch(M.error)}},clearOutline:x,clearSelectionsCache:W,selectOnClick:V}},43144:function(t,e,r){"use strict";var n=r(50222),i=r(80337),a=r(36640).line,o=r(94850).T,s=r(93049).extendFlat,l=r(78032).templatedArray,c=(r(35081),r(9829)),u=r(3208).LF,h=r(41235);t.exports=l("shape",{visible:s({},c.visible,{editType:"calc+arraydraw"}),showlegend:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},legend:s({},c.legend,{editType:"calc+arraydraw"}),legendgroup:s({},c.legendgroup,{editType:"calc+arraydraw"}),legendgrouptitle:{text:s({},c.legendgrouptitle.text,{editType:"calc+arraydraw"}),font:i({editType:"calc+arraydraw"}),editType:"calc+arraydraw"},legendrank:s({},c.legendrank,{editType:"calc+arraydraw"}),legendwidth:s({},c.legendwidth,{editType:"calc+arraydraw"}),type:{valType:"enumerated",values:["circle","rect","path","line"],editType:"calc+arraydraw"},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above",editType:"arraydraw"},xref:s({},n.xref,{}),xsizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},xanchor:{valType:"any",editType:"calc+arraydraw"},x0:{valType:"any",editType:"calc+arraydraw"},x1:{valType:"any",editType:"calc+arraydraw"},x0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},x1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},yref:s({},n.yref,{}),ysizemode:{valType:"enumerated",values:["scaled","pixel"],dflt:"scaled",editType:"calc+arraydraw"},yanchor:{valType:"any",editType:"calc+arraydraw"},y0:{valType:"any",editType:"calc+arraydraw"},y1:{valType:"any",editType:"calc+arraydraw"},y0shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},y1shift:{valType:"number",dflt:0,min:-1,max:1,editType:"calc"},path:{valType:"string",editType:"calc+arraydraw"},opacity:{valType:"number",min:0,max:1,dflt:1,editType:"arraydraw"},line:{color:s({},a.color,{editType:"arraydraw"}),width:s({},a.width,{editType:"calc+arraydraw"}),dash:s({},o,{editType:"arraydraw"}),editType:"calc+arraydraw"},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"arraydraw"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd",editType:"arraydraw"},editable:{valType:"boolean",dflt:!1,editType:"calc+arraydraw"},label:{text:{valType:"string",dflt:"",editType:"arraydraw"},texttemplate:u({},{keys:Object.keys(h)}),font:i({editType:"calc+arraydraw",colorEditType:"arraydraw"}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"],editType:"arraydraw"},textangle:{valType:"angle",dflt:"auto",editType:"calc+arraydraw"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto",editType:"calc+arraydraw"},yanchor:{valType:"enumerated",values:["top","middle","bottom"],editType:"calc+arraydraw"},padding:{valType:"number",dflt:3,min:0,editType:"arraydraw"},editType:"arraydraw"},editType:"arraydraw"})},44959:function(t,e,r){"use strict";var n=r(34809),i=r(29714),a=r(2956),o=r(49728);function s(t){return c(t.line.width,t.xsizemode,t.x0,t.x1,t.path,!1)}function l(t){return c(t.line.width,t.ysizemode,t.y0,t.y1,t.path,!0)}function c(t,e,r,i,s,l){var c=t/2,u=l;if("pixel"===e){var h=s?o.extractPathCoords(s,l?a.paramIsY:a.paramIsX):[r,i],f=n.aggNums(Math.max,null,h),p=n.aggNums(Math.min,null,h),d=p<0?Math.abs(p)+c:c,m=f>0?f+c:c;return{ppad:c,ppadplus:u?d:m,ppadminus:u?m:d}}return{ppad:c}}function u(t,e,r){var n,i,s="x"===t._id.charAt(0)?"x":"y",l="category"===t.type||"multicategory"===t.type,c=0,u=0,h=l?t.r2c:t.d2c;if("scaled"===e[s+"sizemode"]?(n=e[s+"0"],i=e[s+"1"],l&&(c=e[s+"0shift"],u=e[s+"1shift"])):(n=e[s+"anchor"],i=e[s+"anchor"]),void 0!==n)return[h(n)+c,h(i)+u];if(e.path){var f,p,d,m,g=1/0,y=-1/0,v=e.path.match(a.segmentRE);for("date"===t.type&&(h=o.decodeDate(h)),f=0;fy&&(y=m)));return y>=g?[g,y]:void 0}}t.exports=function(t){var e=t._fullLayout,r=n.filterVisible(e.shapes);if(r.length&&t._fullData.length)for(var o=0;o=t?e-n:n-e,-180/Math.PI*Math.atan2(i,a)}(x,b,_,w):0),A.call((function(e){return e.call(o.font,k).attr({}),a.convertToTspans(e,t),e}));var G=function(t,e,r,n,i,a,o){var s,l,c,u,f=i.label.textposition,p=i.label.textangle,d=i.label.padding,m=i.type,g=Math.PI/180*a,y=Math.sin(g),v=Math.cos(g),x=i.label.xanchor,_=i.label.yanchor;if("line"===m){"start"===f?(s=t,l=e):"end"===f?(s=r,l=n):(s=(t+r)/2,l=(e+n)/2),"auto"===x&&(x="start"===f?"auto"===p?r>t?"left":rt?"right":rt?"right":rt?"left":r1&&(2!==t.length||"Z"!==t[1][0])&&(0===L&&(t[0][0]="M"),e[C]=t,A(),M())}}()}}function V(t,r){!function(t,r){if(e.length)for(var n=0;nb?(M=p,L="y0",S=b,I="y1"):(M=b,L="y1",S=p,I="y0"),it(n),st(l,r),function(t,e,r){var n=e.xref,i=e.yref,a=o.getFromId(r,n),s=o.getFromId(r,i),l="";"paper"===n||a.autorange||(l+=n),"paper"===i||s.autorange||(l+=i),f.setClipUrl(t,l?"clip"+r._fullLayout._uid+l:null,r)}(e,r,t),nt.moveFn="move"===D?at:ot,nt.altKey=n.altKey)},doneFn:function(){_(t)||(m(e),lt(l),T(e,t,r),i.call("_guiRelayout",t,u.getUpdateObj()))},clickFn:function(){_(t)||lt(l)}};function it(r){if(_(t))D=null;else if(j)D="path"===r.target.tagName?"move":"start-point"===r.target.attributes["data-line-point"].value?"resize-over-start-point":"resize-over-end-point";else{var n=nt.element.getBoundingClientRect(),i=n.right-n.left,a=n.bottom-n.top,o=r.clientX-n.left,s=r.clientY-n.top,l=!U&&i>R&&a>F&&!r.shiftKey?d.getCursor(o/i,1-s/a):"move";m(e,l),D=l.split("-")[0]}}function at(n,i){if("path"===r.type){var a=function(t){return t},o=a,u=a;B?V("xanchor",r.xanchor=tt(w+n)):(o=function(t){return tt(K(t)+n)},H&&"date"===H.type&&(o=y.encodeDate(o))),N?V("yanchor",r.yanchor=et(A+i)):(u=function(t){return et(Q(t)+i)},Z&&"date"===Z.type&&(u=y.encodeDate(u))),V("path",r.path=k(O,o,u))}else B?V("xanchor",r.xanchor=tt(w+n)):(V("x0",r.x0=tt(h+n)),V("x1",r.x1=tt(x+n))),N?V("yanchor",r.yanchor=et(A+i)):(V("y0",r.y0=et(p+i)),V("y1",r.y1=et(b+i)));e.attr("d",v(t,r)),st(l,r),c(t,s,r,q)}function ot(n,i){if(U){var a=function(t){return t},o=a,u=a;B?V("xanchor",r.xanchor=tt(w+n)):(o=function(t){return tt(K(t)+n)},H&&"date"===H.type&&(o=y.encodeDate(o))),N?V("yanchor",r.yanchor=et(A+i)):(u=function(t){return et(Q(t)+i)},Z&&"date"===Z.type&&(u=y.encodeDate(u))),V("path",r.path=k(O,o,u))}else if(j){if("resize-over-start-point"===D){var f=h+n,d=N?p-i:p+i;V("x0",r.x0=B?f:tt(f)),V("y0",r.y0=N?d:et(d))}else if("resize-over-end-point"===D){var m=x+n,g=N?b-i:b+i;V("x1",r.x1=B?m:tt(m)),V("y1",r.y1=N?g:et(g))}}else{var _=function(t){return-1!==D.indexOf(t)},T=_("n"),G=_("s"),W=_("w"),Y=_("e"),X=T?M+i:M,$=G?S+i:S,J=W?E+n:E,rt=Y?C+n:C;N&&(T&&(X=M-i),G&&($=S-i)),(!N&&$-X>F||N&&X-$>F)&&(V(L,r[L]=N?X:et(X)),V(I,r[I]=N?$:et($))),rt-J>R&&(V(P,r[P]=B?J:tt(J)),V(z,r[z]=B?rt:tt(rt)))}e.attr("d",v(t,r)),st(l,r),c(t,s,r,q)}function st(t,e){(B||N)&&function(){var r="path"!==e.type,n=t.selectAll(".visual-cue").data([0]);n.enter().append("path").attr({fill:"#fff","fill-rule":"evenodd",stroke:"#000","stroke-width":1}).classed("visual-cue",!0);var i=K(B?e.xanchor:a.midRange(r?[e.x0,e.x1]:y.extractPathCoords(e.path,g.paramIsX))),o=Q(N?e.yanchor:a.midRange(r?[e.y0,e.y1]:y.extractPathCoords(e.path,g.paramIsY)));if(i=y.roundPositionForSharpStrokeRendering(i,1),o=y.roundPositionForSharpStrokeRendering(o,1),B&&N){var s="M"+(i-1-1)+","+(o-1-1)+"h-8v2h8 v8h2v-8 h8v-2h-8 v-8h-2 Z";n.attr("d",s)}else if(B){var l="M"+(i-1-1)+","+(o-9-1)+"v18 h2 v-18 Z";n.attr("d",l)}else{var c="M"+(i-9-1)+","+(o-1-1)+"h18 v2 h-18 Z";n.attr("d",c)}}()}function lt(t){t.selectAll(".visual-cue").remove()}d.init(nt),rt.node().onmousemove=it}(t,F,u,e,r,D):!0===u.editable&&F.style("pointer-events",z||h.opacity(C)*E<=.5?"stroke":"all");F.node().addEventListener("click",(function(){return function(t,e){if(b(t)){var r=+e.node().getAttribute("data-index");if(r>=0){if(r===t._fullLayout._activeShapeIndex)return void A(t);t._fullLayout._activeShapeIndex=r,t._fullLayout._deactivateShape=A,x(t)}}}(t,F)}))}u._input&&!0===u.visible&&("above"===u.layer?M(t._fullLayout._shapeUpperLayer):"paper"===u.xref||"paper"===u.yref?M(t._fullLayout._shapeLowerLayer):"between"===u.layer?M(w.shapelayerBetween):w._hadPlotinfo?M((w.mainplotinfo||w).shapelayer):M(t._fullLayout._shapeLowerLayer))}function T(t,e,r){var n=(r.xref+r.yref).replace(/paper/g,"").replace(/[xyz][1-9]* *domain/g,"");f.setClipUrl(t,n?"clip"+e._fullLayout._uid+n:null,e)}function k(t,e,r){return t.replace(g.segmentRE,(function(t){var n=0,i=t.charAt(0),a=g.paramIsX[i],o=g.paramIsY[i],s=g.numParams[i];return i+t.substr(1).replace(g.paramRE,(function(t){return n>=s||(a[n]?t=e(t):o[n]&&(t=r(t)),n++),t}))}))}function A(t){b(t)&&t._fullLayout._activeShapeIndex>=0&&(u(t),delete t._fullLayout._activeShapeIndex,x(t))}t.exports={draw:x,drawOne:w,eraseActiveShape:function(t){if(b(t)){u(t);var e=t._fullLayout._activeShapeIndex,r=(t.layout||{}).shapes||[];if(e0&&lp&&(t="X"),t}));return a>p&&(d=d.replace(/[\s,]*X.*/,""),i.log("Ignoring extra params in segment "+t)),u+d}))}(r,l,u);if("pixel"===r.xsizemode){var A=l(r.xanchor);h=A+r.x0+b,f=A+r.x1+w}else h=l(r.x0)+b,f=l(r.x1)+w;if("pixel"===r.ysizemode){var M=u(r.yanchor);p=M-r.y0+T,d=M-r.y1+k}else p=u(r.y0)+T,d=u(r.y1)+k;if("line"===m)return"M"+h+","+p+"L"+f+","+d;if("rect"===m)return"M"+h+","+p+"H"+f+"V"+d+"H"+h+"Z";var S=(h+f)/2,E=(p+d)/2,C=Math.abs(S-h),L=Math.abs(E-p),I="A"+C+","+L,P=S+C+","+E;return"M"+P+I+" 0 1,1 "+S+","+(E-L)+I+" 0 0,1 "+P+"Z"}},43701:function(t,e,r){"use strict";var n=r(28231);t.exports={moduleType:"component",name:"shapes",layoutAttributes:r(43144),supplyLayoutDefaults:r(74367),supplyDrawNewShapeDefaults:r(85522),includeBasePlot:r(20706)("shapes"),calcAutorange:r(44959),draw:n.draw,drawOne:n.drawOne}},41235:function(t){"use strict";function e(t,e){return e?e.d2l(t):t}function r(t,e){return e?e.l2d(t):t}function n(t){return t.x0shift||0}function i(t){return t.x1shift||0}function a(t){return t.y0shift||0}function o(t){return t.y1shift||0}function s(t,r){return e(t.x1,r)+i(t)-e(t.x0,r)-n(t)}function l(t,r,n){return e(t.y1,n)+o(t)-e(t.y0,n)-a(t)}t.exports={x0:function(t){return t.x0},x1:function(t){return t.x1},y0:function(t){return t.y0},y1:function(t){return t.y1},slope:function(t,e,r){return"line"!==t.type?void 0:l(t,0,r)/s(t,e)},dx:s,dy:l,width:function(t,e){return Math.abs(s(t,e))},height:function(t,e,r){return Math.abs(l(t,0,r))},length:function(t,e,r){return"line"!==t.type?void 0:Math.sqrt(Math.pow(s(t,e),2)+Math.pow(l(t,0,r),2))},xcenter:function(t,a){return r((e(t.x1,a)+i(t)+e(t.x0,a)+n(t))/2,a)},ycenter:function(t,n,i){return r((e(t.y1,i)+o(t)+e(t.y0,i)+a(t))/2,i)}}},8606:function(t,e,r){"use strict";var n=r(80337),i=r(57891),a=r(93049).extendDeepAll,o=r(13582).overrideAll,s=r(49722),l=r(78032).templatedArray,c=r(64194),u=l("step",{visible:{valType:"boolean",dflt:!0},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string"},value:{valType:"string"},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("slider",{visible:{valType:"boolean",dflt:!0},active:{valType:"number",min:0,dflt:0},steps:u,lenmode:{valType:"enumerated",values:["fraction","pixels"],dflt:"fraction"},len:{valType:"number",min:0,dflt:1},x:{valType:"number",min:-2,max:3,dflt:0},pad:a(i({editType:"arraydraw"}),{},{t:{dflt:20}}),xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"left"},y:{valType:"number",min:-2,max:3,dflt:0},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},transition:{duration:{valType:"number",min:0,dflt:150},easing:{valType:"enumerated",values:s.transition.easing.values,dflt:"cubic-in-out"}},currentvalue:{visible:{valType:"boolean",dflt:!0},xanchor:{valType:"enumerated",values:["left","center","right"],dflt:"left"},offset:{valType:"number",dflt:10},prefix:{valType:"string"},suffix:{valType:"string"},font:n({})},font:n({}),activebgcolor:{valType:"color",dflt:c.gripBgActiveColor},bgcolor:{valType:"color",dflt:c.railBgColor},bordercolor:{valType:"color",dflt:c.railBorderColor},borderwidth:{valType:"number",min:0,dflt:c.railBorderWidth},ticklen:{valType:"number",min:0,dflt:c.tickLength},tickcolor:{valType:"color",dflt:c.tickColor},tickwidth:{valType:"number",min:0,dflt:1},minorticklen:{valType:"number",min:0,dflt:c.minorTickLength}}),"arraydraw","from-root")},64194:function(t){"use strict";t.exports={name:"sliders",containerClassName:"slider-container",groupClassName:"slider-group",inputAreaClass:"slider-input-area",railRectClass:"slider-rail-rect",railTouchRectClass:"slider-rail-touch-rect",gripRectClass:"slider-grip-rect",tickRectClass:"slider-tick-rect",inputProxyClass:"slider-input-proxy",labelsClass:"slider-labels",labelGroupClass:"slider-label-group",labelClass:"slider-label",currentValueClass:"slider-current-value",railHeight:5,menuIndexAttrName:"slider-active-index",autoMarginIdRoot:"slider-",minWidth:30,minHeight:30,textPadX:40,arrowOffsetX:4,railRadius:2,railWidth:5,railBorder:4,railBorderWidth:1,railBorderColor:"#bec8d9",railBgColor:"#f8fafc",railInset:8,stepInset:10,gripRadius:10,gripWidth:20,gripHeight:20,gripBorder:20,gripBorderWidth:1,gripBorderColor:"#bec8d9",gripBgColor:"#f6f8fa",gripBgActiveColor:"#dbdde0",labelPadding:8,labelOffset:0,tickWidth:1,tickColor:"#333",tickOffset:25,tickLength:7,minorTickOffset:25,minorTickColor:"#333",minorTickLength:4,currentValuePadding:8,currentValueInset:0}},74537:function(t,e,r){"use strict";var n=r(34809),i=r(59008),a=r(8606),o=r(64194).name,s=a.steps;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}for(var s=i(t,e,{name:"steps",handleItemDefaults:c}),l=0,u=0;u0&&(s=s.transition().duration(e.transition.duration).ease(e.transition.easing)),s.attr("transform",l(o-.5*h.gripWidth,e._dims.currentValueTotalHeight))}}function E(t,e){var r=t._dims;return r.inputAreaStart+h.stepInset+(r.inputAreaLength-2*h.stepInset)*Math.min(1,Math.max(0,e))}function C(t,e){var r=t._dims;return Math.min(1,Math.max(0,(e-h.stepInset-r.inputAreaStart)/(r.inputAreaLength-2*h.stepInset-2*r.inputAreaStart)))}function L(t,e,r){var n=r._dims,i=s.ensureSingle(t,"rect",h.railTouchRectClass,(function(n){n.call(A,e,t,r).style("pointer-events","all")}));i.attr({width:n.inputAreaLength,height:Math.max(n.inputAreaWidth,h.tickOffset+r.ticklen+n.labelHeight)}).call(a.fill,r.bgcolor).attr("opacity",0),o.setTranslate(i,0,n.currentValueTotalHeight)}function I(t,e){var r=e._dims,n=r.inputAreaLength-2*h.railInset,i=s.ensureSingle(t,"rect",h.railRectClass);i.attr({width:n,height:h.railWidth,rx:h.railRadius,ry:h.railRadius,"shape-rendering":"crispEdges"}).call(a.stroke,e.bordercolor).call(a.fill,e.bgcolor).style("stroke-width",e.borderwidth+"px"),o.setTranslate(i,h.railInset,.5*(r.inputAreaWidth-h.railWidth)+r.currentValueTotalHeight)}t.exports=function(t){var e=t._context.staticPlot,r=t._fullLayout,a=function(t,e){for(var r=t[h.name],n=[],i=0;i0?[0]:[]);function l(e){e._commandObserver&&(e._commandObserver.remove(),delete e._commandObserver),i.autoMargin(t,g(e))}if(s.enter().append("g").classed(h.containerClassName,!0).style("cursor",e?null:"ew-resize"),s.exit().each((function(){n.select(this).selectAll("g."+h.groupClassName).each(l)})).remove(),0!==a.length){var c=s.selectAll("g."+h.groupClassName).data(a,y);c.enter().append("g").classed(h.groupClassName,!0),c.exit().each(l).remove();for(var u=0;u0||T<0){var E={left:[-k,0],right:[k,0],top:[0,-k],bottom:[0,k]}[b.side];a.attr("transform",l(E[0],E[1]))}}}function ft(t,e){t.text(e).on("mouseover.opacity",(function(){n.select(this).transition().duration(f.SHOW_PLACEHOLDER).style("opacity",1)})).on("mouseout.opacity",(function(){n.select(this).transition().duration(f.HIDE_PLACEHOLDER).style("opacity",0)}))}if(at.call(ct,ot),et&&(S?at.on(".opacity",null):(ft(at,x),E=!0),at.call(h.makeEditable,{gd:t}).on("edit",(function(e){void 0!==_?o.call("_guiRestyle",t,v,e,_):o.call("_guiRelayout",t,v,e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(ct)})).on("input",(function(t){this.text(t||" ").call(h.positionText,w.x,w.y)})),N)){if(N&&!S){var pt=at.node().getBBox(),dt=pt.y+pt.height+1.6*W;ot.attr("y",dt)}V?ot.on(".opacity",null):(ft(ot,j),q=!0),ot.call(h.makeEditable,{gd:t}).on("edit",(function(e){o.call("_guiRelayout",t,"title.subtitle.text",e)})).on("cancel",(function(){this.text(this.attr("data-unformatted")).call(ct)})).on("input",(function(t){this.text(t||" ").call(h.positionText,ot.attr("x"),ot.attr("y"))}))}return at.classed("js-placeholder",E),ot&&ot.classed("js-placeholder",q),k},SUBTITLE_PADDING_EM:1.6,SUBTITLE_PADDING_MATHJAX_EM:1.6}},85389:function(t,e,r){"use strict";var n=r(80337),i=r(10229),a=r(93049).extendFlat,o=r(13582).overrideAll,s=r(57891),l=r(78032).templatedArray,c=l("button",{visible:{valType:"boolean"},method:{valType:"enumerated",values:["restyle","relayout","animate","update","skip"],dflt:"restyle"},args:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},args2:{valType:"info_array",freeLength:!0,items:[{valType:"any"},{valType:"any"},{valType:"any"}]},label:{valType:"string",dflt:""},execute:{valType:"boolean",dflt:!0}});t.exports=o(l("updatemenu",{_arrayAttrRegexps:[/^updatemenus\[(0|[1-9][0-9]+)\]\.buttons/],visible:{valType:"boolean"},type:{valType:"enumerated",values:["dropdown","buttons"],dflt:"dropdown"},direction:{valType:"enumerated",values:["left","right","up","down"],dflt:"down"},active:{valType:"integer",min:-1,dflt:0},showactive:{valType:"boolean",dflt:!0},buttons:c,x:{valType:"number",min:-2,max:3,dflt:-.05},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"right"},y:{valType:"number",min:-2,max:3,dflt:1},yanchor:{valType:"enumerated",values:["auto","top","middle","bottom"],dflt:"top"},pad:a(s({editType:"arraydraw"}),{}),font:n({}),bgcolor:{valType:"color"},bordercolor:{valType:"color",dflt:i.borderLine},borderwidth:{valType:"number",min:0,dflt:1,editType:"arraydraw"}}),"arraydraw","from-root")},71559:function(t){"use strict";t.exports={name:"updatemenus",containerClassName:"updatemenu-container",headerGroupClassName:"updatemenu-header-group",headerClassName:"updatemenu-header",headerArrowClassName:"updatemenu-header-arrow",dropdownButtonGroupClassName:"updatemenu-dropdown-button-group",dropdownButtonClassName:"updatemenu-dropdown-button",buttonClassName:"updatemenu-button",itemRectClassName:"updatemenu-item-rect",itemTextClassName:"updatemenu-item-text",menuIndexAttrName:"updatemenu-active-index",autoMarginIdRoot:"updatemenu-",blankHeaderOpts:{label:" "},minWidth:30,minHeight:30,textPadX:24,arrowPadX:16,rx:2,ry:2,textOffsetX:12,textOffsetY:3,arrowOffsetX:4,gapButtonHeader:5,gapButton:2,activeColor:"#F4FAFF",hoverColor:"#F4FAFF",arrowSymbol:{left:"◄",right:"►",up:"▲",down:"▼"}}},42746:function(t,e,r){"use strict";var n=r(34809),i=r(59008),a=r(85389),o=r(71559).name,s=a.buttons;function l(t,e,r){function o(r,i){return n.coerce(t,e,a,r,i)}o("visible",i(t,e,{name:"buttons",handleItemDefaults:c}).length>0)&&(o("active"),o("direction"),o("type"),o("showactive"),o("x"),o("y"),n.noneOrAll(t,e,["x","y"]),o("xanchor"),o("yanchor"),o("pad.t"),o("pad.r"),o("pad.b"),o("pad.l"),n.coerceFont(o,"font",r.font),o("bgcolor",r.paper_bgcolor),o("bordercolor"),o("borderwidth"))}function c(t,e){function r(r,i){return n.coerce(t,e,s,r,i)}r("visible","skip"===t.method||Array.isArray(t.args))&&(r("method"),r("args"),r("args2"),r("label"),r("execute"))}t.exports=function(t,e){i(t,e,{name:o,handleItemDefaults:l})}},40974:function(t,e,r){"use strict";var n=r(45568),i=r(44122),a=r(78766),o=r(62203),s=r(34809),l=r(30635),c=r(78032).arrayEditor,u=r(4530).LINE_SPACING,h=r(71559),f=r(21736);function p(t){return t._index}function d(t,e){return+t.attr(h.menuIndexAttrName)===e._index}function m(t,e,r,n,i,a,o,s){e.active=o,c(t.layout,h.name,e).applyUpdate("active",o),"buttons"===e.type?y(t,n,null,null,e):"dropdown"===e.type&&(i.attr(h.menuIndexAttrName,"-1"),g(t,n,i,a,e),s||y(t,n,i,a,e))}function g(t,e,r,n,i){var a=s.ensureSingle(e,"g",h.headerClassName,(function(t){t.style("pointer-events","all")})),l=i._dims,c=i.active,u=i.buttons[c]||h.blankHeaderOpts,f={y:i.pad.t,yPad:0,x:i.pad.l,xPad:0,index:0},p={width:l.headerWidth,height:l.headerHeight};a.call(v,i,u,t).call(M,i,f,p),s.ensureSingle(e,"text",h.headerArrowClassName,(function(t){t.attr("text-anchor","end").call(o.font,i.font).text(h.arrowSymbol[i.direction])})).attr({x:l.headerWidth-h.arrowOffsetX+i.pad.l,y:l.headerHeight/2+h.textOffsetY+i.pad.t}),a.on("click",(function(){r.call(S,String(d(r,i)?-1:i._index)),y(t,e,r,n,i)})),a.on("mouseover",(function(){a.call(w)})),a.on("mouseout",(function(){a.call(T,i)})),o.setTranslate(e,l.lx,l.ly)}function y(t,e,r,a,o){r||(r=e).attr("pointer-events","all");var l=function(t){return-1==+t.attr(h.menuIndexAttrName)}(r)&&"buttons"!==o.type?[]:o.buttons,c="dropdown"===o.type?h.dropdownButtonClassName:h.buttonClassName,u=r.selectAll("g."+c).data(s.filterVisible(l)),f=u.enter().append("g").classed(c,!0),p=u.exit();"dropdown"===o.type?(f.attr("opacity","0").transition().attr("opacity","1"),p.transition().attr("opacity","0").remove()):p.remove();var d=0,g=0,y=o._dims,x=-1!==["up","down"].indexOf(o.direction);"dropdown"===o.type&&(x?g=y.headerHeight+h.gapButtonHeader:d=y.headerWidth+h.gapButtonHeader),"dropdown"===o.type&&"up"===o.direction&&(g=-h.gapButtonHeader+h.gapButton-y.openHeight),"dropdown"===o.type&&"left"===o.direction&&(d=-h.gapButtonHeader+h.gapButton-y.openWidth);var _={x:y.lx+d+o.pad.l,y:y.ly+g+o.pad.t,yPad:h.gapButton,xPad:h.gapButton,index:0},k={l:_.x+o.borderwidth,t:_.y+o.borderwidth};u.each((function(s,l){var c=n.select(this);c.call(v,o,s,t).call(M,o,_),c.on("click",(function(){n.event.defaultPrevented||(s.execute&&(s.args2&&o.active===l?(m(t,o,0,e,r,a,-1),i.executeAPICommand(t,s.method,s.args2)):(m(t,o,0,e,r,a,l),i.executeAPICommand(t,s.method,s.args))),t.emit("plotly_buttonclicked",{menu:o,button:s,active:o.active}))})),c.on("mouseover",(function(){c.call(w)})),c.on("mouseout",(function(){c.call(T,o),u.call(b,o)}))})),u.call(b,o),x?(k.w=Math.max(y.openWidth,y.headerWidth),k.h=_.y-k.t):(k.w=_.x-k.l,k.h=Math.max(y.openHeight,y.headerHeight)),k.direction=o.direction,a&&(u.size()?function(t,e,r,n,i,a){var o,s,l,c=i.direction,u="up"===c||"down"===c,f=i._dims,p=i.active;if(u)for(s=0,l=0;l0?[0]:[]);if(o.enter().append("g").classed(h.containerClassName,!0).style("cursor","pointer"),o.exit().each((function(){n.select(this).selectAll("g."+h.headerGroupClassName).each(a)})).remove(),0!==r.length){var l=o.selectAll("g."+h.headerGroupClassName).data(r,p);l.enter().append("g").classed(h.headerGroupClassName,!0);for(var c=s.ensureSingle(o,"g",h.dropdownButtonGroupClassName,(function(t){t.style("pointer-events","all")})),u=0;uw,A=s.barLength+2*s.barPad,M=s.barWidth+2*s.barPad,S=d,E=g+y;E+M>c&&(E=c-M);var C=this.container.selectAll("rect.scrollbar-horizontal").data(k?[0]:[]);C.exit().on(".drag",null).remove(),C.enter().append("rect").classed("scrollbar-horizontal",!0).call(i.fill,s.barColor),k?(this.hbar=C.attr({rx:s.barRadius,ry:s.barRadius,x:S,y:E,width:A,height:M}),this._hbarXMin=S+A/2,this._hbarTranslateMax=w-A):(delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax);var L=y>T,I=s.barWidth+2*s.barPad,P=s.barLength+2*s.barPad,z=d+m,O=g;z+I>l&&(z=l-I);var D=this.container.selectAll("rect.scrollbar-vertical").data(L?[0]:[]);D.exit().on(".drag",null).remove(),D.enter().append("rect").classed("scrollbar-vertical",!0).call(i.fill,s.barColor),L?(this.vbar=D.attr({rx:s.barRadius,ry:s.barRadius,x:z,y:O,width:I,height:P}),this._vbarYMin=O+P/2,this._vbarTranslateMax=T-P):(delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax);var R=this.id,F=u-.5,B=L?h+I+.5:h+.5,N=f-.5,j=k?p+M+.5:p+.5,U=o._topdefs.selectAll("#"+R).data(k||L?[0]:[]);if(U.exit().remove(),U.enter().append("clipPath").attr("id",R).append("rect"),k||L?(this._clipRect=U.select("rect").attr({x:Math.floor(F),y:Math.floor(N),width:Math.ceil(B)-Math.floor(F),height:Math.ceil(j)-Math.floor(N)}),this.container.call(a.setClipUrl,R,this.gd),this.bg.attr({x:d,y:g,width:m,height:y})):(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),k||L){var V=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault()})).on("drag",this._onBoxDrag.bind(this));this.container.on("wheel",null).on("wheel",this._onBoxWheel.bind(this)).on(".drag",null).call(V);var q=n.behavior.drag().on("dragstart",(function(){n.event.sourceEvent.preventDefault(),n.event.sourceEvent.stopPropagation()})).on("drag",this._onBarDrag.bind(this));k&&this.hbar.on(".drag",null).call(q),L&&this.vbar.on(".drag",null).call(q)}this.setTranslate(e,r)},s.prototype.disable=function(){(this.hbar||this.vbar)&&(this.bg.attr({width:0,height:0}),this.container.on("wheel",null).on(".drag",null).call(a.setClipUrl,null),delete this._clipRect),this.hbar&&(this.hbar.on(".drag",null),this.hbar.remove(),delete this.hbar,delete this._hbarXMin,delete this._hbarTranslateMax),this.vbar&&(this.vbar.on(".drag",null),this.vbar.remove(),delete this.vbar,delete this._vbarYMin,delete this._vbarTranslateMax)},s.prototype._onBoxDrag=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t-=n.event.dx),this.vbar&&(e-=n.event.dy),this.setTranslate(t,e)},s.prototype._onBoxWheel=function(){var t=this.translateX,e=this.translateY;this.hbar&&(t+=n.event.deltaY),this.vbar&&(e+=n.event.deltaY),this.setTranslate(t,e)},s.prototype._onBarDrag=function(){var t=this.translateX,e=this.translateY;if(this.hbar){var r=t+this._hbarXMin,i=r+this._hbarTranslateMax;t=(o.constrain(n.event.x,r,i)-r)/(i-r)*(this.position.w-this._box.w)}if(this.vbar){var a=e+this._vbarYMin,s=a+this._vbarTranslateMax;e=(o.constrain(n.event.y,a,s)-a)/(s-a)*(this.position.h-this._box.h)}this.setTranslate(t,e)},s.prototype.setTranslate=function(t,e){var r=this.position.w-this._box.w,n=this.position.h-this._box.h;if(t=o.constrain(t||0,0,r),e=o.constrain(e||0,0,n),this.translateX=t,this.translateY=e,this.container.call(a.setTranslate,this._box.l-this.position.l-t,this._box.t-this.position.t-e),this._clipRect&&this._clipRect.attr({x:Math.floor(this.position.l+t-.5),y:Math.floor(this.position.t+e-.5)}),this.hbar){var i=t/r;this.hbar.call(a.setTranslate,t+i*this._hbarTranslateMax,e)}if(this.vbar){var s=e/n;this.vbar.call(a.setTranslate,t,e+s*this._vbarTranslateMax)}}},4530:function(t){"use strict";t.exports={FROM_BL:{left:0,center:.5,right:1,bottom:0,middle:.5,top:1},FROM_TL:{left:0,center:.5,right:1,bottom:1,middle:.5,top:0},FROM_BR:{left:1,center:.5,right:0,bottom:0,middle:.5,top:1},LINE_SPACING:1.3,CAP_SHIFT:.7,MID_SHIFT:.35,OPPOSITE_SIDE:{left:"right",right:"left",top:"bottom",bottom:"top"}}},35081:function(t){"use strict";t.exports={axisRefDescription:function(t,e,r){return["If set to a",t,"axis id (e.g. *"+t+"* or","*"+t+"2*), the `"+t+"` position refers to a",t,"coordinate. If set to *paper*, the `"+t+"`","position refers to the distance from the",e,"of the plotting","area in normalized coordinates where *0* (*1*) corresponds to the",e,"("+r+"). If set to a",t,"axis ID followed by","*domain* (separated by a space), the position behaves like for","*paper*, but refers to the distance in fractions of the domain","length from the",e,"of the domain of that axis: e.g.,","*"+t+"2 domain* refers to the domain of the second",t," axis and a",t,"position of 0.5 refers to the","point between the",e,"and the",r,"of the domain of the","second",t,"axis."].join(" ")}}},20909:function(t){"use strict";t.exports={INCREASING:{COLOR:"#3D9970",SYMBOL:"▲"},DECREASING:{COLOR:"#FF4136",SYMBOL:"▼"}}},87296:function(t){"use strict";t.exports={FORMAT_LINK:"https://github.com/d3/d3-format/tree/v1.4.5#d3-format",DATE_FORMAT_LINK:"https://github.com/d3/d3-time-format/tree/v2.2.3#locale_format"}},20726:function(t){"use strict";t.exports={COMPARISON_OPS:["=","!=","<",">=",">","<="],COMPARISON_OPS2:["=","<",">=",">","<="],INTERVAL_OPS:["[]","()","[)","(]","][",")(","](",")["],SET_OPS:["{}","}{"],CONSTRAINT_REDUCTION:{"=":"=","<":"<","<=":"<",">":">",">=":">","[]":"[]","()":"[]","[)":"[]","(]":"[]","][":"][",")(":"][","](":"][",")[":"]["}}},84770:function(t){"use strict";t.exports={solid:[[],0],dot:[[.5,1],200],dash:[[.5,1],50],longdash:[[.5,1],10],dashdot:[[.5,.625,.875,1],50],longdashdot:[[.5,.7,.8,1],10]}},49467:function(t){"use strict";t.exports={circle:"●","circle-open":"○",square:"■","square-open":"□",diamond:"◆","diamond-open":"◇",cross:"+",x:"❌"}},20438:function(t){"use strict";t.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}},63821:function(t){"use strict";t.exports={BADNUM:void 0,FP_SAFE:1e-4*Number.MAX_VALUE,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,ONEMILLI:1,ONEMICROSEC:.001,EPOCHJD:2440587.5,ALMOST_EQUAL:.999999,LOG_CLIP:10,MINUS_SIGN:"−"}},1837:function(t,e){"use strict";e.CSS_DECLARATIONS=[["image-rendering","optimizeSpeed"],["image-rendering","-moz-crisp-edges"],["image-rendering","-o-crisp-edges"],["image-rendering","-webkit-optimize-contrast"],["image-rendering","optimize-contrast"],["image-rendering","crisp-edges"],["image-rendering","pixelated"]],e.STYLE=e.CSS_DECLARATIONS.map((function(t){return t.join(": ")+"; "})).join("")},62972:function(t,e){"use strict";e.xmlns="http://www.w3.org/2000/xmlns/",e.svg="http://www.w3.org/2000/svg",e.xlink="http://www.w3.org/1999/xlink",e.svgAttrs={xmlns:e.svg,"xmlns:xlink":e.xlink}},17430:function(t,e,r){"use strict";e.version=r(29697).version,r(71116),r(6713);for(var n=r(33626),i=e.register=n.register,a=r(90742),o=Object.keys(a),s=0;s",""," ",""," plotly-logomark"," "," "," "," "," "," "," "," "," "," "," "," "," ",""].join("")}}},32546:function(t,e){"use strict";e.isLeftAnchor=function(t){return"left"===t.xanchor||"auto"===t.xanchor&&t.x<=1/3},e.isCenterAnchor=function(t){return"center"===t.xanchor||"auto"===t.xanchor&&t.x>1/3&&t.x<2/3},e.isRightAnchor=function(t){return"right"===t.xanchor||"auto"===t.xanchor&&t.x>=2/3},e.isTopAnchor=function(t){return"top"===t.yanchor||"auto"===t.yanchor&&t.y>=2/3},e.isMiddleAnchor=function(t){return"middle"===t.yanchor||"auto"===t.yanchor&&t.y>1/3&&t.y<2/3},e.isBottomAnchor=function(t){return"bottom"===t.yanchor||"auto"===t.yanchor&&t.y<=1/3}},44313:function(t,e,r){"use strict";var n=r(98953),i=n.mod,a=n.modHalf,o=Math.PI,s=2*o;function l(t){return Math.abs(t[1]-t[0])>s-1e-14}function c(t,e){return a(e-t,s)}function u(t,e){if(l(e))return!0;var r,n;e[0](n=i(n,s))&&(n+=s);var a=i(t,s),o=a+s;return a>=r&&a<=n||o>=r&&o<=n}function h(t,e,r,n,i,a,c){i=i||0,a=a||0;var u,h,f,p,d,m=l([r,n]);function g(t,e){return[t*Math.cos(e)+i,a-t*Math.sin(e)]}m?(u=0,h=o,f=s):r=i&&t<=a);var i,a},pathArc:function(t,e,r,n,i){return h(null,t,e,r,n,i,0)},pathSector:function(t,e,r,n,i){return h(null,t,e,r,n,i,1)},pathAnnulus:function(t,e,r,n,i,a){return h(t,e,r,n,i,a,1)}}},87800:function(t,e,r){"use strict";var n=r(93229).decode,i=r(56174),a=Array.isArray,o=ArrayBuffer,s=DataView;function l(t){return o.isView(t)&&!(t instanceof s)}function c(t){return a(t)||l(t)}e.isTypedArray=l,e.isArrayOrTypedArray=c,e.isArray1D=function(t){return!c(t[0])},e.ensureArray=function(t,e){return a(t)||(t=[]),t.length=e,t};var u={u1c:"undefined"==typeof Uint8ClampedArray?void 0:Uint8ClampedArray,i1:"undefined"==typeof Int8Array?void 0:Int8Array,u1:"undefined"==typeof Uint8Array?void 0:Uint8Array,i2:"undefined"==typeof Int16Array?void 0:Int16Array,u2:"undefined"==typeof Uint16Array?void 0:Uint16Array,i4:"undefined"==typeof Int32Array?void 0:Int32Array,u4:"undefined"==typeof Uint32Array?void 0:Uint32Array,f4:"undefined"==typeof Float32Array?void 0:Float32Array,f8:"undefined"==typeof Float64Array?void 0:Float64Array};function h(t){return t.constructor===ArrayBuffer}function f(t,e,r){if(c(t)){if(c(t[0])){for(var n=r,i=0;ii.max?e.set(r):e.set(+t)}},integer:{coerceFunction:function(t,e,r,i){-1===(i.extras||[]).indexOf(t)?(d(t)&&(t=m(t)),t%1||!n(t)||void 0!==i.min&&ti.max?e.set(r):e.set(+t)):e.set(t)}},string:{coerceFunction:function(t,e,r,n){if("string"!=typeof t){var i="number"==typeof t;!0!==n.strict&&i?e.set(String(t)):e.set(r)}else n.noBlank&&!t?e.set(r):e.set(t)}},color:{coerceFunction:function(t,e,r){d(t)&&(t=m(t)),i(t).isValid()?e.set(t):e.set(r)}},colorlist:{coerceFunction:function(t,e,r){Array.isArray(t)&&t.length&&t.every((function(t){return i(t).isValid()}))?e.set(t):e.set(r)}},colorscale:{coerceFunction:function(t,e,r){e.set(s.get(t,r))}},angle:{coerceFunction:function(t,e,r){d(t)&&(t=m(t)),"auto"===t?e.set("auto"):n(t)?e.set(f(+t,360)):e.set(r)}},subplotid:{coerceFunction:function(t,e,r,n){var i=n.regex||h(r);"string"==typeof t&&i.test(t)?e.set(t):e.set(r)},validateFunction:function(t,e){var r=e.dflt;return t===r||"string"==typeof t&&!!h(r).test(t)}},flaglist:{coerceFunction:function(t,e,r,n){if(-1===(n.extras||[]).indexOf(t))if("string"==typeof t){for(var i=t.split("+"),a=0;a=n&&t<=i?t:u}if("string"!=typeof t&&"number"!=typeof t)return u;t=String(t);var c=b(r),y=t.charAt(0);!c||"G"!==y&&"g"!==y||(t=t.substr(1),r="");var w=c&&"chinese"===r.substr(0,7),T=t.match(w?x:v);if(!T)return u;var k=T[1],A=T[3]||"1",M=Number(T[5]||1),S=Number(T[7]||0),E=Number(T[9]||0),C=Number(T[11]||0);if(c){if(2===k.length)return u;var L;k=Number(k);try{var I=g.getComponentMethod("calendars","getCal")(r);if(w){var P="i"===A.charAt(A.length-1);A=parseInt(A,10),L=I.newDate(k,I.toMonthIndex(k,A,P),M)}else L=I.newDate(k,Number(A),M)}catch(t){return u}return L?(L.toJD()-m)*h+S*f+E*p+C*d:u}k=2===k.length?(Number(k)+2e3-_)%100+_:Number(k),A-=1;var z=new Date(Date.UTC(2e3,A,M,S,E));return z.setUTCFullYear(k),z.getUTCMonth()!==A||z.getUTCDate()!==M?u:z.getTime()+C*d},n=e.MIN_MS=e.dateTime2ms("-9999"),i=e.MAX_MS=e.dateTime2ms("9999-12-31 23:59:59.9999"),e.isDateTime=function(t,r){return e.dateTime2ms(t,r)!==u};var T=90*h,k=3*f,A=5*p;function M(t,e,r,n,i){if((e||r||n||i)&&(t+=" "+w(e,2)+":"+w(r,2),(n||i)&&(t+=":"+w(n,2),i))){for(var a=4;i%10==0;)a-=1,i/=10;t+="."+w(i,a)}return t}e.ms2DateTime=function(t,e,r){if("number"!=typeof t||!(t>=n&&t<=i))return u;e||(e=0);var a,o,s,c,v,x,_=Math.floor(10*l(t+.05,1)),w=Math.round(t-_/10);if(b(r)){var S=Math.floor(w/h)+m,E=Math.floor(l(t,h));try{a=g.getComponentMethod("calendars","getCal")(r).fromJD(S).formatDate("yyyy-mm-dd")}catch(t){a=y("G%Y-%m-%d")(new Date(w))}if("-"===a.charAt(0))for(;a.length<11;)a="-0"+a.substr(1);else for(;a.length<10;)a="0"+a;o=e=n+h&&t<=i-h))return u;var e=Math.floor(10*l(t+.05,1)),r=new Date(Math.round(t-e/10));return M(a("%Y-%m-%d")(r),r.getHours(),r.getMinutes(),r.getSeconds(),10*r.getUTCMilliseconds()+e)},e.cleanDate=function(t,r,n){if(t===u)return r;if(e.isJSDate(t)||"number"==typeof t&&isFinite(t)){if(b(n))return s.error("JS Dates and milliseconds are incompatible with world calendars",t),r;if(!(t=e.ms2DateTimeLocal(+t))&&void 0!==r)return r}else if(!e.isDateTime(t,n))return s.error("unrecognized date",t),r;return t};var S=/%\d?f/g,E=/%h/g,C={1:"1",2:"1",3:"2",4:"2"};function L(t,e,r,n){t=t.replace(S,(function(t){var r=Math.min(+t.charAt(1)||6,6);return(e/1e3%1+2).toFixed(r).substr(2).replace(/0+$/,"")||"0"}));var i=new Date(Math.floor(e+.05));if(t=t.replace(E,(function(){return C[r("%q")(i)]})),b(n))try{t=g.getComponentMethod("calendars","worldCalFmt")(t,e,n)}catch(t){return"Invalid"}return r(t)(i)}var I=[59,59.9,59.99,59.999,59.9999];e.formatDate=function(t,e,r,n,i,a){if(i=b(i)&&i,!e)if("y"===r)e=a.year;else if("m"===r)e=a.month;else{if("d"!==r)return function(t,e){var r=l(t+.05,h),n=w(Math.floor(r/f),2)+":"+w(l(Math.floor(r/p),60),2);if("M"!==e){o(e)||(e=0);var i=(100+Math.min(l(t/d,60),I[e])).toFixed(e).substr(1);e>0&&(i=i.replace(/0+$/,"").replace(/[\.]$/,"")),n+=":"+i}return n}(t,r)+"\n"+L(a.dayMonthYear,t,n,i);e=a.dayMonth+"\n"+a.year}return L(e,t,n,i)};var P=3*h;e.incrementMonth=function(t,e,r){r=b(r)&&r;var n=l(t,h);if(t=Math.round(t-n),r)try{var i=Math.round(t/h)+m,a=g.getComponentMethod("calendars","getCal")(r),o=a.fromJD(i);return e%12?a.add(o,e,"m"):a.add(o,e/12,"y"),(o.toJD()-m)*h+n}catch(e){s.error("invalid ms "+t+" in calendar "+r)}var c=new Date(t+P);return c.setUTCMonth(c.getUTCMonth()+e)+n-P},e.findExactDates=function(t,e){for(var r,n,i=0,a=0,s=0,l=0,c=b(e)&&g.getComponentMethod("calendars","getCal")(e),u=0;u0&&t[e+1][0]<0)return e;return null}switch(e="RUS"===s||"FJI"===s?function(t){var e;if(null===c(t))e=t;else for(e=new Array(t.length),i=0;ie?r[n++]=[t[i][0]+360,t[i][1]]:i===e?(r[n++]=t[i],r[n++]=[t[i][0],-90]):r[n++]=t[i];var a=f.tester(r);a.pts.pop(),l.push(a)}:function(t){l.push(f.tester(t))},a.type){case"MultiPolygon":for(r=0;r0?u.properties.ct=function(t){var e,r=t.geometry;if("MultiPolygon"===r.type)for(var n=r.coordinates,i=0,s=0;si&&(i=c,e=l)}else e=r;return o(e).geometry.coordinates}(u):u.properties.ct=[NaN,NaN],n.fIn=t,n.fOut=u,s.push(u)}else c.log(["Location",n.loc,"does not have a valid GeoJSON geometry.","Traces with locationmode *geojson-id* only support","*Polygon* and *MultiPolygon* geometries."].join(" "))}delete i[r]}switch(r.type){case"FeatureCollection":var f=r.features;for(n=0;n100?(clearInterval(a),n("Unexpected error while fetching from "+t)):void i++}),50)}))}for(var o=0;o0&&(r.push(i),i=[])}return i.length>0&&r.push(i),r},e.makeLine=function(t){return 1===t.length?{type:"LineString",coordinates:t[0]}:{type:"MultiLineString",coordinates:t}},e.makePolygon=function(t){if(1===t.length)return{type:"Polygon",coordinates:t};for(var e=new Array(t.length),r=0;r1||m<0||m>1?null:{x:t+l*m,y:e+h*m}}function l(t,e,r,n,i){var a=n*t+i*e;if(a<0)return n*n+i*i;if(a>r){var o=n-t,s=i-e;return o*o+s*s}var l=n*e-i*t;return l*l/r}e.segmentsIntersect=s,e.segmentDistance=function(t,e,r,n,i,a,o,c){if(s(t,e,r,n,i,a,o,c))return 0;var u=r-t,h=n-e,f=o-i,p=c-a,d=u*u+h*h,m=f*f+p*p,g=Math.min(l(u,h,d,i-t,a-e),l(u,h,d,o-t,c-e),l(f,p,m,t-i,e-a),l(f,p,m,r-i,n-a));return Math.sqrt(g)},e.getTextLocation=function(t,e,r,s){if(t===i&&s===a||(n={},i=t,a=s),n[r])return n[r];var l=t.getPointAtLength(o(r-s/2,e)),c=t.getPointAtLength(o(r+s/2,e)),u=Math.atan((c.y-l.y)/(c.x-l.x)),h=t.getPointAtLength(o(r,e)),f={x:(4*h.x+l.x+c.x)/6,y:(4*h.y+l.y+c.y)/6,theta:u};return n[r]=f,f},e.clearLocationCache=function(){i=null},e.getVisibleSegment=function(t,e,r){var n,i,a=e.left,o=e.right,s=e.top,l=e.bottom,c=0,u=t.getTotalLength(),h=u;function f(e){var r=t.getPointAtLength(e);0===e?n=r:e===u&&(i=r);var c=r.xo?r.x-o:0,h=r.yl?r.y-l:0;return Math.sqrt(c*c+h*h)}for(var p=f(c);p;){if((c+=p+r)>h)return;p=f(c)}for(p=f(h);p;){if(c>(h-=p+r))return;p=f(h)}return{min:c,max:h,len:h-c,total:u,isClosed:0===c&&h===u&&Math.abs(n.x-i.x)<.1&&Math.abs(n.y-i.y)<.1}},e.findPointOnPath=function(t,e,r,n){for(var i,a,o,s=(n=n||{}).pathLength||t.getTotalLength(),l=n.tolerance||.001,c=n.iterationLimit||30,u=t.getPointAtLength(0)[r]>t.getPointAtLength(s)[r]?-1:1,h=0,f=0,p=s;h0?p=i:f=i,h++}return a}},46998:function(t,e,r){"use strict";var n=r(10721),i=r(65657),a=r(162),o=r(88856),s=r(10229).defaultLine,l=r(87800).isArrayOrTypedArray,c=a(s);function u(t,e){var r=t;return r[3]*=e,r}function h(t){if(n(t))return c;var e=a(t);return e.length?e:c}function f(t){return n(t)?t:1}t.exports={formatColor:function(t,e,r){var n=t.color;n&&n._inputArray&&(n=n._inputArray);var i,s,p,d,m,g=l(n),y=l(e),v=o.extractOpts(t),x=[];if(i=void 0!==v.colorscale?o.makeColorScaleFuncFromTrace(t):h,s=g?function(t,e){return void 0===t[e]?c:a(i(t[e]))}:h,p=y?function(t,e){return void 0===t[e]?1:f(t[e])}:f,g||y)for(var _=0;_1?(r*t+r*e)/r:t+e,i=String(n).length;if(i>16){var a=String(e).length;if(i>=String(t).length+a){var o=parseFloat(n).toPrecision(12);-1===o.indexOf("e+")&&(n=+o)}}return n}},34809:function(t,e,r){"use strict";var n=r(45568),i=r(42696).aL,a=r(36464).GP,o=r(10721),s=r(63821),l=s.FP_SAFE,c=-l,u=s.BADNUM,h=t.exports={};h.adjustFormat=function(t){return!t||/^\d[.]\df/.test(t)||/[.]\d%/.test(t)?t:"0.f"===t?"~f":/^\d%/.test(t)?"~%":/^\ds/.test(t)?"~s":!/^[~,.0$]/.test(t)&&/[&fps]/.test(t)?"~"+t:t};var f={};h.warnBadFormat=function(t){var e=String(t);f[e]||(f[e]=1,h.warn('encountered bad format: "'+e+'"'))},h.noFormat=function(t){return String(t)},h.numberFormat=function(t){var e;try{e=a(h.adjustFormat(t))}catch(e){return h.warnBadFormat(t),h.noFormat}return e},h.nestedProperty=r(35632),h.keyedContainer=r(34967),h.relativeAttr=r(82047),h.isPlainObject=r(56174),h.toLogRange=r(8083),h.relinkPrivateKeys=r(80428);var p=r(87800);h.isArrayBuffer=p.isArrayBuffer,h.isTypedArray=p.isTypedArray,h.isArrayOrTypedArray=p.isArrayOrTypedArray,h.isArray1D=p.isArray1D,h.ensureArray=p.ensureArray,h.concat=p.concat,h.maxRowLength=p.maxRowLength,h.minRowLength=p.minRowLength;var d=r(98953);h.mod=d.mod,h.modHalf=d.modHalf;var m=r(34220);h.valObjectMeta=m.valObjectMeta,h.coerce=m.coerce,h.coerce2=m.coerce2,h.coerceFont=m.coerceFont,h.coercePattern=m.coercePattern,h.coerceHoverinfo=m.coerceHoverinfo,h.coerceSelectionMarkerOpacity=m.coerceSelectionMarkerOpacity,h.validate=m.validate;var g=r(92596);h.dateTime2ms=g.dateTime2ms,h.isDateTime=g.isDateTime,h.ms2DateTime=g.ms2DateTime,h.ms2DateTimeLocal=g.ms2DateTimeLocal,h.cleanDate=g.cleanDate,h.isJSDate=g.isJSDate,h.formatDate=g.formatDate,h.incrementMonth=g.incrementMonth,h.dateTick0=g.dateTick0,h.dfltRange=g.dfltRange,h.findExactDates=g.findExactDates,h.MIN_MS=g.MIN_MS,h.MAX_MS=g.MAX_MS;var y=r(98813);h.findBin=y.findBin,h.sorterAsc=y.sorterAsc,h.sorterDes=y.sorterDes,h.distinctVals=y.distinctVals,h.roundUp=y.roundUp,h.sort=y.sort,h.findIndexOfMin=y.findIndexOfMin,h.sortObjectKeys=r(62994);var v=r(89258);h.aggNums=v.aggNums,h.len=v.len,h.mean=v.mean,h.geometricMean=v.geometricMean,h.median=v.median,h.midRange=v.midRange,h.variance=v.variance,h.stdev=v.stdev,h.interp=v.interp;var x=r(15236);h.init2dArray=x.init2dArray,h.transposeRagged=x.transposeRagged,h.dot=x.dot,h.translationMatrix=x.translationMatrix,h.rotationMatrix=x.rotationMatrix,h.rotationXYMatrix=x.rotationXYMatrix,h.apply3DTransform=x.apply3DTransform,h.apply2DTransform=x.apply2DTransform,h.apply2DTransform2=x.apply2DTransform2,h.convertCssMatrix=x.convertCssMatrix,h.inverseTransformMatrix=x.inverseTransformMatrix;var _=r(44313);h.deg2rad=_.deg2rad,h.rad2deg=_.rad2deg,h.angleDelta=_.angleDelta,h.angleDist=_.angleDist,h.isFullCircle=_.isFullCircle,h.isAngleInsideSector=_.isAngleInsideSector,h.isPtInsideSector=_.isPtInsideSector,h.pathArc=_.pathArc,h.pathSector=_.pathSector,h.pathAnnulus=_.pathAnnulus;var b=r(32546);h.isLeftAnchor=b.isLeftAnchor,h.isCenterAnchor=b.isCenterAnchor,h.isRightAnchor=b.isRightAnchor,h.isTopAnchor=b.isTopAnchor,h.isMiddleAnchor=b.isMiddleAnchor,h.isBottomAnchor=b.isBottomAnchor;var w=r(3447);h.segmentsIntersect=w.segmentsIntersect,h.segmentDistance=w.segmentDistance,h.getTextLocation=w.getTextLocation,h.clearLocationCache=w.clearLocationCache,h.getVisibleSegment=w.getVisibleSegment,h.findPointOnPath=w.findPointOnPath;var T=r(93049);h.extendFlat=T.extendFlat,h.extendDeep=T.extendDeep,h.extendDeepAll=T.extendDeepAll,h.extendDeepNoArrays=T.extendDeepNoArrays;var k=r(48636);h.log=k.log,h.warn=k.warn,h.error=k.error;var A=r(90694);h.counterRegex=A.counter;var M=r(64025);h.throttle=M.throttle,h.throttleDone=M.done,h.clearThrottle=M.clear;var S=r(95425);function E(t){var e={};for(var r in t)for(var n=t[r],i=0;il||t=e)&&o(t)&&t>=0&&t%1==0},h.noop=r(4969),h.identity=r(29527),h.repeat=function(t,e){for(var r=new Array(e),n=0;nr?Math.max(r,Math.min(e,t)):Math.max(e,Math.min(r,t))},h.bBoxIntersect=function(t,e,r){return r=r||0,t.left<=e.right+r&&e.left<=t.right+r&&t.top<=e.bottom+r&&e.top<=t.bottom+r},h.simpleMap=function(t,e,r,n,i){for(var a=t.length,o=new Array(a),s=0;s=Math.pow(2,r)?i>10?(h.warn("randstr failed uniqueness"),l):t(e,r,n,(i||0)+1):l},h.OptionControl=function(t,e){t||(t={}),e||(e="opt");var r={optionList:[],_newoption:function(n){n[e]=t,r[n.name]=n,r.optionList.push(n)}};return r["_"+e]=t,r},h.smooth=function(t,e){if((e=Math.round(e)||0)<2)return t;var r,n,i,a,o=t.length,s=2*o,l=2*e-1,c=new Array(l),u=new Array(o);for(r=0;r=s&&(i-=s*Math.floor(i/s)),i<0?i=-1-i:i>=o&&(i=s-1-i),a+=t[i]*c[n];u[r]=a}return u},h.syncOrAsync=function(t,e,r){var n;function i(){return h.syncOrAsync(t,e,r)}for(;t.length;)if((n=(0,t.splice(0,1)[0])(e))&&n.then)return n.then(i);return r&&r(e)},h.stripTrailingSlash=function(t){return"/"===t.substr(-1)?t.substr(0,t.length-1):t},h.noneOrAll=function(t,e,r){if(t){var n,i=!1,a=!0;for(n=0;n0?e:0}))},h.fillArray=function(t,e,r,n){if(n=n||h.identity,h.isArrayOrTypedArray(t))for(var i=0;i1?i+o[1]:"";if(a&&(o.length>1||s.length>4||r))for(;n.test(s);)s=s.replace(n,"$1"+a+"$2");return s+l},h.TEMPLATE_STRING_REGEX=/%{([^\s%{}:]*)([:|\|][^}]*)?}/g;var D=/^\w*$/;h.templateString=function(t,e){var r={};return t.replace(h.TEMPLATE_STRING_REGEX,(function(t,n){var i;return D.test(n)?i=e[n]:(r[n]=r[n]||h.nestedProperty(e,n).get,i=r[n]()),h.isValidTextValue(i)?i:""}))};var R={max:10,count:0,name:"hovertemplate"};h.hovertemplateString=function(){return U.apply(R,arguments)};var F={max:10,count:0,name:"texttemplate"};h.texttemplateString=function(){return U.apply(F,arguments)};var B=/^(\S+)([\*\/])(-?\d+(\.\d+)?)$/,N={max:10,count:0,name:"texttemplate",parseMultDiv:!0};h.texttemplateStringForShapes=function(){return U.apply(N,arguments)};var j=/^[:|\|]/;function U(t,e,r){var n=this,a=arguments;e||(e={});var o={};return t.replace(h.TEMPLATE_STRING_REGEX,(function(t,s,l){var c="_xother"===s||"_yother"===s,u="_xother_"===s||"_yother_"===s,f="xother_"===s||"yother_"===s,p="xother"===s||"yother"===s||c||f||u,d=s;(c||u)&&(d=d.substring(1)),(f||u)&&(d=d.substring(0,d.length-1));var m,g,y,v=null,x=null;if(n.parseMultDiv){var _=function(t){var e=t.match(B);return e?{key:e[1],op:e[2],number:Number(e[3])}:{key:t,op:null,number:null}}(d);d=_.key,v=_.op,x=_.number}if(p){if(void 0===(m=e[d]))return""}else for(y=3;y=48&&o<=57,c=s>=48&&s<=57;if(l&&(n=10*n+o-48),c&&(i=10*i+s-48),!l||!c){if(n!==i)return n-i;if(o!==s)return o-s}}return i-n};var V=2e9;h.seedPseudoRandom=function(){V=2e9},h.pseudoRandom=function(){var t=V;return V=(69069*V+1)%4294967296,Math.abs(V-t)<429496729?h.pseudoRandom():V/4294967296},h.fillText=function(t,e,r){var n=Array.isArray(r)?function(t){r.push(t)}:function(t){r.text=t},i=h.extractOption(t,e,"htx","hovertext");if(h.isValidTextValue(i))return n(i);var a=h.extractOption(t,e,"tx","text");return h.isValidTextValue(a)?n(a):void 0},h.isValidTextValue=function(t){return t||0===t},h.formatPercent=function(t,e){e=e||0;for(var r=(Math.round(100*t*Math.pow(10,e))*Math.pow(.1,e)).toFixed(e)+"%",n=0;n1&&(c=1):c=0,h.strTranslate(i-c*(r+o),a-c*(n+s))+h.strScale(c)+(l?"rotate("+l+(e?"":" "+r+" "+n)+")":"")},h.setTransormAndDisplay=function(t,e){t.attr("transform",h.getTextTransform(e)),t.style("display",e.scale?null:"none")},h.ensureUniformFontSize=function(t,e){var r=h.extendFlat({},e);return r.size=Math.max(e.size,t._fullLayout.uniformtext.minsize||0),r},h.join2=function(t,e,r){var n=t.length;return n>1?t.slice(0,-1).join(e)+r+t[n-1]:t.join(e)},h.bigFont=function(t){return Math.round(1.2*t)};var q=h.getFirefoxVersion(),H=null!==q&&q<86;h.getPositionFromD3Event=function(){return H?[n.event.layerX,n.event.layerY]:[n.event.offsetX,n.event.offsetY]}},56174:function(t){"use strict";t.exports=function(t){return window&&window.process&&window.process.versions?"[object Object]"===Object.prototype.toString.call(t):"[object Object]"===Object.prototype.toString.call(t)&&Object.getPrototypeOf(t).hasOwnProperty("hasOwnProperty")}},34967:function(t,e,r){"use strict";var n=r(35632),i=/^\w*$/;t.exports=function(t,e,r,a){var o,s,l;r=r||"name",a=a||"value";var c={};e&&e.length?(l=n(t,e),s=l.get()):s=t,e=e||"";var u={};if(s)for(o=0;o2)return c[e]=2|c[e],f.set(t,null);if(h){for(o=e;o1){var e=["LOG:"];for(t=0;t1){var r=[];for(t=0;t"),"long")}},a.warn=function(){var t;if(n.logging>0){var e=["WARN:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}},a.error=function(){var t;if(n.logging>0){var e=["ERROR:"];for(t=0;t0){var r=[];for(t=0;t"),"stick")}}},75944:function(t,e,r){"use strict";var n=r(45568);t.exports=function(t,e,r){var i=t.selectAll("g."+r.replace(/\s/g,".")).data(e,(function(t){return t[0].trace.uid}));i.exit().remove(),i.enter().append("g").attr("class",r),i.order();var a=t.classed("rangeplot")?"nodeRangePlot3":"node3";return i.each((function(t){t[0][a]=n.select(this)})),i}},15236:function(t,e,r){"use strict";var n=r(11191);e.init2dArray=function(t,e){for(var r=new Array(t),n=0;ne/2?t-Math.round(t/e)*e:t}}},35632:function(t,e,r){"use strict";var n=r(10721),i=r(87800).isArrayOrTypedArray;function a(t,e){return function(){var r,n,o,s,l,c=t;for(s=0;s/g),l=0;la||c===i||cs||e&&l(t))}:function(t,e){var l=t[0],c=t[1];if(l===i||la||c===i||cs)return!1;var u,h,f,p,d,m=r.length,g=r[0][0],y=r[0][1],v=0;for(u=1;uMath.max(h,g)||c>Math.max(f,y)))if(cu||Math.abs(n(o,f))>i)return!0;return!1},a.filter=function(t,e){var r=[t[0]],n=0,i=0;function o(o){t.push(o);var s=r.length,l=n;r.splice(i+1);for(var c=l+1;c1&&o(t.pop()),{addPt:o,raw:t,filtered:r}}},22459:function(t,e,r){"use strict";var n=r(97464),i=r(81330);t.exports=function(t,e,a){var o=t._fullLayout,s=!0;return o._glcanvas.each((function(n){if(n.regl)n.regl.preloadCachedCode(a);else if(!n.pick||o._has("parcoords")){try{n.regl=i({canvas:this,attributes:{antialias:!n.pick,preserveDrawingBuffer:!0},pixelRatio:t._context.plotGlPixelRatio||r.g.devicePixelRatio,extensions:e||[],cachedCode:a||{}})}catch(t){s=!1}n.regl||(s=!1),s&&this.addEventListener("webglcontextlost",(function(e){t&&t.emit&&t.emit("plotly_webglcontextlost",{event:e,layer:n.key})}),!1)}})),s||n({container:o._glcontainer.node()}),s}},32521:function(t,e,r){"use strict";var n=r(10721),i=r(13087);t.exports=function(t){var e;if("string"!=typeof(e=t&&t.hasOwnProperty("userAgent")?t.userAgent:function(){var t;return"undefined"!=typeof navigator&&(t=navigator.userAgent),t&&t.headers&&"string"==typeof t.headers["user-agent"]&&(t=t.headers["user-agent"]),t}()))return!0;var r=i({ua:{headers:{"user-agent":e}},tablet:!0,featureDetect:!1});if(!r)for(var a=e.split(" "),o=1;o-1;s--){var l=a[s];if("Version/"===l.substr(0,8)){var c=l.substr(8).split(".")[0];if(n(c)&&(c=+c),c>=13)return!0}}return r}},36539:function(t){"use strict";t.exports=function(t,e){if(e instanceof RegExp){for(var r=e.toString(),n=0;ni.queueLength&&(t.undoQueue.queue.shift(),t.undoQueue.index--))},startSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!0,t.undoQueue.beginSequence=!0},stopSequence:function(t){t.undoQueue=t.undoQueue||{index:0,queue:[],sequence:!1},t.undoQueue.sequence=!1,t.undoQueue.beginSequence=!1},undo:function(t){var e,r;if(!(void 0===t.undoQueue||isNaN(t.undoQueue.index)||t.undoQueue.index<=0)){for(t.undoQueue.index--,e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;r=t.undoQueue.queue.length)){for(e=t.undoQueue.queue[t.undoQueue.index],t.undoQueue.inSequence=!0,r=0;re}function h(t,e){return t>=e}e.findBin=function(t,e,r){if(n(e.start))return r?Math.ceil((t-e.start)/e.size-s)-1:Math.floor((t-e.start)/e.size+s);var a,o,f=0,p=e.length,d=0,m=p>1?(e[p-1]-e[0])/(p-1):1;for(o=m>=0?r?l:c:r?h:u,t+=m*s*(r?-1:1)*(m>=0?1:-1);f90&&i.log("Long binary search..."),f-1},e.sorterAsc=function(t,e){return t-e},e.sorterDes=function(t,e){return e-t},e.distinctVals=function(t){var r,n=t.slice();for(n.sort(e.sorterAsc),r=n.length-1;r>-1&&n[r]===o;r--);for(var i,a=n[r]-n[0]||1,s=a/(r||1)/1e4,l=[],c=0;c<=r;c++){var u=n[c],h=u-i;void 0===i?(l.push(u),i=u):h>s&&(a=Math.min(a,h),l.push(u),i=u)}return{vals:l,minDiff:a}},e.roundUp=function(t,e,r){for(var n,i=0,a=e.length-1,o=0,s=r?0:1,l=r?1:0,c=r?Math.ceil:Math.floor;i0&&(n=1),r&&n)return t.sort(e)}return n?t:t.reverse()},e.findIndexOfMin=function(t,e){e=e||a;for(var r,n=1/0,i=0;ia.length)&&(o=a.length),n(r)||(r=!1),i(a[0])){for(l=new Array(o),s=0;st.length-1)return t[t.length-1];var r=e%1;return r*t[Math.ceil(e)]+(1-r)*t[Math.floor(e)]}},55010:function(t,e,r){"use strict";var n=r(162);t.exports=function(t){return t?n(t):[0,0,0,1]}},95544:function(t,e,r){"use strict";var n=r(1837),i=r(62203),a=r(34809),o=null;t.exports=function(){if(null!==o)return o;o=!1;var t=a.isIE()||a.isSafari()||a.isIOS();if(window.navigator.userAgent&&!t){var e=Array.from(n.CSS_DECLARATIONS).reverse(),r=window.CSS&&window.CSS.supports||window.supportsCSS;if("function"==typeof r)o=e.some((function(t){return r.apply(null,t)}));else{var s=i.tester.append("image").attr("style",n.STYLE),l=window.getComputedStyle(s.node()).imageRendering;o=e.some((function(t){var e=t[1];return l===e||l===e.toLowerCase()})),s.remove()}}return o}},30635:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=i.strTranslate,o=r(62972),s=r(4530).LINE_SPACING,l=/([^$]*)([$]+[^$]*[$]+)([^$]*)/;e.convertToTspans=function(t,r,g){var S=t.text(),E=!t.attr("data-notex")&&r&&r._context.typesetMath&&"undefined"!=typeof MathJax&&S.match(l),I=n.select(t.node().parentNode);if(!I.empty()){var P=t.attr("class")?t.attr("class").split(" ")[0]:"text";return P+="-math",I.selectAll("svg."+P).remove(),I.selectAll("g."+P+"-group").remove(),t.style("display",null).attr({"data-unformatted":S,"data-math":"N"}),E?(r&&r._promises||[]).push(new Promise((function(e){t.style("display","none");var r=parseInt(t.node().style.fontSize,10),o={fontSize:r};!function(t,e,r){var a,o,s,l,f=parseInt((MathJax.version||"").split(".")[0]);if(2===f||3===f){var p=function(){var r="math-output-"+i.randstr({},64),a=(l=n.select("body").append("div").attr({id:r}).style({visibility:"hidden",position:"absolute","font-size":e.fontSize+"px"}).text(t.replace(c,"\\lt ").replace(u,"\\gt "))).node();return 2===f?MathJax.Hub.Typeset(a):MathJax.typeset([a])},d=function(){var e=l.select(2===f?".MathJax_SVG":".MathJax"),a=!e.empty()&&l.select("svg").node();if(a){var o,s=a.getBoundingClientRect();o=2===f?n.select("body").select("#MathJax_SVG_glyphs"):e.select("defs"),r(e,o,s)}else i.log("There was an error in the tex syntax.",t),r();l.remove()};2===f?MathJax.Hub.Queue((function(){return o=i.extendDeepAll({},MathJax.Hub.config),s=MathJax.Hub.processSectionDelay,void 0!==MathJax.Hub.processSectionDelay&&(MathJax.Hub.processSectionDelay=0),MathJax.Hub.Config({messageStyle:"none",tex2jax:{inlineMath:h},displayAlign:"left"})}),(function(){if("SVG"!==(a=MathJax.Hub.config.menuSettings.renderer))return MathJax.Hub.setRenderer("SVG")}),p,d,(function(){if("SVG"!==a)return MathJax.Hub.setRenderer(a)}),(function(){return void 0!==s&&(MathJax.Hub.processSectionDelay=s),MathJax.Hub.Config(o)})):3===f&&(o=i.extendDeepAll({},MathJax.config),MathJax.config.tex||(MathJax.config.tex={}),MathJax.config.tex.inlineMath=h,"svg"!==(a=MathJax.config.startup.output)&&(MathJax.config.startup.output="svg"),MathJax.startup.defaultReady(),MathJax.startup.promise.then((function(){p(),d(),"svg"!==a&&(MathJax.config.startup.output=a),MathJax.config=o})))}else i.warn("No MathJax version:",MathJax.version)}(E[2],o,(function(n,i,o){I.selectAll("svg."+P).remove(),I.selectAll("g."+P+"-group").remove();var s=n&&n.select("svg");if(!s||!s.node())return z(),void e();var l=I.append("g").classed(P+"-group",!0).attr({"pointer-events":"none","data-unformatted":S,"data-math":"Y"});l.node().appendChild(s.node()),i&&i.node()&&s.node().insertBefore(i.node().cloneNode(!0),s.node().firstChild);var c=o.width,u=o.height;s.attr({class:P,height:u,preserveAspectRatio:"xMinYMin meet"}).style({overflow:"visible","pointer-events":"none"});var h=t.node().style.fill||"black",f=s.select("g");f.attr({fill:h,stroke:h});var p=f.node().getBoundingClientRect(),d=p.width,m=p.height;(d>c||m>u)&&(s.style("overflow","hidden"),d=(p=s.node().getBoundingClientRect()).width,m=p.height);var y=+t.attr("x"),v=+t.attr("y"),x=-(r||t.node().getBoundingClientRect().height)/4;if("y"===P[0])l.attr({transform:"rotate("+[-90,y,v]+")"+a(-d/2,x-m/2)});else if("l"===P[0])v=x-m/2;else if("a"===P[0]&&0!==P.indexOf("atitle"))y=0,v=x;else{var _=t.attr("text-anchor");y-=d*("middle"===_?.5:"end"===_?1:0),v=v+x-m/2}s.attr({x:y,y:v}),g&&g.call(t,l),e(l)}))}))):z(),t}function z(){I.empty()||(P=t.attr("class")+"-math",I.select("svg."+P).remove()),t.text("").style("white-space","pre");var r=function(t,e){e=e.replace(y," ");var r,a=!1,l=[],c=-1;function u(){c++;var e=document.createElementNS(o.svg,"tspan");n.select(e).attr({class:"line",dy:c*s+"em"}),t.appendChild(e),r=e;var i=l;if(l=[{node:e}],i.length>1)for(var a=1;a doesnt match end tag <"+t+">. Pretending it did match.",e),r=l[l.length-1].node}else i.log("Ignoring unexpected end tag .",e)}_.test(e)?u():(r=t,l=[{node:t}]);for(var E=e.split(v),I=0;I|>|>)/g,h=[["$","$"],["\\(","\\)"]],f={sup:"font-size:70%",sub:"font-size:70%",s:"text-decoration:line-through",u:"text-decoration:underline",b:"font-weight:bold",i:"font-style:italic",a:"cursor:pointer",span:"",em:"font-style:italic;font-weight:bold"},p={sub:"0.3em",sup:"-0.6em"},d={sub:"-0.21em",sup:"0.42em"},m="​",g=["http:","https:","mailto:","",void 0,":"],y=e.NEWLINES=/(\r\n?|\n)/g,v=/(<[^<>]*>)/,x=/<(\/?)([^ >]*)(\s+(.*))?>/i,_=//i;e.BR_TAG_ALL=//gi;var b=/(^|[\s"'])style\s*=\s*("([^"]*);?"|'([^']*);?')/i,w=/(^|[\s"'])href\s*=\s*("([^"]*)"|'([^']*)')/i,T=/(^|[\s"'])target\s*=\s*("([^"\s]*)"|'([^'\s]*)')/i,k=/(^|[\s"'])popup\s*=\s*("([\w=,]*)"|'([\w=,]*)')/i;function A(t,e){if(!t)return null;var r=t.match(e),n=r&&(r[3]||r[4]);return n&&C(n)}var M=/(^|;)\s*color:/;e.plainText=function(t,e){for(var r=void 0!==(e=e||{}).len&&-1!==e.len?e.len:1/0,n=void 0!==e.allowedTags?e.allowedTags:["br"],i=t.split(v),a=[],o="",s=0,l=0;l3?a.push(c.substr(0,p-3)+"..."):a.push(c.substr(0,p));break}o=""}}return a.join("")};var S={mu:"μ",amp:"&",lt:"<",gt:">",nbsp:" ",times:"×",plusmn:"±",deg:"°"},E=/&(#\d+|#x[\da-fA-F]+|[a-z]+);/g;function C(t){return t.replace(E,(function(t,e){return("#"===e.charAt(0)?function(t){if(!(t>1114111)){var e=String.fromCodePoint;if(e)return e(t);var r=String.fromCharCode;return t<=65535?r(t):r(55232+(t>>10),t%1024+56320)}}("x"===e.charAt(1)?parseInt(e.substr(2),16):parseInt(e.substr(1),10)):S[e])||t}))}function L(t){var e=encodeURI(decodeURI(t)),r=document.createElement("a"),n=document.createElement("a");r.href=t,n.href=e;var i=r.protocol,a=n.protocol;return-1!==g.indexOf(i)&&-1!==g.indexOf(a)?e:""}function I(t,e,r){var n,a,o,s=r.horizontalAlign,l=r.verticalAlign||"top",c=t.node().getBoundingClientRect(),u=e.node().getBoundingClientRect();return a="bottom"===l?function(){return c.bottom-n.height}:"middle"===l?function(){return c.top+(c.height-n.height)/2}:function(){return c.top},o="right"===s?function(){return c.right-n.width}:"center"===s?function(){return c.left+(c.width-n.width)/2}:function(){return c.left},function(){n=this.node().getBoundingClientRect();var t=o()-u.left,e=a()-u.top,s=r.gd||{};if(r.gd){s._fullLayout._calcInverseTransform(s);var l=i.apply3DTransform(s._fullLayout._invTransform)(t,e);t=l[0],e=l[1]}return this.style({top:e+"px",left:t+"px","z-index":1e3}),this}}e.convertEntities=C,e.sanitizeHTML=function(t){t=t.replace(y," ");for(var e=document.createElement("p"),r=e,i=[],a=t.split(v),o=0;oa.ts+e?l():a.timer=setTimeout((function(){l(),a.timer=null}),e)},e.done=function(t){var e=r[t];return e&&e.timer?new Promise((function(t){var r=e.onDone;e.onDone=function(){r&&r(),t(),e.onDone=null}})):Promise.resolve()},e.clear=function(t){if(t)n(r[t]),delete r[t];else for(var i in r)e.clear(i)}},8083:function(t,e,r){"use strict";var n=r(10721);t.exports=function(t,e){if(t>0)return Math.log(t)/Math.LN10;var r=Math.log(Math.min(e[0],e[1]))/Math.LN10;return n(r)||(r=Math.log(Math.max(e[0],e[1]))/Math.LN10-6),r}},11577:function(t,e,r){"use strict";var n=t.exports={},i=r(74285).locationmodeToLayer,a=r(48640).N4;n.getTopojsonName=function(t){return[t.scope.replace(/ /g,"-"),"_",t.resolution.toString(),"m"].join("")},n.getTopojsonPath=function(t,e){return t+e+".json"},n.getTopojsonFeatures=function(t,e){var r=i[t.locationmode],n=e.objects[r];return a(e,n).features}},44611:function(t){"use strict";t.exports={moduleType:"locale",name:"en-US",dictionary:{"Click to enter Colorscale title":"Click to enter Colorscale title"},format:{date:"%m/%d/%Y"}}},30227:function(t){"use strict";t.exports={moduleType:"locale",name:"en",dictionary:{"Click to enter Colorscale title":"Click to enter Colourscale title"},format:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],periods:["AM","PM"],dateTime:"%a %b %e %X %Y",date:"%d/%m/%Y",time:"%H:%M:%S",decimal:".",thousands:",",grouping:[3],currency:["$",""],year:"%Y",month:"%b %Y",dayMonth:"%b %-d",dayMonthYear:"%b %-d, %Y"}}},56037:function(t,e,r){"use strict";var n=r(33626);t.exports=function(t){for(var e,r,i=n.layoutArrayContainers,a=n.layoutArrayRegexes,o=t.split("[")[0],s=0;s0&&o.log("Clearing previous rejected promises from queue."),t._promises=[]},e.cleanLayout=function(t){var r,n;t||(t={}),t.xaxis1&&(t.xaxis||(t.xaxis=t.xaxis1),delete t.xaxis1),t.yaxis1&&(t.yaxis||(t.yaxis=t.yaxis1),delete t.yaxis1),t.scene1&&(t.scene||(t.scene=t.scene1),delete t.scene1);var a=(s.subplotsRegistry.cartesian||{}).attrRegex,l=(s.subplotsRegistry.polar||{}).attrRegex,h=(s.subplotsRegistry.ternary||{}).attrRegex,f=(s.subplotsRegistry.gl3d||{}).attrRegex,m=Object.keys(t);for(r=0;r3?(z.x=1.02,z.xanchor="left"):z.x<-2&&(z.x=-.02,z.xanchor="right"),z.y>3?(z.y=1.02,z.yanchor="bottom"):z.y<-2&&(z.y=-.02,z.yanchor="top")),d(t),"rotate"===t.dragmode&&(t.dragmode="orbit"),c.clean(t),t.template&&t.template.layout&&e.cleanLayout(t.template.layout),t},e.cleanData=function(t){for(var r=0;r0)return t.substr(0,e)}e.hasParent=function(t,e){for(var r=_(e);r;){if(r in t)return!0;r=_(r)}return!1};var b=["x","y","z"];e.clearAxisTypes=function(t,e,r){for(var n=0;n1&&a.warn("Full array edits are incompatible with other edits",h);var v=r[""][""];if(c(v))e.set(null);else{if(!Array.isArray(v))return a.warn("Unrecognized full array edit value",h,v),!0;e.set(v)}return!m&&(f(g,y),p(t),!0)}var x,_,b,w,T,k,A,M,S=Object.keys(r).map(Number).sort(o),E=e.get(),C=E||[],L=u(y,h).get(),I=[],P=-1,z=C.length;for(x=0;xC.length-(A?0:1))a.warn("index out of range",h,b);else if(void 0!==k)T.length>1&&a.warn("Insertion & removal are incompatible with edits to the same index.",h,b),c(k)?I.push(b):A?("add"===k&&(k={}),C.splice(b,0,k),L&&L.splice(b,0,{})):a.warn("Unrecognized full object edit value",h,b,k),-1===P&&(P=b);else for(_=0;_=0;x--)C.splice(I[x],1),L&&L.splice(I[x],1);if(C.length?E||e.set(C):e.set(null),m)return!1;if(f(g,y),d!==i){var O;if(-1===P)O=S;else{for(z=Math.max(C.length,z),O=[],x=0;x=P);x++)O.push(b);for(x=P;x=t.data.length||i<-t.data.length)throw new Error(r+" must be valid indices for gd.data.");if(e.indexOf(i,n+1)>-1||i>=0&&e.indexOf(-t.data.length+i)>-1||i<0&&e.indexOf(t.data.length+i)>-1)throw new Error("each index in "+r+" must be unique.")}}function O(t,e,r){if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("currentIndices is a required argument.");if(Array.isArray(e)||(e=[e]),z(t,e,"currentIndices"),void 0===r||Array.isArray(r)||(r=[r]),void 0!==r&&z(t,r,"newIndices"),void 0!==r&&e.length!==r.length)throw new Error("current and new indices must be of equal length.")}function D(t,e,r,n,a){!function(t,e,r,n){var i=o.isPlainObject(n);if(!Array.isArray(t.data))throw new Error("gd.data must be an array");if(!o.isPlainObject(e))throw new Error("update must be a key:value object");if(void 0===r)throw new Error("indices must be an integer or array of integers");for(var a in z(t,r,"indices"),e){if(!Array.isArray(e[a])||e[a].length!==r.length)throw new Error("attribute "+a+" must be an array of length equal to indices array length");if(i&&(!(a in n)||!Array.isArray(n[a])||n[a].length!==e[a].length))throw new Error("when maxPoints is set as a key:value object it must contain a 1:1 corrispondence with the keys and number of traces in the update object")}}(t,e,r,n);for(var l=function(t,e,r,n){var a,l,c,u,h,f=o.isPlainObject(n),p=[];for(var d in Array.isArray(r)||(r=[r]),r=P(r,t.data.length-1),e)for(var m=0;m-1&&-1===r.indexOf("grouptitlefont")?l(r,r.replace("titlefont","title.font")):r.indexOf("titleposition")>-1?l(r,r.replace("titleposition","title.position")):r.indexOf("titleside")>-1?l(r,r.replace("titleside","title.side")):r.indexOf("titleoffset")>-1&&l(r,r.replace("titleoffset","title.offset")):l(r,r.replace("title","title.text"));function l(e,r){t[r]=t[e],delete t[e]}}function q(t,e,r){t=o.getGraphDiv(t),T.clearPromiseQueue(t);var n={};if("string"==typeof e)n[e]=r;else{if(!o.isPlainObject(e))return o.warn("Relayout fail.",e,r),Promise.reject();n=o.extendFlat({},e)}Object.keys(n).length&&(t.changed=!0);var i=X(t,n),a=i.flags;a.calc&&(t.calcdata=void 0);var s=[f.previousPromises];a.layoutReplot?s.push(k.layoutReplot):Object.keys(n).length&&(H(t,a,i)||f.supplyDefaults(t),a.legend&&s.push(k.doLegend),a.layoutstyle&&s.push(k.layoutStyles),a.axrange&&G(s,i.rangesAltered),a.ticks&&s.push(k.doTicksRelayout),a.modebar&&s.push(k.doModeBar),a.camera&&s.push(k.doCamera),a.colorbars&&s.push(k.doColorBars),s.push(E)),s.push(f.rehover,f.redrag,f.reselect),c.add(t,q,[t,i.undoit],q,[t,i.redoit]);var l=o.syncOrAsync(s,t);return l&&l.then||(l=Promise.resolve(t)),l.then((function(){return t.emit("plotly_relayout",i.eventData),t}))}function H(t,e,r){var n,i,a=t._fullLayout;if(!e.axrange)return!1;for(var s in e)if("axrange"!==s&&e[s])return!1;var l=function(t,e){return o.coerce(n,i,m,t,e)},c={};for(var u in r.rangesAltered){var h=p.id2name(u);if(n=t.layout[h],i=a[h],d(n,i,l,c),i._matchGroup)for(var f in i._matchGroup)if(f!==u){var g=a[p.id2name(f)];g.autorange=i.autorange,g.range=i.range.slice(),g._input.range=i.range.slice()}}return!0}function G(t,e){var r=e?function(t){var r=[];for(var n in e){var i=p.getFromId(t,n);if(r.push(n),-1!==(i.ticklabelposition||"").indexOf("inside")&&i._anchorAxis&&r.push(i._anchorAxis._id),i._matchGroup)for(var a in i._matchGroup)e[a]||r.push(a)}return p.draw(t,r,{skipTitle:!0})}:function(t){return p.draw(t,"redraw")};t.push(_,k.doAutoRangeAndConstraints,r,k.drawData,k.finalDraw)}var Z=/^[xyz]axis[0-9]*\.range(\[[0|1]\])?$/,W=/^[xyz]axis[0-9]*\.autorange$/,Y=/^[xyz]axis[0-9]*\.domain(\[[0|1]\])?$/;function X(t,e){var r,n,i,a=t.layout,l=t._fullLayout,c=l._guiEditing,f=N(l._preGUI,c),d=Object.keys(e),m=p.list(t),g=o.extendDeepAll({},e),y={};for(V(e),d=Object.keys(e),n=0;n0&&"string"!=typeof z.parts[D];)D--;var R=z.parts[D],F=z.parts[D-1]+"."+R,j=z.parts.slice(0,D).join("."),U=s(t.layout,j).get(),q=s(l,j).get(),H=z.get();if(void 0!==O){k[P]=O,S[P]="reverse"===R?O:B(H);var G=h.getLayoutValObject(l,z.parts);if(G&&G.impliedEdits&&null!==O)for(var X in G.impliedEdits)E(o.relativeAttr(P,X),G.impliedEdits[X]);if(-1!==["width","height"].indexOf(P))if(O){E("autosize",null);var J="height"===P?"width":"height";E(J,l[J])}else l[P]=t._initialAutoSize[P];else if("autosize"===P)E("width",O?null:l.width),E("height",O?null:l.height);else if(F.match(Z))I(F),s(l,j+"._inputRange").set(null);else if(F.match(W)){I(F),s(l,j+"._inputRange").set(null);var K=s(l,j).get();K._inputDomain&&(K._input.domain=K._inputDomain.slice())}else F.match(Y)&&s(l,j+"._inputDomain").set(null);if("type"===R){C=U;var Q="linear"===q.type&&"log"===O,tt="log"===q.type&&"linear"===O;if(Q||tt){if(C&&C.range)if(q.autorange)Q&&(C.range=C.range[1]>C.range[0]?[1,2]:[2,1]);else{var et=C.range[0],rt=C.range[1];Q?(et<=0&&rt<=0&&E(j+".autorange",!0),et<=0?et=rt/1e6:rt<=0&&(rt=et/1e6),E(j+".range[0]",Math.log(et)/Math.LN10),E(j+".range[1]",Math.log(rt)/Math.LN10)):(E(j+".range[0]",Math.pow(10,et)),E(j+".range[1]",Math.pow(10,rt)))}else E(j+".autorange",!0);Array.isArray(l._subplots.polar)&&l._subplots.polar.length&&l[z.parts[0]]&&"radialaxis"===z.parts[1]&&delete l[z.parts[0]]._subplot.viewInitial["radialaxis.range"],u.getComponentMethod("annotations","convertCoords")(t,q,O,E),u.getComponentMethod("images","convertCoords")(t,q,O,E)}else E(j+".autorange",!0),E(j+".range",null);s(l,j+"._inputRange").set(null)}else if(R.match(M)){var nt=s(l,P).get(),it=(O||{}).type;it&&"-"!==it||(it="linear"),u.getComponentMethod("annotations","convertCoords")(t,nt,it,E),u.getComponentMethod("images","convertCoords")(t,nt,it,E)}var at=w.containerArrayMatch(P);if(at){r=at.array,n=at.index;var ot=at.property,st=G||{editType:"calc"};""!==n&&""===ot&&(w.isAddVal(O)?S[P]=null:w.isRemoveVal(O)?S[P]=(s(a,r).get()||[])[n]:o.warn("unrecognized full object value",e)),A.update(b,st),y[r]||(y[r]={});var lt=y[r][n];lt||(lt=y[r][n]={}),lt[ot]=O,delete e[P]}else"reverse"===R?(U.range?U.range.reverse():(E(j+".autorange",!0),U.range=[1,0]),q.autorange?b.calc=!0:b.plot=!0):("dragmode"===P&&(!1===O&&!1!==H||!1!==O&&!1===H)||l._has("scatter-like")&&l._has("regl")&&"dragmode"===P&&("lasso"===O||"select"===O)&&"lasso"!==H&&"select"!==H||l._has("gl2d")?b.plot=!0:G?A.update(b,G):b.calc=!0,z.set(O))}}for(r in y)w.applyContainerArrayChanges(t,f(a,r),y[r],b,f)||(b.plot=!0);for(var ct in L){var ut=(C=p.getFromId(t,ct))&&C._constraintGroup;if(ut)for(var ht in b.calc=!0,ut)L[ht]||(p.getFromId(t,ht)._constraintShrinkable=!0)}($(t)||e.height||e.width)&&(b.plot=!0);var ft=l.shapes;for(n=0;n1;)if(n.pop(),void 0!==(r=s(e,n.join(".")+".uirevision").get()))return r;return e.uirevision}function nt(t,e){for(var r=0;r=i.length?i[0]:i[t]:i}function l(t){return Array.isArray(a)?t>=a.length?a[0]:a[t]:a}function c(t,e){var r=0;return function(){if(t&&++r===e)return t()}}return void 0===n._frameWaitingCnt&&(n._frameWaitingCnt=0),new Promise((function(a,u){function h(){t.emit("plotly_animating"),n._lastFrameAt=-1/0,n._timeToNext=0,n._runningTransitions=0,n._currentFrame=null;var e=function(){n._animationRaf=window.requestAnimationFrame(e),Date.now()-n._lastFrameAt>n._timeToNext&&function(){n._currentFrame&&n._currentFrame.onComplete&&n._currentFrame.onComplete();var e=n._currentFrame=n._frameQueue.shift();if(e){var r=e.name?e.name.toString():null;t._fullLayout._currentFrame=r,n._lastFrameAt=Date.now(),n._timeToNext=e.frameOpts.duration,f.transition(t,e.frame.data,e.frame.layout,T.coerceTraceIndices(t,e.frame.traces),e.frameOpts,e.transitionOpts).then((function(){e.onComplete&&e.onComplete()})),t.emit("plotly_animatingframe",{name:r,frame:e.frame,animation:{frame:e.frameOpts,transition:e.transitionOpts}})}else t.emit("plotly_animated"),window.cancelAnimationFrame(n._animationRaf),n._animationRaf=null}()};e()}var p,d,m=0;function g(t){return Array.isArray(i)?m>=i.length?t.transitionOpts=i[m]:t.transitionOpts=i[0]:t.transitionOpts=i,m++,t}var y=[],v=null==e,x=Array.isArray(e);if(v||x||!o.isPlainObject(e)){if(v||-1!==["string","number"].indexOf(typeof e))for(p=0;p0&&ww)&&k.push(d);y=k}}y.length>0?function(e){if(0!==e.length){for(var i=0;i=0;n--)if(o.isPlainObject(e[n])){var m=e[n].name,g=(u[m]||d[m]||{}).name,y=e[n].name,v=u[g]||d[g];g&&y&&"number"==typeof y&&v&&S<5&&(S++,o.warn('addFrames: overwriting frame "'+(u[g]||d[g]).name+'" with a frame whose name of type "number" also equates to "'+g+'". This is valid but may potentially lead to unexpected behavior since all plotly.js frame names are stored internally as strings.'),5===S&&o.warn("addFrames: This API call has yielded too many of these warnings. For the rest of this call, further warnings about numeric frame names will be suppressed.")),d[m]={name:m},p.push({frame:f.supplyFrameDefaults(e[n]),index:r&&void 0!==r[n]&&null!==r[n]?r[n]:h+n})}p.sort((function(t,e){return t.index>e.index?-1:t.index=0;n--){if("number"==typeof(i=p[n].frame).name&&o.warn("Warning: addFrames accepts frames with numeric names, but the numbers areimplicitly cast to strings"),!i.name)for(;u[i.name="frame "+t._transitionData._counter++];);if(u[i.name]){for(a=0;a=0;r--)n=e[r],a.push({type:"delete",index:n}),s.unshift({type:"insert",index:n,value:i[n]});var l=f.modifyFrames,u=f.modifyFrames,h=[t,s],p=[t,a];return c&&c.add(t,l,h,u,p),f.modifyFrames(t,a)},e.addTraces=function t(r,n,i){r=o.getGraphDiv(r);var a,s,l=[],u=e.deleteTraces,h=t,f=[r,l],p=[r,n];for(function(t,e,r){var n,i;if(!Array.isArray(t.data))throw new Error("gd.data must be an array.");if(void 0===e)throw new Error("traces must be defined.");for(Array.isArray(e)||(e=[e]),n=0;n=0&&r=0&&r=a.length)return!1;if(2===t.dimensions){if(r++,e.length===r)return t;var o=e[r];if(!b(o))return!1;t=a[i][o]}else t=a[i]}else t=a}}return t}function b(t){return t===Math.round(t)&&t>=0}function w(){var t,e,r={};for(t in h(r,o),n.subplotsRegistry)if((e=n.subplotsRegistry[t]).layoutAttributes)if(Array.isArray(e.attr))for(var i=0;i=l.length)return!1;i=(r=(n.transformsRegistry[l[c].type]||{}).attributes)&&r[e[2]],s=3}else{var u=t._module;if(u||(u=(n.modules[t.type||a.type.dflt]||{})._module),!u)return!1;if(!(i=(r=u.attributes)&&r[o])){var h=u.basePlotModule;h&&h.attributes&&(i=h.attributes[o])}i||(i=a[o])}return _(i,e,s)},e.getLayoutValObject=function(t,e){var r=function(t,e){var r,i,a,s,l=t._basePlotModules;if(l){var c;for(r=0;r=i&&(r._input||{})._templateitemname;s&&(o=i);var l,c=e+"["+o+"]";function u(){l={},s&&(l[c]={},l[c][a]=s)}function h(t,e){s?n.nestedProperty(l[c],t).set(e):l[c+"."+t]=e}function f(){var t=l;return u(),t}return u(),{modifyBase:function(t,e){l[t]=e},modifyItem:h,getUpdateObj:f,applyUpdate:function(e,r){e&&h(e,r);var i=f();for(var a in i)n.nestedProperty(t,a).set(i[a])}}}},71817:function(t,e,r){"use strict";var n=r(45568),i=r(33626),a=r(44122),o=r(34809),s=r(30635),l=r(34823),c=r(78766),u=r(62203),h=r(17240),f=r(95433),p=r(29714),d=r(4530),m=r(84391),g=m.enforce,y=m.clean,v=r(32919).doAutoRange,x="start",_=r(54826).zindexSeparator;function b(t,e,r){for(var n=0;n=t[1]||i[1]<=t[0])&&a[0]e[0])return!0}return!1}function w(t){var r,i,s,l,h,m,g=t._fullLayout,y=g._size,v=y.p,x=p.list(t,"",!0);if(g._paperdiv.style({width:t._context.responsive&&g.autosize&&!t._context._hasZeroWidth&&!t.layout.width?"100%":g.width+"px",height:t._context.responsive&&g.autosize&&!t._context._hasZeroHeight&&!t.layout.height?"100%":g.height+"px"}).selectAll(".main-svg").call(u.setSize,g.width,g.height),t._context.setBackground(t,g.paper_bgcolor),e.drawMainTitle(t),f.manage(t),!g._has("cartesian"))return a.previousPromises(t);function w(t,e,r){var n=t._lw/2;return"x"===t._id.charAt(0)?e?"top"===r?e._offset-v-n:e._offset+e._length+v+n:y.t+y.h*(1-(t.position||0))+n%1:e?"right"===r?e._offset+e._length+v+n:e._offset-v-n:y.l+y.w*(t.position||0)+n%1}for(r=0;r.5?"t":"b",o=t._fullLayout.margin[a],s=0;return"paper"===e.yref?s=r+e.pad.t+e.pad.b:"container"===e.yref&&(s=function(t,e,r,n,i){var a=0;return"middle"===r&&(a+=i/2),"t"===t?("top"===r&&(a+=i),a+=n-e*n):("bottom"===r&&(a+=i),a+=e*n),a}(a,n,i,t._fullLayout.height,r)+e.pad.t+e.pad.b),s>o?s:0}(t,e,m);if(g>0){!function(t,e,r,n){var i="title.automargin",s=t._fullLayout.title,l=s.y>.5?"t":"b",c={x:s.x,y:s.y,t:0,b:0},u={};"paper"===s.yref&&function(t,e,r,n,i){var a="paper"===e.yref?t._fullLayout._size.h:t._fullLayout.height,s=o.isTopAnchor(e)?n:n-i,l="b"===r?a-s:s;return!(o.isTopAnchor(e)&&"t"===r||o.isBottomAnchor(e)&&"b"===r)&&lT?u.push({code:"unused",traceType:v,templateCount:w,dataCount:T}):T>w&&u.push({code:"reused",traceType:v,templateCount:w,dataCount:T})}}else u.push({code:"data"});if(function t(e,r){for(var n in e)if("_"!==n.charAt(0)){var a=e[n],o=m(e,n,r);i(a)?(Array.isArray(e)&&!1===a._template&&a.templateitemname&&u.push({code:"missing",path:o,templateitemname:a.templateitemname}),t(a,o)):Array.isArray(a)&&g(a)&&t(a,o)}}({data:p,layout:f},""),u.length)return u.map(y)}},80491:function(t,e,r){"use strict";var n=r(10721),i=r(31420),a=r(44122),o=r(34809),s=r(84619),l=r(6243),c=r(72914),u=r(29697).version,h={format:{valType:"enumerated",values:["png","jpeg","webp","svg","full-json"],dflt:"png"},width:{valType:"number",min:1},height:{valType:"number",min:1},scale:{valType:"number",min:0,dflt:1},setBackground:{valType:"any",dflt:!1},imageDataOnly:{valType:"boolean",dflt:!1}};t.exports=function(t,e){var r,f,p,d;function m(t){return!(t in e)||o.validate(e[t],h[t])}if(e=e||{},o.isPlainObject(t)?(r=t.data||[],f=t.layout||{},p=t.config||{},d={}):(t=o.getGraphDiv(t),r=o.extendDeep([],t.data),f=o.extendDeep({},t.layout),p=t._context,d=t._fullLayout||{}),!m("width")&&null!==e.width||!m("height")&&null!==e.height)throw new Error("Height and width should be pixel values.");if(!m("format"))throw new Error("Export format is not "+o.join2(h.format.values,", "," or ")+".");var g={};function y(t,r){return o.coerce(e,g,h,t,r)}var v=y("format"),x=y("width"),_=y("height"),b=y("scale"),w=y("setBackground"),T=y("imageDataOnly"),k=document.createElement("div");k.style.position="absolute",k.style.left="-5000px",document.body.appendChild(k);var A=o.extendFlat({},f);x?A.width=x:null===e.width&&n(d.width)&&(A.width=d.width),_?A.height=_:null===e.height&&n(d.height)&&(A.height=d.height);var M=o.extendFlat({},p,{_exportedPlot:!0,staticPlot:!0,setBackground:w}),S=s.getRedrawFunc(k);function E(){return new Promise((function(t){setTimeout(t,s.getDelay(k._fullLayout))}))}function C(){return new Promise((function(t,e){var r=l(k,v,b),n=k._fullLayout.width,h=k._fullLayout.height;function f(){i.purge(k),document.body.removeChild(k)}if("full-json"===v){var p=a.graphJson(k,!1,"keepdata","object",!0,!0);return p.version=u,p=JSON.stringify(p),f(),t(T?p:s.encodeJSON(p))}if(f(),"svg"===v)return t(T?r:s.encodeSVG(r));var d=document.createElement("canvas");d.id=o.randstr(),c({format:v,width:n,height:h,scale:b,canvas:d,svg:r,promise:!0}).then(t).catch(e)}))}return new Promise((function(t,e){i.newPlot(k,r,A,M).then(S).then(E).then(C).then((function(e){t(function(t){return T?t.replace(s.IMAGE_URL_PREFIX,""):t}(e))})).catch((function(t){e(t)}))}))}},2466:function(t,e,r){"use strict";var n=r(34809),i=r(44122),a=r(57297),o=r(24452).dfltConfig,s=n.isPlainObject,l=Array.isArray,c=n.isArrayOrTypedArray;function u(t,e,r,i,a,o){o=o||[];for(var h=Object.keys(t),f=0;fx.length&&i.push(p("unused",a,y.concat(x.length)));var A,M,S,E,C,L=x.length,I=Array.isArray(k);if(I&&(L=Math.min(L,k.length)),2===_.dimensions)for(M=0;Mx[M].length&&i.push(p("unused",a,y.concat(M,x[M].length)));var P=x[M].length;for(A=0;A<(I?Math.min(P,k[M].length):P);A++)S=I?k[M][A]:k,E=v[M][A],C=x[M][A],n.validate(E,S)?C!==E&&C!==+E&&i.push(p("dynamic",a,y.concat(M,A),E,C)):i.push(p("value",a,y.concat(M,A),E))}else i.push(p("array",a,y.concat(M),v[M]));else for(M=0;M1&&f.push(p("object","layout"))),i.supplyDefaults(d);for(var m=d._fullData,g=r.length,y=0;y0&&Math.round(h)===h))return{vals:i};c=h}for(var f=e.calendar,p="start"===l,d="end"===l,m=t[r+"period0"],g=a(m,f)||0,y=[],v=[],x=[],_=i.length,b=0;b<_;b++){var w,T,k,A=i[b];if(c){for(w=Math.round((A-g)/(c*s)),k=o(g,c*w,f);k>A;)k=o(k,-c,f);for(;k<=A;)k=o(k,c,f);T=o(k,-c,f)}else{for(k=g+(w=Math.round((A-g)/u))*u;k>A;)k-=u;for(;k<=A;)k+=u;T=k-u}y[b]=p?T:d?k:(T+k)/2,v[b]=T,x[b]=k}return{vals:y,starts:v,ends:x}}},55126:function(t){"use strict";t.exports={xaxis:{valType:"subplotid",dflt:"x",editType:"calc+clearAxisTypes"},yaxis:{valType:"subplotid",dflt:"y",editType:"calc+clearAxisTypes"}}},32919:function(t,e,r){"use strict";var n=r(45568),i=r(10721),a=r(34809),o=r(63821).FP_SAFE,s=r(33626),l=r(62203),c=r(5975),u=c.getFromId,h=c.isLinked;function f(t,e){var r,n,i=[],o=t._fullLayout,s=d(o,e,0),l=d(o,e,1),c=g(t,e),u=c.min,h=c.max;if(0===u.length||0===h.length)return a.simpleMap(e.range,e.r2l);var f=u[0].val,m=h[0].val;for(r=1;r0&&((A=L-s(_)-l(b))>I?M/A>P&&(w=_,T=b,P=M/A):M/L>P&&(w={val:_.val,nopad:1},T={val:b.val,nopad:1},P=M/L));if(f===m){var z=f-1,O=f+1;if(E)if(0===f)i=[0,1];else{var D=(f>0?h:u).reduce((function(t,e){return Math.max(t,l(e))}),0),R=f/(1-Math.min(.5,D/L));i=f>0?[0,R]:[R,0]}else i=C?[Math.max(0,z),Math.max(1,O)]:[z,O]}else E?(w.val>=0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:0,nopad:1})):C&&(w.val-P*s(w)<0&&(w={val:0,nopad:1}),T.val<=0&&(T={val:1,nopad:1})),P=(T.val-w.val-p(e,_.val,b.val))/(L-s(w)-l(T)),i=[w.val-P*s(w),T.val+P*l(T)];return i=k(i,e),e.limitRange&&e.limitRange(),v&&i.reverse(),a.simpleMap(i,e.l2r||Number)}function p(t,e,r){var n=0;if(t.rangebreaks)for(var i=t.locateBreaks(e,r),a=0;a0?r.ppadplus:r.ppadminus)||r.ppad||0),S=A((t._m>0?r.ppadminus:r.ppadplus)||r.ppad||0),E=A(r.vpadplus||r.vpad),C=A(r.vpadminus||r.vpad);if(!T){if(f=1/0,p=-1/0,w)for(n=0;n0&&(f=a),a>p&&a-o&&(f=a),a>p&&a=P;n--)I(n);return{min:d,max:m,opts:r}},concatExtremes:g};var m=3;function g(t,e,r){var n,i,a,o=e._id,s=t._fullData,l=t._fullLayout,c=[],h=[];function f(t,e){for(n=0;n=r&&(c.extrapad||!o)){s=!1;break}i(e,c.val)&&c.pad<=r&&(o||!c.extrapad)&&(t.splice(l,1),l--)}if(s){var u=a&&0===e;t.push({val:e,pad:u?0:r,extrapad:!u&&o})}}function _(t){return i(t)&&Math.abs(t)=e}function T(t,e,r){return void 0===e||void 0===r||(e=t.d2l(e))=c&&(o=c,r=c),s<=c&&(s=c,n=c)}}return r=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.minallowed&&T(e,r.minallowed,r.maxallowed)?r.minallowed:r&&void 0!==r.clipmin&&T(e,r.clipmin,r.clipmax)?Math.max(t,e.d2l(r.clipmin)):t}(r,e),n=function(t,e){var r=e.autorangeoptions;return r&&void 0!==r.maxallowed&&T(e,r.minallowed,r.maxallowed)?r.maxallowed:r&&void 0!==r.clipmax&&T(e,r.clipmin,r.clipmax)?Math.min(t,e.d2l(r.clipmax)):t}(n,e),[r,n]}},75511:function(t){"use strict";t.exports=function(t,e,r){var n,i;if(r){var a="reversed"===e||"min reversed"===e||"max reversed"===e;n=r[a?1:0],i=r[a?0:1]}var o=t("autorangeoptions.minallowed",null===i?n:void 0),s=t("autorangeoptions.maxallowed",null===n?i:void 0);void 0===o&&t("autorangeoptions.clipmin"),void 0===s&&t("autorangeoptions.clipmax"),t("autorangeoptions.include")}},29714:function(t,e,r){"use strict";var n=r(45568),i=r(10721),a=r(44122),o=r(33626),s=r(34809),l=s.strTranslate,c=r(30635),u=r(17240),h=r(78766),f=r(62203),p=r(25829),d=r(68599),m=r(63821),g=m.ONEMAXYEAR,y=m.ONEAVGYEAR,v=m.ONEMINYEAR,x=m.ONEMAXQUARTER,_=m.ONEAVGQUARTER,b=m.ONEMINQUARTER,w=m.ONEMAXMONTH,T=m.ONEAVGMONTH,k=m.ONEMINMONTH,A=m.ONEWEEK,M=m.ONEDAY,S=M/2,E=m.ONEHOUR,C=m.ONEMIN,L=m.ONESEC,I=m.ONEMILLI,P=m.ONEMICROSEC,z=m.MINUS_SIGN,O=m.BADNUM,D={K:"zeroline"},R={K:"gridline",L:"path"},F={K:"minor-gridline",L:"path"},B={K:"tick",L:"path"},N={K:"tick",L:"text"},j={width:["x","r","l","xl","xr"],height:["y","t","b","yt","yb"],right:["r","xr"],left:["l","xl"],top:["t","yt"],bottom:["b","yb"]},U=r(4530),V=U.MID_SHIFT,q=U.CAP_SHIFT,H=U.LINE_SPACING,G=U.OPPOSITE_SIDE,Z=t.exports={};Z.setConvert=r(19091);var W=r(9666),Y=r(5975),X=Y.idSort,$=Y.isLinked;Z.id2name=Y.id2name,Z.name2id=Y.name2id,Z.cleanId=Y.cleanId,Z.list=Y.list,Z.listIds=Y.listIds,Z.getFromId=Y.getFromId,Z.getFromTrace=Y.getFromTrace;var J=r(32919);Z.getAutoRange=J.getAutoRange,Z.findExtremes=J.findExtremes;var K=1e-4;function Q(t){var e=(t[1]-t[0])*K;return[t[0]-e,t[1]+e]}Z.coerceRef=function(t,e,r,n,i,a){var o=n.charAt(n.length-1),l=r._fullLayout._subplots[o+"axis"],c=n+"ref",u={};return i||(i=l[0]||("string"==typeof a?a:a[0])),a||(a=i),l=l.concat(l.map((function(t){return t+" domain"}))),u[c]={valType:"enumerated",values:l.concat(a?"string"==typeof a?[a]:a:[]),dflt:i},s.coerce(t,e,u,c)},Z.getRefType=function(t){return void 0===t?t:"paper"===t?"paper":"pixel"===t?"pixel":/( domain)$/.test(t)?"domain":"range"},Z.coercePosition=function(t,e,r,n,i,a){var o,l;if("range"!==Z.getRefType(n))o=s.ensureNumber,l=r(i,a);else{var c=Z.getFromId(e,n);l=r(i,a=c.fraction2r(a)),o=c.cleanPos}t[i]=o(l)},Z.cleanPosition=function(t,e,r){return("paper"===r||"pixel"===r?s.ensureNumber:Z.getFromId(e,r).cleanPos)(t)},Z.redrawComponents=function(t,e){e=e||Z.listIds(t);var r=t._fullLayout;function n(n,i,a,s){for(var l=o.getComponentMethod(n,i),c={},u=0;un&&f2e-6||((r-t._forceTick0)/t._minDtick%1+1.000001)%1>2e-6)&&(t._minDtick=0)):t._minDtick=0},Z.saveRangeInitial=function(t,e){for(var r=Z.list(t,"",!0),n=!1,i=0;i.3*f||u(n)||u(a))){var p=r.dtick/2;t+=t+p.8){var o=Number(r.substr(1));a.exactYears>.8&&o%12==0?t=Z.tickIncrement(t,"M6","reverse")+1.5*M:a.exactMonths>.8?t=Z.tickIncrement(t,"M1","reverse")+15.5*M:t-=S;var l=Z.tickIncrement(t,r);if(l<=n)return l}return t}(v,t,y,c,a)),g=v;g<=u;)g=Z.tickIncrement(g,y,!1,a);return{start:e.c2r(v,0,a),end:e.c2r(g,0,a),size:y,_dataSpan:u-c}},Z.prepMinorTicks=function(t,e,r){if(!e.minor.dtick){delete t.dtick;var n,a=e.dtick&&i(e._tmin);if(a){var o=Z.tickIncrement(e._tmin,e.dtick,!0);n=[e._tmin,.99*o+.01*e._tmin]}else{var l=s.simpleMap(e.range,e.r2l);n=[l[0],.8*l[0]+.2*l[1]]}if(t.range=s.simpleMap(n,e.l2r),t._isMinor=!0,Z.prepTicks(t,r),a){var c=i(e.dtick),u=i(t.dtick),h=c?e.dtick:+e.dtick.substring(1),f=u?t.dtick:+t.dtick.substring(1);c&&u?nt(h,f)?h===2*A&&f===2*M&&(t.dtick=A):h===2*A&&f===3*M?t.dtick=A:h!==A||(e._input.minor||{}).nticks?it(h/f,2.5)?t.dtick=h/2:t.dtick=h:t.dtick=M:"M"===String(e.dtick).charAt(0)?u?t.dtick="M1":nt(h,f)?h>=12&&2===f&&(t.dtick="M3"):t.dtick=e.dtick:"L"===String(t.dtick).charAt(0)?"L"===String(e.dtick).charAt(0)?nt(h,f)||(t.dtick=it(h/f,2.5)?e.dtick/2:e.dtick):t.dtick="D1":"D2"===t.dtick&&+e.dtick>1&&(t.dtick=1)}t.range=e.range}void 0===e.minor._tick0Init&&(t.tick0=e.tick0)},Z.prepTicks=function(t,e){var r=s.simpleMap(t.range,t.r2l,void 0,void 0,e);if("auto"===t.tickmode||!t.dtick){var n,a=t.nticks;a||("category"===t.type||"multicategory"===t.type?(n=t.tickfont?s.bigFont(t.tickfont.size||12):15,a=t._length/n):(n="y"===t._id.charAt(0)?40:80,a=s.constrain(t._length/n,4,9)+1),"radialaxis"===t._name&&(a*=2)),t.minor&&"array"!==t.minor.tickmode||"array"===t.tickmode&&(a*=100),t._roughDTick=Math.abs(r[1]-r[0])/a,Z.autoTicks(t,t._roughDTick),t._minDtick>0&&t.dtick<2*t._minDtick&&(t.dtick=t._minDtick,t.tick0=t.l2r(t._forceTick0))}"period"===t.ticklabelmode&&function(t){var e;function r(){return!(i(t.dtick)||"M"!==t.dtick.charAt(0))}var n=r(),a=Z.getTickFormat(t);if(a){var o=t._dtickInit!==t.dtick;/%[fLQsSMX]/.test(a)||(/%[HI]/.test(a)?(e=E,o&&!n&&t.dtickt.range[1],p=!t.ticklabelindex||s.isArrayOrTypedArray(t.ticklabelindex)?t.ticklabelindex:[t.ticklabelindex],d=s.simpleMap(t.range,t.r2l,void 0,void 0,e),m=d[1]=(V?0:1);q--){var H=!q;q?(t._dtickInit=t.dtick,t._tick0Init=t.tick0):(t.minor._dtickInit=t.minor.dtick,t.minor._tick0Init=t.minor.tick0);var G=q?t:s.extendFlat({},t,t.minor);if(H?Z.prepMinorTicks(G,t,e):Z.prepTicks(G,e),"array"!==G.tickmode)if("sync"!==G.tickmode){var W=Q(d),Y=W[0],X=W[1],$=i(G.dtick),J="log"===l&&!($||"L"===G.dtick.charAt(0)),K=Z.tickFirst(G,e);if(q){if(t._tmin=K,K=X:nt<=X;nt=Z.tickIncrement(nt,it,m,c)){if(q&&tt++,G.rangebreaks&&!m){if(nt=D)break}if(N.length>R||nt===rt)break;rt=nt;var at={value:nt};q?(J&&nt!==(0|nt)&&(at.simpleLabel=!0),u>1&&tt%u&&(at.skipLabel=!0),N.push(at)):(at.minor=!0,j.push(at))}}else N=[],F=st(t);else q?(N=[],F=lt(t,!H)):(j=[],B=lt(t,!H))}!j||j.length<2?p=!1:(r=(j[1].value-j[0].value)*(f?-1:1),n=t.tickformat,(/%f/.test(n)?r>=P:/%L/.test(n)?r>=I:/%[SX]/.test(n)?r>=L:/%M/.test(n)?r>=C:/%[HI]/.test(n)?r>=E:/%p/.test(n)?r>=S:/%[Aadejuwx]/.test(n)?r>=M:/%[UVW]/.test(n)?r>=A:/%[Bbm]/.test(n)?r>=k:/%[q]/.test(n)?r>=b:!/%[Yy]/.test(n)||r>=v)||(p=!1));if(p){var ot=N.concat(j);h&&N.length&&(ot=ot.slice(1)),(ot=ot.sort((function(t,e){return t.value-e.value})).filter((function(t,e,r){return 0===e||t.value!==r[e-1].value}))).map((function(t,e){return void 0!==t.minor||t.skipLabel?null:e})).filter((function(t){return null!==t})).forEach((function(t){p.map((function(e){var r=t+e;r>=0&&r0?(a=n-1,o=n):(a=n,o=n);var s,l=t[a].value,c=t[o].value,u=Math.abs(c-l),h=r||u,f=0;h>=v?f=u>=v&&u<=g?u:y:r===_&&h>=b?f=u>=b&&u<=x?u:_:h>=k?f=u>=k&&u<=w?u:T:r===A&&h>=A?f=A:h>=M?f=M:r===S&&h>=S?f=S:r===E&&h>=E&&(f=E),f>=u&&(f=u,s=!0);var p=i+f;if(e.rangebreaks&&f>0){for(var d=0,m=0;m<84;m++){var C=(m+.5)/84;e.maskBreaks(i*(1-C)+C*p)!==O&&d++}(f*=d/84)||(t[n].drop=!0),s&&u>A&&(f=u)}(f>0||0===n)&&(t[n].periodX=i+f/2)}}(U,t,t._definedDelta),t.rangebreaks){var gt="y"===t._id.charAt(0),yt=1;"auto"===t.tickmode&&(yt=t.tickfont?t.tickfont.size:12);var vt=NaN;for(a=N.length-1;a>-1;a--)if(N[a].drop)N.splice(a,1);else{N[a].value=Ft(N[a].value,t);var xt=t.c2p(N[a].value);(gt?vt>xt-yt:vtD||nD&&(r.periodX=D),n10||"01-01"!==n.substr(5)?t._tickround="d":t._tickround=+e.substr(1)%12==0?"y":"m";else if(e>=M&&a<=10||e>=15*M)t._tickround="d";else if(e>=C&&a<=16||e>=E)t._tickround="M";else if(e>=L&&a<=19||e>=C)t._tickround="S";else{var o=t.l2r(r+e).replace(/^-/,"").length;t._tickround=Math.max(a,o)-20,t._tickround<0&&(t._tickround=4)}}else if(i(e)||"L"===e.charAt(0)){var s=t.range.map(t.r2d||Number);i(e)||(e=Number(e.substr(1))),t._tickround=2-Math.floor(Math.log(e)/Math.LN10+.01);var l=Math.max(Math.abs(s[0]),Math.abs(s[1])),c=Math.floor(Math.log(l)/Math.LN10+.01),u=void 0===t.minexponent?3:t.minexponent;Math.abs(c)>u&&(_t(t.exponentformat)&&!bt(c)?t._tickexponent=3*Math.round((c-1)/3):t._tickexponent=c)}else t._tickround=null}function vt(t,e,r){var n=t.tickfont||{};return{x:e,dx:0,dy:0,text:r||"",fontSize:n.size,font:n.family,fontWeight:n.weight,fontStyle:n.style,fontVariant:n.variant,fontTextcase:n.textcase,fontLineposition:n.lineposition,fontShadow:n.shadow,fontColor:n.color}}Z.autoTicks=function(t,e,r){var n;function a(t){return Math.pow(t,Math.floor(Math.log(e)/Math.LN10))}if("date"===t.type){t.tick0=s.dateTick0(t.calendar,0);var o=2*e;if(o>y)e/=y,n=a(10),t.dtick="M"+12*gt(e,n,ct);else if(o>T)e/=T,t.dtick="M"+gt(e,1,ut);else if(o>M){if(t.dtick=gt(e,M,t._hasDayOfWeekBreaks?[1,2,7,14]:ft),!r){var l=Z.getTickFormat(t),c="period"===t.ticklabelmode;c&&(t._rawTick0=t.tick0),/%[uVW]/.test(l)?t.tick0=s.dateTick0(t.calendar,2):t.tick0=s.dateTick0(t.calendar,1),c&&(t._dowTick0=t.tick0)}}else o>E?t.dtick=gt(e,E,ut):o>C?t.dtick=gt(e,C,ht):o>L?t.dtick=gt(e,L,ht):(n=a(10),t.dtick=gt(e,n,ct))}else if("log"===t.type){t.tick0=0;var u=s.simpleMap(t.range,t.r2l);if(t._isMinor&&(e*=1.5),e>.7)t.dtick=Math.ceil(e);else if(Math.abs(u[1]-u[0])<1){var h=1.5*Math.abs((u[1]-u[0])/e);e=Math.abs(Math.pow(10,u[1])-Math.pow(10,u[0]))/h,n=a(10),t.dtick="L"+gt(e,n,ct)}else t.dtick=e>.3?"D2":"D1"}else"category"===t.type||"multicategory"===t.type?(t.tick0=0,t.dtick=Math.ceil(Math.max(e,1))):Rt(t)?(t.tick0=0,n=1,t.dtick=gt(e,n,mt)):(t.tick0=0,n=a(10),t.dtick=gt(e,n,ct));if(0===t.dtick&&(t.dtick=1),!i(t.dtick)&&"string"!=typeof t.dtick){var f=t.dtick;throw t.dtick=1,"ax.dtick error: "+String(f)}},Z.tickIncrement=function(t,e,r,a){var o=r?-1:1;if(i(e))return s.increment(t,o*e);var l=e.charAt(0),c=o*Number(e.substr(1));if("M"===l)return s.incrementMonth(t,c,a);if("L"===l)return Math.log(Math.pow(10,t)+c)/Math.LN10;if("D"===l){var u="D2"===e?dt:pt,h=t+.01*o,f=s.roundUp(s.mod(h,1),u,r);return Math.floor(h)+Math.log(n.round(Math.pow(10,f),1))/Math.LN10}throw"unrecognized dtick "+String(e)},Z.tickFirst=function(t,e){var r=t.r2l||Number,a=s.simpleMap(t.range,r,void 0,void 0,e),o=a[1]=0&&r<=t._length?e:null};if(l&&s.isArrayOrTypedArray(t.ticktext)){var p=s.simpleMap(t.range,t.r2l),d=(Math.abs(p[1]-p[0])-(t._lBreaks||0))/1e4;for(a=0;a ")}else t._prevDateHead=l,c+="
"+l;e.text=c}(t,o,r,c):"log"===u?function(t,e,r,n,a){var o=t.dtick,l=e.x,c=t.tickformat,u="string"==typeof o&&o.charAt(0);if("never"===a&&(a=""),n&&"L"!==u&&(o="L3",u="L"),c||"L"===u)e.text=wt(Math.pow(10,l),t,a,n);else if(i(o)||"D"===u&&s.mod(l+.01,1)<.1){var h=Math.round(l),f=Math.abs(h),p=t.exponentformat;"power"===p||_t(p)&&bt(h)?(e.text=0===h?1:1===h?"10":"10"+(h>1?"":z)+f+"",e.fontSize*=1.25):("e"===p||"E"===p)&&f>2?e.text="1"+p+(h>0?"+":z)+f:(e.text=wt(Math.pow(10,l),t,"","fakehover"),"D1"===o&&"y"===t._id.charAt(0)&&(e.dy-=e.fontSize/6))}else{if("D"!==u)throw"unrecognized dtick "+String(o);e.text=String(Math.round(Math.pow(10,s.mod(l,1)))),e.fontSize*=.75}if("D1"===t.dtick){var d=String(e.text).charAt(0);"0"!==d&&"1"!==d||("y"===t._id.charAt(0)?e.dx-=e.fontSize/4:(e.dy+=e.fontSize/2,e.dx+=(t.range[1]>t.range[0]?1:-1)*e.fontSize*(l<0?.5:.25)))}}(t,o,0,c,g):"category"===u?function(t,e){var r=t._categories[Math.round(e.x)];void 0===r&&(r=""),e.text=String(r)}(t,o):"multicategory"===u?function(t,e,r){var n=Math.round(e.x),i=t._categories[n]||[],a=void 0===i[1]?"":String(i[1]),o=void 0===i[0]?"":String(i[0]);r?e.text=o+" - "+a:(e.text=a,e.text2=o)}(t,o,r):Rt(t)?function(t,e,r,n,i){if("radians"!==t.thetaunit||r)e.text=wt(e.x,t,i,n);else{var a=e.x/180;if(0===a)e.text="0";else{var o=function(t){function e(t,e){return Math.abs(t-e)<=1e-6}var r=function(t){for(var r=1;!e(Math.round(t*r)/r,t);)r*=10;return r}(t),n=t*r,i=Math.abs(function t(r,n){return e(n,0)?r:t(n,r%n)}(n,r));return[Math.round(n/i),Math.round(r/i)]}(a);if(o[1]>=100)e.text=wt(s.deg2rad(e.x),t,i,n);else{var l=e.x<0;1===o[1]?1===o[0]?e.text="π":e.text=o[0]+"π":e.text=["",o[0],"","⁄","",o[1],"","π"].join(""),l&&(e.text=z+e.text)}}}}(t,o,r,c,g):function(t,e,r,n,i){"never"===i?i="":"all"===t.showexponent&&Math.abs(e.x/t.dtick)<1e-6&&(i="hide"),e.text=wt(e.x,t,i,n)}(t,o,0,c,g),n||(t.tickprefix&&!m(t.showtickprefix)&&(o.text=t.tickprefix+o.text),t.ticksuffix&&!m(t.showticksuffix)&&(o.text+=t.ticksuffix)),t.labelalias&&t.labelalias.hasOwnProperty(o.text)){var y=t.labelalias[o.text];"string"==typeof y&&(o.text=y)}return("boundaries"===t.tickson||t.showdividers)&&(o.xbnd=[f(o.x-.5),f(o.x+t.dtick-.5)]),o},Z.hoverLabelText=function(t,e,r){r&&(t=s.extendFlat({},t,{hoverformat:r}));var n=s.isArrayOrTypedArray(e)?e[0]:e,i=s.isArrayOrTypedArray(e)?e[1]:void 0;if(void 0!==i&&i!==n)return Z.hoverLabelText(t,n,r)+" - "+Z.hoverLabelText(t,i,r);var a="log"===t.type&&n<=0,o=Z.tickText(t,t.c2l(a?-n:n),"hover").text;return a?0===n?"0":z+o:o};var xt=["f","p","n","μ","m","","k","M","G","T"];function _t(t){return"SI"===t||"B"===t}function bt(t){return t>14||t<-15}function wt(t,e,r,n){var a=t<0,o=e._tickround,l=r||e.exponentformat||"B",c=e._tickexponent,u=Z.getTickFormat(e),h=e.separatethousands;if(n){var f={exponentformat:l,minexponent:e.minexponent,dtick:"none"===e.showexponent?e.dtick:i(t)&&Math.abs(t)||1,range:"none"===e.showexponent?e.range.map(e.r2d):[0,t||1]};yt(f),o=(Number(f._tickround)||0)+4,c=f._tickexponent,e.hoverformat&&(u=e.hoverformat)}if(u)return e._numFormat(u)(t).replace(/-/g,z);var p,d=Math.pow(10,-o)/2;if("none"===l&&(c=0),(t=Math.abs(t))"+p+"":"B"===l&&9===c?t+="B":_t(l)&&(t+=xt[c/3+5])),a?z+t:t}function Tt(t,e){if(t){var r=Object.keys(j).reduce((function(t,r){return-1!==e.indexOf(r)&&j[r].forEach((function(e){t[e]=1})),t}),{});Object.keys(t).forEach((function(e){r[e]||(1===e.length?t[e]=0:delete t[e])}))}}function kt(t,e){for(var r=[],n={},i=0;i1&&r=i.min&&t=0,a=u(t,e[1])<=0;return(r||i)&&(n||a)}if(t.tickformatstops&&t.tickformatstops.length>0)switch(t.type){case"date":case"linear":for(e=0;e=o(i)))){r=n;break}break;case"log":for(e=0;e=0&&i.unshift(i.splice(n,1).shift())}}));var o={false:{left:0,right:0}};return s.syncOrAsync(i.map((function(e){return function(){if(e){var n=Z.getFromId(t,e);r||(r={}),r.axShifts=o,r.overlayingShiftedAx=a;var i=Z.drawOne(t,n,r);return n._shiftPusher&&jt(n,n._fullDepth||0,o,!0),n._r=n.range.slice(),n._rl=s.simpleMap(n._r,n.r2l),i}}})))},Z.drawOne=function(t,e,r){var n,i,l,p=(r=r||{}).axShifts||{},d=r.overlayingShiftedAx||[];e.setScale();var m=t._fullLayout,g=e._id,y=g.charAt(0),v=Z.counterLetter(g),x=m._plots[e._mainSubplot];if(x){if(e._shiftPusher=e.autoshift||-1!==d.indexOf(e._id)||-1!==d.indexOf(e.overlaying),e._shiftPusher&"free"===e.anchor){var _=e.linewidth/2||0;"inside"===e.ticks&&(_+=e.ticklen),jt(e,_,p,!0),jt(e,e.shift||0,p,!1)}!0===r.skipTitle&&void 0!==e._shift||(e._shift=function(t,e){return t.autoshift?e[t.overlaying][t.side]:t.shift||0}(e,p));var b=x[y+"axislayer"],w=e._mainLinePosition,T=w+=e._shift,k=e._mainMirrorPosition,A=e._vals=Z.calcTicks(e),M=[e.mirror,T,k].join("_");for(n=0;n0?r.bottom-u:0,h))));var f=0,p=0;if(e._shiftPusher&&(f=Math.max(h,r.height>0?"l"===l?u-r.left:r.right-u:0),e.title.text!==m._dfltTitle[y]&&(p=(e._titleStandoff||0)+(e._titleScoot||0),"l"===l&&(p+=St(e))),e._fullDepth=Math.max(f,p)),e.automargin){n={x:0,y:0,r:0,l:0,t:0,b:0};var d=[0,1],g="number"==typeof e._shift?e._shift:0;if("x"===y){if("b"===l?n[l]=e._depth:(n[l]=e._depth=Math.max(r.width>0?u-r.top:0,h),d.reverse()),r.width>0){var x=r.right-(e._offset+e._length);x>0&&(n.xr=1,n.r=x);var _=e._offset-r.left;_>0&&(n.xl=0,n.l=_)}}else if("l"===l?(e._depth=Math.max(r.height>0?u-r.left:0,h),n[l]=e._depth-g):(e._depth=Math.max(r.height>0?r.right-u:0,h),n[l]=e._depth+g,d.reverse()),r.height>0){var b=r.bottom-(e._offset+e._length);b>0&&(n.yb=0,n.b=b);var w=e._offset-r.top;w>0&&(n.yt=1,n.t=w)}n[v]="free"===e.anchor?e.position:e._anchorAxis.domain[d[0]],e.title.text!==m._dfltTitle[y]&&(n[l]+=St(e)+(e.title.standoff||0)),e.mirror&&"free"!==e.anchor&&((i={x:0,y:0,r:0,l:0,t:0,b:0})[c]=e.linewidth,e.mirror&&!0!==e.mirror&&(i[c]+=h),!0===e.mirror||"ticks"===e.mirror?i[v]=e._anchorAxis.domain[d[1]]:"all"!==e.mirror&&"allticks"!==e.mirror||(i[v]=[e._counterDomainMin,e._counterDomainMax][d[1]]))}ht&&(s=o.getComponentMethod("rangeslider","autoMarginOpts")(t,e)),"string"==typeof e.automargin&&(Tt(n,e.automargin),Tt(i,e.automargin)),a.autoMargin(t,Lt(e),n),a.autoMargin(t,It(e),i),a.autoMargin(t,Pt(e),s)})),s.syncOrAsync(ct)}}function ft(t){var r=g+(t||"tick");return S[r]||(S[r]=function(t,e,r){var n,i,a,o;if(t._selections[e].size())n=1/0,i=-1/0,a=1/0,o=-1/0,t._selections[e].each((function(){var t=Ct(this),e=f.bBox(t.node().parentNode);n=Math.min(n,e.top),i=Math.max(i,e.bottom),a=Math.min(a,e.left),o=Math.max(o,e.right)}));else{var s=Z.makeLabelFns(t,r);n=i=s.yFn({dx:0,dy:0,fontSize:0}),a=o=s.xFn({dx:0,dy:0,fontSize:0})}return{top:n,bottom:i,left:a,right:o,height:i-n,width:o-a}}(e,r,T)),S[r]}},Z.getTickSigns=function(t,e){var r=t._id.charAt(0),n={x:"top",y:"right"}[r],i=t.side===n?1:-1,a=[-1,1,i,-i];return"inside"!==(e?(t.minor||{}).ticks:t.ticks)==("x"===r)&&(a=a.map((function(t){return-t}))),t.side&&a.push({l:-1,t:-1,r:1,b:1}[t.side.charAt(0)]),a},Z.makeTransTickFn=function(t){return"x"===t._id.charAt(0)?function(e){return l(t._offset+t.l2p(e.x),0)}:function(e){return l(0,t._offset+t.l2p(e.x))}},Z.makeTransTickLabelFn=function(t){var e=function(t){var e=t.ticklabelposition||"",r=function(t){return-1!==e.indexOf(t)},n=r("top"),i=r("left"),a=r("right"),o=r("bottom"),s=r("inside"),l=o||i||n||a;if(!l&&!s)return[0,0];var c=t.side,u=l?(t.tickwidth||0)/2:0,h=3,f=t.tickfont?t.tickfont.size:12;return(o||n)&&(u+=f*q,h+=(t.linewidth||0)/2),(i||a)&&(u+=(t.linewidth||0)/2,h+=3),s&&"top"===c&&(h-=f*(1-q)),(i||n)&&(u=-u),"bottom"!==c&&"right"!==c||(h=-h),[l?u:0,s?h:0]}(t),r=t.ticklabelshift||0,n=t.ticklabelstandoff||0,i=e[0],a=e[1],o=t.range[0]>t.range[1],s=t.ticklabelposition&&-1!==t.ticklabelposition.indexOf("inside"),c=!s;if(r&&(r*=o?-1:1),n){var u=t.side;n*=s&&("top"===u||"left"===u)||c&&("bottom"===u||"right"===u)?1:-1}return"x"===t._id.charAt(0)?function(e){return l(i+t._offset+t.l2p(At(e))+r,a+n)}:function(e){return l(a+n,i+t._offset+t.l2p(At(e))+r)}},Z.makeTickPath=function(t,e,r,n){n||(n={});var i=n.minor;if(i&&!t.minor)return"";var a=void 0!==n.len?n.len:i?t.minor.ticklen:t.ticklen,o=t._id.charAt(0),s=(t.linewidth||1)/2;return"x"===o?"M0,"+(e+s*r)+"v"+a*r:"M"+(e+s*r)+",0h"+a*r},Z.makeLabelFns=function(t,e,r){var n=t.ticklabelposition||"",a=function(t){return-1!==n.indexOf(t)},o=a("top"),l=a("left"),c=a("right"),u=a("bottom")||l||o||c,h=a("inside"),f="inside"===n&&"inside"===t.ticks||!h&&"outside"===t.ticks&&"boundaries"!==t.tickson,p=0,d=0,m=f?t.ticklen:0;if(h?m*=-1:u&&(m=0),f&&(p+=m,r)){var g=s.deg2rad(r);p=m*Math.cos(g)+1,d=m*Math.sin(g)}t.showticklabels&&(f||t.showline)&&(p+=.2*t.tickfont.size);var y,v,x,_,b,w={labelStandoff:p+=(t.linewidth||1)/2*(h?-1:1),labelShift:d},T=0,k=t.side,A=t._id.charAt(0),M=t.tickangle;if("x"===A)_=(b=!h&&"bottom"===k||h&&"top"===k)?1:-1,h&&(_*=-1),y=d*_,v=e+p*_,x=b?1:-.2,90===Math.abs(M)&&(h?x+=V:x=-90===M&&"bottom"===k?q:90===M&&"top"===k?V:.5,T=V/2*(M/90)),w.xFn=function(t){return t.dx+y+T*t.fontSize},w.yFn=function(t){return t.dy+v+t.fontSize*x},w.anchorFn=function(t,e){if(u){if(l)return"end";if(c)return"start"}return i(e)&&0!==e&&180!==e?e*_<0!==h?"end":"start":"middle"},w.heightFn=function(e,r,n){return r<-60||r>60?-.5*n:"top"===t.side!==h?-n:0};else if("y"===A){if(_=(b=!h&&"left"===k||h&&"right"===k)?1:-1,h&&(_*=-1),y=p,v=d*_,x=0,h||90!==Math.abs(M)||(x=-90===M&&"left"===k||90===M&&"right"===k?q:.5),h){var S=i(M)?+M:0;if(0!==S){var E=s.deg2rad(S);T=Math.abs(Math.sin(E))*q*_,x=0}}w.xFn=function(t){return t.dx+e-(y+t.fontSize*x)*_+T*t.fontSize},w.yFn=function(t){return t.dy+v+t.fontSize*V},w.anchorFn=function(t,e){return i(e)&&90===Math.abs(e)?"middle":b?"end":"start"},w.heightFn=function(e,r,n){return"right"===t.side&&(r*=-1),r<-30?-n:r<30?-.5*n:0}}return w},Z.drawTicks=function(t,e,r){r=r||{};var i=e._id+"tick",a=[].concat(e.minor&&e.minor.ticks?r.vals.filter((function(t){return t.minor&&!t.noTick})):[]).concat(e.ticks?r.vals.filter((function(t){return!t.minor&&!t.noTick})):[]),o=r.layer.selectAll("path."+i).data(a,Mt);o.exit().remove(),o.enter().append("path").classed(i,1).classed("ticks",1).classed("crisp",!1!==r.crisp).each((function(t){return h.stroke(n.select(this),t.minor?e.minor.tickcolor:e.tickcolor)})).style("stroke-width",(function(r){return f.crispRound(t,r.minor?e.minor.tickwidth:e.tickwidth,1)+"px"})).attr("d",r.path).style("display",null),Nt(e,[B]),o.attr("transform",r.transFn)},Z.drawGrid=function(t,e,r){if(r=r||{},"sync"!==e.tickmode){var i=e._id+"grid",a=e.minor&&e.minor.showgrid,o=a?r.vals.filter((function(t){return t.minor})):[],s=e.showgrid?r.vals.filter((function(t){return!t.minor})):[],l=r.counterAxis;if(l&&Z.shouldShowZeroLine(t,e,l))for(var c="array"===e.tickmode,u=0;u=0;y--){var v=y?m:g;if(v){var x=v.selectAll("path."+i).data(y?s:o,Mt);x.exit().remove(),x.enter().append("path").classed(i,1).classed("crisp",!1!==r.crisp),x.attr("transform",r.transFn).attr("d",r.path).each((function(t){return h.stroke(n.select(this),t.minor?e.minor.gridcolor:e.gridcolor||"#ddd")})).style("stroke-dasharray",(function(t){return f.dashStyle(t.minor?e.minor.griddash:e.griddash,t.minor?e.minor.gridwidth:e.gridwidth)})).style("stroke-width",(function(t){return(t.minor?d:e._gw)+"px"})).style("display",null),"function"==typeof r.path&&x.attr("d",r.path)}}Nt(e,[R,F])}},Z.drawZeroLine=function(t,e,r){r=r||r;var n=e._id+"zl",i=Z.shouldShowZeroLine(t,e,r.counterAxis),a=r.layer.selectAll("path."+n).data(i?[{x:0,id:e._id}]:[]);a.exit().remove(),a.enter().append("path").classed(n,1).classed("zl",1).classed("crisp",!1!==r.crisp).each((function(){r.layer.selectAll("path").sort((function(t,e){return X(t.id,e.id)}))})),a.attr("transform",r.transFn).attr("d",r.path).call(h.stroke,e.zerolinecolor||h.defaultLine).style("stroke-width",f.crispRound(t,e.zerolinewidth,e._gw||1)+"px").style("display",null),Nt(e,[D])},Z.drawLabels=function(t,e,r){r=r||{};var a=t._fullLayout,o=e._id,u=r.cls||o+"tick",h=r.vals.filter((function(t){return t.text})),p=r.labelFns,d=r.secondary?0:e.tickangle,m=(e._prevTickAngles||{})[u],g=r.layer.selectAll("g."+u).data(e.showticklabels?h:[],Mt),y=[];function v(t,a){t.each((function(t){var o=n.select(this),s=o.select(".text-math-group"),u=p.anchorFn(t,a),h=r.transFn.call(o.node(),t)+(i(a)&&0!=+a?" rotate("+a+","+p.xFn(t)+","+(p.yFn(t)-t.fontSize/2)+")":""),d=c.lineCount(o),m=H*t.fontSize,g=p.heightFn(t,i(a)?+a:0,(d-1)*m);if(g&&(h+=l(0,g)),s.empty()){var y=o.select("text");y.attr({transform:h,"text-anchor":u}),y.style("opacity",1),e._adjustTickLabelsOverflow&&e._adjustTickLabelsOverflow()}else{var v=f.bBox(s.node()).width*{end:-.5,start:.5}[u];s.attr("transform",h+l(v,0))}}))}g.enter().append("g").classed(u,1).append("text").attr("text-anchor","middle").each((function(e){var r=n.select(this),i=t._promises.length;r.call(c.positionText,p.xFn(e),p.yFn(e)).call(f.font,{family:e.font,size:e.fontSize,color:e.fontColor,weight:e.fontWeight,style:e.fontStyle,variant:e.fontVariant,textcase:e.fontTextcase,lineposition:e.fontLineposition,shadow:e.fontShadow}).text(e.text).call(c.convertToTspans,t),t._promises[i]?y.push(t._promises.pop().then((function(){v(r,d)}))):v(r,d)})),Nt(e,[N]),g.exit().remove(),r.repositionOnUpdate&&g.each((function(t){n.select(this).select("text").call(c.positionText,p.xFn(t),p.yFn(t))})),e._adjustTickLabelsOverflow=function(){var r=e.ticklabeloverflow;if(r&&"allow"!==r){var i=-1!==r.indexOf("hide"),o="x"===e._id.charAt(0),l=0,c=o?t._fullLayout.width:t._fullLayout.height;if(-1!==r.indexOf("domain")){var u=s.simpleMap(e.range,e.r2l);l=e.l2p(u[0])+e._offset,c=e.l2p(u[1])+e._offset}var h=Math.min(l,c),p=Math.max(l,c),d=e.side,m=1/0,y=-1/0;for(var v in g.each((function(t){var r=n.select(this);if(r.select(".text-math-group").empty()){var a=f.bBox(r.node()),s=0;o?(a.right>p||a.leftp||a.top+(e.tickangle?0:t.fontSize/4)e["_visibleLabelMin_"+r._id]?l.style("display","none"):"tick"!==t.K||i||l.style("display",null)}))}))}))}))},v(g,m+1?m:d);var x=null;e._selections&&(e._selections[u]=g);var _=[function(){return y.length&&Promise.all(y)}];e.automargin&&a._redrawFromAutoMarginCount&&90===m?(x=m,_.push((function(){v(g,m)}))):_.push((function(){if(v(g,d),h.length&&e.autotickangles&&("log"!==e.type||"D"!==String(e.dtick).charAt(0))){x=e.autotickangles[0];var t,n=0,i=[],a=1;g.each((function(t){n=Math.max(n,t.fontSize);var r=e.l2p(t.x),o=Ct(this),s=f.bBox(o.node());a=Math.max(a,c.lineCount(o)),i.push({top:0,bottom:10,height:10,left:r-s.width/2,right:r+s.width/2+2,width:s.width+2})}));var o=("boundaries"===e.tickson||e.showdividers)&&!r.secondary,l=h.length,u=Math.abs((h[l-1].x-h[0].x)*e._m)/(l-1),p=o?u/2:u,m=o?e.ticklen:1.25*n*a,y=p/Math.sqrt(Math.pow(p,2)+Math.pow(m,2)),_=e.autotickangles.map((function(t){return t*Math.PI/180})),b=_.find((function(t){return Math.abs(Math.cos(t))<=y}));void 0===b&&(b=_.reduce((function(t,e){return Math.abs(Math.cos(t))j*O&&(I=O,E[S]=C[S]=P[S])}var U=Math.abs(I-L);U-k>0?k*=1+k/(U-=k):k=0,"y"!==e._id.charAt(0)&&(k=-k),E[M]=w.p2r(w.r2p(C[M])+A*k),"min"===w.autorange||"max reversed"===w.autorange?(E[0]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0):"max"!==w.autorange&&"min reversed"!==w.autorange||(E[1]=null,w._rangeInitial0=void 0,w._rangeInitial1=void 0),a._insideTickLabelsUpdaterange[w._name+".range"]=E}var V=s.syncOrAsync(_);return V&&V.then&&t._promises.push(V),V},Z.getPxPosition=function(t,e){var r,n=t._fullLayout._size,i=e._id.charAt(0),a=e.side;return"free"!==e.anchor?r=e._anchorAxis:"x"===i?r={_offset:n.t+(1-(e.position||0))*n.h,_length:0}:"y"===i&&(r={_offset:n.l+(e.position||0)*n.w+e._shift,_length:0}),"top"===a||"left"===a?r._offset:"bottom"===a||"right"===a?r._offset+r._length:void 0},Z.shouldShowZeroLine=function(t,e,r){var n=s.simpleMap(e.range,e.r2l);return n[0]*n[1]<=0&&e.zeroline&&("linear"===e.type||"-"===e.type)&&!(e.rangebreaks&&e.maskBreaks(0)===O)&&(Et(e,0)||!function(t,e,r,n){var i=r._mainAxis;if(i){var a=t._fullLayout,o=e._id.charAt(0),s=Z.counterLetter(e._id),l=e._offset+(Math.abs(n[0])1)for(n=1;n2*o}(i,e))return"date";var g="strict"!==r.autotypenumbers;return function(t,e){for(var r=t.length,n=h(r),i=0,o=0,s={},u=0;u2*i}(i,g)?"category":function(t,e){for(var r=t.length,n=0;n=2){var s,c,u="";if(2===o.length)for(s=0;s<2;s++)if(c=b(o[s])){u=y;break}var h=i("pattern",u);if(h===y)for(s=0;s<2;s++)(c=b(o[s]))&&(e.bounds[s]=o[s]=c-1);if(h)for(s=0;s<2;s++)switch(c=o[s],h){case y:if(!n(c))return void(e.enabled=!1);if((c=+c)!==Math.floor(c)||c<0||c>=7)return void(e.enabled=!1);e.bounds[s]=o[s]=c;break;case v:if(!n(c))return void(e.enabled=!1);if((c=+c)<0||c>24)return void(e.enabled=!1);e.bounds[s]=o[s]=c}if(!1===r.autorange){var f=r.range;if(f[0]f[1])return void(e.enabled=!1)}else if(o[0]>f[0]&&o[1]n?1:-1:+(t.substr(1)||1)-+(e.substr(1)||1)},e.ref2id=function(t){return!!/^[xyz]/.test(t)&&t.split(" ")[0]},e.isLinked=function(t,e){return a(e,t._axisMatchGroups)||a(e,t._axisConstraintGroups)}},46473:function(t,e,r){"use strict";var n=r(87800).isTypedArraySpec;t.exports=function(t,e,r,i){if("category"===e.type){var a,o=t.categoryarray,s=Array.isArray(o)&&o.length>0||n(o);s&&(a="array");var l,c=r("categoryorder",a);"array"===c&&(l=r("categoryarray")),s||"array"!==c||(c=e.categoryorder="trace"),"trace"===c?e._initialCategories=[]:"array"===c?e._initialCategories=l.slice():(l=function(t,e){var r,n,i,a=e.dataAttr||t._id.charAt(0),o={};if(e.axData)r=e.axData;else for(r=[],n=0;nn?i.substr(n):a.substr(r))+o:i+a+t*e:o}function g(t,e){for(var r=e._size,n=r.h/r.w,i={},a=Object.keys(t),o=0;oc*x)||T)for(r=0;rz&&FI&&(I=F);f/=(I-L)/(2*P),L=l.l2r(L),I=l.l2r(I),l.range=l._input.range=S=0?Math.min(t,.9):1/(1/Math.max(t,-.3)+3.222))}function N(t,e,r,n,i){return t.append("path").attr("class","zoombox").style({fill:e>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("transform",c(r,n)).attr("d",i+"Z")}function j(t,e,r){return t.append("path").attr("class","zoombox-corners").style({fill:h.background,stroke:h.defaultLine,"stroke-width":1,opacity:0}).attr("transform",c(e,r)).attr("d","M0,0Z")}function U(t,e,r,n,i,a){t.attr("d",n+"M"+r.l+","+r.t+"v"+r.h+"h"+r.w+"v-"+r.h+"h-"+r.w+"Z"),V(t,e,i,a)}function V(t,e,r,n){r||(t.transition().style("fill",n>.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),e.transition().style("opacity",1).duration(200))}function q(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}function H(t){P&&t.data&&t._context.showTips&&(i.notifier(i._(t,"Double-click to zoom back out"),"long"),P=!1)}function G(t){var e=Math.floor(Math.min(t.b-t.t,t.r-t.l,I)/2);return"M"+(t.l-3.5)+","+(t.t-.5+e)+"h3v"+-e+"h"+e+"v-3h-"+(e+3)+"ZM"+(t.r+3.5)+","+(t.t-.5+e)+"h-3v"+-e+"h"+-e+"v-3h"+(e+3)+"ZM"+(t.r+3.5)+","+(t.b+.5-e)+"h-3v"+e+"h"+-e+"v3h"+(e+3)+"ZM"+(t.l-3.5)+","+(t.b+.5-e)+"h3v"+e+"h"+e+"v3h-"+(e+3)+"Z"}function Z(t,e,r,n,a){for(var o,s,l,c,u=!1,h={},f={},p=(a||{}).xaHash,d=(a||{}).yaHash,m=0;m=0)i._fullLayout._deactivateShape(i);else{var o=i._fullLayout.clickmode;if(q(i),2!==t||yt||Ht(),gt)o.indexOf("select")>-1&&S(r,i,$,J,e.id,It),o.indexOf("event")>-1&&p.click(i,r,e.id);else if(1===t&&yt){var s=m?z:P,c="s"===m||"w"===y?0:1,h=s._name+".range["+c+"]",f=function(t,e){var r,n=t.range[e],i=Math.abs(n-t.range[1-e]);return"date"===t.type?n:"log"===t.type?(r=Math.ceil(Math.max(0,-Math.log(i)/Math.LN10))+3,a("."+r+"g")(Math.pow(10,n))):(r=Math.floor(Math.log(Math.abs(n))/Math.LN10)-Math.floor(Math.log(i)/Math.LN10)+4,a("."+String(r)+"g")(n))}(s,c),d="left",g="middle";if(s.fixedrange)return;m?(g="n"===m?"top":"bottom","right"===s.side&&(d="right")):"e"===y&&(d="right"),i._context.showAxisRangeEntryBoxes&&n.select(_t).call(u.makeEditable,{gd:i,immediate:!0,background:i._fullLayout.paper_bgcolor,text:String(f),fill:s.tickfont?s.tickfont.color:"#444",horizontalAlign:d,verticalAlign:g}).on("edit",(function(t){var e=s.d2r(t);void 0!==e&&l.call("_guiRelayout",i,h,e)}))}}}function Ot(e,r){if(t._transitioningWithDuration)return!1;var n=Math.max(0,Math.min(tt,pt*e+bt)),i=Math.max(0,Math.min(et,dt*r+wt)),a=Math.abs(n-bt),o=Math.abs(i-wt);function s(){St="",Tt.r=Tt.l,Tt.t=Tt.b,Ct.attr("d","M0,0Z")}if(Tt.l=Math.min(bt,n),Tt.r=Math.max(bt,n),Tt.t=Math.min(wt,i),Tt.b=Math.max(wt,i),rt.isSubplotConstrained)a>I||o>I?(St="xy",a/tt>o/et?(o=a*et/tt,wt>i?Tt.t=wt-o:Tt.b=wt+o):(a=o*tt/et,bt>n?Tt.l=bt-a:Tt.r=bt+a),Ct.attr("d",G(Tt))):s();else if(nt.isSubplotConstrained)if(a>I||o>I){St="xy";var l=Math.min(Tt.l/tt,(et-Tt.b)/et),c=Math.max(Tt.r/tt,(et-Tt.t)/et);Tt.l=l*tt,Tt.r=c*tt,Tt.b=(1-l)*et,Tt.t=(1-c)*et,Ct.attr("d",G(Tt))}else s();else!at||o0){var u;if(nt.isSubplotConstrained||!it&&1===at.length){for(u=0;u<$.length;u++)$[u].range=$[u]._r.slice(),E($[u],1-r/et);o=(e=r*tt/et)/2}if(nt.isSubplotConstrained||!at&&1===it.length){for(u=0;u1&&(void 0!==a.maxallowed&&st===(a.range[0]1&&(void 0!==o.maxallowed&<===(o.range[0]1)if(l)e.xlines=f(n,"path","xlines-above"),e.ylines=f(n,"path","ylines-above"),e.xaxislayer=f(n,"g","xaxislayer-above"),e.yaxislayer=f(n,"g","yaxislayer-above");else{if(!a){var h=f(n,"g","layer-subplot");e.shapelayer=f(h,"g","shapelayer"),e.imagelayer=f(h,"g","imagelayer"),e.minorGridlayer=f(n,"g","minor-gridlayer"),e.gridlayer=f(n,"g","gridlayer"),e.zerolinelayer=f(n,"g","zerolinelayer");var m=f(n,"g","layer-between");e.shapelayerBetween=f(m,"g","shapelayer"),e.imagelayerBetween=f(m,"g","imagelayer"),f(n,"path","xlines-below"),f(n,"path","ylines-below"),e.overlinesBelow=f(n,"g","overlines-below"),f(n,"g","xaxislayer-below"),f(n,"g","yaxislayer-below"),e.overaxesBelow=f(n,"g","overaxes-below")}e.overplot=f(n,"g","overplot"),e.plot=f(e.overplot,"g",i),a||(e.xlines=f(n,"path","xlines-above"),e.ylines=f(n,"path","ylines-above"),e.overlinesAbove=f(n,"g","overlines-above"),f(n,"g","xaxislayer-above"),f(n,"g","yaxislayer-above"),e.overaxesAbove=f(n,"g","overaxes-above"),e.xlines=n.select(".xlines-"+o),e.ylines=n.select(".ylines-"+s),e.xaxislayer=n.select(".xaxislayer-"+o),e.yaxislayer=n.select(".yaxislayer-"+s))}else{var g=e.mainplotinfo,y=g.plotgroup,v=i+"-x",x=i+"-y";e.minorGridlayer=g.minorGridlayer,e.gridlayer=g.gridlayer,e.zerolinelayer=g.zerolinelayer,f(g.overlinesBelow,"path",v),f(g.overlinesBelow,"path",x),f(g.overaxesBelow,"g",v),f(g.overaxesBelow,"g",x),e.plot=f(g.overplot,"g",i),f(g.overlinesAbove,"path",v),f(g.overlinesAbove,"path",x),f(g.overaxesAbove,"g",v),f(g.overaxesAbove,"g",x),e.xlines=y.select(".overlines-"+o).select("."+v),e.ylines=y.select(".overlines-"+s).select("."+x),e.xaxislayer=y.select(".overaxes-"+o).select("."+v),e.yaxislayer=y.select(".overaxes-"+s).select("."+x)}a||(l||(p(e.minorGridlayer,"g",e.xaxis._id),p(e.minorGridlayer,"g",e.yaxis._id),e.minorGridlayer.selectAll("g").map((function(t){return t[0]})).sort(c.idSort),p(e.gridlayer,"g",e.xaxis._id),p(e.gridlayer,"g",e.yaxis._id),e.gridlayer.selectAll("g").map((function(t){return t[0]})).sort(c.idSort)),e.xlines.style("fill","none").classed("crisp",!0),e.ylines.style("fill","none").classed("crisp",!0))}function y(t,e){if(t){var r={};for(var i in t.each((function(t){var i=t[0];n.select(this).remove(),v(i,e),r[i]=!0})),e._plots)for(var a=e._plots[i].overlays||[],o=0;o0){var g=p.id;if(-1!==g.indexOf(d))continue;g+=d+(u+1),p=a.extendFlat({},p,{id:g,plot:o._cartesianlayer.selectAll(".subplot").select("."+g)})}for(var y,v=[],x=0;x1&&(w+=d+b),_.push(n+w),r=0;r_[1]-1/4096&&(e.domain=s),i.noneOrAll(t.domain,e.domain,s),"sync"===e.tickmode&&(e.tickmode="auto")}return r("layer"),e}},54616:function(t,e,r){"use strict";var n=r(87703);t.exports=function(t,e,r,i,a){a||(a={});var o=a.tickSuffixDflt,s=n(t);r("tickprefix")&&r("showtickprefix",s),r("ticksuffix",o)&&r("showticksuffix",s)}},90259:function(t,e,r){"use strict";var n=r(75511);t.exports=function(t,e,r,i){var a=e._template||{},o=e.type||a.type||"-";r("minallowed"),r("maxallowed");var s,l=r("range");l||i.noInsiderange||"log"===o||(!(s=r("insiderange"))||null!==s[0]&&null!==s[1]||(e.insiderange=!1,s=void 0),s&&(l=r("range",s)));var c,u=e.getAutorangeDflt(l,i),h=r("autorange",u);!l||(null!==l[0]||null!==l[1])&&(null!==l[0]&&null!==l[1]||"reversed"!==h&&!0!==h)&&(null===l[0]||"min"!==h&&"max reversed"!==h)&&(null===l[1]||"max"!==h&&"min reversed"!==h)||(l=void 0,delete e.range,e.autorange=!0,c=!0),c||(h=r("autorange",u=e.getAutorangeDflt(l,i))),h&&(n(r,h,l),"linear"!==o&&"-"!==o||r("rangemode")),e.cleanRange()}},67611:function(t,e,r){"use strict";var n=r(4530).FROM_BL;t.exports=function(t,e,r){void 0===r&&(r=n[t.constraintoward||"center"]);var i=[t.r2l(t.range[0]),t.r2l(t.range[1])],a=i[0]+(i[1]-i[0])*r;t.range=t._input.range=[t.l2r(a+(i[0]-a)*e),t.l2r(a+(i[1]-a)*e)],t.setScale()}},19091:function(t,e,r){"use strict";var n=r(45568),i=r(42696).aL,a=r(34809),o=a.numberFormat,s=r(10721),l=a.cleanNumber,c=a.ms2DateTime,u=a.dateTime2ms,h=a.ensureNumber,f=a.isArrayOrTypedArray,p=r(63821),d=p.FP_SAFE,m=p.BADNUM,g=p.LOG_CLIP,y=p.ONEWEEK,v=p.ONEDAY,x=p.ONEHOUR,_=p.ONEMIN,b=p.ONESEC,w=r(5975),T=r(54826),k=T.HOUR_PATTERN,A=T.WEEKDAY_PATTERN;function M(t){return Math.pow(10,t)}function S(t){return null!=t}t.exports=function(t,e){e=e||{};var r=t._id||"x",p=r.charAt(0);function E(e,r){if(e>0)return Math.log(e)/Math.LN10;if(e<=0&&r&&t.range&&2===t.range.length){var n=t.range[0],i=t.range[1];return.5*(n+i-2*g*Math.abs(n-i))}return m}function C(e,r,n,i){if((i||{}).msUTC&&s(e))return+e;var o=u(e,n||t.calendar);if(o===m){if(!s(e))return m;e=+e;var l=Math.floor(10*a.mod(e+.05,1)),c=Math.round(e-l/10);o=u(new Date(c))+l/10}return o}function L(e,r,n){return c(e,r,n||t.calendar)}function I(e){return t._categories[Math.round(e)]}function P(e){if(S(e)){if(void 0===t._categoriesMap&&(t._categoriesMap={}),void 0!==t._categoriesMap[e])return t._categoriesMap[e];t._categories.push("number"==typeof e?String(e):e);var r=t._categories.length-1;return t._categoriesMap[e]=r,r}return m}function z(e){if(t._categoriesMap)return t._categoriesMap[e]}function O(t){var e=z(t);return void 0!==e?e:s(t)?+t:void 0}function D(t){return s(t)?+t:z(t)}function R(t,e,r){return n.round(r+e*t,2)}function F(t,e,r){return(t-r)/e}var B=function(e){return s(e)?R(e,t._m,t._b):m},N=function(e){return F(e,t._m,t._b)};if(t.rangebreaks){var j="y"===p;B=function(e){if(!s(e))return m;var r=t._rangebreaks.length;if(!r)return R(e,t._m,t._b);var n=j;t.range[0]>t.range[1]&&(n=!n);for(var i=n?-1:1,a=i*e,o=0,l=0;lu)){o=a<(c+u)/2?l:l+1;break}o=l+1}var h=t._B[o]||0;return isFinite(h)?R(e,t._m2,h):0},N=function(e){var r=t._rangebreaks.length;if(!r)return F(e,t._m,t._b);for(var n=0,i=0;it._rangebreaks[i].pmax&&(n=i+1);return F(e,t._m2,t._B[n])}}t.c2l="log"===t.type?E:h,t.l2c="log"===t.type?M:h,t.l2p=B,t.p2l=N,t.c2p="log"===t.type?function(t,e){return B(E(t,e))}:B,t.p2c="log"===t.type?function(t){return M(N(t))}:N,-1!==["linear","-"].indexOf(t.type)?(t.d2r=t.r2d=t.d2c=t.r2c=t.d2l=t.r2l=l,t.c2d=t.c2r=t.l2d=t.l2r=h,t.d2p=t.r2p=function(e){return t.l2p(l(e))},t.p2d=t.p2r=N,t.cleanPos=h):"log"===t.type?(t.d2r=t.d2l=function(t,e){return E(l(t),e)},t.r2d=t.r2c=function(t){return M(l(t))},t.d2c=t.r2l=l,t.c2d=t.l2r=h,t.c2r=E,t.l2d=M,t.d2p=function(e,r){return t.l2p(t.d2r(e,r))},t.p2d=function(t){return M(N(t))},t.r2p=function(e){return t.l2p(l(e))},t.p2r=N,t.cleanPos=h):"date"===t.type?(t.d2r=t.r2d=a.identity,t.d2c=t.r2c=t.d2l=t.r2l=C,t.c2d=t.c2r=t.l2d=t.l2r=L,t.d2p=t.r2p=function(e,r,n){return t.l2p(C(e,0,n))},t.p2d=t.p2r=function(t,e,r){return L(N(t),e,r)},t.cleanPos=function(e){return a.cleanDate(e,m,t.calendar)}):"category"===t.type?(t.d2c=t.d2l=P,t.r2d=t.c2d=t.l2d=I,t.d2r=t.d2l_noadd=O,t.r2c=function(e){var r=D(e);return void 0!==r?r:t.fraction2r(.5)},t.l2r=t.c2r=h,t.r2l=D,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return I(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return"string"==typeof t&&""!==t?t:h(t)}):"multicategory"===t.type&&(t.r2d=t.c2d=t.l2d=I,t.d2r=t.d2l_noadd=O,t.r2c=function(e){var r=O(e);return void 0!==r?r:t.fraction2r(.5)},t.r2c_just_indices=z,t.l2r=t.c2r=h,t.r2l=O,t.d2p=function(e){return t.l2p(t.r2c(e))},t.p2d=function(t){return I(N(t))},t.r2p=t.d2p,t.p2r=N,t.cleanPos=function(t){return Array.isArray(t)||"string"==typeof t&&""!==t?t:h(t)},t.setupMultiCategory=function(n){var i,o,s=t._traceIndices,l=t._matchGroup;if(l&&0===t._categories.length)for(var c in l)if(c!==r){var u=e[w.id2name(c)];s=s.concat(u._traceIndices)}var h=[[0,{}],[0,{}]],d=[];for(i=0;il[1]&&(i[s?0:1]=n),i[0]===i[1]){var c=t.l2r(r),u=t.l2r(n);if(void 0!==r){var h=c+1;void 0!==n&&(h=Math.min(h,u)),i[s?1:0]=h}if(void 0!==n){var f=u+1;void 0!==r&&(f=Math.max(f,c)),i[s?0:1]=f}}}},t.cleanRange=function(e,r){t._cleanRange(e,r),t.limitRange(e)},t._cleanRange=function(e,r){r||(r={}),e||(e="range");var n,i,o=a.nestedProperty(t,e).get();if(i=(i="date"===t.type?a.dfltRange(t.calendar):"y"===p?T.DFLTRANGEY:"realaxis"===t._name?[0,1]:r.dfltRange||T.DFLTRANGEX).slice(),"tozero"!==t.rangemode&&"nonnegative"!==t.rangemode||(i[0]=0),o&&2===o.length){var l=null===o[0],c=null===o[1];for("date"!==t.type||t.autorange||(o[0]=a.cleanDate(o[0],m,t.calendar),o[1]=a.cleanDate(o[1],m,t.calendar)),n=0;n<2;n++)if("date"===t.type){if(!a.isDateTime(o[n],t.calendar)){t[e]=i;break}if(t.r2l(o[0])===t.r2l(o[1])){var u=a.constrain(t.r2l(o[0]),a.MIN_MS+1e3,a.MAX_MS-1e3);o[0]=t.l2r(u-1e3),o[1]=t.l2r(u+1e3);break}}else{if(!s(o[n])){if(l||c||!s(o[1-n])){t[e]=i;break}o[n]=o[1-n]*(n?10:.1)}if(o[n]<-d?o[n]=-d:o[n]>d&&(o[n]=d),o[0]===o[1]){var h=Math.max(1,Math.abs(1e-6*o[0]));o[0]-=h,o[1]+=h}}}else a.nestedProperty(t,e).set(i)},t.setScale=function(r){var n=e._size;if(t.overlaying){var i=w.getFromId({_fullLayout:e},t.overlaying);t.domain=i.domain}var a=r&&t._r?"_r":"range",o=t.calendar;t.cleanRange(a);var s,l,c=t.r2l(t[a][0],o),u=t.r2l(t[a][1],o),h="y"===p;if(h?(t._offset=n.t+(1-t.domain[1])*n.h,t._length=n.h*(t.domain[1]-t.domain[0]),t._m=t._length/(c-u),t._b=-t._m*u):(t._offset=n.l+t.domain[0]*n.w,t._length=n.w*(t.domain[1]-t.domain[0]),t._m=t._length/(u-c),t._b=-t._m*c),t._rangebreaks=[],t._lBreaks=0,t._m2=0,t._B=[],t.rangebreaks&&(t._rangebreaks=t.locateBreaks(Math.min(c,u),Math.max(c,u)),t._rangebreaks.length)){for(s=0;su&&(f=!f),f&&t._rangebreaks.reverse();var d=f?-1:1;for(t._m2=d*t._length/(Math.abs(u-c)-t._lBreaks),t._B.push(-t._m2*(h?u:c)),s=0;si&&(i+=7,oi&&(i+=24,o=n&&o=n&&e=s.min&&(ts.max&&(s.max=n),i=!1)}i&&c.push({min:t,max:n})}};for(n=0;nr.duration?(function(){for(var r={},n=0;n rect").call(o.setTranslate,0,0).call(o.setScale,1,1),t.plot.call(o.setTranslate,e._offset,r._offset).call(o.setScale,1,1);var n=t.plot.selectAll(".scatterlayer .trace");n.selectAll(".point").call(o.setPointGroupScale,1,1),n.selectAll(".textpoint").call(o.setTextPointsScale,1,1),n.call(o.hideOutsideRangePoints,t)}function g(e,r){var n=e.plotinfo,i=n.xaxis,l=n.yaxis,c=i._length,u=l._length,h=!!e.xr1,f=!!e.yr1,p=[];if(h){var d=a.simpleMap(e.xr0,i.r2l),m=a.simpleMap(e.xr1,i.r2l),g=d[1]-d[0],y=m[1]-m[0];p[0]=(d[0]*(1-r)+r*m[0]-d[0])/(d[1]-d[0])*c,p[2]=c*(1-r+r*y/g),i.range[0]=i.l2r(d[0]*(1-r)+r*m[0]),i.range[1]=i.l2r(d[1]*(1-r)+r*m[1])}else p[0]=0,p[2]=c;if(f){var v=a.simpleMap(e.yr0,l.r2l),x=a.simpleMap(e.yr1,l.r2l),_=v[1]-v[0],b=x[1]-x[0];p[1]=(v[1]*(1-r)+r*x[1]-v[1])/(v[0]-v[1])*u,p[3]=u*(1-r+r*b/_),l.range[0]=i.l2r(v[0]*(1-r)+r*x[0]),l.range[1]=l.l2r(v[1]*(1-r)+r*x[1])}else p[1]=0,p[3]=u;s.drawOne(t,i,{skipTitle:!0}),s.drawOne(t,l,{skipTitle:!0}),s.redrawComponents(t,[i._id,l._id]);var w=h?c/p[2]:1,T=f?u/p[3]:1,k=h?p[0]:0,A=f?p[1]:0,M=h?p[0]/p[2]*c:0,S=f?p[1]/p[3]*u:0,E=i._offset-M,C=l._offset-S;n.clipRect.call(o.setTranslate,k,A).call(o.setScale,1/w,1/T),n.plot.call(o.setTranslate,E,C).call(o.setScale,w,T),o.setPointGroupScale(n.zoomScalePts,1/w,1/T),o.setTextPointsScale(n.zoomScaleTxt,1/w,1/T)}s.redrawComponents(t)}},4392:function(t,e,r){"use strict";var n=r(33626).traceIs,i=r(9666);function a(t){return{v:"x",h:"y"}[t.orientation||"v"]}function o(t,e){var r=a(t),i=n(t,"box-violin"),o=n(t._fullInput||{},"candlestick");return i&&!o&&e===r&&void 0===t[r]&&void 0===t[r+"0"]}t.exports=function(t,e,r,s){r("autotypenumbers",s.autotypenumbersDflt),"-"===r("type",(s.splomStash||{}).type)&&(function(t,e){if("-"===t.type){var r,s=t._id,l=s.charAt(0);-1!==s.indexOf("scene")&&(s=l);var c=function(t,e,r){for(var n=0;n0&&(i["_"+r+"axes"]||{})[e])return i;if((i[r+"axis"]||r)===e){if(o(i,r))return i;if((i[r]||[]).length||i[r+"0"])return i}}}(e,s,l);if(c)if("histogram"!==c.type||l!=={v:"y",h:"x"}[c.orientation||"v"]){var u=l+"calendar",h=c[u],f={noMultiCategory:!n(c,"cartesian")||n(c,"noMultiCategory")};if("box"===c.type&&c._hasPreCompStats&&l==={h:"x",v:"y"}[c.orientation||"v"]&&(f.noMultiCategory=!0),f.autotypenumbers=t.autotypenumbers,o(c,l)){var p=a(c),d=[];for(r=0;r0?".":"")+a;i.isPlainObject(o)?l(o,e,s,n+1):e(s,a,o)}}))}e.manageCommandObserver=function(t,r,n,o){var s={},l=!0;r&&r._commandObserver&&(s=r._commandObserver),s.cache||(s.cache={}),s.lookupTable={};var c=e.hasSimpleAPICommandBindings(t,n,s.lookupTable);if(r&&r._commandObserver){if(c)return s;if(r._commandObserver.remove)return r._commandObserver.remove(),r._commandObserver=null,s}if(c){a(t,c,s.cache),s.check=function(){if(l){var e=a(t,c,s.cache);return e.changed&&o&&void 0!==s.lookupTable[e.value]&&(s.disable(),Promise.resolve(o({value:e.value,type:c.type,prop:c.prop,traces:c.traces,index:s.lookupTable[e.value]})).then(s.enable,s.enable)),e.changed}};for(var u=["plotly_relayout","plotly_redraw","plotly_restyle","plotly_update","plotly_animatingframe","plotly_afterplot"],h=0;h0&&i<0&&(i+=360);var s=(i-n)/4;return{type:"Polygon",coordinates:[[[n,a],[n,o],[n+s,o],[n+2*s,o],[n+3*s,o],[i,o],[i,a],[i-s,a],[i-2*s,a],[i-3*s,a],[n,a]]]}}t.exports=function(t){return new M(t)},S.plot=function(t,e,r,n){var i=this;if(n)return i.update(t,e,!0);i._geoCalcData=t,i._fullLayout=e;var a=e[this.id],o=[],s=!1;for(var l in w.layerNameToAdjective)if("frame"!==l&&a["show"+l]){s=!0;break}for(var c=!1,u=0;u0&&o._module.calcGeoJSON(a,e)}if(!r){if(this.updateProjection(t,e))return;this.viewInitial&&this.scope===n.scope||this.saveViewInitial(n)}this.scope=n.scope,this.updateBaseLayers(e,n),this.updateDims(e,n),this.updateFx(e,n),d.generalUpdatePerTraceModule(this.graphDiv,this,t,n);var s=this.layers.frontplot.select(".scatterlayer");this.dataPoints.point=s.selectAll(".point"),this.dataPoints.text=s.selectAll("text"),this.dataPaths.line=s.selectAll(".js-line");var l=this.layers.backplot.select(".choroplethlayer");this.dataPaths.choropleth=l.selectAll("path"),this._render()},S.updateProjection=function(t,e){var r=this.graphDiv,n=e[this.id],l=e._size,u=n.domain,h=n.projection,f=n.lonaxis,p=n.lataxis,d=f._ax,m=p._ax,y=this.projection=function(t){var e=t.projection,r=e.type,n=w.projNames[r];n="geo"+c.titleCase(n);for(var l=(i[n]||s[n])(),u=t._isSatellite?180*Math.acos(1/e.distance)/Math.PI:t._isClipped?w.lonaxisSpan[r]/2:null,h=["center","rotate","parallels","clipExtent"],f=function(t){return t?l:[]},p=0;pu*Math.PI/180}return!1},l.getPath=function(){return a().projection(l)},l.getBounds=function(t){return l.getPath().bounds(t)},l.precision(w.precision),t._isSatellite&&l.tilt(e.tilt).distance(e.distance),u&&l.clipAngle(u-w.clipPad),l}(n),v=[[l.l+l.w*u.x[0],l.t+l.h*(1-u.y[1])],[l.l+l.w*u.x[1],l.t+l.h*(1-u.y[0])]],x=n.center||{},_=h.rotation||{},b=f.range||[],T=p.range||[];if(n.fitbounds){d._length=v[1][0]-v[0][0],m._length=v[1][1]-v[0][1],d.range=g(r,d),m.range=g(r,m);var k=(d.range[0]+d.range[1])/2,A=(m.range[0]+m.range[1])/2;if(n._isScoped)x={lon:k,lat:A};else if(n._isClipped){x={lon:k,lat:A},_={lon:k,lat:A,roll:_.roll};var M=h.type,S=w.lonaxisSpan[M]/2||180,C=w.lataxisSpan[M]/2||90;b=[k-S,k+S],T=[A-C,A+C]}else x={lon:k,lat:A},_={lon:k,lat:_.lat,roll:_.roll}}y.center([x.lon-_.lon,x.lat-_.lat]).rotate([-_.lon,-_.lat,_.roll]).parallels(h.parallels);var L=E(b,T);y.fitExtent(v,L);var I=this.bounds=y.getBounds(L),P=this.fitScale=y.scale(),z=y.translate();if(n.fitbounds){var O=y.getBounds(E(d.range,m.range)),D=Math.min((I[1][0]-I[0][0])/(O[1][0]-O[0][0]),(I[1][1]-I[0][1])/(O[1][1]-O[0][1]));isFinite(D)?y.scale(D*P):c.warn("Something went wrong during"+this.id+"fitbounds computations.")}else y.scale(h.scale*P);var R=this.midPt=[(I[0][0]+I[1][0])/2,(I[0][1]+I[1][1])/2];if(y.translate([z[0]+(R[0]-z[0]),z[1]+(R[1]-z[1])]).clipExtent(I),n._isAlbersUsa){var F=y([x.lon,x.lat]),B=y.translate();y.translate([B[0]-(F[0]-B[0]),B[1]-(F[1]-B[1])])}},S.updateBaseLayers=function(t,e){var r=this,i=r.topojson,a=r.layers,o=r.basePaths;function s(t){return"lonaxis"===t||"lataxis"===t}function l(t){return Boolean(w.lineLayers[t])}function c(t){return Boolean(w.fillLayers[t])}var u=(this.hasChoropleth?w.layersForChoropleth:w.layers).filter((function(t){return l(t)||c(t)?e["show"+t]:!s(t)||e[t].showgrid})),p=r.framework.selectAll(".layer").data(u,String);p.exit().each((function(t){delete a[t],delete o[t],n.select(this).remove()})),p.enter().append("g").attr("class",(function(t){return"layer "+t})).each((function(t){var e=a[t]=n.select(this);"bg"===t?r.bgRect=e.append("rect").style("pointer-events","all"):s(t)?o[t]=e.append("path").style("fill","none"):"backplot"===t?e.append("g").classed("choroplethlayer",!0):"frontplot"===t?e.append("g").classed("scatterlayer",!0):l(t)?o[t]=e.append("path").style("fill","none").style("stroke-miterlimit",2):c(t)&&(o[t]=e.append("path").style("stroke","none"))})),p.order(),p.each((function(r){var n=o[r],a=w.layerNameToAdjective[r];"frame"===r?n.datum(w.sphereSVG):l(r)||c(r)?n.datum(A(i,i.objects[r])):s(r)&&n.datum(function(t,e,r){var n,i,a,o=e[t],s=w.scopeDefaults[e.scope];"lonaxis"===t?(n=s.lonaxisRange,i=s.lataxisRange,a=function(t,e){return[t,e]}):"lataxis"===t&&(n=s.lataxisRange,i=s.lonaxisRange,a=function(t,e){return[e,t]});var l={type:"linear",range:[n[0],n[1]-1e-6],tick0:o.tick0,dtick:o.dtick};m.setConvert(l,r);var c=m.calcTicks(l);e.isScoped||"lonaxis"!==t||c.pop();for(var u=c.length,h=new Array(u),f=0;f-1&&_(n.event,i,[r.xaxis],[r.yaxis],r.id,u),s.indexOf("event")>-1&&p.click(i,n.event))}))}function h(t){return r.projection.invert([t[0]+r.xaxis._offset,t[1]+r.yaxis._offset])}},S.makeFramework=function(){var t=this,e=t.graphDiv,r=e._fullLayout,i="clip"+r._uid+t.id;t.clipDef=r._clips.append("clipPath").attr("id",i),t.clipRect=t.clipDef.append("rect"),t.framework=n.select(t.container).append("g").attr("class","geo "+t.id).call(f.setClipUrl,i,e),t.project=function(e){var r=t.projection(e);return r?[r[0]-t.xaxis._offset,r[1]-t.yaxis._offset]:[null,null]},t.xaxis={_id:"x",c2p:function(e){return t.project(e)[0]}},t.yaxis={_id:"y",c2p:function(e){return t.project(e)[1]}},t.mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},m.setConvert(t.mockAxis,r)},S.saveViewInitial=function(t){var e,r=t.center||{},n=t.projection,i=n.rotation||{};this.viewInitial={fitbounds:t.fitbounds,"projection.scale":n.scale},e=t._isScoped?{"center.lon":r.lon,"center.lat":r.lat}:t._isClipped?{"projection.rotation.lon":i.lon,"projection.rotation.lat":i.lat}:{"center.lon":r.lon,"center.lat":r.lat,"projection.rotation.lon":i.lon},c.extendFlat(this.viewInitial,e)},S.render=function(t){this._hasMarkerAngles&&t?this.plot(this._geoCalcData,this._fullLayout,[],!0):this._render()},S._render=function(){var t,e=this.projection,r=e.getPath();function n(t){var r=e(t.lonlat);return r?u(r[0],r[1]):null}function i(t){return e.isLonLatOverEdges(t.lonlat)?"none":null}for(t in this.basePaths)this.basePaths[t].attr("d",r);for(t in this.dataPaths)this.dataPaths[t].attr("d",(function(t){return r(t.geojson)}));for(t in this.dataPoints)this.dataPoints[t].attr("display",i).attr("transform",n)}},47544:function(t,e,r){"use strict";var n=r(4173).fX,i=r(34809).counterRegex,a=r(6493),o="geo",s=i(o),l={};l[o]={valType:"subplotid",dflt:o,editType:"calc"},t.exports={attr:o,name:o,idRoot:o,idRegex:s,attrRegex:s,attributes:l,layoutAttributes:r(42194),supplyLayoutDefaults:r(31653),plot:function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[o],s=0;s0&&I<0&&(I+=360);var P,z,O,D=(L+I)/2;if(!p){var R=d?h.projRotate:[D,0,0];P=r("projection.rotation.lon",R[0]),r("projection.rotation.lat",R[1]),r("projection.rotation.roll",R[2]),r("showcoastlines",!d&&x)&&(r("coastlinecolor"),r("coastlinewidth")),r("showocean",!!x&&void 0)&&r("oceancolor")}p?(z=-96.6,O=38.7):(z=d?D:P,O=(C[0]+C[1])/2),r("center.lon",z),r("center.lat",O),m&&(r("projection.tilt"),r("projection.distance")),g&&r("projection.parallels",h.projParallels||[0,60]),r("projection.scale"),r("showland",!!x&&void 0)&&r("landcolor"),r("showlakes",!!x&&void 0)&&r("lakecolor"),r("showrivers",!!x&&void 0)&&(r("rivercolor"),r("riverwidth")),r("showcountries",d&&"usa"!==u&&x)&&(r("countrycolor"),r("countrywidth")),("usa"===u||"north america"===u&&50===c)&&(r("showsubunits",x),r("subunitcolor"),r("subunitwidth")),d||r("showframe",x)&&(r("framecolor"),r("framewidth")),r("bgcolor"),r("fitbounds")&&(delete e.projection.scale,d?(delete e.center.lon,delete e.center.lat):y?(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon,delete e.projection.rotation.lat,delete e.lonaxis.range,delete e.lataxis.range):(delete e.center.lon,delete e.center.lat,delete e.projection.rotation.lon))}t.exports=function(t,e,r){i(t,e,r,{type:"geo",attributes:s,handleDefaults:c,fullData:r,partition:"y"})}},14309:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=r(33626),o=Math.PI/180,s=180/Math.PI,l={cursor:"pointer"},c={cursor:"auto"};function u(t,e){return n.behavior.zoom().translate(e.translate()).scale(e.scale())}function h(t,e,r){var n=t.id,o=t.graphDiv,s=o.layout,l=s[n],c=o._fullLayout,u=c[n],h={},f={};function p(t,e){h[n+"."+t]=i.nestedProperty(l,t).get(),a.call("_storeDirectGUIEdit",s,c._preGUI,h);var r=i.nestedProperty(u,t);r.get()!==e&&(r.set(e),i.nestedProperty(l,t).set(e),f[n+"."+t]=e)}r(p),p("projection.scale",e.scale()/t.fitScale),p("fitbounds",!1),o.emit("plotly_relayout",f)}function f(t,e){var r=u(0,e);function i(r){var n=e.invert(t.midPt);r("center.lon",n[0]),r("center.lat",n[1])}return r.on("zoomstart",(function(){n.select(this).style(l)})).on("zoom",(function(){e.scale(n.event.scale).translate(n.event.translate),t.render(!0);var r=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":r[0],"geo.center.lat":r[1]})})).on("zoomend",(function(){n.select(this).style(c),h(t,e,i)})),r}function p(t,e){var r,i,a,o,s,f,p,d,m,g=u(0,e);function y(t){return e.invert(t)}function v(r){var n=e.rotate(),i=e.invert(t.midPt);r("projection.rotation.lon",-n[0]),r("center.lon",i[0]),r("center.lat",i[1])}return g.on("zoomstart",(function(){n.select(this).style(l),r=n.mouse(this),i=e.rotate(),a=e.translate(),o=i,s=y(r)})).on("zoom",(function(){if(f=n.mouse(this),function(t){var r=y(t);if(!r)return!0;var n=e(r);return Math.abs(n[0]-t[0])>2||Math.abs(n[1]-t[1])>2}(r))return g.scale(e.scale()),void g.translate(e.translate());e.scale(n.event.scale),e.translate([a[0],n.event.translate[1]]),s?y(f)&&(d=y(f),p=[o[0]+(d[0]-s[0]),i[1],i[2]],e.rotate(p),o=p):s=y(r=f),m=!0,t.render(!0);var l=e.rotate(),c=e.invert(t.midPt);t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.center.lon":c[0],"geo.center.lat":c[1],"geo.projection.rotation.lon":-l[0]})})).on("zoomend",(function(){n.select(this).style(c),m&&h(t,e,v)})),g}function d(t,e){var r,i={r:e.rotate(),k:e.scale()},a=u(0,e),f=function(t){for(var e=0,r=arguments.length,i=[];++ed?(a=(h>0?90:-90)-p,i=0):(a=Math.asin(h/d)*s-p,i=Math.sqrt(d*d-h*h));var m=180-a-2*p,y=(Math.atan2(f,u)-Math.atan2(c,i))*s,x=(Math.atan2(f,u)-Math.atan2(c,-i))*s;return g(r[0],r[1],a,y)<=g(r[0],r[1],m,x)?[a,y,r[2]]:[m,x,r[2]]}(T,r,E);isFinite(k[0])&&isFinite(k[1])&&isFinite(k[2])||(k=E),e.rotate(k),E=k}}else r=m(e,M=_);f.of(this,arguments)({type:"zoom"})})),A=f.of(this,arguments),p++||A({type:"zoomstart"})})).on("zoomend",(function(){var r;n.select(this).style(c),d.call(a,"zoom",null),r=f.of(this,arguments),--p||r({type:"zoomend"}),h(t,e,y)})).on("zoom.redraw",(function(){t.render(!0);var r=e.rotate();t.graphDiv.emit("plotly_relayouting",{"geo.projection.scale":e.scale()/t.fitScale,"geo.projection.rotation.lon":-r[0],"geo.projection.rotation.lat":-r[1]})})),n.rebind(a,f,"on")}function m(t,e){var r=t.invert(e);return r&&isFinite(r[0])&&isFinite(r[1])&&function(t){var e=t[0]*o,r=t[1]*o,n=Math.cos(r);return[n*Math.cos(e),n*Math.sin(e),Math.sin(r)]}(r)}function g(t,e,r,n){var i=y(r-t),a=y(n-e);return Math.sqrt(i*i+a*a)}function y(t){return(t%360+540)%360-180}function v(t,e,r){var n=r*o,i=t.slice(),a=0===e?1:0,s=2===e?1:2,l=Math.cos(n),c=Math.sin(n);return i[a]=t[a]*l-t[s]*c,i[s]=t[s]*l+t[a]*c,i}function x(t,e){for(var r=0,n=0,i=t.length;nMath.abs(s)?(c.boxEnd[1]=c.boxStart[1]+Math.abs(a)*b*(s>=0?1:-1),c.boxEnd[1]l[3]&&(c.boxEnd[1]=l[3],c.boxEnd[0]=c.boxStart[0]+(l[3]-c.boxStart[1])/Math.abs(b))):(c.boxEnd[0]=c.boxStart[0]+Math.abs(s)/b*(a>=0?1:-1),c.boxEnd[0]l[2]&&(c.boxEnd[0]=l[2],c.boxEnd[1]=c.boxStart[1]+(l[2]-c.boxStart[0])*Math.abs(b)))}}else c.boxEnabled?(a=c.boxStart[0]!==c.boxEnd[0],s=c.boxStart[1]!==c.boxEnd[1],a||s?(a&&(g(0,c.boxStart[0],c.boxEnd[0]),t.xaxis.autorange=!1),s&&(g(1,c.boxStart[1],c.boxEnd[1]),t.yaxis.autorange=!1),t.relayoutCallback()):t.glplot.setDirty(),c.boxEnabled=!1,c.boxInited=!1):c.boxInited&&(c.boxInited=!1);break;case"pan":c.boxEnabled=!1,c.boxInited=!1,e?(c.panning||(c.dragStart[0]=n,c.dragStart[1]=i),Math.abs(c.dragStart[0]-n).999&&(g="turntable"):g="turntable")}else g="turntable";r("dragmode",g),r("hovermode",n.getDfltFromLayout("hovermode"))}t.exports=function(t,e,r){var i=e._basePlotModules.length>1;o(t,e,r,{type:u,attributes:l,handleDefaults:h,fullLayout:e,font:e.font,fullData:r,getDfltFromLayout:function(e){if(!i)return n.validate(t[e],l[e])?t[e]:void 0},autotypenumbersDflt:e.autotypenumbers,paper_bgcolor:e.paper_bgcolor,calendar:e.calendar})}},77168:function(t,e,r){"use strict";var n=r(63397),i=r(13792).u,a=r(93049).extendFlat,o=r(34809).counterRegex;function s(t,e,r){return{x:{valType:"number",dflt:t,editType:"camera"},y:{valType:"number",dflt:e,editType:"camera"},z:{valType:"number",dflt:r,editType:"camera"},editType:"camera"}}t.exports={_arrayAttrRegexps:[o("scene",".annotations",!0)],bgcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"plot"},camera:{up:a(s(0,0,1),{}),center:a(s(0,0,0),{}),eye:a(s(1.25,1.25,1.25),{}),projection:{type:{valType:"enumerated",values:["perspective","orthographic"],dflt:"perspective",editType:"calc"},editType:"calc"},editType:"camera"},domain:i({name:"scene",editType:"plot"}),aspectmode:{valType:"enumerated",values:["auto","cube","data","manual"],dflt:"auto",editType:"plot",impliedEdits:{"aspectratio.x":void 0,"aspectratio.y":void 0,"aspectratio.z":void 0}},aspectratio:{x:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},y:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},z:{valType:"number",min:0,editType:"plot",impliedEdits:{"^aspectmode":"manual"}},editType:"plot",impliedEdits:{aspectmode:"manual"}},xaxis:n,yaxis:n,zaxis:n,dragmode:{valType:"enumerated",values:["orbit","turntable","zoom","pan",!1],editType:"plot"},hovermode:{valType:"enumerated",values:["closest",!1],dflt:"closest",editType:"modebar"},uirevision:{valType:"any",editType:"none"},editType:"plot",_deprecated:{cameraposition:{valType:"info_array",editType:"camera"}}}},64087:function(t,e,r){"use strict";var n=r(55010),i=["xaxis","yaxis","zaxis"];function a(){this.enabled=[!0,!0,!0],this.colors=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.drawSides=[!0,!0,!0],this.lineWidth=[1,1,1]}a.prototype.merge=function(t){for(var e=0;e<3;++e){var r=t[i[e]];r.visible?(this.enabled[e]=r.showspikes,this.colors[e]=n(r.spikecolor),this.drawSides[e]=r.spikesides,this.lineWidth[e]=r.spikethickness):(this.enabled[e]=!1,this.drawSides[e]=!1)}},t.exports=function(t){var e=new a;return e.merge(t),e}},32412:function(t,e,r){"use strict";t.exports=function(t){for(var e=t.axesOptions,r=t.glplot.axesPixels,s=t.fullSceneLayout,l=[[],[],[]],c=0;c<3;++c){var u=s[a[c]];if(u._length=(r[c].hi-r[c].lo)*r[c].pixelsPerDataUnit/t.dataScale[c],Math.abs(u._length)===1/0||isNaN(u._length))l[c]=[];else{u._input_range=u.range.slice(),u.range[0]=r[c].lo/t.dataScale[c],u.range[1]=r[c].hi/t.dataScale[c],u._m=1/(t.dataScale[c]*r[c].pixelsPerDataUnit),u.range[0]===u.range[1]&&(u.range[0]-=1,u.range[1]+=1);var h=u.tickmode;if("auto"===u.tickmode){u.tickmode="linear";var f=u.nticks||i.constrain(u._length/40,4,9);n.autoTicks(u,Math.abs(u.range[1]-u.range[0])/f)}for(var p=n.calcTicks(u,{msUTC:!0}),d=0;d/g," "));l[c]=p,u.tickmode=h}}for(e.ticks=l,c=0;c<3;++c)for(o[c]=.5*(t.glplot.bounds[0][c]+t.glplot.bounds[1][c]),d=0;d<2;++d)e.bounds[d][c]=t.glplot.bounds[d][c];t.contourLevels=function(t){for(var e=new Array(3),r=0;r<3;++r){for(var n=t[r],i=new Array(n.length),a=0;ar.deltaY?1.1:1/1.1,a=t.glplot.getAspectratio();t.glplot.setAspectratio({x:n*a.x,y:n*a.y,z:n*a.z})}i(t)}}),!!c&&{passive:!1}),t.glplot.canvas.addEventListener("mousemove",(function(){if(!1!==t.fullSceneLayout.dragmode&&0!==t.camera.mouseListener.buttons){var e=n();t.graphDiv.emit("plotly_relayouting",e)}})),t.staticMode||t.glplot.canvas.addEventListener("webglcontextlost",(function(r){e&&e.emit&&e.emit("plotly_webglcontextlost",{event:r,layer:t.id})}),!1)),t.glplot.oncontextloss=function(){t.recoverContext()},t.glplot.onrender=function(){t.render()},!0},k.render=function(){var t,e=this,r=e.graphDiv,n=e.svgContainer,i=e.container.getBoundingClientRect();r._fullLayout._calcInverseTransform(r);var a=r._fullLayout._invScaleX,o=r._fullLayout._invScaleY,s=i.width*a,l=i.height*o;n.setAttributeNS(null,"viewBox","0 0 "+s+" "+l),n.setAttributeNS(null,"width",s),n.setAttributeNS(null,"height",l),_(e),e.glplot.axes.update(e.axesOptions);for(var c=Object.keys(e.traces),u=null,f=e.glplot.selection,m=0;m")):"isosurface"===t.type||"volume"===t.type?(k.valueLabel=p.hoverLabelText(e._mockAxis,e._mockAxis.d2l(f.traceCoordinate[3]),t.valuehoverformat),E.push("value: "+k.valueLabel),f.textLabel&&E.push(f.textLabel),x=E.join("
")):x=f.textLabel;var C={x:f.traceCoordinate[0],y:f.traceCoordinate[1],z:f.traceCoordinate[2],data:b._input,fullData:b,curveNumber:b.index,pointNumber:T};d.appendArrayPointValue(C,b,T),t._module.eventData&&(C=b._module.eventData(C,f,b,{},T));var L={points:[C]};if(e.fullSceneLayout.hovermode){var I=[];d.loneHover({trace:b,x:(.5+.5*v[0]/v[3])*s,y:(.5-.5*v[1]/v[3])*l,xLabel:k.xLabel,yLabel:k.yLabel,zLabel:k.zLabel,text:x,name:u.name,color:d.castHoverOption(b,T,"bgcolor")||u.color,borderColor:d.castHoverOption(b,T,"bordercolor"),fontFamily:d.castHoverOption(b,T,"font.family"),fontSize:d.castHoverOption(b,T,"font.size"),fontColor:d.castHoverOption(b,T,"font.color"),nameLength:d.castHoverOption(b,T,"namelength"),textAlign:d.castHoverOption(b,T,"align"),hovertemplate:h.castOption(b,T,"hovertemplate"),hovertemplateLabels:h.extendFlat({},C,k),eventData:[C]},{container:n,gd:r,inOut_bbox:I}),C.bbox=I[0]}f.distance<5&&(f.buttons||w)?r.emit("plotly_click",L):r.emit("plotly_hover",L),this.oldEventData=L}else d.loneUnhover(n),this.oldEventData&&r.emit("plotly_unhover",this.oldEventData),this.oldEventData=void 0;e.drawAnnotations(e)},k.recoverContext=function(){var t=this;t.glplot.dispose();var e=function(){t.glplot.gl.isContextLost()?requestAnimationFrame(e):t.initializeGLPlot()?t.plot.apply(t,t.plotArgs):h.error("Catastrophic and unrecoverable WebGL error. Context lost.")};requestAnimationFrame(e)};var M=["xaxis","yaxis","zaxis"];function S(t,e,r){for(var n=t.fullSceneLayout,i=0;i<3;i++){var a=M[i],o=a.charAt(0),s=n[a],l=e[o],c=e[o+"calendar"],u=e["_"+o+"length"];if(h.isArrayOrTypedArray(l))for(var f,p=0;p<(u||l.length);p++)if(h.isArrayOrTypedArray(l[p]))for(var d=0;dy[1][o])y[0][o]=-1,y[1][o]=1;else{var P=y[1][o]-y[0][o];y[0][o]-=P/32,y[1][o]+=P/32}if(_=[y[0][o],y[1][o]],_=b(_,l),y[0][o]=_[0],y[1][o]=_[1],l.isReversed()){var z=y[0][o];y[0][o]=y[1][o],y[1][o]=z}}else _=l.range,y[0][o]=l.r2l(_[0]),y[1][o]=l.r2l(_[1]);y[0][o]===y[1][o]&&(y[0][o]-=1,y[1][o]+=1),v[o]=y[1][o]-y[0][o],l.range=[y[0][o],y[1][o]],l.limitRange(),n.glplot.setBounds(o,{min:l.range[0]*p[o],max:l.range[1]*p[o]})}var O=u.aspectmode;if("cube"===O)g=[1,1,1];else if("manual"===O){var D=u.aspectratio;g=[D.x,D.y,D.z]}else{if("auto"!==O&&"data"!==O)throw new Error("scene.js aspectRatio was not one of the enumerated types");var R=[1,1,1];for(o=0;o<3;++o){var F=x[c=(l=u[M[o]]).type];R[o]=Math.pow(F.acc,1/F.count)/p[o]}g="data"===O||Math.max.apply(null,R)/Math.min.apply(null,R)<=4?R:[1,1,1]}u.aspectratio.x=h.aspectratio.x=g[0],u.aspectratio.y=h.aspectratio.y=g[1],u.aspectratio.z=h.aspectratio.z=g[2],n.glplot.setAspectratio(u.aspectratio),n.viewInitial.aspectratio||(n.viewInitial.aspectratio={x:u.aspectratio.x,y:u.aspectratio.y,z:u.aspectratio.z}),n.viewInitial.aspectmode||(n.viewInitial.aspectmode=u.aspectmode);var B=u.domain||null,N=e._size||null;if(B&&N){var j=n.container.style;j.position="absolute",j.left=N.l+B.x[0]*N.w+"px",j.top=N.t+(1-B.y[1])*N.h+"px",j.width=N.w*(B.x[1]-B.x[0])+"px",j.height=N.h*(B.y[1]-B.y[0])+"px"}n.glplot.redraw()}},k.destroy=function(){var t=this;t.glplot&&(t.camera.mouseListener.enabled=!1,t.container.removeEventListener("wheel",t.camera.wheelListener),t.camera=null,t.glplot.dispose(),t.container.parentNode.removeChild(t.container),t.glplot=null)},k.getCamera=function(){var t,e=this;return e.camera.view.recalcMatrix(e.camera.view.lastT()),{up:{x:(t=e.camera).up[0],y:t.up[1],z:t.up[2]},center:{x:t.center[0],y:t.center[1],z:t.center[2]},eye:{x:t.eye[0],y:t.eye[1],z:t.eye[2]},projection:{type:!0===t._ortho?"orthographic":"perspective"}}},k.setViewport=function(t){var e,r=this,n=t.camera;r.camera.lookAt.apply(this,[[(e=n).eye.x,e.eye.y,e.eye.z],[e.center.x,e.center.y,e.center.z],[e.up.x,e.up.y,e.up.z]]),r.glplot.setAspectratio(t.aspectratio),"orthographic"===n.projection.type!==r.camera._ortho&&(r.glplot.redraw(),r.glplot.clearRGBA(),r.glplot.dispose(),r.initializeGLPlot())},k.isCameraChanged=function(t){var e=this.getCamera(),r=h.nestedProperty(t,this.id+".camera").get();function n(t,e,r,n){var i=["up","center","eye"],a=["x","y","z"];return e[i[r]]&&t[i[r]][a[n]]===e[i[r]][a[n]]}var i=!1;if(void 0===r)i=!0;else{for(var a=0;a<3;a++)for(var o=0;o<3;o++)if(!n(e,r,a,o)){i=!0;break}(!r.projection||e.projection&&e.projection.type!==r.projection.type)&&(i=!0)}return i},k.isAspectChanged=function(t){var e=this.glplot.getAspectratio(),r=h.nestedProperty(t,this.id+".aspectratio").get();return void 0===r||r.x!==e.x||r.y!==e.y||r.z!==e.z},k.saveLayout=function(t){var e,r,n,i,a,o,s=this,l=s.fullLayout,c=s.isCameraChanged(t),f=s.isAspectChanged(t),p=c||f;if(p){var d={};c&&(e=s.getCamera(),n=(r=h.nestedProperty(t,s.id+".camera")).get(),d[s.id+".camera"]=n),f&&(i=s.glplot.getAspectratio(),o=(a=h.nestedProperty(t,s.id+".aspectratio")).get(),d[s.id+".aspectratio"]=o),u.call("_storeDirectGUIEdit",t,l._preGUI,d),c&&(r.set(e),h.nestedProperty(l,s.id+".camera").set(e)),f&&(a.set(i),h.nestedProperty(l,s.id+".aspectratio").set(i),s.glplot.redraw())}return p},k.updateFx=function(t,e){var r=this,n=r.camera;if(n)if("orbit"===t)n.mode="orbit",n.keyBindingMode="rotate";else if("turntable"===t){n.up=[0,0,1],n.mode="turntable",n.keyBindingMode="rotate";var i=r.graphDiv,a=i._fullLayout,o=r.fullSceneLayout.camera,s=o.up.x,l=o.up.y,c=o.up.z;if(c/Math.sqrt(s*s+l*l+c*c)<.999){var f=r.id+".camera.up",p={x:0,y:0,z:1},d={};d[f]=p;var m=i.layout;u.call("_storeDirectGUIEdit",m,a._preGUI,d),o.up=p,h.nestedProperty(m,f).set(p)}}else n.keyBindingMode=t;r.fullSceneLayout.hovermode=e},k.toImage=function(t){var e=this;t||(t="png"),e.staticMode&&e.container.appendChild(n),e.glplot.redraw();var r=e.glplot.gl,i=r.drawingBufferWidth,a=r.drawingBufferHeight;r.bindFramebuffer(r.FRAMEBUFFER,null);var o=new Uint8Array(i*a*4);r.readPixels(0,0,i,a,r.RGBA,r.UNSIGNED_BYTE,o),function(t,e,r){for(var n=0,i=r-1;n0)for(var s=255/o,l=0;l<3;++l)t[a+l]=Math.min(s*t[a+l],255)}}(o,i,a);var s=document.createElement("canvas");s.width=i,s.height=a;var l,c=s.getContext("2d",{willReadFrequently:!0}),u=c.createImageData(i,a);switch(u.data.set(o),c.putImageData(u,0,0),t){case"jpeg":l=s.toDataURL("image/jpeg");break;case"webp":l=s.toDataURL("image/webp");break;default:l=s.toDataURL("image/png")}return e.staticMode&&e.container.removeChild(n),l},k.setConvert=function(){for(var t=0;t<3;t++){var e=this.fullSceneLayout[M[t]];p.setConvert(e,this.fullLayout),e.setScale=h.noop}},k.make4thDimension=function(){var t=this,e=t.graphDiv._fullLayout;t._mockAxis={type:"linear",showexponent:"all",exponentformat:"B"},p.setConvert(t._mockAxis,e)},t.exports=T},88239:function(t){"use strict";t.exports=function(t,e,r,n){n=n||t.length;for(var i=new Array(n),a=0;aOpenStreetMap
contributors',tiles:["https://tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-positron":a,"carto-darkmatter":o,"carto-voyager":s,"carto-positron-nolabels":"https://basemaps.cartocdn.com/gl/positron-nolabels-gl-style/style.json","carto-darkmatter-nolabels":"https://basemaps.cartocdn.com/gl/dark-matter-nolabels-gl-style/style.json","carto-voyager-nolabels":"https://basemaps.cartocdn.com/gl/voyager-nolabels-gl-style/style.json"},c=n(l);t.exports={styleValueDflt:"basic",stylesMap:l,styleValuesMap:c,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",missingStyleErrorMsg:["No valid maplibre style found, please set `map.style` to one of:",c.join(", "),"or use a tile service."].join("\n"),mapOnErrorMsg:"Map error."}},4657:function(t,e,r){"use strict";var n=r(34809);t.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(i){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(a){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}},34091:function(t,e,r){"use strict";var n=r(34809),i=n.strTranslate,a=n.strScale,o=r(4173).fX,s=r(62972),l=r(45568),c=r(62203),u=r(30635),h=r(38793),f="map";e.name=f,e.attr="subplot",e.idRoot=f,e.idRegex=e.attrRegex=n.counterRegex(f),e.attributes={subplot:{valType:"subplotid",dflt:"map",editType:"calc"}},e.layoutAttributes=r(8257),e.supplyLayoutDefaults=r(97446),e.plot=function(t){for(var e=t._fullLayout,r=t.calcdata,i=e._subplots[f],a=0;ax/2){var _=m.split("|").join("
");y.text(_).attr("data-unformatted",_).call(u.convertToTspans,t),v=c.bBox(y.node())}y.attr("transform",i(-3,8-v.height)),g.insert("rect",".static-attribution").attr({x:-v.width-6,y:-v.height-3,width:v.width+6,height:v.height+3,fill:"rgba(255, 255, 255, 0.75)"});var b=1;v.width+6>x&&(b=x/(v.width+6));var w=[n.l+n.w*p.x[1],n.t+n.h*(1-p.y[0])];g.attr("transform",i(w[0],w[1])+a(b))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots[f],n=0;n0){for(var r=0;r0}function u(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=c(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,c(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapLayerId=function(t){if("traces"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf("event")>-1&&c.click(n,e.originalEvent)}}},_.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(c)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),f(o)||h(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener("touchstart",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function c(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},_.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},_.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;eOpenStreetMap contributors',o=['© Carto',a].join(" "),s=['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under ODbL'].join(" "),l={"open-street-map":{id:"osm",version:8,sources:{"plotly-osm-tiles":{type:"raster",attribution:a,tiles:["https://a.tile.openstreetmap.org/{z}/{x}/{y}.png","https://b.tile.openstreetmap.org/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-osm-tiles",type:"raster",source:"plotly-osm-tiles",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"white-bg":{id:"white-bg",version:8,sources:{},layers:[{id:"white-bg",type:"background",paint:{"background-color":"#FFFFFF"},minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-positron":{id:"carto-positron",version:8,sources:{"plotly-carto-positron":{type:"raster",attribution:o,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-positron",type:"raster",source:"plotly-carto-positron",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"carto-darkmatter":{id:"carto-darkmatter",version:8,sources:{"plotly-carto-darkmatter":{type:"raster",attribution:o,tiles:["https://cartodb-basemaps-c.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png"],tileSize:256}},layers:[{id:"plotly-carto-darkmatter",type:"raster",source:"plotly-carto-darkmatter",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-terrain":{id:"stamen-terrain",version:8,sources:{"plotly-stamen-terrain":{type:"raster",attribution:s,tiles:["https://tiles.stadiamaps.com/tiles/stamen_terrain/{z}/{x}/{y}.png?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-terrain",type:"raster",source:"plotly-stamen-terrain",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-toner":{id:"stamen-toner",version:8,sources:{"plotly-stamen-toner":{type:"raster",attribution:s,tiles:["https://tiles.stadiamaps.com/tiles/stamen_toner/{z}/{x}/{y}.png?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-toner",type:"raster",source:"plotly-stamen-toner",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"},"stamen-watercolor":{id:"stamen-watercolor",version:8,sources:{"plotly-stamen-watercolor":{type:"raster",attribution:['Map tiles by Stamen Design','under CC BY 3.0',"|",'Data by OpenStreetMap contributors','under CC BY SA'].join(" "),tiles:["https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.jpg?api_key="],tileSize:256}},layers:[{id:"plotly-stamen-watercolor",type:"raster",source:"plotly-stamen-watercolor",minzoom:0,maxzoom:22}],glyphs:"https://fonts.openmaptiles.org/{fontstack}/{range}.pbf"}},c=n(l);t.exports={requiredVersion:i,styleUrlPrefix:"mapbox://styles/mapbox/",styleUrlSuffix:"v9",styleValuesMapbox:["basic","streets","outdoors","light","dark","satellite","satellite-streets"],styleValueDflt:"basic",stylesNonMapbox:l,styleValuesNonMapbox:c,traceLayerPrefix:"plotly-trace-layer-",layoutLayerPrefix:"plotly-layout-layer-",wrongVersionErrorMsg:["Your custom plotly.js bundle is not using the correct mapbox-gl version","Please install @plotly/mapbox-gl@"+i+"."].join("\n"),noAccessTokenErrorMsg:["Missing Mapbox access token.","Mapbox trace type require a Mapbox access token to be registered.","For example:"," Plotly.newPlot(gd, data, layout, { mapboxAccessToken: 'my-access-token' });","More info here: https://www.mapbox.com/help/define-access-token/"].join("\n"),missingStyleErrorMsg:["No valid mapbox style found, please set `mapbox.style` to one of:",c.join(", "),"or register a Mapbox access token to use a Mapbox-served style."].join("\n"),multipleTokensErrorMsg:["Set multiple mapbox access token across different mapbox subplot,","using first token found as mapbox-gl does not allow multipleaccess tokens on the same page."].join("\n"),mapOnErrorMsg:"Mapbox error.",mapboxLogo:{path0:"m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z",path1:"M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z",path2:"M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z",polygon:"11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34"},styleRules:{map:"overflow:hidden;position:relative;","missing-css":"display:none;",canary:"background-color:salmon;","ctrl-bottom-left":"position: absolute; pointer-events: none; z-index: 2; bottom: 0; left: 0;","ctrl-bottom-right":"position: absolute; pointer-events: none; z-index: 2; right: 0; bottom: 0;",ctrl:"clear: both; pointer-events: auto; transform: translate(0, 0);","ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner":"display: none;","ctrl-attrib.mapboxgl-compact:hover .mapboxgl-ctrl-attrib-inner":"display: block; margin-top:2px","ctrl-attrib.mapboxgl-compact:hover":"padding: 2px 24px 2px 4px; visibility: visible; margin-top: 6px;","ctrl-attrib.mapboxgl-compact::after":'content: ""; cursor: pointer; position: absolute; background-image: url(\'data:image/svg+xml;charset=utf-8,%3Csvg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"%3E %3Cpath fill="%23333333" fill-rule="evenodd" d="M4,10a6,6 0 1,0 12,0a6,6 0 1,0 -12,0 M9,7a1,1 0 1,0 2,0a1,1 0 1,0 -2,0 M9,10a1,1 0 1,1 2,0l0,3a1,1 0 1,1 -2,0"/%3E %3C/svg%3E\'); background-color: rgba(255, 255, 255, 0.5); width: 24px; height: 24px; box-sizing: border-box; border-radius: 12px;',"ctrl-attrib.mapboxgl-compact":"min-height: 20px; padding: 0; margin: 10px; position: relative; background-color: #fff; border-radius: 3px 12px 12px 3px;","ctrl-bottom-right > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; right: 0","ctrl-bottom-left > .mapboxgl-ctrl-attrib.mapboxgl-compact::after":"bottom: 0; left: 0","ctrl-bottom-left .mapboxgl-ctrl":"margin: 0 0 10px 10px; float: left;","ctrl-bottom-right .mapboxgl-ctrl":"margin: 0 10px 10px 0; float: right;","ctrl-attrib":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a":"color: rgba(0, 0, 0, 0.75); text-decoration: none; font-size: 12px","ctrl-attrib a:hover":"color: inherit; text-decoration: underline;","ctrl-attrib .mapbox-improve-map":"font-weight: bold; margin-left: 2px;","attrib-empty":"display: none;","ctrl-logo":'display:block; width: 21px; height: 21px; background-image: url(\'data:image/svg+xml;charset=utf-8,%3C?xml version="1.0" encoding="utf-8"?%3E %3Csvg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 21 21" style="enable-background:new 0 0 21 21;" xml:space="preserve"%3E%3Cg transform="translate(0,0.01)"%3E%3Cpath d="m 10.5,1.24 c -5.11,0 -9.25,4.15 -9.25,9.25 0,5.1 4.15,9.25 9.25,9.25 5.1,0 9.25,-4.15 9.25,-9.25 0,-5.11 -4.14,-9.25 -9.25,-9.25 z m 4.39,11.53 c -1.93,1.93 -4.78,2.31 -6.7,2.31 -0.7,0 -1.41,-0.05 -2.1,-0.16 0,0 -1.02,-5.64 2.14,-8.81 0.83,-0.83 1.95,-1.28 3.13,-1.28 1.27,0 2.49,0.51 3.39,1.42 1.84,1.84 1.89,4.75 0.14,6.52 z" style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3Cpath d="M 10.5,-0.01 C 4.7,-0.01 0,4.7 0,10.49 c 0,5.79 4.7,10.5 10.5,10.5 5.8,0 10.5,-4.7 10.5,-10.5 C 20.99,4.7 16.3,-0.01 10.5,-0.01 Z m 0,19.75 c -5.11,0 -9.25,-4.15 -9.25,-9.25 0,-5.1 4.14,-9.26 9.25,-9.26 5.11,0 9.25,4.15 9.25,9.25 0,5.13 -4.14,9.26 -9.25,9.26 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpath d="M 14.74,6.25 C 12.9,4.41 9.98,4.35 8.23,6.1 5.07,9.27 6.09,14.91 6.09,14.91 c 0,0 5.64,1.02 8.81,-2.14 C 16.64,11 16.59,8.09 14.74,6.25 Z m -2.27,4.09 -0.91,1.87 -0.9,-1.87 -1.86,-0.91 1.86,-0.9 0.9,-1.87 0.91,1.87 1.86,0.9 z" style="opacity:0.35;enable-background:new" class="st1"/%3E%3Cpolygon points="11.56,12.21 10.66,10.34 8.8,9.43 10.66,8.53 11.56,6.66 12.47,8.53 14.33,9.43 12.47,10.34 " style="opacity:0.9;fill:%23ffffff;enable-background:new" class="st0"/%3E%3C/g%3E%3C/svg%3E\')'}}},2178:function(t,e,r){"use strict";var n=r(34809);t.exports=function(t,e){var r=t.split(" "),i=r[0],a=r[1],o=n.isArrayOrTypedArray(e)?n.mean(e):e,s=.5+o/100,l=1.5+o/100,c=["",""],u=[0,0];switch(i){case"top":c[0]="top",u[1]=-l;break;case"bottom":c[0]="bottom",u[1]=l}switch(a){case"left":c[1]="right",u[0]=-s;break;case"right":c[1]="left",u[0]=s}return{anchor:c[0]&&c[1]?c.join("-"):c[0]?c[0]:c[1]?c[1]:"center",offset:u}}},68192:function(t,e,r){"use strict";var n=r(32280),i=r(34809),a=i.strTranslate,o=i.strScale,s=r(4173).fX,l=r(62972),c=r(45568),u=r(62203),h=r(30635),f=r(5417),p="mapbox",d=e.constants=r(44245);e.name=p,e.attr="subplot",e.idRoot=p,e.idRegex=e.attrRegex=i.counterRegex(p);var m=["mapbox subplots and traces are deprecated!","Please consider switching to `map` subplots and traces.","Learn more at: https://plotly.com/javascript/maplibre-migration/"].join(" ");e.attributes={subplot:{valType:"subplotid",dflt:"mapbox",editType:"calc"}},e.layoutAttributes=r(67514),e.supplyLayoutDefaults=r(86989);var g=!0;function y(t){return"string"==typeof t&&(-1!==d.styleValuesMapbox.indexOf(t)||0===t.indexOf("mapbox://")||0===t.indexOf("stamen"))}e.plot=function(t){g&&(g=!1,i.warn(m));var e=t._fullLayout,r=t.calcdata,a=e._subplots[p];if(n.version!==d.requiredVersion)throw new Error(d.wrongVersionErrorMsg);var o=function(t,e){var r=t._fullLayout;if(""===t._context.mapboxAccessToken)return"";for(var n=[],a=[],o=!1,s=!1,l=0;l1&&i.warn(d.multipleTokensErrorMsg),n[0]):(a.length&&i.log(["Listed mapbox access token(s)",a.join(","),"but did not use a Mapbox map style, ignoring token(s)."].join(" ")),"")}(t,a);n.accessToken=o;for(var l=0;lw/2){var T=v.split("|").join("
");_.text(T).attr("data-unformatted",T).call(h.convertToTspans,t),b=u.bBox(_.node())}_.attr("transform",a(-3,8-b.height)),x.insert("rect",".static-attribution").attr({x:-b.width-6,y:-b.height-3,width:b.width+6,height:b.height+3,fill:"rgba(255, 255, 255, 0.75)"});var k=1;b.width+6>w&&(k=w/(b.width+6));var A=[n.l+n.w*f.x[1],n.t+n.h*(1-f.y[0])];x.attr("transform",a(A[0],A[1])+o(k))}},e.updateFx=function(t){for(var e=t._fullLayout,r=e._subplots[p],n=0;n0){for(var r=0;r0}function u(t){var e={},r={};switch(t.type){case"circle":n.extendFlat(r,{"circle-radius":t.circle.radius,"circle-color":t.color,"circle-opacity":t.opacity});break;case"line":n.extendFlat(r,{"line-width":t.line.width,"line-color":t.color,"line-opacity":t.opacity,"line-dasharray":t.line.dash});break;case"fill":n.extendFlat(r,{"fill-color":t.color,"fill-outline-color":t.fill.outlinecolor,"fill-opacity":t.opacity});break;case"symbol":var i=t.symbol,o=a(i.textposition,i.iconsize);n.extendFlat(e,{"icon-image":i.icon+"-15","icon-size":i.iconsize/10,"text-field":i.text,"text-size":i.textfont.size,"text-anchor":o.anchor,"text-offset":o.offset,"symbol-placement":i.placement}),n.extendFlat(r,{"icon-color":t.color,"text-color":i.textfont.color,"text-opacity":t.opacity});break;case"raster":n.extendFlat(r,{"raster-fade-duration":0,"raster-opacity":t.opacity})}return{layout:e,paint:r}}l.update=function(t){this.visible?this.needsNewImage(t)?this.updateImage(t):this.needsNewSource(t)?(this.removeLayer(),this.updateSource(t),this.updateLayer(t)):this.needsNewLayer(t)?this.updateLayer(t):this.updateStyle(t):(this.updateSource(t),this.updateLayer(t)),this.visible=c(t)},l.needsNewImage=function(t){return this.subplot.map.getSource(this.idSource)&&"image"===this.sourceType&&"image"===t.sourcetype&&(this.source!==t.source||JSON.stringify(this.coordinates)!==JSON.stringify(t.coordinates))},l.needsNewSource=function(t){return this.sourceType!==t.sourcetype||JSON.stringify(this.source)!==JSON.stringify(t.source)||this.layerType!==t.type},l.needsNewLayer=function(t){return this.layerType!==t.type||this.below!==this.subplot.belowLookup["layout-"+this.index]},l.lookupBelow=function(){return this.subplot.belowLookup["layout-"+this.index]},l.updateImage=function(t){this.subplot.map.getSource(this.idSource).updateImage({url:t.source,coordinates:t.coordinates});var e=this.findFollowingMapboxLayerId(this.lookupBelow());null!==e&&this.subplot.map.moveLayer(this.idLayer,e)},l.updateSource=function(t){var e=this.subplot.map;if(e.getSource(this.idSource)&&e.removeSource(this.idSource),this.sourceType=t.sourcetype,this.source=t.source,c(t)){var r=function(t){var e,r=t.sourcetype,n=t.source,a={type:r};return"geojson"===r?e="data":"vector"===r?e="string"==typeof n?"url":"tiles":"raster"===r?(e="tiles",a.tileSize=256):"image"===r&&(e="url",a.coordinates=t.coordinates),a[e]=n,t.sourceattribution&&(a.attribution=i(t.sourceattribution)),a}(t);e.addSource(this.idSource,r)}},l.findFollowingMapboxLayerId=function(t){if("traces"===t)for(var e=this.subplot.getMapLayers(),r=0;r1)for(r=0;r-1&&g(e.originalEvent,n,[r.xaxis],[r.yaxis],r.id,t),i.indexOf("event")>-1&&c.click(n,e.originalEvent)}}},_.updateFx=function(t){var e=this,r=e.map,n=e.gd;if(!e.isStatic){var a,o=t.dragmode;a=function(t,r){r.isRect?(t.range={})[e.id]=[c([r.xmin,r.ymin]),c([r.xmax,r.ymax])]:(t.lassoPoints={})[e.id]=r.map(c)};var s=e.dragOptions;e.dragOptions=i.extendDeep(s||{},{dragmode:t.dragmode,element:e.div,gd:n,plotinfo:{id:e.id,domain:t[e.id].domain,xaxis:e.xaxis,yaxis:e.yaxis,fillRangeItems:a},xaxes:[e.xaxis],yaxes:[e.yaxis],subplot:e.id}),r.off("click",e.onClickInPanHandler),f(o)||h(o)?(r.dragPan.disable(),r.on("zoomstart",e.clearOutline),e.dragOptions.prepFn=function(t,r,n){p(t,r,n,e.dragOptions,o)},l.init(e.dragOptions)):(r.dragPan.enable(),r.off("zoomstart",e.clearOutline),e.div.onmousedown=null,e.div.ontouchstart=null,e.div.removeEventListener("touchstart",e.div._ontouchstart),e.onClickInPanHandler=e.onClickInPanFn(e.dragOptions),r.on("click",e.onClickInPanHandler))}function c(t){var r=e.map.unproject(t);return[r.lng,r.lat]}},_.updateFramework=function(t){var e=t[this.id].domain,r=t._size,n=this.div.style;n.width=r.w*(e.x[1]-e.x[0])+"px",n.height=r.h*(e.y[1]-e.y[0])+"px",n.left=r.l+e.x[0]*r.w+"px",n.top=r.t+(1-e.y[1])*r.h+"px",this.xaxis._offset=r.l+e.x[0]*r.w,this.xaxis._length=r.w*(e.x[1]-e.x[0]),this.yaxis._offset=r.t+(1-e.y[1])*r.h,this.yaxis._length=r.h*(e.y[1]-e.y[0])},_.updateLayers=function(t){var e,r=t[this.id].layers,n=this.layerList;if(r.length!==n.length){for(e=0;e=e.width-20?(a["text-anchor"]="start",a.x=5):(a["text-anchor"]="end",a.x=e._paper.attr("width")-7),r.attr(a);var o=r.select(".js-link-to-tool"),s=r.select(".js-link-spacer"),l=r.select(".js-sourcelinks");t._context.showSources&&t._context.showSources(t),t._context.showLink&&function(t,e){e.text("");var r=e.append("a").attr({"xlink:xlink:href":"#",class:"link--impt link--embedview","font-weight":"bold"}).text(t._context.linkText+" "+String.fromCharCode(187));if(t._context.sendData)r.on("click",(function(){w.sendDataToCloud(t)}));else{var n=window.location.pathname.split("/"),i=window.location.search;r.attr({"xlink:xlink:show":"new","xlink:xlink:href":"/"+n[2].split(".")[0]+"/"+n[1]+i})}}(t,o),s.text(o.text()&&l.text()?" - ":"")}},w.sendDataToCloud=function(t){var e=(window.PLOTLYENV||{}).BASE_URL||t._context.plotlyServerURL;if(e){t.emit("plotly_beforeexport");var r=n.select(t).append("div").attr("id","hiddenform").style("display","none"),i=r.append("form").attr({action:e+"/external",method:"post",target:"_blank"});return i.append("input").attr({type:"text",name:"data"}).node().value=w.graphJson(t,!1,"keepdata"),i.node().submit(),r.remove(),t.emit("plotly_afterexport"),!1}};var A=["days","shortDays","months","shortMonths","periods","dateTime","date","time","decimal","thousands","grouping","currency"],M=["year","month","dayMonth","dayMonthYear"];function S(t,e){var r=t._context.locale;r||(r="en-US");var n=!1,i={};function a(t){for(var r=!0,a=0;a1&&O.length>1){for(l.getComponentMethod("grid","sizeDefaults")(c,s),o=0;o15&&O.length>15&&0===s.shapes.length&&0===s.images.length,w.linkSubplots(f,s,u,n),w.cleanPlot(f,s,u,n);var N=!(!n._has||!n._has("gl2d")),j=!(!s._has||!s._has("gl2d")),U=!(!n._has||!n._has("cartesian"))||N,V=!(!s._has||!s._has("cartesian"))||j;U&&!V?n._bgLayer.remove():V&&!U&&(s._shouldCreateBgLayer=!0),n._zoomlayer&&!t._dragging&&m({_fullLayout:n}),function(t,e){var r,n=[];e.meta&&(r=e._meta={meta:e.meta,layout:{meta:e.meta}});for(var i=0;i0){var u=1-2*s;n=Math.round(u*n),i=Math.round(u*i)}}var f=w.layoutAttributes.width.min,p=w.layoutAttributes.height.min;n1,m=!e.height&&Math.abs(r.height-i)>1;(m||d)&&(d&&(r.width=n),m&&(r.height=i)),t._initialAutoSize||(t._initialAutoSize={width:n,height:i}),w.sanitizeMargins(r)},w.supplyLayoutModuleDefaults=function(t,e,r,n){var i,a,o,s=l.componentsRegistry,c=e._basePlotModules,u=l.subplotsRegistry.cartesian;for(i in s)(o=s[i]).includeBasePlot&&o.includeBasePlot(t,e);for(var f in c.length||c.push(u),e._has("cartesian")&&(l.getComponentMethod("grid","contentDefaults")(t,e),u.finalizeSubplots(t,e)),e._subplots)e._subplots[f].sort(h.subplotSort);for(a=0;a1&&(r.l/=y,r.r/=y)}if(p){var v=(r.t+r.b)/p;v>1&&(r.t/=v,r.b/=v)}var x=void 0!==r.xl?r.xl:r.x,_=void 0!==r.xr?r.xr:r.x,b=void 0!==r.yt?r.yt:r.y,T=void 0!==r.yb?r.yb:r.y;d[e]={l:{val:x,size:r.l+g},r:{val:_,size:r.r+g},b:{val:T,size:r.b+g},t:{val:b,size:r.t+g}},m[e]=1}else delete d[e],delete m[e];if(!n._replotting)return w.doAutoMargin(t)}},w.doAutoMargin=function(t){var e=t._fullLayout,r=e.width,n=e.height;e._size||(e._size={}),P(e);var i=e._size,a=e.margin,s={t:0,b:0,l:0,r:0},c=h.extendFlat({},i),u=a.l,f=a.r,p=a.t,m=a.b,g=e._pushmargin,y=e._pushmarginIds,v=e.minreducedwidth,x=e.minreducedheight;if(!1!==a.autoexpand){for(var _ in g)y[_]||delete g[_];var b=t._fullLayout._reservedMargin;for(var T in b)for(var k in b[T]){var A=b[T][k];s[k]=Math.max(s[k],A)}for(var M in g.base={l:{val:0,size:u},r:{val:1,size:f},t:{val:1,size:p},b:{val:0,size:m}},s){var S=0;for(var E in g)"base"!==E&&o(g[E][M].size)&&(S=g[E][M].size>S?g[E][M].size:S);var C=Math.max(0,a[M]-S);s[M]=Math.max(0,s[M]-C)}for(var L in g){var I=g[L].l||{},z=g[L].b||{},O=I.val,D=I.size,R=z.val,F=z.size,B=r-s.r-s.l,N=n-s.t-s.b;for(var j in g){if(o(D)&&g[j].r){var U=g[j].r.val,V=g[j].r.size;if(U>O){var q=(D*U+(V-B)*O)/(U-O),H=(V*(1-O)+(D-B)*(1-U))/(U-O);q+H>u+f&&(u=q,f=H)}}if(o(F)&&g[j].t){var G=g[j].t.val,Z=g[j].t.size;if(G>R){var W=(F*G+(Z-N)*R)/(G-R),Y=(Z*(1-R)+(F-N)*(1-G))/(G-R);W+Y>m+p&&(m=W,p=Y)}}}}}var X=h.constrain(r-a.l-a.r,2,v),$=h.constrain(n-a.t-a.b,2,x),J=Math.max(0,r-X),K=Math.max(0,n-$);if(J){var Q=(u+f)/J;Q>1&&(u/=Q,f/=Q)}if(K){var tt=(m+p)/K;tt>1&&(m/=tt,p/=tt)}if(i.l=Math.round(u)+s.l,i.r=Math.round(f)+s.r,i.t=Math.round(p)+s.t,i.b=Math.round(m)+s.b,i.p=Math.round(a.pad),i.w=Math.round(r)-i.l-i.r,i.h=Math.round(n)-i.t-i.b,!e._replotting&&(w.didMarginChange(c,i)||function(t){if("_redrawFromAutoMarginCount"in t._fullLayout)return!1;var e=d.list(t,"",!0);for(var r in e)if(e[r].autoshift||e[r].shift)return!0;return!1}(t))){"_redrawFromAutoMarginCount"in e?e._redrawFromAutoMarginCount++:e._redrawFromAutoMarginCount=1;var et=3*(1+Object.keys(y).length);if(e._redrawFromAutoMarginCount0&&(t._transitioningWithDuration=!0),t._transitionData._interruptCallbacks.push((function(){n=!0})),r.redraw&&t._transitionData._interruptCallbacks.push((function(){return l.call("redraw",t)})),t._transitionData._interruptCallbacks.push((function(){t.emit("plotly_transitioninterrupted",[])}));var a=0,o=0;function s(){return a++,function(){var e;o++,n||o!==a||(e=i,t._transitionData&&(function(t){if(t)for(;t.length;)t.shift()}(t._transitionData._interruptCallbacks),Promise.resolve().then((function(){if(r.redraw)return l.call("redraw",t)})).then((function(){t._transitioning=!1,t._transitioningWithDuration=!1,t.emit("plotly_transitioned",[])})).then(e)))}}r.runFn(s),setTimeout(s())}))}],a=h.syncOrAsync(i,t);return a&&a.then||(a=Promise.resolve()),a.then((function(){return t}))}w.didMarginChange=function(t,e){for(var r=0;r1)return!0}return!1},w.graphJson=function(t,e,r,n,i,a){(i&&e&&!t._fullData||i&&!e&&!t._fullLayout)&&w.supplyDefaults(t);var o=i?t._fullData:t.data,l=i?t._fullLayout:t.layout,c=(t._transitionData||{})._frames;function u(t,e){if("function"==typeof t)return e?"_function_":null;if(h.isPlainObject(t)){var n,i={};return Object.keys(t).sort().forEach((function(a){if(-1===["_","["].indexOf(a.charAt(0)))if("function"!=typeof t[a]){if("keepdata"===r){if("src"===a.substr(a.length-3))return}else if("keepstream"===r){if("string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0&&!h.isPlainObject(t.stream))return}else if("keepall"!==r&&"string"==typeof(n=t[a+"src"])&&n.indexOf(":")>0)return;i[a]=u(t[a],e)}else e&&(i[a]="_function")})),i}var a=Array.isArray(t),o=h.isTypedArray(t);if((a||o)&&t.dtype&&t.shape){var l=t.bdata;return u({dtype:t.dtype,shape:t.shape,bdata:h.isArrayBuffer(l)?s.encode(l):l},e)}return a?t.map((function(t){return u(t,e)})):o?h.simpleMap(t,h.identity):h.isJSDate(t)?h.ms2DateTimeLocal(+t):t}var f={data:(o||[]).map((function(t){var r=u(t);return e&&delete r.fit,r}))};if(!e&&(f.layout=u(l),i)){var p=l._size;f.layout.computed={margin:{b:p.b,l:p.l,r:p.r,t:p.t}}}return c&&(f.frames=u(c)),a&&(f.config=u(t._context,!0)),"object"===n?f:JSON.stringify(f)},w.modifyFrames=function(t,e){var r,n,i,a=t._transitionData._frames,o=t._transitionData._frameHash;for(r=0;r=0;a--)if(l[a].enabled){r._indexToPoints=l[a]._indexToPoints;break}n&&n.calc&&(o=n.calc(t,r))}Array.isArray(o)&&o[0]||(o=[{x:p,y:p}]),o[0].t||(o[0].t={}),o[0].trace=r,f[e]=o}}for(R(o,s,u),i=0;i1e-10?t:0}function f(t,e,r){e=e||0,r=r||0;for(var n=t.length,i=new Array(n),a=0;a0?r:1/0})),i=n.mod(r+1,e.length);return[e[r],e[i]]},findIntersectionXY:c,findXYatLength:function(t,e,r,n){var i=-e*r,a=e*e+1,o=2*(e*i-r),s=i*i+r*r-t*t,l=Math.sqrt(o*o-4*a*s),c=(-o+l)/(2*a),u=(-o-l)/(2*a);return[[c,e*c+i+n],[u,e*u+i+n]]},clampTiny:h,pathPolygon:function(t,e,r,n,i,a){return"M"+f(u(t,e,r,n),i,a).join("L")},pathPolygonAnnulus:function(t,e,r,n,i,a,o){var s,l;t=90||i>90&&a>=450?1:s<=0&&c<=0?0:Math.max(s,c),[i<=180&&a>=180||i>180&&a>=540?-1:o>=0&&l>=0?0:Math.min(o,l),i<=270&&a>=270||i>270&&a>=630?-1:s>=0&&c>=0?0:Math.min(s,c),a>=360?1:o<=0&&l<=0?0:Math.max(o,l),e]}(d),b=_[2]-_[0],w=_[3]-_[1],T=p/f,k=Math.abs(w/b);T>k?(m=f,x=(p-(g=f*k))/i.h/2,y=[s[0],s[1]],v=[h[0]+x,h[1]-x]):(g=p,x=(f-(m=p/k))/i.w/2,y=[s[0]+x,s[1]-x],v=[h[0],h[1]]),r.xLength2=m,r.yLength2=g,r.xDomain2=y,r.yDomain2=v;var A,M=r.xOffset2=i.l+i.w*y[0],S=r.yOffset2=i.t+i.h*(1-v[1]),E=r.radius=m/b,C=r.innerRadius=r.getHole(e)*E,L=r.cx=M-E*_[0],I=r.cy=S+E*_[3],P=r.cxx=L-M,z=r.cyy=I-S,O=a.side;"counterclockwise"===O?(A=O,O="top"):"clockwise"===O&&(A=O,O="bottom"),r.radialAxis=r.mockAxis(t,e,a,{_id:"x",side:O,_trueSide:A,domain:[C/i.w,E/i.w]}),r.angularAxis=r.mockAxis(t,e,o,{side:"right",domain:[0,Math.PI],autorange:!1}),r.doAutoRange(t,e),r.updateAngularAxis(t,e),r.updateRadialAxis(t,e),r.updateRadialAxisTitle(t,e),r.xaxis=r.mockCartesianAxis(t,e,{_id:"x",domain:y}),r.yaxis=r.mockCartesianAxis(t,e,{_id:"y",domain:v});var F=r.pathSubplot();r.clipPaths.forTraces.select("path").attr("d",F).attr("transform",l(P,z)),n.frontplot.attr("transform",l(M,S)).call(u.setClipUrl,r._hasClipOnAxisFalse?null:r.clipIds.forTraces,r.gd),n.bg.attr("d",F).attr("transform",l(L,I)).call(c.fill,e.bgcolor)},N.mockAxis=function(t,e,r,n){var i=o.extendFlat({},r,n);return d(i,e,t),i},N.mockCartesianAxis=function(t,e,r){var n=this,i=n.isSmith,a=r._id,s=o.extendFlat({type:"linear"},r);p(s,t);var l={x:[0,2],y:[1,3]};return s.setRange=function(){var t=n.sectorBBox,r=l[a],i=n.radialAxis._rl,o=(i[1]-i[0])/(1-n.getHole(e));s.range=[t[r[0]]*o,t[r[1]]*o]},s.isPtWithinRange="x"!==a||i?function(){return!0}:function(t){return n.isPtInside(t)},s.setRange(),s.setScale(),s},N.doAutoRange=function(t,e){var r=this,n=r.gd,i=r.radialAxis,a=r.getRadial(e);m(n,i);var o=i.range;if(a.range=o.slice(),a._input.range=o.slice(),i._rl=[i.r2l(o[0],null,"gregorian"),i.r2l(o[1],null,"gregorian")],void 0!==i.minallowed){var s=i.r2l(i.minallowed);i._rl[0]>i._rl[1]?i._rl[1]=Math.max(i._rl[1],s):i._rl[0]=Math.max(i._rl[0],s)}if(void 0!==i.maxallowed){var l=i.r2l(i.maxallowed);i._rl[0]90&&m<=270&&(g.tickangle=180);var x=v?function(t){var e=z(r,L([t.x,0]));return l(e[0]-h,e[1]-p)}:function(t){return l(g.l2p(t.x)+u,0)},_=v?function(t){return P(r,t.x,-1/0,1/0)}:function(t){return r.pathArc(g.r2p(t.x)+u)},b=j(d);if(r.radialTickLayout!==b&&(i["radial-axis"].selectAll(".xtick").remove(),r.radialTickLayout=b),y){g.setScale();var w=0,T=v?(g.tickvals||[]).filter((function(t){return t>=0})).map((function(t){return f.tickText(g,t,!0,!1)})):f.calcTicks(g),k=v?T:f.clipEnds(g,T),A=f.getTickSigns(g)[2];v&&(("top"===g.ticks&&"bottom"===g.side||"bottom"===g.ticks&&"top"===g.side)&&(A=-A),"top"===g.ticks&&"top"===g.side&&(w=-g.ticklen),"bottom"===g.ticks&&"bottom"===g.side&&(w=g.ticklen)),f.drawTicks(n,g,{vals:T,layer:i["radial-axis"],path:f.makeTickPath(g,0,A),transFn:x,crisp:!1}),f.drawGrid(n,g,{vals:k,layer:i["radial-grid"],path:_,transFn:o.noop,crisp:!1}),f.drawLabels(n,g,{vals:T,layer:i["radial-axis"],transFn:x,labelFns:f.makeLabelFns(g,w)})}var M=r.radialAxisAngle=r.vangles?F(U(R(d.angle),r.vangles)):d.angle,S=l(h,p),E=S+s(-M);V(i["radial-axis"],y&&(d.showticklabels||d.ticks),{transform:E}),V(i["radial-grid"],y&&d.showgrid,{transform:v?"":S}),V(i["radial-line"].select("line"),y&&d.showline,{x1:v?-a:u,y1:0,x2:a,y2:0,transform:E}).attr("stroke-width",d.linewidth).call(c.stroke,d.linecolor)},N.updateRadialAxisTitle=function(t,e,r){if(!this.isSmith){var n=this,i=n.gd,a=n.radius,o=n.cx,s=n.cy,l=n.getRadial(e),c=n.id+"title",h=0;if(l.title){var f=u.bBox(n.layers["radial-axis"].node()).height,p=l.title.font.size,d=l.side;h="top"===d?p:"counterclockwise"===d?-(f+.4*p):f+.8*p}var m=void 0!==r?r:n.radialAxisAngle,g=R(m),y=Math.cos(g),v=Math.sin(g),_=o+a/2*y+h*v,b=s-a/2*v+h*y;n.layers["radial-axis-title"]=x.draw(i,c,{propContainer:l,propName:n.id+".radialaxis.title",placeholder:O(i,"Click to enter radial axis title"),attributes:{x:_,y:b,"text-anchor":"middle"},transform:{rotate:-m}})}},N.updateAngularAxis=function(t,e){var r=this,n=r.gd,i=r.layers,a=r.radius,u=r.innerRadius,h=r.cx,p=r.cy,d=r.getAngular(e),m=r.angularAxis,g=r.isSmith;g||(r.fillViewInitialKey("angularaxis.rotation",d.rotation),m.setGeometry(),m.setScale());var y=g?function(t){var e=z(r,L([0,t.x]));return Math.atan2(e[0]-h,e[1]-p)-Math.PI/2}:function(t){return m.t2g(t.x)};"linear"===m.type&&"radians"===m.thetaunit&&(m.tick0=F(m.tick0),m.dtick=F(m.dtick));var v=function(t){return l(h+a*Math.cos(t),p-a*Math.sin(t))},x=g?function(t){var e=z(r,L([0,t.x]));return l(e[0],e[1])}:function(t){return v(y(t))},_=g?function(t){var e=z(r,L([0,t.x])),n=Math.atan2(e[0]-h,e[1]-p)-Math.PI/2;return l(e[0],e[1])+s(-F(n))}:function(t){var e=y(t);return v(e)+s(-F(e))},b=g?function(t){return I(r,t.x,0,1/0)}:function(t){var e=y(t),r=Math.cos(e),n=Math.sin(e);return"M"+[h+u*r,p-u*n]+"L"+[h+a*r,p-a*n]},w=f.makeLabelFns(m,0).labelStandoff,T={xFn:function(t){var e=y(t);return Math.cos(e)*w},yFn:function(t){var e=y(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(w+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*M)},anchorFn:function(t){var e=y(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},heightFn:function(t,e,r){var n=y(t);return-.5*(1+Math.sin(n))*r}},k=j(d);r.angularTickLayout!==k&&(i["angular-axis"].selectAll("."+m._id+"tick").remove(),r.angularTickLayout=k);var A,S=g?[1/0].concat(m.tickvals||[]).map((function(t){return f.tickText(m,t,!0,!1)})):f.calcTicks(m);if(g&&(S[0].text="∞",S[0].fontSize*=1.75),"linear"===e.gridshape?(A=S.map(y),o.angleDelta(A[0],A[1])<0&&(A=A.slice().reverse())):A=null,r.vangles=A,"category"===m.type&&(S=S.filter((function(t){return o.isAngleInsideSector(y(t),r.sectorInRad)}))),m.visible){var E="inside"===m.ticks?-1:1,C=(m.linewidth||1)/2;f.drawTicks(n,m,{vals:S,layer:i["angular-axis"],path:"M"+E*C+",0h"+E*m.ticklen,transFn:_,crisp:!1}),f.drawGrid(n,m,{vals:S,layer:i["angular-grid"],path:b,transFn:o.noop,crisp:!1}),f.drawLabels(n,m,{vals:S,layer:i["angular-axis"],repositionOnUpdate:!0,transFn:x,labelFns:T})}V(i["angular-line"].select("path"),d.showline,{d:r.pathSubplot(),transform:l(h,p)}).attr("stroke-width",d.linewidth).call(c.stroke,d.linecolor)},N.updateFx=function(t,e){this.gd._context.staticPlot||(!this.isSmith&&(this.updateAngularDrag(t),this.updateRadialDrag(t,e,0),this.updateRadialDrag(t,e,1)),this.updateHoverAndMainDrag(t))},N.updateHoverAndMainDrag=function(t){var e,r,s=this,c=s.isSmith,u=s.gd,h=s.layers,f=t._zoomlayer,p=S.MINZOOM,d=S.OFFEDGE,m=s.radius,x=s.innerRadius,T=s.cx,k=s.cy,A=s.cxx,M=s.cyy,C=s.sectorInRad,L=s.vangles,I=s.radialAxis,P=E.clampTiny,z=E.findXYatLength,O=E.findEnclosingVertexAngles,D=S.cornerHalfWidth,R=S.cornerLen/2,F=g.makeDragger(h,"path","maindrag",!1===t.dragmode?"none":"crosshair");n.select(F).attr("d",s.pathSubplot()).attr("transform",l(T,k)),F.onmousemove=function(t){v.hover(u,t,s.id),u._fullLayout._lasthover=F,u._fullLayout._hoversubplot=s.id},F.onmouseout=function(t){u._dragging||y.unhover(u,t)};var B,N,j,U,V,q,H,G,Z,W={element:F,gd:u,subplot:s.id,plotinfo:{id:s.id,xaxis:s.xaxis,yaxis:s.yaxis},xaxes:[s.xaxis],yaxes:[s.yaxis]};function Y(t,e){return Math.sqrt(t*t+e*e)}function X(t,e){return Y(t-A,e-M)}function $(t,e){return Math.atan2(M-e,t-A)}function J(t,e){return[t*Math.cos(e),t*Math.sin(-e)]}function K(t,e){if(0===t)return s.pathSector(2*D);var r=R/t,n=e-r,i=e+r,a=Math.max(0,Math.min(t,m)),o=a-D,l=a+D;return"M"+J(o,n)+"A"+[o,o]+" 0,0,0 "+J(o,i)+"L"+J(l,i)+"A"+[l,l]+" 0,0,1 "+J(l,n)+"Z"}function Q(t,e,r){if(0===t)return s.pathSector(2*D);var n,i,a=J(t,e),o=J(t,r),l=P((a[0]+o[0])/2),c=P((a[1]+o[1])/2);if(l&&c){var u=c/l,h=-1/u,f=z(D,u,l,c);n=z(R,h,f[0][0],f[0][1]),i=z(R,h,f[1][0],f[1][1])}else{var p,d;c?(p=R,d=D):(p=D,d=R),n=[[l-p,c-d],[l+p,c-d]],i=[[l-p,c+d],[l+p,c+d]]}return"M"+n.join("L")+"L"+i.reverse().join("L")+"Z"}function tt(t,e){return e=Math.max(Math.min(e,m),x),tp?(t-1&&1===t&&b(e,u,[s.xaxis],[s.yaxis],s.id,W),r.indexOf("event")>-1&&v.click(u,e,s.id)}W.prepFn=function(t,n,a){var l=u._fullLayout.dragmode,h=F.getBoundingClientRect();u._fullLayout._calcInverseTransform(u);var p=u._fullLayout._invTransform;e=u._fullLayout._invScaleX,r=u._fullLayout._invScaleY;var d=o.apply3DTransform(p)(n-h.left,a-h.top);if(B=d[0],N=d[1],L){var y=E.findPolygonOffset(m,C[0],C[1],L);B+=A+y[0],N+=M+y[1]}switch(l){case"zoom":W.clickFn=st,c||(W.moveFn=L?it:rt,W.doneFn=at,function(){j=null,U=null,V=s.pathSubplot(),q=!1;var t=u._fullLayout[s.id];H=i(t.bgcolor).getLuminance(),(G=g.makeZoombox(f,H,T,k,V)).attr("fill-rule","evenodd"),Z=g.makeCorners(f,T,k),w(u)}());break;case"select":case"lasso":_(t,n,a,W,l)}},y.init(W)},N.updateRadialDrag=function(t,e,r){var i=this,c=i.gd,u=i.layers,h=i.radius,f=i.innerRadius,p=i.cx,d=i.cy,m=i.radialAxis,v=S.radialDragBoxSize,x=v/2;if(m.visible){var _,b,T,M=R(i.radialAxisAngle),E=m._rl,C=E[0],L=E[1],I=E[r],P=.75*(E[1]-E[0])/(1-i.getHole(e))/h;r?(_=p+(h+x)*Math.cos(M),b=d-(h+x)*Math.sin(M),T="radialdrag"):(_=p+(f-x)*Math.cos(M),b=d-(f-x)*Math.sin(M),T="radialdrag-inner");var z,O,D,B=g.makeRectDragger(u,T,"crosshair",-x,-x,v,v),N={element:B,gd:c};!1===t.dragmode&&(N.dragmode=!1),V(n.select(B),m.visible&&f0==(r?D>C:Dn?function(t){return t<=0}:function(t){return t>=0};t.c2g=function(r){var n=t.c2l(r)-e;return(s(n)?n:0)+o},t.g2c=function(r){return t.l2c(r+e-o)},t.g2p=function(t){return t*a},t.c2p=function(e){return t.g2p(t.c2g(e))}}}(t,e);break;case"angularaxis":!function(t,e){var r=t.type;if("linear"===r){var i=t.d2c,s=t.c2d;t.d2c=function(t,e){return function(t,e){return"degrees"===e?a(t):t}(i(t),e)},t.c2d=function(t,e){return s(function(t,e){return"degrees"===e?o(t):t}(t,e))}}t.makeCalcdata=function(e,r){var n,i,a=e[r],o=e._length,s=function(r){return t.d2c(r,e.thetaunit)};if(a)for(n=new Array(o),i=0;i0?1:0}function r(t){var e=t[0],r=t[1];if(!isFinite(e)||!isFinite(r))return[1,0];var n=(e+1)*(e+1)+r*r;return[(e*e+r*r-1)/n,2*r/n]}function n(t,e){var r=e[0],n=e[1];return[r*t.radius+t.cx,-n*t.radius+t.cy]}function i(t,e){return e*t.radius}t.exports={smith:r,reactanceArc:function(t,e,a,o){var s=n(t,r([a,e])),l=s[0],c=s[1],u=n(t,r([o,e])),h=u[0],f=u[1];if(0===e)return["M"+l+","+c,"L"+h+","+f].join(" ");var p=i(t,1/Math.abs(e));return["M"+l+","+c,"A"+p+","+p+" 0 0,"+(e<0?1:0)+" "+h+","+f].join(" ")},resistanceArc:function(t,a,o,s){var l=i(t,1/(a+1)),c=n(t,r([a,o])),u=c[0],h=c[1],f=n(t,r([a,s])),p=f[0],d=f[1];if(e(o)!==e(s)){var m=n(t,r([a,0]));return["M"+u+","+h,"A"+l+","+l+" 0 0,"+(00){for(var n=[],i=0;i=u&&(f.min=0,d.min=0,g.min=0,t.aaxis&&delete t.aaxis.min,t.baxis&&delete t.baxis.min,t.caxis&&delete t.caxis.min)}function m(t,e,r,n){var i=f[e._name];function o(r,n){return a.coerce(t,e,i,r,n)}o("uirevision",n.uirevision),e.type="linear";var p=o("color"),d=p!==i.color.dflt?p:r.font.color,m=e._name.charAt(0).toUpperCase(),g="Component "+m,y=o("title.text",g);e._hovertitle=y===g?y:m,a.coerceFont(o,"title.font",r.font,{overrideDflt:{size:a.bigFont(r.font.size),color:d}}),o("min"),u(t,e,o,"linear"),l(t,e,o,"linear"),s(t,e,o,"linear",{noAutotickangles:!0,noTicklabelshift:!0,noTicklabelstandoff:!0}),c(t,e,o,{outerTicks:!0}),o("showticklabels")&&(a.coerceFont(o,"tickfont",r.font,{overrideDflt:{color:d}}),o("tickangle"),o("tickformat")),h(t,e,o,{dfltColor:p,bgColor:r.bgColor,blend:60,showLine:!0,showGrid:!0,noZeroLine:!0,attributes:i}),o("hoverformat"),o("layer")}t.exports=function(t,e,r){o(t,e,r,{type:"ternary",attributes:f,handleDefaults:d,font:e.font,paper_bgcolor:e.paper_bgcolor})}},83637:function(t,e,r){"use strict";var n=r(45568),i=r(65657),a=r(33626),o=r(34809),s=o.strTranslate,l=o._,c=r(78766),u=r(62203),h=r(19091),f=r(93049).extendFlat,p=r(44122),d=r(29714),m=r(14751),g=r(32141),y=r(70414),v=y.freeMode,x=y.rectMode,_=r(17240),b=r(44844).prepSelect,w=r(44844).selectOnClick,T=r(44844).clearOutline,k=r(44844).clearSelectionsCache,A=r(54826);function M(t,e){this.id=t.id,this.graphDiv=t.graphDiv,this.init(e),this.makeFramework(e),this.updateFx(e),this.aTickLayout=null,this.bTickLayout=null,this.cTickLayout=null}t.exports=M;var S=M.prototype;S.init=function(t){this.container=t._ternarylayer,this.defs=t._defs,this.layoutId=t._uid,this.traceHash={},this.layers={}},S.plot=function(t,e){var r=this,n=e[r.id],i=e._size;r._hasClipOnAxisFalse=!1;for(var a=0;aE*_?i=(a=_)*E:a=(i=x)/E,o=y*i/x,l=v*a/_,r=e.l+e.w*m-i/2,n=e.t+e.h*(1-g)-a/2,p.x0=r,p.y0=n,p.w=i,p.h=a,p.sum=b,p.xaxis={type:"linear",range:[w+2*k-b,b-w-2*T],domain:[m-o/2,m+o/2],_id:"x"},h(p.xaxis,p.graphDiv._fullLayout),p.xaxis.setScale(),p.xaxis.isPtWithinRange=function(t){return t.a>=p.aaxis.range[0]&&t.a<=p.aaxis.range[1]&&t.b>=p.baxis.range[1]&&t.b<=p.baxis.range[0]&&t.c>=p.caxis.range[1]&&t.c<=p.caxis.range[0]},p.yaxis={type:"linear",range:[w,b-T-k],domain:[g-l/2,g+l/2],_id:"y"},h(p.yaxis,p.graphDiv._fullLayout),p.yaxis.setScale(),p.yaxis.isPtWithinRange=function(){return!0};var A=p.yaxis.domain[0],M=p.aaxis=f({},t.aaxis,{range:[w,b-T-k],side:"left",tickangle:(+t.aaxis.tickangle||0)-30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});h(M,p.graphDiv._fullLayout),M.setScale();var S=p.baxis=f({},t.baxis,{range:[b-w-k,T],side:"bottom",domain:p.xaxis.domain,anchor:"free",position:0,_id:"x",_length:i});h(S,p.graphDiv._fullLayout),S.setScale();var C=p.caxis=f({},t.caxis,{range:[b-w-T,k],side:"right",tickangle:(+t.caxis.tickangle||0)+30,domain:[A,A+l*E],anchor:"free",position:0,_id:"y",_length:i});h(C,p.graphDiv._fullLayout),C.setScale();var L="M"+r+","+(n+a)+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDef.select("path").attr("d",L),p.layers.plotbg.select("path").attr("d",L);var I="M0,"+a+"h"+i+"l-"+i/2+",-"+a+"Z";p.clipDefRelative.select("path").attr("d",I);var P=s(r,n);p.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",P),p.clipDefRelative.select("path").attr("transform",null);var z=s(r-S._offset,n+a);p.layers.baxis.attr("transform",z),p.layers.bgrid.attr("transform",z);var O=s(r+i/2,n)+"rotate(30)"+s(0,-M._offset);p.layers.aaxis.attr("transform",O),p.layers.agrid.attr("transform",O);var D=s(r+i/2,n)+"rotate(-30)"+s(0,-C._offset);p.layers.caxis.attr("transform",D),p.layers.cgrid.attr("transform",D),p.drawAxes(!0),p.layers.aline.select("path").attr("d",M.showline?"M"+r+","+(n+a)+"l"+i/2+",-"+a:"M0,0").call(c.stroke,M.linecolor||"#000").style("stroke-width",(M.linewidth||0)+"px"),p.layers.bline.select("path").attr("d",S.showline?"M"+r+","+(n+a)+"h"+i:"M0,0").call(c.stroke,S.linecolor||"#000").style("stroke-width",(S.linewidth||0)+"px"),p.layers.cline.select("path").attr("d",C.showline?"M"+(r+i/2)+","+n+"l"+i/2+","+a:"M0,0").call(c.stroke,C.linecolor||"#000").style("stroke-width",(C.linewidth||0)+"px"),p.graphDiv._context.staticPlot||p.initInteractions(),u.setClipUrl(p.layers.frontplot,p._hasClipOnAxisFalse?null:p.clipId,p.graphDiv)},S.drawAxes=function(t){var e=this,r=e.graphDiv,n=e.id.substr(7)+"title",i=e.layers,a=e.aaxis,o=e.baxis,s=e.caxis;if(e.drawAx(a),e.drawAx(o),e.drawAx(s),t){var c=Math.max(a.showticklabels?a.tickfont.size/2:0,(s.showticklabels?.75*s.tickfont.size:0)+("outside"===s.ticks?.87*s.ticklen:0)),u=(o.showticklabels?o.tickfont.size:0)+("outside"===o.ticks?o.ticklen:0)+3;i["a-title"]=_.draw(r,"a"+n,{propContainer:a,propName:e.id+".aaxis.title",placeholder:l(r,"Click to enter Component A title"),attributes:{x:e.x0+e.w/2,y:e.y0-a.title.font.size/3-c,"text-anchor":"middle"}}),i["b-title"]=_.draw(r,"b"+n,{propContainer:o,propName:e.id+".baxis.title",placeholder:l(r,"Click to enter Component B title"),attributes:{x:e.x0-u,y:e.y0+e.h+.83*o.title.font.size+u,"text-anchor":"middle"}}),i["c-title"]=_.draw(r,"c"+n,{propContainer:s,propName:e.id+".caxis.title",placeholder:l(r,"Click to enter Component C title"),attributes:{x:e.x0+e.w+u,y:e.y0+e.h+.83*s.title.font.size+u,"text-anchor":"middle"}})}},S.drawAx=function(t){var e,r=this,n=r.graphDiv,i=t._name,a=i.charAt(0),s=t._id,l=r.layers[i],c=a+"tickLayout",u=(e=t).ticks+String(e.ticklen)+String(e.showticklabels);r[c]!==u&&(l.selectAll("."+s+"tick").remove(),r[c]=u),t.setScale();var h=d.calcTicks(t),f=d.clipEnds(t,h),p=d.makeTransTickFn(t),m=d.getTickSigns(t)[2],g=o.deg2rad(30),y=m*(t.linewidth||1)/2,v=m*t.ticklen,x=r.w,_=r.h,b="b"===a?"M0,"+y+"l"+Math.sin(g)*v+","+Math.cos(g)*v:"M"+y+",0l"+Math.cos(g)*v+","+-Math.sin(g)*v,w={a:"M0,0l"+_+",-"+x/2,b:"M0,0l-"+x/2+",-"+_,c:"M0,0l-"+_+","+x/2}[a];d.drawTicks(n,t,{vals:"inside"===t.ticks?f:h,layer:l,path:b,transFn:p,crisp:!1}),d.drawGrid(n,t,{vals:f,layer:r.layers[a+"grid"],path:w,transFn:p,crisp:!1}),d.drawLabels(n,t,{vals:h,layer:l,transFn:p,labelFns:d.makeLabelFns(t,0,30)})};var C=A.MINZOOM/2+.87,L="m-0.87,.5h"+C+"v3h-"+(C+5.2)+"l"+(C/2+2.6)+",-"+(.87*C+4.5)+"l2.6,1.5l-"+C/2+","+.87*C+"Z",I="m0.87,.5h-"+C+"v3h"+(C+5.2)+"l-"+(C/2+2.6)+",-"+(.87*C+4.5)+"l-2.6,1.5l"+C/2+","+.87*C+"Z",P="m0,1l"+C/2+","+.87*C+"l2.6,-1.5l-"+(C/2+2.6)+",-"+(.87*C+4.5)+"l-"+(C/2+2.6)+","+(.87*C+4.5)+"l2.6,1.5l"+C/2+",-"+.87*C+"Z",z=!0;function O(t){n.select(t).selectAll(".zoombox,.js-zoombox-backdrop,.js-zoombox-menu,.zoombox-corners").remove()}S.clearOutline=function(){k(this.dragOptions),T(this.dragOptions.gd)},S.initInteractions=function(){var t,e,r,n,h,f,p,d,y,_,T,k,M=this,S=M.layers.plotbg.select("path").node(),C=M.graphDiv,D=C._fullLayout._zoomlayer;function R(t){var e={};return e[M.id+".aaxis.min"]=t.a,e[M.id+".baxis.min"]=t.b,e[M.id+".caxis.min"]=t.c,e}function F(t,e){var r=C._fullLayout.clickmode;O(C),2===t&&(C.emit("plotly_doubleclick",null),a.call("_guiRelayout",C,R({a:0,b:0,c:0}))),r.indexOf("select")>-1&&1===t&&w(e,C,[M.xaxis],[M.yaxis],M.id,M.dragOptions),r.indexOf("event")>-1&&g.click(C,e,M.id)}function B(t,e){return 1-e/M.h}function N(t,e){return 1-(t+(M.h-e)/Math.sqrt(3))/M.w}function j(t,e){return(t-(M.h-e)/Math.sqrt(3))/M.w}function U(i,a){var o=r+i*t,s=n+a*e,l=Math.max(0,Math.min(1,B(0,n),B(0,s))),c=Math.max(0,Math.min(1,N(r,n),N(o,s))),u=Math.max(0,Math.min(1,j(r,n),j(o,s))),m=(l/2+u)*M.w,g=(1-l/2-c)*M.w,v=(m+g)/2,x=g-m,b=(1-l)*M.h,w=b-x/E;x.2?"rgba(0,0,0,0.4)":"rgba(255,255,255,0.3)").duration(200),k.transition().style("opacity",1).duration(200),_=!0),C.emit("plotly_relayouting",R(p))}function V(){O(C),p!==h&&(a.call("_guiRelayout",C,R(p)),z&&C.data&&C._context.showTips&&(o.notifier(l(C,"Double-click to zoom back out"),"long"),z=!1))}function q(t,e){var r=t/M.xaxis._m,n=e/M.yaxis._m,i=[(p={a:h.a-n,b:h.b+(r+n)/2,c:h.c-(r-n)/2}).a,p.b,p.c].sort(o.sorterAsc),a=i.indexOf(p.a),l=i.indexOf(p.b),c=i.indexOf(p.c);i[0]<0&&(i[1]+i[0]/2<0?(i[2]+=i[0]+i[1],i[0]=i[1]=0):(i[2]+=i[0]/2,i[1]+=i[0]/2,i[0]=0),p={a:i[a],b:i[l],c:i[c]},e=(h.a-p.a)*M.yaxis._m,t=(h.c-p.c-h.b+p.b)*M.xaxis._m);var f=s(M.x0+t,M.y0+e);M.plotContainer.selectAll(".scatterlayer,.maplayer").attr("transform",f);var d=s(-t,-e);M.clipDefRelative.select("path").attr("transform",d),M.aaxis.range=[p.a,M.sum-p.b-p.c],M.baxis.range=[M.sum-p.a-p.c,p.b],M.caxis.range=[M.sum-p.a-p.b,p.c],M.drawAxes(!1),M._hasClipOnAxisFalse&&M.plotContainer.select(".scatterlayer").selectAll(".trace").call(u.hideOutsideRangePoints,M),C.emit("plotly_relayouting",R(p))}function H(){a.call("_guiRelayout",C,R(p))}this.dragOptions={element:S,gd:C,plotinfo:{id:M.id,domain:C._fullLayout[M.id].domain,xaxis:M.xaxis,yaxis:M.yaxis},subplot:M.id,prepFn:function(a,l,u){M.dragOptions.xaxes=[M.xaxis],M.dragOptions.yaxes=[M.yaxis],t=C._fullLayout._invScaleX,e=C._fullLayout._invScaleY;var m=M.dragOptions.dragmode=C._fullLayout.dragmode;v(m)?M.dragOptions.minDrag=1:M.dragOptions.minDrag=void 0,"zoom"===m?(M.dragOptions.moveFn=U,M.dragOptions.clickFn=F,M.dragOptions.doneFn=V,function(t,e,a){var l=S.getBoundingClientRect();r=e-l.left,n=a-l.top,C._fullLayout._calcInverseTransform(C);var u=C._fullLayout._invTransform,m=o.apply3DTransform(u)(r,n);r=m[0],n=m[1],h={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=h,f=M.aaxis.range[1]-h.a,d=i(M.graphDiv._fullLayout[M.id].bgcolor).getLuminance(),y="M0,"+M.h+"L"+M.w/2+", 0L"+M.w+","+M.h+"Z",_=!1,T=D.append("path").attr("class","zoombox").attr("transform",s(M.x0,M.y0)).style({fill:d>.2?"rgba(0,0,0,0)":"rgba(255,255,255,0)","stroke-width":0}).attr("d",y),k=D.append("path").attr("class","zoombox-corners").attr("transform",s(M.x0,M.y0)).style({fill:c.background,stroke:c.defaultLine,"stroke-width":1,opacity:0}).attr("d","M0,0Z"),M.clearOutline(C)}(0,l,u)):"pan"===m?(M.dragOptions.moveFn=q,M.dragOptions.clickFn=F,M.dragOptions.doneFn=H,h={a:M.aaxis.range[0],b:M.baxis.range[1],c:M.caxis.range[1]},p=h,M.clearOutline(C)):(x(m)||v(m))&&b(a,l,u,M.dragOptions,m)}},S.onmousemove=function(t){g.hover(C,t,M.id),C._fullLayout._lasthover=S,C._fullLayout._hoversubplot=M.id},S.onmouseout=function(t){C._dragging||m.unhover(C,t)},m.init(this.dragOptions)}},33626:function(t,e,r){"use strict";var n=r(48636),i=r(4969),a=r(36539),o=r(56174),s=r(95425).addStyleRule,l=r(93049),c=r(9829),u=r(6704),h=l.extendFlat,f=l.extendDeepAll;function p(t){var i=t.name,a=t.categories,o=t.meta;if(e.modules[i])n.log("Type "+i+" already registered");else{e.subplotsRegistry[t.basePlotModule.name]||function(t){var r=t.name;if(e.subplotsRegistry[r])n.log("Plot type "+r+" already registered.");else for(var i in y(t),e.subplotsRegistry[r]=t,e.componentsRegistry)_(i,t.name)}(t.basePlotModule);for(var l={},c=0;c-1&&(h[p[r]].title={text:""});for(r=0;r")?"":e.html(t).text()}));return e.remove(),r}(w)).replace(/&(?!\w+;|\#[0-9]+;| \#x[0-9A-F]+;)/g,"&")).replace(u,"'"),i.isIE()&&(w=(w=(w=w.replace(/"/gi,"'")).replace(/(\('#)([^']*)('\))/gi,'("#$2")')).replace(/(\\')/gi,'"')),w}},35374:function(t,e,r){"use strict";var n=r(34809);t.exports=function(t,e){for(var r=0;rh+c||!n(u))}for(var p=0;p=0)return t}else if("string"==typeof t&&"%"===(t=t.trim()).slice(-1)&&n(t.slice(0,-1))&&(t=+t.slice(0,-1))>=0)return t+"%"}function d(t,e,r,n,a,o){var s=!(!1===(o=o||{}).moduleHasSelected),l=!(!1===o.moduleHasUnselected),c=!(!1===o.moduleHasConstrain),u=!(!1===o.moduleHasCliponaxis),h=!(!1===o.moduleHasTextangle),p=!(!1===o.moduleHasInsideanchor),d=!!o.hasPathbar,m=Array.isArray(a)||"auto"===a,g=m||"inside"===a,y=m||"outside"===a;if(g||y){var v=f(n,"textfont",r.font),x=i.extendFlat({},v),_=!(t.textfont&&t.textfont.color);if(_&&delete x.color,f(n,"insidetextfont",x),d){var b=i.extendFlat({},v);_&&delete b.color,f(n,"pathbar.textfont",b)}y&&f(n,"outsidetextfont",v),s&&n("selected.textfont.color"),l&&n("unselected.textfont.color"),c&&n("constraintext"),u&&n("cliponaxis"),h&&n("textangle"),n("texttemplate")}g&&p&&n("insidetextanchor")}t.exports={supplyDefaults:function(t,e,r,n){function u(r,n){return i.coerce(t,e,h,r,n)}if(s(t,e,n,u)){l(t,e,n,u),u("xhoverformat"),u("yhoverformat"),u("zorder"),u("orientation",e.x&&!e.y?"h":"v"),u("base"),u("offset"),u("width"),u("text"),u("hovertext"),u("hovertemplate");var f=u("textposition");d(t,0,n,u,f,{moduleHasSelected:!0,moduleHasUnselected:!0,moduleHasConstrain:!0,moduleHasCliponaxis:!0,moduleHasTextangle:!0,moduleHasInsideanchor:!0}),c(t,e,u,r,n);var p=(e.marker.line||{}).color,m=o.getComponentMethod("errorbars","supplyDefaults");m(t,e,p||a.defaultLine,{axis:"y"}),m(t,e,p||a.defaultLine,{axis:"x",inherit:"y"}),i.coerceSelectionMarkerOpacity(e,u)}else e.visible=!1},crossTraceDefaults:function(t,e){var r,n;function a(t,e){return i.coerce(n._input,n,h,t,e)}for(var o=0;oa))return e}return void 0!==r?r:t.dflt},e.coerceColor=function(t,e,r){return i(e).isValid()?e:void 0!==r?r:t.dflt},e.coerceEnumerated=function(t,e,r){return t.coerceNumber&&(e=+e),-1!==t.values.indexOf(e)?e:void 0!==r?r:t.dflt},e.getValue=function(t,e){var r;return a(t)?e0?e+=r:u<0&&(e-=r)}return e}function O(t){var e=u,r=t.b,i=z(t);return n.inbox(r-e,i-e,b+(i-e)/(i-r)-1)}var D=t[h+"a"],R=t[f+"a"];m=Math.abs(D.r2c(D.range[1])-D.r2c(D.range[0]));var F=n.getDistanceFunction(i,p,d,(function(t){return(p(t)+d(t))/2}));if(n.getClosest(g,F,t),!1!==t.index&&g[t.index].p!==c){k||(C=function(t){return Math.min(A(t),t.p-v.bargroupwidth/2)},L=function(t){return Math.max(M(t),t.p+v.bargroupwidth/2)});var B=g[t.index],N=y.base?B.b+B.s:B.s;t[f+"0"]=t[f+"1"]=R.c2p(B[f],!0),t[f+"LabelVal"]=N;var j=v.extents[v.extents.round(B.p)];t[h+"0"]=D.c2p(x?C(B):j[0],!0),t[h+"1"]=D.c2p(x?L(B):j[1],!0);var U=void 0!==B.orig_p;return t[h+"LabelVal"]=U?B.orig_p:B.p,t.labelLabel=l(D,t[h+"LabelVal"],y[h+"hoverformat"]),t.valueLabel=l(R,t[f+"LabelVal"],y[f+"hoverformat"]),t.baseLabel=l(R,B.b,y[f+"hoverformat"]),t.spikeDistance=(function(t){var e=u,r=t.b,i=z(t);return n.inbox(r-e,i-e,w+(i-e)/(i-r)-1)}(B)+function(t){return I(A(t),M(t),w)}(B))/2,t[h+"Spike"]=D.c2p(B.p,!0),o(B,y,t),t.hovertemplate=y.hovertemplate,t}}function h(t,e){var r=e.mcc||t.marker.color,n=e.mlcc||t.marker.line.color,i=s(t,e);return a.opacity(r)?r:a.opacity(n)&&i?n:void 0}t.exports={hoverPoints:function(t,e,r,n,a){var o=u(t,e,r,n,a);if(o){var s=o.cd,l=s[0].trace,c=s[o.index];return o.color=h(l,c),i.getComponentMethod("errorbars","hoverInfo")(c,l,o),[o]}},hoverOnBars:u,getTraceColor:h}},58218:function(t,e,r){"use strict";t.exports={attributes:r(81481),layoutAttributes:r(25412),supplyDefaults:r(17550).supplyDefaults,crossTraceDefaults:r(17550).crossTraceDefaults,supplyLayoutDefaults:r(78931),calc:r(67565),crossTraceCalc:r(24782).crossTraceCalc,colorbar:r(21146),arraysToCalcdata:r(35374),plot:r(32995).plot,style:r(6851).style,styleOnSelect:r(6851).styleOnSelect,hoverPoints:r(91664).hoverPoints,eventData:r(59541),selectPoints:r(88384),moduleType:"trace",name:"bar",basePlotModule:r(37703),categories:["bar-like","cartesian","svg","bar","oriented","errorBarsOK","showLegend","zoomScale"],animatable:!0,meta:{}}},25412:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","group","overlay","relative"],dflt:"group",editType:"calc"},barnorm:{valType:"enumerated",values:["","fraction","percent"],dflt:"",editType:"calc"},bargap:{valType:"number",min:0,max:1,editType:"calc"},bargroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},barcornerradius:{valType:"any",editType:"calc"}}},78931:function(t,e,r){"use strict";var n=r(33626),i=r(29714),a=r(34809),o=r(25412),s=r(17550).validateCornerradius;t.exports=function(t,e,r){function l(r,n){return a.coerce(t,e,o,r,n)}for(var c=!1,u=!1,h=!1,f={},p=l("barmode"),d=0;d0)-(t<0)}function A(t,e){return t0}function E(t,e,r,n,i){return!(t<0||e<0)&&(r<=t&&n<=e||r<=e&&n<=t||(i?t>=r*(e/n):e>=n*(t/r)))}function C(t){return"auto"===t?0:t}function L(t,e){var r=Math.PI/180*e,n=Math.abs(Math.sin(r)),i=Math.abs(Math.cos(r));return{x:t.width*i+t.height*n,y:t.width*n+t.height*i}}function I(t,e,r,n,i,a){var o=!!a.isHorizontal,s=!!a.constrained,l=a.angle||0,c=a.anchor,u="end"===c,h="start"===c,f=((a.leftToRight||0)+1)/2,p=1-f,d=a.hasB,m=a.r,g=a.overhead,y=i.width,v=i.height,x=Math.abs(e-t),_=Math.abs(n-r),w=x>2*b&&_>2*b?b:0;x-=2*w,_-=2*w;var T=C(l);"auto"!==l||y<=x&&v<=_||!(y>x||v>_)||(y>_||v>x)&&yb){var E=function(t,e,r,n,i,a,o,s,l){var c,u,h,f,p=Math.max(0,Math.abs(e-t)-2*b),d=Math.max(0,Math.abs(n-r)-2*b),m=a-b,g=o?m-Math.sqrt(m*m-(m-o)*(m-o)):m,y=l?2*m:s?m-o:2*g,v=l?2*m:s?2*g:m-o;return i.y/i.x>=d/(p-y)?f=d/i.y:i.y/i.x<=(d-v)/p?f=p/i.x:!l&&s?(c=i.x*i.x+i.y*i.y/4,h=(p-m)*(p-m)+(d/2-m)*(d/2-m)-m*m,f=(-(u=-2*i.x*(p-m)-i.y*(d/2-m))+Math.sqrt(u*u-4*c*h))/(2*c)):l?(c=(i.x*i.x+i.y*i.y)/4,h=(p/2-m)*(p/2-m)+(d/2-m)*(d/2-m)-m*m,f=(-(u=-i.x*(p/2-m)-i.y*(d/2-m))+Math.sqrt(u*u-4*c*h))/(2*c)):(c=i.x*i.x/4+i.y*i.y,h=(p/2-m)*(p/2-m)+(d-m)*(d-m)-m*m,f=(-(u=-i.x*(p/2-m)-2*i.y*(d-m))+Math.sqrt(u*u-4*c*h))/(2*c)),{scale:f=Math.min(1,f),pad:s?Math.max(0,m-Math.sqrt(Math.max(0,m*m-(m-(d-i.y*f)/2)*(m-(d-i.y*f)/2)))-o):Math.max(0,m-Math.sqrt(Math.max(0,m*m-(m-(p-i.x*f)/2)*(m-(p-i.x*f)/2)))-o)}}(t,e,r,n,S,m,g,o,d);k=E.scale,M=E.pad}else k=1,s&&(k=Math.min(1,x/S.x,_/S.y)),M=0;var I=i.left*p+i.right*f,P=(i.top+i.bottom)/2,z=(t+b)*p+(e-b)*f,O=(r+n)/2,D=0,R=0;if(h||u){var F=(o?S.x:S.y)/2;m&&(u||d)&&(w+=M);var B=o?A(t,e):A(r,n);o?h?(z=t+B*w,D=-B*F):(z=e-B*w,D=B*F):h?(O=r+B*w,R=-B*F):(O=n-B*w,R=B*F)}return{textX:I,textY:P,targetX:z,targetY:O,anchorX:D,anchorY:R,scale:k,rotate:T}}t.exports={plot:function(t,e,r,h,g,y){var w=e.xaxis,P=e.yaxis,z=t._fullLayout,O=t._context.staticPlot;g||(g={mode:z.barmode,norm:z.barmode,gap:z.bargap,groupgap:z.bargroupgap},p("bar",z));var D=a.makeTraceGroups(h,r,"trace bars").each((function(r){var c=n.select(this),h=r[0].trace,p=r[0].t,D="waterfall"===h.type,R="funnel"===h.type,F="histogram"===h.type,B="bar"===h.type,N=B||R,j=0;D&&h.connector.visible&&"between"===h.connector.mode&&(j=h.connector.line.width/2);var U="h"===h.orientation,V=S(g),q=a.ensureSingle(c,"g","points"),H=T(h),G=q.selectAll("g.point").data(a.identity,H);G.enter().append("g").classed("point",!0),G.exit().remove(),G.each((function(c,T){var S,D,R=n.select(this),q=function(t,e,r,n){var i=[],a=[],o=n?e:r,s=n?r:e;return i[0]=o.c2p(t.s0,!0),a[0]=s.c2p(t.p0,!0),i[1]=o.c2p(t.s1,!0),a[1]=s.c2p(t.p1,!0),n?[i,a]:[a,i]}(c,w,P,U),H=q[0][0],G=q[0][1],Z=q[1][0],W=q[1][1],Y=0==(U?G-H:W-Z);if(Y&&N&&m.getLineWidth(h,c)&&(Y=!1),Y||(Y=!(i(H)&&i(G)&&i(Z)&&i(W))),c.isBlank=Y,Y&&(U?G=H:W=Z),j&&!Y&&(U?(H-=A(H,G)*j,G+=A(H,G)*j):(Z-=A(Z,W)*j,W+=A(Z,W)*j)),"waterfall"===h.type){if(!Y){var X=h[c.dir].marker;S=X.line.width,D=X.color}}else S=m.getLineWidth(h,c),D=c.mc||h.marker.color;function $(t){var e=n.round(S/2%1,2);return 0===g.gap&&0===g.groupgap?n.round(Math.round(t)-e,2):t}var J=s.opacity(D)<1||S>.01?$:function(t,e,r){return r&&t===e?t:Math.abs(t-e)>=2?$(t):t>e?Math.ceil(t):Math.floor(t)};t._context.staticPlot||(H=J(H,G,U),G=J(G,H,U),Z=J(Z,W,!U),W=J(W,Z,!U));var K,Q=U?w.c2p:P.c2p;K=c.s0>0?c._sMax:c.s0<0?c._sMin:c.s1>0?c._sMax:c._sMin;var tt,et,rt=B||F?function(t,e){if(!t)return 0;var r,n=U?Math.abs(W-Z):Math.abs(G-H),i=U?Math.abs(G-H):Math.abs(W-Z),a=J(Math.abs(Q(K,!0)-Q(0,!0))),o=c.hasB?Math.min(n/2,i/2):Math.min(n/2,a);return r="%"===e?n*(Math.min(50,t)/100):t,J(Math.max(Math.min(r,o),0))}(p.cornerradiusvalue,p.cornerradiusform):0,nt="M"+H+","+Z+"V"+W+"H"+G+"V"+Z+"Z",it=0;if(rt&&c.s){var at=0===k(c.s0)||k(c.s)===k(c.s0)?c.s1:c.s0;if((it=J(c.hasB?0:Math.abs(Q(K,!0)-Q(at,!0))))0?Math.sqrt(it*(2*rt-it)):0,ht=ot>0?Math.max:Math.min;tt="M"+H+","+Z+"V"+(W-ct*st)+"H"+ht(G-(rt-it)*ot,H)+"A "+rt+","+rt+" 0 0 "+lt+" "+G+","+(W-rt*st-ut)+"V"+(Z+rt*st+ut)+"A "+rt+","+rt+" 0 0 "+lt+" "+ht(G-(rt-it)*ot,H)+","+(Z+ct*st)+"Z"}else if(c.hasB)tt="M"+(H+rt*ot)+","+Z+"A "+rt+","+rt+" 0 0 "+lt+" "+H+","+(Z+rt*st)+"V"+(W-rt*st)+"A "+rt+","+rt+" 0 0 "+lt+" "+(H+rt*ot)+","+W+"H"+(G-rt*ot)+"A "+rt+","+rt+" 0 0 "+lt+" "+G+","+(W-rt*st)+"V"+(Z+rt*st)+"A "+rt+","+rt+" 0 0 "+lt+" "+(G-rt*ot)+","+Z+"Z";else{var ft=(et=Math.abs(W-Z)+it)0?Math.sqrt(it*(2*rt-it)):0,dt=st>0?Math.max:Math.min;tt="M"+(H+ft*ot)+","+Z+"V"+dt(W-(rt-it)*st,Z)+"A "+rt+","+rt+" 0 0 "+lt+" "+(H+rt*ot-pt)+","+W+"H"+(G-rt*ot+pt)+"A "+rt+","+rt+" 0 0 "+lt+" "+(G-ft*ot)+","+dt(W-(rt-it)*st,Z)+"V"+Z+"Z"}}else tt=nt}else tt=nt;var mt=M(a.ensureSingle(R,"path"),z,g,y);if(mt.style("vector-effect",O?"none":"non-scaling-stroke").attr("d",isNaN((G-H)*(W-Z))||Y&&t._context.staticPlot?"M0,0Z":tt).call(l.setClipUrl,e.layerClipId,t),!z.uniformtext.mode&&V){var gt=l.makePointStyleFns(h);l.singlePointStyle(c,mt,h,gt,t)}!function(t,e,r,n,i,s,c,h,p,g,y,w,T){var k,S=e.xaxis,P=e.yaxis,z=t._fullLayout;function O(e,r,n){return a.ensureSingle(e,"text").text(r).attr({class:"bartext bartext-"+k,"text-anchor":"middle","data-notex":1}).call(l.font,n).call(o.convertToTspans,t)}var D=n[0].trace,R="h"===D.orientation,F=function(t,e,r,n,i){var o,s=e[0].trace;return o=s.texttemplate?function(t,e,r,n,i){var o=e[0].trace,s=a.castOption(o,r,"texttemplate");if(!s)return"";var l,c,h,f,p="histogram"===o.type,d="waterfall"===o.type,m="funnel"===o.type,g="h"===o.orientation;function y(t){return u(f,f.c2l(t),!0).text}g?(l="y",c=i,h="x",f=n):(l="x",c=n,h="y",f=i);var v,x=e[r],b={};b.label=x.p,b.labelLabel=b[l+"Label"]=(v=x.p,u(c,c.c2l(v),!0).text);var w=a.castOption(o,x.i,"text");(0===w||w)&&(b.text=w),b.value=x.s,b.valueLabel=b[h+"Label"]=y(x.s);var T={};_(T,o,x.i),(p||void 0===T.x)&&(T.x=g?b.value:b.label),(p||void 0===T.y)&&(T.y=g?b.label:b.value),(p||void 0===T.xLabel)&&(T.xLabel=g?b.valueLabel:b.labelLabel),(p||void 0===T.yLabel)&&(T.yLabel=g?b.labelLabel:b.valueLabel),d&&(b.delta=+x.rawS||x.s,b.deltaLabel=y(b.delta),b.final=x.v,b.finalLabel=y(b.final),b.initial=b.final-b.delta,b.initialLabel=y(b.initial)),m&&(b.value=x.s,b.valueLabel=y(b.value),b.percentInitial=x.begR,b.percentInitialLabel=a.formatPercent(x.begR),b.percentPrevious=x.difR,b.percentPreviousLabel=a.formatPercent(x.difR),b.percentTotal=x.sumR,b.percenTotalLabel=a.formatPercent(x.sumR));var k=a.castOption(o,x.i,"customdata");return k&&(b.customdata=k),a.texttemplateString(s,b,t._d3locale,T,b,o._meta||{})}(t,e,r,n,i):s.textinfo?function(t,e,r,n){var i=t[0].trace,o="h"===i.orientation,s="waterfall"===i.type,l="funnel"===i.type;function c(t){return u(o?r:n,+t,!0).text}var h,f,p=i.textinfo,d=t[e],m=p.split("+"),g=[],y=function(t){return-1!==m.indexOf(t)};if(y("label")&&g.push((f=t[e].p,u(o?n:r,f,!0).text)),y("text")&&(0===(h=a.castOption(i,d.i,"text"))||h)&&g.push(h),s){var v=+d.rawS||d.s,x=d.v,_=x-v;y("initial")&&g.push(c(_)),y("delta")&&g.push(c(v)),y("final")&&g.push(c(x))}if(l){y("value")&&g.push(c(d.s));var b=0;y("percent initial")&&b++,y("percent previous")&&b++,y("percent total")&&b++;var w=b>1;y("percent initial")&&(h=a.formatPercent(d.begR),w&&(h+=" of initial"),g.push(h)),y("percent previous")&&(h=a.formatPercent(d.difR),w&&(h+=" of previous"),g.push(h)),y("percent total")&&(h=a.formatPercent(d.sumR),w&&(h+=" of total"),g.push(h))}return g.join("
")}(e,r,n,i):m.getValue(s.text,r),m.coerceString(v,o)}(z,n,i,S,P);k=function(t,e){var r=m.getValue(t.textposition,e);return m.coerceEnumerated(x,r)}(D,i);var B="stack"===w.mode||"relative"===w.mode,N=n[i],j=!B||N._outmost,U=N.hasB,V=g&&g-y>b;if(F&&"none"!==k&&(!N.isBlank&&s!==c&&h!==p||"auto"!==k&&"inside"!==k)){var q=z.font,H=d.getBarColor(n[i],D),G=d.getInsideTextFont(D,i,q,H),Z=d.getOutsideTextFont(D,i,q),W=D.insidetextanchor||"end",Y=r.datum();R?"log"===S.type&&Y.s0<=0&&(s=S.range[0]0&&K>0;it=V?U?E(rt-2*g,nt,J,K,R)||E(rt,nt-2*g,J,K,R):R?E(rt-(g-y),nt,J,K,R)||E(rt,nt-2*(g-y),J,K,R):E(rt,nt-(g-y),J,K,R)||E(rt-2*(g-y),nt,J,K,R):E(rt,nt,J,K,R),at&&it?k="inside":(k="outside",X.remove(),X=null)}else k="inside";if(!X){var ot=(X=O(r,F,Q=a.ensureUniformFontSize(t,"outside"===k?Z:G))).attr("transform");if(X.attr("transform",""),J=($=l.bBox(X.node())).width,K=$.height,X.attr("transform",ot),J<=0||K<=0)return void X.remove()}var st,lt=D.textangle;st="outside"===k?function(t,e,r,n,i,a){var o,s=!!a.isHorizontal,l=!!a.constrained,c=a.angle||0,u=i.width,h=i.height,f=Math.abs(e-t),p=Math.abs(n-r);o=s?p>2*b?b:0:f>2*b?b:0;var d=1;l&&(d=s?Math.min(1,p/h):Math.min(1,f/u));var m=C(c),g=L(i,m),y=(s?g.x:g.y)/2,v=(i.left+i.right)/2,x=(i.top+i.bottom)/2,_=(t+e)/2,w=(r+n)/2,T=0,k=0,M=s?A(e,t):A(r,n);return s?(_=e-M*o,T=M*y):(w=n+M*o,k=-M*y),{textX:v,textY:x,targetX:_,targetY:w,anchorX:T,anchorY:k,scale:d,rotate:m}}(s,c,h,p,$,{isHorizontal:R,constrained:"both"===D.constraintext||"outside"===D.constraintext,angle:lt}):I(s,c,h,p,$,{isHorizontal:R,constrained:"both"===D.constraintext||"inside"===D.constraintext,angle:lt,anchor:W,hasB:U,r:g,overhead:y}),st.fontSize=Q.size,f("histogram"===D.type?"bar":D.type,st,z),N.transform=st;var ct=M(X,z,w,T);a.setTransormAndDisplay(ct,st)}else r.select("text").remove()}(t,e,R,r,T,H,G,Z,W,rt,it,g,y),e.layerClipId&&l.hideOutsideRangePoint(c,R.select("text"),w,P,h.xcalendar,h.ycalendar)}));var Z=!1===h.cliponaxis;l.setClipUrl(c,Z?null:e.layerClipId,t)}));c.getComponentMethod("errorbars","plot")(t,D,e,g)},toMoveInsideBar:I}},88384:function(t){"use strict";function e(t,e,r,n,i){var a=e.c2p(n?t.s0:t.p0,!0),o=e.c2p(n?t.s1:t.p1,!0),s=r.c2p(n?t.p0:t.s0,!0),l=r.c2p(n?t.p1:t.s1,!0);return i?[(a+o)/2,(s+l)/2]:n?[o,(s+l)/2]:[(a+o)/2,l]}t.exports=function(t,r){var n,i=t.cd,a=t.xaxis,o=t.yaxis,s=i[0].trace,l="funnel"===s.type,c="h"===s.orientation,u=[];if(!1===r)for(n=0;n1||0===i.bargap&&0===i.bargroupgap&&!t[0].trace.marker.line.width)&&n.select(this).attr("shape-rendering","crispEdges")})),e.selectAll("g.points").each((function(e){d(n.select(this),e[0].trace,t)})),s.getComponentMethod("errorbars","style")(e)},styleTextPoints:m,styleOnSelect:function(t,e,r){var i=e[0].trace;i.selectedpoints?function(t,e,r){a.selectedPointStyle(t.selectAll("path"),e),function(t,e,r){t.each((function(t){var i,s=n.select(this);if(t.selected){i=o.ensureUniformFontSize(r,g(s,t,e,r));var l=e.selected.textfont&&e.selected.textfont.color;l&&(i.color=l),a.font(s,i)}else a.selectedTextStyle(s,e)}))}(t.selectAll("text"),e,r)}(r,i,t):(d(r,i,t),s.getComponentMethod("errorbars","style")(r))},getInsideTextFont:v,getOutsideTextFont:x,getBarColor:b,resizeText:l}},59760:function(t,e,r){"use strict";var n=r(78766),i=r(65477).hasColorscale,a=r(39356),o=r(34809).coercePattern;t.exports=function(t,e,r,s,l){var c=r("marker.color",s),u=i(t,"marker");u&&a(t,e,l,r,{prefix:"marker.",cLetter:"c"}),r("marker.line.color",n.defaultLine),i(t,"marker.line")&&a(t,e,l,r,{prefix:"marker.line.",cLetter:"c"}),r("marker.line.width"),r("marker.opacity"),o(r,"marker.pattern",c,u),r("selected.marker.color"),r("unselected.marker.color")}},84102:function(t,e,r){"use strict";var n=r(45568),i=r(34809);function a(t){return"_"+t+"Text_minsize"}t.exports={recordMinTextSize:function(t,e,r){if(r.uniformtext.mode){var n=a(t),i=r.uniformtext.minsize,o=e.scale*e.fontSize;e.hide=of.range[1]&&(x+=Math.PI),n.getClosest(c,(function(t){return m(v,x,[t.rp0,t.rp1],[t.thetag0,t.thetag1],d)?g+Math.min(1,Math.abs(t.thetag1-t.thetag0)/y)-1+(t.rp1-v)/(t.rp1-t.rp0)-1:1/0}),t),!1!==t.index){var _=c[t.index];t.x0=t.x1=_.ct[0],t.y0=t.y1=_.ct[1];var b=i.extendFlat({},_,{r:_.s,theta:_.p});return o(_,u,t),s(b,u,h,t),t.hovertemplate=u.hovertemplate,t.color=a(u,_),t.xLabelVal=t.yLabelVal=void 0,_.s<0&&(t.idealAlign="left"),[t]}}},89362:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"barpolar",basePlotModule:r(31645),categories:["polar","bar","showLegend"],attributes:r(32225),layoutAttributes:r(42956),supplyDefaults:r(77318),supplyLayoutDefaults:r(60507),calc:r(27941).calc,crossTraceCalc:r(27941).crossTraceCalc,plot:r(11627),colorbar:r(21146),formatLabels:r(33368),style:r(6851).style,styleOnSelect:r(6851).styleOnSelect,hoverPoints:r(83080),selectPoints:r(88384),meta:{}}},42956:function(t){"use strict";t.exports={barmode:{valType:"enumerated",values:["stack","overlay"],dflt:"stack",editType:"calc"},bargap:{valType:"number",dflt:.1,min:0,max:1,editType:"calc"}}},60507:function(t,e,r){"use strict";var n=r(34809),i=r(42956);t.exports=function(t,e,r){var a,o={};function s(r,o){return n.coerce(t[a]||{},e[a],i,r,o)}for(var l=0;l0?(c=o,u=l):(c=l,u=o);var h=[s.findEnclosingVertexAngles(c,t.vangles)[0],(c+u)/2,s.findEnclosingVertexAngles(u,t.vangles)[1]];return s.pathPolygonAnnulus(n,i,c,u,h,e,r)}:function(t,n,i,o){return a.pathAnnulus(t,n,i,o,e,r)}}(e),d=e.layers.frontplot.select("g.barlayer");a.makeTraceGroups(d,r,"trace bars").each((function(){var r=n.select(this),s=a.ensureSingle(r,"g","points").selectAll("g.point").data(a.identity);s.enter().append("g").style("vector-effect",l?"none":"non-scaling-stroke").style("stroke-miterlimit",2).classed("point",!0),s.exit().remove(),s.each((function(t){var e,r=n.select(this),o=t.rp0=h.c2p(t.s0),s=t.rp1=h.c2p(t.s1),l=t.thetag0=f.c2g(t.p0),d=t.thetag1=f.c2g(t.p1);if(i(o)&&i(s)&&i(l)&&i(d)&&o!==s&&l!==d){var m=h.c2g(t.s1),g=(l+d)/2;t.ct=[c.c2p(m*Math.cos(g)),u.c2p(m*Math.sin(g))],e=p(o,s,l,d)}else e="M0,0Z";a.ensureSingle(r,"path").attr("d",e)})),o.setClipUrl(r,e._hasClipOnAxisFalse?e.clipIds.forTraces:null,t)}))}},64625:function(t,e,r){"use strict";var n=r(19326),i=r(36640),a=r(81481),o=r(10229),s=r(80712).axisHoverFormat,l=r(3208).rb,c=r(93049).extendFlat,u=i.marker,h=u.line;t.exports={y:{valType:"data_array",editType:"calc+clearAxisTypes"},x:{valType:"data_array",editType:"calc+clearAxisTypes"},x0:{valType:"any",editType:"calc+clearAxisTypes"},y0:{valType:"any",editType:"calc+clearAxisTypes"},dx:{valType:"number",editType:"calc"},dy:{valType:"number",editType:"calc"},xperiod:i.xperiod,yperiod:i.yperiod,xperiod0:i.xperiod0,yperiod0:i.yperiod0,xperiodalignment:i.xperiodalignment,yperiodalignment:i.yperiodalignment,xhoverformat:s("x"),yhoverformat:s("y"),name:{valType:"string",editType:"calc+clearAxisTypes"},q1:{valType:"data_array",editType:"calc+clearAxisTypes"},median:{valType:"data_array",editType:"calc+clearAxisTypes"},q3:{valType:"data_array",editType:"calc+clearAxisTypes"},lowerfence:{valType:"data_array",editType:"calc"},upperfence:{valType:"data_array",editType:"calc"},notched:{valType:"boolean",editType:"calc"},notchwidth:{valType:"number",min:0,max:.5,dflt:.25,editType:"calc"},notchspan:{valType:"data_array",editType:"calc"},boxpoints:{valType:"enumerated",values:["all","outliers","suspectedoutliers",!1],editType:"calc"},jitter:{valType:"number",min:0,max:1,editType:"calc"},pointpos:{valType:"number",min:-2,max:2,editType:"calc"},sdmultiple:{valType:"number",min:0,editType:"calc",dflt:1},sizemode:{valType:"enumerated",values:["quartiles","sd"],editType:"calc",dflt:"quartiles"},boxmean:{valType:"enumerated",values:[!0,"sd",!1],editType:"calc"},mean:{valType:"data_array",editType:"calc"},sd:{valType:"data_array",editType:"calc"},orientation:{valType:"enumerated",values:["v","h"],editType:"calc+clearAxisTypes"},quartilemethod:{valType:"enumerated",values:["linear","exclusive","inclusive"],dflt:"linear",editType:"calc"},width:{valType:"number",min:0,dflt:0,editType:"calc"},marker:{outliercolor:{valType:"color",dflt:"rgba(0, 0, 0, 0)",editType:"style"},symbol:c({},u.symbol,{arrayOk:!1,editType:"plot"}),opacity:c({},u.opacity,{arrayOk:!1,dflt:1,editType:"style"}),angle:c({},u.angle,{arrayOk:!1,editType:"calc"}),size:c({},u.size,{arrayOk:!1,editType:"calc"}),color:c({},u.color,{arrayOk:!1,editType:"style"}),line:{color:c({},h.color,{arrayOk:!1,dflt:o.defaultLine,editType:"style"}),width:c({},h.width,{arrayOk:!1,dflt:0,editType:"style"}),outliercolor:{valType:"color",editType:"style"},outlierwidth:{valType:"number",min:0,dflt:1,editType:"style"},editType:"style"},editType:"plot"},line:{color:{valType:"color",editType:"style"},width:{valType:"number",min:0,dflt:2,editType:"style"},editType:"plot"},fillcolor:n(),whiskerwidth:{valType:"number",min:0,max:1,dflt:.5,editType:"calc"},showwhiskers:{valType:"boolean",editType:"calc"},offsetgroup:a.offsetgroup,alignmentgroup:a.alignmentgroup,selected:{marker:i.selected.marker,editType:"style"},unselected:{marker:i.unselected.marker,editType:"style"},text:c({},i.text,{}),hovertext:c({},i.hovertext,{}),hovertemplate:l({}),hoveron:{valType:"flaglist",flags:["boxes","points"],dflt:"boxes+points",editType:"style"},zorder:i.zorder}},89429:function(t,e,r){"use strict";var n=r(10721),i=r(29714),a=r(40528),o=r(34809),s=r(63821).BADNUM,l=o._;t.exports=function(t,e){var r,c,v,x,_,b,w,T=t._fullLayout,k=i.getFromId(t,e.xaxis||"x"),A=i.getFromId(t,e.yaxis||"y"),M=[],S="violin"===e.type?"_numViolins":"_numBoxes";"h"===e.orientation?(v=k,x="x",_=A,b="y",w=!!e.yperiodalignment):(v=A,x="y",_=k,b="x",w=!!e.xperiodalignment);var E,C,L,I,P,z,O=function(t,e,r,i){var s,l=e+"0"in t;if(e in t||l&&"d"+e in t){var c=r.makeCalcdata(t,e);return[a(t,r,e,c).vals,c]}s=l?t[e+"0"]:"name"in t&&("category"===r.type||n(t.name)&&-1!==["linear","log"].indexOf(r.type)||o.isDateTime(t.name)&&"date"===r.type)?t.name:i;for(var u="multicategory"===r.type?r.r2c_just_indices(s):r.d2c(s,0,t[e+"calendar"]),h=t._length,f=new Array(h),p=0;pE.uf};if(e._hasPreCompStats){var U=e[x],V=function(t){return v.d2c((e[t]||[])[r])},q=1/0,H=-1/0;for(r=0;r=E.q1&&E.q3>=E.med){var Z=V("lowerfence");E.lf=Z!==s&&Z<=E.q1?Z:p(E,L,I);var W=V("upperfence");E.uf=W!==s&&W>=E.q3?W:d(E,L,I);var Y=V("mean");E.mean=Y!==s?Y:I?o.mean(L,I):(E.q1+E.q3)/2;var X=V("sd");E.sd=Y!==s&&X>=0?X:I?o.stdev(L,I,E.mean):E.q3-E.q1,E.lo=m(E),E.uo=g(E);var $=V("notchspan");$=$!==s&&$>0?$:y(E,I),E.ln=E.med-$,E.un=E.med+$;var J=E.lf,K=E.uf;e.boxpoints&&L.length&&(J=Math.min(J,L[0]),K=Math.max(K,L[I-1])),e.notched&&(J=Math.min(J,E.ln),K=Math.max(K,E.un)),E.min=J,E.max=K}else{var Q;o.warn(["Invalid input - make sure that q1 <= median <= q3","q1 = "+E.q1,"median = "+E.med,"q3 = "+E.q3].join("\n")),Q=E.med!==s?E.med:E.q1!==s?E.q3!==s?(E.q1+E.q3)/2:E.q1:E.q3!==s?E.q3:0,E.med=Q,E.q1=E.q3=Q,E.lf=E.uf=Q,E.mean=E.sd=Q,E.ln=E.un=Q,E.min=E.max=Q}q=Math.min(q,E.min),H=Math.max(H,E.max),E.pts2=C.filter(j),M.push(E)}}e._extremes[v._id]=i.findExtremes(v,[q,H],{padded:!0})}else{var tt=v.makeCalcdata(e,x),et=function(t,e){for(var r=t.length,n=new Array(r+1),i=0;i=0&&it0){var ut,ht;(E={}).pos=E[b]=B[r],C=E.pts=nt[r].sort(h),I=(L=E[x]=C.map(f)).length,E.min=L[0],E.max=L[I-1],E.mean=o.mean(L,I),E.sd=o.stdev(L,I,E.mean)*e.sdmultiple,E.med=o.interp(L,.5),I%2&&(lt||ct)?(lt?(ut=L.slice(0,I/2),ht=L.slice(I/2+1)):ct&&(ut=L.slice(0,I/2+1),ht=L.slice(I/2)),E.q1=o.interp(ut,.5),E.q3=o.interp(ht,.5)):(E.q1=o.interp(L,.25),E.q3=o.interp(L,.75)),E.lf=p(E,L,I),E.uf=d(E,L,I),E.lo=m(E),E.uo=g(E);var ft=y(E,I);E.ln=E.med-ft,E.un=E.med+ft,at=Math.min(at,E.ln),ot=Math.max(ot,E.un),E.pts2=C.filter(j),M.push(E)}e.notched&&o.isTypedArray(tt)&&(tt=Array.from(tt)),e._extremes[v._id]=i.findExtremes(v,e.notched?tt.concat([at,ot]):tt,{padded:!0})}return function(t,e){if(o.isArrayOrTypedArray(e.selectedpoints))for(var r=0;r0?(M[0].t={num:T[S],dPos:N,posLetter:b,valLetter:x,labels:{med:l(t,"median:"),min:l(t,"min:"),q1:l(t,"q1:"),q3:l(t,"q3:"),max:l(t,"max:"),mean:"sd"===e.boxmean||"sd"===e.sizemode?l(t,"mean ± σ:").replace("σ",1===e.sdmultiple?"σ":e.sdmultiple+"σ"):l(t,"mean:"),lf:l(t,"lower fence:"),uf:l(t,"upper fence:")}},T[S]++,M):[{t:{empty:!0}}]};var c={text:"tx",hovertext:"htx"};function u(t,e,r){for(var n in c)o.isArrayOrTypedArray(e[n])&&(Array.isArray(r)?o.isArrayOrTypedArray(e[n][r[0]])&&(t[c[n]]=e[n][r[0]][r[1]]):t[c[n]]=e[n][r])}function h(t,e){return t.v-e.v}function f(t){return t.v}function p(t,e,r){return 0===r?t.q1:Math.min(t.q1,e[Math.min(o.findBin(2.5*t.q1-1.5*t.q3,e,!0)+1,r-1)])}function d(t,e,r){return 0===r?t.q3:Math.max(t.q3,e[Math.max(o.findBin(2.5*t.q3-1.5*t.q1,e),0)])}function m(t){return 4*t.q1-3*t.q3}function g(t){return 4*t.q3-3*t.q1}function y(t,e){return 0===e?0:1.57*(t.q3-t.q1)/Math.sqrt(e)}},81606:function(t,e,r){"use strict";var n=r(29714),i=r(34809),a=r(84391).getAxisGroup,o=["v","h"];function s(t,e,r,o){var s,l,c,u=e.calcdata,h=e._fullLayout,f=o._id,p=f.charAt(0),d=[],m=0;for(s=0;s1,_=1-h[t+"gap"],b=1-h[t+"groupgap"];for(s=0;s0){var H=E.pointpos,G=E.jitter,Z=E.marker.size/2,W=0;H+G>=0&&((W=V*(H+G))>M?(q=!0,j=Z,B=W):W>R&&(j=Z,B=M)),W<=M&&(B=M);var Y=0;H-G<=0&&((Y=-V*(H-G))>S?(q=!0,U=Z,N=Y):Y>F&&(U=Z,N=S)),Y<=S&&(N=S)}else B=M,N=S;var X=new Array(c.length);for(l=0;l0?(g="v",y=x>0?Math.min(b,_):Math.min(_)):x>0?(g="h",y=Math.min(b)):y=0;if(y){e._length=y;var S=r("orientation",g);e._hasPreCompStats?"v"===S&&0===x?(r("x0",0),r("dx",1)):"h"===S&&0===v&&(r("y0",0),r("dy",1)):"v"===S&&0===x?r("x0"):"h"===S&&0===v&&r("y0"),i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y"],a)}else e.visible=!1}function h(t,e,r,i){var a=i.prefix,o=n.coerce2(t,e,c,"marker.outliercolor"),s=r("marker.line.outliercolor"),l="outliers";e._hasPreCompStats?l="all":(o||s)&&(l="suspectedoutliers");var u=r(a+"points",l);u?(r("jitter","all"===u?.3:0),r("pointpos","all"===u?-1.5:0),r("marker.symbol"),r("marker.opacity"),r("marker.size"),r("marker.angle"),r("marker.color",e.line.color),r("marker.line.color"),r("marker.line.width"),"suspectedoutliers"===u&&(r("marker.line.outliercolor",e.marker.color),r("marker.line.outlierwidth")),r("selected.marker.color"),r("unselected.marker.color"),r("selected.marker.size"),r("unselected.marker.size"),r("text"),r("hovertext")):delete e.marker;var h=r("hoveron");"all"!==h&&-1===h.indexOf("points")||r("hovertemplate"),n.coerceSelectionMarkerOpacity(e,r)}t.exports={supplyDefaults:function(t,e,r,i){function s(r,i){return n.coerce(t,e,c,r,i)}if(u(t,e,s,i),!1!==e.visible){o(t,e,i,s),s("xhoverformat"),s("yhoverformat");var l=e._hasPreCompStats;l&&(s("lowerfence"),s("upperfence")),s("line.color",(t.marker||{}).color||r),s("line.width"),s("fillcolor",a.addOpacity(e.line.color,.5));var f=!1;if(l){var p=s("mean"),d=s("sd");p&&p.length&&(f=!0,d&&d.length&&(f="sd"))}s("whiskerwidth");var m,g=s("sizemode");"quartiles"===g&&(m=s("boxmean",f)),s("showwhiskers","quartiles"===g),"sd"!==g&&"sd"!==m||s("sdmultiple"),s("width"),s("quartilemethod");var y=!1;if(l){var v=s("notchspan");v&&v.length&&(y=!0)}else n.validate(t.notchwidth,c.notchwidth)&&(y=!0);s("notched",y)&&s("notchwidth"),h(t,e,s,{prefix:"box"}),s("zorder")}},crossTraceDefaults:function(t,e){var r,i;function a(t){return n.coerce(i._input,i,c,t)}for(var o=0;ot.lo&&(x.so=!0)}return a}));f.enter().append("path").classed("point",!0),f.exit().remove(),f.call(a.translatePoints,o,s)}function l(t,e,r,a){var o,s,l=e.val,c=e.pos,u=!!c.rangebreaks,h=a.bPos,f=a.bPosPxOffset||0,p=r.boxmean||(r.meanline||{}).visible;Array.isArray(a.bdPos)?(o=a.bdPos[0],s=a.bdPos[1]):(o=a.bdPos,s=a.bdPos);var d=t.selectAll("path.mean").data("box"===r.type&&r.boxmean||"violin"===r.type&&r.box.visible&&r.meanline.visible?i.identity:[]);d.enter().append("path").attr("class","mean").style({fill:"none","vector-effect":"non-scaling-stroke"}),d.exit().remove(),d.each((function(t){var e=c.c2l(t.pos+h,!0),i=c.l2p(e-o)+f,a=c.l2p(e+s)+f,d=u?(i+a)/2:c.l2p(e)+f,m=l.c2p(t.mean,!0),g=l.c2p(t.mean-t.sd,!0),y=l.c2p(t.mean+t.sd,!0);"h"===r.orientation?n.select(this).attr("d","M"+m+","+i+"V"+a+("sd"===p?"m0,0L"+g+","+d+"L"+m+","+i+"L"+y+","+d+"Z":"")):n.select(this).attr("d","M"+i+","+m+"H"+a+("sd"===p?"m0,0L"+d+","+g+"L"+i+","+m+"L"+d+","+y+"Z":""))}))}t.exports={plot:function(t,e,r,a){var c=t._context.staticPlot,u=e.xaxis,h=e.yaxis;i.makeTraceGroups(a,r,"trace boxes").each((function(t){var e,r,i=n.select(this),a=t[0],f=a.t,p=a.trace;f.wdPos=f.bdPos*p.whiskerwidth,!0!==p.visible||f.empty?i.remove():("h"===p.orientation?(e=h,r=u):(e=u,r=h),o(i,{pos:e,val:r},p,f,c),s(i,{x:u,y:h},p,f),l(i,{pos:e,val:r},p,f))}))},plotBoxAndWhiskers:o,plotPoints:s,plotBoxMean:l}},72488:function(t){"use strict";t.exports=function(t,e){var r,n,i=t.cd,a=t.xaxis,o=t.yaxis,s=[];if(!1===e)for(r=0;r=10)return null;for(var r=1/0,a=-1/0,o=t.length,s=0;s0?Math.floor:Math.ceil,P=C>0?Math.ceil:Math.floor,z=C>0?Math.min:Math.max,O=C>0?Math.max:Math.min,D=I(S+L),R=P(E-L),F=[[h=M(S)]];for(a=D;a*C=0;i--)a[u-i]=t[h][i],o[u-i]=e[h][i];for(s.push({x:a,y:o,bicubic:l}),i=h,a=[],o=[];i>=0;i--)a[h-i]=t[i][0],o[h-i]=e[i][0];return s.push({x:a,y:o,bicubic:c}),s}},4753:function(t,e,r){"use strict";var n=r(29714),i=r(93049).extendFlat;t.exports=function(t,e,r){var a,o,s,l,c,u,h,f,p,d,m,g,y,v,x=t["_"+e],_=t[e+"axis"],b=_._gridlines=[],w=_._minorgridlines=[],T=_._boundarylines=[],k=t["_"+r],A=t[r+"axis"];"array"===_.tickmode&&(_.tickvals=x.slice());var M=t._xctrl,S=t._yctrl,E=M[0].length,C=M.length,L=t._a.length,I=t._b.length;n.prepTicks(_),"array"===_.tickmode&&delete _.tickvals;var P=_.smoothing?3:1;function z(n){var i,a,o,s,l,c,u,h,p,d,m,g,y=[],v=[],x={};if("b"===e)for(a=t.b2j(n),o=Math.floor(Math.max(0,Math.min(I-2,a))),s=a-o,x.length=I,x.crossLength=L,x.xy=function(e){return t.evalxy([],e,a)},x.dxy=function(e,r){return t.dxydi([],e,o,r,s)},i=0;i0&&(p=t.dxydi([],i-1,o,0,s),y.push(l[0]+p[0]/3),v.push(l[1]+p[1]/3),d=t.dxydi([],i-1,o,1,s),y.push(h[0]-d[0]/3),v.push(h[1]-d[1]/3)),y.push(h[0]),v.push(h[1]),l=h;else for(i=t.a2i(n),c=Math.floor(Math.max(0,Math.min(L-2,i))),u=i-c,x.length=L,x.crossLength=I,x.xy=function(e){return t.evalxy([],i,e)},x.dxy=function(e,r){return t.dxydj([],c,e,u,r)},a=0;a0&&(m=t.dxydj([],c,a-1,u,0),y.push(l[0]+m[0]/3),v.push(l[1]+m[1]/3),g=t.dxydj([],c,a-1,u,1),y.push(h[0]-g[0]/3),v.push(h[1]-g[1]/3)),y.push(h[0]),v.push(h[1]),l=h;return x.axisLetter=e,x.axis=_,x.crossAxis=A,x.value=n,x.constvar=r,x.index=f,x.x=y,x.y=v,x.smoothing=A.smoothing,x}function O(n){var i,a,o,s,l,c=[],u=[],h={};if(h.length=x.length,h.crossLength=k.length,"b"===e)for(o=Math.max(0,Math.min(I-2,n)),l=Math.min(1,Math.max(0,n-o)),h.xy=function(e){return t.evalxy([],e,n)},h.dxy=function(e,r){return t.dxydi([],e,o,r,l)},i=0;ix.length-1||b.push(i(O(o),{color:_.gridcolor,width:_.gridwidth,dash:_.griddash}));for(f=u;fx.length-1||m<0||m>x.length-1))for(g=x[s],y=x[m],a=0;a<_.minorgridcount;a++)(v=m-s)<=0||(d=g+(y-g)*(a+1)/(_.minorgridcount+1)*(_.arraydtick/v))x[x.length-1]||w.push(i(z(d),{color:_.minorgridcolor,width:_.minorgridwidth,dash:_.minorgriddash}));_.startline&&T.push(i(O(0),{color:_.startlinecolor,width:_.startlinewidth})),_.endline&&T.push(i(O(x.length-1),{color:_.endlinecolor,width:_.endlinewidth}))}else{for(l=5e-15,u=(c=[Math.floor((x[x.length-1]-_.tick0)/_.dtick*(1+l)),Math.ceil((x[0]-_.tick0)/_.dtick/(1+l))].sort((function(t,e){return t-e})))[0],h=c[1],f=u;f<=h;f++)p=_.tick0+_.dtick*f,b.push(i(z(p),{color:_.gridcolor,width:_.gridwidth,dash:_.griddash}));for(f=u-1;fx[x.length-1]||w.push(i(z(d),{color:_.minorgridcolor,width:_.minorgridwidth,dash:_.minorgriddash}));_.startline&&T.push(i(z(x[0]),{color:_.startlinecolor,width:_.startlinewidth})),_.endline&&T.push(i(z(x[x.length-1]),{color:_.endlinecolor,width:_.endlinewidth}))}}},93923:function(t,e,r){"use strict";var n=r(29714),i=r(93049).extendFlat;t.exports=function(t,e){var r,a,o,s=e._labels=[],l=e._gridlines;for(r=0;re.length&&(t=t.slice(0,e.length)):t=[],i=0;i90&&(p-=180,l=-l),{angle:p,flip:l,p:t.c2p(n,e,r),offsetMultplier:c}}},87947:function(t,e,r){"use strict";var n=r(45568),i=r(62203),a=r(6720),o=r(3685),s=r(33163),l=r(30635),c=r(34809),u=c.strRotate,h=c.strTranslate,f=r(4530);function p(t,e,r,s,l,c,u){var h="const-"+l+"-lines",f=r.selectAll("."+h).data(c);f.enter().append("path").classed(h,!0).style("vector-effect",u?"none":"non-scaling-stroke"),f.each((function(r){var s=r,l=s.x,c=s.y,u=a([],l,t.c2p),h=a([],c,e.c2p),f="M"+o(u,h,s.smoothing);n.select(this).attr("d",f).style("stroke-width",s.width).style("stroke",s.color).style("stroke-dasharray",i.dashStyle(s.dash,s.width)).style("fill","none")})),f.exit().remove()}function d(t,e,r,a,o,c,f,p){var d=c.selectAll("text."+p).data(f);d.enter().append("text").classed(p,!0);var m=0,g={};return d.each((function(o,c){var f;if("auto"===o.axis.tickangle)f=s(a,e,r,o.xy,o.dxy);else{var p=(o.axis.tickangle+180)*Math.PI/180;f=s(a,e,r,o.xy,[Math.cos(p),Math.sin(p)])}c||(g={angle:f.angle,flip:f.flip});var d=(o.endAnchor?-1:1)*f.flip,y=n.select(this).attr({"text-anchor":d>0?"start":"end","data-notex":1}).call(i.font,o.font).text(o.text).call(l.convertToTspans,t),v=i.bBox(this);y.attr("transform",h(f.p[0],f.p[1])+u(f.angle)+h(o.axis.labelpadding*d,.3*v.height)),m=Math.max(m,v.width+o.axis.labelpadding)})),d.exit().remove(),g.maxExtent=m,g}t.exports=function(t,e,r,i){var l=t._context.staticPlot,u=e.xaxis,h=e.yaxis,f=t._fullLayout._clips;c.makeTraceGroups(i,r,"trace").each((function(e){var r=n.select(this),i=e[0],m=i.trace,g=m.aaxis,v=m.baxis,x=c.ensureSingle(r,"g","minorlayer"),_=c.ensureSingle(r,"g","majorlayer"),b=c.ensureSingle(r,"g","boundarylayer"),w=c.ensureSingle(r,"g","labellayer");r.style("opacity",m.opacity),p(u,h,_,0,"a",g._gridlines,!0),p(u,h,_,0,"b",v._gridlines,!0),p(u,h,x,0,"a",g._minorgridlines,!0),p(u,h,x,0,"b",v._minorgridlines,!0),p(u,h,b,0,"a-boundary",g._boundarylines,l),p(u,h,b,0,"b-boundary",v._boundarylines,l);var T=d(t,u,h,m,0,w,g._labels,"a-label"),k=d(t,u,h,m,0,w,v._labels,"b-label");!function(t,e,r,n,i,a,o,l){var u,h,f,p,d=c.aggNums(Math.min,null,r.a),m=c.aggNums(Math.max,null,r.a),g=c.aggNums(Math.min,null,r.b),v=c.aggNums(Math.max,null,r.b);u=.5*(d+m),h=g,f=r.ab2xy(u,h,!0),p=r.dxyda_rough(u,h),void 0===o.angle&&c.extendFlat(o,s(r,i,a,f,r.dxydb_rough(u,h))),y(t,e,r,0,f,p,r.aaxis,i,a,o,"a-title"),u=d,h=.5*(g+v),f=r.ab2xy(u,h,!0),p=r.dxydb_rough(u,h),void 0===l.angle&&c.extendFlat(l,s(r,i,a,f,r.dxyda_rough(u,h))),y(t,e,r,0,f,p,r.baxis,i,a,l,"b-title")}(t,w,m,0,u,h,T,k),function(t,e,r,n,i){var s,l,u,h,f=r.select("#"+t._clipPathId);f.size()||(f=r.append("clipPath").classed("carpetclip",!0));var p=c.ensureSingle(f,"path","carpetboundary"),d=e.clipsegments,m=[];for(h=0;h90&&v<270,_=n.select(this);_.text(f.title.text).call(l.convertToTspans,t),x&&(b=(-l.lineCount(_)+g)*m*a-b),_.attr("transform",h(e.p[0],e.p[1])+u(e.angle)+h(0,b)).attr("text-anchor","middle").call(i.font,f.title.font)})),_.exit().remove()}},76842:function(t,e,r){"use strict";var n=r(45923),i=r(98813).findBin,a=r(57075),o=r(13828),s=r(39848),l=r(41839);t.exports=function(t){var e=t._a,r=t._b,c=e.length,u=r.length,h=t.aaxis,f=t.baxis,p=e[0],d=e[c-1],m=r[0],g=r[u-1],y=e[e.length-1]-e[0],v=r[r.length-1]-r[0],x=y*n.RELATIVE_CULL_TOLERANCE,_=v*n.RELATIVE_CULL_TOLERANCE;p-=x,d+=x,m-=_,g+=_,t.isVisible=function(t,e){return t>p&&tm&&ed||eg},t.setScale=function(){var e=t._x,r=t._y,n=a(t._xctrl,t._yctrl,e,r,h.smoothing,f.smoothing);t._xctrl=n[0],t._yctrl=n[1],t.evalxy=o([t._xctrl,t._yctrl],c,u,h.smoothing,f.smoothing),t.dxydi=s([t._xctrl,t._yctrl],h.smoothing,f.smoothing),t.dxydj=l([t._xctrl,t._yctrl],h.smoothing,f.smoothing)},t.i2a=function(t){var r=Math.max(0,Math.floor(t[0]),c-2),n=t[0]-r;return(1-n)*e[r]+n*e[r+1]},t.j2b=function(t){var e=Math.max(0,Math.floor(t[1]),c-2),n=t[1]-e;return(1-n)*r[e]+n*r[e+1]},t.ij2ab=function(e){return[t.i2a(e[0]),t.j2b(e[1])]},t.a2i=function(t){var r=Math.max(0,Math.min(i(t,e),c-2)),n=e[r],a=e[r+1];return Math.max(0,Math.min(c-1,r+(t-n)/(a-n)))},t.b2j=function(t){var e=Math.max(0,Math.min(i(t,r),u-2)),n=r[e],a=r[e+1];return Math.max(0,Math.min(u-1,e+(t-n)/(a-n)))},t.ab2ij=function(e){return[t.a2i(e[0]),t.b2j(e[1])]},t.i2c=function(e,r){return t.evalxy([],e,r)},t.ab2xy=function(n,i,a){if(!a&&(ne[c-1]|ir[u-1]))return[!1,!1];var o=t.a2i(n),s=t.b2j(i),l=t.evalxy([],o,s);if(a){var h,f,p,d,m=0,g=0,y=[];ne[c-1]?(h=c-2,f=1,m=(n-e[c-1])/(e[c-1]-e[c-2])):f=o-(h=Math.max(0,Math.min(c-2,Math.floor(o)))),ir[u-1]?(p=u-2,d=1,g=(i-r[u-1])/(r[u-1]-r[u-2])):d=s-(p=Math.max(0,Math.min(u-2,Math.floor(s)))),m&&(t.dxydi(y,h,p,f,d),l[0]+=y[0]*m,l[1]+=y[1]*m),g&&(t.dxydj(y,h,p,f,d),l[0]+=y[0]*g,l[1]+=y[1]*g)}return l},t.c2p=function(t,e,r){return[e.c2p(t[0]),r.c2p(t[1])]},t.p2x=function(t,e,r){return[e.p2c(t[0]),r.p2c(t[1])]},t.dadi=function(t){var r=Math.max(0,Math.min(e.length-2,t));return e[r+1]-e[r]},t.dbdj=function(t){var e=Math.max(0,Math.min(r.length-2,t));return r[e+1]-r[e]},t.dxyda=function(e,r,n,i){var a=t.dxydi(null,e,r,n,i),o=t.dadi(e,n);return[a[0]/o,a[1]/o]},t.dxydb=function(e,r,n,i){var a=t.dxydj(null,e,r,n,i),o=t.dbdj(r,i);return[a[0]/o,a[1]/o]},t.dxyda_rough=function(e,r,n){var i=y*(n||.1),a=t.ab2xy(e+i,r,!0),o=t.ab2xy(e-i,r,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dxydb_rough=function(e,r,n){var i=v*(n||.1),a=t.ab2xy(e,r+i,!0),o=t.ab2xy(e,r-i,!0);return[.5*(a[0]-o[0])/i,.5*(a[1]-o[1])/i]},t.dpdx=function(t){return t._m},t.dpdy=function(t){return t._m}}},13007:function(t,e,r){"use strict";var n=r(34809);t.exports=function(t,e,r){var i,a,o,s=[],l=[],c=t[0].length,u=t.length;function h(e,r){var n,i=0,a=0;return e>0&&void 0!==(n=t[r][e-1])&&(a++,i+=n),e0&&void 0!==(n=t[r-1][e])&&(a++,i+=n),r0&&a0&&i1e-5);return n.log("Smoother converged to",k,"after",A,"iterations"),t}},10820:function(t,e,r){"use strict";var n=r(34809).isArray1D;t.exports=function(t,e,r){var i=r("x"),a=i&&i.length,o=r("y"),s=o&&o.length;if(!a&&!s)return!1;if(e._cheater=!i,a&&!n(i)||s&&!n(o))e._length=null;else{var l=a?i.length:1/0;s&&(l=Math.min(l,o.length)),e.a&&e.a.length&&(l=Math.min(l,e.a.length)),e.b&&e.b.length&&(l=Math.min(l,e.b.length)),e._length=l}return!0}},92802:function(t,e,r){"use strict";var n=r(3208).rb,i=r(6893),a=r(87163),o=r(9829),s=r(10229).defaultLine,l=r(93049).extendFlat,c=i.marker.line;t.exports=l({locations:{valType:"data_array",editType:"calc"},locationmode:i.locationmode,z:{valType:"data_array",editType:"calc"},geojson:l({},i.geojson,{}),featureidkey:i.featureidkey,text:l({},i.text,{}),hovertext:l({},i.hovertext,{}),marker:{line:{color:l({},c.color,{dflt:s}),width:l({},c.width,{dflt:1}),editType:"calc"},opacity:{valType:"number",arrayOk:!0,min:0,max:1,dflt:1,editType:"style"},editType:"calc"},selected:{marker:{opacity:i.selected.marker.opacity,editType:"plot"},editType:"plot"},unselected:{marker:{opacity:i.unselected.marker.opacity,editType:"plot"},editType:"plot"},hoverinfo:l({},o.hoverinfo,{editType:"calc",flags:["location","z","text","name"]}),hovertemplate:n(),showlegend:l({},o.showlegend,{dflt:!1})},a("",{cLetter:"z",editTypeOverride:"calc"}))},12702:function(t,e,r){"use strict";var n=r(10721),i=r(63821).BADNUM,a=r(28379),o=r(99203),s=r(48861);function l(t){return t&&"string"==typeof t}t.exports=function(t,e){var r,c=e._length,u=new Array(c);r=e.geojson?function(t){return l(t)||n(t)}:l;for(var h=0;h")}}(t,h,o),[t]}},58075:function(t,e,r){"use strict";t.exports={attributes:r(92802),supplyDefaults:r(51893),colorbar:r(12431),calc:r(12702),calcGeoJSON:r(4700).calcGeoJSON,plot:r(4700).plot,style:r(59342).style,styleOnSelect:r(59342).styleOnSelect,hoverPoints:r(94125),eventData:r(38414),selectPoints:r(43727),moduleType:"trace",name:"choropleth",basePlotModule:r(47544),categories:["geo","noOpacity","showLegend"],meta:{}}},4700:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=r(3994),o=r(11577).getTopojsonFeatures,s=r(32919).findExtremes,l=r(59342).style;t.exports={calcGeoJSON:function(t,e){for(var r=t[0].trace,n=e[r.geo],i=n._subplot,l=r.locationmode,c=r._length,u="geojson-id"===l?a.extractTraceFeature(t):o(r,i.topojson),h=[],f=[],p=0;p=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(a,{type:"geojson",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},86227:function(t,e,r){"use strict";var n=r(92802),i=r(87163),a=r(3208).rb,o=r(9829),s=r(93049).extendFlat;t.exports=s({locations:{valType:"data_array",editType:"calc"},z:{valType:"data_array",editType:"calc"},geojson:{valType:"any",editType:"calc"},featureidkey:s({},n.featureidkey,{}),below:{valType:"string",editType:"plot"},text:n.text,hovertext:n.hovertext,marker:{line:{color:s({},n.marker.line.color,{editType:"plot"}),width:s({},n.marker.line.width,{editType:"plot"}),editType:"calc"},opacity:s({},n.marker.opacity,{editType:"plot"}),editType:"calc"},selected:{marker:{opacity:s({},n.selected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},unselected:{marker:{opacity:s({},n.unselected.marker.opacity,{editType:"plot"}),editType:"plot"},editType:"plot"},hoverinfo:n.hoverinfo,hovertemplate:a({},{keys:["properties"]}),showlegend:s({},o.showlegend,{dflt:!1})},i("",{cLetter:"z",editTypeOverride:"calc"}))},51335:function(t,e,r){"use strict";var n=r(10721),i=r(34809),a=r(88856),o=r(62203),s=r(39532).makeBlank,l=r(3994);function c(t){var e,r=t[0].trace,n=r._opts;if(r.selectedpoints){for(var a=o.makeSelectedPointStyleFns(r),s=0;s=0;n--){var i=r[n].id;if("string"==typeof i&&0===i.indexOf("water"))for(var a=n+1;a=0;r--)t.removeLayer(e[r][1])},s.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new o(t,r.uid),a=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(a,{type:"geojson",data:s.geojson}),i._addLayers(s,l),e[0].trace._glTrace=i,i}},49865:function(t,e,r){"use strict";var n=r(87163),i=r(80712).axisHoverFormat,a=r(3208).rb,o=r(42450),s=r(9829),l=r(93049).extendFlat,c={x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},u:{valType:"data_array",editType:"calc"},v:{valType:"data_array",editType:"calc"},w:{valType:"data_array",editType:"calc"},sizemode:{valType:"enumerated",values:["scaled","absolute","raw"],editType:"calc",dflt:"scaled"},sizeref:{valType:"number",editType:"calc",min:0},anchor:{valType:"enumerated",editType:"calc",values:["tip","tail","cm","center"],dflt:"cm"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"},{keys:["norm"]}),uhoverformat:i("u",1),vhoverformat:i("v",1),whoverformat:i("w",1),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),showlegend:l({},s.showlegend,{dflt:!1})};l(c,n("",{colorAttr:"u/v/w norm",showScaleDflt:!0,editTypeOverride:"calc"})),["opacity","lightposition","lighting"].forEach((function(t){c[t]=o[t]})),c.hoverinfo=l({},s.hoverinfo,{editType:"calc",flags:["x","y","z","u","v","w","norm","text","name"],dflt:"x+y+z+norm+text+name"}),c.transforms=void 0,t.exports=c},93805:function(t,e,r){"use strict";var n=r(28379);t.exports=function(t,e){for(var r=e.u,i=e.v,a=e.w,o=Math.min(e.x.length,e.y.length,e.z.length,r.length,i.length,a.length),s=-1/0,l=1/0,c=0;co.level||o.starts.length&&a===o.level)}break;case"constraint":if(n.prefixBoundary=!1,n.edgepaths.length)return;var s=n.x.length,l=n.y.length,c=-1/0,u=1/0;for(r=0;r":p>c&&(n.prefixBoundary=!0);break;case"<":(pc||n.starts.length&&f===u)&&(n.prefixBoundary=!0);break;case"][":h=Math.min(p[0],p[1]),f=Math.max(p[0],p[1]),hc&&(n.prefixBoundary=!0)}}}},92697:function(t,e,r){"use strict";var n=r(88856),i=r(16438),a=r(48715);t.exports={min:"zmin",max:"zmax",calc:function(t,e,r){var o=e.contours,s=e.line,l=o.size||1,c=o.coloring,u=i(e,{isColorbar:!0});if("heatmap"===c){var h=n.extractOpts(e);r._fillgradient=h.reversescale?n.flipScale(h.colorscale):h.colorscale,r._zrange=[h.min,h.max]}else"fill"===c&&(r._fillcolor=u);r._line={color:"lines"===c?u:s.color,width:!1!==o.showlines?s.width:0,dash:s.dash},r._levels={start:o.start,end:a(o),size:l}}}},53156:function(t){"use strict";t.exports={BOTTOMSTART:[1,9,13,104,713],TOPSTART:[4,6,7,104,713],LEFTSTART:[8,12,14,208,1114],RIGHTSTART:[2,3,11,208,1114],NEWDELTA:[null,[-1,0],[0,-1],[-1,0],[1,0],null,[0,-1],[-1,0],[0,1],[0,1],null,[0,1],[1,0],[1,0],[0,-1]],CHOOSESADDLE:{104:[4,1],208:[2,8],713:[7,13],1114:[11,14]},SADDLEREMAINDER:{1:4,2:8,4:1,7:13,8:2,11:14,13:7,14:11},LABELDISTANCE:2,LABELINCREASE:10,LABELMIN:3,LABELMAX:10,LABELOPTIMIZER:{EDGECOST:1,ANGLECOST:1,NEIGHBORCOST:5,SAMELEVELFACTOR:10,SAMELEVELDISTANCE:5,MAXCOST:100,INITIALSEARCHPOINTS:10,ITERATIONS:5}}},29503:function(t,e,r){"use strict";var n=r(10721),i=r(20576),a=r(78766),o=a.addOpacity,s=a.opacity,l=r(20726),c=r(34809).isArrayOrTypedArray,u=l.CONSTRAINT_REDUCTION,h=l.COMPARISON_OPS2;t.exports=function(t,e,r,a,l,f){var p,d,m,g=e.contours,y=r("contours.operation");g._operation=u[y],function(t,e){var r;-1===h.indexOf(e.operation)?(t("contours.value",[0,1]),c(e.value)?e.value.length>2?e.value=e.value.slice(2):0===e.length?e.value=[0,1]:e.length<2?(r=parseFloat(e.value[0]),e.value=[r,r+1]):e.value=[parseFloat(e.value[0]),parseFloat(e.value[1])]:n(e.value)&&(r=parseFloat(e.value),e.value=[r,r+1])):(t("contours.value",0),n(e.value)||(c(e.value)?e.value=parseFloat(e.value[0]):e.value=0))}(r,g),"="===y?p=g.showlines=!0:(p=r("contours.showlines"),m=r("fillcolor",o((t.line||{}).color||l,.5))),p&&(d=r("line.color",m&&s(m)?o(e.fillcolor,1):l),r("line.width",2),r("line.dash")),r("line.smoothing"),i(r,a,d,f)}},22783:function(t,e,r){"use strict";var n=r(20726),i=r(10721);function a(t,e){var r,a=Array.isArray(e);function o(t){return i(t)?+t:null}return-1!==n.COMPARISON_OPS2.indexOf(t)?r=o(a?e[0]:e):-1!==n.INTERVAL_OPS.indexOf(t)?r=a?[o(e[0]),o(e[1])]:[o(e),o(e)]:-1!==n.SET_OPS.indexOf(t)&&(r=a?e.map(o):[o(e)]),r}function o(t){return function(e){e=a(t,e);var r=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return{start:r,end:n,size:n-r}}}function s(t){return function(e){return{start:e=a(t,e),end:1/0,size:1/0}}}t.exports={"[]":o("[]"),"][":o("]["),">":s(">"),"<":s("<"),"=":s("=")}},47495:function(t){"use strict";t.exports=function(t,e,r,n){var i=n("contours.start"),a=n("contours.end"),o=!1===i||!1===a,s=r("contours.size");!(o?e.autocontour=!0:r("autocontour",!1))&&s||r("ncontours")}},1999:function(t,e,r){"use strict";var n=r(34809);function i(t){return n.extendFlat({},t,{edgepaths:n.extendDeep([],t.edgepaths),paths:n.extendDeep([],t.paths),starts:n.extendDeep([],t.starts)})}t.exports=function(t,e){var r,a,o,s=function(t){return t.reverse()},l=function(t){return t};switch(e){case"=":case"<":return t;case">":for(1!==t.length&&n.warn("Contour data invalid for the specified inequality operation."),a=t[0],r=0;r1e3){n.warn("Too many contours, clipping at 1000",t);break}return l}},48715:function(t){"use strict";t.exports=function(t){return t.end+t.size/1e6}},27657:function(t,e,r){"use strict";var n=r(34809),i=r(53156);function a(t,e,r,n){return Math.abs(t[0]-e[0])20&&e?208===t||1114===t?n=0===r[0]?1:-1:a=0===r[1]?1:-1:-1!==i.BOTTOMSTART.indexOf(t)?a=1:-1!==i.LEFTSTART.indexOf(t)?n=1:-1!==i.TOPSTART.indexOf(t)?a=-1:n=-1,[n,a]}(h,r,e),p=[s(t,e,[-f[0],-f[1]])],d=t.z.length,m=t.z[0].length,g=e.slice(),y=f.slice();for(c=0;c<1e4;c++){if(h>20?(h=i.CHOOSESADDLE[h][(f[0]||f[1])<0?0:1],t.crossings[u]=i.SADDLEREMAINDER[h]):delete t.crossings[u],!(f=i.NEWDELTA[h])){n.log("Found bad marching index:",h,e,t.level);break}p.push(s(t,e,f)),e[0]+=f[0],e[1]+=f[1],u=e.join(","),a(p[p.length-1],p[p.length-2],o,l)&&p.pop();var v=f[0]&&(e[0]<0||e[0]>m-2)||f[1]&&(e[1]<0||e[1]>d-2);if(e[0]===g[0]&&e[1]===g[1]&&f[0]===y[0]&&f[1]===y[1]||r&&v)break;h=t.crossings[u]}1e4===c&&n.log("Infinite loop in contour?");var x,_,b,w,T,k,A,M,S,E,C,L,I,P,z,O=a(p[0],p[p.length-1],o,l),D=0,R=.2*t.smoothing,F=[],B=0;for(c=1;c=B;c--)if((x=F[c])=B&&x+F[_]M&&S--,t.edgepaths[S]=C.concat(p,E));break}V||(t.edgepaths[M]=p.concat(E))}for(M=0;M=v)&&(r<=y&&(r=y),o>=v&&(o=v),l=Math.floor((o-r)/s)+1,c=0),f=0;fy&&(m.unshift(y),g.unshift(g[0])),m[m.length-1]t?0:1)+(e[0][1]>t?0:2)+(e[1][1]>t?0:4)+(e[1][0]>t?0:8);return 5===r||10===r?t>(e[0][0]+e[0][1]+e[1][0]+e[1][1])/4?5===r?713:1114:5===r?104:208:15===r?0:r}t.exports=function(t){var e,r,a,o,s,l,c,u,h,f=t[0].z,p=f.length,d=f[0].length,m=2===p||2===d;for(r=0;r=0&&(n=v,s=l):Math.abs(r[1]-n[1])<.01?Math.abs(r[1]-v[1])<.01&&(v[0]-r[0])*(n[0]-v[0])>=0&&(n=v,s=l):i.log("endpt to newendpt is not vert. or horz.",r,n,v)}if(r=n,s>=0)break;h+="L"+n}if(s===t.edgepaths.length){i.log("unclosed perimeter path");break}f=s,(d=-1===p.indexOf(f))&&(f=p[0],h+="Z")}for(f=0;fn.center?n.right-s:s-n.left)/(u+Math.abs(Math.sin(c)*o)),p=(l>n.middle?n.bottom-l:l-n.top)/(Math.abs(h)+Math.cos(c)*o);if(f<1||p<1)return 1/0;var d=y.EDGECOST*(1/(f-1)+1/(p-1));d+=y.ANGLECOST*c*c;for(var m=s-u,g=l-h,v=s+u,x=l+h,_=0;_2*y.MAXCOST)break;p&&(s/=2),l=(o=c-s/2)+1.5*s}if(f<=y.MAXCOST)return u},e.addLabelData=function(t,e,r,n){var i=e.fontSize,a=e.width+i/3,o=Math.max(0,e.height-i/3),s=t.x,l=t.y,c=t.theta,u=Math.sin(c),h=Math.cos(c),f=function(t,e){return[s+t*h-e*u,l+t*u+e*h]},p=[f(-a/2,-o/2),f(-a/2,o/2),f(a/2,o/2),f(a/2,-o/2)];r.push({text:e.text,x:s,y:l,dy:e.dy,theta:c,level:e.level,width:a,height:o}),n.push(p)},e.drawLabels=function(t,e,r,a,o){var l=t.selectAll("text").data(e,(function(t){return t.text+","+t.x+","+t.y+","+t.theta}));if(l.exit().remove(),l.enter().append("text").attr({"data-notex":1,"text-anchor":"middle"}).each((function(t){var e=t.x+Math.sin(t.theta)*t.dy,i=t.y-Math.cos(t.theta)*t.dy;n.select(this).text(t.text).attr({x:e,y:i,transform:"rotate("+180*t.theta/Math.PI+" "+e+" "+i+")"}).call(s.convertToTspans,r)})),o){for(var c="",u=0;ur.end&&(r.start=r.end=(r.start+r.end)/2),t._input.contours||(t._input.contours={}),i.extendFlat(t._input.contours,{start:r.start,end:r.end,size:r.size}),t._input.autocontour=!0}else if("constraint"!==r.type){var c,u=r.start,h=r.end,f=t._input.contours;u>h&&(r.start=f.start=h,h=r.end=f.end=u,u=r.start),r.size>0||(c=u===h?1:a(u,h,t.ncontours).dtick,f.size=r.size=c)}}},1328:function(t,e,r){"use strict";var n=r(45568),i=r(62203),a=r(12774),o=r(16438);t.exports=function(t){var e=n.select(t).selectAll("g.contour");e.style("opacity",(function(t){return t[0].trace.opacity})),e.each((function(t){var e=n.select(this),r=t[0].trace,a=r.contours,s=r.line,l=a.size||1,c=a.start,u="constraint"===a.type,h=!u&&"lines"===a.coloring,f=!u&&"fill"===a.coloring,p=h||f?o(r):null;e.selectAll("g.contourlevel").each((function(t){n.select(this).selectAll("path").call(i.lineGroupStyle,s.width,h?p(t.level):s.color,s.dash)}));var d=a.labelfont;if(e.selectAll("g.contourlabels text").each((function(t){i.font(n.select(this),{weight:d.weight,style:d.style,variant:d.variant,textcase:d.textcase,lineposition:d.lineposition,shadow:d.shadow,family:d.family,size:d.size,color:d.color||(h?p(t.level):s.color)})})),u)e.selectAll("g.contourfill path").style("fill",r.fillcolor);else if(f){var m;e.selectAll("g.contourfill path").style("fill",(function(t){return void 0===m&&(m=t.level),p(t.level+.5*l)})),void 0===m&&(m=c),e.selectAll("g.contourbg path").style("fill",p(m-.5*l))}})),a(t)}},39889:function(t,e,r){"use strict";var n=r(39356),i=r(20576);t.exports=function(t,e,r,a,o){var s,l=r("contours.coloring"),c="";"fill"===l&&(s=r("contours.showlines")),!1!==s&&("lines"!==l&&(c=r("line.color","#000")),r("line.width",.5),r("line.dash")),"none"!==l&&(!0!==t.showlegend&&(e.showlegend=!1),e._dfltShowLegend=!1,n(t,e,a,r,{prefix:"",cLetter:"z"})),r("line.smoothing"),i(r,a,c,o)}},66365:function(t,e,r){"use strict";var n=r(81658),i=r(52240),a=r(87163),o=r(93049).extendFlat,s=i.contours;t.exports=o({carpet:{valType:"string",editType:"calc"},z:n.z,a:n.x,a0:n.x0,da:n.dx,b:n.y,b0:n.y0,db:n.dy,text:n.text,hovertext:n.hovertext,transpose:n.transpose,atype:n.xtype,btype:n.ytype,fillcolor:i.fillcolor,autocontour:i.autocontour,ncontours:i.ncontours,contours:{type:s.type,start:s.start,end:s.end,size:s.size,coloring:{valType:"enumerated",values:["fill","lines","none"],dflt:"fill",editType:"calc"},showlines:s.showlines,showlabels:s.showlabels,labelfont:s.labelfont,labelformat:s.labelformat,operation:s.operation,value:s.value,editType:"calc",impliedEdits:{autocontour:!1}},line:{color:i.line.color,width:i.line.width,dash:i.line.dash,smoothing:i.line.smoothing,editType:"plot"},zorder:i.zorder,transforms:void 0},a("",{cLetter:"z",autoColorDflt:!1}))},80849:function(t,e,r){"use strict";var n=r(28379),i=r(34809),a=r(87869),o=r(93877),s=r(69295),l=r(78106),c=r(80924),u=r(50538),h=r(26571),f=r(62475);t.exports=function(t,e){var r=e._carpetTrace=h(t,e);if(r&&r.visible&&"legendonly"!==r.visible){if(!e.a||!e.b){var p=t.data[r.index],d=t.data[e.index];d.a||(d.a=p.a),d.b||(d.b=p.b),u(d,e,e._defaultColor,t._fullLayout)}var m=function(t,e){var r,u,h,f,p,d,m,g=e._carpetTrace,y=g.aaxis,v=g.baxis;y._minDtick=0,v._minDtick=0,i.isArray1D(e.z)&&a(e,y,v,"a","b",["z"]),r=e._a=e._a||e.a,f=e._b=e._b||e.b,r=r?y.makeCalcdata(e,"_a"):[],f=f?v.makeCalcdata(e,"_b"):[],u=e.a0||0,h=e.da||1,p=e.b0||0,d=e.db||1,m=e._z=o(e._z||e.z,e.transpose),e._emptypoints=l(m),s(m,e._emptypoints);var x=i.maxRowLength(m),_="scaled"===e.xtype?"":r,b=c(e,_,u,h,x,y),w="scaled"===e.ytype?"":f,T={a:b,b:c(e,w,p,d,m.length,v),z:m};return"levels"===e.contours.type&&"none"!==e.contours.coloring&&n(t,e,{vals:m,containerStr:"",cLetter:"z"}),[T]}(t,e);return f(e,e._z),m}}},50538:function(t,e,r){"use strict";var n=r(34809),i=r(86073),a=r(66365),o=r(29503),s=r(47495),l=r(39889);t.exports=function(t,e,r,c){function u(r,i){return n.coerce(t,e,a,r,i)}if(u("carpet"),t.a&&t.b){if(!i(t,e,u,c,"a","b"))return void(e.visible=!1);u("text"),"constraint"===u("contours.type")?o(t,e,u,c,r,{hasHover:!1}):(s(t,e,u,(function(r){return n.coerce2(t,e,a,r)})),l(t,e,u,c,{hasHover:!1}))}else e._defaultColor=r,e._length=null;u("zorder")}},34406:function(t,e,r){"use strict";t.exports={attributes:r(66365),supplyDefaults:r(50538),colorbar:r(92697),calc:r(80849),plot:r(71815),style:r(1328),moduleType:"trace",name:"contourcarpet",basePlotModule:r(37703),categories:["cartesian","svg","carpet","contour","symbols","showLegend","hasLines","carpetDependent","noHover","noSortingByValue"],meta:{}}},71815:function(t,e,r){"use strict";var n=r(45568),i=r(6720),a=r(3685),o=r(62203),s=r(34809),l=r(83545),c=r(27657),u=r(8850),h=r(53156),f=r(1999),p=r(86828),d=r(49886),m=r(26571),g=r(94903);function y(t,e,r){var n=t.getPointAtLength(e),i=t.getPointAtLength(r),a=i.x-n.x,o=i.y-n.y,s=Math.sqrt(a*a+o*o);return[a/s,o/s]}function v(t){var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]);return[t[0]/e,t[1]/e]}function x(t,e){var r=Math.abs(t[0]*e[0]+t[1]*e[1]);return Math.sqrt(1-r*r)/r}t.exports=function(t,e,r,_){var b=e.xaxis,w=e.yaxis;s.makeTraceGroups(_,r,"contour").each((function(r){var _=n.select(this),T=r[0],k=T.trace,A=k._carpetTrace=m(t,k),M=t.calcdata[A.index][0];if(A.visible&&"legendonly"!==A.visible){var S=T.a,E=T.b,C=k.contours,L=p(C,e,T),I="constraint"===C.type,P=C._operation,z=I?"="===P?"lines":"fill":C.coloring,O=[[S[0],E[E.length-1]],[S[S.length-1],E[E.length-1]],[S[S.length-1],E[0]],[S[0],E[0]]];l(L);var D=1e-8*(S[S.length-1]-S[0]),R=1e-8*(E[E.length-1]-E[0]);c(L,D,R);var F,B,N,j,U=L;"constraint"===C.type&&(U=f(L,P)),function(t,e){var r,n,i,a,o,s,l,c,u;for(r=0;r=0;j--)F=M.clipsegments[j],B=i([],F.x,b.c2p),N=i([],F.y,w.c2p),B.reverse(),N.reverse(),V.push(a(B,N,F.bicubic));var q="M"+V.join("L")+"Z";!function(t,e,r,n,o,l){var c,u,h,f,p=s.ensureSingle(t,"g","contourbg").selectAll("path").data("fill"!==l||o?[]:[0]);p.enter().append("path"),p.exit().remove();var d=[];for(f=0;f=0&&(f=C,d=m):Math.abs(h[1]-f[1])=0&&(f=C,d=m):s.log("endpt to newendpt is not vert. or horz.",h,f,C)}if(d>=0)break;v+=S(h,f),h=f}if(d===e.edgepaths.length){s.log("unclosed perimeter path");break}u=d,(_=-1===x.indexOf(u))&&(u=x[0],v+=S(h,f)+"Z",h=null)}for(u=0;um&&(n.max=m),n.len=n.max-n.min}function g(t,e){var r,n=0,o=.1;return(Math.abs(t[0]-l)0?+p[u]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:v})}}var _=o.extractOpts(e),b=_.reversescale?o.flipScale(_.colorscale):_.colorscale,w=b[0][1],T=["interpolate",["linear"],["heatmap-density"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(u=1;u=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),i}},17347:function(t,e,r){"use strict";var n=r(87163),i=r(3208).rb,a=r(9829),o=r(95833),s=r(93049).extendFlat;t.exports=s({lon:o.lon,lat:o.lat,z:{valType:"data_array",editType:"calc"},radius:{valType:"number",editType:"plot",arrayOk:!0,min:1,dflt:30},below:{valType:"string",editType:"plot"},text:o.text,hovertext:o.hovertext,hoverinfo:s({},a.hoverinfo,{flags:["lon","lat","z","text","name"]}),hovertemplate:i(),showlegend:s({},a.showlegend,{dflt:!1})},n("",{cLetter:"z",editTypeOverride:"calc"}))},60675:function(t,e,r){"use strict";var n=r(10721),i=r(34809).isArrayOrTypedArray,a=r(63821).BADNUM,o=r(28379),s=r(34809)._;t.exports=function(t,e){for(var r=e._length,l=new Array(r),c=e.z,u=i(c)&&c.length,h=0;h0?+p[u]:0),h.push({type:"Feature",geometry:{type:"Point",coordinates:y},properties:v})}}var _=o.extractOpts(e),b=_.reversescale?o.flipScale(_.colorscale):_.colorscale,w=b[0][1],T=["interpolate",["linear"],["heatmap-density"],0,a.opacity(w)<1?w:a.addOpacity(w,0)];for(u=1;u=0;r--)t.removeLayer(e[r][1])},o.dispose=function(){var t=this.subplot.map;this._removeLayers(),t.removeSource(this.sourceId)},t.exports=function(t,e){var r=e[0].trace,i=new a(t,r.uid),o=i.sourceId,s=n(e),l=i.below=t.belowLookup["trace-"+r.uid];return t.map.addSource(o,{type:"geojson",data:s.geojson}),i._addLayers(s,l),i}},43179:function(t,e,r){"use strict";var n=r(34809);t.exports=function(t,e){for(var r=0;r"),l.color=function(t,e){var r=t.marker,i=e.mc||r.color,a=e.mlc||r.line.color,o=e.mlw||r.line.width;return n(i)?i:n(a)&&o?a:void 0}(u,f),[l]}}},52213:function(t,e,r){"use strict";t.exports={attributes:r(62824),layoutAttributes:r(93795),supplyDefaults:r(30495).supplyDefaults,crossTraceDefaults:r(30495).crossTraceDefaults,supplyLayoutDefaults:r(34980),calc:r(28152),crossTraceCalc:r(82539),plot:r(83482),style:r(7240).style,hoverPoints:r(27759),eventData:r(29412),selectPoints:r(88384),moduleType:"trace",name:"funnel",basePlotModule:r(37703),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},93795:function(t){"use strict";t.exports={funnelmode:{valType:"enumerated",values:["stack","group","overlay"],dflt:"stack",editType:"calc"},funnelgap:{valType:"number",min:0,max:1,editType:"calc"},funnelgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},34980:function(t,e,r){"use strict";var n=r(34809),i=r(93795);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s path").each((function(t){if(!t.isBlank){var e=s.marker;n.select(this).call(a.fill,t.mc||e.color).call(a.stroke,t.mlc||e.line.color).call(i.dashLine,e.line.dash,t.mlw||e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(".regions").each((function(){n.select(this).selectAll("path").style("stroke-width",0).call(a.fill,s.connector.fillcolor)})),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},63447:function(t,e,r){"use strict";var n=r(55412),i=r(9829),a=r(13792).u,o=r(3208).rb,s=r(3208).ay,l=r(93049).extendFlat;t.exports={labels:n.labels,label0:n.label0,dlabel:n.dlabel,values:n.values,marker:{colors:n.marker.colors,line:{color:l({},n.marker.line.color,{dflt:null}),width:l({},n.marker.line.width,{dflt:1}),editType:"calc"},pattern:n.marker.pattern,editType:"calc"},text:n.text,hovertext:n.hovertext,scalegroup:l({},n.scalegroup,{}),textinfo:l({},n.textinfo,{flags:["label","text","value","percent"]}),texttemplate:s({editType:"plot"},{keys:["label","color","value","text","percent"]}),hoverinfo:l({},i.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:o({},{keys:["label","color","value","text","percent"]}),textposition:l({},n.textposition,{values:["inside","none"],dflt:"inside"}),textfont:n.textfont,insidetextfont:n.insidetextfont,title:{text:n.title.text,font:n.title.font,position:l({},n.title.position,{values:["top left","top center","top right"],dflt:"top center"}),editType:"plot"},domain:a({name:"funnelarea",trace:!0,editType:"calc"}),aspectratio:{valType:"number",min:0,dflt:1,editType:"plot"},baseratio:{valType:"number",min:0,max:1,dflt:.333,editType:"plot"}}},86817:function(t,e,r){"use strict";var n=r(44122);e.name="funnelarea",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},2807:function(t,e,r){"use strict";var n=r(44148);t.exports={calc:function(t,e){return n.calc(t,e)},crossTraceCalc:function(t){n.crossTraceCalc(t,{type:"funnelarea"})}}},79824:function(t,e,r){"use strict";var n=r(34809),i=r(63447),a=r(13792).N,o=r(17550).handleText,s=r(46979).handleLabelsAndValues,l=r(46979).handleMarkerDefaults;t.exports=function(t,e,r,c){function u(r,a){return n.coerce(t,e,i,r,a)}var h=u("labels"),f=u("values"),p=s(h,f),d=p.len;if(e._hasLabels=p.hasLabels,e._hasValues=p.hasValues,!e._hasLabels&&e._hasValues&&(u("label0"),u("dlabel")),d){e._length=d,l(t,e,c,u),u("scalegroup");var m,g=u("text"),y=u("texttemplate");if(y||(m=u("textinfo",Array.isArray(g)?"text+percent":"percent")),u("hovertext"),u("hovertemplate"),y||m&&"none"!==m){var v=u("textposition");o(t,e,c,u,v,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1})}else"none"===m&&u("textposition","none");a(e,c,u),u("title.text")&&(u("title.position"),n.coerceFont(u,"title.font",c.font)),u("aspectratio"),u("baseratio")}else e.visible=!1}},91132:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"funnelarea",basePlotModule:r(86817),categories:["pie-like","funnelarea","showLegend"],attributes:r(63447),layoutAttributes:r(10270),supplyDefaults:r(79824),supplyLayoutDefaults:r(69161),calc:r(2807).calc,crossTraceCalc:r(2807).crossTraceCalc,plot:r(96673),style:r(13757),styleOne:r(32891),meta:{}}},10270:function(t,e,r){"use strict";var n=r(4031).hiddenlabels;t.exports={hiddenlabels:n,funnelareacolorway:{valType:"colorlist",editType:"calc"},extendfunnelareacolors:{valType:"boolean",dflt:!0,editType:"calc"}}},69161:function(t,e,r){"use strict";var n=r(34809),i=r(10270);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("hiddenlabels"),r("funnelareacolorway",e.colorway),r("extendfunnelareacolors")}},96673:function(t,e,r){"use strict";var n=r(45568),i=r(62203),a=r(34809),o=a.strScale,s=a.strTranslate,l=r(30635),c=r(32995).toMoveInsideBar,u=r(84102),h=u.recordMinTextSize,f=u.clearMinTextSize,p=r(37252),d=r(35734),m=d.attachFxHandlers,g=d.determineInsideTextFont,y=d.layoutAreas,v=d.prerenderTitles,x=d.positionTitleOutside,_=d.formatSliceLabel;function b(t,e){return"l"+(e[0]-t[0])+","+(e[1]-t[1])}t.exports=function(t,e){var r=t._context.staticPlot,u=t._fullLayout;f("funnelarea",u),v(e,t),y(e,u._size),a.makeTraceGroups(u._funnelarealayer,e,"trace").each((function(e){var f=n.select(this),d=e[0],y=d.trace;!function(t){if(t.length){var e=t[0],r=e.trace,n=r.aspectratio,i=r.baseratio;i>.999&&(i=.999);var a,o,s,l=Math.pow(i,2),c=e.vTotal,u=c,h=c*l/(1-l)/c,f=[];for(f.push(E()),o=t.length-1;o>-1;o--)if(!(s=t[o]).hidden){var p=s.v/u;h+=p,f.push(E())}var d=1/0,m=-1/0;for(o=0;o-1;o--)if(!(s=t[o]).hidden){var M=f[A+=1][0],S=f[A][1];s.TL=[-M,S],s.TR=[M,S],s.BL=T,s.BR=k,s.pxmid=(b=s.TR,w=s.BR,[.5*(b[0]+w[0]),.5*(b[1]+w[1])]),T=s.TL,k=s.TR}}function E(){var t,e={x:t=Math.sqrt(h),y:-t};return[e.x,e.y]}}(e),f.each((function(){var f=n.select(this).selectAll("g.slice").data(e);f.enter().append("g").classed("slice",!0),f.exit().remove(),f.each((function(o,s){if(o.hidden)n.select(this).selectAll("path,g").remove();else{o.pointNumber=o.i,o.curveNumber=y.index;var f=d.cx,v=d.cy,x=n.select(this),w=x.selectAll("path.surface").data([o]);w.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),x.call(m,t,e);var T="M"+(f+o.TR[0])+","+(v+o.TR[1])+b(o.TR,o.BR)+b(o.BR,o.BL)+b(o.BL,o.TL)+"Z";w.attr("d",T),_(t,o,d);var k=p.castOption(y.textposition,o.pts),A=x.selectAll("g.slicetext").data(o.text&&"none"!==k?[0]:[]);A.enter().append("g").classed("slicetext",!0),A.exit().remove(),A.each((function(){var r=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),p=a.ensureUniformFontSize(t,g(y,o,u.font));r.text(o.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(i.font,p).call(l.convertToTspans,t);var d,m,x,_=i.bBox(r.node()),b=Math.min(o.BL[1],o.BR[1])+v,w=Math.max(o.TL[1],o.TR[1])+v;m=Math.max(o.TL[0],o.BL[0])+f,x=Math.min(o.TR[0],o.BR[0])+f,(d=c(m,x,b,w,_,{isHorizontal:!0,constrained:!0,angle:0,anchor:"middle"})).fontSize=p.size,h(y.type,d,u),e[s].transform=d,a.setTransormAndDisplay(r,d)}))}}));var v=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);v.enter().append("g").classed("titletext",!0),v.exit().remove(),v.each((function(){var e=a.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),r=y.title.text;y._meta&&(r=a.templateString(r,y._meta)),e.text(r).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(i.font,y.title.font).call(l.convertToTspans,t);var c=x(d,u._size);e.attr("transform",s(c.x,c.y)+o(Math.min(1,c.scale))+s(c.tx,c.ty))}))}))}))}},13757:function(t,e,r){"use strict";var n=r(45568),i=r(32891),a=r(84102).resizeText;t.exports=function(t){var e=t._fullLayout._funnelarealayer.selectAll(".trace");a(t,e,"funnelarea"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},81658:function(t,e,r){"use strict";var n=r(36640),i=r(9829),a=r(80337),o=r(80712).axisHoverFormat,s=r(3208).rb,l=r(3208).ay,c=r(87163),u=r(93049).extendFlat;t.exports=u({z:{valType:"data_array",editType:"calc"},x:u({},n.x,{impliedEdits:{xtype:"array"}}),x0:u({},n.x0,{impliedEdits:{xtype:"scaled"}}),dx:u({},n.dx,{impliedEdits:{xtype:"scaled"}}),y:u({},n.y,{impliedEdits:{ytype:"array"}}),y0:u({},n.y0,{impliedEdits:{ytype:"scaled"}}),dy:u({},n.dy,{impliedEdits:{ytype:"scaled"}}),xperiod:u({},n.xperiod,{impliedEdits:{xtype:"scaled"}}),yperiod:u({},n.yperiod,{impliedEdits:{ytype:"scaled"}}),xperiod0:u({},n.xperiod0,{impliedEdits:{xtype:"scaled"}}),yperiod0:u({},n.yperiod0,{impliedEdits:{ytype:"scaled"}}),xperiodalignment:u({},n.xperiodalignment,{impliedEdits:{xtype:"scaled"}}),yperiodalignment:u({},n.yperiodalignment,{impliedEdits:{ytype:"scaled"}}),text:{valType:"data_array",editType:"calc"},hovertext:{valType:"data_array",editType:"calc"},transpose:{valType:"boolean",dflt:!1,editType:"calc"},xtype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},ytype:{valType:"enumerated",values:["array","scaled"],editType:"calc+clearAxisTypes"},zsmooth:{valType:"enumerated",values:["fast","best",!1],dflt:!1,editType:"calc"},hoverongaps:{valType:"boolean",dflt:!0,editType:"none"},connectgaps:{valType:"boolean",editType:"calc"},xgap:{valType:"number",dflt:0,min:0,editType:"plot"},ygap:{valType:"number",dflt:0,min:0,editType:"plot"},xhoverformat:o("x"),yhoverformat:o("y"),zhoverformat:o("z",1),hovertemplate:s(),texttemplate:l({arrayOk:!1,editType:"plot"},{keys:["x","y","z","text"]}),textfont:a({editType:"plot",autoSize:!0,autoColor:!0,colorEditType:"style"}),showlegend:u({},i.showlegend,{dflt:!1}),zorder:n.zorder},{transforms:void 0},c("",{cLetter:"z",autoColorDflt:!1}))},51670:function(t,e,r){"use strict";var n=r(33626),i=r(34809),a=r(29714),o=r(40528),s=r(19226),l=r(28379),c=r(87869),u=r(93877),h=r(69295),f=r(78106),p=r(80924),d=r(63821).BADNUM;function m(t){for(var e=[],r=t.length,n=0;n1){var e=(t[t.length-1]-t[0])/(t.length-1),r=Math.abs(e/100);for(k=0;kr)return!1}return!0}(M.rangebreaks||S.rangebreaks)&&(T=function(t,e,r){for(var n=[],i=-1,a=0;a=0;o--)(s=((h[[(r=(a=f[o])[0])-1,i=a[1]]]||m)[2]+(h[[r+1,i]]||m)[2]+(h[[r,i-1]]||m)[2]+(h[[r,i+1]]||m)[2])/20)&&(l[a]=[r,i,s],f.splice(o,1),c=!0);if(!c)throw"findEmpties iterated with no new neighbors";for(a in l)h[a]=l[a],u.push(l[a])}return u.sort((function(t,e){return e[2]-t[2]}))}},93125:function(t,e,r){"use strict";var n=r(32141),i=r(34809),a=i.isArrayOrTypedArray,o=r(29714),s=r(88856).extractOpts;t.exports=function(t,e,r,l,c){c||(c={});var u,h,f,p,d=c.isContour,m=t.cd[0],g=m.trace,y=t.xa,v=t.ya,x=m.x,_=m.y,b=m.z,w=m.xCenter,T=m.yCenter,k=m.zmask,A=g.zhoverformat,M=x,S=_;if(!1!==t.index){try{f=Math.round(t.index[1]),p=Math.round(t.index[0])}catch(e){return void i.error("Error hovering on heatmap, pointNumber must be [row,col], found:",t.index)}if(f<0||f>=b[0].length||p<0||p>b.length)return}else{if(n.inbox(e-x[0],e-x[x.length-1],0)>0||n.inbox(r-_[0],r-_[_.length-1],0)>0)return;if(d){var E;for(M=[2*x[0]-x[1]],E=1;Em&&(y=Math.max(y,Math.abs(t[a][o]-d)/(g-m))))}return y}t.exports=function(t,e){var r,i=1;for(o(t,e),r=0;r.01;r++)i=o(t,e,a(i));return i>.01&&n.log("interp2d didn't converge quickly",i),t}},63814:function(t,e,r){"use strict";var n=r(34809);t.exports=function(t,e){t("texttemplate");var r=n.extendFlat({},e.font,{color:"auto",size:"auto"});n.coerceFont(t,"textfont",r)}},80924:function(t,e,r){"use strict";var n=r(33626),i=r(34809).isArrayOrTypedArray;t.exports=function(t,e,r,a,o,s){var l,c,u,h=[],f=n.traceIs(t,"contour"),p=n.traceIs(t,"histogram"),d=n.traceIs(t,"gl2d");if(i(e)&&e.length>1&&!p&&"category"!==s.type){var m=e.length;if(!(m<=o))return f?e.slice(0,o):e.slice(0,o+1);if(f||d)h=Array.from(e).slice(0,o);else if(1===o)h="log"===s.type?[.5*e[0],2*e[0]]:[e[0]-.5,e[0]+.5];else if("log"===s.type){for(h=[Math.pow(e[0],1.5)/Math.pow(e[1],.5)],u=1;u0;)k=A.c2p(N[L]),L--;for(k0;)C=M.c2p(j[L]),L--;C=A._length||k<=0||E>=M._length||C<=0)return z.selectAll("image").data([]).exit().remove(),void _(z);"fast"===X?(J=Z,K=G):(J=Q,K=tt);var et=document.createElement("canvas");et.width=J,et.height=K;var rt,nt,it=et.getContext("2d",{willReadFrequently:!0}),at=p(D,{noNumericCheck:!0,returnArray:!0});"fast"===X?(rt=W?function(t){return Z-1-t}:l.identity,nt=Y?function(t){return G-1-t}:l.identity):(rt=function(t){return l.constrain(Math.round(A.c2p(N[t])-r),0,Q)},nt=function(t){return l.constrain(Math.round(M.c2p(j[t])-E),0,tt)});var ot,st,lt,ct,ut=nt(0),ht=[ut,ut],ft=W?0:1,pt=Y?0:1,dt=0,mt=0,gt=0,yt=0;function vt(t,e){if(void 0!==t){var r=at(t);return r[0]=Math.round(r[0]),r[1]=Math.round(r[1]),r[2]=Math.round(r[2]),dt+=e,mt+=r[0]*e,gt+=r[1]*e,yt+=r[2]*e,r}return[0,0,0,0]}function xt(t,e,r,n){var i=t[r.bin0];if(void 0===i)return vt(void 0,1);var a,o=t[r.bin1],s=e[r.bin0],l=e[r.bin1],c=o-i||0,u=s-i||0;return a=void 0===o?void 0===l?0:void 0===s?2*(l-i):2*(2*l-s-i)/3:void 0===l?void 0===s?0:2*(2*i-o-s)/3:void 0===s?2*(2*l-o-i)/3:l+i-o-s,vt(i+r.frac*c+n.frac*(u+r.frac*a))}if("default"!==X){var _t,bt=0;try{_t=new Uint8Array(J*K*4)}catch(t){_t=new Array(J*K*4)}if("smooth"===X){var wt,Tt,kt,At=U||N,Mt=V||j,St=new Array(At.length),Et=new Array(Mt.length),Ct=new Array(Q),Lt=U?w:b,It=V?w:b;for(L=0;LXt||Xt>M._length))for(I=Gt;IJt||Jt>A._length)){var Kt=u({x:$t,y:Yt},D,t._fullLayout);Kt.x=$t,Kt.y=Yt;var Qt=O.z[L][I];void 0===Qt?(Kt.z="",Kt.zLabel=""):(Kt.z=Qt,Kt.zLabel=s.tickText(Ut,Qt,"hover").text);var te=O.text&&O.text[L]&&O.text[L][I];void 0!==te&&!1!==te||(te=""),Kt.text=te;var ee=l.texttemplateString(Nt,Kt,t._fullLayout._d3locale,Kt,D._meta||{});if(ee){var re=ee.split("
"),ne=re.length,ie=0;for(P=0;P0&&(a=!0);for(var l=0;la){var o=a-r[t];return r[t]=a,o}}return 0},max:function(t,e,r,i){var a=i[e];if(n(a)){if(a=Number(a),!n(r[t]))return r[t]=a,a;if(r[t]c?t>o?t>1.1*i?i:t>1.1*a?a:o:t>s?s:t>l?l:c:Math.pow(10,Math.floor(Math.log(t)/Math.LN10))}function p(t,e,r,n,a,s){if(n&&t>o){var l=d(e,a,s),c=d(r,a,s),u=t===i?0:1;return l[u]!==c[u]}return Math.floor(r/t)-Math.floor(e/t)>.1}function d(t,e,r){var n=e.c2d(t,i,r).split("-");return""===n[0]&&(n.unshift(),n[0]="-"+n[0]),n}t.exports=function(t,e,r,n,a){var s,l,c=-1.1*e,f=-.1*e,p=t-f,d=r[0],m=r[1],g=Math.min(h(d+f,d+p,n,a),h(m+f,m+p,n,a)),y=Math.min(h(d+c,d+f,n,a),h(m+c,m+f,n,a));if(g>y&&yo){var v=s===i?1:6,x=s===i?"M12":"M1";return function(e,r){var o=n.c2d(e,i,a),s=o.indexOf("-",v);s>0&&(o=o.substr(0,s));var c=n.d2c(o,0,a);if(cr.r2l(B)&&(j=o.tickIncrement(j,_.size,!0,p)),O.start=r.l2r(j),F||i.nestedProperty(e,y+".start").set(O.start)}var U=_.end,V=r.r2l(z.end),q=void 0!==V;if((_.endFound||q)&&V!==r.r2l(U)){var H=q?V:i.aggNums(Math.max,null,d);O.end=r.l2r(H),q||i.nestedProperty(e,y+".start").set(O.end)}var G="autobin"+s;return!1===e._input[G]&&(e._input[y]=i.extendFlat({},e[y]||{}),delete e._input[G],delete e[G]),[O,d]}t.exports={calc:function(t,e){var r,a,p,d,m=[],g=[],y="h"===e.orientation,v=o.getFromId(t,y?e.yaxis:e.xaxis),x=y?"y":"x",_={x:"y",y:"x"}[x],b=e[x+"calendar"],w=e.cumulative,T=f(t,e,v,x),k=T[0],A=T[1],M="string"==typeof k.size,S=[],E=M?S:k,C=[],L=[],I=[],P=0,z=e.histnorm,O=e.histfunc,D=-1!==z.indexOf("density");w.enabled&&D&&(z=z.replace(/ ?density$/,""),D=!1);var R,F="max"===O||"min"===O?null:0,B=l.count,N=c[z],j=!1,U=function(t){return v.r2c(t,0,b)};for(i.isArrayOrTypedArray(e[_])&&"count"!==O&&(R=e[_],j="avg"===O,B=l[O]),r=U(k.start),p=U(k.end)+(r-o.tickIncrement(r,k.size,!1,b))/1e6;r=0&&d=0;n--)s(n);else if("increasing"===e){for(n=1;n=0;n--)t[n]+=t[n+1];"exclude"===r&&(t.push(0),t.shift())}}(g,w.direction,w.currentbin);var J=Math.min(m.length,g.length),K=[],Q=0,tt=J-1;for(r=0;r=Q;r--)if(g[r]){tt=r;break}for(r=Q;r<=tt;r++)if(n(m[r])&&n(g[r])){var et={p:m[r],s:g[r],b:0};w.enabled||(et.pts=I[r],Z?et.ph0=et.ph1=I[r].length?A[I[r][0]]:m[r]:(e._computePh=!0,et.ph0=H(S[r]),et.ph1=H(S[r+1],!0))),K.push(et)}return 1===K.length&&(K[0].width1=o.tickIncrement(K[0].p,k.size,!1,b)-K[0].p),s(K,e),i.isArrayOrTypedArray(e.selectedpoints)&&i.tagSelected(K,e,X),K},calcAllAutoBins:f}},39732:function(t){"use strict";t.exports={eventDataKeys:["binNumber"]}},83380:function(t,e,r){"use strict";var n=r(34809),i=r(5975),a=r(33626).traceIs,o=r(36301),s=r(17550).validateCornerradius,l=n.nestedProperty,c=r(84391).getAxisGroup,u=[{aStr:{x:"xbins.start",y:"ybins.start"},name:"start"},{aStr:{x:"xbins.end",y:"ybins.end"},name:"end"},{aStr:{x:"xbins.size",y:"ybins.size"},name:"size"},{aStr:{x:"nbinsx",y:"nbinsy"},name:"nbins"}],h=["x","y"];t.exports=function(t,e){var r,f,p,d,m,g,y,v=e._histogramBinOpts={},x=[],_={},b=[];function w(t,e){return n.coerce(r._input,r,r._module.attributes,t,e)}function T(t){return"v"===t.orientation?"x":"y"}function k(t,r,a){var o=t.uid+"__"+a;r||(r=o);var s=function(t,r){return i.getFromTrace({_fullLayout:e},t,r).type}(t,a),l=t[a+"calendar"]||"",c=v[r],u=!0;c&&(s===c.axType&&l===c.calendar?(u=!1,c.traces.push(t),c.dirs.push(a)):(r=o,s!==c.axType&&n.warn(["Attempted to group the bins of trace",t.index,"set on a","type:"+s,"axis","with bins on","type:"+c.axType,"axis."].join(" ")),l!==c.calendar&&n.warn(["Attempted to group the bins of trace",t.index,"set with a",l,"calendar","with bins",c.calendar?"on a "+c.calendar+" calendar":"w/o a set calendar"].join(" ")))),u&&(v[r]={traces:[t],dirs:[a],axType:s,calendar:t[a+"calendar"]||""}),t["_"+a+"bingroup"]=r}for(m=0;mS&&T.splice(S,T.length-S),M.length>S&&M.splice(S,M.length-S);var E=[],C=[],L=[],I="string"==typeof w.size,P="string"==typeof A.size,z=[],O=[],D=I?z:w,R=P?O:A,F=0,B=[],N=[],j=e.histnorm,U=e.histfunc,V=-1!==j.indexOf("density"),q="max"===U||"min"===U?null:0,H=a.count,G=o[j],Z=!1,W=[],Y=[],X="z"in e?e.z:"marker"in e&&Array.isArray(e.marker.color)?e.marker.color:"";X&&"count"!==U&&(Z="avg"===U,H=a[U]);var $=w.size,J=x(w.start),K=x(w.end)+(J-i.tickIncrement(J,$,!1,y))/1e6;for(r=J;r=0&&p=0&&d-1,flipY:L.tiling.flip.indexOf("y")>-1,orientation:L.tiling.orientation,pad:{inner:L.tiling.pad},maxDepth:L._maxDepth}).descendants(),D=1/0,R=-1/0;O.forEach((function(t){var e=t.depth;e>=L._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(D=Math.min(D,e),R=Math.max(R,e))})),d=d.data(O,u.getPtId),L._maxVisibleLayers=isFinite(R)?R-D+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],_),d.order();var F=null;if(T&&S){var B=u.getPtId(S);d.each((function(t){null===F&&u.getPtId(t)===B&&(F={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var N=function(){return F||{x0:0,x1:g,y0:0,y1:y}},j=d;return T&&(j=j.transition().each("end",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),j.each((function(s){s._x0=v(s.x0),s._x1=v(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=v(s.x1-L.tiling.pad),s._hoverY=x(z?s.y1-L.tiling.pad/2:s.y0+L.tiling.pad/2);var d=n.select(this),m=i.ensureSingle(d,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?m.transition().attrTween("d",(function(t){var e=A(t,p,N(),[g,y],{orientation:L.tiling.orientation,flipX:L.tiling.flip.indexOf("x")>-1,flipY:L.tiling.flip.indexOf("y")>-1});return function(t){return _(e(t))}})):m.attr("d",_),d.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),m.call(l,s,L,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=f(s,r,L,e,C)||"";var k=i.ensureSingle(d,"g","slicetext"),S=i.ensureSingle(k,"text","",(function(t){t.attr("data-notex",1)})),O=i.ensureUniformFontSize(t,u.determineTextFont(L,s,C.font));S.text(s._text||" ").classed("slicetext",!0).attr("text-anchor",P?"end":I?"start":"middle").call(a.font,O).call(o.convertToTspans,t),s.textBB=a.bBox(S.node()),s.transform=b(s,{fontSize:O.size}),s.transform.fontSize=O.size,T?S.transition().attrTween("transform",(function(t){var e=M(t,p,N(),[g,y]);return function(t){return w(e(t))}})):S.attr("transform",w(s))})),F}},36858:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"icicle",basePlotModule:r(63387),categories:[],animatable:!0,attributes:r(12505),layoutAttributes:r(60052),supplyDefaults:r(17918),supplyLayoutDefaults:r(11747),calc:r(36349)._,crossTraceCalc:r(36349).t,plot:r(1395),style:r(50579).style,colorbar:r(21146),meta:{}}},60052:function(t){"use strict";t.exports={iciclecolorway:{valType:"colorlist",editType:"calc"},extendiciclecolors:{valType:"boolean",dflt:!0,editType:"calc"}}},11747:function(t,e,r){"use strict";var n=r(34809),i=r(60052);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("iciclecolorway",e.colorway),r("extendiciclecolors")}},29316:function(t,e,r){"use strict";var n=r(92264),i=r(36141);t.exports=function(t,e,r){var a=r.flipX,o=r.flipY,s="h"===r.orientation,l=r.maxDepth,c=e[0],u=e[1];l&&(c=(t.height+1)*e[0]/Math.min(t.height+1,l),u=(t.height+1)*e[1]/Math.min(t.height+1,l));var h=n.partition().padding(r.pad.inner).size(s?[e[1],c]:[e[0],u])(t);return(s||a||o)&&i(h,e,{swapXY:s,flipX:a,flipY:o}),h}},1395:function(t,e,r){"use strict";var n=r(41567),i=r(23593);t.exports=function(t,e,r,a){return n(t,e,r,a,{type:"icicle",drawDescendants:i})}},50579:function(t,e,r){"use strict";var n=r(45568),i=r(78766),a=r(34809),o=r(84102).resizeText,s=r(72043);function l(t,e,r,n){var o=e.data.data,l=!e.children,c=o.i,u=a.castOption(r,c,"marker.line.color")||i.defaultLine,h=a.castOption(r,c,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",h).call(i.stroke,u).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._iciclelayer.selectAll(".trace");o(t,e,"icicle"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},22153:function(t,e,r){"use strict";for(var n=r(9829),i=r(36640).zorder,a=r(3208).rb,o=r(93049).extendFlat,s=r(42939).colormodel,l=["rgb","rgba","rgba256","hsl","hsla"],c=[],u=[],h=0;h0||n.inbox(r-s.y0,r-(s.y0+s.h*l.dy),0)>0)){var h,f=Math.floor((e-s.x0)/l.dx),p=Math.floor(Math.abs(r-s.y0)/l.dy);if(l._hasZ?h=s.z[p][f]:l._hasSource&&(h=l._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(f,p,1,1).data),h){var d,m=s.hi||l.hoverinfo;if(m){var g=m.split("+");-1!==g.indexOf("all")&&(g=["color"]),-1!==g.indexOf("color")&&(d=!0)}var y,v=o.colormodel[l.colormodel],x=v.colormodel||l.colormodel,_=x.length,b=l._scaler(h),w=v.suffix,T=[];(l.hovertemplate||d)&&(T.push("["+[b[0]+w[0],b[1]+w[1],b[2]+w[2]].join(", ")),4===_&&T.push(", "+b[3]+w[3]),T.push("]"),T=T.join(""),t.extraText=x.toUpperCase()+": "+T),a(l.hovertext)&&a(l.hovertext[p])?y=l.hovertext[p][f]:a(l.text)&&a(l.text[p])&&(y=l.text[p][f]);var k=u.c2p(s.y0+(p+.5)*l.dy),A=s.x0+(f+.5)*l.dx,M=s.y0+(p+.5)*l.dy,S="["+h.slice(0,l.colormodel.length).join(", ")+"]";return[i.extendFlat(t,{index:[p,f],x0:c.c2p(s.x0+f*l.dx),x1:c.c2p(s.x0+(f+1)*l.dx),y0:k,y1:k,color:b,xVal:A,xLabelVal:A,yVal:M,yLabelVal:M,zLabelVal:S,text:y,hovertemplateLabels:{zLabel:S,colorLabel:T,"color[0]Label":b[0]+w[0],"color[1]Label":b[1]+w[1],"color[2]Label":b[2]+w[2],"color[3]Label":b[3]+w[3]}})]}}}},92106:function(t,e,r){"use strict";t.exports={attributes:r(22153),supplyDefaults:r(82766),calc:r(31181),plot:r(36899),style:r(67555),hoverPoints:r(57328),eventData:r(45461),moduleType:"trace",name:"image",basePlotModule:r(37703),categories:["cartesian","svg","2dMap","noSortingByValue"],animatable:!1,meta:{}}},36899:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=i.strTranslate,o=r(62972),s=r(42939),l=r(95544),c=r(1837).STYLE;t.exports=function(t,e,r,u){var h=e.xaxis,f=e.yaxis,p=!t._context._exportedPlot&&l();i.makeTraceGroups(u,r,"im").each((function(e){var r=n.select(this),l=e[0],u=l.trace,d=("fast"===u.zsmooth||!1===u.zsmooth&&p)&&!u._hasZ&&u._hasSource&&"linear"===h.type&&"linear"===f.type;u._realImage=d;var m,g,y,v,x,_,b=l.z,w=l.x0,T=l.y0,k=l.w,A=l.h,M=u.dx,S=u.dy;for(_=0;void 0===m&&_0;)g=h.c2p(w+_*M),_--;for(_=0;void 0===v&&_0;)x=f.c2p(T+_*S),_--;gz[0];if(O||D){var R=m+E/2,F=v+C/2;I+="transform:"+a(R+"px",F+"px")+"scale("+(O?-1:1)+","+(D?-1:1)+")"+a(-R+"px",-F+"px")+";"}}L.attr("style",I);var B=new Promise((function(t){if(u._hasZ)t();else if(u._hasSource)if(u._canvas&&u._canvas.el.width===k&&u._canvas.el.height===A&&u._canvas.source===u.source)t();else{var e=document.createElement("canvas");e.width=k,e.height=A;var r=e.getContext("2d",{willReadFrequently:!0});u._image=u._image||new Image;var n=u._image;n.onload=function(){r.drawImage(n,0,0),u._canvas={el:e,source:u.source},t()},n.setAttribute("src",u.source)}})).then((function(){var t,e;if(u._hasZ)e=N((function(t,e){var r=b[e][t];return i.isTypedArray(r)&&(r=Array.from(r)),r})),t=e.toDataURL("image/png");else if(u._hasSource)if(d)t=u.source;else{var r=u._canvas.el.getContext("2d",{willReadFrequently:!0}).getImageData(0,0,k,A).data;e=N((function(t,e){var n=4*(e*k+t);return[r[n],r[n+1],r[n+2],r[n+3]]})),t=e.toDataURL("image/png")}L.attr({"xlink:href":t,height:C,width:E,x:m,y:v})}));t._promises.push(B)}function N(t){var e=document.createElement("canvas");e.width=E,e.height=C;var r,n=e.getContext("2d",{willReadFrequently:!0}),a=function(t){return i.constrain(Math.round(h.c2p(w+t*M)-m),0,E)},o=function(t){return i.constrain(Math.round(f.c2p(T+t*S)-v),0,C)},c=s.colormodel[u.colormodel],p=c.colormodel||u.colormodel,d=c.fmt;for(_=0;_0}function T(t){t.each((function(t){v.stroke(n.select(this),t.line.color)})).each((function(t){v.fill(n.select(this),t.color)})).style("stroke-width",(function(t){return t.line.width}))}function k(t,e,r){var n=t._fullLayout,i=o.extendFlat({type:"linear",ticks:"outside",range:r,showline:!0},e),a={type:"linear",_id:"x"+e._id},s={letter:"x",font:n.font,noAutotickangles:!0,noHover:!0,noTickson:!0};function l(t,e){return o.coerce(i,a,y,t,e)}return m(i,a,l,s,n),g(i,a,l,s),a}function A(t,e,r){return[Math.min(e/t.width,r/t.height),t,e+"x"+r]}function M(t,e,r,i){var a=document.createElementNS("http://www.w3.org/2000/svg","text"),o=n.select(a);return o.text(t).attr("x",0).attr("y",0).attr("text-anchor",r).attr("data-unformatted",t).call(p.convertToTspans,i).call(h.font,e),h.bBox(o.node())}function S(t,e,r,n,i,a){var s="_cache"+e;t[s]&&t[s].key===i||(t[s]={key:i,value:r});var l=o.aggNums(a,null,[t[s].value,n],2);return t[s].value=l,l}t.exports=function(t,e,r,m){var g,y=t._fullLayout;w(r)&&m&&(g=m()),o.makeTraceGroups(y._indicatorlayer,e,"trace").each((function(e){var m,E,C,L,I,P=e[0].trace,z=n.select(this),O=P._hasGauge,D=P._isAngular,R=P._isBullet,F=P.domain,B={w:y._size.w*(F.x[1]-F.x[0]),h:y._size.h*(F.y[1]-F.y[0]),l:y._size.l+y._size.w*F.x[0],r:y._size.r+y._size.w*(1-F.x[1]),t:y._size.t+y._size.h*(1-F.y[1]),b:y._size.b+y._size.h*F.y[0]},N=B.l+B.w/2,j=B.t+B.h/2,U=Math.min(B.w/2,B.h),V=f.innerRadius*U,q=P.align||"center";if(E=j,O){if(D&&(m=N,E=j+U/2,C=function(t){return function(t,e){return[e/Math.sqrt(t.width/2*(t.width/2)+t.height*t.height),t,e]}(t,.9*V)}),R){var H=f.bulletPadding,G=1-f.bulletNumberDomainSize+H;m=B.l+(G+(1-G)*_[q])*B.w,C=function(t){return A(t,(f.bulletNumberDomainSize-H)*B.w,B.h)}}}else m=B.l+_[q]*B.w,C=function(t){return A(t,B.w,B.h)};!function(t,e,r,i){var c,u,f,m=r[0].trace,g=i.numbersX,y=i.numbersY,T=m.align||"center",A=x[T],E=i.transitionOpts,C=i.onComplete,L=o.ensureSingle(e,"g","numbers"),I=[];m._hasNumber&&I.push("number"),m._hasDelta&&(I.push("delta"),"left"===m.delta.position&&I.reverse());var P=L.selectAll("text").data(I);function z(e,r,n,i){if(!e.match("s")||n>=0==i>=0||r(n).slice(-1).match(b)||r(i).slice(-1).match(b))return r;var a=e.slice().replace("s","f").replace(/\d+/,(function(t){return parseInt(t)-1})),o=k(t,{tickformat:a});return function(t){return Math.abs(t)<1?d.tickText(o,t).text:r(t)}}P.enter().append("text"),P.attr("text-anchor",(function(){return A})).attr("class",(function(t){return t})).attr("x",null).attr("y",null).attr("dx",null).attr("dy",null),P.exit().remove();var O,D=m.mode+m.align;if(m._hasDelta&&(O=function(){var e=k(t,{tickformat:m.delta.valueformat},m._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=m.delta.suffix,s=m.delta.prefix,l=function(t){return m.delta.relative?t.relativeDelta:t.delta},c=function(t,e){return 0===t||"number"!=typeof t||isNaN(t)?"-":(t>0?m.delta.increasing.symbol:m.delta.decreasing.symbol)+s+e(t)+o},f=function(t){return t.delta>=0?m.delta.increasing.color:m.delta.decreasing.color};void 0===m._deltaLastValue&&(m._deltaLastValue=l(r[0]));var g=L.select("text.delta");function y(){g.text(c(l(r[0]),i)).call(v.fill,f(r[0])).call(p.convertToTspans,t)}return g.call(h.font,m.delta.font).call(v.fill,f({delta:m._deltaLastValue})),w(E)?g.transition().duration(E.duration).ease(E.easing).tween("text",(function(){var t=n.select(this),e=l(r[0]),o=m._deltaLastValue,s=z(m.delta.valueformat,i,o,e),u=a(o,e);return m._deltaLastValue=e,function(e){t.text(c(u(e),s)),t.call(v.fill,f({delta:u(e)}))}})).each("end",(function(){y(),C&&C()})).each("interrupt",(function(){y(),C&&C()})):y(),u=M(c(l(r[0]),i),m.delta.font,A,t),g}(),D+=m.delta.position+m.delta.font.size+m.delta.font.family+m.delta.valueformat,D+=m.delta.increasing.symbol+m.delta.decreasing.symbol,f=u),m._hasNumber&&(function(){var e=k(t,{tickformat:m.number.valueformat},m._range);e.setScale(),d.prepTicks(e);var i=function(t){return d.tickText(e,t).text},o=m.number.suffix,s=m.number.prefix,l=L.select("text.number");function u(){var e="number"==typeof r[0].y?s+i(r[0].y)+o:"-";l.text(e).call(h.font,m.number.font).call(p.convertToTspans,t)}w(E)?l.transition().duration(E.duration).ease(E.easing).each("end",(function(){u(),C&&C()})).each("interrupt",(function(){u(),C&&C()})).attrTween("text",(function(){var t=n.select(this),e=a(r[0].lastY,r[0].y);m._lastValue=r[0].y;var l=z(m.number.valueformat,i,r[0].lastY,r[0].y);return function(r){t.text(s+l(e(r))+o)}})):u(),c=M(s+i(r[0].y)+o,m.number.font,A,t)}(),D+=m.number.font.size+m.number.font.family+m.number.valueformat+m.number.suffix+m.number.prefix,f=c),m._hasDelta&&m._hasNumber){var R,F,B=[(c.left+c.right)/2,(c.top+c.bottom)/2],N=[(u.left+u.right)/2,(u.top+u.bottom)/2],j=.75*m.delta.font.size;"left"===m.delta.position&&(R=S(m,"deltaPos",0,-1*(c.width*_[m.align]+u.width*(1-_[m.align])+j),D,Math.min),F=B[1]-N[1],f={width:c.width+u.width+j,height:Math.max(c.height,u.height),left:u.left+R,right:c.right,top:Math.min(c.top,u.top+F),bottom:Math.max(c.bottom,u.bottom+F)}),"right"===m.delta.position&&(R=S(m,"deltaPos",0,c.width*(1-_[m.align])+u.width*_[m.align]+j,D,Math.max),F=B[1]-N[1],f={width:c.width+u.width+j,height:Math.max(c.height,u.height),left:c.left,right:u.right+R,top:Math.min(c.top,u.top+F),bottom:Math.max(c.bottom,u.bottom+F)}),"bottom"===m.delta.position&&(R=null,F=u.height,f={width:Math.max(c.width,u.width),height:c.height+u.height,left:Math.min(c.left,u.left),right:Math.max(c.right,u.right),top:c.bottom-c.height,bottom:c.bottom+u.height}),"top"===m.delta.position&&(R=null,F=c.top,f={width:Math.max(c.width,u.width),height:c.height+u.height,left:Math.min(c.left,u.left),right:Math.max(c.right,u.right),top:c.bottom-c.height-u.height,bottom:c.bottom}),O.attr({dx:R,dy:F})}(m._hasNumber||m._hasDelta)&&L.attr("transform",(function(){var t=i.numbersScaler(f);D+=t[2];var e,r=S(m,"numbersScale",1,t[0],D,Math.min);m._scaleNumbers||(r=1),e=m._isAngular?y-r*f.bottom:y-r*(f.top+f.bottom)/2,m._numbersTop=r*f.top+e;var n=f[T];"center"===T&&(n=(f.left+f.right)/2);var a=g-r*n;return a=S(m,"numbersTranslate",0,a,D,Math.max),l(a,e)+s(r)}))}(t,z,e,{numbersX:m,numbersY:E,numbersScaler:C,transitionOpts:r,onComplete:g}),O&&(L={range:P.gauge.axis.range,color:P.gauge.bgcolor,line:{color:P.gauge.bordercolor,width:0},thickness:1},I={range:P.gauge.axis.range,color:"rgba(0, 0, 0, 0)",line:{color:P.gauge.bordercolor,width:P.gauge.borderwidth},thickness:1});var Z=z.selectAll("g.angular").data(D?e:[]);Z.exit().remove();var W=z.selectAll("g.angularaxis").data(D?e:[]);W.exit().remove(),D&&function(t,e,r,a){var o,s,h,f,p=r[0].trace,m=a.size,g=a.radius,y=a.innerRadius,v=a.gaugeBg,x=a.gaugeOutline,_=[m.l+m.w/2,m.t+m.h/2+g/2],b=a.gauge,A=a.layer,M=a.transitionOpts,S=a.onComplete,E=Math.PI/2;function C(t){var e=p.gauge.axis.range[0],r=(t-e)/(p.gauge.axis.range[1]-e)*Math.PI-E;return r<-E?-E:r>E?E:r}function L(t){return n.svg.arc().innerRadius((y+g)/2-t/2*(g-y)).outerRadius((y+g)/2+t/2*(g-y)).startAngle(-E)}function I(t){t.attr("d",(function(t){return L(t.thickness).startAngle(C(t.range[0])).endAngle(C(t.range[1]))()}))}b.enter().append("g").classed("angular",!0),b.attr("transform",l(_[0],_[1])),A.enter().append("g").classed("angularaxis",!0).classed("crisp",!0),A.selectAll("g.xangularaxistick,path,text").remove(),(o=k(t,p.gauge.axis)).type="linear",o.range=p.gauge.axis.range,o._id="xangularaxis",o.ticklabeloverflow="allow",o.setScale();var P=function(t){return(o.range[0]-t.x)/(o.range[1]-o.range[0])*Math.PI+Math.PI},z={},O=d.makeLabelFns(o,0).labelStandoff;z.xFn=function(t){var e=P(t);return Math.cos(e)*O},z.yFn=function(t){var e=P(t),r=Math.sin(e)>0?.2:1;return-Math.sin(e)*(O+t.fontSize*r)+Math.abs(Math.cos(e))*(t.fontSize*u)},z.anchorFn=function(t){var e=P(t),r=Math.cos(e);return Math.abs(r)<.1?"middle":r>0?"start":"end"},z.heightFn=function(t,e,r){var n=P(t);return-.5*(1+Math.sin(n))*r};var D=function(t){return l(_[0]+g*Math.cos(t),_[1]-g*Math.sin(t))};h=function(t){return D(P(t))};if(s=d.calcTicks(o),f=d.getTickSigns(o)[2],o.visible){f="inside"===o.ticks?-1:1;var R=(o.linewidth||1)/2;d.drawTicks(t,o,{vals:s,layer:A,path:"M"+f*R+",0h"+f*o.ticklen,transFn:function(t){var e=P(t);return D(e)+"rotate("+-c(e)+")"}}),d.drawLabels(t,o,{vals:s,layer:A,transFn:h,labelFns:z})}var F=[v].concat(p.gauge.steps),B=b.selectAll("g.bg-arc").data(F);B.enter().append("g").classed("bg-arc",!0).append("path"),B.select("path").call(I).call(T),B.exit().remove();var N=L(p.gauge.bar.thickness),j=b.selectAll("g.value-arc").data([p.gauge.bar]);j.enter().append("g").classed("value-arc",!0).append("path");var U,V,q,H=j.select("path");w(M)?(H.transition().duration(M.duration).ease(M.easing).each("end",(function(){S&&S()})).each("interrupt",(function(){S&&S()})).attrTween("d",(U=N,V=C(r[0].lastY),q=C(r[0].y),function(){var t=i(V,q);return function(e){return U.endAngle(t(e))()}})),p._lastValue=r[0].y):H.attr("d","number"==typeof r[0].y?N.endAngle(C(r[0].y)):"M0,0Z"),H.call(T),j.exit().remove(),F=[];var G=p.gauge.threshold.value;(G||0===G)&&F.push({range:[G,G],color:p.gauge.threshold.color,line:{color:p.gauge.threshold.line.color,width:p.gauge.threshold.line.width},thickness:p.gauge.threshold.thickness});var Z=b.selectAll("g.threshold-arc").data(F);Z.enter().append("g").classed("threshold-arc",!0).append("path"),Z.select("path").call(I).call(T),Z.exit().remove();var W=b.selectAll("g.gauge-outline").data([x]);W.enter().append("g").classed("gauge-outline",!0).append("path"),W.select("path").call(I).call(T),W.exit().remove()}(t,0,e,{radius:U,innerRadius:V,gauge:Z,layer:W,size:B,gaugeBg:L,gaugeOutline:I,transitionOpts:r,onComplete:g});var Y=z.selectAll("g.bullet").data(R?e:[]);Y.exit().remove();var X=z.selectAll("g.bulletaxis").data(R?e:[]);X.exit().remove(),R&&function(t,e,r,n){var i,a,o,s,c,u=r[0].trace,h=n.gauge,p=n.layer,m=n.gaugeBg,g=n.gaugeOutline,y=n.size,x=u.domain,_=n.transitionOpts,b=n.onComplete;h.enter().append("g").classed("bullet",!0),h.attr("transform",l(y.l,y.t)),p.enter().append("g").classed("bulletaxis",!0).classed("crisp",!0),p.selectAll("g.xbulletaxistick,path,text").remove();var A=y.h,M=u.gauge.bar.thickness*A,S=x.x[0],E=x.x[0]+(x.x[1]-x.x[0])*(u._hasNumber||u._hasDelta?1-f.bulletNumberDomainSize:1);function C(t){t.attr("width",(function(t){return Math.max(0,i.c2p(t.range[1])-i.c2p(t.range[0]))})).attr("x",(function(t){return i.c2p(t.range[0])})).attr("y",(function(t){return.5*(1-t.thickness)*A})).attr("height",(function(t){return t.thickness*A}))}(i=k(t,u.gauge.axis))._id="xbulletaxis",i.domain=[S,E],i.setScale(),a=d.calcTicks(i),o=d.makeTransTickFn(i),s=d.getTickSigns(i)[2],c=y.t+y.h,i.visible&&(d.drawTicks(t,i,{vals:"inside"===i.ticks?d.clipEnds(i,a):a,layer:p,path:d.makeTickPath(i,c,s),transFn:o}),d.drawLabels(t,i,{vals:a,layer:p,transFn:o,labelFns:d.makeLabelFns(i,c)}));var L=[m].concat(u.gauge.steps),I=h.selectAll("g.bg-bullet").data(L);I.enter().append("g").classed("bg-bullet",!0).append("rect"),I.select("rect").call(C).call(T),I.exit().remove();var P=h.selectAll("g.value-bullet").data([u.gauge.bar]);P.enter().append("g").classed("value-bullet",!0).append("rect"),P.select("rect").attr("height",M).attr("y",(A-M)/2).call(T),w(_)?P.select("rect").transition().duration(_.duration).ease(_.easing).each("end",(function(){b&&b()})).each("interrupt",(function(){b&&b()})).attr("width",Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y)))):P.select("rect").attr("width","number"==typeof r[0].y?Math.max(0,i.c2p(Math.min(u.gauge.axis.range[1],r[0].y))):0),P.exit().remove();var z=r.filter((function(){return u.gauge.threshold.value||0===u.gauge.threshold.value})),O=h.selectAll("g.threshold-bullet").data(z);O.enter().append("g").classed("threshold-bullet",!0).append("line"),O.select("line").attr("x1",i.c2p(u.gauge.threshold.value)).attr("x2",i.c2p(u.gauge.threshold.value)).attr("y1",(1-u.gauge.threshold.thickness)/2*A).attr("y2",(1-(1-u.gauge.threshold.thickness)/2)*A).call(v.stroke,u.gauge.threshold.line.color).style("stroke-width",u.gauge.threshold.line.width),O.exit().remove();var D=h.selectAll("g.gauge-outline").data([g]);D.enter().append("g").classed("gauge-outline",!0).append("rect"),D.select("rect").call(C).call(T),D.exit().remove()}(t,0,e,{gauge:Y,layer:X,size:B,gaugeBg:L,gaugeOutline:I,transitionOpts:r,onComplete:g});var $=z.selectAll("text.title").data(e);$.exit().remove(),$.enter().append("text").classed("title",!0),$.attr("text-anchor",(function(){return R?x.right:x[P.title.align]})).text(P.title.text).call(h.font,P.title.font).call(p.convertToTspans,t),$.attr("transform",(function(){var t,e=B.l+B.w*_[P.title.align],r=f.titlePadding,n=h.bBox($.node());return O?(D&&(t=P.gauge.axis.visible?h.bBox(W.node()).top-r-n.bottom:B.t+B.h/2-U/2-n.bottom-r),R&&(t=E-(n.top+n.bottom)/2,e=B.l-f.bulletPadding*B.w)):t=P._numbersTop-r-n.bottom,l(e,t)}))}))}},70252:function(t,e,r){"use strict";var n=r(87163),i=r(80712).axisHoverFormat,a=r(3208).rb,o=r(42450),s=r(9829),l=r(93049).extendFlat,c=r(13582).overrideAll,u=t.exports=c(l({x:{valType:"data_array"},y:{valType:"data_array"},z:{valType:"data_array"},value:{valType:"data_array"},isomin:{valType:"number"},isomax:{valType:"number"},surface:{show:{valType:"boolean",dflt:!0},count:{valType:"integer",dflt:2,min:1},fill:{valType:"number",min:0,max:1,dflt:1},pattern:{valType:"flaglist",flags:["A","B","C","D","E"],extras:["all","odd","even"],dflt:"all"}},spaceframe:{show:{valType:"boolean",dflt:!1},fill:{valType:"number",min:0,max:1,dflt:.15}},slices:{x:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!1},locations:{valType:"data_array",dflt:[]},fill:{valType:"number",min:0,max:1,dflt:1}}},caps:{x:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},y:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}},z:{show:{valType:"boolean",dflt:!0},fill:{valType:"number",min:0,max:1,dflt:1}}},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:a(),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),valuehoverformat:i("value",1),showlegend:l({},s.showlegend,{dflt:!1})},n("",{colorAttr:"`value`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,lightposition:o.lightposition,lighting:o.lighting,flatshading:o.flatshading,contour:o.contour,hoverinfo:l({},s.hoverinfo)}),"calc","nested");u.flatshading.dflt=!0,u.lighting.facenormalsepsilon.dflt=0,u.x.editType=u.y.editType=u.z.editType=u.value.editType="calc+clearAxisTypes",u.transforms=void 0},58988:function(t,e,r){"use strict";var n=r(28379),i=r(36402).processGrid,a=r(36402).filter;t.exports=function(t,e){e._len=Math.min(e.x.length,e.y.length,e.z.length,e.value.length),e._x=a(e.x,e._len),e._y=a(e.y,e._len),e._z=a(e.z,e._len),e._value=a(e.value,e._len);var r=i(e);e._gridFill=r.fill,e._Xs=r.Xs,e._Ys=r.Ys,e._Zs=r.Zs,e._len=r.len;for(var o=1/0,s=-1/0,l=0;l0;r--){var n=Math.min(e[r],e[r-1]),i=Math.max(e[r],e[r-1]);if(i>n&&n-1}function R(t,e){return null===t?e:t}function F(e,r,n){L();var i,a,o,l=[r],c=[n];if(s>=1)l=[r],c=[n];else if(s>0){var u=function(t,e){var r=t[0],n=t[1],i=t[2],a=function(t,e,r){for(var n=[],i=0;i-1?n[p]:C(d,m,y);f[p]=x>-1?x:P(d,m,y,R(e,v))}i=f[0],a=f[1],o=f[2],t._meshI.push(i),t._meshJ.push(a),t._meshK.push(o),++g}}function B(t,e,r,n){var i=t[3];in&&(i=n);for(var a=(t[3]-i)/(t[3]-e[3]+1e-9),o=[],s=0;s<4;s++)o[s]=(1-a)*t[s]+a*e[s];return o}function N(t,e,r){return t>=e&&t<=r}function j(t){var e=.001*(E-S);return t>=S-e&&t<=E+e}function U(e){for(var r=[],n=0;n<4;n++){var i=e[n];r.push([t._x[i],t._y[i],t._z[i],t._value[i]])}return r}var V=3;function q(t,e,r,n,i,a){a||(a=1),r=[-1,-1,-1];var o=!1,s=[N(e[0][3],n,i),N(e[1][3],n,i),N(e[2][3],n,i)];if(!s[0]&&!s[1]&&!s[2])return!1;var l=function(t,e,r){return j(e[0][3])&&j(e[1][3])&&j(e[2][3])?(F(t,e,r),!0):aMath.abs(C-M)?[A,C]:[C,M];d=!0,Q(r,L[0],L[1]),d=!1}}var z=[[Math.min(S,M),Math.max(S,M)],[Math.min(A,E),Math.max(A,E)]];["x","y","z"].forEach((function(r){for(var n=[],i=0;i0&&(h.push(d.id),"x"===r?f.push([d.distRatio,0,0]):"y"===r?f.push([0,d.distRatio,0]):f.push([0,0,d.distRatio]))}else u=nt(1,"x"===r?_-1:"y"===r?b-1:w-1);h.length>0&&(n[a]="x"===r?tt(e,h,o,s,f,n[a]):"y"===r?et(e,h,o,s,f,n[a]):rt(e,h,o,s,f,n[a]),a++),u.length>0&&(n[a]="x"===r?$(e,u,o,s,n[a]):"y"===r?J(e,u,o,s,n[a]):K(e,u,o,s,n[a]),a++)}var m=t.caps[r];m.show&&m.fill&&(O(m.fill),n[a]="x"===r?$(e,[0,_-1],o,s,n[a]):"y"===r?J(e,[0,b-1],o,s,n[a]):K(e,[0,w-1],o,s,n[a]),a++)}})),0===g&&I(),t._meshX=n,t._meshY=i,t._meshZ=a,t._meshIntensity=o,t._Xs=y,t._Ys=v,t._Zs=x}(),t}t.exports={findNearestOnAxis:c,generateIsoMeshes:p,createIsosurfaceTrace:function(t,e){var r=t.glplot.gl,i=n({gl:r}),a=new u(t,i,e.uid);return i._trace=a,a.update(e),t.glplot.add(i),a}}},44731:function(t,e,r){"use strict";var n=r(34809),i=r(33626),a=r(70252),o=r(39356);function s(t,e,r,n,a){var s=a("isomin"),l=a("isomax");null!=l&&null!=s&&s>l&&(e.isomin=null,e.isomax=null);var c=a("x"),u=a("y"),h=a("z"),f=a("value");c&&c.length&&u&&u.length&&h&&h.length&&f&&f.length?(i.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x","y","z"],n),a("valuehoverformat"),["x","y","z"].forEach((function(t){a(t+"hoverformat");var e="caps."+t;a(e+".show")&&a(e+".fill");var r="slices."+t;a(r+".show")&&(a(r+".fill"),a(r+".locations"))})),a("spaceframe.show")&&a("spaceframe.fill"),a("surface.show")&&(a("surface.count"),a("surface.fill"),a("surface.pattern")),a("contour.show")&&(a("contour.color"),a("contour.width")),["text","hovertext","hovertemplate","lighting.ambient","lighting.diffuse","lighting.specular","lighting.roughness","lighting.fresnel","lighting.vertexnormalsepsilon","lighting.facenormalsepsilon","lightposition.x","lightposition.y","lightposition.z","flatshading","opacity"].forEach((function(t){a(t)})),o(t,e,n,a,{prefix:"",cLetter:"c"}),e._length=null):e.visible=!1}t.exports={supplyDefaults:function(t,e,r,i){s(t,e,0,i,(function(r,i){return n.coerce(t,e,a,r,i)}))},supplyIsoDefaults:s}},75297:function(t,e,r){"use strict";t.exports={attributes:r(70252),supplyDefaults:r(44731).supplyDefaults,calc:r(58988),colorbar:{min:"cmin",max:"cmax"},plot:r(91370).createIsosurfaceTrace,moduleType:"trace",name:"isosurface",basePlotModule:r(2487),categories:["gl3d","showLegend"],meta:{}}},42450:function(t,e,r){"use strict";var n=r(87163),i=r(80712).axisHoverFormat,a=r(3208).rb,o=r(16131),s=r(9829),l=r(93049).extendFlat;t.exports=l({x:{valType:"data_array",editType:"calc+clearAxisTypes"},y:{valType:"data_array",editType:"calc+clearAxisTypes"},z:{valType:"data_array",editType:"calc+clearAxisTypes"},i:{valType:"data_array",editType:"calc"},j:{valType:"data_array",editType:"calc"},k:{valType:"data_array",editType:"calc"},text:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"calc"},hovertemplate:a({editType:"calc"}),xhoverformat:i("x"),yhoverformat:i("y"),zhoverformat:i("z"),delaunayaxis:{valType:"enumerated",values:["x","y","z"],dflt:"z",editType:"calc"},alphahull:{valType:"number",dflt:-1,editType:"calc"},intensity:{valType:"data_array",editType:"calc"},intensitymode:{valType:"enumerated",values:["vertex","cell"],dflt:"vertex",editType:"calc"},color:{valType:"color",editType:"calc"},vertexcolor:{valType:"data_array",editType:"calc"},facecolor:{valType:"data_array",editType:"calc"},transforms:void 0},n("",{colorAttr:"`intensity`",showScaleDflt:!0,editTypeOverride:"calc"}),{opacity:o.opacity,flatshading:{valType:"boolean",dflt:!1,editType:"calc"},contour:{show:l({},o.contours.x.show,{}),color:o.contours.x.color,width:o.contours.x.width,editType:"calc"},lightposition:{x:l({},o.lightposition.x,{dflt:1e5}),y:l({},o.lightposition.y,{dflt:1e5}),z:l({},o.lightposition.z,{dflt:0}),editType:"calc"},lighting:l({vertexnormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-12,editType:"calc"},facenormalsepsilon:{valType:"number",min:0,max:1,dflt:1e-6,editType:"calc"},editType:"calc"},o.lighting),hoverinfo:l({},s.hoverinfo,{editType:"calc"}),showlegend:l({},s.showlegend,{dflt:!1})})},44878:function(t,e,r){"use strict";var n=r(28379);t.exports=function(t,e){e.intensity&&n(t,e,{vals:e.intensity,containerStr:"",cLetter:"c"})}},82836:function(t,e,r){"use strict";var n=r(99098).gl_mesh3d,i=r(99098).delaunay_triangulate,a=r(99098).alpha_shape,o=r(99098).convex_hull,s=r(46998).parseColorScale,l=r(34809).isArrayOrTypedArray,c=r(55010),u=r(88856).extractOpts,h=r(88239);function f(t,e,r){this.scene=t,this.uid=r,this.mesh=e,this.name="",this.color="#fff",this.data=null,this.showContour=!1}var p=f.prototype;function d(t){for(var e=[],r=t.length,n=0;n=e-.5)return!1;return!0}p.handlePick=function(t){if(t.object===this.mesh){var e=t.index=t.data.index;t.data._cellCenter?t.traceCoordinate=t.data.dataCoordinate:t.traceCoordinate=[this.data.x[e],this.data.y[e],this.data.z[e]];var r=this.data.hovertext||this.data.text;return l(r)&&void 0!==r[e]?t.textLabel=r[e]:r&&(t.textLabel=r),!0}},p.update=function(t){var e=this.scene,r=e.fullSceneLayout;this.data=t;var n,l=t.x.length,f=h(m(r.xaxis,t.x,e.dataScale[0],t.xcalendar),m(r.yaxis,t.y,e.dataScale[1],t.ycalendar),m(r.zaxis,t.z,e.dataScale[2],t.zcalendar));if(t.i&&t.j&&t.k){if(t.i.length!==t.j.length||t.j.length!==t.k.length||!y(t.i,l)||!y(t.j,l)||!y(t.k,l))return;n=h(g(t.i),g(t.j),g(t.k))}else n=0===t.alphahull?o(f):t.alphahull>0?a(t.alphahull,f):function(t,e){for(var r=["x","y","z"].indexOf(t),n=[],a=e.length,o=0;oy):g=A>w,y=A;var M=c(w,T,k,A);M.pos=b,M.yc=(w+A)/2,M.i=_,M.dir=g?"increasing":"decreasing",M.x=M.pos,M.y=[k,T],v&&(M.orig_p=r[_]),d&&(M.tx=e.text[_]),m&&(M.htx=e.hovertext[_]),x.push(M)}else x.push({pos:b,empty:!0})}return e._extremes[l._id]=a.findExtremes(l,n.concat(f,h),{padded:!0}),x.length&&(x[0].t={labels:{open:i(t,"open:")+" ",high:i(t,"high:")+" ",low:i(t,"low:")+" ",close:i(t,"close:")+" "}}),x}t.exports={calc:function(t,e){var r=a.getFromId(t,e.xaxis),i=a.getFromId(t,e.yaxis),s=function(t,e,r){var i=r._minDiff;if(!i){var a,s=t._fullData,l=[];for(i=1/0,a=0;a"+c.labels[x]+n.hoverLabelText(s,_,l.yhoverformat):((v=i.extendFlat({},f)).y0=v.y1=b,v.yLabelVal=_,v.yLabel=c.labels[x]+n.hoverLabelText(s,_,l.yhoverformat),v.name="",h.push(v),g[_]=v)}return h}function f(t,e,r,i){var a=t.cd,o=t.ya,l=a[0].trace,h=a[0].t,f=u(t,e,r,i);if(!f)return[];var p=a[f.index],d=f.index=p.i,m=p.dir;function g(t){return h.labels[t]+n.hoverLabelText(o,l[t][d],l.yhoverformat)}var y=p.hi||l.hoverinfo,v=y.split("+"),x="all"===y,_=x||-1!==v.indexOf("y"),b=x||-1!==v.indexOf("text"),w=_?[g("open"),g("high"),g("low"),g("close")+" "+c[m]]:[];return b&&s(p,l,w),f.extraText=w.join("
"),f.y0=f.y1=o.c2p(p.yc,!0),[f]}t.exports={hoverPoints:function(t,e,r,n){return t.cd[0].trace.hoverlabel.split?h(t,e,r,n):f(t,e,r,n)},hoverSplit:h,hoverOnPoints:f}},12683:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"ohlc",basePlotModule:r(37703),categories:["cartesian","svg","showLegend"],meta:{},attributes:r(86706),supplyDefaults:r(22629),calc:r(95694).calc,plot:r(38956),style:r(57406),hoverPoints:r(93245).hoverPoints,selectPoints:r(49343)}},28270:function(t,e,r){"use strict";var n=r(33626),i=r(34809);t.exports=function(t,e,r,a){var o=r("x"),s=r("open"),l=r("high"),c=r("low"),u=r("close");if(r("hoverlabel.split"),n.getComponentMethod("calendars","handleTraceDefaults")(t,e,["x"],a),s&&l&&c&&u){var h=Math.min(s.length,l.length,c.length,u.length);return o&&(h=Math.min(h,i.minRowLength(o))),e._length=h,h}}},38956:function(t,e,r){"use strict";var n=r(45568),i=r(34809);t.exports=function(t,e,r,a){var o=e.yaxis,s=e.xaxis,l=!!s.rangebreaks;i.makeTraceGroups(a,r,"trace ohlc").each((function(t){var e=n.select(this),r=t[0],a=r.t;if(!0!==r.trace.visible||a.empty)e.remove();else{var c=a.tickLen,u=e.selectAll("path").data(i.identity);u.enter().append("path"),u.exit().remove(),u.attr("d",(function(t){if(t.empty)return"M0,0Z";var e=s.c2p(t.pos-c,!0),r=s.c2p(t.pos+c,!0),n=l?(e+r)/2:s.c2p(t.pos,!0);return"M"+e+","+o.c2p(t.o,!0)+"H"+n+"M"+n+","+o.c2p(t.h,!0)+"V"+o.c2p(t.l,!0)+"M"+r+","+o.c2p(t.c,!0)+"H"+n}))}}))}},49343:function(t){"use strict";t.exports=function(t,e){var r,n=t.cd,i=t.xaxis,a=t.yaxis,o=[],s=n[0].t.bPos||0;if(!1===e)for(r=0;r=t.length)return!1;if(void 0!==e[t[r]])return!1;e[t[r]]=!0}return!0}(r))for(e=0;e0||u(s);c&&(o="array");var h=r("categoryorder",o);"array"===h?(r("categoryarray"),r("ticktext")):(delete t.categoryarray,delete t.ticktext),c||"array"!==h||(e.categoryorder="trace")}}t.exports=function(t,e,r,u){function f(r,i){return n.coerce(t,e,l,r,i)}var p=s(t,e,{name:"dimensions",handleItemDefaults:h}),d=function(t,e,r,o,s){s("line.shape"),s("line.hovertemplate");var l=s("line.color",o.colorway[0]);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,u,f);o(e,u,f),Array.isArray(p)&&p.length||(e.visible=!1),c(e,p,"values",d),f("hoveron"),f("hovertemplate"),f("arrangement"),f("bundlecolors"),f("sortpaths"),f("counts");var m=u.font;n.coerceFont(f,"labelfont",m,{overrideDflt:{size:Math.round(m.size)}}),n.coerceFont(f,"tickfont",m,{autoShadowDflt:!0,overrideDflt:{size:Math.round(m.size/1.2)}})}},6305:function(t,e,r){"use strict";t.exports={attributes:r(11660),supplyDefaults:r(62651),calc:r(95564),plot:r(37822),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcats",basePlotModule:r(83260),categories:["noOpacity"],meta:{}}},27219:function(t,e,r){"use strict";var n=r(45568),i=r(88640).Dj,a=r(31420),o=r(32141),s=r(34809),l=s.strTranslate,c=r(62203),u=r(65657),h=r(30635);function f(t,e,r,i){var a=e._context.staticPlot,o=t.map(F.bind(0,e,r)),u=i.selectAll("g.parcatslayer").data([null]);u.enter().append("g").attr("class","parcatslayer").style("pointer-events",a?"none":"all");var f=u.selectAll("g.trace.parcats").data(o,p),v=f.enter().append("g").attr("class","trace parcats");f.attr("transform",(function(t){return l(t.x,t.y)})),v.append("g").attr("class","paths");var x=f.select("g.paths").selectAll("path.path").data((function(t){return t.paths}),p);x.attr("fill",(function(t){return t.model.color}));var w=x.enter().append("path").attr("class","path").attr("stroke-opacity",0).attr("fill",(function(t){return t.model.color})).attr("fill-opacity",0);b(w),x.attr("d",(function(t){return t.svgD})),w.empty()||x.sort(m),x.exit().remove(),x.on("mouseover",g).on("mouseout",y).on("click",_),v.append("g").attr("class","dimensions");var A=f.select("g.dimensions").selectAll("g.dimension").data((function(t){return t.dimensions}),p);A.enter().append("g").attr("class","dimension"),A.attr("transform",(function(t){return l(t.x,0)})),A.exit().remove();var M=A.selectAll("g.category").data((function(t){return t.categories}),p),S=M.enter().append("g").attr("class","category");M.attr("transform",(function(t){return l(0,t.y)})),S.append("rect").attr("class","catrect").attr("pointer-events","none"),M.select("rect.catrect").attr("fill","none").attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})),T(S);var E=M.selectAll("rect.bandrect").data((function(t){return t.bands}),p);E.each((function(){s.raiseToTop(this)})),E.attr("fill",(function(t){return t.color}));var O=E.enter().append("rect").attr("class","bandrect").attr("stroke-opacity",0).attr("fill",(function(t){return t.color})).attr("fill-opacity",0);E.attr("fill",(function(t){return t.color})).attr("width",(function(t){return t.width})).attr("height",(function(t){return t.height})).attr("y",(function(t){return t.y})).attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"perpendicular"===t.parcatsViewModel.arrangement?"ns-resize":"move"})),k(O),E.exit().remove(),S.append("text").attr("class","catlabel").attr("pointer-events","none"),M.select("text.catlabel").attr("text-anchor",(function(t){return d(t)?"start":"end"})).attr("alignment-baseline","middle").style("fill","rgb(0, 0, 0)").attr("x",(function(t){return d(t)?t.width+5:-5})).attr("y",(function(t){return t.height/2})).text((function(t){return t.model.categoryLabel})).each((function(t){c.font(n.select(this),t.parcatsViewModel.categorylabelfont),h.convertToTspans(n.select(this),e)})),S.append("text").attr("class","dimlabel"),M.select("text.dimlabel").attr("text-anchor","middle").attr("alignment-baseline","baseline").attr("cursor",(function(t){return"fixed"===t.parcatsViewModel.arrangement?"default":"ew-resize"})).attr("x",(function(t){return t.width/2})).attr("y",-5).text((function(t,e){return 0===e?t.parcatsViewModel.model.dimensions[t.model.dimensionInd].dimensionLabel:null})).each((function(t){c.font(n.select(this),t.parcatsViewModel.labelfont)})),M.selectAll("rect.bandrect").on("mouseover",C).on("mouseout",L),M.exit().remove(),A.call(n.behavior.drag().origin((function(t){return{x:t.x,y:0}})).on("dragstart",I).on("drag",P).on("dragend",z)),f.each((function(t){t.traceSelection=n.select(this),t.pathSelection=n.select(this).selectAll("g.paths").selectAll("path.path"),t.dimensionSelection=n.select(this).selectAll("g.dimensions").selectAll("g.dimension")})),f.exit().remove()}function p(t){return t.key}function d(t){var e=t.parcatsViewModel.dimensions.length,r=t.parcatsViewModel.dimensions[e-1].model.dimensionInd;return t.model.dimensionInd===r}function m(t,e){return t.model.rawColor>e.model.rawColor?1:t.model.rawColor"),C=n.mouse(h)[0];o.loneHover({trace:f,x:_-d.left+m.left,y:b-d.top+m.top,text:E,color:t.model.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:10,fontColor:T,idealAlign:C<_?"right":"left",hovertemplate:(f.line||{}).hovertemplate,hovertemplateLabels:M,eventData:[{data:f._input,fullData:f,count:k,probability:A}]},{container:p._hoverlayer.node(),outerContainer:p._paper.node(),gd:h})}}}function y(t){if(!t.parcatsViewModel.dragDimension&&(b(n.select(this)),o.loneUnhover(t.parcatsViewModel.graphDiv._fullLayout._hoverlayer.node()),t.parcatsViewModel.pathSelection.sort(m),-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip"))){var e=v(t),r=x(t);t.parcatsViewModel.graphDiv.emit("plotly_unhover",{points:e,event:n.event,constraints:r})}}function v(t){for(var e=[],r=O(t.parcatsViewModel),n=0;n1&&f.displayInd===h.dimensions.length-1?(i=c.left,a="left"):(i=c.left+c.width,a="right");var m=u.model.count,g=u.model.categoryLabel,y=m/u.parcatsViewModel.model.count,v={countLabel:m,categoryLabel:g,probabilityLabel:y.toFixed(3)},x=[];-1!==u.parcatsViewModel.hoverinfoItems.indexOf("count")&&x.push(["Count:",v.countLabel].join(" ")),-1!==u.parcatsViewModel.hoverinfoItems.indexOf("probability")&&x.push(["P("+v.categoryLabel+"):",v.probabilityLabel].join(" "));var _=x.join("
");return{trace:p,x:o*(i-e.left),y:s*(d-e.top),text:_,color:"lightgray",borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontSize:12,fontColor:"black",idealAlign:a,hovertemplate:p.hovertemplate,hovertemplateLabels:v,eventData:[{data:p._input,fullData:p,count:m,category:g,probability:y}]}}function C(t){if(!t.parcatsViewModel.dragDimension&&-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")){if(n.mouse(this)[1]<-1)return;var e,r=t.parcatsViewModel.graphDiv,i=r._fullLayout,a=i._paperdiv.node().getBoundingClientRect(),l=t.parcatsViewModel.hoveron,c=this;"color"===l?(function(t){var e=n.select(t).datum(),r=A(e);w(r),r.each((function(){s.raiseToTop(this)})),n.select(t.parentNode).selectAll("rect.bandrect").filter((function(t){return t.color===e.color})).each((function(){s.raiseToTop(this),n.select(this).attr("stroke","black").attr("stroke-width",1.5)}))}(c),S(c,"plotly_hover",n.event)):(function(t){n.select(t.parentNode).selectAll("rect.bandrect").each((function(t){var e=A(t);w(e),e.each((function(){s.raiseToTop(this)}))})),n.select(t.parentNode).select("rect.catrect").attr("stroke","black").attr("stroke-width",2.5)}(c),M(c,"plotly_hover",n.event)),-1===t.parcatsViewModel.hoverinfoItems.indexOf("none")&&("category"===l?e=E(r,a,c):"color"===l?e=function(t,e,r){t._fullLayout._calcInverseTransform(t);var i,a,o=t._fullLayout._invScaleX,s=t._fullLayout._invScaleY,l=r.getBoundingClientRect(),c=n.select(r).datum(),h=c.categoryViewModel,f=h.parcatsViewModel,p=f.model.dimensions[h.model.dimensionInd],d=f.trace,m=l.y+l.height/2;f.dimensions.length>1&&p.displayInd===f.dimensions.length-1?(i=l.left,a="left"):(i=l.left+l.width,a="right");var g=h.model.categoryLabel,y=c.parcatsViewModel.model.count,v=0;c.categoryViewModel.bands.forEach((function(t){t.color===c.color&&(v+=t.count)}));var x=h.model.count,_=0;f.pathSelection.each((function(t){t.model.color===c.color&&(_+=t.model.count)}));var b=v/y,w=v/_,T=v/x,k={countLabel:v,categoryLabel:g,probabilityLabel:b.toFixed(3)},A=[];-1!==h.parcatsViewModel.hoverinfoItems.indexOf("count")&&A.push(["Count:",k.countLabel].join(" ")),-1!==h.parcatsViewModel.hoverinfoItems.indexOf("probability")&&(A.push("P(color ∩ "+g+"): "+k.probabilityLabel),A.push("P("+g+" | color): "+w.toFixed(3)),A.push("P(color | "+g+"): "+T.toFixed(3)));var M=A.join("
"),S=u.mostReadable(c.color,["black","white"]);return{trace:d,x:o*(i-e.left),y:s*(m-e.top),text:M,color:c.color,borderColor:"black",fontFamily:'Monaco, "Courier New", monospace',fontColor:S,fontSize:10,idealAlign:a,hovertemplate:d.hovertemplate,hovertemplateLabels:k,eventData:[{data:d._input,fullData:d,category:g,count:y,probability:b,categorycount:x,colorcount:_,bandcolorcount:v}]}}(r,a,c):"dimension"===l&&(e=function(t,e,r){var i=[];return n.select(r.parentNode.parentNode).selectAll("g.category").select("rect.catrect").each((function(){i.push(E(t,e,this))})),i}(r,a,c)),e&&o.loneHover(e,{container:i._hoverlayer.node(),outerContainer:i._paper.node(),gd:r}))}}function L(t){var e=t.parcatsViewModel;e.dragDimension||(b(e.pathSelection),T(e.dimensionSelection.selectAll("g.category")),k(e.dimensionSelection.selectAll("g.category").selectAll("rect.bandrect")),o.loneUnhover(e.graphDiv._fullLayout._hoverlayer.node()),e.pathSelection.sort(m),-1!==e.hoverinfoItems.indexOf("skip"))||("color"===t.parcatsViewModel.hoveron?S(this,"plotly_unhover",n.event):M(this,"plotly_unhover",n.event))}function I(t){"fixed"!==t.parcatsViewModel.arrangement&&(t.dragDimensionDisplayInd=t.model.displayInd,t.initialDragDimensionDisplayInds=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),t.dragHasMoved=!1,t.dragCategoryDisplayInd=null,n.select(this).selectAll("g.category").select("rect.catrect").each((function(e){var r=n.mouse(this)[0],i=n.mouse(this)[1];-2<=r&&r<=e.width+2&&-2<=i&&i<=e.height+2&&(t.dragCategoryDisplayInd=e.model.displayInd,t.initialDragCategoryDisplayInds=t.model.categories.map((function(t){return t.displayInd})),e.model.dragY=e.y,s.raiseToTop(this.parentNode),n.select(this.parentNode).selectAll("rect.bandrect").each((function(e){e.yh.y+h.height/2&&(o.model.displayInd=h.model.displayInd,h.model.displayInd=l),t.dragCategoryDisplayInd=o.model.displayInd}if(null===t.dragCategoryDisplayInd||"freeform"===t.parcatsViewModel.arrangement){a.model.dragX=n.event.x;var f=t.parcatsViewModel.dimensions[r],p=t.parcatsViewModel.dimensions[i];void 0!==f&&a.model.dragXp.x&&(a.model.displayInd=p.model.displayInd,p.model.displayInd=t.dragDimensionDisplayInd),t.dragDimensionDisplayInd=a.model.displayInd}j(t.parcatsViewModel),N(t.parcatsViewModel),R(t.parcatsViewModel),D(t.parcatsViewModel)}}function z(t){if("fixed"!==t.parcatsViewModel.arrangement&&null!==t.dragDimensionDisplayInd){n.select(this).selectAll("text").attr("font-weight","normal");var e={},r=O(t.parcatsViewModel),i=t.parcatsViewModel.model.dimensions.map((function(t){return t.displayInd})),o=t.initialDragDimensionDisplayInds.some((function(t,e){return t!==i[e]}));o&&i.forEach((function(r,n){var i=t.parcatsViewModel.model.dimensions[n].containerInd;e["dimensions["+i+"].displayindex"]=r}));var s=!1;if(null!==t.dragCategoryDisplayInd){var l=t.model.categories.map((function(t){return t.displayInd}));if(s=t.initialDragCategoryDisplayInds.some((function(t,e){return t!==l[e]}))){var c=t.model.categories.slice().sort((function(t,e){return t.displayInd-e.displayInd})),u=c.map((function(t){return t.categoryValue})),h=c.map((function(t){return t.categoryLabel}));e["dimensions["+t.model.containerInd+"].categoryarray"]=[u],e["dimensions["+t.model.containerInd+"].ticktext"]=[h],e["dimensions["+t.model.containerInd+"].categoryorder"]="array"}}-1===t.parcatsViewModel.hoverinfoItems.indexOf("skip")&&!t.dragHasMoved&&t.potentialClickBand&&("color"===t.parcatsViewModel.hoveron?S(t.potentialClickBand,"plotly_click",n.event.sourceEvent):M(t.potentialClickBand,"plotly_click",n.event.sourceEvent)),t.model.dragX=null,null!==t.dragCategoryDisplayInd&&(t.parcatsViewModel.dimensions[t.dragDimensionDisplayInd].categories[t.dragCategoryDisplayInd].model.dragY=null,t.dragCategoryDisplayInd=null),t.dragDimensionDisplayInd=null,t.parcatsViewModel.dragDimension=null,t.dragHasMoved=null,t.potentialClickBand=null,j(t.parcatsViewModel),N(t.parcatsViewModel),n.transition().duration(300).ease("cubic-in-out").each((function(){R(t.parcatsViewModel,!0),D(t.parcatsViewModel,!0)})).each("end",(function(){(o||s)&&a.restyle(t.parcatsViewModel.graphDiv,e,[r])}))}}function O(t){for(var e,r=t.graphDiv._fullData,n=0;n=0;s--)u+="C"+c[s]+","+(e[s+1]+n)+" "+l[s]+","+(e[s]+n)+" "+(t[s]+r[s])+","+(e[s]+n),u+="l-"+r[s]+",0 ";return u+"Z"}function N(t){var e=t.dimensions,r=t.model,n=e.map((function(t){return t.categories.map((function(t){return t.y}))})),i=t.model.dimensions.map((function(t){return t.categories.map((function(t){return t.displayInd}))})),a=t.model.dimensions.map((function(t){return t.displayInd})),o=t.dimensions.map((function(t){return t.model.dimensionInd})),s=e.map((function(t){return t.x})),l=e.map((function(t){return t.width})),c=[];for(var u in r.paths)r.paths.hasOwnProperty(u)&&c.push(r.paths[u]);function h(t){var e=t.categoryInds.map((function(t,e){return i[e][t]}));return o.map((function(t){return e[t]}))}c.sort((function(e,r){var n=h(e),i=h(r);return"backward"===t.sortpaths&&(n.reverse(),i.reverse()),n.push(e.valueInds[0]),i.push(r.valueInds[0]),t.bundlecolors&&(n.unshift(e.rawColor),i.unshift(r.rawColor)),ni?1:0}));for(var f=new Array(c.length),p=e[0].model.count,d=e[0].categories.map((function(t){return t.height})).reduce((function(t,e){return t+e})),m=0;m0?d*(y.count/p):0;for(var v,x=new Array(n.length),_=0;_1?(t.width-80-16)/(n-1):0)*i;var a,o,s,l,c,u=[],h=t.model.maxCats,f=e.categories.length,p=e.count,d=t.height-8*(h-1),m=8*(h-f)/2,g=e.categories.map((function(t){return{displayInd:t.displayInd,categoryInd:t.categoryInd}}));for(g.sort((function(t,e){return t.displayInd-e.displayInd})),c=0;c0?o.count/p*d:0,s={key:o.valueInds[0],model:o,width:16,height:a,y:null!==o.dragY?o.dragY:m,bands:[],parcatsViewModel:t},m=m+a+8,u.push(s);return{key:e.dimensionInd,x:null!==e.dragX?e.dragX:r,y:0,width:16,model:e,categories:u,parcatsViewModel:t,dragCategoryDisplayInd:null,dragDimensionDisplayInd:null,initialDragDimensionDisplayInds:null,initialDragCategoryDisplayInds:null,dragHasMoved:null,potentialClickBand:null}}t.exports=function(t,e,r,n){f(r,t,n,e)}},37822:function(t,e,r){"use strict";var n=r(27219);t.exports=function(t,e,r,i){var a=t._fullLayout,o=a._paper,s=a._size;n(t,o,e,{width:s.w,height:s.h,margin:{t:s.t,r:s.r,b:s.b,l:s.l}},r,i)}},59549:function(t,e,r){"use strict";var n=r(87163),i=r(25829),a=r(80337),o=r(13792).u,s=r(93049).extendFlat,l=r(78032).templatedArray;t.exports={domain:o({name:"parcoords",trace:!0,editType:"plot"}),labelangle:{valType:"angle",dflt:0,editType:"plot"},labelside:{valType:"enumerated",values:["top","bottom"],dflt:"top",editType:"plot"},labelfont:a({editType:"plot"}),tickfont:a({autoShadowDflt:!0,editType:"plot"}),rangefont:a({editType:"plot"}),dimensions:l("dimension",{label:{valType:"string",editType:"plot"},tickvals:s({},i.tickvals,{editType:"plot"}),ticktext:s({},i.ticktext,{editType:"plot"}),tickformat:s({},i.tickformat,{editType:"plot"}),visible:{valType:"boolean",dflt:!0,editType:"plot"},range:{valType:"info_array",items:[{valType:"number",editType:"plot"},{valType:"number",editType:"plot"}],editType:"plot"},constraintrange:{valType:"info_array",freeLength:!0,dimensions:"1-2",items:[{valType:"any",editType:"plot"},{valType:"any",editType:"plot"}],editType:"plot"},multiselect:{valType:"boolean",dflt:!0,editType:"plot"},values:{valType:"data_array",editType:"calc"},editType:"calc"}),line:s({editType:"calc"},n("line",{colorscaleDflt:"Viridis",autoColorDflt:!1,editTypeOverride:"calc"})),unselected:{line:{color:{valType:"color",dflt:"#7f7f7f",editType:"plot"},opacity:{valType:"number",min:0,max:1,dflt:"auto",editType:"plot"},editType:"plot"},editType:"plot"}}},23245:function(t,e,r){"use strict";var n=r(77911),i=r(45568),a=r(71293).keyFun,o=r(71293).repeat,s=r(34809).sorterAsc,l=r(34809).strTranslate,c=n.bar.snapRatio;function u(t,e){return t*(1-c)+e*c}var h=n.bar.snapClose;function f(t,e){return t*(1-h)+e*h}function p(t,e,r,n){if(function(t,e){for(var r=0;r=e[r][0]&&t<=e[r][1])return!0;return!1}(r,n))return r;var i=t?-1:1,a=0,o=e.length-1;if(i<0){var s=a;a=o,o=s}for(var l=e[a],c=l,h=a;i*he){f=r;break}}if(a=u,isNaN(a)&&(a=isNaN(h)||isNaN(f)?isNaN(h)?f:h:e-c[h][1]t[1]+r||e=.9*t[1]+.1*t[0]?"n":e<=.9*t[0]+.1*t[1]?"s":"ns"}(d,e);m&&(o.interval=l[a],o.intervalPix=d,o.region=m)}}if(t.ordinal&&!o.region){var g=t.unitTickvals,v=t.unitToPaddedPx.invert(e);for(r=0;r=x[0]&&v<=x[1]){o.clickableOrdinalRange=x;break}}}return o}function w(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.brush.svgBrush;a.wasDragged=!0,a._dragging=!0,a.grabbingBar?a.newExtent=[r-a.grabPoint,r+a.barLength-a.grabPoint].map(e.unitToPaddedPx.invert):a.newExtent=[a.startExtent,e.unitToPaddedPx.invert(r)].sort(s),e.brush.filterSpecified=!0,a.extent=a.stayingIntervals.concat([a.newExtent]),a.brushCallback(e),_(t.parentNode)}function T(t,e){var r=b(e,e.height-i.mouse(t)[1]-2*n.verticalPadding),a="crosshair";r.clickableOrdinalRange?a="pointer":r.region&&(a=r.region+"-resize"),i.select(document.body).style("cursor",a)}function k(t){t.on("mousemove",(function(t){i.event.preventDefault(),t.parent.inBrushDrag||T(this,t)})).on("mouseleave",(function(t){t.parent.inBrushDrag||v()})).call(i.behavior.drag().on("dragstart",(function(t){!function(t,e){i.event.sourceEvent.stopPropagation();var r=e.height-i.mouse(t)[1]-2*n.verticalPadding,a=e.unitToPaddedPx.invert(r),o=e.brush,s=b(e,r),l=s.interval,c=o.svgBrush;if(c.wasDragged=!1,c.grabbingBar="ns"===s.region,c.grabbingBar){var u=l.map(e.unitToPaddedPx);c.grabPoint=r-u[0]-n.verticalPadding,c.barLength=u[1]-u[0]}c.clickableOrdinalRange=s.clickableOrdinalRange,c.stayingIntervals=e.multiselect&&o.filterSpecified?o.filter.getConsolidated():[],l&&(c.stayingIntervals=c.stayingIntervals.filter((function(t){return t[0]!==l[0]&&t[1]!==l[1]}))),c.startExtent=s.region?l["s"===s.region?1:0]:a,e.parent.inBrushDrag=!0,c.brushStartCallback()}(this,t)})).on("drag",(function(t){w(this,t)})).on("dragend",(function(t){!function(t,e){var r=e.brush,n=r.filter,a=r.svgBrush;a._dragging||(T(t,e),w(t,e),e.brush.svgBrush.wasDragged=!1),a._dragging=!1,i.event.sourceEvent.stopPropagation();var o=a.grabbingBar;if(a.grabbingBar=!1,a.grabLocation=void 0,e.parent.inBrushDrag=!1,v(),!a.wasDragged)return a.wasDragged=void 0,a.clickableOrdinalRange?r.filterSpecified&&e.multiselect?a.extent.push(a.clickableOrdinalRange):(a.extent=[a.clickableOrdinalRange],r.filterSpecified=!0):o?(a.extent=a.stayingIntervals,0===a.extent.length&&M(r)):M(r),a.brushCallback(e),_(t.parentNode),void a.brushEndCallback(r.filterSpecified?n.getConsolidated():[]);var s=function(){n.set(n.getConsolidated())};if(e.ordinal){var l=e.unitTickvals;l[l.length-1]a.newExtent[0];a.extent=a.stayingIntervals.concat(c?[a.newExtent]:[]),a.extent.length||M(r),a.brushCallback(e),c?_(t.parentNode,s):(s(),_(t.parentNode))}else s();a.brushEndCallback(r.filterSpecified?n.getConsolidated():[])}(this,t)})))}function A(t,e){return t[0]-e[0]}function M(t){t.filterSpecified=!1,t.svgBrush.extent=[[-1/0,1/0]]}function S(t){for(var e,r=t.slice(),n=[],i=r.shift();i;){for(e=i.slice();(i=r.shift())&&i[0]<=e[1];)e[1]=Math.max(e[1],i[1]);n.push(e)}return 1===n.length&&n[0][0]>n[0][1]&&(n=[]),n}t.exports={makeBrush:function(t,e,r,n,i,a){var o,l=function(){var t,e,r=[];return{set:function(n){1===(r=n.map((function(t){return t.slice().sort(s)})).sort(A)).length&&r[0][0]===-1/0&&r[0][1]===1/0&&(r=[[0,-1]]),t=S(r),e=r.reduce((function(t,e){return[Math.min(t[0],e[0]),Math.max(t[1],e[1])]}),[1/0,-1/0])},get:function(){return r.slice()},getConsolidated:function(){return t},getBounds:function(){return e}}}();return l.set(r),{filter:l,filterSpecified:e,svgBrush:{extent:[],brushStartCallback:n,brushCallback:(o=i,function(t){var e=t.brush,r=function(t){return t.svgBrush.extent.map((function(t){return t.slice()}))}(e),n=r.slice();e.filter.set(n),o()}),brushEndCallback:a}}},ensureAxisBrush:function(t,e,r){var i=t.selectAll("."+n.cn.axisBrush).data(o,a);i.enter().append("g").classed(n.cn.axisBrush,!0),function(t,e,r){var i=r._context.staticPlot,a=t.selectAll(".background").data(o);a.enter().append("rect").classed("background",!0).call(d).call(m).style("pointer-events",i?"none":"auto").attr("transform",l(0,n.verticalPadding)),a.call(k).attr("height",(function(t){return t.height-n.verticalPadding}));var s=t.selectAll(".highlight-shadow").data(o);s.enter().append("line").classed("highlight-shadow",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width+n.bar.strokeWidth).attr("stroke",e).attr("opacity",n.bar.strokeOpacity).attr("stroke-linecap","butt"),s.attr("y1",(function(t){return t.height})).call(x);var c=t.selectAll(".highlight").data(o);c.enter().append("line").classed("highlight",!0).attr("x",-n.bar.width/2).attr("stroke-width",n.bar.width-n.bar.strokeWidth).attr("stroke",n.bar.fillColor).attr("opacity",n.bar.fillOpacity).attr("stroke-linecap","butt"),c.attr("y1",(function(t){return t.height})).call(x)}(i,e,r)},cleanRanges:function(t,e){if(Array.isArray(t[0])?(t=t.map((function(t){return t.sort(s)})),t=e.multiselect?S(t.sort(A)):[t[0]]):t=[t.sort(s)],e.tickvals){var r=e.tickvals.slice().sort(s);if(!(t=t.map((function(t){var e=[p(0,r,t[0],[]),p(1,r,t[1],[])];if(e[1]>e[0])return e})).filter((function(t){return t}))).length)return}return t.length>1?t:t[0]}}},79846:function(t,e,r){"use strict";t.exports={attributes:r(59549),supplyDefaults:r(12842),calc:r(20113),colorbar:{container:"line",min:"cmin",max:"cmax"},moduleType:"trace",name:"parcoords",basePlotModule:r(67207),categories:["gl","regl","noOpacity","noHover"],meta:{}}},67207:function(t,e,r){"use strict";var n=r(45568),i=r(4173).eV,a=r(58823),o=r(62972);e.name="parcoords",e.plot=function(t){var e=i(t.calcdata,"parcoords")[0];e.length&&a(t,e)},e.clean=function(t,e,r,n){var i=n._has&&n._has("parcoords"),a=e._has&&e._has("parcoords");i&&!a&&(n._paperdiv.selectAll(".parcoords").remove(),n._glimages.selectAll("*").remove())},e.toSVG=function(t){var e=t._fullLayout._glimages,r=n.select(t).selectAll(".svg-container");r.filter((function(t,e){return e===r.size()-1})).selectAll(".gl-canvas-context, .gl-canvas-focus").each((function(){var t=this,r=t.toDataURL("image/png");e.append("svg:image").attr({xmlns:o.svg,"xlink:href":r,preserveAspectRatio:"none",x:0,y:0,width:t.style.width,height:t.style.height})})),window.setTimeout((function(){n.selectAll("#filterBarPattern").attr("id","filterBarPattern")}),60)}},20113:function(t,e,r){"use strict";var n=r(34809).isArrayOrTypedArray,i=r(88856),a=r(71293).wrap;t.exports=function(t,e){var r,o;return i.hasColorscale(e,"line")&&n(e.line.color)?(r=e.line.color,o=i.extractOpts(e.line).colorscale,i.calc(t,e,{vals:r,containerStr:"line",cLetter:"c"})):(r=function(t){for(var e=new Array(t),r=0;rh&&(n.log("parcoords traces support up to "+h+" dimensions at the moment"),d.splice(h));var m=s(t,e,{name:"dimensions",layout:l,handleItemDefaults:p}),g=function(t,e,r,o,s){var l=s("line.color",r);if(i(t,"line")&&n.isArrayOrTypedArray(l)){if(l.length)return s("line.colorscale"),a(t,e,o,s,{prefix:"line.",cLetter:"c"}),l.length;e.line.color=r}return 1/0}(t,e,r,l,u);o(e,l,u),Array.isArray(m)&&m.length||(e.visible=!1),f(e,m,"values",g);var y=n.extendFlat({},l.font,{size:Math.round(l.font.size/1.2)});n.coerceFont(u,"labelfont",y),n.coerceFont(u,"tickfont",y,{autoShadowDflt:!0}),n.coerceFont(u,"rangefont",y),u("labelangle"),u("labelside"),u("unselected.line.color"),u("unselected.line.opacity")}},62935:function(t,e,r){"use strict";var n=r(34809).isTypedArray;e.convertTypedArray=function(t){return n(t)?Array.prototype.slice.call(t):t},e.isOrdinal=function(t){return!!t.tickvals},e.isVisible=function(t){return t.visible||!("visible"in t)}},83910:function(t,e,r){"use strict";var n=r(79846);n.plot=r(58823),t.exports=n},1293:function(t,e,r){"use strict";var n=["precision highp float;","","varying vec4 fragColor;","","attribute vec4 p01_04, p05_08, p09_12, p13_16,"," p17_20, p21_24, p25_28, p29_32,"," p33_36, p37_40, p41_44, p45_48,"," p49_52, p53_56, p57_60, colors;","","uniform mat4 dim0A, dim1A, dim0B, dim1B, dim0C, dim1C, dim0D, dim1D,"," loA, hiA, loB, hiB, loC, hiC, loD, hiD;","","uniform vec2 resolution, viewBoxPos, viewBoxSize;","uniform float maskHeight;","uniform float drwLayer; // 0: context, 1: focus, 2: pick","uniform vec4 contextColor;","uniform sampler2D maskTexture, palette;","","bool isPick = (drwLayer > 1.5);","bool isContext = (drwLayer < 0.5);","","const vec4 ZEROS = vec4(0.0, 0.0, 0.0, 0.0);","const vec4 UNITS = vec4(1.0, 1.0, 1.0, 1.0);","","float val(mat4 p, mat4 v) {"," return dot(matrixCompMult(p, v) * UNITS, UNITS);","}","","float axisY(float ratio, mat4 A, mat4 B, mat4 C, mat4 D) {"," float y1 = val(A, dim0A) + val(B, dim0B) + val(C, dim0C) + val(D, dim0D);"," float y2 = val(A, dim1A) + val(B, dim1B) + val(C, dim1C) + val(D, dim1D);"," return y1 * (1.0 - ratio) + y2 * ratio;","}","","int iMod(int a, int b) {"," return a - b * (a / b);","}","","bool fOutside(float p, float lo, float hi) {"," return (lo < hi) && (lo > p || p > hi);","}","","bool vOutside(vec4 p, vec4 lo, vec4 hi) {"," return ("," fOutside(p[0], lo[0], hi[0]) ||"," fOutside(p[1], lo[1], hi[1]) ||"," fOutside(p[2], lo[2], hi[2]) ||"," fOutside(p[3], lo[3], hi[3])"," );","}","","bool mOutside(mat4 p, mat4 lo, mat4 hi) {"," return ("," vOutside(p[0], lo[0], hi[0]) ||"," vOutside(p[1], lo[1], hi[1]) ||"," vOutside(p[2], lo[2], hi[2]) ||"," vOutside(p[3], lo[3], hi[3])"," );","}","","bool outsideBoundingBox(mat4 A, mat4 B, mat4 C, mat4 D) {"," return mOutside(A, loA, hiA) ||"," mOutside(B, loB, hiB) ||"," mOutside(C, loC, hiC) ||"," mOutside(D, loD, hiD);","}","","bool outsideRasterMask(mat4 A, mat4 B, mat4 C, mat4 D) {"," mat4 pnts[4];"," pnts[0] = A;"," pnts[1] = B;"," pnts[2] = C;"," pnts[3] = D;",""," for(int i = 0; i < 4; ++i) {"," for(int j = 0; j < 4; ++j) {"," for(int k = 0; k < 4; ++k) {"," if(0 == iMod("," int(255.0 * texture2D(maskTexture,"," vec2("," (float(i * 2 + j / 2) + 0.5) / 8.0,"," (pnts[i][j][k] * (maskHeight - 1.0) + 1.0) / maskHeight"," ))[3]"," ) / int(pow(2.0, float(iMod(j * 4 + k, 8)))),"," 2"," )) return true;"," }"," }"," }"," return false;","}","","vec4 position(bool isContext, float v, mat4 A, mat4 B, mat4 C, mat4 D) {"," float x = 0.5 * sign(v) + 0.5;"," float y = axisY(x, A, B, C, D);"," float z = 1.0 - abs(v);",""," z += isContext ? 0.0 : 2.0 * float("," outsideBoundingBox(A, B, C, D) ||"," outsideRasterMask(A, B, C, D)"," );",""," return vec4("," 2.0 * (vec2(x, y) * viewBoxSize + viewBoxPos) / resolution - 1.0,"," z,"," 1.0"," );","}","","void main() {"," mat4 A = mat4(p01_04, p05_08, p09_12, p13_16);"," mat4 B = mat4(p17_20, p21_24, p25_28, p29_32);"," mat4 C = mat4(p33_36, p37_40, p41_44, p45_48);"," mat4 D = mat4(p49_52, p53_56, p57_60, ZEROS);",""," float v = colors[3];",""," gl_Position = position(isContext, v, A, B, C, D);",""," fragColor ="," isContext ? vec4(contextColor) :"," isPick ? vec4(colors.rgb, 1.0) : texture2D(palette, vec2(abs(v), 0.5));","}"].join("\n"),i=["precision highp float;","","varying vec4 fragColor;","","void main() {"," gl_FragColor = fragColor;","}"].join("\n"),a=r(77911).maxDimensionCount,o=r(34809),s=1e-6,l=new Uint8Array(4),c=new Uint8Array(4),u={shape:[256,1],format:"rgba",type:"uint8",mag:"nearest",min:"nearest"};function h(t,e,r,n,i){var a=t._gl;a.enable(a.SCISSOR_TEST),a.scissor(e,r,n,i),t.clear({color:[0,0,0,0],depth:1})}function f(t,e,r,n,i,a){var o=a.key;r.drawCompleted||(function(t){t.read({x:0,y:0,width:1,height:1,data:l})}(t),r.drawCompleted=!0),function s(l){var c=Math.min(n,i-l*n);0===l&&(window.cancelAnimationFrame(r.currentRafs[o]),delete r.currentRafs[o],h(t,a.scissorX,a.scissorY,a.scissorWidth,a.viewBoxSize[1])),r.clearOnly||(a.count=2*c,a.offset=2*l*n,e(a),l*n+c>>8*e)%256/255}function m(t,e,r){for(var n=new Array(8*e),i=0,a=0;ac&&(c=t[i].dim1.canvasX,o=i);0===s&&h(k,0,0,r.canvasWidth,r.canvasHeight);var u=function(t){var e,r,n,i=[[],[]];for(n=0;n<64;n++){var a=!t&&ns._length&&(E=E.slice(0,s._length));var L,I=s.tickvals;function P(t,e){return{val:t,text:L[e]}}function z(t,e){return t.val-e.val}if(a(I)&&I.length){i.isTypedArray(I)&&(I=Array.from(I)),L=s.ticktext,a(L)&&L.length?L.length>I.length?L=L.slice(0,I.length):I.length>L.length&&(I=I.slice(0,L.length)):L=I.map(o(s.tickformat));for(var O=1;O=r||l>=i)return;var c=t.lineLayer.readPixel(s,i-1-l),u=0!==c[3],h=u?c[2]+256*(c[1]+256*c[0]):null,f={x:s,y:l,clientX:e.clientX,clientY:e.clientY,dataIndex:t.model.key,curveNumber:h};h!==N&&(u?a.hover(f):a.unhover&&a.unhover(f),N=h)}})),B.style("opacity",(function(t){return t.pick?0:1})),p.style("background","rgba(255, 255, 255, 0)");var j=p.selectAll("."+x.cn.parcoords).data(F,m);j.exit().remove(),j.enter().append("g").classed(x.cn.parcoords,!0).style("shape-rendering","crispEdges").style("pointer-events","none"),j.attr("transform",(function(t){return u(t.model.translateX,t.model.translateY)}));var U=j.selectAll("."+x.cn.parcoordsControlView).data(g,m);U.enter().append("g").classed(x.cn.parcoordsControlView,!0),U.attr("transform",(function(t){return u(t.model.pad.l,t.model.pad.t)}));var V=U.selectAll("."+x.cn.yAxis).data((function(t){return t.dimensions}),m);V.enter().append("g").classed(x.cn.yAxis,!0),U.each((function(t){O(V,t,w)})),B.each((function(t){if(t.viewModel){!t.lineLayer||a?t.lineLayer=b(this,t):t.lineLayer.update(t),(t.key||0===t.key)&&(t.viewModel[t.key]=t.lineLayer);var e=!t.context||a;t.lineLayer.render(t.viewModel.panels,e)}})),V.attr("transform",(function(t){return u(t.xScale(t.xIndex),0)})),V.call(n.behavior.drag().origin((function(t){return t})).on("drag",(function(t){var e=t.parent;E.linePickActive(!1),t.x=Math.max(-x.overdrag,Math.min(t.model.width+x.overdrag,n.event.x)),t.canvasX=t.x*t.model.canvasPixelRatio,V.sort((function(t,e){return t.x-e.x})).each((function(e,r){e.xIndex=r,e.x=t===e?e.x:e.xScale(e.xIndex),e.canvasX=e.x*e.model.canvasPixelRatio})),O(V,e,w),V.filter((function(e){return 0!==Math.abs(t.xIndex-e.xIndex)})).attr("transform",(function(t){return u(t.xScale(t.xIndex),0)})),n.select(this).attr("transform",u(t.x,0)),V.each((function(r,n,i){i===t.parent.key&&(e.dimensions[n]=r)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!C(e)),e.focusLayer.render&&e.focusLayer.render(e.panels)})).on("dragend",(function(t){var e=t.parent;t.x=t.xScale(t.xIndex),t.canvasX=t.x*t.model.canvasPixelRatio,O(V,e,w),n.select(this).attr("transform",(function(t){return u(t.x,0)})),e.contextLayer&&e.contextLayer.render(e.panels,!1,!C(e)),e.focusLayer&&e.focusLayer.render(e.panels),e.pickLayer&&e.pickLayer.render(e.panels,!0),E.linePickActive(!0),a&&a.axesMoved&&a.axesMoved(e.key,e.dimensions.map((function(t){return t.crossfilterDimensionIndex})))}))),V.exit().remove();var q=V.selectAll("."+x.cn.axisOverlays).data(g,m);q.enter().append("g").classed(x.cn.axisOverlays,!0),q.selectAll("."+x.cn.axis).remove();var H=q.selectAll("."+x.cn.axis).data(g,m);H.enter().append("g").classed(x.cn.axis,!0),H.each((function(t){var e=t.model.height/t.model.tickDistance,r=t.domainScale,i=r.domain();n.select(this).call(n.svg.axis().orient("left").tickSize(4).outerTickSize(2).ticks(e,t.tickFormat).tickValues(t.ordinal?i:null).tickFormat((function(e){return v.isOrdinal(t)?e:D(t.model.dimensions[t.visibleIndex],e)})).scale(r)),f.font(H.selectAll("text"),t.model.tickFont)})),H.selectAll(".domain, .tick>line").attr("fill","none").attr("stroke","black").attr("stroke-opacity",.25).attr("stroke-width","1px"),H.selectAll("text").style("cursor","default");var G=q.selectAll("."+x.cn.axisHeading).data(g,m);G.enter().append("g").classed(x.cn.axisHeading,!0);var Z=G.selectAll("."+x.cn.axisTitle).data(g,m);Z.enter().append("text").classed(x.cn.axisTitle,!0).attr("text-anchor","middle").style("cursor","ew-resize").style("pointer-events",o?"none":"auto"),Z.text((function(t){return t.label})).each((function(e){var r=n.select(this);f.font(r,e.model.labelFont),h.convertToTspans(r,t)})).attr("transform",(function(t){var e=z(t.model.labelAngle,t.model.labelSide),r=x.axisTitleOffset;return(e.dir>0?"":u(0,2*r+t.model.height))+c(e.degrees)+u(-r*e.dx,-r*e.dy)})).attr("text-anchor",(function(t){var e=z(t.model.labelAngle,t.model.labelSide);return 2*Math.abs(e.dx)>Math.abs(e.dy)?e.dir*e.dx<0?"start":"end":"middle"}));var W=q.selectAll("."+x.cn.axisExtent).data(g,m);W.enter().append("g").classed(x.cn.axisExtent,!0);var Y=W.selectAll("."+x.cn.axisExtentTop).data(g,m);Y.enter().append("g").classed(x.cn.axisExtentTop,!0),Y.attr("transform",u(0,-x.axisExtentOffset));var X=Y.selectAll("."+x.cn.axisExtentTopText).data(g,m);X.enter().append("text").classed(x.cn.axisExtentTopText,!0).call(P),X.text((function(t){return R(t,!0)})).each((function(t){f.font(n.select(this),t.model.rangeFont)}));var $=W.selectAll("."+x.cn.axisExtentBottom).data(g,m);$.enter().append("g").classed(x.cn.axisExtentBottom,!0),$.attr("transform",(function(t){return u(0,t.model.height+x.axisExtentOffset)}));var J=$.selectAll("."+x.cn.axisExtentBottomText).data(g,m);J.enter().append("text").classed(x.cn.axisExtentBottomText,!0).attr("dy","0.75em").call(P),J.text((function(t){return R(t,!1)})).each((function(t){f.font(n.select(this),t.model.rangeFont)})),_.ensureAxisBrush(q,k,t)}},58823:function(t,e,r){"use strict";var n=r(16019),i=r(22459),a=r(62935).isVisible,o={};function s(t,e,r){var n=e.indexOf(r),i=t.indexOf(n);return-1===i&&(i+=e.length),i}(t.exports=function(t,e){var r=t._fullLayout;if(i(t,[],o)){var l={},c={},u={},h={},f=r._size;e.forEach((function(e,r){var n=e[0].trace;u[r]=n.index;var i=h[r]=n._fullInput.index;l[r]=t.data[i].dimensions,c[r]=t.data[i].dimensions.slice()})),n(t,e,{width:f.w,height:f.h,margin:{t:f.t,r:f.r,b:f.b,l:f.l}},{filterChanged:function(e,n,i){var a=c[e][n],o=i.map((function(t){return t.slice()})),s="dimensions["+n+"].constraintrange",l=r._tracePreGUI[t._fullData[u[e]]._fullInput.uid];if(void 0===l[s]){var f=a.constraintrange;l[s]=f||null}var p=t._fullData[u[e]].dimensions[n];o.length?(1===o.length&&(o=o[0]),a.constraintrange=o,p.constraintrange=o.slice(),o=[o]):(delete a.constraintrange,delete p.constraintrange,o=null);var d={};d[s]=o,t.emit("plotly_restyle",[d,[h[e]]])},hover:function(e){t.emit("plotly_hover",e)},unhover:function(e){t.emit("plotly_unhover",e)},axesMoved:function(e,r){var n=function(t,e){return function(r,n){return s(t,e,r)-s(t,e,n)}}(r,c[e].filter(a));l[e].sort(n),c[e].filter((function(t){return!a(t)})).sort((function(t){return c[e].indexOf(t)})).forEach((function(t){l[e].splice(l[e].indexOf(t),1),l[e].splice(c[e].indexOf(t),0,t)})),t.emit("plotly_restyle",[{dimensions:[l[e]]},[h[e]]])}})}}).reglPrecompiled=o},55412:function(t,e,r){"use strict";var n=r(9829),i=r(13792).u,a=r(80337),o=r(10229),s=r(3208).rb,l=r(3208).ay,c=r(93049).extendFlat,u=r(94850).k,h=a({editType:"plot",arrayOk:!0,colorEditType:"plot"});t.exports={labels:{valType:"data_array",editType:"calc"},label0:{valType:"number",dflt:0,editType:"calc"},dlabel:{valType:"number",dflt:1,editType:"calc"},values:{valType:"data_array",editType:"calc"},marker:{colors:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:o.defaultLine,arrayOk:!0,editType:"style"},width:{valType:"number",min:0,dflt:0,arrayOk:!0,editType:"style"},editType:"calc"},pattern:u,editType:"calc"},text:{valType:"data_array",editType:"plot"},hovertext:{valType:"string",dflt:"",arrayOk:!0,editType:"style"},scalegroup:{valType:"string",dflt:"",editType:"calc"},textinfo:{valType:"flaglist",flags:["label","text","value","percent"],extras:["none"],editType:"calc"},hoverinfo:c({},n.hoverinfo,{flags:["label","text","value","percent","name"]}),hovertemplate:s({},{keys:["label","color","value","percent","text"]}),texttemplate:l({editType:"plot"},{keys:["label","color","value","percent","text"]}),textposition:{valType:"enumerated",values:["inside","outside","auto","none"],dflt:"auto",arrayOk:!0,editType:"plot"},textfont:c({},h,{}),insidetextorientation:{valType:"enumerated",values:["horizontal","radial","tangential","auto"],dflt:"auto",editType:"plot"},insidetextfont:c({},h,{}),outsidetextfont:c({},h,{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},title:{text:{valType:"string",dflt:"",editType:"plot"},font:c({},h,{}),position:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"plot"},editType:"plot"},domain:i({name:"pie",trace:!0,editType:"calc"}),hole:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},sort:{valType:"boolean",dflt:!0,editType:"calc"},direction:{valType:"enumerated",values:["clockwise","counterclockwise"],dflt:"counterclockwise",editType:"calc"},rotation:{valType:"angle",dflt:0,editType:"calc"},pull:{valType:"number",min:0,max:1,dflt:0,arrayOk:!0,editType:"calc"},_deprecated:{title:{valType:"string",dflt:"",editType:"calc"},titlefont:c({},h,{}),titleposition:{valType:"enumerated",values:["top left","top center","top right","middle center","bottom left","bottom center","bottom right"],editType:"calc"}}}},96052:function(t,e,r){"use strict";var n=r(44122);e.name="pie",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},44148:function(t,e,r){"use strict";var n=r(10721),i=r(65657),a=r(78766),o={};function s(t){return function(e,r){return!!e&&!!(e=i(e)).isValid()&&(e=a.addOpacity(e,e.getAlpha()),t[r]||(t[r]=e),e)}}function l(t,e){var r,n=JSON.stringify(t),a=e[n];if(!a){for(a=t.slice(),r=0;r=0})),("funnelarea"===e.type?y:e.sort)&&a.sort((function(t,e){return e.v-t.v})),a[0]&&(a[0].vTotal=g),a},crossTraceCalc:function(t,e){var r=(e||{}).type;r||(r="pie");var n=t._fullLayout,i=t.calcdata,a=n[r+"colorway"],s=n["_"+r+"colormap"];n["extend"+r+"colors"]&&(a=l(a,o));for(var c=0,u=0;u0){s=!0;break}}s||(o=0)}return{hasLabels:r,hasValues:a,len:o}}function u(t,e,r,n,i){n("marker.line.width")&&n("marker.line.color",i?void 0:r.paper_bgcolor);var a=n("marker.colors");l(n,"marker.pattern",a),t.marker&&!e.marker.pattern.fgcolor&&(e.marker.pattern.fgcolor=t.marker.colors),e.marker.pattern.bgcolor||(e.marker.pattern.bgcolor=r.paper_bgcolor)}t.exports={handleLabelsAndValues:c,handleMarkerDefaults:u,supplyDefaults:function(t,e,r,n){function l(r,n){return i.coerce(t,e,a,r,n)}var h=c(l("labels"),l("values")),f=h.len;if(e._hasLabels=h.hasLabels,e._hasValues=h.hasValues,!e._hasLabels&&e._hasValues&&(l("label0"),l("dlabel")),f){e._length=f,u(t,e,n,l,!0),l("scalegroup");var p,d=l("text"),m=l("texttemplate");if(m||(p=l("textinfo",i.isArrayOrTypedArray(d)?"text+percent":"percent")),l("hovertext"),l("hovertemplate"),m||p&&"none"!==p){var g=l("textposition");s(t,e,n,l,g,{moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),(Array.isArray(g)||"auto"===g||"outside"===g)&&l("automargin"),("inside"===g||"auto"===g||Array.isArray(g))&&l("insidetextorientation")}else"none"===p&&l("textposition","none");o(e,n,l);var y=l("hole");if(l("title.text")){var v=l("title.position",y?"middle center":"top center");y||"middle center"!==v||(e.title.position="top center"),i.coerceFont(l,"title.font",n.font)}l("sort"),l("direction"),l("rotation"),l("pull")}else e.visible=!1}}},50568:function(t,e,r){"use strict";var n=r(36040).appendArrayMultiPointValues;t.exports=function(t,e){var r={curveNumber:e.index,pointNumbers:t.pts,data:e._input,fullData:e,label:t.label,color:t.color,value:t.v,percent:t.percent,text:t.text,bbox:t.bbox,v:t.v};return 1===t.pts.length&&(r.pointNumber=r.i=t.pts[0]),n(r,e,t.pts),"funnelarea"===e.type&&(delete r.v,delete r.i),r}},75067:function(t,e,r){"use strict";var n=r(62203),i=r(78766);t.exports=function(t,e,r,a){var o=r.marker.pattern;o&&o.shape?n.pointStyle(t,r,a,e):i.fill(t,e.color)}},37252:function(t,e,r){"use strict";var n=r(34809);function i(t){return-1!==t.indexOf("e")?t.replace(/[.]?0+e/,"e"):-1!==t.indexOf(".")?t.replace(/[.]?0+$/,""):t}e.formatPiePercent=function(t,e){var r=i((100*t).toPrecision(3));return n.numSeparate(r,e)+"%"},e.formatPieValue=function(t,e){var r=i(t.toPrecision(10));return n.numSeparate(r,e)},e.getFirstFilled=function(t,e){if(n.isArrayOrTypedArray(t))for(var r=0;r"),name:h.hovertemplate||-1!==f.indexOf("name")?h.name:void 0,idealAlign:t.pxmid[0]<0?"left":"right",color:g.castOption(b.bgcolor,t.pts)||t.color,borderColor:g.castOption(b.bordercolor,t.pts),fontFamily:g.castOption(w.family,t.pts),fontSize:g.castOption(w.size,t.pts),fontColor:g.castOption(w.color,t.pts),nameLength:g.castOption(b.namelength,t.pts),textAlign:g.castOption(b.align,t.pts),hovertemplate:g.castOption(h.hovertemplate,t.pts),hovertemplateLabels:t,eventData:[y(t,h)]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:e,inOut_bbox:T}),t.bbox=T[0],c._hasHoverLabel=!0}c._hasHoverEvent=!0,e.emit("plotly_hover",{points:[y(t,h)],event:n.event})}})),t.on("mouseout",(function(t){var r=e._fullLayout,i=e._fullData[c.index],o=n.select(this).datum();c._hasHoverEvent&&(t.originalEvent=n.event,e.emit("plotly_unhover",{points:[y(o,i)],event:n.event}),c._hasHoverEvent=!1),c._hasHoverLabel&&(a.loneUnhover(r._hoverlayer.node()),c._hasHoverLabel=!1)})),t.on("click",(function(t){var r=e._fullLayout,i=e._fullData[c.index];e._dragging||!1===r.hovermode||(e._hoverdata=[y(t,i)],a.click(e,n.event))}))}function _(t,e,r){var n=g.castOption(t.insidetextfont.color,e.pts);!n&&t._input.textfont&&(n=g.castOption(t._input.textfont.color,e.pts));var i=g.castOption(t.insidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,a=g.castOption(t.insidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,s=g.castOption(t.insidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,l=g.castOption(t.insidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,c=g.castOption(t.insidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant,u=g.castOption(t.insidetextfont.textcase,e.pts)||g.castOption(t.textfont.textcase,e.pts)||r.textcase,h=g.castOption(t.insidetextfont.lineposition,e.pts)||g.castOption(t.textfont.lineposition,e.pts)||r.lineposition,f=g.castOption(t.insidetextfont.shadow,e.pts)||g.castOption(t.textfont.shadow,e.pts)||r.shadow;return{color:n||o.contrast(e.color),family:i,size:a,weight:s,style:l,variant:c,textcase:u,lineposition:h,shadow:f}}function b(t,e){for(var r,n,i=0;ie&&e>n||r=-4;g-=2)y(Math.PI*g,"tan");for(g=4;g>=-4;g-=2)y(Math.PI*(g+1),"tan")}if(h||p){for(g=4;g>=-4;g-=2)y(Math.PI*(g+1.5),"rad");for(g=4;g>=-4;g-=2)y(Math.PI*(g+.5),"rad")}}if(s||d||h){var v=Math.sqrt(t.width*t.width+t.height*t.height);if((a={scale:i*n*2/v,rCenter:1-i,rotate:0}).textPosAngle=(e.startangle+e.stopangle)/2,a.scale>=1)return a;m.push(a)}(d||p)&&((a=T(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,m.push(a)),(d||f)&&((a=k(t,n,o,l,c)).textPosAngle=(e.startangle+e.stopangle)/2,m.push(a));for(var x=0,_=0,b=0;b=1)break}return m[x]}function T(t,e,r,n,i){e=Math.max(0,e-2*m);var a=t.width/t.height,o=S(a,n,e,r);return{scale:2*o/t.height,rCenter:A(a,o/e),rotate:M(i)}}function k(t,e,r,n,i){e=Math.max(0,e-2*m);var a=t.height/t.width,o=S(a,n,e,r);return{scale:2*o/t.width,rCenter:A(a,o/e),rotate:M(i+Math.PI/2)}}function A(t,e){return Math.cos(e)-t*e}function M(t){return(180/Math.PI*t+720)%180-90}function S(t,e,r,n){var i=t+1/(2*Math.tan(e));return r*Math.min(1/(Math.sqrt(i*i+.5)+i),n/(Math.sqrt(t*t+n/2)+t))}function E(t,e){return t.v!==e.vTotal||e.trace.hole?Math.min(1/(1+1/Math.sin(t.halfangle)),t.ring/2):1}function C(t,e){var r=e.pxmid[0],n=e.pxmid[1],i=t.width/2,a=t.height/2;return r<0&&(i*=-1),n<0&&(a*=-1),{scale:1,rCenter:1,rotate:0,x:i+Math.abs(a)*(i>0?1:-1)/2,y:a/(1+r*r/(n*n)),outside:!0}}function L(t,e){var r,n,i,a=t.trace,o={x:t.cx,y:t.cy},s={tx:0,ty:0};s.ty+=a.title.font.size,i=P(a),-1!==a.title.position.indexOf("top")?(o.y-=(1+i)*t.r,s.ty-=t.titleBox.height):-1!==a.title.position.indexOf("bottom")&&(o.y+=(1+i)*t.r);var l,c=t.r/(void 0===(l=t.trace.aspectratio)?1:l),u=e.w*(a.domain.x[1]-a.domain.x[0])/2;return-1!==a.title.position.indexOf("left")?(u+=c,o.x-=(1+i)*c,s.tx+=t.titleBox.width/2):-1!==a.title.position.indexOf("center")?u*=2:-1!==a.title.position.indexOf("right")&&(u+=c,o.x+=(1+i)*c,s.tx-=t.titleBox.width/2),r=u/t.titleBox.width,n=I(t,e)/t.titleBox.height,{x:o.x,y:o.y,scale:Math.min(r,n),tx:s.tx,ty:s.ty}}function I(t,e){var r=t.trace,n=e.h*(r.domain.y[1]-r.domain.y[0]);return Math.min(t.titleBox.height,n/2)}function P(t){var e,r=t.pull;if(!r)return 0;if(l.isArrayOrTypedArray(r))for(r=0,e=0;er&&(r=t.pull[e]);return r}function z(t,e){for(var r=[],n=0;n1?u=(c=r.r)/i.aspectratio:c=(u=r.r)*i.aspectratio,l=(c*=(1+i.baseratio)/2)*u}o=Math.min(o,l/r.vTotal)}for(n=0;n")}if(a){var x=l.castOption(i,e.i,"texttemplate");if(x){var _=function(t){return{label:t.label,value:t.v,valueLabel:g.formatPieValue(t.v,n.separators),percent:t.v/r.vTotal,percentLabel:g.formatPiePercent(t.v/r.vTotal,n.separators),color:t.color,text:t.text,customdata:l.castOption(i,t.i,"customdata")}}(e),b=g.getFirstFilled(i.text,e.pts);(v(b)||""===b)&&(_.text=b),e.text=l.texttemplateString(x,_,t._fullLayout._d3locale,_,i._meta||{})}else e.text=""}}function R(t,e){var r=t.rotate*Math.PI/180,n=Math.cos(r),i=Math.sin(r),a=(e.left+e.right)/2,o=(e.top+e.bottom)/2;t.textX=a*n-o*i,t.textY=a*i+o*n,t.noCenter=!0}t.exports={plot:function(t,e){var r=t._context.staticPlot,a=t._fullLayout,f=a._size;d("pie",a),b(e,t),z(e,f);var m=l.makeTraceGroups(a._pielayer,e,"trace").each((function(e){var d=n.select(this),m=e[0],y=m.trace;!function(t){var e,r,n,i=t[0],a=i.r,o=i.trace,s=g.getRotationAngle(o.rotation),l=2*Math.PI/i.vTotal,c="px0",u="px1";if("counterclockwise"===o.direction){for(e=0;ei.vTotal/2?1:0,r.halfangle=Math.PI*Math.min(r.v/i.vTotal,.5),r.ring=1-o.hole,r.rInscribed=E(r,i))}(e),d.attr("stroke-linejoin","round"),d.each((function(){var v=n.select(this).selectAll("g.slice").data(e);v.enter().append("g").classed("slice",!0),v.exit().remove();var b=[[[],[]],[[],[]]],T=!1;v.each((function(i,o){if(i.hidden)n.select(this).selectAll("path,g").remove();else{i.pointNumber=i.i,i.curveNumber=y.index,b[i.pxmid[1]<0?0:1][i.pxmid[0]<0?0:1].push(i);var c=m.cx,u=m.cy,f=n.select(this),d=f.selectAll("path.surface").data([i]);if(d.enter().append("path").classed("surface",!0).style({"pointer-events":r?"none":"all"}),f.call(x,t,e),y.pull){var v=+g.castOption(y.pull,i.pts)||0;v>0&&(c+=v*i.pxmid[0],u+=v*i.pxmid[1])}i.cxFinal=c,i.cyFinal=u;var k=y.hole;if(i.v===m.vTotal){var A="M"+(c+i.px0[0])+","+(u+i.px0[1])+I(i.px0,i.pxmid,!0,1)+I(i.pxmid,i.px0,!0,1)+"Z";k?d.attr("d","M"+(c+k*i.px0[0])+","+(u+k*i.px0[1])+I(i.px0,i.pxmid,!1,k)+I(i.pxmid,i.px0,!1,k)+"Z"+A):d.attr("d",A)}else{var M=I(i.px0,i.px1,!0,1);if(k){var S=1-k;d.attr("d","M"+(c+k*i.px1[0])+","+(u+k*i.px1[1])+I(i.px1,i.px0,!1,k)+"l"+S*i.px0[0]+","+S*i.px0[1]+M+"Z")}else d.attr("d","M"+c+","+u+"l"+i.px0[0]+","+i.px0[1]+M+"Z")}D(t,i,m);var E=g.castOption(y.textposition,i.pts),L=f.selectAll("g.slicetext").data(i.text&&"none"!==E?[0]:[]);L.enter().append("g").classed("slicetext",!0),L.exit().remove(),L.each((function(){var r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),f=l.ensureUniformFontSize(t,"outside"===E?function(t,e,r){return{color:g.castOption(t.outsidetextfont.color,e.pts)||g.castOption(t.textfont.color,e.pts)||r.color,family:g.castOption(t.outsidetextfont.family,e.pts)||g.castOption(t.textfont.family,e.pts)||r.family,size:g.castOption(t.outsidetextfont.size,e.pts)||g.castOption(t.textfont.size,e.pts)||r.size,weight:g.castOption(t.outsidetextfont.weight,e.pts)||g.castOption(t.textfont.weight,e.pts)||r.weight,style:g.castOption(t.outsidetextfont.style,e.pts)||g.castOption(t.textfont.style,e.pts)||r.style,variant:g.castOption(t.outsidetextfont.variant,e.pts)||g.castOption(t.textfont.variant,e.pts)||r.variant,textcase:g.castOption(t.outsidetextfont.textcase,e.pts)||g.castOption(t.textfont.textcase,e.pts)||r.textcase,lineposition:g.castOption(t.outsidetextfont.lineposition,e.pts)||g.castOption(t.textfont.lineposition,e.pts)||r.lineposition,shadow:g.castOption(t.outsidetextfont.shadow,e.pts)||g.castOption(t.textfont.shadow,e.pts)||r.shadow}}(y,i,a.font):_(y,i,a.font));r.text(i.text).attr({class:"slicetext",transform:"","text-anchor":"middle"}).call(s.font,f).call(h.convertToTspans,t);var d,v=s.bBox(r.node());if("outside"===E)d=C(v,i);else if(d=w(v,i,m),"auto"===E&&d.scale<1){var x=l.ensureUniformFontSize(t,y.outsidetextfont);r.call(s.font,x),d=C(v=s.bBox(r.node()),i)}var b=d.textPosAngle,k=void 0===b?i.pxmid:O(m.r,b);if(d.targetX=c+k[0]*d.rCenter+(d.x||0),d.targetY=u+k[1]*d.rCenter+(d.y||0),R(d,v),d.outside){var A=d.targetY;i.yLabelMin=A-v.height/2,i.yLabelMid=A,i.yLabelMax=A+v.height/2,i.labelExtraX=0,i.labelExtraY=0,T=!0}d.fontSize=f.size,p(y.type,d,a),e[o].transform=d,l.setTransormAndDisplay(r,d)}))}function I(t,e,r,n){var a=n*(e[0]-t[0]),o=n*(e[1]-t[1]);return"a"+n*m.r+","+n*m.r+" 0 "+i.largeArc+(r?" 1 ":" 0 ")+a+","+o}}));var k=n.select(this).selectAll("g.titletext").data(y.title.text?[0]:[]);if(k.enter().append("g").classed("titletext",!0),k.exit().remove(),k.each((function(){var e,r=l.ensureSingle(n.select(this),"text","",(function(t){t.attr("data-notex",1)})),i=y.title.text;y._meta&&(i=l.templateString(i,y._meta)),r.text(i).attr({class:"titletext",transform:"","text-anchor":"middle"}).call(s.font,y.title.font).call(h.convertToTspans,t),e="middle center"===y.title.position?function(t){var e=Math.sqrt(t.titleBox.width*t.titleBox.width+t.titleBox.height*t.titleBox.height);return{x:t.cx,y:t.cy,scale:t.trace.hole*t.r*2/e,tx:0,ty:-t.titleBox.height/2+t.trace.title.font.size}}(m):L(m,f),r.attr("transform",u(e.x,e.y)+c(Math.min(1,e.scale))+u(e.tx,e.ty))})),T&&function(t,e){var r,n,i,a,o,s,c,u,h,f,p,d,m;function y(t,e){return t.pxmid[1]-e.pxmid[1]}function v(t,e){return e.pxmid[1]-t.pxmid[1]}function x(t,r){r||(r={});var i,u,h,p,d=r.labelExtraY+(n?r.yLabelMax:r.yLabelMin),m=n?t.yLabelMin:t.yLabelMax,y=n?t.yLabelMax:t.yLabelMin,v=t.cyFinal+o(t.px0[1],t.px1[1]),x=d-m;if(x*c>0&&(t.labelExtraY=x),l.isArrayOrTypedArray(e.pull))for(u=0;u=(g.castOption(e.pull,h.pts)||0)||((t.pxmid[1]-h.pxmid[1])*c>0?(x=h.cyFinal+o(h.px0[1],h.px1[1])-m-t.labelExtraY)*c>0&&(t.labelExtraY+=x):(y+t.labelExtraY-v)*c>0&&(i=3*s*Math.abs(u-f.indexOf(t)),(p=h.cxFinal+a(h.px0[0],h.px1[0])+i-(t.cxFinal+t.pxmid[0])-t.labelExtraX)*s>0&&(t.labelExtraX+=p)))}for(n=0;n<2;n++)for(i=n?y:v,o=n?Math.max:Math.min,c=n?1:-1,r=0;r<2;r++){for(a=r?Math.max:Math.min,s=r?1:-1,(u=t[n][r]).sort(i),h=t[1-n][r],f=h.concat(u),d=[],p=0;pMath.abs(h)?s+="l"+h*t.pxmid[0]/t.pxmid[1]+","+h+"H"+(a+t.labelExtraX+c):s+="l"+t.labelExtraX+","+u+"v"+(h-u)+"h"+c}else s+="V"+(t.yLabelMid+t.labelExtraY)+"h"+c;l.ensureSingle(r,"path","textline").call(o.stroke,e.outsidetextfont.color).attr({"stroke-width":Math.min(2,e.outsidetextfont.size/8),d:s,fill:"none"})}else r.select("path.textline").remove()}))}(v,y),T&&y.automargin){var A=s.bBox(d.node()),M=y.domain,S=f.w*(M.x[1]-M.x[0]),E=f.h*(M.y[1]-M.y[0]),I=(.5*S-m.r)/f.w,P=(.5*E-m.r)/f.h;i.autoMargin(t,"pie."+y.uid+".automargin",{xl:M.x[0]-I,xr:M.x[1]+I,yb:M.y[0]-P,yt:M.y[1]+P,l:Math.max(m.cx-m.r-A.left,0),r:Math.max(A.right-(m.cx+m.r),0),b:Math.max(A.bottom-(m.cy+m.r),0),t:Math.max(m.cy-m.r-A.top,0),pad:5})}}))}));setTimeout((function(){m.selectAll("tspan").each((function(){var t=n.select(this);t.attr("dy")&&t.attr("dy",t.attr("dy"))}))}),0)},formatSliceLabel:D,transformInsideText:w,determineInsideTextFont:_,positionTitleOutside:L,prerenderTitles:b,layoutAreas:z,attachFxHandlers:x,computeTransform:R}},140:function(t,e,r){"use strict";var n=r(45568),i=r(32891),a=r(84102).resizeText;t.exports=function(t){var e=t._fullLayout._pielayer.selectAll(".trace");a(t,e,"pie"),e.each((function(e){var r=e[0].trace,a=n.select(this);a.style({opacity:r.opacity}),a.selectAll("path.surface").each((function(e){n.select(this).call(i,e,r,t)}))}))}},32891:function(t,e,r){"use strict";var n=r(78766),i=r(37252).castOption,a=r(75067);t.exports=function(t,e,r,o){var s=r.marker.line,l=i(s.color,e.pts)||n.defaultLine,c=i(s.width,e.pts)||0;t.call(a,e,r,o).style("stroke-width",c).call(n.stroke,l)}},36961:function(t,e,r){"use strict";var n=r(36640);t.exports={x:n.x,y:n.y,xy:{valType:"data_array",editType:"calc"},indices:{valType:"data_array",editType:"calc"},xbounds:{valType:"data_array",editType:"calc"},ybounds:{valType:"data_array",editType:"calc"},text:n.text,marker:{color:{valType:"color",arrayOk:!1,editType:"calc"},opacity:{valType:"number",min:0,max:1,dflt:1,arrayOk:!1,editType:"calc"},blend:{valType:"boolean",dflt:null,editType:"calc"},sizemin:{valType:"number",min:.1,max:2,dflt:.5,editType:"calc"},sizemax:{valType:"number",min:.1,dflt:20,editType:"calc"},border:{color:{valType:"color",arrayOk:!1,editType:"calc"},arearatio:{valType:"number",min:0,max:1,dflt:0,editType:"calc"},editType:"calc"},editType:"calc"},transforms:void 0}},71593:function(t,e,r){"use strict";var n=r(99098).gl_pointcloud2d,i=r(34809).isArrayOrTypedArray,a=r(55010),o=r(32919).findExtremes,s=r(11539);function l(t,e){this.scene=t,this.uid=e,this.type="pointcloud",this.pickXData=[],this.pickYData=[],this.xData=[],this.yData=[],this.textLabels=[],this.color="rgb(0, 0, 0)",this.name="",this.hoverinfo="all",this.idToIndex=new Int32Array(0),this.bounds=[0,0,0,0],this.pointcloudOptions={positions:new Float32Array(0),idToIndex:this.idToIndex,sizemin:.5,sizemax:12,color:[0,0,0,1],areaRatio:1,borderColor:[0,0,0,1]},this.pointcloud=n(t.glplot,this.pointcloudOptions),this.pointcloud._trace=this}var c=l.prototype;c.handlePick=function(t){var e=this.idToIndex[t.pointId];return{trace:this,dataCoord:t.dataCoord,traceCoord:this.pickXYData?[this.pickXYData[2*e],this.pickXYData[2*e+1]]:[this.pickXData[e],this.pickYData[e]],textLabel:i(this.textLabels)?this.textLabels[e]:this.textLabels,color:this.color,name:this.name,pointIndex:e,hoverinfo:this.hoverinfo}},c.update=function(t){this.index=t.index,this.textLabels=t.text,this.name=t.name,this.hoverinfo=t.hoverinfo,this.bounds=[1/0,1/0,-1/0,-1/0],this.updateFast(t),this.color=s(t,{})},c.updateFast=function(t){var e,r,n,i,s,l,c=this.xData=this.pickXData=t.x,u=this.yData=this.pickYData=t.y,h=this.pickXYData=t.xy,f=t.xbounds&&t.ybounds,p=t.indices,d=this.bounds;if(h){if(n=h,e=h.length>>>1,f)d[0]=t.xbounds[0],d[2]=t.xbounds[1],d[1]=t.ybounds[0],d[3]=t.ybounds[1];else for(l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);if(p)r=p;else for(r=new Int32Array(e),l=0;ld[2]&&(d[2]=i),sd[3]&&(d[3]=s);this.idToIndex=r,this.pointcloudOptions.idToIndex=r,this.pointcloudOptions.positions=n;var m=a(t.marker.color),g=a(t.marker.border.color),y=t.opacity*t.marker.opacity;m[3]*=y,this.pointcloudOptions.color=m;var v=t.marker.blend;null===v&&(v=c.length<100||u.length<100),this.pointcloudOptions.blend=v,g[3]*=y,this.pointcloudOptions.borderColor=g;var x=t.marker.sizemin,_=Math.max(t.marker.sizemax,t.marker.sizemin);this.pointcloudOptions.sizeMin=x,this.pointcloudOptions.sizeMax=_,this.pointcloudOptions.areaRatio=t.marker.border.arearatio,this.pointcloud.update(this.pointcloudOptions);var b=this.scene.xaxis,w=this.scene.yaxis,T=_/2||.5;t._extremes[b._id]=o(b,[d[0],d[2]],{ppad:T}),t._extremes[w._id]=o(w,[d[1],d[3]],{ppad:T})},c.dispose=function(){this.pointcloud.dispose()},t.exports=function(t,e){var r=new l(t,e.uid);return r.update(e),r}},75526:function(t,e,r){"use strict";var n=r(34809),i=r(36961);t.exports=function(t,e,r){function a(r,a){return n.coerce(t,e,i,r,a)}a("x"),a("y"),a("xbounds"),a("ybounds"),t.xy&&t.xy instanceof Float32Array&&(e.xy=t.xy),t.indices&&t.indices instanceof Int32Array&&(e.indices=t.indices),a("text"),a("marker.color",r),a("marker.opacity"),a("marker.blend"),a("marker.sizemin"),a("marker.sizemax"),a("marker.border.color",r),a("marker.border.arearatio"),e._length=null}},15186:function(t,e,r){"use strict";["*pointcloud* trace is deprecated!","Please consider switching to the *scattergl* trace type."].join(" "),t.exports={attributes:r(36961),supplyDefaults:r(75526),calc:r(37593),plot:r(71593),moduleType:"trace",name:"pointcloud",basePlotModule:r(24585),categories:["gl","gl2d","showLegend"],meta:{}}},33795:function(t,e,r){"use strict";var n=r(80337),i=r(9829),a=r(10229),o=r(70192),s=r(13792).u,l=r(3208).rb,c=r(87163),u=r(78032).templatedArray,h=r(80712).descriptionOnlyNumbers,f=r(93049).extendFlat,p=r(13582).overrideAll;(t.exports=p({hoverinfo:f({},i.hoverinfo,{flags:[],arrayOk:!1}),hoverlabel:o.hoverlabel,domain:s({name:"sankey",trace:!0}),orientation:{valType:"enumerated",values:["v","h"],dflt:"h"},valueformat:{valType:"string",dflt:".3s",description:h("value")},valuesuffix:{valType:"string",dflt:""},arrangement:{valType:"enumerated",values:["snap","perpendicular","freeform","fixed"],dflt:"snap"},textfont:n({autoShadowDflt:!0}),customdata:void 0,node:{label:{valType:"data_array",dflt:[]},groups:{valType:"info_array",impliedEdits:{x:[],y:[]},dimensions:2,freeLength:!0,dflt:[],items:{valType:"number",editType:"calc"}},x:{valType:"data_array",dflt:[]},y:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:.5,arrayOk:!0}},pad:{valType:"number",arrayOk:!1,min:0,dflt:20},thickness:{valType:"number",arrayOk:!1,min:1,dflt:20},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),align:{valType:"enumerated",values:["justify","left","right","center"],dflt:"justify"}},link:{arrowlen:{valType:"number",min:0,dflt:0},label:{valType:"data_array",dflt:[]},color:{valType:"color",arrayOk:!0},hovercolor:{valType:"color",arrayOk:!0},customdata:{valType:"data_array",editType:"calc"},line:{color:{valType:"color",dflt:a.defaultLine,arrayOk:!0},width:{valType:"number",min:0,dflt:0,arrayOk:!0}},source:{valType:"data_array",dflt:[]},target:{valType:"data_array",dflt:[]},value:{valType:"data_array",dflt:[]},hoverinfo:{valType:"enumerated",values:["all","none","skip"],dflt:"all"},hoverlabel:o.hoverlabel,hovertemplate:l({},{keys:["value","label"]}),colorscales:u("concentrationscales",{editType:"calc",label:{valType:"string",editType:"calc",dflt:""},cmax:{valType:"number",editType:"calc",dflt:1},cmin:{valType:"number",editType:"calc",dflt:0},colorscale:f(c().colorscale,{dflt:[[0,"white"],[1,"black"]]})})}},"calc","nested")).transforms=void 0},42229:function(t,e,r){"use strict";var n=r(13582).overrideAll,i=r(4173).eV,a=r(16506),o=r(6811),s=r(27983),l=r(14751),c=r(44844).prepSelect,u=r(34809),h=r(33626),f="sankey";function p(t,e){var r=t._fullData[e],n=t._fullLayout,i=n.dragmode,a="pan"===n.dragmode?"move":"crosshair",o=r._bgRect;if(o&&"pan"!==i&&"zoom"!==i){s(o,a);var f={_id:"x",c2p:u.identity,_offset:r._sankey.translateX,_length:r._sankey.width},p={_id:"y",c2p:u.identity,_offset:r._sankey.translateY,_length:r._sankey.height},d={gd:t,element:o.node(),plotinfo:{id:e,xaxis:f,yaxis:p,fillRangeItems:u.noop},subplot:e,xaxes:[f],yaxes:[p],doneFnCompleted:function(r){var n,i=t._fullData[e],a=i.node.groups.slice(),o=[];function s(t){for(var e=i._sankey.graph.nodes,r=0;rx&&(x=a.source[e]),a.target[e]>x&&(x=a.target[e]);var _,b=x+1;t.node._count=b;var w=t.node.groups,T={};for(e=0;e0&&s(C,b)&&s(L,b)&&(!T.hasOwnProperty(C)||!T.hasOwnProperty(L)||T[C]!==T[L])){T.hasOwnProperty(L)&&(L=T[L]),T.hasOwnProperty(C)&&(C=T[C]),L=+L,p[C=+C]=p[L]=!0;var I="";a.label&&a.label[e]&&(I=a.label[e]);var P=null;I&&d.hasOwnProperty(I)&&(P=d[I]),c.push({pointNumber:e,label:I,color:u?a.color[e]:a.color,hovercolor:h?a.hovercolor[e]:a.hovercolor,customdata:f?a.customdata[e]:a.customdata,concentrationscale:P,source:C,target:L,value:+E}),S.source.push(C),S.target.push(L)}}var z=b+w.length,O=o(r.color),D=o(r.customdata),R=[];for(e=0;eb-1,childrenNodes:[],pointNumber:e,label:F,color:O?r.color[e]:r.color,customdata:D?r.customdata[e]:r.customdata})}var B=!1;return function(t,e,r){for(var a=i.init2dArray(t,0),o=0;o1}))}(z,S.source,S.target)&&(B=!0),{circular:B,links:c,nodes:R,groups:w,groupLookup:T}}(e);return a({circular:r.circular,_nodes:r.nodes,_links:r.links,_groups:r.groups,_groupLookup:r.groupLookup})}},21541:function(t){"use strict";t.exports={nodeTextOffsetHorizontal:4,nodeTextOffsetVertical:3,nodePadAcross:10,sankeyIterations:50,forceIterations:5,forceTicksPerFrame:10,duration:500,ease:"linear",cn:{sankey:"sankey",sankeyLinks:"sankey-links",sankeyLink:"sankey-link",sankeyNodeSet:"sankey-node-set",sankeyNode:"sankey-node",nodeRect:"node-rect",nodeLabel:"node-label"}}},67940:function(t,e,r){"use strict";var n=r(34809),i=r(33795),a=r(78766),o=r(65657),s=r(13792).N,l=r(26430),c=r(78032),u=r(59008);function h(t,e){function r(r,a){return n.coerce(t,e,i.link.colorscales,r,a)}r("label"),r("cmin"),r("cmax"),r("colorscale")}t.exports=function(t,e,r,f){function p(r,a){return n.coerce(t,e,i,r,a)}var d=n.extendDeep(f.hoverlabel,t.hoverlabel),m=t.node,g=c.newContainer(e,"node");function y(t,e){return n.coerce(m,g,i.node,t,e)}y("label"),y("groups"),y("x"),y("y"),y("pad"),y("thickness"),y("line.color"),y("line.width"),y("hoverinfo",t.hoverinfo),l(m,g,y,d),y("hovertemplate"),y("align");var v=f.colorway;y("color",g.label.map((function(t,e){return a.addOpacity(function(t){return v[t%v.length]}(e),.8)}))),y("customdata");var x=t.link||{},_=c.newContainer(e,"link");function b(t,e){return n.coerce(x,_,i.link,t,e)}b("label"),b("arrowlen"),b("source"),b("target"),b("value"),b("line.color"),b("line.width"),b("hoverinfo",t.hoverinfo),l(x,_,b,d),b("hovertemplate");var w,T=o(f.paper_bgcolor).getLuminance()<.333,k=b("color",T?"rgba(255, 255, 255, 0.6)":"rgba(0, 0, 0, 0.2)");function A(t){var e=o(t);if(!e.isValid())return t;var r=e.getAlpha();return r<=.8?e.setAlpha(r+.2):e=T?e.brighten():e.darken(),e.toRgbString()}b("hovercolor",Array.isArray(k)?k.map(A):A(k)),b("customdata"),u(x,_,{name:"colorscales",handleItemDefaults:h}),s(e,f,p),p("orientation"),p("valueformat"),p("valuesuffix"),g.x.length&&g.y.length&&(w="freeform"),p("arrangement",w),n.coerceFont(p,"textfont",f.font,{autoShadowDflt:!0}),e._length=null}},71760:function(t,e,r){"use strict";t.exports={attributes:r(33795),supplyDefaults:r(67940),calc:r(22915),plot:r(16506),moduleType:"trace",name:"sankey",basePlotModule:r(42229),selectPoints:r(74670),categories:["noOpacity"],meta:{}}},16506:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=i.numberFormat,o=r(90958),s=r(32141),l=r(78766),c=r(21541).cn,u=i._;function h(t){return""!==t}function f(t,e){return t.filter((function(t){return t.key===e.traceId}))}function p(t,e){n.select(t).select("path").style("fill-opacity",e),n.select(t).select("rect").style("fill-opacity",e)}function d(t){n.select(t).select("text.name").style("fill","black")}function m(t){return function(e){return-1!==t.node.sourceLinks.indexOf(e.link)||-1!==t.node.targetLinks.indexOf(e.link)}}function g(t){return function(e){return-1!==e.node.sourceLinks.indexOf(t.link)||-1!==e.node.targetLinks.indexOf(t.link)}}function y(t,e,r){e&&r&&f(r,e).selectAll("."+c.sankeyLink).filter(m(e)).call(x.bind(0,e,r,!1))}function v(t,e,r){e&&r&&f(r,e).selectAll("."+c.sankeyLink).filter(m(e)).call(_.bind(0,e,r,!1))}function x(t,e,r,n){n.style("fill",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha})),n.each((function(r){var n=r.link.label;""!==n&&f(e,t).selectAll("."+c.sankeyLink).filter((function(t){return t.link.label===n})).style("fill",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverHue})).style("fill-opacity",(function(t){if(!t.link.concentrationscale)return t.tinyColorHoverAlpha}))})),r&&f(e,t).selectAll("."+c.sankeyNode).filter(g(t)).call(y)}function _(t,e,r,n){n.style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha})),n.each((function(r){var n=r.link.label;""!==n&&f(e,t).selectAll("."+c.sankeyLink).filter((function(t){return t.link.label===n})).style("fill",(function(t){return t.tinyColorHue})).style("fill-opacity",(function(t){return t.tinyColorAlpha}))})),r&&f(e,t).selectAll(c.sankeyNode).filter(g(t)).call(v)}function b(t,e){var r=t.hoverlabel||{},n=i.nestedProperty(r,e).get();return!Array.isArray(n)&&n}t.exports=function(t,e){for(var r=t._fullLayout,i=r._paper,f=r._size,m=0;m"),color:b(o,"bgcolor")||l.addOpacity(m.color,1),borderColor:b(o,"bordercolor"),fontFamily:b(o,"font.family"),fontSize:b(o,"font.size"),fontColor:b(o,"font.color"),fontWeight:b(o,"font.weight"),fontStyle:b(o,"font.style"),fontVariant:b(o,"font.variant"),fontTextcase:b(o,"font.textcase"),fontLineposition:b(o,"font.lineposition"),fontShadow:b(o,"font.shadow"),nameLength:b(o,"namelength"),textAlign:b(o,"align"),idealAlign:n.event.x"),color:b(o,"bgcolor")||i.tinyColorHue,borderColor:b(o,"bordercolor"),fontFamily:b(o,"font.family"),fontSize:b(o,"font.size"),fontColor:b(o,"font.color"),fontWeight:b(o,"font.weight"),fontStyle:b(o,"font.style"),fontVariant:b(o,"font.variant"),fontTextcase:b(o,"font.textcase"),fontLineposition:b(o,"font.lineposition"),fontShadow:b(o,"font.shadow"),nameLength:b(o,"namelength"),textAlign:b(o,"align"),idealAlign:"left",hovertemplate:o.hovertemplate,hovertemplateLabels:v,eventData:[i.node]},{container:r._hoverlayer.node(),outerContainer:r._paper.node(),gd:t});p(w,.85),d(w)}}},unhover:function(e,i,a){!1!==t._fullLayout.hovermode&&(n.select(e).call(v,i,a),"skip"!==i.node.trace.node.hoverinfo&&(i.node.fullData=i.node.trace,t.emit("plotly_unhover",{event:n.event,points:[i.node]})),s.loneUnhover(r._hoverlayer.node()))},select:function(e,r,i){var a=r.node;a.originalEvent=n.event,t._hoverdata=[a],n.select(e).call(v,r,i),s.click(t,{target:!0})}}})}},90958:function(t,e,r){"use strict";var n=r(32702),i=r(88640).Dj,a=r(45568),o=r(62369),s=r(68735),l=r(21541),c=r(65657),u=r(78766),h=r(62203),f=r(34809),p=f.strTranslate,d=f.strRotate,m=r(71293),g=m.keyFun,y=m.repeat,v=m.unwrap,x=r(30635),_=r(33626),b=r(4530),w=b.CAP_SHIFT,T=b.LINE_SPACING;function k(t,e,r){var n,i=v(e),a=i.trace,u=a.domain,h="h"===a.orientation,p=a.node.pad,d=a.node.thickness,m={justify:o.sankeyJustify,left:o.sankeyLeft,right:o.sankeyRight,center:o.sankeyCenter}[a.node.align],g=t.width*(u.x[1]-u.x[0]),y=t.height*(u.y[1]-u.y[0]),x=i._nodes,_=i._links,b=i.circular;(n=b?s.sankeyCircular().circularLinkGap(0):o.sankey()).iterations(l.sankeyIterations).size(h?[g,y]:[y,g]).nodeWidth(d).nodePadding(p).nodeId((function(t){return t.pointNumber})).nodeAlign(m).nodes(x).links(_);var w,T,k,A=n();for(var M in n.nodePadding()o+d&&(a+=1,e=s.x0),o=s.x0,i[a]||(i[a]=[]),i[a].push(s),r=e-s.x0,s.x0+=r,s.x1+=r}return i}(x=A.nodes).forEach((function(t){var e,r,n,i=0,a=t.length;for(t.sort((function(t,e){return t.y0-e.y0})),n=0;n=i||(r=i-e.y0)>1e-6&&(e.y0+=r,e.y1+=r),i=e.y1+p})),n.update(A)}return{circular:b,key:r,trace:a,guid:f.randstr(),horizontal:h,width:g,height:y,nodePad:a.node.pad,nodeLineColor:a.node.line.color,nodeLineWidth:a.node.line.width,linkLineColor:a.link.line.color,linkLineWidth:a.link.line.width,linkArrowLength:a.link.arrowlen,valueFormat:a.valueformat,valueSuffix:a.valuesuffix,textFont:a.textfont,translateX:u.x[0]*t.width+t.margin.l,translateY:t.height-u.y[1]*t.height+t.margin.t,dragParallel:h?y:g,dragPerpendicular:h?g:y,arrangement:a.arrangement,sankey:n,graph:A,forceLayouts:{},interactionState:{dragInProgress:!1,hovered:!1}}}function A(t,e,r){var n=c(e.color),i=c(e.hovercolor),a=e.source.label+"|"+e.target.label+"__"+r;return e.trace=t.trace,e.curveNumber=t.trace.index,{circular:t.circular,key:a,traceId:t.key,pointNumber:e.pointNumber,link:e,tinyColorHue:u.tinyRGB(n),tinyColorAlpha:n.getAlpha(),tinyColorHoverHue:u.tinyRGB(i),tinyColorHoverAlpha:i.getAlpha(),linkPath:M,linkLineColor:t.linkLineColor,linkLineWidth:t.linkLineWidth,linkArrowLength:t.linkArrowLength,valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,parent:t,interactionState:t.interactionState,flow:e.flow}}function M(){return function(t){var e=t.linkArrowLength;if(t.link.circular)return function(t,e){var r=t.width/2,n=t.circularPathData;return"top"===t.circularLinkType?"M "+(n.targetX-e)+" "+(n.targetY+r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 1 "+(n.rightFullExtent-r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 1 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY-n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.leftInnerExtent+" "+(n.sourceY-r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 0 "+(n.leftFullExtent-r)+" "+(n.sourceY-n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 0 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY-n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"L"+(n.targetX-e)+" "+(n.targetY-r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z":"M "+(n.targetX-e)+" "+(n.targetY-r)+" L"+(n.rightInnerExtent-e)+" "+(n.targetY-r)+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightSmallArcRadius+r)+" 0 0 0 "+(n.rightFullExtent-r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"L"+(n.rightFullExtent-r-e)+" "+n.verticalRightInnerExtent+"A"+(n.rightLargeArcRadius+r)+" "+(n.rightLargeArcRadius+r)+" 0 0 0 "+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent+r)+"L"+n.leftInnerExtent+" "+(n.verticalFullExtent+r)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftLargeArcRadius+r)+" 0 0 0 "+(n.leftFullExtent+r)+" "+n.verticalLeftInnerExtent+"L"+(n.leftFullExtent+r)+" "+(n.sourceY+n.leftSmallArcRadius)+"A"+(n.leftLargeArcRadius+r)+" "+(n.leftSmallArcRadius+r)+" 0 0 0 "+n.leftInnerExtent+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY-r)+"L"+n.sourceX+" "+(n.sourceY+r)+"L"+n.leftInnerExtent+" "+(n.sourceY+r)+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftSmallArcRadius-r)+" 0 0 1 "+(n.leftFullExtent-r)+" "+(n.sourceY+n.leftSmallArcRadius)+"L"+(n.leftFullExtent-r)+" "+n.verticalLeftInnerExtent+"A"+(n.leftLargeArcRadius-r)+" "+(n.leftLargeArcRadius-r)+" 0 0 1 "+n.leftInnerExtent+" "+(n.verticalFullExtent-r)+"L"+(n.rightInnerExtent-e)+" "+(n.verticalFullExtent-r)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightLargeArcRadius-r)+" 0 0 1 "+(n.rightFullExtent+r-e)+" "+n.verticalRightInnerExtent+"L"+(n.rightFullExtent+r-e)+" "+(n.targetY+n.rightSmallArcRadius)+"A"+(n.rightLargeArcRadius-r)+" "+(n.rightSmallArcRadius-r)+" 0 0 1 "+(n.rightInnerExtent-e)+" "+(n.targetY+r)+"L"+(n.targetX-e)+" "+(n.targetY+r)+(e>0?"L"+n.targetX+" "+n.targetY:"")+"Z"}(t.link,e);var r=Math.abs((t.link.target.x0-t.link.source.x1)/2);e>r&&(e=r);var n=t.link.source.x1,a=t.link.target.x0-e,o=i(n,a),s=o(.5),l=o(.5),c=t.link.y0-t.link.width/2,u=t.link.y0+t.link.width/2,h=t.link.y1-t.link.width/2,f=t.link.y1+t.link.width/2,p="M"+n+","+c,d="C"+s+","+c+" "+l+","+h+" "+a+","+h,m="C"+l+","+f+" "+s+","+u+" "+n+","+u,g=e>0?"L"+(a+e)+","+(h+t.link.width/2):"";return p+d+(g+="L"+a+","+f)+m+"Z"}}function S(t,e){var r=c(e.color),n=l.nodePadAcross,i=t.nodePad/2;e.dx=e.x1-e.x0,e.dy=e.y1-e.y0;var a=e.dx,o=Math.max(.5,e.dy),s="node_"+e.pointNumber;return e.group&&(s=f.randstr()),e.trace=t.trace,e.curveNumber=t.trace.index,{index:e.pointNumber,key:s,partOfGroup:e.partOfGroup||!1,group:e.group,traceId:t.key,trace:t.trace,node:e,nodePad:t.nodePad,nodeLineColor:t.nodeLineColor,nodeLineWidth:t.nodeLineWidth,textFont:t.textFont,size:t.horizontal?t.height:t.width,visibleWidth:Math.ceil(a),visibleHeight:o,zoneX:-n,zoneY:-i,zoneWidth:a+2*n,zoneHeight:o+2*i,labelY:t.horizontal?e.dy/2+1:e.dx/2+1,left:1===e.originalLayer,sizeAcross:t.width,forceLayouts:t.forceLayouts,horizontal:t.horizontal,darkBackground:r.getBrightness()<=128,tinyColorHue:u.tinyRGB(r),tinyColorAlpha:r.getAlpha(),valueFormat:t.valueFormat,valueSuffix:t.valueSuffix,sankey:t.sankey,graph:t.graph,arrangement:t.arrangement,uniqueNodeLabelPathId:[t.guid,t.key,s].join("_"),interactionState:t.interactionState,figure:t}}function E(t){t.attr("transform",(function(t){return p(t.node.x0.toFixed(3),t.node.y0.toFixed(3))}))}function C(t){t.call(E)}function L(t,e){t.call(C),e.attr("d",M())}function I(t){t.attr("width",(function(t){return t.node.x1-t.node.x0})).attr("height",(function(t){return t.visibleHeight}))}function P(t){return t.link.width>1||t.linkLineWidth>0}function z(t){return p(t.translateX,t.translateY)+(t.horizontal?"matrix(1 0 0 1 0 0)":"matrix(0 1 1 0 0 0)")}function O(t,e,r){t.on(".basic",null).on("mouseover.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.hover(this,t,e),t.interactionState.hovered=[this,t])})).on("mousemove.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.follow(this,t),t.interactionState.hovered=[this,t])})).on("mouseout.basic",(function(t){t.interactionState.dragInProgress||t.partOfGroup||(r.unhover(this,t,e),t.interactionState.hovered=!1)})).on("click.basic",(function(t){t.interactionState.hovered&&(r.unhover(this,t,e),t.interactionState.hovered=!1),t.interactionState.dragInProgress||t.partOfGroup||r.select(this,t,e)}))}function D(t,e,r,i){var o=a.behavior.drag().origin((function(t){return{x:t.node.x0+t.visibleWidth/2,y:t.node.y0+t.visibleHeight/2}})).on("dragstart",(function(a){if("fixed"!==a.arrangement&&(f.ensureSingle(i._fullLayout._infolayer,"g","dragcover",(function(t){i._fullLayout._dragCover=t})),f.raiseToTop(this),a.interactionState.dragInProgress=a.node,F(a.node),a.interactionState.hovered&&(r.nodeEvents.unhover.apply(0,a.interactionState.hovered),a.interactionState.hovered=!1),"snap"===a.arrangement)){var o=a.traceId+"|"+a.key;a.forceLayouts[o]?a.forceLayouts[o].alpha(1):function(t,e,r,i){!function(t){for(var e=0;e0&&n.forceLayouts[e].alpha(0)}}(0,e,a,r)).stop()}(0,o,a),function(t,e,r,n,i){window.requestAnimationFrame((function a(){var o;for(o=0;o0)window.requestAnimationFrame(a);else{var s=r.node.originalX;r.node.x0=s-r.visibleWidth/2,r.node.x1=s+r.visibleWidth/2,R(r,i)}}))}(t,e,a,o,i)}})).on("drag",(function(r){if("fixed"!==r.arrangement){var n=a.event.x,i=a.event.y;"snap"===r.arrangement?(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2,r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2):("freeform"===r.arrangement&&(r.node.x0=n-r.visibleWidth/2,r.node.x1=n+r.visibleWidth/2),i=Math.max(0,Math.min(r.size-r.visibleHeight/2,i)),r.node.y0=i-r.visibleHeight/2,r.node.y1=i+r.visibleHeight/2),F(r.node),"snap"!==r.arrangement&&(r.sankey.update(r.graph),L(t.filter(B(r)),e))}})).on("dragend",(function(t){if("fixed"!==t.arrangement){t.interactionState.dragInProgress=!1;for(var e=0;el&&L[y].gap;)y--;for(x=L[y].s,m=L.length-1;m>y;m--)L[m].s=x;for(;lS[h]&&h=0;h--){var f=t[h];if("scatter"===f.type&&f.xaxis===c.xaxis&&f.yaxis===c.yaxis){f.opacity=void 0;break}}}}}},40247:function(t,e,r){"use strict";var n=r(34809),i=r(33626),a=r(36640),o=r(32660),s=r(64726),l=r(99867),c=r(99669),u=r(382),h=r(24272),f=r(98168),p=r(91602),d=r(663),m=r(54114),g=r(34809).coercePattern;t.exports=function(t,e,r,y){function v(r,i){return n.coerce(t,e,a,r,i)}var x=l(t,e,y,v);if(x||(e.visible=!1),e.visible){c(t,e,y,v),v("xhoverformat"),v("yhoverformat"),v("zorder");var _=u(t,e,y,v);"group"===y.scattermode&&void 0===e.orientation&&v("orientation","v");var b=!_&&x=Math.min(e,r)&&d<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(f.c2p(t.x)-d);return a=Math.min(e,r)&&m<=Math.max(e,r)?0:1/0}var n=Math.max(3,t.mrc||0),i=1-1/n,a=Math.abs(p.c2p(t.y)-m);return ar!=(c=i[n][1])>=r&&(o=i[n-1][0],s=i[n][0],c-l&&(a=o+(s-o)*(r-l)/(c-l),h=Math.min(h,a),d=Math.max(d,a)));return{x0:h=Math.max(h,0),x1:d=Math.min(d,f._length),y0:r,y1:r}}(h._polygons);null===P&&(P={x0:g[0],x1:g[0],y0:g[1],y1:g[1]});var z=s.defaultLine;return s.opacity(h.fillcolor)?z=h.fillcolor:s.opacity((h.line||{}).color)&&(z=h.line.color),n.extendFlat(t,{distance:t.maxHoverDistance,x0:P.x0,x1:P.x1,y0:P.y0,y1:P.y1,color:z,hovertemplate:!1}),delete t.index,h.text&&!n.isArrayOrTypedArray(h.text)?t.text=String(h.text):t.text=h.name,[t]}}},69693:function(t,e,r){"use strict";var n=r(64726);t.exports={hasLines:n.hasLines,hasMarkers:n.hasMarkers,hasText:n.hasText,isBubble:n.isBubble,attributes:r(36640),layoutAttributes:r(26667),supplyDefaults:r(40247),crossTraceDefaults:r(53044),supplyLayoutDefaults:r(12332),calc:r(26544).calc,crossTraceCalc:r(75603),arraysToCalcdata:r(99203),plot:r(36098),colorbar:r(21146),formatLabels:r(15294),style:r(9408).style,styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(37255),selectPoints:r(32665),animatable:!0,moduleType:"trace",name:"scatter",basePlotModule:r(37703),categories:["cartesian","svg","symbols","errorBarsOK","showLegend","scatter-like","zoomScale"],meta:{}}},26667:function(t){"use strict";t.exports={scattermode:{valType:"enumerated",values:["group","overlay"],dflt:"overlay",editType:"calc"},scattergap:{valType:"number",min:0,max:1,editType:"calc"}}},12332:function(t,e,r){"use strict";var n=r(34809),i=r(26667);t.exports=function(t,e){var r,a="group"===e.barmode;"group"===e.scattermode&&("scattergap",r=a?e.bargap:.2,n.coerce(t,e,i,"scattergap",r))}},98168:function(t,e,r){"use strict";var n=r(34809).isArrayOrTypedArray,i=r(65477).hasColorscale,a=r(39356);t.exports=function(t,e,r,o,s,l){l||(l={});var c=(t.marker||{}).color;c&&c._inputArray&&(c=c._inputArray),s("line.color",r),i(t,"line")?a(t,e,o,s,{prefix:"line.",cLetter:"c"}):s("line.color",!n(c)&&c||r),s("line.width"),l.noDash||s("line.dash"),l.backoff&&s("line.backoff")}},5525:function(t,e,r){"use strict";var n=r(62203),i=r(63821),a=i.BADNUM,o=i.LOG_CLIP,s=o+.5,l=o-.5,c=r(34809),u=c.segmentsIntersect,h=c.constrain,f=r(32660);t.exports=function(t,e){var r,i,o,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E=e.trace||{},C=e.xaxis,L=e.yaxis,I="log"===C.type,P="log"===L.type,z=C._length,O=L._length,D=e.backoff,R=E.marker,F=e.connectGaps,B=e.baseTolerance,N=e.shape,j="linear"===N,U=E.fill&&"none"!==E.fill,V=[],q=f.minTolerance,H=t.length,G=new Array(H),Z=0;function W(r){var n=t[r];if(!n)return!1;var i=e.linearized?C.l2p(n.x):C.c2p(n.x),o=e.linearized?L.l2p(n.y):L.c2p(n.y);if(i===a){if(I&&(i=C.c2p(n.x,!0)),i===a)return!1;P&&o===a&&(i*=Math.abs(C._m*O*(C._m>0?s:l)/(L._m*z*(L._m>0?s:l)))),i*=1e3}if(o===a){if(P&&(o=L.c2p(n.y,!0)),o===a)return!1;o*=1e3}return[i,o]}function Y(t,e,r,n){var i=r-t,a=n-e,o=.5-t,s=.5-e,l=i*i+a*a,c=i*o+a*s;if(c>0&&cot||t[1]lt)return[h(t[0],at,ot),h(t[1],st,lt)]}function ht(t,e){return t[0]===e[0]&&(t[0]===at||t[0]===ot)||t[1]===e[1]&&(t[1]===st||t[1]===lt)||void 0}function ft(t,e,r){return function(n,i){var a=ut(n),o=ut(i),s=[];if(a&&o&&ht(a,o))return s;a&&s.push(a),o&&s.push(o);var l=2*c.constrain((n[t]+i[t])/2,e,r)-((a||n)[t]+(o||i)[t]);return l&&((a&&o?l>0==a[t]>o[t]?a:o:a||o)[t]+=l),s}}function pt(t){var e=t[0],r=t[1],n=e===G[Z-1][0],i=r===G[Z-1][1];if(!n||!i)if(Z>1){var a=e===G[Z-2][0],o=r===G[Z-2][1];n&&(e===at||e===ot)&&a?o?Z--:G[Z-1]=t:i&&(r===st||r===lt)&&o?a?Z--:G[Z-1]=t:G[Z++]=t}else G[Z++]=t}function dt(t){G[Z-1][0]!==t[0]&&G[Z-1][1]!==t[1]&&pt([Q,tt]),pt(t),et=null,Q=tt=0}"linear"===N||"spline"===N?nt=function(t,e){for(var r=[],n=0,i=0;i<4;i++){var a=ct[i],o=u(t[0],t[1],e[0],e[1],a[0],a[1],a[2],a[3]);o&&(!n||Math.abs(o.x-r[0][0])>1||Math.abs(o.y-r[0][1])>1)&&(o=[o.x,o.y],n&&$(o,t)<$(r[0],t)?r.unshift(o):r.push(o),n++)}return r}:"hv"===N||"vh"===N?nt=function(t,e){var r=[],n=ut(t),i=ut(e);return n&&i&&ht(n,i)||(n&&r.push(n),i&&r.push(i)),r}:"hvh"===N?nt=ft(0,at,ot):"vhv"===N&&(nt=ft(1,st,lt));var mt=c.isArrayOrTypedArray(R);function gt(e){if(e&&D&&(e.i=r,e.d=t,e.trace=E,e.marker=mt?R[e.i]:R,e.backoff=D),M=e[0]/z,S=e[1]/O,J=e[0]ot?ot:0,K=e[1]lt?lt:0,J||K){if(Z)if(et){var n=nt(et,e);n.length>1&&(dt(n[0]),G[Z++]=n[1])}else rt=nt(G[Z-1],e)[0],G[Z++]=rt;else G[Z++]=[J||e[0],K||e[1]];var i=G[Z-1];J&&K&&(i[0]!==J||i[1]!==K)?(et&&(Q!==J&&tt!==K?pt(Q&&tt?(a=et,s=(o=e)[0]-a[0],l=(o[1]-a[1])/s,(a[1]*o[0]-o[1]*a[0])/s>0?[l>0?at:ot,lt]:[l>0?ot:at,st]):[Q||J,tt||K]):Q&&tt&&pt([Q,tt])),pt([J,K])):Q-J&&tt-K&&pt([J||Q,K||tt]),et=e,Q=J,tt=K}else et&&dt(nt(et,e)[0]),G[Z++]=e;var a,o,s,l}for(r=0;rX(m,yt))break;o=m,(w=v[0]*y[0]+v[1]*y[1])>_?(_=w,p=m,g=!1):w=t.length||!m)break;gt(m),i=m}}else gt(p)}et&&pt([Q||et[0],tt||et[1]]),V.push(G.slice(0,Z))}var vt=N.slice(N.length-1);if(D&&"h"!==vt&&"v"!==vt){for(var xt=!1,_t=-1,bt=[],wt=0;wt=0?l=p:(l=p=f,f++),l0?Math.max(r,a):0}}},21146:function(t){"use strict";t.exports={container:"marker",min:"cmin",max:"cmax"}},24272:function(t,e,r){"use strict";var n=r(78766),i=r(65477).hasColorscale,a=r(39356),o=r(64726);t.exports=function(t,e,r,s,l,c){var u=o.isBubble(t),h=(t.line||{}).color;c=c||{},h&&(r=h),l("marker.symbol"),l("marker.opacity",u?.7:1),l("marker.size"),c.noAngle||(l("marker.angle"),c.noAngleRef||l("marker.angleref"),c.noStandOff||l("marker.standoff")),l("marker.color",r),i(t,"marker")&&a(t,e,s,l,{prefix:"marker.",cLetter:"c"}),c.noSelect||(l("selected.marker.color"),l("unselected.marker.color"),l("selected.marker.size"),l("unselected.marker.size")),c.noLine||(l("marker.line.color",h&&!Array.isArray(h)&&e.marker.color!==h?h:u?n.background:n.defaultLine),i(t,"marker.line")&&a(t,e,s,l,{prefix:"marker.line.",cLetter:"c"}),l("marker.line.width",u?1:0)),u&&(l("marker.sizeref"),l("marker.sizemin"),l("marker.sizemode")),c.gradient&&"none"!==l("marker.gradient.type")&&l("marker.gradient.color")}},99669:function(t,e,r){"use strict";var n=r(34809).dateTick0,i=r(63821).ONEWEEK;function a(t,e){return n(e,t%i==0?1:0)}t.exports=function(t,e,r,n,i){if(i||(i={x:!0,y:!0}),i.x){var o=n("xperiod");o&&(n("xperiod0",a(o,e.xcalendar)),n("xperiodalignment"))}if(i.y){var s=n("yperiod");s&&(n("yperiod0",a(s,e.ycalendar)),n("yperiodalignment"))}}},36098:function(t,e,r){"use strict";var n=r(45568),i=r(33626),a=r(34809),o=a.ensureSingle,s=a.identity,l=r(62203),c=r(64726),u=r(5525),h=r(17210),f=r(80899).tester;function p(t,e,r,h,p,d,m){var g,y=t._context.staticPlot;!function(t,e,r,i,o){var s=r.xaxis,l=r.yaxis,u=n.extent(a.simpleMap(s.range,s.r2c)),h=n.extent(a.simpleMap(l.range,l.r2c)),f=i[0].trace;if(c.hasMarkers(f)){var p=f.marker.maxdisplayed;if(0!==p){var d=i.filter((function(t){return t.x>=u[0]&&t.x<=u[1]&&t.y>=h[0]&&t.y<=h[1]})),m=Math.ceil(d.length/p),g=0;o.forEach((function(t,r){var n=t[0].trace;c.hasMarkers(n)&&n.marker.maxdisplayed>0&&r0;function x(t){return v?t.transition():t}var _=r.xaxis,b=r.yaxis,w=h[0].trace,T=w.line,k=n.select(d),A=o(k,"g","errorbars"),M=o(k,"g","lines"),S=o(k,"g","points"),E=o(k,"g","text");if(i.getComponentMethod("errorbars","plot")(t,A,r,m),!0===w.visible){var C,L;x(k).style("opacity",w.opacity);var I,P,z=w.fill.charAt(w.fill.length-1);"x"!==z&&"y"!==z&&(z=""),"y"===z?(I=1,P=b.c2p(0,!0)):"x"===z&&(I=0,P=_.c2p(0,!0)),h[0][r.isRangePlot?"nodeRangePlot3":"node3"]=k;var O,D,R="",F=[],B=w._prevtrace,N=null,j=null;B&&(R=B._prevRevpath||"",L=B._nextFill,F=B._ownPolygons,N=B._fillsegments,j=B._fillElement);var U,V,q,H,G,Z,W="",Y="",X=[];w._polygons=[];var $=[],J=[],K=a.noop;if(C=w._ownFill,c.hasLines(w)||"none"!==w.fill){L&&L.datum(h),-1!==["hv","vh","hvh","vhv"].indexOf(T.shape)?(U=l.steps(T.shape),V=l.steps(T.shape.split("").reverse().join(""))):U=V="spline"===T.shape?function(t){var e=t[t.length-1];return t.length>1&&t[0][0]===e[0]&&t[0][1]===e[1]?l.smoothclosed(t.slice(1),T.smoothing):l.smoothopen(t,T.smoothing)}:function(t){return"M"+t.join("L")},q=function(t){return V(t.reverse())},J=u(h,{xaxis:_,yaxis:b,trace:w,connectGaps:w.connectgaps,baseTolerance:Math.max(T.width||1,3)/4,shape:T.shape,backoff:T.backoff,simplify:T.simplify,fill:w.fill}),$=new Array(J.length);var Q=0;for(g=0;g0,g=h(t,e,r);(u=i.selectAll("g.trace").data(g,(function(t){return t[0].trace.uid}))).enter().append("g").attr("class",(function(t){return"trace scatter trace"+t[0].trace.uid})).style("stroke-miterlimit",2),u.order(),function(t,e,r){e.each((function(e){var i=o(n.select(this),"g","fills");l.setClipUrl(i,r.layerClipId,t);var a=e[0].trace,c=[];a._ownfill&&c.push("_ownFill"),a._nexttrace&&c.push("_nextFill");var u=i.selectAll("g").data(c,s);u.enter().append("g"),u.exit().each((function(t){a[t]=null})).remove(),u.order().each((function(t){a[t]=o(n.select(this),"path","js-fill")}))}))}(t,u,e),m?(c&&(f=c()),n.transition().duration(a.duration).ease(a.easing).each("end",(function(){f&&f()})).each("interrupt",(function(){f&&f()})).each((function(){i.selectAll("g.trace").each((function(r,n){p(t,n,e,r,g,this,a)}))}))):u.each((function(r,n){p(t,n,e,r,g,this,a)})),d&&u.exit().remove(),i.selectAll("path:not([d])").remove()}},32665:function(t,e,r){"use strict";var n=r(64726);t.exports=function(t,e){var r,i,a,o,s=t.cd,l=t.xaxis,c=t.yaxis,u=[],h=s[0].trace;if(!n.hasMarkers(h)&&!n.hasText(h))return[];if(!1===e)for(r=0;r0){var f=i.c2l(u);i._lowerLogErrorBound||(i._lowerLogErrorBound=f),i._lowerErrorBound=Math.min(i._lowerLogErrorBound,f)}}else o[s]=[-l[0]*r,l[1]*r]}return o}t.exports=function(t,e,r){var n=[i(t.x,t.error_x,e[0],r.xaxis),i(t.y,t.error_y,e[1],r.yaxis),i(t.z,t.error_z,e[2],r.zaxis)],a=function(t){for(var e=0;e-1?-1:t.indexOf("right")>-1?1:0}function _(t){return null==t?0:t.indexOf("top")>-1?-1:t.indexOf("bottom")>-1?1:0}function b(t,e){return e(4*t)}function w(t){return p[t]}function T(t,e,r,n,i){var a=null;if(l.isArrayOrTypedArray(t)){a=[];for(var o=0;o=0){var E=function(t,e,r){var n,i=(r+1)%3,a=(r+2)%3,o=[],l=[];for(n=0;n=0&&h("surfacecolor",p||d);for(var m=["x","y","z"],g=0;g<3;++g){var y="projection."+m[g];h(y+".show")&&(h(y+".opacity"),h(y+".scale"))}var v=n.getComponentMethod("errorbars","supplyDefaults");v(t,e,p||d||r,{axis:"z"}),v(t,e,p||d||r,{axis:"y",inherit:"z"}),v(t,e,p||d||r,{axis:"x",inherit:"z"})}else e.visible=!1}},17822:function(t,e,r){"use strict";t.exports={plot:r(16533),attributes:r(14117),markerSymbols:r(49467),supplyDefaults:r(82418),colorbar:[{container:"marker",min:"cmin",max:"cmax"},{container:"line",min:"cmin",max:"cmax"}],calc:r(37593),moduleType:"trace",name:"scatter3d",basePlotModule:r(2487),categories:["gl3d","symbols","showLegend","scatter-like"],meta:{}}},54637:function(t,e,r){"use strict";var n=r(19326),i=r(36640),a=r(9829),o=r(3208).rb,s=r(3208).ay,l=r(87163),c=r(93049).extendFlat,u=i.marker,h=i.line,f=u.line;t.exports={carpet:{valType:"string",editType:"calc"},a:{valType:"data_array",editType:"calc"},b:{valType:"data_array",editType:"calc"},mode:c({},i.mode,{dflt:"markers"}),text:c({},i.text,{}),texttemplate:s({editType:"plot"},{keys:["a","b","text"]}),hovertext:c({},i.hovertext,{}),line:{color:h.color,width:h.width,dash:h.dash,backoff:h.backoff,shape:c({},h.shape,{values:["linear","spline"]}),smoothing:h.smoothing,editType:"calc"},connectgaps:i.connectgaps,fill:c({},i.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:n(),marker:c({symbol:u.symbol,opacity:u.opacity,maxdisplayed:u.maxdisplayed,angle:u.angle,angleref:u.angleref,standoff:u.standoff,size:u.size,sizeref:u.sizeref,sizemin:u.sizemin,sizemode:u.sizemode,line:c({width:f.width,editType:"calc"},l("marker.line")),gradient:u.gradient,editType:"calc"},l("marker")),textfont:i.textfont,textposition:i.textposition,selected:i.selected,unselected:i.unselected,hoverinfo:c({},a.hoverinfo,{flags:["a","b","text","name"]}),hoveron:i.hoveron,hovertemplate:o(),zorder:i.zorder}},68001:function(t,e,r){"use strict";var n=r(10721),i=r(77272),a=r(99203),o=r(48861),s=r(26544).calcMarkerSize,l=r(26571);t.exports=function(t,e){var r=e._carpetTrace=l(t,e);if(r&&r.visible&&"legendonly"!==r.visible){var c;e.xaxis=r.xaxis,e.yaxis=r.yaxis;var u,h,f=e._length,p=new Array(f),d=!1;for(c=0;c")}return o}function v(t,e){var r;r=t.labelprefix&&t.labelprefix.length>0?t.labelprefix.replace(/ = $/,""):t._hovertitle,g.push(r+": "+e.toFixed(3)+t.labelsuffix)}}},56534:function(t,e,r){"use strict";t.exports={attributes:r(54637),supplyDefaults:r(16986),colorbar:r(21146),formatLabels:r(32709),calc:r(68001),plot:r(64535),style:r(9408).style,styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(59420),selectPoints:r(32665),eventData:r(68289),moduleType:"trace",name:"scattercarpet",basePlotModule:r(37703),categories:["svg","carpet","symbols","showLegend","carpetDependent","zoomScale"],meta:{}}},64535:function(t,e,r){"use strict";var n=r(36098),i=r(29714),a=r(62203);t.exports=function(t,e,r,o){var s,l,c,u=r[0][0].carpet,h=i.getFromId(t,u.xaxis||"x"),f=i.getFromId(t,u.yaxis||"y"),p={xaxis:h,yaxis:f,plot:e.plot};for(s=0;s")}function p(t){return t+"°"}}(c,m,t,l[0].t.labels),t.hovertemplate=c.hovertemplate,[t]}}},18070:function(t,e,r){"use strict";t.exports={attributes:r(6893),supplyDefaults:r(27386),colorbar:r(21146),formatLabels:r(57413),calc:r(75649),calcGeoJSON:r(48887).calcGeoJSON,plot:r(48887).plot,style:r(60367),styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(40636),eventData:r(71873),selectPoints:r(45852),moduleType:"trace",name:"scattergeo",basePlotModule:r(47544),categories:["geo","symbols","showLegend","scatter-like"],meta:{}}},48887:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=r(11577).getTopojsonFeatures,o=r(39532),s=r(3994),l=r(32919).findExtremes,c=r(63821).BADNUM,u=r(26544).calcMarkerSize,h=r(64726),f=r(60367);t.exports={calcGeoJSON:function(t,e){var r,n,o=t[0].trace,h=e[o.geo],f=h._subplot,p=o._length;if(i.isArrayOrTypedArray(o.locations)){var d=o.locationmode,m="geojson-id"===d?s.extractTraceFeature(t):a(o,f.topojson);for(r=0;r=g,w=2*_,T={},k=l.makeCalcdata(e,"x"),A=v.makeCalcdata(e,"y"),M=s(e,l,"x",k),S=s(e,v,"y",A),E=M.vals,C=S.vals;e._x=E,e._y=C,e.xperiodalignment&&(e._origX=k,e._xStarts=M.starts,e._xEnds=M.ends),e.yperiodalignment&&(e._origY=A,e._yStarts=S.starts,e._yEnds=S.ends);var L=new Array(w),I=new Array(_);for(r=0;r<_;r++)L[2*r]=E[r]===m?NaN:E[r],L[2*r+1]=C[r]===m?NaN:C[r],I[r]=r;if("log"===l.type)for(r=0;r1&&i.extendFlat(s.line,p.linePositions(t,r,n)),s.errorX||s.errorY){var l=p.errorBarPositions(t,r,n,a,o);s.errorX&&i.extendFlat(s.errorX,l.x),s.errorY&&i.extendFlat(s.errorY,l.y)}return s.text&&(i.extendFlat(s.text,{positions:n},p.textPosition(t,r,s.text,s.marker)),i.extendFlat(s.textSel,{positions:n},p.textPosition(t,r,s.text,s.markerSel)),i.extendFlat(s.textUnsel,{positions:n},p.textPosition(t,r,s.text,s.markerUnsel))),s}(t,0,e,L,E,C),O=d(t,x);return h(o,e),b?z.marker&&(P=z.marker.sizeAvg||Math.max(z.marker.size,3)):P=c(e,_),u(t,e,l,v,E,C,P),z.errorX&&y(e,l,z.errorX),z.errorY&&y(e,v,z.errorY),z.fill&&!O.fill2d&&(O.fill2d=!0),z.marker&&!O.scatter2d&&(O.scatter2d=!0),z.line&&!O.line2d&&(O.line2d=!0),!z.errorX&&!z.errorY||O.error2d||(O.error2d=!0),z.text&&!O.glText&&(O.glText=!0),z.marker&&(z.marker.snap=_),O.lineOptions.push(z.line),O.errorXOptions.push(z.errorX),O.errorYOptions.push(z.errorY),O.fillOptions.push(z.fill),O.markerOptions.push(z.marker),O.markerSelectedOptions.push(z.markerSel),O.markerUnselectedOptions.push(z.markerUnsel),O.textOptions.push(z.text),O.textSelectedOptions.push(z.textSel),O.textUnselectedOptions.push(z.textUnsel),O.selectBatch.push([]),O.unselectBatch.push([]),T._scene=O,T.index=O.count,T.x=E,T.y=C,T.positions=L,O.count++,[{x:!1,y:!1,t:T,trace:e}]}},29483:function(t){"use strict";t.exports={TOO_MANY_POINTS:1e5,SYMBOL_SDF_SIZE:200,SYMBOL_SIZE:20,SYMBOL_STROKE:1,DOT_RE:/-dot/,OPEN_RE:/-open/,DASHES:{solid:[1],dot:[1,1],dash:[4,1],longdash:[8,1],dashdot:[4,1,1,1],longdashdot:[8,1,1,1]}}},19937:function(t,e,r){"use strict";var n=r(10721),i=r(96021),a=r(162),o=r(33626),s=r(34809),l=s.isArrayOrTypedArray,c=r(62203),u=r(5975),h=r(46998).formatColor,f=r(64726),p=r(92527),d=r(4075),m=r(29483),g=r(20438).DESELECTDIM,y={start:1,left:1,end:-1,right:-1,middle:0,center:0,bottom:1,top:-1},v=r(36040).appendArrayPointValue;function x(t,e){var r,i=t._fullLayout,a=e._length,o=e.textfont,c=e.textposition,u=l(c)?c:[c],h=o.color,f=o.size,p=o.family,d=o.weight,m=o.style,g=o.variant,y={},x=t._context.plotGlPixelRatio,b=e.texttemplate;if(b){y.text=[];var w=i._d3locale,T=Array.isArray(b),k=T?Math.min(b.length,a):a,A=T?function(t){return b[t]}:function(){return b};for(r=0;r500?"bold":"normal":t}function b(t,e){var r,n,i=e._length,o=e.marker,s={},c=l(o.symbol),u=l(o.angle),f=l(o.color),m=l(o.line.color),g=l(o.opacity),y=l(o.size),v=l(o.line.width);if(c||(n=d.isOpenSymbol(o.symbol)),c||f||m||g||u){s.symbols=new Array(i),s.angles=new Array(i),s.colors=new Array(i),s.borderColors=new Array(i);var x=o.symbol,_=o.angle,b=h(o,o.opacity,i),w=h(o.line,o.opacity,i);if(!l(w[0])){var T=w;for(w=Array(i),r=0;rm.TOO_MANY_POINTS||f.hasMarkers(e)?"rect":"round";if(c&&e.connectgaps){var h=n[0],p=n[1];for(i=0;i1?c[i]:c[0]:c,m=l(u)?u.length>1?u[i]:u[0]:u,g=y[d],v=y[m],x=h?h/.8+1:0,_=-v*x-.5*v;o.offset[i]=[g*x/p,_/p]}}return o}}},86590:function(t,e,r){"use strict";var n=r(34809),i=r(33626),a=r(4075),o=r(92089),s=r(32660),l=r(64726),c=r(99867),u=r(99669),h=r(24272),f=r(98168),p=r(54114),d=r(663);t.exports=function(t,e,r,m){function g(r,i){return n.coerce(t,e,o,r,i)}var y=!!t.marker&&a.isOpenSymbol(t.marker.symbol),v=l.isBubble(t),x=c(t,e,m,g);if(x){u(t,e,m,g),g("xhoverformat"),g("yhoverformat");var _=x100},e.isDotSymbol=function(t){return"string"==typeof t?n.DOT_RE.test(t):t>200}},36544:function(t,e,r){"use strict";var n=r(33626),i=r(34809),a=r(11539);function o(t,e,r,o){var s=t.xa,l=t.ya,c=t.distance,u=t.dxy,h=t.index,f={pointNumber:h,x:e[h],y:r[h]};f.tx=i.isArrayOrTypedArray(o.text)?o.text[h]:o.text,f.htx=Array.isArray(o.hovertext)?o.hovertext[h]:o.hovertext,f.data=Array.isArray(o.customdata)?o.customdata[h]:o.customdata,f.tp=Array.isArray(o.textposition)?o.textposition[h]:o.textposition;var p=o.textfont;p&&(f.ts=i.isArrayOrTypedArray(p.size)?p.size[h]:p.size,f.tc=i.isArrayOrTypedArray(p.color)?p.color[h]:p.color,f.tf=Array.isArray(p.family)?p.family[h]:p.family,f.tw=Array.isArray(p.weight)?p.weight[h]:p.weight,f.ty=Array.isArray(p.style)?p.style[h]:p.style,f.tv=Array.isArray(p.variant)?p.variant[h]:p.variant);var d=o.marker;d&&(f.ms=i.isArrayOrTypedArray(d.size)?d.size[h]:d.size,f.mo=i.isArrayOrTypedArray(d.opacity)?d.opacity[h]:d.opacity,f.mx=i.isArrayOrTypedArray(d.symbol)?d.symbol[h]:d.symbol,f.ma=i.isArrayOrTypedArray(d.angle)?d.angle[h]:d.angle,f.mc=i.isArrayOrTypedArray(d.color)?d.color[h]:d.color);var m=d&&d.line;m&&(f.mlc=Array.isArray(m.color)?m.color[h]:m.color,f.mlw=i.isArrayOrTypedArray(m.width)?m.width[h]:m.width);var g=d&&d.gradient;g&&"none"!==g.type&&(f.mgt=Array.isArray(g.type)?g.type[h]:g.type,f.mgc=Array.isArray(g.color)?g.color[h]:g.color);var y=s.c2p(f.x,!0),v=l.c2p(f.y,!0),x=f.mrc||1,_=o.hoverlabel;_&&(f.hbg=Array.isArray(_.bgcolor)?_.bgcolor[h]:_.bgcolor,f.hbc=Array.isArray(_.bordercolor)?_.bordercolor[h]:_.bordercolor,f.hts=i.isArrayOrTypedArray(_.font.size)?_.font.size[h]:_.font.size,f.htc=Array.isArray(_.font.color)?_.font.color[h]:_.font.color,f.htf=Array.isArray(_.font.family)?_.font.family[h]:_.font.family,f.hnl=i.isArrayOrTypedArray(_.namelength)?_.namelength[h]:_.namelength);var b=o.hoverinfo;b&&(f.hi=Array.isArray(b)?b[h]:b);var w=o.hovertemplate;w&&(f.ht=Array.isArray(w)?w[h]:w);var T={};T[t.index]=f;var k=o._origX,A=o._origY,M=i.extendFlat({},t,{color:a(o,f),x0:y-x,x1:y+x,xLabelVal:k?k[h]:f.x,y0:v-x,y1:v+x,yLabelVal:A?A[h]:f.y,cd:T,distance:c,spikeDistance:u,hovertemplate:f.ht});return f.htx?M.text=f.htx:f.tx?M.text=f.tx:o.text&&(M.text=o.text),i.fillText(f,o,M),n.getComponentMethod("errorbars","hoverInfo")(f,o,M),M}t.exports={hoverPoints:function(t,e,r,n){var i,a,s,l,c,u,h,f,p,d,m=t.cd,g=m[0].t,y=m[0].trace,v=t.xa,x=t.ya,_=g.x,b=g.y,w=v.c2p(e),T=x.c2p(r),k=t.distance;if(g.tree){var A=v.p2c(w-k),M=v.p2c(w+k),S=x.p2c(T-k),E=x.p2c(T+k);i="x"===n?g.tree.range(Math.min(A,M),Math.min(x._rl[0],x._rl[1]),Math.max(A,M),Math.max(x._rl[0],x._rl[1])):g.tree.range(Math.min(A,M),Math.min(S,E),Math.max(A,M),Math.max(S,E))}else i=g.ids;var C=k;if("x"===n){var L=!!y.xperiodalignment,I=!!y.yperiodalignment;for(u=0;u=Math.min(P,z)&&w<=Math.max(P,z)?0:1/0}if(h=Math.min(O,D)&&T<=Math.max(O,D)?0:1/0}d=Math.sqrt(h*h+f*f),s=i[u]}}}else for(u=i.length-1;u>-1;u--)l=_[a=i[u]],c=b[a],h=v.c2p(l)-w,f=x.c2p(c)-T,(p=Math.sqrt(h*h+f*f))v.glText.length){var T=b-v.glText.length;for(m=0;mr&&(isNaN(e[n])||isNaN(e[n+1]));)n-=2;t.positions=e.slice(r,n+2)}return t})),v.line2d.update(v.lineOptions)),v.error2d){var A=(v.errorXOptions||[]).concat(v.errorYOptions||[]);v.error2d.update(A)}v.scatter2d&&v.scatter2d.update(v.markerOptions),v.fillOrder=s.repeat(null,b),v.fill2d&&(v.fillOptions=v.fillOptions.map((function(t,e){var n=r[e];if(t&&n&&n[0]&&n[0].trace){var i,a,o=n[0],s=o.trace,l=o.t,c=v.lineOptions[e],u=[];s._ownfill&&u.push(e),s._nexttrace&&u.push(e+1),u.length&&(v.fillOrder[e]=u);var h,f,p=[],d=c&&c.positions||l.positions;if("tozeroy"===s.fill){for(h=0;hh&&isNaN(d[f+1]);)f-=2;0!==d[h+1]&&(p=[d[h],0]),p=p.concat(d.slice(h,f+2)),0!==d[f+1]&&(p=p.concat([d[f],0]))}else if("tozerox"===s.fill){for(h=0;hh&&isNaN(d[f]);)f-=2;0!==d[h]&&(p=[0,d[h+1]]),p=p.concat(d.slice(h,f+2)),0!==d[f]&&(p=p.concat([0,d[f+1]]))}else if("toself"===s.fill||"tonext"===s.fill){for(p=[],i=0,t.splitNull=!0,a=0;a-1;for(m=0;m850?" Black":i>750?" Extra Bold":i>650?" Bold":i>550?" Semi Bold":i>450?" Medium":i>350?" Regular":i>250?" Light":i>150?" Extra Light":" Thin"):"Open Sans"===a.slice(0,2).join(" ")?(s="Open Sans",s+=i>750?" Extrabold":i>650?" Bold":i>550?" Semibold":i>350?" Regular":" Light"):"Klokantech Noto Sans"===a.slice(0,3).join(" ")&&(s="Klokantech Noto Sans","CJK"===a[3]&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),"Open Sans Regular Italic"===s?s="Open Sans Italic":"Open Sans Regular Bold"===s?s="Open Sans Bold":"Open Sans Regular Bold Italic"===s?s="Open Sans Bold Italic":"Klokantech Noto Sans Regular Italic"===s&&(s="Klokantech Noto Sans Italic"),h(s)||(s=r),s.split(", ")}t.exports=function(t,e){var r,a=e[0].trace,h=!0===a.visible&&0!==a._length,w="none"!==a.fill,T=u.hasLines(a),k=u.hasMarkers(a),A=u.hasText(a),M=k&&"circle"===a.marker.symbol,S=k&&"circle"!==a.marker.symbol,E=a.cluster&&a.cluster.enabled,C=g("fill"),L=g("line"),I=g("circle"),P=g("symbol"),z={fill:C,line:L,circle:I,symbol:P};if(!h)return z;if((w||T)&&(r=o.calcTraceToLineCoords(e)),w&&(C.geojson=o.makePolygon(r),C.layout.visibility="visible",i.extendFlat(C.paint,{"fill-color":a.fillcolor})),T&&(L.geojson=o.makeLine(r),L.layout.visibility="visible",i.extendFlat(L.paint,{"line-width":a.line.width,"line-color":a.line.color,"line-opacity":a.opacity})),M){var O=function(t){var e,r,a,o,u=t[0].trace,h=u.marker,f=u.selectedpoints,p=i.isArrayOrTypedArray(h.color),d=i.isArrayOrTypedArray(h.size),m=i.isArrayOrTypedArray(h.opacity);function g(t){return u.opacity*t}p&&(r=s.hasColorscale(u,"marker")?s.makeColorScaleFuncFromTrace(h):i.identity),d&&(a=c(u)),m&&(o=function(t){return g(n(t)?+i.constrain(t,0,1):0)});var y,v,_=[];for(e=0;e")}function u(t){return t+"°"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,u=o[0].trace,h=t.xa,f=t.ya,p=t.subplot,d=[],m=l+u.uid+"-circle",g=u.cluster&&u.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[m]});d=y.map((function(t){return t.id}))}var v=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-v;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-h.c2p([x,a]),c=o.y-f.c2p([n,r]),u=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-u,1-3/u)}),t),!1!==t.index){var _=o[t.index],b=_.lonlat,w=[i.modHalf(b[0],360)+v,b[1]],T=h.c2p(w),k=f.c2p(w),A=_.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[u.subplot]={_subplot:p};var S=u._module.formatLabels(_,u,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(u,_),t.extraText=c(u,_,o[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}},getExtraText:c}},30929:function(t,e,r){"use strict";t.exports={attributes:r(71388),supplyDefaults:r(57387),colorbar:r(21146),formatLabels:r(66762),calc:r(75649),plot:r(26126),hoverPoints:r(67275).hoverPoints,eventData:r(58240),selectPoints:r(21501),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermap",basePlotModule:r(34091),categories:["map","gl","symbols","showLegend","scatter-like"],meta:{}}},26126:function(t,e,r){"use strict";var n=r(34809),i=r(76717),a=r(8814).traceLayerPrefix,o={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function s(t,e,r,n){this.type="scattermap",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol",cluster:"source-"+e+"-circle",clusterCount:"source-"+e+"-circle"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol",cluster:a+e+"-cluster",clusterCount:a+e+"-cluster-count"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:"geojson",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[t]);a?a.setData(e.geojson):this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter);for(var i,a=this.layerIds[t],o=this.subplot.getMapLayers(),s=0;s=0;r--){var i=e[r];n.removeLayer(u.layerIds[i])}t||n.removeSource(u.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(u.layerIds[i]),t||n.removeSource(u.sourceIds[i])}}(t)}function f(t){l?function(t){t||u.addSource("circle",a.circle,e.cluster);for(var r=o.cluster,n=0;n=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,c=l.cluster&&l.cluster.enabled,u=!0!==l.visible,h=new s(t,l.uid,c,u),f=i(t.gd,e),p=h.below=t.belowLookup["trace-"+l.uid];if(c)for(h.addSource("circle",f.circle,l.cluster),r=0;r850?" Black":i>750?" Extra Bold":i>650?" Bold":i>550?" Semi Bold":i>450?" Medium":i>350?" Regular":i>250?" Light":i>150?" Extra Light":" Thin"):"Open Sans"===a.slice(0,2).join(" ")?(s="Open Sans",s+=i>750?" Extrabold":i>650?" Bold":i>550?" Semibold":i>350?" Regular":" Light"):"Klokantech Noto Sans"===a.slice(0,3).join(" ")&&(s="Klokantech Noto Sans","CJK"===a[3]&&(s+=" CJK"),s+=i>500?" Bold":" Regular")),o&&(s+=" Italic"),"Open Sans Regular Italic"===s?s="Open Sans Italic":"Open Sans Regular Bold"===s?s="Open Sans Bold":"Open Sans Regular Bold Italic"===s?s="Open Sans Bold Italic":"Klokantech Noto Sans Regular Italic"===s&&(s="Klokantech Noto Sans Italic"),h(s)||(s=r),s.split(", ")}t.exports=function(t,e){var r,a=e[0].trace,h=!0===a.visible&&0!==a._length,w="none"!==a.fill,T=u.hasLines(a),k=u.hasMarkers(a),A=u.hasText(a),M=k&&"circle"===a.marker.symbol,S=k&&"circle"!==a.marker.symbol,E=a.cluster&&a.cluster.enabled,C=g("fill"),L=g("line"),I=g("circle"),P=g("symbol"),z={fill:C,line:L,circle:I,symbol:P};if(!h)return z;if((w||T)&&(r=o.calcTraceToLineCoords(e)),w&&(C.geojson=o.makePolygon(r),C.layout.visibility="visible",i.extendFlat(C.paint,{"fill-color":a.fillcolor})),T&&(L.geojson=o.makeLine(r),L.layout.visibility="visible",i.extendFlat(L.paint,{"line-width":a.line.width,"line-color":a.line.color,"line-opacity":a.opacity})),M){var O=function(t){var e,r,a,o,u=t[0].trace,h=u.marker,f=u.selectedpoints,p=i.isArrayOrTypedArray(h.color),d=i.isArrayOrTypedArray(h.size),m=i.isArrayOrTypedArray(h.opacity);function g(t){return u.opacity*t}p&&(r=s.hasColorscale(u,"marker")?s.makeColorScaleFuncFromTrace(h):i.identity),d&&(a=c(u)),m&&(o=function(t){return g(n(t)?+i.constrain(t,0,1):0)});var y,v,_=[];for(e=0;e")}function u(t){return t+"°"}}t.exports={hoverPoints:function(t,e,r){var o=t.cd,u=o[0].trace,h=t.xa,f=t.ya,p=t.subplot,d=[],m=l+u.uid+"-circle",g=u.cluster&&u.cluster.enabled;if(g){var y=p.map.queryRenderedFeatures(null,{layers:[m]});d=y.map((function(t){return t.id}))}var v=360*(e>=0?Math.floor((e+180)/360):Math.ceil((e-180)/360)),x=e-v;if(n.getClosest(o,(function(t){var e=t.lonlat;if(e[0]===s)return 1/0;if(g&&-1===d.indexOf(t.i+1))return 1/0;var n=i.modHalf(e[0],360),a=e[1],o=p.project([n,a]),l=o.x-h.c2p([x,a]),c=o.y-f.c2p([n,r]),u=Math.max(3,t.mrc||0);return Math.max(Math.sqrt(l*l+c*c)-u,1-3/u)}),t),!1!==t.index){var _=o[t.index],b=_.lonlat,w=[i.modHalf(b[0],360)+v,b[1]],T=h.c2p(w),k=f.c2p(w),A=_.mrc||1;t.x0=T-A,t.x1=T+A,t.y0=k-A,t.y1=k+A;var M={};M[u.subplot]={_subplot:p};var S=u._module.formatLabels(_,u,M);return t.lonLabel=S.lonLabel,t.latLabel=S.latLabel,t.color=a(u,_),t.extraText=c(u,_,o[0].t.labels),t.hovertemplate=u.hovertemplate,[t]}},getExtraText:c}},83866:function(t,e,r){"use strict";["*scattermapbox* trace is deprecated!","Please consider switching to the *scattermap* trace type and `map` subplots.","Learn more at: https://plotly.com/javascript/maplibre-migration/"].join(" "),t.exports={attributes:r(95833),supplyDefaults:r(38302),colorbar:r(21146),formatLabels:r(69009),calc:r(75649),plot:r(20691),hoverPoints:r(18016).hoverPoints,eventData:r(68197),selectPoints:r(60784),styleOnSelect:function(t,e){e&&e[0].trace._glTrace.update(e)},moduleType:"trace",name:"scattermapbox",basePlotModule:r(68192),categories:["mapbox","gl","symbols","showLegend","scatter-like"],meta:{}}},20691:function(t,e,r){"use strict";var n=r(34809),i=r(27009),a=r(44245).traceLayerPrefix,o={cluster:["cluster","clusterCount","circle"],nonCluster:["fill","line","circle","symbol"]};function s(t,e,r,n){this.type="scattermapbox",this.subplot=t,this.uid=e,this.clusterEnabled=r,this.isHidden=n,this.sourceIds={fill:"source-"+e+"-fill",line:"source-"+e+"-line",circle:"source-"+e+"-circle",symbol:"source-"+e+"-symbol",cluster:"source-"+e+"-circle",clusterCount:"source-"+e+"-circle"},this.layerIds={fill:a+e+"-fill",line:a+e+"-line",circle:a+e+"-circle",symbol:a+e+"-symbol",cluster:a+e+"-cluster",clusterCount:a+e+"-cluster-count"},this.below=null}var l=s.prototype;l.addSource=function(t,e,r){var i={type:"geojson",data:e.geojson};r&&r.enabled&&n.extendFlat(i,{cluster:!0,clusterMaxZoom:r.maxzoom});var a=this.subplot.map.getSource(this.sourceIds[t]);a?a.setData(e.geojson):this.subplot.map.addSource(this.sourceIds[t],i)},l.setSourceData=function(t,e){this.subplot.map.getSource(this.sourceIds[t]).setData(e.geojson)},l.addLayer=function(t,e,r){var n={type:e.type,id:this.layerIds[t],source:this.sourceIds[t],layout:e.layout,paint:e.paint};e.filter&&(n.filter=e.filter);for(var i,a=this.layerIds[t],o=this.subplot.getMapLayers(),s=0;s=0;r--){var i=e[r];n.removeLayer(u.layerIds[i])}t||n.removeSource(u.sourceIds.circle)}(t):function(t){for(var e=o.nonCluster,r=e.length-1;r>=0;r--){var i=e[r];n.removeLayer(u.layerIds[i]),t||n.removeSource(u.sourceIds[i])}}(t)}function f(t){l?function(t){t||u.addSource("circle",a.circle,e.cluster);for(var r=o.cluster,n=0;n=0;r--){var n=e[r];t.removeLayer(this.layerIds[n]),t.removeSource(this.sourceIds[n])}},t.exports=function(t,e){var r,n,a,l=e[0].trace,c=l.cluster&&l.cluster.enabled,u=!0!==l.visible,h=new s(t,l.uid,c,u),f=i(t.gd,e),p=h.below=t.belowLookup["trace-"+l.uid];if(c)for(h.addSource("circle",f.circle,l.cluster),r=0;r")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:i}},66939:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scatterpolar",basePlotModule:r(31645),categories:["polar","symbols","showLegend","scatter-like"],attributes:r(8738),supplyDefaults:r(73749).supplyDefaults,colorbar:r(21146),formatLabels:r(33368),calc:r(13246),plot:r(43836),style:r(9408).style,styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(29709).hoverPoints,selectPoints:r(32665),meta:{}}},43836:function(t,e,r){"use strict";var n=r(36098),i=r(63821).BADNUM;t.exports=function(t,e,r){for(var a=e.layers.frontplot.select("g.scatterlayer"),o=e.xaxis,s=e.yaxis,l={xaxis:o,yaxis:s,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},c=e.radialAxis,u=e.angularAxis,h=0;h=c&&(v.marker.cluster=d.tree),v.marker&&(v.markerSel.positions=v.markerUnsel.positions=v.marker.positions=b),v.line&&b.length>1&&l.extendFlat(v.line,s.linePositions(t,p,b)),v.text&&(l.extendFlat(v.text,{positions:b},s.textPosition(t,p,v.text,v.marker)),l.extendFlat(v.textSel,{positions:b},s.textPosition(t,p,v.text,v.markerSel)),l.extendFlat(v.textUnsel,{positions:b},s.textPosition(t,p,v.text,v.markerUnsel))),v.fill&&!f.fill2d&&(f.fill2d=!0),v.marker&&!f.scatter2d&&(f.scatter2d=!0),v.line&&!f.line2d&&(f.line2d=!0),v.text&&!f.glText&&(f.glText=!0),f.lineOptions.push(v.line),f.fillOptions.push(v.fill),f.markerOptions.push(v.marker),f.markerSelectedOptions.push(v.markerSel),f.markerUnselectedOptions.push(v.markerUnsel),f.textOptions.push(v.text),f.textSelectedOptions.push(v.textSel),f.textUnselectedOptions.push(v.textUnsel),f.selectBatch.push([]),f.unselectBatch.push([]),d.x=w,d.y=T,d.rawx=w,d.rawy=T,d.r=g,d.theta=y,d.positions=b,d._scene=f,d.index=f.count,f.count++}})),a(t,e,r)}},t.exports.reglPrecompiled={}},69595:function(t,e,r){"use strict";var n=r(3208).rb,i=r(3208).ay,a=r(93049).extendFlat,o=r(19326),s=r(36640),l=r(9829),c=s.line;t.exports={mode:s.mode,real:{valType:"data_array",editType:"calc+clearAxisTypes"},imag:{valType:"data_array",editType:"calc+clearAxisTypes"},text:s.text,texttemplate:i({editType:"plot"},{keys:["real","imag","text"]}),hovertext:s.hovertext,line:{color:c.color,width:c.width,dash:c.dash,backoff:c.backoff,shape:a({},c.shape,{values:["linear","spline"]}),smoothing:c.smoothing,editType:"calc"},connectgaps:s.connectgaps,marker:s.marker,cliponaxis:a({},s.cliponaxis,{dflt:!1}),textposition:s.textposition,textfont:s.textfont,fill:a({},s.fill,{values:["none","toself","tonext"],dflt:"none"}),fillcolor:o(),hoverinfo:a({},l.hoverinfo,{flags:["real","imag","text","name"]}),hoveron:s.hoveron,hovertemplate:n(),selected:s.selected,unselected:s.unselected}},44315:function(t,e,r){"use strict";var n=r(10721),i=r(63821).BADNUM,a=r(77272),o=r(99203),s=r(48861),l=r(26544).calcMarkerSize;t.exports=function(t,e){for(var r=t._fullLayout,c=e.subplot,u=r[c].realaxis,h=r[c].imaginaryaxis,f=u.makeCalcdata(e,"real"),p=h.makeCalcdata(e,"imag"),d=e._length,m=new Array(d),g=0;g")}}t.exports={hoverPoints:function(t,e,r,a){var o=n(t,e,r,a);if(o&&!1!==o[0].index){var s=o[0];if(void 0===s.index)return o;var l=t.subplot,c=s.cd[s.index],u=s.trace;if(l.isPtInside(c))return s.xLabelVal=void 0,s.yLabelVal=void 0,i(c,u,l,s),s.hovertemplate=u.hovertemplate,o}},makeHoverPointText:i}},73304:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"scattersmith",basePlotModule:r(50358),categories:["smith","symbols","showLegend","scatter-like"],attributes:r(69595),supplyDefaults:r(93788),colorbar:r(21146),formatLabels:r(89419),calc:r(44315),plot:r(6229),style:r(9408).style,styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(64422).hoverPoints,selectPoints:r(32665),meta:{}}},6229:function(t,e,r){"use strict";var n=r(36098),i=r(63821).BADNUM,a=r(52007).smith;t.exports=function(t,e,r){for(var o=e.layers.frontplot.select("g.scatterlayer"),s=e.xaxis,l=e.yaxis,c={xaxis:s,yaxis:l,plot:e.framework,layerClipId:e._hasClipOnAxisFalse?e.clipIds.forTraces:null},u=0;u"),o.hovertemplate=f.hovertemplate,a}function x(t,e){y.push(t._hovertitle+": "+e)}}},12864:function(t,e,r){"use strict";t.exports={attributes:r(18483),supplyDefaults:r(79028),colorbar:r(21146),formatLabels:r(78995),calc:r(67091),plot:r(79005),style:r(9408).style,styleOnSelect:r(9408).styleOnSelect,hoverPoints:r(26558),selectPoints:r(32665),eventData:r(94343),moduleType:"trace",name:"scatterternary",basePlotModule:r(7638),categories:["ternary","symbols","showLegend","scatter-like"],meta:{}}},79005:function(t,e,r){"use strict";var n=r(36098);t.exports=function(t,e,r){var i=e.plotContainer;i.select(".scatterlayer").selectAll("*").remove();for(var a=e.xaxis,o=e.yaxis,s={xaxis:a,yaxis:o,plot:i,layerClipId:e._hasClipOnAxisFalse?e.clipIdRelative:null},l=e.layers.frontplot.select("g.scatterlayer"),c=0;cf?_.sizeAvg||Math.max(_.size,3):a(e,x),p=0;pa&&l||i-1,I=!0;if(o(x)||p.selectedpoints||L){var P=p._length;if(p.selectedpoints){m.selectBatch=p.selectedpoints;var z=p.selectedpoints,O={};for(l=0;l1&&(u=m[v-1],f=g[v-1],d=y[v-1]),e=0;eu?"-":"+")+"x")).replace("y",(h>f?"-":"+")+"y")).replace("z",(p>d?"-":"+")+"z");var C=function(){v=0,M=[],S=[],E=[]};(!v||v2?t.slice(1,e-1):2===e?[(t[0]+t[1])/2]:t}function p(t){var e=t.length;return 1===e?[.5,.5]:[t[1]-t[0],t[e-1]-t[e-2]]}function d(t,e){var r=t.fullSceneLayout,i=t.dataScale,u=e._len,h={};function d(t,e){var n=r[e],o=i[c[e]];return a.simpleMap(t,(function(t){return n.d2l(t)*o}))}if(h.vectors=l(d(e._u,"xaxis"),d(e._v,"yaxis"),d(e._w,"zaxis"),u),!u)return{positions:[],cells:[]};var m=d(e._Xs,"xaxis"),g=d(e._Ys,"yaxis"),y=d(e._Zs,"zaxis");if(h.meshgrid=[m,g,y],h.gridFill=e._gridFill,e._slen)h.startingPositions=l(d(e._startsX,"xaxis"),d(e._startsY,"yaxis"),d(e._startsZ,"zaxis"));else{for(var v=g[0],x=f(m),_=f(y),b=new Array(x.length*_.length),w=0,T=0;T=0};v?(r=Math.min(y.length,_.length),l=function(t){return M(y[t])&&S(t)},h=function(t){return String(y[t])}):(r=Math.min(x.length,_.length),l=function(t){return M(x[t])&&S(t)},h=function(t){return String(x[t])}),w&&(r=Math.min(r,b.length));for(var E=0;E1){for(var P=a.randstr(),z=0;z=0){e.i=s.i;var u=r.marker;u.pattern&&u.colors&&u.pattern.shape||(u.color=c,e.color=c),n.pointStyle(t,r,a,e)}else i.fill(t,c)}},44691:function(t,e,r){"use strict";var n=r(45568),i=r(33626),a=r(36040).appendArrayPointValue,o=r(32141),s=r(34809),l=r(68596),c=r(33108),u=r(37252).formatPieValue;function h(t,e,r){for(var n=t.data.data,i={curveNumber:e.index,pointNumber:n.i,data:e._input,fullData:e},o=0;o"),name:A||O("name")?v.name:void 0,color:k("hoverlabel.bgcolor")||x.color,borderColor:k("hoverlabel.bordercolor"),fontFamily:k("hoverlabel.font.family"),fontSize:k("hoverlabel.font.size"),fontColor:k("hoverlabel.font.color"),fontWeight:k("hoverlabel.font.weight"),fontStyle:k("hoverlabel.font.style"),fontVariant:k("hoverlabel.font.variant"),nameLength:k("hoverlabel.namelength"),textAlign:k("hoverlabel.align"),hovertemplate:A,hovertemplateLabels:I,eventData:l};g&&(F.x0=E-i.rInscribed*i.rpx1,F.x1=E+i.rInscribed*i.rpx1,F.idealAlign=i.pxmid[0]<0?"left":"right"),y&&(F.x=E,F.idealAlign=E<0?"left":"right");var B=[];o.loneHover(F,{container:a._hoverlayer.node(),outerContainer:a._paper.node(),gd:r,inOut_bbox:B}),l[0].bbox=B[0],d._hasHoverLabel=!0}if(y){var N=t.select("path.surface");f.styleOne(N,i,v,r,{hovered:!0})}d._hasHoverEvent=!0,r.emit("plotly_hover",{points:l||[h(i,v,f.eventDataKeys)],event:n.event})}})),t.on("mouseout",(function(e){var i=r._fullLayout,a=r._fullData[d.index],s=n.select(this).datum();if(d._hasHoverEvent&&(e.originalEvent=n.event,r.emit("plotly_unhover",{points:[h(s,a,f.eventDataKeys)],event:n.event}),d._hasHoverEvent=!1),d._hasHoverLabel&&(o.loneUnhover(i._hoverlayer.node()),d._hasHoverLabel=!1),y){var l=t.select("path.surface");f.styleOne(l,s,a,r,{hovered:!1})}})),t.on("click",(function(t){var e=r._fullLayout,a=r._fullData[d.index],s=g&&(c.isHierarchyRoot(t)||c.isLeaf(t)),u=c.getPtId(t),p=c.isEntry(t)?c.findEntryWithChild(m,u):c.findEntryWithLevel(m,u),y=c.getPtId(p),v={points:[h(t,a,f.eventDataKeys)],event:n.event};s||(v.nextLevel=y);var x=l.triggerHandler(r,"plotly_"+d.type+"click",v);if(!1!==x&&e.hovermode&&(r._hoverdata=[h(t,a,f.eventDataKeys)],o.click(r,n.event)),!s&&!1!==x&&!r._dragging&&!r._transitioning){i.call("_storeDirectGUIEdit",a,e._tracePreGUI[a.uid],{level:a.level});var _={data:[{level:y}],traces:[d.index]},b={frame:{redraw:!1,duration:f.transitionTime},transition:{duration:f.transitionTime,easing:f.transitionEasing},mode:"immediate",fromcurrent:!0};o.loneUnhover(e._hoverlayer.node()),i.call("animate",r,_,b)}}))}},33108:function(t,e,r){"use strict";var n=r(34809),i=r(78766),a=r(27983),o=r(37252);function s(t){return t.data.data.pid}e.findEntryWithLevel=function(t,r){var n;return r&&t.eachAfter((function(t){if(e.getPtId(t)===r)return n=t.copy()})),n||t},e.findEntryWithChild=function(t,r){var n;return t.eachAfter((function(t){for(var i=t.children||[],a=0;a0)},e.getMaxDepth=function(t){return t.maxdepth>=0?t.maxdepth:1/0},e.isHeader=function(t,r){return!(e.isLeaf(t)||t.depth===r._maxDepth-1)},e.getParent=function(t,r){return e.findEntryWithLevel(t,s(r))},e.listPath=function(t,r){var n=t.parent;if(!n)return[];var i=r?[n.data[r]]:[n];return e.listPath(n,r).concat(i)},e.getPath=function(t){return e.listPath(t,"label").join("/")+"/"},e.formatValue=o.formatPieValue,e.formatPercent=function(t,e){var r=n.formatPercent(t,0);return"0%"===r&&(r=o.formatPiePercent(t,e)),r}},80809:function(t,e,r){"use strict";t.exports={moduleType:"trace",name:"sunburst",basePlotModule:r(14724),categories:[],animatable:!0,attributes:r(56708),layoutAttributes:r(98959),supplyDefaults:r(33459),supplyLayoutDefaults:r(75816),calc:r(14852).calc,crossTraceCalc:r(14852).crossTraceCalc,plot:r(19718).plot,style:r(98972).style,colorbar:r(21146),meta:{}}},98959:function(t){"use strict";t.exports={sunburstcolorway:{valType:"colorlist",editType:"calc"},extendsunburstcolors:{valType:"boolean",dflt:!0,editType:"calc"}}},75816:function(t,e,r){"use strict";var n=r(34809),i=r(98959);t.exports=function(t,e){function r(r,a){return n.coerce(t,e,i,r,a)}r("sunburstcolorway",e.colorway),r("extendsunburstcolors")}},19718:function(t,e,r){"use strict";var n=r(45568),i=r(92264),a=r(88640).GW,o=r(62203),s=r(34809),l=r(30635),c=r(84102),u=c.recordMinTextSize,h=c.clearMinTextSize,f=r(35734),p=r(37252).getRotationAngle,d=f.computeTransform,m=f.transformInsideText,g=r(98972).styleOne,y=r(6851).resizeText,v=r(44691),x=r(2032),_=r(33108);function b(t,r,c,h){var f=t._context.staticPlot,y=t._fullLayout,b=!y.uniformtext.mode&&_.hasTransition(h),T=n.select(c).selectAll("g.slice"),k=r[0],A=k.trace,M=k.hierarchy,S=_.findEntryWithLevel(M,A.level),E=_.getMaxDepth(A),C=y._size,L=A.domain,I=C.w*(L.x[1]-L.x[0]),P=C.h*(L.y[1]-L.y[0]),z=.5*Math.min(I,P),O=k.cx=C.l+C.w*(L.x[1]+L.x[0])/2,D=k.cy=C.t+C.h*(1-L.y[0])-P/2;if(!S)return T.remove();var R=null,F={};b&&T.each((function(t){F[_.getPtId(t)]={rpx0:t.rpx0,rpx1:t.rpx1,x0:t.x0,x1:t.x1,transform:t.transform},!R&&_.isEntry(t)&&(R=t)}));var B=function(t){return i.partition().size([2*Math.PI,t.height+1])(t)}(S).descendants(),N=S.height+1,j=0,U=E;k.hasMultipleRoots&&_.isHierarchyRoot(S)&&(B=B.slice(1),N-=1,j=1,U+=1),B=B.filter((function(t){return t.y1<=U}));var V=p(A.rotation);V&&B.forEach((function(t){t.x0+=V,t.x1+=V}));var q=Math.min(N,E),H=function(t){return(t-j)/q*z},G=function(t,e){return[t*Math.cos(e),-t*Math.sin(e)]},Z=function(t){return s.pathAnnulus(t.rpx0,t.rpx1,t.x0,t.x1,O,D)},W=function(t){return O+w(t)[0]*(t.transform.rCenter||0)+(t.transform.x||0)},Y=function(t){return D+w(t)[1]*(t.transform.rCenter||0)+(t.transform.y||0)};(T=T.data(B,_.getPtId)).enter().append("g").classed("slice",!0),b?T.exit().transition().each((function(){var t=n.select(this);t.select("path.surface").transition().attrTween("d",(function(t){var e=function(t){var e,r=_.getPtId(t),n=F[r],i=F[_.getPtId(S)];if(i){var o=(t.x1>i.x1?2*Math.PI:0)+V;e=t.rpx1X?2*Math.PI:0)+V;e={x0:i,x1:i}}else e={rpx0:z,rpx1:z},s.extendFlat(e,K(t));else e={rpx0:0,rpx1:0};else e={x0:V,x1:V};return a(e,n)}(t);return function(t){return Z(e(t))}})):h.attr("d",Z),c.call(v,S,t,r,{eventDataKeys:x.eventDataKeys,transitionTime:x.CLICK_TRANSITION_TIME,transitionEasing:x.CLICK_TRANSITION_EASING}).call(_.setSliceCursor,t,{hideOnRoot:!0,hideOnLeaves:!0,isTransitioning:t._transitioning}),h.call(g,i,A,t);var p=s.ensureSingle(c,"g","slicetext"),w=s.ensureSingle(p,"text","",(function(t){t.attr("data-notex",1)})),T=s.ensureUniformFontSize(t,_.determineTextFont(A,i,y.font));w.text(e.formatSliceLabel(i,S,A,r,y)).classed("slicetext",!0).attr("text-anchor","middle").call(o.font,T).call(l.convertToTspans,t);var M=o.bBox(w.node());i.transform=m(M,i,k),i.transform.targetX=W(i),i.transform.targetY=Y(i);var E=function(t,e){var r=t.transform;return d(r,e),r.fontSize=T.size,u(A.type,r,y),s.getTextTransform(r)};b?w.transition().attrTween("transform",(function(t){var e=function(t){var e,r=F[_.getPtId(t)],n=t.transform;if(r)e=r;else if(e={rpx1:t.rpx1,transform:{textPosAngle:n.textPosAngle,scale:0,rotate:n.rotate,rCenter:n.rCenter,x:n.x,y:n.y}},R)if(t.parent)if(X){var i=t.x1>X?2*Math.PI:0;e.x0=e.x1=i}else s.extendFlat(e,K(t));else e.x0=e.x1=V;else e.x0=e.x1=V;var o=a(e.transform.textPosAngle,t.transform.textPosAngle),l=a(e.rpx1,t.rpx1),c=a(e.x0,t.x0),h=a(e.x1,t.x1),f=a(e.transform.scale,n.scale),p=a(e.transform.rotate,n.rotate),d=0===n.rCenter?3:0===e.transform.rCenter?1/3:1,m=a(e.transform.rCenter,n.rCenter);return function(t){var e=l(t),r=c(t),i=h(t),a=function(t){return m(Math.pow(t,d))}(t),s={pxmid:G(e,(r+i)/2),rpx1:e,transform:{textPosAngle:o(t),rCenter:a,x:n.x,y:n.y}};return u(A.type,n,y),{transform:{targetX:W(s),targetY:Y(s),scale:f(t),rotate:p(t),rCenter:a}}}}(t);return function(t){return E(e(t),M)}})):w.attr("transform",E(i,M))}))}function w(t){return e=t.rpx1,r=t.transform.textPosAngle,[e*Math.sin(r),-e*Math.cos(r)];var e,r}e.plot=function(t,e,r,i){var a,o,s=t._fullLayout,l=s._sunburstlayer,c=!r,u=!s.uniformtext.mode&&_.hasTransition(r);h("sunburst",s),(a=l.selectAll("g.trace.sunburst").data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed("sunburst",!0).attr("stroke-linejoin","round"),a.order(),u?(i&&(o=i()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){o&&o()})).each("interrupt",(function(){o&&o()})).each((function(){l.selectAll("g.trace").each((function(e){b(t,e,this,r)}))}))):(a.each((function(e){b(t,e,this,r)})),s.uniformtext.mode&&y(t,s._sunburstlayer.selectAll(".trace"),"sunburst")),c&&a.exit().remove()},e.formatSliceLabel=function(t,e,r,n,i){var a=r.texttemplate,o=r.textinfo;if(!(a||o&&"none"!==o))return"";var l=i.separators,c=n[0],u=t.data.data,h=c.hierarchy,f=_.isHierarchyRoot(t),p=_.getParent(h,t),d=_.getValue(t);if(!a){var m,g=o.split("+"),y=function(t){return-1!==g.indexOf(t)},v=[];if(y("label")&&u.label&&v.push(u.label),u.hasOwnProperty("v")&&y("value")&&v.push(_.formatValue(u.v,l)),!f){y("current path")&&v.push(_.getPath(t.data));var x=0;y("percent parent")&&x++,y("percent entry")&&x++,y("percent root")&&x++;var b=x>1;if(x){var w,T=function(t){m=_.formatPercent(w,l),b&&(m+=" of "+t),v.push(m)};y("percent parent")&&!f&&(w=d/_.getValue(p),T("parent")),y("percent entry")&&(w=d/_.getValue(e),T("entry")),y("percent root")&&(w=d/_.getValue(h),T("root"))}}return y("text")&&(m=s.castOption(r,u.i,"text"),s.isValidTextValue(m)&&v.push(m)),v.join("
")}var k=s.castOption(r,u.i,"texttemplate");if(!k)return"";var A={};u.label&&(A.label=u.label),u.hasOwnProperty("v")&&(A.value=u.v,A.valueLabel=_.formatValue(u.v,l)),A.currentPath=_.getPath(t.data),f||(A.percentParent=d/_.getValue(p),A.percentParentLabel=_.formatPercent(A.percentParent,l),A.parent=_.getPtLabel(p)),A.percentEntry=d/_.getValue(e),A.percentEntryLabel=_.formatPercent(A.percentEntry,l),A.entry=_.getPtLabel(e),A.percentRoot=d/_.getValue(h),A.percentRootLabel=_.formatPercent(A.percentRoot,l),A.root=_.getPtLabel(h),u.hasOwnProperty("color")&&(A.color=u.color);var M=s.castOption(r,u.i,"text");return(s.isValidTextValue(M)||""===M)&&(A.text=M),A.customdata=s.castOption(r,u.i,"customdata"),s.texttemplateString(k,A,i._d3locale,A,r._meta||{})}},98972:function(t,e,r){"use strict";var n=r(45568),i=r(78766),a=r(34809),o=r(84102).resizeText,s=r(72043);function l(t,e,r,n){var o=e.data.data,l=!e.children,c=o.i,u=a.castOption(r,c,"marker.line.color")||i.defaultLine,h=a.castOption(r,c,"marker.line.width")||0;t.call(s,e,r,n).style("stroke-width",h).call(i.stroke,u).style("opacity",l?r.leaf.opacity:null)}t.exports={style:function(t){var e=t._fullLayout._sunburstlayer.selectAll(".trace");o(t,e,"sunburst"),e.each((function(e){var r=n.select(this),i=e[0].trace;r.style("opacity",i.opacity),r.selectAll("path.surface").each((function(e){n.select(this).call(l,e,i,t)}))}))},styleOne:l}},16131:function(t,e,r){"use strict";var n=r(78766),i=r(87163),a=r(80712).axisHoverFormat,o=r(3208).rb,s=r(9829),l=r(93049).extendFlat,c=r(13582).overrideAll;function u(t){return{show:{valType:"boolean",dflt:!1},start:{valType:"number",dflt:null,editType:"plot"},end:{valType:"number",dflt:null,editType:"plot"},size:{valType:"number",dflt:null,min:0,editType:"plot"},project:{x:{valType:"boolean",dflt:!1},y:{valType:"boolean",dflt:!1},z:{valType:"boolean",dflt:!1}},color:{valType:"color",dflt:n.defaultLine},usecolormap:{valType:"boolean",dflt:!1},width:{valType:"number",min:1,max:16,dflt:2},highlight:{valType:"boolean",dflt:!0},highlightcolor:{valType:"color",dflt:n.defaultLine},highlightwidth:{valType:"number",min:1,max:16,dflt:2}}}var h=t.exports=c(l({z:{valType:"data_array"},x:{valType:"data_array"},y:{valType:"data_array"},text:{valType:"string",dflt:"",arrayOk:!0},hovertext:{valType:"string",dflt:"",arrayOk:!0},hovertemplate:o(),xhoverformat:a("x"),yhoverformat:a("y"),zhoverformat:a("z"),connectgaps:{valType:"boolean",dflt:!1,editType:"calc"},surfacecolor:{valType:"data_array"}},i("",{colorAttr:"z or surfacecolor",showScaleDflt:!0,autoColorDflt:!1,editTypeOverride:"calc"}),{contours:{x:u(),y:u(),z:u()},hidesurface:{valType:"boolean",dflt:!1},lightposition:{x:{valType:"number",min:-1e5,max:1e5,dflt:10},y:{valType:"number",min:-1e5,max:1e5,dflt:1e4},z:{valType:"number",min:-1e5,max:1e5,dflt:0}},lighting:{ambient:{valType:"number",min:0,max:1,dflt:.8},diffuse:{valType:"number",min:0,max:1,dflt:.8},specular:{valType:"number",min:0,max:2,dflt:.05},roughness:{valType:"number",min:0,max:1,dflt:.5},fresnel:{valType:"number",min:0,max:5,dflt:.2}},opacity:{valType:"number",min:0,max:1,dflt:1},opacityscale:{valType:"any",editType:"calc"},_deprecated:{zauto:l({},i.zauto,{}),zmin:l({},i.zmin,{}),zmax:l({},i.zmax,{})},hoverinfo:l({},s.hoverinfo),showlegend:l({},s.showlegend,{dflt:!1})}),"calc","nested");h.x.editType=h.y.editType=h.z.editType="calc+clearAxisTypes",h.transforms=void 0},53027:function(t,e,r){"use strict";var n=r(28379);t.exports=function(t,e){e.surfacecolor?n(t,e,{vals:e.surfacecolor,containerStr:"",cLetter:"c"}):n(t,e,{vals:e.z,containerStr:"",cLetter:"c"})}},27159:function(t,e,r){"use strict";var n=r(99098).gl_surface3d,i=r(99098).ndarray,a=r(99098).ndarray_linear_interpolate.d2,o=r(69295),s=r(78106),l=r(34809).isArrayOrTypedArray,c=r(46998).parseColorScale,u=r(55010),h=r(88856).extractOpts;function f(t,e,r){this.scene=t,this.uid=r,this.surface=e,this.data=null,this.showContour=[!1,!1,!1],this.contourStart=[null,null,null],this.contourEnd=[null,null,null],this.contourSize=[0,0,0],this.minValues=[1/0,1/0,1/0],this.maxValues=[-1/0,-1/0,-1/0],this.dataScaleX=1,this.dataScaleY=1,this.refineData=!0,this.objectOffset=[0,0,0]}var p=f.prototype;p.getXat=function(t,e,r,n){var i=l(this.data.x)?l(this.data.x[0])?this.data.x[e][t]:this.data.x[t]:t;return void 0===r?i:n.d2l(i,0,r)},p.getYat=function(t,e,r,n){var i=l(this.data.y)?l(this.data.y[0])?this.data.y[e][t]:this.data.y[e]:e;return void 0===r?i:n.d2l(i,0,r)},p.getZat=function(t,e,r,n){var i=this.data.z[e][t];return null===i&&this.data.connectgaps&&this.data._interpolatedZ&&(i=this.data._interpolatedZ[e][t]),void 0===r?i:n.d2l(i,0,r)},p.handlePick=function(t){if(t.object===this.surface){var e=(t.data.index[0]-1)/this.dataScaleX-1,r=(t.data.index[1]-1)/this.dataScaleY-1,n=Math.max(Math.min(Math.round(e),this.data.z[0].length-1),0),i=Math.max(Math.min(Math.round(r),this.data._ylength-1),0);t.index=[n,i],t.traceCoordinate=[this.getXat(n,i),this.getYat(n,i),this.getZat(n,i)],t.dataCoordinate=[this.getXat(n,i,this.data.xcalendar,this.scene.fullSceneLayout.xaxis),this.getYat(n,i,this.data.ycalendar,this.scene.fullSceneLayout.yaxis),this.getZat(n,i,this.data.zcalendar,this.scene.fullSceneLayout.zaxis)];for(var a=0;a<3;a++){null!=t.dataCoordinate[a]&&(t.dataCoordinate[a]*=this.scene.dataScale[a])}var o=this.data.hovertext||this.data.text;return l(o)&&o[i]&&void 0!==o[i][n]?t.textLabel=o[i][n]:t.textLabel=o||"",t.data.dataCoordinate=t.dataCoordinate.slice(),this.surface.highlight(t.data),this.scene.glplot.spikes.position=t.dataCoordinate,!0}};var d=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341,2347,2351,2357,2371,2377,2381,2383,2389,2393,2399,2411,2417,2423,2437,2441,2447,2459,2467,2473,2477,2503,2521,2531,2539,2543,2549,2551,2557,2579,2591,2593,2609,2617,2621,2633,2647,2657,2659,2663,2671,2677,2683,2687,2689,2693,2699,2707,2711,2713,2719,2729,2731,2741,2749,2753,2767,2777,2789,2791,2797,2801,2803,2819,2833,2837,2843,2851,2857,2861,2879,2887,2897,2903,2909,2917,2927,2939,2953,2957,2963,2969,2971,2999];function m(t,e){if(t0){r=d[n];break}return r}function v(t,e){if(!(t<1||e<1)){for(var r=g(t),n=g(e),i=1,a=0;ab;)r--,r/=y(r),++r<_&&(r=b);var n=Math.round(r/t);return n>1?n:1},p.refineCoords=function(t){for(var e=this.dataScaleX,r=this.dataScaleY,n=t[0].shape[0],a=t[0].shape[1],o=0|Math.floor(t[0].shape[0]*e+1),s=0|Math.floor(t[0].shape[1]*r+1),l=1+n+1,c=1+a+1,u=i(new Float32Array(l*c),[l,c]),h=[1/e,0,0,0,1/r,0,0,0,1],f=0;f0&&null!==this.contourStart[t]&&null!==this.contourEnd[t]&&this.contourEnd[t]>this.contourStart[t]))for(i[t]=!0,e=this.contourStart[t];ea&&(this.minValues[e]=a),this.maxValues[e]",maxDimensionCount:60,overdrag:45,releaseTransitionDuration:120,releaseTransitionEase:"cubic-out",scrollbarCaptureWidth:18,scrollbarHideDelay:1e3,scrollbarHideDuration:1e3,scrollbarOffset:5,scrollbarWidth:8,transitionDuration:100,transitionEase:"cubic-out",uplift:5,wrapSpacer:" ",wrapSplitCharacter:" ",cn:{table:"table",tableControlView:"table-control-view",scrollBackground:"scroll-background",yColumn:"y-column",columnBlock:"column-block",scrollAreaClip:"scroll-area-clip",scrollAreaClipRect:"scroll-area-clip-rect",columnBoundary:"column-boundary",columnBoundaryClippath:"column-boundary-clippath",columnBoundaryRect:"column-boundary-rect",columnCells:"column-cells",columnCell:"column-cell",cellRect:"cell-rect",cellText:"cell-text",cellTextHolder:"cell-text-holder",scrollbarKit:"scrollbar-kit",scrollbar:"scrollbar",scrollbarSlider:"scrollbar-slider",scrollbarGlyph:"scrollbar-glyph",scrollbarCaptureZone:"scrollbar-capture-zone"}}},21908:function(t,e,r){"use strict";var n=r(18426),i=r(93049).extendFlat,a=r(10721),o=r(87800).isTypedArray,s=r(87800).isArrayOrTypedArray;function l(t){if(s(t)){for(var e=0,r=0;r=e||c===t.length-1)&&(n[i]=o,o.key=l++,o.firstRowIndex=s,o.lastRowIndex=c,o={firstRowIndex:null,lastRowIndex:null,rows:[]},i+=a,s=c+1,a=0);return n}t.exports=function(t,e){var r=u(e.cells.values),o=function(t){return t.slice(e.header.values.length,t.length)},m=u(e.header.values);m.length&&!m[0].length&&(m[0]=[""],m=u(m));var g=m.concat(o(r).map((function(){return h((m[0]||[""]).length)}))),y=e.domain,v=Math.floor(t._fullLayout._size.w*(y.x[1]-y.x[0])),x=Math.floor(t._fullLayout._size.h*(y.y[1]-y.y[0])),_=e.header.values.length?g[0].map((function(){return e.header.height})):[n.emptyHeaderHeight],b=r.length?r[0].map((function(){return e.cells.height})):[],w=_.reduce(c,0),T=d(b,x-w+n.uplift),k=p(d(_,w),[]),A=p(T,k),M={},S=e._fullInput.columnorder;s(S)&&(S=Array.from(S)),S=S.concat(o(r.map((function(t,e){return e}))));var E=g.map((function(t,r){var n=s(e.columnwidth)?e.columnwidth[Math.min(r,e.columnwidth.length-1)]:e.columnwidth;return a(n)?Number(n):1})),C=E.reduce(c,0);E=E.map((function(t){return t/C*v}));var L=Math.max(l(e.header.line.width),l(e.cells.line.width)),I={key:e.uid+t._context.staticPlot,translateX:y.x[0]*t._fullLayout._size.w,translateY:t._fullLayout._size.h*(1-y.y[1]),size:t._fullLayout._size,width:v,maxLineWidth:L,height:x,columnOrder:S,groupHeight:x,rowBlocks:A,headerRowBlocks:k,scrollY:0,cells:i({},e.cells,{values:r}),headerCells:i({},e.header,{values:g}),gdColumns:g.map((function(t){return t[0]})),gdColumnsOriginalOrder:g.map((function(t){return t[0]})),prevPages:[0,0],scrollbarState:{scrollbarScrollInProgress:!1},columns:g.map((function(t,e){var r=M[t];return M[t]=(r||0)+1,{key:t+"__"+M[t],label:t,specIndex:e,xIndex:S[e],xScale:f,x:void 0,calcdata:void 0,columnWidth:E[e]}}))};return I.columns.forEach((function(t){t.calcdata=I,t.x=f(t)})),I}},49618:function(t,e,r){"use strict";var n=r(93049).extendFlat;e.splitToPanels=function(t){var e=[0,0],r=n({},t,{key:"header",type:"header",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!0,values:t.calcdata.headerCells.values[t.specIndex],rowBlocks:t.calcdata.headerRowBlocks,calcdata:n({},t.calcdata,{cells:t.calcdata.headerCells})});return[n({},t,{key:"cells1",type:"cells",page:0,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),n({},t,{key:"cells2",type:"cells",page:1,prevPages:e,currentRepaint:[null,null],dragHandle:!1,values:t.calcdata.cells.values[t.specIndex],rowBlocks:t.calcdata.rowBlocks}),r]},e.splitToCells=function(t){var e=function(t){var e=t.rowBlocks[t.page],r=e?e.rows[0].rowIndex:0;return[r,e?r+e.rows.length:0]}(t);return(t.values||[]).slice(e[0],e[1]).map((function(r,n){return{keyWithinBlock:n+("string"==typeof r&&r.match(/[<$&> ]/)?"_keybuster_"+Math.random():""),key:e[0]+n,column:t,calcdata:t.calcdata,page:t.page,rowBlocks:t.rowBlocks,value:r}}))}},23281:function(t,e,r){"use strict";var n=r(34809),i=r(92294),a=r(13792).N;t.exports=function(t,e,r,o){function s(r,a){return n.coerce(t,e,i,r,a)}a(e,o,s),s("columnwidth"),s("header.values"),s("header.format"),s("header.align"),s("header.prefix"),s("header.suffix"),s("header.height"),s("header.line.width"),s("header.line.color"),s("header.fill.color"),n.coerceFont(s,"header.font",o.font),function(t,e){for(var r=t.columnorder||[],n=t.header.values.length,i=r.slice(0,n),a=i.slice().sort((function(t,e){return t-e})),o=i.map((function(t){return a.indexOf(t)})),s=o.length;s/i),l=!a||s;t.mayHaveMarkup=a&&i.match(/[<&>]/);var c,u="string"==typeof(c=i)&&c.match(n.latexCheck);t.latex=u;var h,f,p=u?"":k(t.calcdata.cells.prefix,e,r)||"",d=u?"":k(t.calcdata.cells.suffix,e,r)||"",m=u?null:k(t.calcdata.cells.format,e,r)||null,g=p+(m?o(m)(t.value):t.value)+d;if(t.wrappingNeeded=!t.wrapped&&!l&&!u&&(h=T(g)),t.cellHeightMayIncrease=s||u||t.mayHaveMarkup||(void 0===h?T(g):h),t.needsConvertToTspans=t.mayHaveMarkup||t.wrappingNeeded||t.latex,t.wrappingNeeded){var y=(" "===n.wrapSplitCharacter?g.replace(/i&&n.push(a),i+=l}return n}(i,l,s);1===c.length&&(c[0]===i.length-1?c.unshift(c[0]-1):c.push(c[0]+1)),c[0]%2&&c.reverse(),e.each((function(t,e){t.page=c[e],t.scrollY=l})),e.attr("transform",(function(t){var e=R(t.rowBlocks,t.page)-t.scrollY;return h(0,e)})),t&&(I(t,r,e,c,n.prevPages,n,0),I(t,r,e,c,n.prevPages,n,1),_(r,t))}}function L(t,e,r,a){return function(o){var s=o.calcdata?o.calcdata:o,l=e.filter((function(t){return s.key===t.key})),c=r||s.scrollbarState.dragMultiplier,u=s.scrollY;s.scrollY=void 0===a?s.scrollY+c*i.event.dy:a;var h=l.selectAll("."+n.cn.yColumn).selectAll("."+n.cn.columnBlock).filter(M);return C(t,h,l),s.scrollY===u}}function I(t,e,r,n,i,a,o){n[o]!==i[o]&&(clearTimeout(a.currentRepaint[o]),a.currentRepaint[o]=setTimeout((function(){var a=r.filter((function(t,e){return e===o&&n[e]!==i[e]}));b(t,e,a,r),i[o]=n[o]})))}function P(t,e,r,a){return function(){var o=i.select(e.parentNode);o.each((function(t){var e=t.fragments;o.selectAll("tspan.line").each((function(t,r){e[r].width=this.getComputedTextLength()}));var r,i,a=e[e.length-1].width,s=e.slice(0,-1),l=[],c=0,u=t.column.columnWidth-2*n.cellPad;for(t.value="";s.length;)c+(i=(r=s.shift()).width+a)>u&&(t.value+=l.join(n.wrapSpacer)+n.lineBreaker,l=[],c=0),l.push(r.text),c+=i;c&&(t.value+=l.join(n.wrapSpacer)),t.wrapped=!0})),o.selectAll("tspan.line").remove(),w(o.select("."+n.cn.cellText),r,t,a),i.select(e.parentNode.parentNode).call(D)}}function z(t,e,r,a,o){return function(){if(!o.settledY){var s=i.select(e.parentNode),l=N(o),c=o.key-l.firstRowIndex,u=l.rows[c].rowHeight,f=o.cellHeightMayIncrease?e.parentNode.getBoundingClientRect().height+2*n.cellPad:u,p=Math.max(f,u);p-l.rows[c].rowHeight&&(l.rows[c].rowHeight=p,t.selectAll("."+n.cn.columnCell).call(D),C(null,t.filter(M),0),_(r,a,!0)),s.attr("transform",(function(){var t=this,e=t.parentNode.getBoundingClientRect(),r=i.select(t.parentNode).select("."+n.cn.cellRect).node().getBoundingClientRect(),a=t.transform.baseVal.consolidate(),s=r.top-e.top+(a?a.matrix.f:n.cellPad);return h(O(o,i.select(t.parentNode).select("."+n.cn.cellTextHolder).node().getBoundingClientRect().width),s)})),o.settledY=!0}}}function O(t,e){switch(t.align){case"left":default:return n.cellPad;case"right":return t.column.columnWidth-(e||0)-n.cellPad;case"center":return(t.column.columnWidth-(e||0))/2}}function D(t){t.attr("transform",(function(t){var e=t.rowBlocks[0].auxiliaryBlocks.reduce((function(t,e){return t+F(e,1/0)}),0),r=F(N(t),t.key);return h(0,r+e)})).selectAll("."+n.cn.cellRect).attr("height",(function(t){return(e=N(t),r=t.key,e.rows[r-e.firstRowIndex]).rowHeight;var e,r}))}function R(t,e){for(var r=0,n=e-1;n>=0;n--)r+=B(t[n]);return r}function F(t,e){for(var r=0,n=0;n","<","|","/","\\"],dflt:">",editType:"plot"},thickness:{valType:"number",min:12,editType:"plot"},textfont:u({},s.textfont,{}),editType:"calc"},text:s.text,textinfo:l.textinfo,texttemplate:i({editType:"plot"},{keys:c.eventDataKeys.concat(["label","value"])}),hovertext:s.hovertext,hoverinfo:l.hoverinfo,hovertemplate:n({},{keys:c.eventDataKeys}),textfont:s.textfont,insidetextfont:s.insidetextfont,outsidetextfont:u({},s.outsidetextfont,{}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right"],dflt:"top left",editType:"plot"},sort:s.sort,root:l.root,domain:o({name:"treemap",trace:!0,editType:"calc"})}},69784:function(t,e,r){"use strict";var n=r(44122);e.name="treemap",e.plot=function(t,r,i,a){n.plotBasePlot(e.name,t,r,i,a)},e.clean=function(t,r,i,a){n.cleanBasePlot(e.name,t,r,i,a)}},38848:function(t,e,r){"use strict";var n=r(14852);e._=function(t,e){return n.calc(t,e)},e.t=function(t){return n._runCrossTraceCalc("treemap",t)}},43236:function(t){"use strict";t.exports={CLICK_TRANSITION_TIME:750,CLICK_TRANSITION_EASING:"poly",eventDataKeys:["currentPath","root","entry","percentRoot","percentEntry","percentParent"],gapWithPathbar:1}},95719:function(t,e,r){"use strict";var n=r(34809),i=r(71856),a=r(78766),o=r(13792).N,s=r(17550).handleText,l=r(56155).TEXTPAD,c=r(46979).handleMarkerDefaults,u=r(88856),h=u.hasColorscale,f=u.handleDefaults;t.exports=function(t,e,r,u){function p(r,a){return n.coerce(t,e,i,r,a)}var d=p("labels"),m=p("parents");if(d&&d.length&&m&&m.length){var g=p("values");g&&g.length?p("branchvalues"):p("count"),p("level"),p("maxdepth"),"squarify"===p("tiling.packing")&&p("tiling.squarifyratio"),p("tiling.flip"),p("tiling.pad");var y=p("text");p("texttemplate"),e.texttemplate||p("textinfo",n.isArrayOrTypedArray(y)?"text+label":"label"),p("hovertext"),p("hovertemplate");var v=p("pathbar.visible");s(t,e,u,p,"auto",{hasPathbar:v,moduleHasSelected:!1,moduleHasUnselected:!1,moduleHasConstrain:!1,moduleHasCliponaxis:!1,moduleHasTextangle:!1,moduleHasInsideanchor:!1}),p("textposition");var x=-1!==e.textposition.indexOf("bottom");c(t,e,u,p),(e._hasColorscale=h(t,"marker","colors")||(t.marker||{}).coloraxis)?f(t,e,u,p,{prefix:"marker.",cLetter:"c"}):p("marker.depthfade",!(e.marker.colors||[]).length);var _=2*e.textfont.size;p("marker.pad.t",x?_/4:_),p("marker.pad.l",_/4),p("marker.pad.r",_/4),p("marker.pad.b",x?_:_/4),p("marker.cornerradius"),e._hovered={marker:{line:{width:2,color:a.contrast(u.paper_bgcolor)}}},v&&(p("pathbar.thickness",e.pathbar.textfont.size+2*l),p("pathbar.side"),p("pathbar.edgeshape")),p("sort"),p("root.color"),o(e,u,p),e._length=null}else e.visible=!1}},41567:function(t,e,r){"use strict";var n=r(45568),i=r(33108),a=r(84102).clearMinTextSize,o=r(6851).resizeText,s=r(95709);t.exports=function(t,e,r,l,c){var u,h,f=c.type,p=c.drawDescendants,d=t._fullLayout,m=d["_"+f+"layer"],g=!r;a(f,d),(u=m.selectAll("g.trace."+f).data(e,(function(t){return t[0].trace.uid}))).enter().append("g").classed("trace",!0).classed(f,!0),u.order(),!d.uniformtext.mode&&i.hasTransition(r)?(l&&(h=l()),n.transition().duration(r.duration).ease(r.easing).each("end",(function(){h&&h()})).each("interrupt",(function(){h&&h()})).each((function(){m.selectAll("g.trace").each((function(e){s(t,e,this,r,p)}))}))):(u.each((function(e){s(t,e,this,r,p)})),d.uniformtext.mode&&o(t,m.selectAll(".trace"),f)),g&&u.exit().remove()}},17010:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=r(62203),o=r(30635),s=r(11995),l=r(92080).styleOne,c=r(43236),u=r(33108),h=r(44691),f=!0;t.exports=function(t,e,r,p,d){var m=d.barDifY,g=d.width,y=d.height,v=d.viewX,x=d.viewY,_=d.pathSlice,b=d.toMoveInsideSlice,w=d.strTransform,T=d.hasTransition,k=d.handleSlicesExit,A=d.makeUpdateSliceInterpolator,M=d.makeUpdateTextInterpolator,S={},E=t._context.staticPlot,C=t._fullLayout,L=e[0],I=L.trace,P=L.hierarchy,z=g/I._entryDepth,O=u.listPath(r.data,"id"),D=s(P.copy(),[g,y],{packing:"dice",pad:{inner:0,top:0,left:0,right:0,bottom:0}}).descendants();(D=D.filter((function(t){var e=O.indexOf(t.data.id);return-1!==e&&(t.x0=z*e,t.x1=z*(e+1),t.y0=m,t.y1=m+y,t.onPathbar=!0,!0)}))).reverse(),(p=p.data(D,u.getPtId)).enter().append("g").classed("pathbar",!0),k(p,f,S,[g,y],_),p.order();var R=p;T&&(R=R.transition().each("end",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:!1})}))),R.each((function(s){s._x0=v(s.x0),s._x1=v(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=v(s.x1-Math.min(g,y)/2),s._hoverY=x(s.y1-y/2);var p=n.select(this),d=i.ensureSingle(p,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?d.transition().attrTween("d",(function(t){var e=A(t,f,S,[g,y]);return function(t){return _(e(t))}})):d.attr("d",_),p.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{hideOnRoot:!1,hideOnLeaves:!1,isTransitioning:t._transitioning}),d.call(l,s,I,t,{hovered:!1}),s._text=(u.getPtLabel(s)||"").split("
").join(" ")||"";var m=i.ensureSingle(p,"g","slicetext"),k=i.ensureSingle(m,"text","",(function(t){t.attr("data-notex",1)})),L=i.ensureUniformFontSize(t,u.determineTextFont(I,s,C.font,{onPathbar:!0}));k.text(s._text||" ").classed("slicetext",!0).attr("text-anchor","start").call(a.font,L).call(o.convertToTspans,t),s.textBB=a.bBox(k.node()),s.transform=b(s,{fontSize:L.size,onPathbar:!0}),s.transform.fontSize=L.size,T?k.transition().attrTween("transform",(function(t){var e=M(t,f,S,[g,y]);return function(t){return w(e(t))}})):k.attr("transform",w(s))}))}},50916:function(t,e,r){"use strict";var n=r(45568),i=r(34809),a=r(62203),o=r(30635),s=r(11995),l=r(92080).styleOne,c=r(43236),u=r(33108),h=r(44691),f=r(19718).formatSliceLabel,p=!1;t.exports=function(t,e,r,d,m){var g=m.width,y=m.height,v=m.viewX,x=m.viewY,_=m.pathSlice,b=m.toMoveInsideSlice,w=m.strTransform,T=m.hasTransition,k=m.handleSlicesExit,A=m.makeUpdateSliceInterpolator,M=m.makeUpdateTextInterpolator,S=m.prevEntry,E=t._context.staticPlot,C=t._fullLayout,L=e[0].trace,I=-1!==L.textposition.indexOf("left"),P=-1!==L.textposition.indexOf("right"),z=-1!==L.textposition.indexOf("bottom"),O=!z&&!L.marker.pad.t||z&&!L.marker.pad.b,D=s(r,[g,y],{packing:L.tiling.packing,squarifyratio:L.tiling.squarifyratio,flipX:L.tiling.flip.indexOf("x")>-1,flipY:L.tiling.flip.indexOf("y")>-1,pad:{inner:L.tiling.pad,top:L.marker.pad.t,left:L.marker.pad.l,right:L.marker.pad.r,bottom:L.marker.pad.b}}).descendants(),R=1/0,F=-1/0;D.forEach((function(t){var e=t.depth;e>=L._maxDepth?(t.x0=t.x1=(t.x0+t.x1)/2,t.y0=t.y1=(t.y0+t.y1)/2):(R=Math.min(R,e),F=Math.max(F,e))})),d=d.data(D,u.getPtId),L._maxVisibleLayers=isFinite(F)?F-R+1:0,d.enter().append("g").classed("slice",!0),k(d,p,{},[g,y],_),d.order();var B=null;if(T&&S){var N=u.getPtId(S);d.each((function(t){null===B&&u.getPtId(t)===N&&(B={x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1})}))}var j=function(){return B||{x0:0,x1:g,y0:0,y1:y}},U=d;return T&&(U=U.transition().each("end",(function(){var e=n.select(this);u.setSliceCursor(e,t,{hideOnRoot:!0,hideOnLeaves:!1,isTransitioning:!1})}))),U.each((function(s){var d=u.isHeader(s,L);s._x0=v(s.x0),s._x1=v(s.x1),s._y0=x(s.y0),s._y1=x(s.y1),s._hoverX=v(s.x1-L.marker.pad.r),s._hoverY=x(z?s.y1-L.marker.pad.b/2:s.y0+L.marker.pad.t/2);var m=n.select(this),k=i.ensureSingle(m,"path","surface",(function(t){t.style("pointer-events",E?"none":"all")}));T?k.transition().attrTween("d",(function(t){var e=A(t,p,j(),[g,y]);return function(t){return _(e(t))}})):k.attr("d",_),m.call(h,r,t,e,{styleOne:l,eventDataKeys:c.eventDataKeys,transitionTime:c.CLICK_TRANSITION_TIME,transitionEasing:c.CLICK_TRANSITION_EASING}).call(u.setSliceCursor,t,{isTransitioning:t._transitioning}),k.call(l,s,L,t,{hovered:!1}),s.x0===s.x1||s.y0===s.y1?s._text="":s._text=d?O?"":u.getPtLabel(s)||"":f(s,r,L,e,C)||"";var S=i.ensureSingle(m,"g","slicetext"),D=i.ensureSingle(S,"text","",(function(t){t.attr("data-notex",1)})),R=i.ensureUniformFontSize(t,u.determineTextFont(L,s,C.font)),F=s._text||" ",B=d&&-1===F.indexOf("
");D.text(F).classed("slicetext",!0).attr("text-anchor",P?"end":I||B?"start":"middle").call(a.font,R).call(o.convertToTspans,t),s.textBB=a.bBox(D.node()),s.transform=b(s,{fontSize:R.size,isHeader:d}),s.transform.fontSize=R.size,T?D.transition().attrTween("transform",(function(t){var e=M(t,p,j(),[g,y]);return function(t){return w(e(t))}})):D.attr("transform",w(s))})),B}},36141:function(t){"use strict";t.exports=function t(e,r,n){var i;n.swapXY&&(i=e.x0,e.x0=e.y0,e.y0=i,i=e.x1,e.x1=e.y1,e.y1=i),n.flipX&&(i=e.x0,e.x0=r[0]-e.x1,e.x1=r[0]-i),n.flipY&&(i=e.y0,e.y0=r[1]-e.y1,e.y1=r[1]-i);var a=e.children;if(a)for(var o=0;o-1?L+z:-(P+z):0,D={x0:I,x1:I,y0:O,y1:O+P},R=function(t,e,r){var n=y.tiling.pad,i=function(t){return t-n<=e.x0},a=function(t){return t+n>=e.x1},o=function(t){return t-n<=e.y0},s=function(t){return t+n>=e.y1};return t.x0===e.x0&&t.x1===e.x1&&t.y0===e.y0&&t.y1===e.y1?{x0:t.x0,x1:t.x1,y0:t.y0,y1:t.y1}:{x0:i(t.x0-n)?0:a(t.x0-n)?r[0]:t.x0,x1:i(t.x1+n)?0:a(t.x1+n)?r[0]:t.x1,y0:o(t.y0-n)?0:s(t.y0-n)?r[1]:t.y0,y1:o(t.y1+n)?0:s(t.y1+n)?r[1]:t.y1}},F=null,B={},N={},j=null,U=function(t,e){return e?B[f(t)]:N[f(t)]};g.hasMultipleRoots&&k&&M++,y._maxDepth=M,y._backgroundColor=m.paper_bgcolor,y._entryDepth=_.data.depth,y._atRootLevel=k;var V=-C/2+S.l+S.w*(E.x[1]+E.x[0])/2,q=-L/2+S.t+S.h*(1-(E.y[1]+E.y[0])/2),H=function(t){return V+t},G=function(t){return q+t},Z=G(0),W=H(0),Y=function(t){return W+t},X=function(t){return Z+t};function $(t,e){return t+","+e}var J=Y(0),K=function(t){t.x=Math.max(J,t.x)},Q=y.pathbar.edgeshape,tt=y[v?"tiling":"marker"].pad,et=function(t){return-1!==y.textposition.indexOf(t)},rt=et("top"),nt=et("left"),it=et("right"),at=et("bottom"),ot=function(t,e){var r=t.x0,n=t.x1,i=t.y0,a=t.y1,o=t.textBB,u=rt||e.isHeader&&!at?"start":at?"end":"middle",h=et("right"),f=et("left")||e.onPathbar?-1:h?1:0;if(e.isHeader){if((r+=(v?tt:tt.l)-s)>=(n-=(v?tt:tt.r)-s)){var p=(r+n)/2;r=p,n=p}var d;at?i<(d=a-(v?tt:tt.b))&&d"===Q?(l.x-=a,c.x-=a,u.x-=a,h.x-=a):"/"===Q?(u.x-=a,h.x-=a,o.x-=a/2,s.x-=a/2):"\\"===Q?(l.x-=a,c.x-=a,o.x-=a/2,s.x-=a/2):"<"===Q&&(o.x-=a,s.x-=a),K(l),K(h),K(o),K(c),K(u),K(s),"M"+$(l.x,l.y)+"L"+$(c.x,c.y)+"L"+$(s.x,s.y)+"L"+$(u.x,u.y)+"L"+$(h.x,h.y)+"L"+$(o.x,o.y)+"Z"},toMoveInsideSlice:ot,makeUpdateSliceInterpolator:lt,makeUpdateTextInterpolator:ct,handleSlicesExit:ut,hasTransition:A,strTransform:ht}):w.remove()}},92080:function(t,e,r){"use strict";var n=r(45568),i=r(78766),a=r(34809),o=r(33108),s=r(84102).resizeText,l=r(72043);function c(t,e,r,n,s){var c,u,h=(s||{}).hovered,f=e.data.data,p=f.i,d=f.color,m=o.isHierarchyRoot(e),g=1;if(h)c=r._hovered.marker.line.color,u=r._hovered.marker.line.width;else if(m&&d===r.root.color)g=100,c="rgba(0,0,0,0)",u=0;else if(c=a.castOption(r,p,"marker.line.color")||i.defaultLine,u=a.castOption(r,p,"marker.line.width")||0,!r._hasColorscale&&!e.onPathbar){var y=r.marker.depthfade;if(y){var v,x=i.combine(i.addOpacity(r._backgroundColor,.75),d);if(!0===y){var _=o.getMaxDepth(r);v=isFinite(_)?o.isLeaf(e)?0:r._maxVisibleLayers-(e.data.depth-r._entryDepth):e.data.height+1}else v=e.data.depth-r._entryDepth,r._atRootLevel||v++;if(v>0)for(var b=0;b0){var _,b,w,T,k,A=t.xa,M=t.ya;"h"===d.orientation?(k=e,_="y",w=M,b="x",T=A):(k=r,_="x",w=A,b="y",T=M);var S=p[t.index];if(k>=S.span[0]&&k<=S.span[1]){var E=i.extendFlat({},t),C=T.c2p(k,!0),L=s.getKdeValue(S,d,k),I=s.getPositionOnKdePath(S,d,C),P=w._offset,z=w._length;E[_+"0"]=I[0],E[_+"1"]=I[1],E[b+"0"]=E[b+"1"]=C,E[b+"Label"]=b+": "+a.hoverLabelText(T,k,d[b+"hoverformat"])+", "+p[0].t.labels.kde+" "+L.toFixed(3);for(var O=0,D=0;D")),u.color=function(t,e){var r=t[e.dir].marker,n=r.color,a=r.line.color,o=r.line.width;return i(n)?n:i(a)&&o?a:void 0}(f,g),[u]}function k(t){return n(m,t,f[d+"hoverformat"])}}},38261:function(t,e,r){"use strict";t.exports={attributes:r(37832),layoutAttributes:r(579),supplyDefaults:r(67199).supplyDefaults,crossTraceDefaults:r(67199).crossTraceDefaults,supplyLayoutDefaults:r(71492),calc:r(15e3),crossTraceCalc:r(9963),plot:r(71130),style:r(57256).style,hoverPoints:r(40943),eventData:r(64932),selectPoints:r(88384),moduleType:"trace",name:"waterfall",basePlotModule:r(37703),categories:["bar-like","cartesian","svg","oriented","showLegend","zoomScale"],meta:{}}},579:function(t){"use strict";t.exports={waterfallmode:{valType:"enumerated",values:["group","overlay"],dflt:"group",editType:"calc"},waterfallgap:{valType:"number",min:0,max:1,editType:"calc"},waterfallgroupgap:{valType:"number",min:0,max:1,dflt:0,editType:"calc"}}},71492:function(t,e,r){"use strict";var n=r(34809),i=r(579);t.exports=function(t,e,r){var a=!1;function o(r,a){return n.coerce(t,e,i,r,a)}for(var s=0;s0&&(g+=f?"M"+h[0]+","+d[1]+"V"+d[0]:"M"+h[1]+","+d[0]+"H"+h[0]),"between"!==p&&(r.isSum||s path").each((function(t){if(!t.isBlank){var e=s[t.dir].marker;n.select(this).call(a.fill,e.color).call(a.stroke,e.line.color).call(i.dashLine,e.line.dash,e.line.width).style("opacity",s.selectedpoints&&!t.selected?o:1)}})),c(r,s,t),r.selectAll(".lines").each((function(){var t=s.connector.line;i.lineGroupStyle(n.select(this).selectAll("path"),t.width,t.color,t.dash)}))}))}}},47908:function(t,e,r){"use strict";var n=r(29714),i=r(34809),a=r(57297),o=r(5086).z,s=r(63821).BADNUM;e.moduleType="transform",e.name="aggregate";var l=e.attributes={enabled:{valType:"boolean",dflt:!0,editType:"calc"},groups:{valType:"string",strict:!0,noBlank:!0,arrayOk:!0,dflt:"x",editType:"calc"},aggregations:{_isLinkedToArray:"aggregation",target:{valType:"string",editType:"calc"},func:{valType:"enumerated",values:["count","sum","avg","median","mode","rms","stddev","min","max","first","last","change","range"],dflt:"first",editType:"calc"},funcmode:{valType:"enumerated",values:["sample","population"],dflt:"sample",editType:"calc"},enabled:{valType:"boolean",dflt:!0,editType:"calc"},editType:"calc"},editType:"calc"},c=l.aggregations;function u(t,e,r,a){if(a.enabled){for(var o=a.target,l=i.nestedProperty(e,o),c=l.get(),u=function(t,e){var r=t.func,n=e.d2c,a=e.c2d;switch(r){case"count":return h;case"first":return f;case"last":return p;case"sum":return function(t,e){for(var r=0,i=0;ii&&(i=u,o=c)}}return i?a(o):s};case"rms":return function(t,e){for(var r=0,i=0,o=0;o":return function(t){return p(t)>h};case">=":return function(t){return p(t)>=h};case"[]":return function(t){var e=p(t);return e>=h[0]&&e<=h[1]};case"()":return function(t){var e=p(t);return e>h[0]&&e=h[0]&&eh[0]&&e<=h[1]};case"][":return function(t){var e=p(t);return e<=h[0]||e>=h[1]};case")(":return function(t){var e=p(t);return eh[1]};case"](":return function(t){var e=p(t);return e<=h[0]||e>h[1]};case")[":return function(t){var e=p(t);return e=h[1]};case"{}":return function(t){return-1!==h.indexOf(p(t))};case"}{":return function(t){return-1===h.indexOf(p(t))}}}(r,a.getDataToCoordFunc(t,e,s,i),f),x={},_={},b=0;d?(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set(new Array(h))},y=function(t,e){var r=x[t.astr][e];t.get()[e]=r}):(g=function(t){x[t.astr]=n.extendDeep([],t.get()),t.set([])},y=function(t,e){var r=x[t.astr][e];t.get().push(r)}),k(g);for(var w=o(e.transforms,r),T=0;T1?"%{group} (%{trace})":"%{group}");var l=t.styles,c=o.styles=[];if(l)for(a=0;af)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,d.prototype),e}function d(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return y(t)}return m(t,e,r)}function m(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!d.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|b(t,e),n=p(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(et(t,Uint8Array)){var e=new Uint8Array(t);return x(e.buffer,e.byteOffset,e.byteLength)}return v(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(t));if(et(t,ArrayBuffer)||t&&et(t.buffer,ArrayBuffer))return x(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(et(t,SharedArrayBuffer)||t&&et(t.buffer,SharedArrayBuffer)))return x(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return d.from(n,e,r);var i=function(t){if(d.isBuffer(t)){var e=0|_(t.length),r=p(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||rt(t.length)?p(0):v(t):"Buffer"===t.type&&Array.isArray(t.data)?v(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return d.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+l(t))}function g(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function y(t){return g(t),p(t<0?0:0|_(t))}function v(t){for(var e=t.length<0?0:0|_(t.length),r=p(e),n=0;n=f)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+f.toString(16)+" bytes");return 0|t}function b(t,e){if(d.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||et(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+l(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return K(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Q(t).length;default:if(i)return n?-1:K(t).length;e=(""+e).toLowerCase(),i=!0}}function w(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return R(this,e,r);case"utf8":case"utf-8":return P(this,e,r);case"ascii":return O(this,e,r);case"latin1":case"binary":return D(this,e,r);case"base64":return I(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return F(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function T(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function k(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),rt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=d.from(e,n)),d.isBuffer(e))return 0===e.length?-1:A(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):A(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function A(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var h=!0,f=0;fi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function I(t,e,r){return 0===e&&r===t.length?c.fromByteArray(t):c.fromByteArray(t.slice(e,r))}function P(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,c=void 0,u=void 0,h=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(h=(31&a)<<6|63&l)>127&&(o=h);break;case 3:l=t[i+1],c=t[i+2],128==(192&l)&&128==(192&c)&&(h=(15&a)<<12|(63&l)<<6|63&c)>2047&&(h<55296||h>57343)&&(o=h);break;case 4:l=t[i+1],c=t[i+2],u=t[i+3],128==(192&l)&&128==(192&c)&&128==(192&u)&&(h=(15&a)<<18|(63&l)<<12|(63&c)<<6|63&u)>65535&&h<1114112&&(o=h)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=z)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(d.isBuffer(a)||(a=d.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!d.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},d.byteLength=b,d.prototype._isBuffer=!0,d.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},h&&(d.prototype[h]=d.prototype.inspect),d.prototype.compare=function(t,e,r,n,i){if(et(t,Uint8Array)&&(t=d.from(t,t.offset,t.byteLength)),!d.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+l(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),c=this.slice(n,i),u=t.slice(e,r),h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return M(this,t,e,r);case"utf8":case"utf-8":return S(this,t,e,r);case"ascii":case"latin1":case"binary":return E(this,t,e,r);case"base64":return C(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},d.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var z=4096;function O(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function N(t,e,r,n,i,a){if(!d.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function j(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function U(t,e,r,n,i){Y(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function V(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function q(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,4),u.write(t,e,r,n,23,4),r+4}function H(t,e,r,n,i){return e=+e,r>>>=0,i||V(t,0,r,8),u.write(t,e,r,n,52,8),r+8}d.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},d.prototype.readUint8=d.prototype.readUInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),this[t]},d.prototype.readUint16LE=d.prototype.readUInt16LE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]|this[t+1]<<8},d.prototype.readUint16BE=d.prototype.readUInt16BE=function(t,e){return t>>>=0,e||B(t,2,this.length),this[t]<<8|this[t+1]},d.prototype.readUint32LE=d.prototype.readUInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},d.prototype.readUint32BE=d.prototype.readUInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},d.prototype.readBigUInt64LE=it((function(t){X(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||B(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},d.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||B(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},d.prototype.readInt8=function(t,e){return t>>>=0,e||B(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},d.prototype.readInt16LE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt16BE=function(t,e){t>>>=0,e||B(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},d.prototype.readInt32LE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},d.prototype.readInt32BE=function(t,e){return t>>>=0,e||B(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},d.prototype.readBigInt64LE=it((function(t){X(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||$(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||B(t,4,this.length),u.read(this,t,!0,23,4)},d.prototype.readFloatBE=function(t,e){return t>>>=0,e||B(t,4,this.length),u.read(this,t,!1,23,4)},d.prototype.readDoubleLE=function(t,e){return t>>>=0,e||B(t,8,this.length),u.read(this,t,!0,52,8)},d.prototype.readDoubleBE=function(t,e){return t>>>=0,e||B(t,8,this.length),u.read(this,t,!1,52,8)},d.prototype.writeUintLE=d.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||N(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},d.prototype.writeUint8=d.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,255,0),this[e]=255&t,e+1},d.prototype.writeUint16LE=d.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeUint16BE=d.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeUint32LE=d.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},d.prototype.writeUint32BE=d.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigUInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeBigUInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),d.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},d.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);N(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},d.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},d.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},d.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},d.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},d.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||N(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},d.prototype.writeBigInt64LE=it((function(t){return j(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeBigInt64BE=it((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),d.prototype.writeFloatLE=function(t,e,r){return q(this,t,e,!0,r)},d.prototype.writeFloatBE=function(t,e,r){return q(this,t,e,!1,r)},d.prototype.writeDoubleLE=function(t,e,r){return H(this,t,e,!0,r)},d.prototype.writeDoubleBE=function(t,e,r){return H(this,t,e,!1,r)},d.prototype.copy=function(t,e,r,n){if(!d.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function Y(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new G.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){X(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||$(e,t.length-(r+1))}(n,i,a)}function X(t,e){if("number"!=typeof t)throw new G.ERR_INVALID_ARG_TYPE(e,"number",t)}function $(t,e,r){if(Math.floor(t)!==t)throw X(t,r),new G.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new G.ERR_BUFFER_OUT_OF_BOUNDS;throw new G.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}Z("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),Z("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(l(e))}),TypeError),Z("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=W(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=W(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var J=/[^+/0-9A-Za-z-_]/g;function K(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function Q(t){return c.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(J,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function tt(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function et(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function rt(t){return t!=t}var nt=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function it(t){return"undefined"==typeof BigInt?at:t}function at(){throw new Error("BigInt not supported")}},9216:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},6296:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).eye||[0,0,1],r=t.center||[0,0,0],s=t.up||[0,1,0],l=t.distanceLimits||[0,1/0],c=t.mode||"turntable",u=n(),h=i(),f=a();return u.setDistanceLimits(l[0],l[1]),u.lookAt(0,e,r,s),h.setDistanceLimits(l[0],l[1]),h.lookAt(0,e,r,s),f.setDistanceLimits(l[0],l[1]),f.lookAt(0,e,r,s),new o({turntable:u,orbit:h,matrix:f},c)};var n=r(7261),i=r(9977),a=r(4192);function o(t,e){this._controllerNames=Object.keys(t),this._controllerList=this._controllerNames.map((function(e){return t[e]})),this._mode=e,this._active=t[e],this._active||(this._mode="turntable",this._active=t.turntable),this.modes=this._controllerNames,this.computedMatrix=this._active.computedMatrix,this.computedEye=this._active.computedEye,this.computedUp=this._active.computedUp,this.computedCenter=this._active.computedCenter,this.computedRadius=this._active.computedRadius}var s=o.prototype;s.flush=function(t){for(var e=this._controllerList,r=0;r0?o-4:o;for(r=0;r>16&255,c[u++]=e>>8&255,c[u++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,c[u++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,c[u++]=e>>8&255,c[u++]=255&e),c},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,c=n-i;sc?c:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},3865:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).add(e[0].mul(t[1])),t[1].mul(e[1]))}},1318:function(t){"use strict";t.exports=function(t,e){return t[0].mul(e[1]).cmp(e[0].mul(t[1]))}},8697:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]),t[1].mul(e[0]))}},7842:function(t,e,r){"use strict";var n=r(6330),i=r(1533),a=r(2651),o=r(4387),s=r(869),l=r(8697);t.exports=function t(e,r){if(n(e))return r?l(e,t(r)):[e[0].clone(),e[1].clone()];var c,u,h=0;if(i(e))c=e.clone();else if("string"==typeof e)c=o(e);else{if(0===e)return[a(0),a(1)];if(e===Math.floor(e))c=a(e);else{for(;e!==Math.floor(e);)e*=Math.pow(2,256),h-=256;c=a(e)}}if(n(r))c.mul(r[1]),u=r[0].clone();else if(i(r))u=r.clone();else if("string"==typeof r)u=o(r);else if(r)if(r===Math.floor(r))u=a(r);else{for(;r!==Math.floor(r);)r*=Math.pow(2,256),h+=256;u=a(r)}else u=a(1);return h>0?c=c.ushln(h):h<0&&(u=u.ushln(-h)),s(c,u)}},6330:function(t,e,r){"use strict";var n=r(1533);t.exports=function(t){return Array.isArray(t)&&2===t.length&&n(t[0])&&n(t[1])}},5716:function(t,e,r){"use strict";var n=r(6859);t.exports=function(t){return t.cmp(new n(0))}},1369:function(t,e,r){"use strict";var n=r(5716);t.exports=function(t){var e=t.length,r=t.words,i=0;if(1===e)i=r[0];else if(2===e)i=r[0]+67108864*r[1];else for(var a=0;a20?52:r+32}},1533:function(t,e,r){"use strict";r(6859),t.exports=function(t){return t&&"object"==typeof t&&Boolean(t.words)}},2651:function(t,e,r){"use strict";var n=r(6859),i=r(2361);t.exports=function(t){var e=i.exponent(t);return e<52?new n(t):new n(t*Math.pow(2,52-e)).ushln(e-52)}},869:function(t,e,r){"use strict";var n=r(2651),i=r(5716);t.exports=function(t,e){var r=i(t),a=i(e);if(0===r)return[n(0),n(1)];if(0===a)return[n(0),n(0)];a<0&&(t=t.neg(),e=e.neg());var o=t.gcd(e);return o.cmpn(1)?[t.div(o),e.div(o)]:[t,e]}},4387:function(t,e,r){"use strict";var n=r(6859);t.exports=function(t){return new n(t)}},6504:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[0]),t[1].mul(e[1]))}},7721:function(t,e,r){"use strict";var n=r(5716);t.exports=function(t){return n(t[0])*n(t[1])}},5572:function(t,e,r){"use strict";var n=r(869);t.exports=function(t,e){return n(t[0].mul(e[1]).sub(t[1].mul(e[0])),t[1].mul(e[1]))}},946:function(t,e,r){"use strict";var n=r(1369),i=r(4025);t.exports=function(t){var e=t[0],r=t[1];if(0===e.cmpn(0))return 0;var a=e.abs().divmod(r.abs()),o=a.div,s=n(o),l=a.mod,c=e.negative!==r.negative?-1:1;if(0===l.cmpn(0))return c*s;if(s){var u=i(s)+4;return c*(s+(f=n(l.ushln(u).divRound(r)))*Math.pow(2,-u))}var h=r.bitLength()-l.bitLength()+53,f=n(l.ushln(h).divRound(r));return h<1023?c*f*Math.pow(2,-h):c*(f*=Math.pow(2,-1023))*Math.pow(2,1023-h)}},2478:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},8828:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},6859:function(t,e,r){!function(t,e){"use strict";function n(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function a(t,e,r){if(a.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=a:e.BN=a,a.BN=a,a.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:r(7790).Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function l(t,e,r){var n=s(t,r);return r-1>=e&&(n|=s(t,r-1)<<4),n}function c(t,e,r,n){for(var i=0,a=Math.min(t.length,r),o=e;o=49?s-49+10:s>=17?s-17+10:s}return i}a.isBN=function(t){return t instanceof a||null!==t&&"object"==typeof t&&t.constructor.wordSize===a.wordSize&&Array.isArray(t.words)},a.max=function(t,e){return t.cmp(e)>0?t:e},a.min=function(t,e){return t.cmp(e)<0?t:e},a.prototype._init=function(t,e,r){if("number"==typeof t)return this._initNumber(t,e,r);if("object"==typeof t)return this._initArray(t,e,r);"hex"===e&&(e=16),n(e===(0|e)&&e>=2&&e<=36);var i=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;i-=3)o=t[i]|t[i-1]<<8|t[i-2]<<16,this.words[a]|=o<>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);else if("le"===r)for(i=0,a=0;i>>26-s&67108863,(s+=24)>=26&&(s-=26,a++);return this.strip()},a.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var n=0;n=e;n-=2)i=l(t,e,n)<=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;else for(n=(t.length-e)%2==0?e+1:e;n=18?(a-=18,o+=1,this.words[o]|=i>>>26):a+=8;this.strip()},a.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=e)n++;n--,i=i/e|0;for(var a=t.length-r,o=a%n,s=Math.min(a,a-o)+r,l=0,u=r;u1&&0===this.words[this.length-1];)this.length--;return this._normSign()},a.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},a.prototype.inspect=function(){return(this.red?""};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var n=t.length+e.length|0;r.length=n,n=n-1|0;var i=0|t.words[0],a=0|e.words[0],o=i*a,s=67108863&o,l=o/67108864|0;r.words[0]=s;for(var c=1;c>>26,h=67108863&l,f=Math.min(c,e.length-1),p=Math.max(0,c-t.length+1);p<=f;p++){var d=c-p|0;u+=(o=(i=0|t.words[d])*(a=0|e.words[p])+h)/67108864|0,h=67108863&o}r.words[c]=0|h,l=0|u}return 0!==l?r.words[c]=0|l:r.length--,r.strip()}a.prototype.toString=function(t,e){var r;if(e=0|e||1,16===(t=t||10)||"hex"===t){r="";for(var i=0,a=0,o=0;o>>24-i&16777215)||o!==this.length-1?u[6-l.length]+l+r:l+r,(i+=2)>=26&&(i-=26,o--)}for(0!==a&&(r=a.toString(16)+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}if(t===(0|t)&&t>=2&&t<=36){var c=h[t],p=f[t];r="";var d=this.clone();for(d.negative=0;!d.isZero();){var m=d.modn(p).toString(t);r=(d=d.idivn(p)).isZero()?m+r:u[c-m.length]+m+r}for(this.isZero()&&(r="0"+r);r.length%e!=0;)r="0"+r;return 0!==this.negative&&(r="-"+r),r}n(!1,"Base should be between 2 and 36")},a.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},a.prototype.toJSON=function(){return this.toString(16)},a.prototype.toBuffer=function(t,e){return n(void 0!==o),this.toArrayLike(o,t,e)},a.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},a.prototype.toArrayLike=function(t,e,r){var i=this.byteLength(),a=r||Math.max(1,i);n(i<=a,"byte array longer than desired length"),n(a>0,"Requested array length <= 0"),this.strip();var o,s,l="le"===e,c=new t(a),u=this.clone();if(l){for(s=0;!u.isZero();s++)o=u.andln(255),u.iushrn(8),c[s]=o;for(;s=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},a.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},a.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},a.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;et.length?this.clone().ior(t):t.clone().ior(this)},a.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},a.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;rt.length?this.clone().iand(t):t.clone().iand(this)},a.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},a.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var n=0;nt.length?this.clone().ixor(t):t.clone().ixor(this)},a.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},a.prototype.inotn=function(t){n("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),r=t%26;this._expand(e),r>0&&e--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-r),this.strip()},a.prototype.notn=function(t){return this.clone().inotn(t)},a.prototype.setn=function(t,e){n("number"==typeof t&&t>=0);var r=t/26|0,i=t%26;return this._expand(r+1),this.words[r]=e?this.words[r]|1<t.length?(r=this,n=t):(r=t,n=this);for(var i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;at.length?this.clone().iadd(t):t.clone().iadd(this)},a.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,n,i=this.cmp(t);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(r=this,n=t):(r=t,n=this);for(var a=0,o=0;o>26,this.words[o]=67108863&e;for(;0!==a&&o>26,this.words[o]=67108863&e;if(0===a&&o>>13,p=0|o[1],d=8191&p,m=p>>>13,g=0|o[2],y=8191&g,v=g>>>13,x=0|o[3],_=8191&x,b=x>>>13,w=0|o[4],T=8191&w,k=w>>>13,A=0|o[5],M=8191&A,S=A>>>13,E=0|o[6],C=8191&E,L=E>>>13,I=0|o[7],P=8191&I,z=I>>>13,O=0|o[8],D=8191&O,R=O>>>13,F=0|o[9],B=8191&F,N=F>>>13,j=0|s[0],U=8191&j,V=j>>>13,q=0|s[1],H=8191&q,G=q>>>13,Z=0|s[2],W=8191&Z,Y=Z>>>13,X=0|s[3],$=8191&X,J=X>>>13,K=0|s[4],Q=8191&K,tt=K>>>13,et=0|s[5],rt=8191&et,nt=et>>>13,it=0|s[6],at=8191&it,ot=it>>>13,st=0|s[7],lt=8191&st,ct=st>>>13,ut=0|s[8],ht=8191&ut,ft=ut>>>13,pt=0|s[9],dt=8191&pt,mt=pt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(c+(n=Math.imul(h,U))|0)+((8191&(i=(i=Math.imul(h,V))+Math.imul(f,U)|0))<<13)|0;c=((a=Math.imul(f,V))+(i>>>13)|0)+(gt>>>26)|0,gt&=67108863,n=Math.imul(d,U),i=(i=Math.imul(d,V))+Math.imul(m,U)|0,a=Math.imul(m,V);var yt=(c+(n=n+Math.imul(h,H)|0)|0)+((8191&(i=(i=i+Math.imul(h,G)|0)+Math.imul(f,H)|0))<<13)|0;c=((a=a+Math.imul(f,G)|0)+(i>>>13)|0)+(yt>>>26)|0,yt&=67108863,n=Math.imul(y,U),i=(i=Math.imul(y,V))+Math.imul(v,U)|0,a=Math.imul(v,V),n=n+Math.imul(d,H)|0,i=(i=i+Math.imul(d,G)|0)+Math.imul(m,H)|0,a=a+Math.imul(m,G)|0;var vt=(c+(n=n+Math.imul(h,W)|0)|0)+((8191&(i=(i=i+Math.imul(h,Y)|0)+Math.imul(f,W)|0))<<13)|0;c=((a=a+Math.imul(f,Y)|0)+(i>>>13)|0)+(vt>>>26)|0,vt&=67108863,n=Math.imul(_,U),i=(i=Math.imul(_,V))+Math.imul(b,U)|0,a=Math.imul(b,V),n=n+Math.imul(y,H)|0,i=(i=i+Math.imul(y,G)|0)+Math.imul(v,H)|0,a=a+Math.imul(v,G)|0,n=n+Math.imul(d,W)|0,i=(i=i+Math.imul(d,Y)|0)+Math.imul(m,W)|0,a=a+Math.imul(m,Y)|0;var xt=(c+(n=n+Math.imul(h,$)|0)|0)+((8191&(i=(i=i+Math.imul(h,J)|0)+Math.imul(f,$)|0))<<13)|0;c=((a=a+Math.imul(f,J)|0)+(i>>>13)|0)+(xt>>>26)|0,xt&=67108863,n=Math.imul(T,U),i=(i=Math.imul(T,V))+Math.imul(k,U)|0,a=Math.imul(k,V),n=n+Math.imul(_,H)|0,i=(i=i+Math.imul(_,G)|0)+Math.imul(b,H)|0,a=a+Math.imul(b,G)|0,n=n+Math.imul(y,W)|0,i=(i=i+Math.imul(y,Y)|0)+Math.imul(v,W)|0,a=a+Math.imul(v,Y)|0,n=n+Math.imul(d,$)|0,i=(i=i+Math.imul(d,J)|0)+Math.imul(m,$)|0,a=a+Math.imul(m,J)|0;var _t=(c+(n=n+Math.imul(h,Q)|0)|0)+((8191&(i=(i=i+Math.imul(h,tt)|0)+Math.imul(f,Q)|0))<<13)|0;c=((a=a+Math.imul(f,tt)|0)+(i>>>13)|0)+(_t>>>26)|0,_t&=67108863,n=Math.imul(M,U),i=(i=Math.imul(M,V))+Math.imul(S,U)|0,a=Math.imul(S,V),n=n+Math.imul(T,H)|0,i=(i=i+Math.imul(T,G)|0)+Math.imul(k,H)|0,a=a+Math.imul(k,G)|0,n=n+Math.imul(_,W)|0,i=(i=i+Math.imul(_,Y)|0)+Math.imul(b,W)|0,a=a+Math.imul(b,Y)|0,n=n+Math.imul(y,$)|0,i=(i=i+Math.imul(y,J)|0)+Math.imul(v,$)|0,a=a+Math.imul(v,J)|0,n=n+Math.imul(d,Q)|0,i=(i=i+Math.imul(d,tt)|0)+Math.imul(m,Q)|0,a=a+Math.imul(m,tt)|0;var bt=(c+(n=n+Math.imul(h,rt)|0)|0)+((8191&(i=(i=i+Math.imul(h,nt)|0)+Math.imul(f,rt)|0))<<13)|0;c=((a=a+Math.imul(f,nt)|0)+(i>>>13)|0)+(bt>>>26)|0,bt&=67108863,n=Math.imul(C,U),i=(i=Math.imul(C,V))+Math.imul(L,U)|0,a=Math.imul(L,V),n=n+Math.imul(M,H)|0,i=(i=i+Math.imul(M,G)|0)+Math.imul(S,H)|0,a=a+Math.imul(S,G)|0,n=n+Math.imul(T,W)|0,i=(i=i+Math.imul(T,Y)|0)+Math.imul(k,W)|0,a=a+Math.imul(k,Y)|0,n=n+Math.imul(_,$)|0,i=(i=i+Math.imul(_,J)|0)+Math.imul(b,$)|0,a=a+Math.imul(b,J)|0,n=n+Math.imul(y,Q)|0,i=(i=i+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,a=a+Math.imul(v,tt)|0,n=n+Math.imul(d,rt)|0,i=(i=i+Math.imul(d,nt)|0)+Math.imul(m,rt)|0,a=a+Math.imul(m,nt)|0;var wt=(c+(n=n+Math.imul(h,at)|0)|0)+((8191&(i=(i=i+Math.imul(h,ot)|0)+Math.imul(f,at)|0))<<13)|0;c=((a=a+Math.imul(f,ot)|0)+(i>>>13)|0)+(wt>>>26)|0,wt&=67108863,n=Math.imul(P,U),i=(i=Math.imul(P,V))+Math.imul(z,U)|0,a=Math.imul(z,V),n=n+Math.imul(C,H)|0,i=(i=i+Math.imul(C,G)|0)+Math.imul(L,H)|0,a=a+Math.imul(L,G)|0,n=n+Math.imul(M,W)|0,i=(i=i+Math.imul(M,Y)|0)+Math.imul(S,W)|0,a=a+Math.imul(S,Y)|0,n=n+Math.imul(T,$)|0,i=(i=i+Math.imul(T,J)|0)+Math.imul(k,$)|0,a=a+Math.imul(k,J)|0,n=n+Math.imul(_,Q)|0,i=(i=i+Math.imul(_,tt)|0)+Math.imul(b,Q)|0,a=a+Math.imul(b,tt)|0,n=n+Math.imul(y,rt)|0,i=(i=i+Math.imul(y,nt)|0)+Math.imul(v,rt)|0,a=a+Math.imul(v,nt)|0,n=n+Math.imul(d,at)|0,i=(i=i+Math.imul(d,ot)|0)+Math.imul(m,at)|0,a=a+Math.imul(m,ot)|0;var Tt=(c+(n=n+Math.imul(h,lt)|0)|0)+((8191&(i=(i=i+Math.imul(h,ct)|0)+Math.imul(f,lt)|0))<<13)|0;c=((a=a+Math.imul(f,ct)|0)+(i>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,n=Math.imul(D,U),i=(i=Math.imul(D,V))+Math.imul(R,U)|0,a=Math.imul(R,V),n=n+Math.imul(P,H)|0,i=(i=i+Math.imul(P,G)|0)+Math.imul(z,H)|0,a=a+Math.imul(z,G)|0,n=n+Math.imul(C,W)|0,i=(i=i+Math.imul(C,Y)|0)+Math.imul(L,W)|0,a=a+Math.imul(L,Y)|0,n=n+Math.imul(M,$)|0,i=(i=i+Math.imul(M,J)|0)+Math.imul(S,$)|0,a=a+Math.imul(S,J)|0,n=n+Math.imul(T,Q)|0,i=(i=i+Math.imul(T,tt)|0)+Math.imul(k,Q)|0,a=a+Math.imul(k,tt)|0,n=n+Math.imul(_,rt)|0,i=(i=i+Math.imul(_,nt)|0)+Math.imul(b,rt)|0,a=a+Math.imul(b,nt)|0,n=n+Math.imul(y,at)|0,i=(i=i+Math.imul(y,ot)|0)+Math.imul(v,at)|0,a=a+Math.imul(v,ot)|0,n=n+Math.imul(d,lt)|0,i=(i=i+Math.imul(d,ct)|0)+Math.imul(m,lt)|0,a=a+Math.imul(m,ct)|0;var kt=(c+(n=n+Math.imul(h,ht)|0)|0)+((8191&(i=(i=i+Math.imul(h,ft)|0)+Math.imul(f,ht)|0))<<13)|0;c=((a=a+Math.imul(f,ft)|0)+(i>>>13)|0)+(kt>>>26)|0,kt&=67108863,n=Math.imul(B,U),i=(i=Math.imul(B,V))+Math.imul(N,U)|0,a=Math.imul(N,V),n=n+Math.imul(D,H)|0,i=(i=i+Math.imul(D,G)|0)+Math.imul(R,H)|0,a=a+Math.imul(R,G)|0,n=n+Math.imul(P,W)|0,i=(i=i+Math.imul(P,Y)|0)+Math.imul(z,W)|0,a=a+Math.imul(z,Y)|0,n=n+Math.imul(C,$)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(L,$)|0,a=a+Math.imul(L,J)|0,n=n+Math.imul(M,Q)|0,i=(i=i+Math.imul(M,tt)|0)+Math.imul(S,Q)|0,a=a+Math.imul(S,tt)|0,n=n+Math.imul(T,rt)|0,i=(i=i+Math.imul(T,nt)|0)+Math.imul(k,rt)|0,a=a+Math.imul(k,nt)|0,n=n+Math.imul(_,at)|0,i=(i=i+Math.imul(_,ot)|0)+Math.imul(b,at)|0,a=a+Math.imul(b,ot)|0,n=n+Math.imul(y,lt)|0,i=(i=i+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,a=a+Math.imul(v,ct)|0,n=n+Math.imul(d,ht)|0,i=(i=i+Math.imul(d,ft)|0)+Math.imul(m,ht)|0,a=a+Math.imul(m,ft)|0;var At=(c+(n=n+Math.imul(h,dt)|0)|0)+((8191&(i=(i=i+Math.imul(h,mt)|0)+Math.imul(f,dt)|0))<<13)|0;c=((a=a+Math.imul(f,mt)|0)+(i>>>13)|0)+(At>>>26)|0,At&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(N,H)|0,a=Math.imul(N,G),n=n+Math.imul(D,W)|0,i=(i=i+Math.imul(D,Y)|0)+Math.imul(R,W)|0,a=a+Math.imul(R,Y)|0,n=n+Math.imul(P,$)|0,i=(i=i+Math.imul(P,J)|0)+Math.imul(z,$)|0,a=a+Math.imul(z,J)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,tt)|0)+Math.imul(L,Q)|0,a=a+Math.imul(L,tt)|0,n=n+Math.imul(M,rt)|0,i=(i=i+Math.imul(M,nt)|0)+Math.imul(S,rt)|0,a=a+Math.imul(S,nt)|0,n=n+Math.imul(T,at)|0,i=(i=i+Math.imul(T,ot)|0)+Math.imul(k,at)|0,a=a+Math.imul(k,ot)|0,n=n+Math.imul(_,lt)|0,i=(i=i+Math.imul(_,ct)|0)+Math.imul(b,lt)|0,a=a+Math.imul(b,ct)|0,n=n+Math.imul(y,ht)|0,i=(i=i+Math.imul(y,ft)|0)+Math.imul(v,ht)|0,a=a+Math.imul(v,ft)|0;var Mt=(c+(n=n+Math.imul(d,dt)|0)|0)+((8191&(i=(i=i+Math.imul(d,mt)|0)+Math.imul(m,dt)|0))<<13)|0;c=((a=a+Math.imul(m,mt)|0)+(i>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,n=Math.imul(B,W),i=(i=Math.imul(B,Y))+Math.imul(N,W)|0,a=Math.imul(N,Y),n=n+Math.imul(D,$)|0,i=(i=i+Math.imul(D,J)|0)+Math.imul(R,$)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(P,Q)|0,i=(i=i+Math.imul(P,tt)|0)+Math.imul(z,Q)|0,a=a+Math.imul(z,tt)|0,n=n+Math.imul(C,rt)|0,i=(i=i+Math.imul(C,nt)|0)+Math.imul(L,rt)|0,a=a+Math.imul(L,nt)|0,n=n+Math.imul(M,at)|0,i=(i=i+Math.imul(M,ot)|0)+Math.imul(S,at)|0,a=a+Math.imul(S,ot)|0,n=n+Math.imul(T,lt)|0,i=(i=i+Math.imul(T,ct)|0)+Math.imul(k,lt)|0,a=a+Math.imul(k,ct)|0,n=n+Math.imul(_,ht)|0,i=(i=i+Math.imul(_,ft)|0)+Math.imul(b,ht)|0,a=a+Math.imul(b,ft)|0;var St=(c+(n=n+Math.imul(y,dt)|0)|0)+((8191&(i=(i=i+Math.imul(y,mt)|0)+Math.imul(v,dt)|0))<<13)|0;c=((a=a+Math.imul(v,mt)|0)+(i>>>13)|0)+(St>>>26)|0,St&=67108863,n=Math.imul(B,$),i=(i=Math.imul(B,J))+Math.imul(N,$)|0,a=Math.imul(N,J),n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,tt)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,tt)|0,n=n+Math.imul(P,rt)|0,i=(i=i+Math.imul(P,nt)|0)+Math.imul(z,rt)|0,a=a+Math.imul(z,nt)|0,n=n+Math.imul(C,at)|0,i=(i=i+Math.imul(C,ot)|0)+Math.imul(L,at)|0,a=a+Math.imul(L,ot)|0,n=n+Math.imul(M,lt)|0,i=(i=i+Math.imul(M,ct)|0)+Math.imul(S,lt)|0,a=a+Math.imul(S,ct)|0,n=n+Math.imul(T,ht)|0,i=(i=i+Math.imul(T,ft)|0)+Math.imul(k,ht)|0,a=a+Math.imul(k,ft)|0;var Et=(c+(n=n+Math.imul(_,dt)|0)|0)+((8191&(i=(i=i+Math.imul(_,mt)|0)+Math.imul(b,dt)|0))<<13)|0;c=((a=a+Math.imul(b,mt)|0)+(i>>>13)|0)+(Et>>>26)|0,Et&=67108863,n=Math.imul(B,Q),i=(i=Math.imul(B,tt))+Math.imul(N,Q)|0,a=Math.imul(N,tt),n=n+Math.imul(D,rt)|0,i=(i=i+Math.imul(D,nt)|0)+Math.imul(R,rt)|0,a=a+Math.imul(R,nt)|0,n=n+Math.imul(P,at)|0,i=(i=i+Math.imul(P,ot)|0)+Math.imul(z,at)|0,a=a+Math.imul(z,ot)|0,n=n+Math.imul(C,lt)|0,i=(i=i+Math.imul(C,ct)|0)+Math.imul(L,lt)|0,a=a+Math.imul(L,ct)|0,n=n+Math.imul(M,ht)|0,i=(i=i+Math.imul(M,ft)|0)+Math.imul(S,ht)|0,a=a+Math.imul(S,ft)|0;var Ct=(c+(n=n+Math.imul(T,dt)|0)|0)+((8191&(i=(i=i+Math.imul(T,mt)|0)+Math.imul(k,dt)|0))<<13)|0;c=((a=a+Math.imul(k,mt)|0)+(i>>>13)|0)+(Ct>>>26)|0,Ct&=67108863,n=Math.imul(B,rt),i=(i=Math.imul(B,nt))+Math.imul(N,rt)|0,a=Math.imul(N,nt),n=n+Math.imul(D,at)|0,i=(i=i+Math.imul(D,ot)|0)+Math.imul(R,at)|0,a=a+Math.imul(R,ot)|0,n=n+Math.imul(P,lt)|0,i=(i=i+Math.imul(P,ct)|0)+Math.imul(z,lt)|0,a=a+Math.imul(z,ct)|0,n=n+Math.imul(C,ht)|0,i=(i=i+Math.imul(C,ft)|0)+Math.imul(L,ht)|0,a=a+Math.imul(L,ft)|0;var Lt=(c+(n=n+Math.imul(M,dt)|0)|0)+((8191&(i=(i=i+Math.imul(M,mt)|0)+Math.imul(S,dt)|0))<<13)|0;c=((a=a+Math.imul(S,mt)|0)+(i>>>13)|0)+(Lt>>>26)|0,Lt&=67108863,n=Math.imul(B,at),i=(i=Math.imul(B,ot))+Math.imul(N,at)|0,a=Math.imul(N,ot),n=n+Math.imul(D,lt)|0,i=(i=i+Math.imul(D,ct)|0)+Math.imul(R,lt)|0,a=a+Math.imul(R,ct)|0,n=n+Math.imul(P,ht)|0,i=(i=i+Math.imul(P,ft)|0)+Math.imul(z,ht)|0,a=a+Math.imul(z,ft)|0;var It=(c+(n=n+Math.imul(C,dt)|0)|0)+((8191&(i=(i=i+Math.imul(C,mt)|0)+Math.imul(L,dt)|0))<<13)|0;c=((a=a+Math.imul(L,mt)|0)+(i>>>13)|0)+(It>>>26)|0,It&=67108863,n=Math.imul(B,lt),i=(i=Math.imul(B,ct))+Math.imul(N,lt)|0,a=Math.imul(N,ct),n=n+Math.imul(D,ht)|0,i=(i=i+Math.imul(D,ft)|0)+Math.imul(R,ht)|0,a=a+Math.imul(R,ft)|0;var Pt=(c+(n=n+Math.imul(P,dt)|0)|0)+((8191&(i=(i=i+Math.imul(P,mt)|0)+Math.imul(z,dt)|0))<<13)|0;c=((a=a+Math.imul(z,mt)|0)+(i>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,n=Math.imul(B,ht),i=(i=Math.imul(B,ft))+Math.imul(N,ht)|0,a=Math.imul(N,ft);var zt=(c+(n=n+Math.imul(D,dt)|0)|0)+((8191&(i=(i=i+Math.imul(D,mt)|0)+Math.imul(R,dt)|0))<<13)|0;c=((a=a+Math.imul(R,mt)|0)+(i>>>13)|0)+(zt>>>26)|0,zt&=67108863;var Ot=(c+(n=Math.imul(B,dt))|0)+((8191&(i=(i=Math.imul(B,mt))+Math.imul(N,dt)|0))<<13)|0;return c=((a=Math.imul(N,mt))+(i>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,l[0]=gt,l[1]=yt,l[2]=vt,l[3]=xt,l[4]=_t,l[5]=bt,l[6]=wt,l[7]=Tt,l[8]=kt,l[9]=At,l[10]=Mt,l[11]=St,l[12]=Et,l[13]=Ct,l[14]=Lt,l[15]=It,l[16]=Pt,l[17]=zt,l[18]=Ot,0!==c&&(l[19]=c,r.length++),r};function m(t,e,r){return(new g).mulp(t,e,r)}function g(t,e){this.x=t,this.y=e}Math.imul||(d=p),a.prototype.mulTo=function(t,e){var r,n=this.length+t.length;return r=10===this.length&&10===t.length?d(this,t,e):n<63?p(this,t,e):n<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,o&=67108863}r.words[a]=s,n=o,o=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,t,e):m(this,t,e),r},g.prototype.makeRBT=function(t){for(var e=new Array(t),r=a.prototype._countBits(t)-1,n=0;n>=1;return n},g.prototype.permute=function(t,e,r,n,i,a){for(var o=0;o>>=1)i++;return 1<>>=13,r[2*o+1]=8191&a,a>>>=13;for(o=2*e;o>=26,e+=i/67108864|0,e+=a>>>26,this.words[r]=67108863&a}return 0!==e&&(this.words[r]=e,this.length++),this},a.prototype.muln=function(t){return this.clone().imuln(t)},a.prototype.sqr=function(){return this.mul(this)},a.prototype.isqr=function(){return this.imul(this.clone())},a.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r>>i}return e}(t);if(0===e.length)return new a(1);for(var r=this,n=0;n=0);var e,r=t%26,i=(t-r)/26,a=67108863>>>26-r<<26-r;if(0!==r){var o=0;for(e=0;e>>26-r}o&&(this.words[e]=o,this.length++)}if(0!==i){for(e=this.length-1;e>=0;e--)this.words[e+i]=this.words[e];for(e=0;e=0),i=e?(e-e%26)/26:0;var a=t%26,o=Math.min((t-a)/26,this.length),s=67108863^67108863>>>a<o)for(this.length-=o,c=0;c=0&&(0!==u||c>=i);c--){var h=0|this.words[c];this.words[c]=u<<26-a|h>>>a,u=h&s}return l&&0!==u&&(l.words[l.length++]=u),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},a.prototype.ishrn=function(t,e,r){return n(0===this.negative),this.iushrn(t,e,r)},a.prototype.shln=function(t){return this.clone().ishln(t)},a.prototype.ushln=function(t){return this.clone().iushln(t)},a.prototype.shrn=function(t){return this.clone().ishrn(t)},a.prototype.ushrn=function(t){return this.clone().iushrn(t)},a.prototype.testn=function(t){n("number"==typeof t&&t>=0);var e=t%26,r=(t-e)/26,i=1<=0);var e=t%26,r=(t-e)/26;if(n(0===this.negative,"imaskn works only with positive numbers"),this.length<=r)return this;if(0!==e&&r++,this.length=Math.min(r,this.length),0!==e){var i=67108863^67108863>>>e<=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},a.prototype.isubn=function(t){if(n("number"==typeof t),n(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e>26)-(l/67108864|0),this.words[i+r]=67108863&a}for(;i>26,this.words[i+r]=67108863&a;if(0===s)return this.strip();for(n(-1===s),s=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},a.prototype._wordDiv=function(t,e){var r=(this.length,t.length),n=this.clone(),i=t,o=0|i.words[i.length-1];0!=(r=26-this._countBits(o))&&(i=i.ushln(r),n.iushln(r),o=0|i.words[i.length-1]);var s,l=n.length-i.length;if("mod"!==e){(s=new a(null)).length=l+1,s.words=new Array(s.length);for(var c=0;c=0;h--){var f=67108864*(0|n.words[i.length+h])+(0|n.words[i.length+h-1]);for(f=Math.min(f/o|0,67108863),n._ishlnsubmul(i,f,h);0!==n.negative;)f--,n.negative=0,n._ishlnsubmul(i,1,h),n.isZero()||(n.negative^=1);s&&(s.words[h]=f)}return s&&s.strip(),n.strip(),"div"!==e&&0!==r&&n.iushrn(r),{div:s||null,mod:n}},a.prototype.divmod=function(t,e,r){return n(!t.isZero()),this.isZero()?{div:new a(0),mod:new a(0)}:0!==this.negative&&0===t.negative?(s=this.neg().divmod(t,e),"mod"!==e&&(i=s.div.neg()),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.iadd(t)),{div:i,mod:o}):0===this.negative&&0!==t.negative?(s=this.divmod(t.neg(),e),"mod"!==e&&(i=s.div.neg()),{div:i,mod:s.mod}):0!=(this.negative&t.negative)?(s=this.neg().divmod(t.neg(),e),"div"!==e&&(o=s.mod.neg(),r&&0!==o.negative&&o.isub(t)),{div:s.div,mod:o}):t.length>this.length||this.cmp(t)<0?{div:new a(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new a(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new a(this.modn(t.words[0]))}:this._wordDiv(t,e);var i,o,s},a.prototype.div=function(t){return this.divmod(t,"div",!1).div},a.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},a.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},a.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,n=t.ushrn(1),i=t.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},a.prototype.modn=function(t){n(t<=67108863);for(var e=(1<<26)%t,r=0,i=this.length-1;i>=0;i--)r=(e*r+(0|this.words[i]))%t;return r},a.prototype.idivn=function(t){n(t<=67108863);for(var e=0,r=this.length-1;r>=0;r--){var i=(0|this.words[r])+67108864*e;this.words[r]=i/t|0,e=i%t}return this.strip()},a.prototype.divn=function(t){return this.clone().idivn(t)},a.prototype.egcd=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i=new a(1),o=new a(0),s=new a(0),l=new a(1),c=0;e.isEven()&&r.isEven();)e.iushrn(1),r.iushrn(1),++c;for(var u=r.clone(),h=e.clone();!e.isZero();){for(var f=0,p=1;0==(e.words[0]&p)&&f<26;++f,p<<=1);if(f>0)for(e.iushrn(f);f-- >0;)(i.isOdd()||o.isOdd())&&(i.iadd(u),o.isub(h)),i.iushrn(1),o.iushrn(1);for(var d=0,m=1;0==(r.words[0]&m)&&d<26;++d,m<<=1);if(d>0)for(r.iushrn(d);d-- >0;)(s.isOdd()||l.isOdd())&&(s.iadd(u),l.isub(h)),s.iushrn(1),l.iushrn(1);e.cmp(r)>=0?(e.isub(r),i.isub(s),o.isub(l)):(r.isub(e),s.isub(i),l.isub(o))}return{a:s,b:l,gcd:r.iushln(c)}},a.prototype._invmp=function(t){n(0===t.negative),n(!t.isZero());var e=this,r=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var i,o=new a(1),s=new a(0),l=r.clone();e.cmpn(1)>0&&r.cmpn(1)>0;){for(var c=0,u=1;0==(e.words[0]&u)&&c<26;++c,u<<=1);if(c>0)for(e.iushrn(c);c-- >0;)o.isOdd()&&o.iadd(l),o.iushrn(1);for(var h=0,f=1;0==(r.words[0]&f)&&h<26;++h,f<<=1);if(h>0)for(r.iushrn(h);h-- >0;)s.isOdd()&&s.iadd(l),s.iushrn(1);e.cmp(r)>=0?(e.isub(r),o.isub(s)):(r.isub(e),s.isub(o))}return(i=0===e.cmpn(1)?o:s).cmpn(0)<0&&i.iadd(t),i},a.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var n=0;e.isEven()&&r.isEven();n++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=e.cmp(r);if(i<0){var a=e;e=r,r=a}else if(0===i||0===r.cmpn(1))break;e.isub(r)}return r.iushln(n)},a.prototype.invm=function(t){return this.egcd(t).a.umod(t)},a.prototype.isEven=function(){return 0==(1&this.words[0])},a.prototype.isOdd=function(){return 1==(1&this.words[0])},a.prototype.andln=function(t){return this.words[0]&t},a.prototype.bincn=function(t){n("number"==typeof t);var e=t%26,r=(t-e)/26,i=1<>>26,s&=67108863,this.words[o]=s}return 0!==a&&(this.words[o]=a,this.length++),this},a.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},a.prototype.cmpn=function(t){var e,r=t<0;if(0!==this.negative&&!r)return-1;if(0===this.negative&&r)return 1;if(this.strip(),this.length>1)e=1;else{r&&(t=-t),n(t<=67108863,"Number is too big");var i=0|this.words[0];e=i===t?0:it.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|t.words[r];if(n!==i){ni&&(e=1);break}}return e},a.prototype.gtn=function(t){return 1===this.cmpn(t)},a.prototype.gt=function(t){return 1===this.cmp(t)},a.prototype.gten=function(t){return this.cmpn(t)>=0},a.prototype.gte=function(t){return this.cmp(t)>=0},a.prototype.ltn=function(t){return-1===this.cmpn(t)},a.prototype.lt=function(t){return-1===this.cmp(t)},a.prototype.lten=function(t){return this.cmpn(t)<=0},a.prototype.lte=function(t){return this.cmp(t)<=0},a.prototype.eqn=function(t){return 0===this.cmpn(t)},a.prototype.eq=function(t){return 0===this.cmp(t)},a.red=function(t){return new T(t)},a.prototype.toRed=function(t){return n(!this.red,"Already a number in reduction context"),n(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},a.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},a.prototype._forceRed=function(t){return this.red=t,this},a.prototype.forceRed=function(t){return n(!this.red,"Already a number in reduction context"),this._forceRed(t)},a.prototype.redAdd=function(t){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},a.prototype.redIAdd=function(t){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},a.prototype.redSub=function(t){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},a.prototype.redISub=function(t){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},a.prototype.redShl=function(t){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},a.prototype.redMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},a.prototype.redIMul=function(t){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},a.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},a.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},a.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},a.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},a.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},a.prototype.redPow=function(t){return n(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var y={k256:null,p224:null,p192:null,p25519:null};function v(t,e){this.name=t,this.p=new a(e,16),this.n=this.p.bitLength(),this.k=new a(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function x(){v.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function _(){v.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function b(){v.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function w(){v.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(t){if("string"==typeof t){var e=a._prime(t);this.m=e.p,this.prime=e}else n(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){T.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new a(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}v.prototype._tmp=function(){var t=new a(null);return t.words=new Array(Math.ceil(this.n/13)),t},v.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var n=e0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},v.prototype.split=function(t,e){t.iushrn(this.n,0,e)},v.prototype.imulK=function(t){return t.imul(this.k)},i(x,v),x.prototype.split=function(t,e){for(var r=4194303,n=Math.min(t.length,9),i=0;i>>22,a=o}a>>>=22,t.words[i-10]=a,0===a&&t.length>10?t.length-=10:t.length-=9},x.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r>>=26,t.words[r]=i,e=n}return 0!==e&&(t.words[t.length++]=e),t},a._prime=function(t){if(y[t])return y[t];var e;if("k256"===t)e=new x;else if("p224"===t)e=new _;else if("p192"===t)e=new b;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new w}return y[t]=e,e},T.prototype._verify1=function(t){n(0===t.negative,"red works only with positives"),n(t.red,"red works only with red numbers")},T.prototype._verify2=function(t,e){n(0==(t.negative|e.negative),"red works only with positives"),n(t.red&&t.red===e.red,"red works only with red numbers")},T.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},T.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},T.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},T.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},T.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},T.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},T.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},T.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},T.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},T.prototype.isqr=function(t){return this.imul(t,t.clone())},T.prototype.sqr=function(t){return this.mul(t,t)},T.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(n(e%2==1),3===e){var r=this.m.add(new a(1)).iushrn(2);return this.pow(t,r)}for(var i=this.m.subn(1),o=0;!i.isZero()&&0===i.andln(1);)o++,i.iushrn(1);n(!i.isZero());var s=new a(1).toRed(this),l=s.redNeg(),c=this.m.subn(1).iushrn(1),u=this.m.bitLength();for(u=new a(2*u*u).toRed(this);0!==this.pow(u,c).cmp(l);)u.redIAdd(l);for(var h=this.pow(u,i),f=this.pow(t,i.addn(1).iushrn(1)),p=this.pow(t,i),d=o;0!==p.cmp(s);){for(var m=p,g=0;0!==m.cmp(s);g++)m=m.redSqr();n(g=0;n--){for(var c=e.words[n],u=l-1;u>=0;u--){var h=c>>u&1;i!==r[0]&&(i=this.sqr(i)),0!==h||0!==o?(o<<=1,o|=h,(4==++s||0===n&&0===u)&&(i=this.mul(i,r[o]),s=0,o=0)):s=0}l=26}return i},T.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},T.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},a.mont=function(t){return new k(t)},i(k,T),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):i.cmpn(0)<0&&(a=i.iadd(this.m)),a._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new a(0)._forceRed(this);var r=t.mul(e),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),o=i;return i.cmp(this.m)>=0?o=i.isub(this.m):i.cmpn(0)<0&&(o=i.iadd(this.m)),o._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(t=r.nmd(t),this)},6204:function(t){"use strict";t.exports=function(t){var e,r,n,i=t.length,a=0;for(e=0;e>>1;if(!(u<=0)){var h,f=i.mallocDouble(2*u*s),p=i.mallocInt32(s);if((s=l(t,u,f,p))>0){if(1===u&&n)a.init(s),h=a.sweepComplete(u,r,0,s,f,p,0,s,f,p);else{var d=i.mallocDouble(2*u*c),m=i.mallocInt32(c);(c=l(e,u,d,m))>0&&(a.init(s+c),h=1===u?a.sweepBipartite(u,r,0,s,f,p,0,c,d,m):o(u,r,n,s,f,p,c,d,m),i.free(d),i.free(m))}i.free(f),i.free(p)}return h}}}function u(t,e){n.push([t,e])}},2455:function(t,e){"use strict";function r(t){return t?function(t,e,r,n,i,a,o,s,l,c,u){return i-n>l-s?function(t,e,r,n,i,a,o,s,l,c,u){for(var h=2*t,f=n,p=h*n;fc-l?n?function(t,e,r,n,i,a,o,s,l,c,u){for(var h=2*t,f=n,p=h*n;f0;){var O=(P-=1)*_,D=w[O],R=w[O+1],F=w[O+2],B=w[O+3],N=w[O+4],j=w[O+5],U=P*b,V=T[U],q=T[U+1],H=1&j,G=!!(16&j),Z=u,W=S,Y=C,X=L;if(H&&(Z=C,W=L,Y=u,X=S),!(2&j&&R>=(F=g(t,D,R,F,Z,W,q))||4&j&&(R=y(t,D,R,F,Z,W,V))>=F)){var $=F-R,J=N-B;if(G){if(t*$*($+J)=p0)&&!(p1>=hi)"),m=u("lo===p0"),g=u("lo>>1,f=2*t,p=h,d=s[f*h+e];c=x?(p=v,d=x):y>=b?(p=g,d=y):(p=_,d=b):x>=b?(p=v,d=x):b>=y?(p=g,d=y):(p=_,d=b);for(var w=f*(u-1),T=f*p,k=0;kr&&i[h+e]>c;--u,h-=o){for(var f=h,p=h+o,d=0;df;++f,l+=s)if(i[l+h]===o)if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"lof;++f,l+=s)if(i[l+h]p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"lo<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,h=t+e,f=r;n>f;++f,l+=s)if(i[l+h]<=o)if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"hi<=p0":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,h=t+e,f=r;n>f;++f,l+=s)if(i[l+h]<=o)if(u===f)u+=1,c+=s;else{for(var p=0;s>p;++p){var d=i[l+p];i[l+p]=i[c],i[c++]=d}var m=a[f];a[f]=a[u],a[u++]=m}return u},"lop;++p,l+=s){var d=i[l+h],m=i[l+f];if(dg;++g){var y=i[l+g];i[l+g]=i[c],i[c++]=y}var v=a[p];a[p]=a[u],a[u++]=v}}return u},"lo<=p0&&p0<=hi":function(t,e,r,n,i,a,o){for(var s=2*t,l=s*r,c=l,u=r,h=e,f=t+e,p=r;n>p;++p,l+=s){var d=i[l+h],m=i[l+f];if(d<=o&&o<=m)if(u===p)u+=1,c+=s;else{for(var g=0;s>g;++g){var y=i[l+g];i[l+g]=i[c],i[c++]=y}var v=a[p];a[p]=a[u],a[u++]=v}}return u},"!(lo>=p0)&&!(p1>=hi)":function(t,e,r,n,i,a,o,s){for(var l=2*t,c=l*r,u=c,h=r,f=e,p=t+e,d=r;n>d;++d,c+=l){var m=i[c+f],g=i[c+p];if(!(m>=o||s>=g))if(h===d)h+=1,u+=l;else{for(var y=0;l>y;++y){var v=i[c+y];i[c+y]=i[u],i[u++]=v}var x=a[d];a[d]=a[h],a[h++]=x}}return h}}},1811:function(t){"use strict";t.exports=function(t,n){n<=4*e?r(0,n-1,t):c(0,n-1,t)};var e=32;function r(t,e,r){for(var n=2*(t+1),i=t+1;i<=e;++i){for(var a=r[n++],o=r[n++],s=i,l=n-2;s-- >t;){var c=r[l-2],u=r[l-1];if(cr[e+1])}function l(t,e,r,n){var i=n[t*=2];return i>1,g=m-f,y=m+f,v=p,x=g,_=m,b=y,w=d,T=t+1,k=u-1,A=0;s(v,x,h)&&(A=v,v=x,x=A),s(b,w,h)&&(A=b,b=w,w=A),s(v,_,h)&&(A=v,v=_,_=A),s(x,_,h)&&(A=x,x=_,_=A),s(v,b,h)&&(A=v,v=b,b=A),s(_,b,h)&&(A=_,_=b,b=A),s(x,w,h)&&(A=x,x=w,w=A),s(x,_,h)&&(A=x,x=_,_=A),s(b,w,h)&&(A=b,b=w,w=A);for(var M=h[2*x],S=h[2*x+1],E=h[2*b],C=h[2*b+1],L=2*v,I=2*_,P=2*w,z=2*p,O=2*m,D=2*d,R=0;R<2;++R){var F=h[L+R],B=h[I+R],N=h[P+R];h[z+R]=F,h[O+R]=B,h[D+R]=N}i(g,t,h),i(y,u,h);for(var j=T;j<=k;++j)if(l(j,M,S,h))j!==T&&n(j,T,h),++T;else if(!l(j,E,C,h))for(;;){if(l(k,E,C,h)){l(k,M,S,h)?(a(j,T,k,h),++T,--k):(n(j,k,h),--k);break}if(--k>>1;a(d,S);var E=0,C=0;for(T=0;T=o)m(u,h,C--,L=L-o|0);else if(L>=0)m(l,c,E--,L);else if(L<=-o){L=-L-o|0;for(var I=0;I>>1;a(d,E);var C=0,L=0,I=0;for(k=0;k>1==d[2*k+3]>>1&&(z=2,k+=1),P<0){for(var O=-(P>>1)-1,D=0;D>1)-1,0===z?m(l,c,C--,O):1===z?m(u,h,L--,O):2===z&&m(f,p,I--,O)}},scanBipartite:function(t,e,r,n,i,s,u,h,f,p,y,v){var x=0,_=2*t,b=e,w=e+t,T=1,k=1;n?k=o:T=o;for(var A=i;A>>1;a(d,C);var L=0;for(A=0;A=o?(P=!n,M-=o):(P=!!n,M-=1),P)g(l,c,L++,M);else{var z=v[M],O=_*M,D=y[O+e+1],R=y[O+e+1+t];t:for(var F=0;F>>1;a(d,T);var k=0;for(x=0;x=o)l[k++]=_-o;else{var M=p[_-=1],S=g*_,E=f[S+e+1],C=f[S+e+1+t];t:for(var L=0;L=0;--L)if(l[L]===_){for(O=L+1;O0;){for(var p=r.pop(),d=(u=-1,h=-1,l=o[s=r.pop()],1);d=0||(e.flip(s,p),i(t,e,r,u,s,h),i(t,e,r,s,h,u),i(t,e,r,h,p,u),i(t,e,r,p,u,h))}}},5023:function(t,e,r){"use strict";var n,i=r(2478);function a(t,e,r,n,i,a,o){this.cells=t,this.neighbor=e,this.flags=n,this.constraint=r,this.active=i,this.next=a,this.boundary=o}function o(t,e){return t[0]-e[0]||t[1]-e[1]||t[2]-e[2]}t.exports=function(t,e,r){var n=function(t,e){for(var r=t.cells(),n=r.length,i=0;i0||l.length>0;){for(;s.length>0;){var p=s.pop();if(c[p]!==-i){c[p]=i,u[p];for(var d=0;d<3;++d){var m=f[3*p+d];m>=0&&0===c[m]&&(h[3*p+d]?l.push(m):(s.push(m),c[m]=i))}}}var g=l;l=s,s=g,l.length=0,i=-i}var y=function(t,e,r){for(var n=0,i=0;i1&&i(r[f[p-2]],r[f[p-1]],a)>0;)t.push([f[p-1],f[p-2],o]),p-=1;f.length=p,f.push(o);var d=h.upperIds;for(p=d.length;p>1&&i(r[d[p-2]],r[d[p-1]],a)<0;)t.push([d[p-2],d[p-1],o]),p-=1;d.length=p,d.push(o)}}function u(t,e){var r;return(r=t.a[0]d[0]&&i.push(new o(d,p,2,l),new o(p,d,1,l))}i.sort(s);for(var m=i[0].a[0]-(1+Math.abs(i[0].a[0]))*Math.pow(2,-52),g=[new a([m,1],[m,0],-1,[],[],[],[])],y=[],v=(l=0,i.length);l=0}}(),a.removeTriangle=function(t,e,r){var n=this.stars;o(n[t],e,r),o(n[e],r,t),o(n[r],t,e)},a.addTriangle=function(t,e,r){var n=this.stars;n[t].push(e,r),n[e].push(r,t),n[r].push(t,e)},a.opposite=function(t,e){for(var r=this.stars[e],n=1,i=r.length;ne[2]?1:0)}function y(t,e,r){if(0!==t.length){if(e)for(var n=0;n=0;--a){var x=e[u=(S=n[a])[0]],_=x[0],b=x[1],w=t[_],T=t[b];if((w[0]-T[0]||w[1]-T[1])<0){var k=_;_=b,b=k}x[0]=_;var A,M=x[1]=S[1];for(i&&(A=x[2]);a>0&&n[a-1][0]===u;){var S,E=(S=n[--a])[1];i?e.push([M,E,A]):e.push([M,E]),M=E}i?e.push([M,b,A]):e.push([M,b])}return f}(t,e,f,m,r),v=d(t,g);return y(e,v,r),!!v||f.length>0||m.length>0}},3637:function(t,e,r){"use strict";t.exports=function(t,e,r,n){var a=s(e,t),h=s(n,r),f=u(a,h);if(0===o(f))return null;var p=u(h,s(t,r)),d=i(p,f),m=c(a,d);return l(t,m)};var n=r(6504),i=r(8697),a=r(5572),o=r(7721),s=r(544),l=r(2653),c=r(8987);function u(t,e){return a(n(t[0],e[1]),n(t[1],e[0]))}},3642:function(t){t.exports={jet:[{index:0,rgb:[0,0,131]},{index:.125,rgb:[0,60,170]},{index:.375,rgb:[5,255,255]},{index:.625,rgb:[255,255,0]},{index:.875,rgb:[250,0,0]},{index:1,rgb:[128,0,0]}],hsv:[{index:0,rgb:[255,0,0]},{index:.169,rgb:[253,255,2]},{index:.173,rgb:[247,255,2]},{index:.337,rgb:[0,252,4]},{index:.341,rgb:[0,252,10]},{index:.506,rgb:[1,249,255]},{index:.671,rgb:[2,0,253]},{index:.675,rgb:[8,0,253]},{index:.839,rgb:[255,0,251]},{index:.843,rgb:[255,0,245]},{index:1,rgb:[255,0,6]}],hot:[{index:0,rgb:[0,0,0]},{index:.3,rgb:[230,0,0]},{index:.6,rgb:[255,210,0]},{index:1,rgb:[255,255,255]}],spring:[{index:0,rgb:[255,0,255]},{index:1,rgb:[255,255,0]}],summer:[{index:0,rgb:[0,128,102]},{index:1,rgb:[255,255,102]}],autumn:[{index:0,rgb:[255,0,0]},{index:1,rgb:[255,255,0]}],winter:[{index:0,rgb:[0,0,255]},{index:1,rgb:[0,255,128]}],bone:[{index:0,rgb:[0,0,0]},{index:.376,rgb:[84,84,116]},{index:.753,rgb:[169,200,200]},{index:1,rgb:[255,255,255]}],copper:[{index:0,rgb:[0,0,0]},{index:.804,rgb:[255,160,102]},{index:1,rgb:[255,199,127]}],greys:[{index:0,rgb:[0,0,0]},{index:1,rgb:[255,255,255]}],yignbu:[{index:0,rgb:[8,29,88]},{index:.125,rgb:[37,52,148]},{index:.25,rgb:[34,94,168]},{index:.375,rgb:[29,145,192]},{index:.5,rgb:[65,182,196]},{index:.625,rgb:[127,205,187]},{index:.75,rgb:[199,233,180]},{index:.875,rgb:[237,248,217]},{index:1,rgb:[255,255,217]}],greens:[{index:0,rgb:[0,68,27]},{index:.125,rgb:[0,109,44]},{index:.25,rgb:[35,139,69]},{index:.375,rgb:[65,171,93]},{index:.5,rgb:[116,196,118]},{index:.625,rgb:[161,217,155]},{index:.75,rgb:[199,233,192]},{index:.875,rgb:[229,245,224]},{index:1,rgb:[247,252,245]}],yiorrd:[{index:0,rgb:[128,0,38]},{index:.125,rgb:[189,0,38]},{index:.25,rgb:[227,26,28]},{index:.375,rgb:[252,78,42]},{index:.5,rgb:[253,141,60]},{index:.625,rgb:[254,178,76]},{index:.75,rgb:[254,217,118]},{index:.875,rgb:[255,237,160]},{index:1,rgb:[255,255,204]}],bluered:[{index:0,rgb:[0,0,255]},{index:1,rgb:[255,0,0]}],rdbu:[{index:0,rgb:[5,10,172]},{index:.35,rgb:[106,137,247]},{index:.5,rgb:[190,190,190]},{index:.6,rgb:[220,170,132]},{index:.7,rgb:[230,145,90]},{index:1,rgb:[178,10,28]}],picnic:[{index:0,rgb:[0,0,255]},{index:.1,rgb:[51,153,255]},{index:.2,rgb:[102,204,255]},{index:.3,rgb:[153,204,255]},{index:.4,rgb:[204,204,255]},{index:.5,rgb:[255,255,255]},{index:.6,rgb:[255,204,255]},{index:.7,rgb:[255,153,255]},{index:.8,rgb:[255,102,204]},{index:.9,rgb:[255,102,102]},{index:1,rgb:[255,0,0]}],rainbow:[{index:0,rgb:[150,0,90]},{index:.125,rgb:[0,0,200]},{index:.25,rgb:[0,25,255]},{index:.375,rgb:[0,152,255]},{index:.5,rgb:[44,255,150]},{index:.625,rgb:[151,255,0]},{index:.75,rgb:[255,234,0]},{index:.875,rgb:[255,111,0]},{index:1,rgb:[255,0,0]}],portland:[{index:0,rgb:[12,51,131]},{index:.25,rgb:[10,136,186]},{index:.5,rgb:[242,211,56]},{index:.75,rgb:[242,143,56]},{index:1,rgb:[217,30,30]}],blackbody:[{index:0,rgb:[0,0,0]},{index:.2,rgb:[230,0,0]},{index:.4,rgb:[230,210,0]},{index:.7,rgb:[255,255,255]},{index:1,rgb:[160,200,255]}],earth:[{index:0,rgb:[0,0,130]},{index:.1,rgb:[0,180,180]},{index:.2,rgb:[40,210,40]},{index:.4,rgb:[230,230,50]},{index:.6,rgb:[120,70,20]},{index:1,rgb:[255,255,255]}],electric:[{index:0,rgb:[0,0,0]},{index:.15,rgb:[30,0,100]},{index:.4,rgb:[120,0,100]},{index:.6,rgb:[160,90,0]},{index:.8,rgb:[230,200,0]},{index:1,rgb:[255,250,220]}],alpha:[{index:0,rgb:[255,255,255,0]},{index:1,rgb:[255,255,255,1]}],viridis:[{index:0,rgb:[68,1,84]},{index:.13,rgb:[71,44,122]},{index:.25,rgb:[59,81,139]},{index:.38,rgb:[44,113,142]},{index:.5,rgb:[33,144,141]},{index:.63,rgb:[39,173,129]},{index:.75,rgb:[92,200,99]},{index:.88,rgb:[170,220,50]},{index:1,rgb:[253,231,37]}],inferno:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[31,12,72]},{index:.25,rgb:[85,15,109]},{index:.38,rgb:[136,34,106]},{index:.5,rgb:[186,54,85]},{index:.63,rgb:[227,89,51]},{index:.75,rgb:[249,140,10]},{index:.88,rgb:[249,201,50]},{index:1,rgb:[252,255,164]}],magma:[{index:0,rgb:[0,0,4]},{index:.13,rgb:[28,16,68]},{index:.25,rgb:[79,18,123]},{index:.38,rgb:[129,37,129]},{index:.5,rgb:[181,54,122]},{index:.63,rgb:[229,80,100]},{index:.75,rgb:[251,135,97]},{index:.88,rgb:[254,194,135]},{index:1,rgb:[252,253,191]}],plasma:[{index:0,rgb:[13,8,135]},{index:.13,rgb:[75,3,161]},{index:.25,rgb:[125,3,168]},{index:.38,rgb:[168,34,150]},{index:.5,rgb:[203,70,121]},{index:.63,rgb:[229,107,93]},{index:.75,rgb:[248,148,65]},{index:.88,rgb:[253,195,40]},{index:1,rgb:[240,249,33]}],warm:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[172,0,187]},{index:.25,rgb:[219,0,170]},{index:.38,rgb:[255,0,130]},{index:.5,rgb:[255,63,74]},{index:.63,rgb:[255,123,0]},{index:.75,rgb:[234,176,0]},{index:.88,rgb:[190,228,0]},{index:1,rgb:[147,255,0]}],cool:[{index:0,rgb:[125,0,179]},{index:.13,rgb:[116,0,218]},{index:.25,rgb:[98,74,237]},{index:.38,rgb:[68,146,231]},{index:.5,rgb:[0,204,197]},{index:.63,rgb:[0,247,146]},{index:.75,rgb:[0,255,88]},{index:.88,rgb:[40,255,8]},{index:1,rgb:[147,255,0]}],"rainbow-soft":[{index:0,rgb:[125,0,179]},{index:.1,rgb:[199,0,180]},{index:.2,rgb:[255,0,121]},{index:.3,rgb:[255,108,0]},{index:.4,rgb:[222,194,0]},{index:.5,rgb:[150,255,0]},{index:.6,rgb:[0,255,55]},{index:.7,rgb:[0,246,150]},{index:.8,rgb:[50,167,222]},{index:.9,rgb:[103,51,235]},{index:1,rgb:[124,0,186]}],bathymetry:[{index:0,rgb:[40,26,44]},{index:.13,rgb:[59,49,90]},{index:.25,rgb:[64,76,139]},{index:.38,rgb:[63,110,151]},{index:.5,rgb:[72,142,158]},{index:.63,rgb:[85,174,163]},{index:.75,rgb:[120,206,163]},{index:.88,rgb:[187,230,172]},{index:1,rgb:[253,254,204]}],cdom:[{index:0,rgb:[47,15,62]},{index:.13,rgb:[87,23,86]},{index:.25,rgb:[130,28,99]},{index:.38,rgb:[171,41,96]},{index:.5,rgb:[206,67,86]},{index:.63,rgb:[230,106,84]},{index:.75,rgb:[242,149,103]},{index:.88,rgb:[249,193,135]},{index:1,rgb:[254,237,176]}],chlorophyll:[{index:0,rgb:[18,36,20]},{index:.13,rgb:[25,63,41]},{index:.25,rgb:[24,91,59]},{index:.38,rgb:[13,119,72]},{index:.5,rgb:[18,148,80]},{index:.63,rgb:[80,173,89]},{index:.75,rgb:[132,196,122]},{index:.88,rgb:[175,221,162]},{index:1,rgb:[215,249,208]}],density:[{index:0,rgb:[54,14,36]},{index:.13,rgb:[89,23,80]},{index:.25,rgb:[110,45,132]},{index:.38,rgb:[120,77,178]},{index:.5,rgb:[120,113,213]},{index:.63,rgb:[115,151,228]},{index:.75,rgb:[134,185,227]},{index:.88,rgb:[177,214,227]},{index:1,rgb:[230,241,241]}],"freesurface-blue":[{index:0,rgb:[30,4,110]},{index:.13,rgb:[47,14,176]},{index:.25,rgb:[41,45,236]},{index:.38,rgb:[25,99,212]},{index:.5,rgb:[68,131,200]},{index:.63,rgb:[114,156,197]},{index:.75,rgb:[157,181,203]},{index:.88,rgb:[200,208,216]},{index:1,rgb:[241,237,236]}],"freesurface-red":[{index:0,rgb:[60,9,18]},{index:.13,rgb:[100,17,27]},{index:.25,rgb:[142,20,29]},{index:.38,rgb:[177,43,27]},{index:.5,rgb:[192,87,63]},{index:.63,rgb:[205,125,105]},{index:.75,rgb:[216,162,148]},{index:.88,rgb:[227,199,193]},{index:1,rgb:[241,237,236]}],oxygen:[{index:0,rgb:[64,5,5]},{index:.13,rgb:[106,6,15]},{index:.25,rgb:[144,26,7]},{index:.38,rgb:[168,64,3]},{index:.5,rgb:[188,100,4]},{index:.63,rgb:[206,136,11]},{index:.75,rgb:[220,174,25]},{index:.88,rgb:[231,215,44]},{index:1,rgb:[248,254,105]}],par:[{index:0,rgb:[51,20,24]},{index:.13,rgb:[90,32,35]},{index:.25,rgb:[129,44,34]},{index:.38,rgb:[159,68,25]},{index:.5,rgb:[182,99,19]},{index:.63,rgb:[199,134,22]},{index:.75,rgb:[212,171,35]},{index:.88,rgb:[221,210,54]},{index:1,rgb:[225,253,75]}],phase:[{index:0,rgb:[145,105,18]},{index:.13,rgb:[184,71,38]},{index:.25,rgb:[186,58,115]},{index:.38,rgb:[160,71,185]},{index:.5,rgb:[110,97,218]},{index:.63,rgb:[50,123,164]},{index:.75,rgb:[31,131,110]},{index:.88,rgb:[77,129,34]},{index:1,rgb:[145,105,18]}],salinity:[{index:0,rgb:[42,24,108]},{index:.13,rgb:[33,50,162]},{index:.25,rgb:[15,90,145]},{index:.38,rgb:[40,118,137]},{index:.5,rgb:[59,146,135]},{index:.63,rgb:[79,175,126]},{index:.75,rgb:[120,203,104]},{index:.88,rgb:[193,221,100]},{index:1,rgb:[253,239,154]}],temperature:[{index:0,rgb:[4,35,51]},{index:.13,rgb:[23,51,122]},{index:.25,rgb:[85,59,157]},{index:.38,rgb:[129,79,143]},{index:.5,rgb:[175,95,130]},{index:.63,rgb:[222,112,101]},{index:.75,rgb:[249,146,66]},{index:.88,rgb:[249,196,65]},{index:1,rgb:[232,250,91]}],turbidity:[{index:0,rgb:[34,31,27]},{index:.13,rgb:[65,50,41]},{index:.25,rgb:[98,69,52]},{index:.38,rgb:[131,89,57]},{index:.5,rgb:[161,112,59]},{index:.63,rgb:[185,140,66]},{index:.75,rgb:[202,174,88]},{index:.88,rgb:[216,209,126]},{index:1,rgb:[233,246,171]}],"velocity-blue":[{index:0,rgb:[17,32,64]},{index:.13,rgb:[35,52,116]},{index:.25,rgb:[29,81,156]},{index:.38,rgb:[31,113,162]},{index:.5,rgb:[50,144,169]},{index:.63,rgb:[87,173,176]},{index:.75,rgb:[149,196,189]},{index:.88,rgb:[203,221,211]},{index:1,rgb:[254,251,230]}],"velocity-green":[{index:0,rgb:[23,35,19]},{index:.13,rgb:[24,64,38]},{index:.25,rgb:[11,95,45]},{index:.38,rgb:[39,123,35]},{index:.5,rgb:[95,146,12]},{index:.63,rgb:[152,165,18]},{index:.75,rgb:[201,186,69]},{index:.88,rgb:[233,216,137]},{index:1,rgb:[255,253,205]}],cubehelix:[{index:0,rgb:[0,0,0]},{index:.07,rgb:[22,5,59]},{index:.13,rgb:[60,4,105]},{index:.2,rgb:[109,1,135]},{index:.27,rgb:[161,0,147]},{index:.33,rgb:[210,2,142]},{index:.4,rgb:[251,11,123]},{index:.47,rgb:[255,29,97]},{index:.53,rgb:[255,54,69]},{index:.6,rgb:[255,85,46]},{index:.67,rgb:[255,120,34]},{index:.73,rgb:[255,157,37]},{index:.8,rgb:[241,191,57]},{index:.87,rgb:[224,220,93]},{index:.93,rgb:[218,241,142]},{index:1,rgb:[227,253,198]}]}},6729:function(t,e,r){"use strict";var n=r(3642),i=r(395);function a(t){return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function o(t){for(var e,r="#",n=0;n<3;++n)r+=("00"+(e=(e=t[n]).toString(16))).substr(e.length);return r}function s(t){return"rgba("+t.join(",")+")"}t.exports=function(t){var e,r,l,c,u,h,f,p,d,m;if(t||(t={}),p=(t.nshades||72)-1,f=t.format||"hex",(h=t.colormap)||(h="jet"),"string"==typeof h){if(h=h.toLowerCase(),!n[h])throw Error(h+" not a supported colorscale");u=n[h]}else{if(!Array.isArray(h))throw Error("unsupported colormap option",h);u=h.slice()}if(u.length>p+1)throw new Error(h+" map requires nshades to be at least size "+u.length);d=Array.isArray(t.alpha)?2!==t.alpha.length?[1,1]:t.alpha.slice():"number"==typeof t.alpha?[t.alpha,t.alpha]:[1,1],e=u.map((function(t){return Math.round(t.index*p)})),d[0]=Math.min(Math.max(d[0],0),1),d[1]=Math.min(Math.max(d[1],0),1);var g=u.map((function(t,e){var r=u[e].index,n=u[e].rgb.slice();return 4===n.length&&n[3]>=0&&n[3]<=1||(n[3]=d[0]+(d[1]-d[0])*r),n})),y=[];for(m=0;m0||l(t,e,a)?-1:1:0===s?c>0||l(t,e,r)?1:-1:i(c-s)}var h=n(t,e,r);return h>0?o>0&&n(t,e,a)>0?1:-1:h<0?o>0||n(t,e,a)>0?1:-1:n(t,e,a)>0||l(t,e,r)?1:-1};var n=r(3250),i=r(8572),a=r(9362),o=r(5382),s=r(8210);function l(t,e,r){var n=a(t[0],-e[0]),i=a(t[1],-e[1]),l=a(r[0],-e[0]),c=a(r[1],-e[1]),u=s(o(n,l),o(i,c));return u[u.length-1]>=0}},8572:function(t){"use strict";t.exports=function(t){return t<0?-1:t>0?1:0}},8507:function(t){t.exports=function(t,n){var i=t.length,a=t.length-n.length;if(a)return a;switch(i){case 0:return 0;case 1:return t[0]-n[0];case 2:return t[0]+t[1]-n[0]-n[1]||e(t[0],t[1])-e(n[0],n[1]);case 3:var o=t[0]+t[1],s=n[0]+n[1];if(a=o+t[2]-(s+n[2]))return a;var l=e(t[0],t[1]),c=e(n[0],n[1]);return e(l,t[2])-e(c,n[2])||e(l+t[2],o)-e(c+n[2],s);case 4:var u=t[0],h=t[1],f=t[2],p=t[3],d=n[0],m=n[1],g=n[2],y=n[3];return u+h+f+p-(d+m+g+y)||e(u,h,f,p)-e(d,m,g,y,d)||e(u+h,u+f,u+p,h+f,h+p,f+p)-e(d+m,d+g,d+y,m+g,m+y,g+y)||e(u+h+f,u+h+p,u+f+p,h+f+p)-e(d+m+g,d+m+y,d+g+y,m+g+y);default:for(var v=t.slice().sort(r),x=n.slice().sort(r),_=0;_t[r][0]&&(r=n);return er?[[r],[e]]:[[e]]}},4750:function(t,e,r){"use strict";t.exports=function(t){var e=n(t),r=e.length;if(r<=2)return[];for(var i=new Array(r),a=e[r-1],o=0;o=e[l]&&(s+=1);a[o]=s}}return t}(n(a,!0),r)}};var n=r(8954),i=r(3952)},4769:function(t){"use strict";t.exports=function(t,e,r,n,i,a){var o=i-1,s=i*i,l=o*o,c=(1+2*i)*l,u=i*l,h=s*(3-2*i),f=s*o;if(t.length){a||(a=new Array(t.length));for(var p=t.length-1;p>=0;--p)a[p]=c*t[p]+u*e[p]+h*r[p]+f*n[p];return a}return c*t+u*e+h*r+f*n},t.exports.derivative=function(t,e,r,n,i,a){var o=6*i*i-6*i,s=3*i*i-4*i+1,l=-6*i*i+6*i,c=3*i*i-2*i;if(t.length){a||(a=new Array(t.length));for(var u=t.length-1;u>=0;--u)a[u]=o*t[u]+s*e[u]+l*r[u]+c*n[u];return a}return o*t+s*e+l*r[u]+c*n}},7642:function(t,e,r){"use strict";var n=r(8954),i=r(1682);function a(t,e){this.point=t,this.index=e}function o(t,e){for(var r=t.point,n=e.point,i=r.length,a=0;a=2)return!1;t[r]=n}return!0})):b.filter((function(t){for(var e=0;e<=s;++e){var r=y[t[e]];if(r<0)return!1;t[e]=r}return!0})),1&s)for(u=0;u>>31},t.exports.exponent=function(e){return(t.exports.hi(e)<<1>>>21)-1023},t.exports.fraction=function(e){var r=t.exports.lo(e),n=t.exports.hi(e),i=1048575&n;return 2146435072&n&&(i+=1<<20),[r,i]},t.exports.denormalized=function(e){return!(2146435072&t.exports.hi(e))}},1338:function(t){"use strict";function e(t,r,n){var i=0|t[n];if(i<=0)return[];var a,o=new Array(i);if(n===t.length-1)for(a=0;a0)return function(t,e){var r,n;for(r=new Array(t),n=0;n=r-1){f=l.length-1;var d=t-e[r-1];for(p=0;p=r-1)for(var u=s.length-1,h=(e[r-1],0);h=0;--r)if(t[--e])return!1;return!0},s.jump=function(t){var e=this.lastT(),r=this.dimension;if(!(t0;--h)n.push(a(l[h-1],c[h-1],arguments[h])),i.push(0)}},s.push=function(t){var e=this.lastT(),r=this.dimension;if(!(t1e-6?1/s:0;this._time.push(t);for(var f=r;f>0;--f){var p=a(c[f-1],u[f-1],arguments[f]);n.push(p),i.push((p-n[o++])*h)}}},s.set=function(t){var e=this.dimension;if(!(t0;--l)r.push(a(o[l-1],s[l-1],arguments[l])),n.push(0)}},s.move=function(t){var e=this.lastT(),r=this.dimension;if(!(t<=e||arguments.length!==r+1)){var n=this._state,i=this._velocity,o=n.length-this.dimension,s=this.bounds,l=s[0],c=s[1],u=t-e,h=u>1e-6?1/u:0;this._time.push(t);for(var f=r;f>0;--f){var p=arguments[f];n.push(a(l[f-1],c[f-1],n[o++]+p)),i.push(p*h)}}},s.idle=function(t){var e=this.lastT();if(!(t=0;--h)n.push(a(l[h],c[h],n[o]+u*i[o])),i.push(0),o+=1}}},3840:function(t){"use strict";function e(t,e,r,n,i,a){this._color=t,this.key=e,this.value=r,this.left=n,this.right=i,this._count=a}function r(t){return new e(t._color,t.key,t.value,t.left,t.right,t._count)}function n(t,r){return new e(t,r.key,r.value,r.left,r.right,r._count)}function i(t){t._count=1+(t.left?t.left._count:0)+(t.right?t.right._count:0)}function a(t,e){this._compare=t,this.root=e}t.exports=function(t){return new a(t||p,null)};var o=a.prototype;function s(t,e){var r;return e.left&&(r=s(t,e.left))?r:(r=t(e.key,e.value))||(e.right?s(t,e.right):void 0)}function l(t,e,r,n){if(e(t,n.key)<=0){var i;if(n.left&&(i=l(t,e,r,n.left)))return i;if(i=r(n.key,n.value))return i}if(n.right)return l(t,e,r,n.right)}function c(t,e,r,n,i){var a,o=r(t,i.key),s=r(e,i.key);if(o<=0){if(i.left&&(a=c(t,e,r,n,i.left)))return a;if(s>0&&(a=n(i.key,i.value)))return a}if(s>0&&i.right)return c(t,e,r,n,i.right)}function u(t,e){this.tree=t,this._stack=e}Object.defineProperty(o,"keys",{get:function(){var t=[];return this.forEach((function(e,r){t.push(e)})),t}}),Object.defineProperty(o,"values",{get:function(){var t=[];return this.forEach((function(e,r){t.push(r)})),t}}),Object.defineProperty(o,"length",{get:function(){return this.root?this.root._count:0}}),o.insert=function(t,r){for(var o=this._compare,s=this.root,l=[],c=[];s;){var u=o(t,s.key);l.push(s),c.push(u),s=u<=0?s.left:s.right}l.push(new e(0,t,r,null,null,1));for(var h=l.length-2;h>=0;--h)s=l[h],c[h]<=0?l[h]=new e(s._color,s.key,s.value,l[h+1],s.right,s._count+1):l[h]=new e(s._color,s.key,s.value,s.left,l[h+1],s._count+1);for(h=l.length-1;h>1;--h){var f=l[h-1];if(s=l[h],1===f._color||1===s._color)break;var p=l[h-2];if(p.left===f)if(f.left===s){if(!(d=p.right)||0!==d._color){p._color=0,p.left=f.right,f._color=1,f.right=p,l[h-2]=f,l[h-1]=s,i(p),i(f),h>=3&&((m=l[h-3]).left===p?m.left=f:m.right=f);break}f._color=1,p.right=n(1,d),p._color=0,h-=1}else{if(!(d=p.right)||0!==d._color){f.right=s.left,p._color=0,p.left=s.right,s._color=1,s.left=f,s.right=p,l[h-2]=s,l[h-1]=f,i(p),i(f),i(s),h>=3&&((m=l[h-3]).left===p?m.left=s:m.right=s);break}f._color=1,p.right=n(1,d),p._color=0,h-=1}else if(f.right===s){if(!(d=p.left)||0!==d._color){p._color=0,p.right=f.left,f._color=1,f.left=p,l[h-2]=f,l[h-1]=s,i(p),i(f),h>=3&&((m=l[h-3]).right===p?m.right=f:m.left=f);break}f._color=1,p.left=n(1,d),p._color=0,h-=1}else{var d;if(!(d=p.left)||0!==d._color){var m;f.left=s.right,p._color=0,p.right=s.left,s._color=1,s.right=f,s.left=p,l[h-2]=s,l[h-1]=f,i(p),i(f),i(s),h>=3&&((m=l[h-3]).right===p?m.right=s:m.left=s);break}f._color=1,p.left=n(1,d),p._color=0,h-=1}}return l[0]._color=1,new a(o,l[0])},o.forEach=function(t,e,r){if(this.root)switch(arguments.length){case 1:return s(t,this.root);case 2:return l(e,this._compare,t,this.root);case 3:if(this._compare(e,r)>=0)return;return c(e,r,this._compare,t,this.root)}},Object.defineProperty(o,"begin",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.left;return new u(this,t)}}),Object.defineProperty(o,"end",{get:function(){for(var t=[],e=this.root;e;)t.push(e),e=e.right;return new u(this,t)}}),o.at=function(t){if(t<0)return new u(this,[]);for(var e=this.root,r=[];;){if(r.push(e),e.left){if(t=e.right._count)break;e=e.right}return new u(this,[])},o.ge=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<=0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new u(this,n)},o.gt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a<0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new u(this,n)},o.lt=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>0&&(i=n.length),r=a<=0?r.left:r.right}return n.length=i,new u(this,n)},o.le=function(t){for(var e=this._compare,r=this.root,n=[],i=0;r;){var a=e(t,r.key);n.push(r),a>=0&&(i=n.length),r=a<0?r.left:r.right}return n.length=i,new u(this,n)},o.find=function(t){for(var e=this._compare,r=this.root,n=[];r;){var i=e(t,r.key);if(n.push(r),0===i)return new u(this,n);r=i<=0?r.left:r.right}return new u(this,[])},o.remove=function(t){var e=this.find(t);return e?e.remove():this},o.get=function(t){for(var e=this._compare,r=this.root;r;){var n=e(t,r.key);if(0===n)return r.value;r=n<=0?r.left:r.right}};var h=u.prototype;function f(t,e){t.key=e.key,t.value=e.value,t.left=e.left,t.right=e.right,t._color=e._color,t._count=e._count}function p(t,e){return te?1:0}Object.defineProperty(h,"valid",{get:function(){return this._stack.length>0}}),Object.defineProperty(h,"node",{get:function(){return this._stack.length>0?this._stack[this._stack.length-1]:null},enumerable:!0}),h.clone=function(){return new u(this.tree,this._stack.slice())},h.remove=function(){var t=this._stack;if(0===t.length)return this.tree;var o=new Array(t.length),s=t[t.length-1];o[o.length-1]=new e(s._color,s.key,s.value,s.left,s.right,s._count);for(var l=t.length-2;l>=0;--l)(s=t[l]).left===t[l+1]?o[l]=new e(s._color,s.key,s.value,o[l+1],s.right,s._count):o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);if((s=o[o.length-1]).left&&s.right){var c=o.length;for(s=s.left;s.right;)o.push(s),s=s.right;var u=o[c-1];for(o.push(new e(s._color,u.key,u.value,s.left,s.right,s._count)),o[c-1].key=s.key,o[c-1].value=s.value,l=o.length-2;l>=c;--l)s=o[l],o[l]=new e(s._color,s.key,s.value,s.left,o[l+1],s._count);o[c-1].left=o[c]}if(0===(s=o[o.length-1])._color){var h=o[o.length-2];for(h.left===s?h.left=null:h.right===s&&(h.right=null),o.pop(),l=0;l=0;--l){if(e=t[l],0===l)return void(e._color=1);if((a=t[l-1]).left===e){if((o=a.right).right&&0===o.right._color)return s=(o=a.right=r(o)).right=r(o.right),a.right=o.left,o.left=a,o.right=s,o._color=a._color,e._color=1,a._color=1,s._color=1,i(a),i(o),l>1&&((c=t[l-2]).left===a?c.left=o:c.right=o),void(t[l-1]=o);if(o.left&&0===o.left._color)return s=(o=a.right=r(o)).left=r(o.left),a.right=s.left,o.left=s.right,s.left=a,s.right=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((c=t[l-2]).left===a?c.left=s:c.right=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.right=n(0,o));a.right=n(0,o);continue}o=r(o),a.right=o.left,o.left=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((c=t[l-2]).left===a?c.left=o:c.right=o),t[l-1]=o,t[l]=a,l+11&&((c=t[l-2]).right===a?c.right=o:c.left=o),void(t[l-1]=o);if(o.right&&0===o.right._color)return s=(o=a.left=r(o)).right=r(o.right),a.left=s.right,o.right=s.left,s.right=a,s.left=o,s._color=a._color,a._color=1,o._color=1,e._color=1,i(a),i(o),i(s),l>1&&((c=t[l-2]).right===a?c.right=s:c.left=s),void(t[l-1]=s);if(1===o._color){if(0===a._color)return a._color=1,void(a.left=n(0,o));a.left=n(0,o);continue}var c;o=r(o),a.left=o.right,o.right=a,o._color=a._color,a._color=0,i(a),i(o),l>1&&((c=t[l-2]).right===a?c.right=o:c.left=o),t[l-1]=o,t[l]=a,l+10)return this._stack[this._stack.length-1].key},enumerable:!0}),Object.defineProperty(h,"value",{get:function(){if(this._stack.length>0)return this._stack[this._stack.length-1].value},enumerable:!0}),Object.defineProperty(h,"index",{get:function(){var t=0,e=this._stack;if(0===e.length){var r=this.tree.root;return r?r._count:0}e[e.length-1].left&&(t=e[e.length-1].left._count);for(var n=e.length-2;n>=0;--n)e[n+1]===e[n].right&&(++t,e[n].left&&(t+=e[n].left._count));return t},enumerable:!0}),h.next=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.right)for(e=e.right;e;)t.push(e),e=e.left;else for(t.pop();t.length>0&&t[t.length-1].right===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,"hasNext",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].right)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].left===t[e])return!0;return!1}}),h.update=function(t){var r=this._stack;if(0===r.length)throw new Error("Can't update empty node!");var n=new Array(r.length),i=r[r.length-1];n[n.length-1]=new e(i._color,i.key,t,i.left,i.right,i._count);for(var o=r.length-2;o>=0;--o)(i=r[o]).left===r[o+1]?n[o]=new e(i._color,i.key,i.value,n[o+1],i.right,i._count):n[o]=new e(i._color,i.key,i.value,i.left,n[o+1],i._count);return new a(this.tree._compare,n[0])},h.prev=function(){var t=this._stack;if(0!==t.length){var e=t[t.length-1];if(e.left)for(e=e.left;e;)t.push(e),e=e.right;else for(t.pop();t.length>0&&t[t.length-1].left===e;)e=t[t.length-1],t.pop()}},Object.defineProperty(h,"hasPrev",{get:function(){var t=this._stack;if(0===t.length)return!1;if(t[t.length-1].left)return!0;for(var e=t.length-1;e>0;--e)if(t[e-1].right===t[e])return!0;return!1}})},3837:function(t,e,r){"use strict";t.exports=function(t,e){var r=new p(t);return r.update(e),r};var n=r(4935),i=r(501),a=r(5304),o=r(6429),s=r(6444),l=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),c=ArrayBuffer,u=DataView;function h(t){return Array.isArray(t)||function(t){return c.isView(t)&&!(t instanceof u)}(t)}function f(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function p(t){this.gl=t,this.pixelRatio=1,this.bounds=[[-10,-10,-10],[10,10,10]],this.ticks=[[],[],[]],this.autoTicks=!0,this.tickSpacing=[1,1,1],this.tickEnable=[!0,!0,!0],this.tickFont=["sans-serif","sans-serif","sans-serif"],this.tickFontStyle=["normal","normal","normal"],this.tickFontWeight=["normal","normal","normal"],this.tickFontVariant=["normal","normal","normal"],this.tickSize=[12,12,12],this.tickAngle=[0,0,0],this.tickAlign=["auto","auto","auto"],this.tickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.tickPad=[10,10,10],this.lastCubeProps={cubeEdges:[0,0,0],axis:[0,0,0]},this.labels=["x","y","z"],this.labelEnable=[!0,!0,!0],this.labelFont=["sans-serif","sans-serif","sans-serif"],this.labelFontStyle=["normal","normal","normal"],this.labelFontWeight=["normal","normal","normal"],this.labelFontVariant=["normal","normal","normal"],this.labelSize=[20,20,20],this.labelAngle=[0,0,0],this.labelAlign=["auto","auto","auto"],this.labelColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.labelPad=[10,10,10],this.lineEnable=[!0,!0,!0],this.lineMirror=[!1,!1,!1],this.lineWidth=[1,1,1],this.lineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.lineTickEnable=[!0,!0,!0],this.lineTickMirror=[!1,!1,!1],this.lineTickLength=[0,0,0],this.lineTickWidth=[1,1,1],this.lineTickColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.gridEnable=[!0,!0,!0],this.gridWidth=[1,1,1],this.gridColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroEnable=[!0,!0,!0],this.zeroLineColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.zeroLineWidth=[2,2,2],this.backgroundEnable=[!1,!1,!1],this.backgroundColor=[[.8,.8,.8,.5],[.8,.8,.8,.5],[.8,.8,.8,.5]],this._firstInit=!0,this._text=null,this._lines=null,this._background=a(t)}var d=p.prototype;function m(){this.primalOffset=[0,0,0],this.primalMinor=[0,0,0],this.mirrorOffset=[0,0,0],this.mirrorMinor=[0,0,0]}d.update=function(t){function e(e,r,n){if(n in t){var i,a=t[n],o=this[n];(e?h(a)&&h(a[0]):h(a))?this[n]=i=[r(a[0]),r(a[1]),r(a[2])]:this[n]=i=[r(a),r(a),r(a)];for(var s=0;s<3;++s)if(i[s]!==o[s])return!0}return!1}t=t||{};var r,a=e.bind(this,!1,Number),o=e.bind(this,!1,Boolean),l=e.bind(this,!1,String),c=e.bind(this,!0,(function(t){if(h(t)){if(3===t.length)return[+t[0],+t[1],+t[2],1];if(4===t.length)return[+t[0],+t[1],+t[2],+t[3]]}return[0,0,0,1]})),u=!1,f=!1;if("bounds"in t)for(var p=t.bounds,d=0;d<2;++d)for(var m=0;m<3;++m)p[d][m]!==this.bounds[d][m]&&(f=!0),this.bounds[d][m]=p[d][m];if("ticks"in t)for(r=t.ticks,u=!0,this.autoTicks=!1,d=0;d<3;++d)this.tickSpacing[d]=0;else a("tickSpacing")&&(this.autoTicks=!0,f=!0);if(this._firstInit&&("ticks"in t||"tickSpacing"in t||(this.autoTicks=!0),f=!0,u=!0,this._firstInit=!1),f&&this.autoTicks&&(r=s.create(this.bounds,this.tickSpacing),u=!0),u){for(d=0;d<3;++d)r[d].sort((function(t,e){return t.x-e.x}));s.equal(r,this.ticks)?u=!1:this.ticks=r}o("tickEnable"),l("tickFont")&&(u=!0),l("tickFontStyle")&&(u=!0),l("tickFontWeight")&&(u=!0),l("tickFontVariant")&&(u=!0),a("tickSize"),a("tickAngle"),a("tickPad"),c("tickColor");var g=l("labels");l("labelFont")&&(g=!0),l("labelFontStyle")&&(g=!0),l("labelFontWeight")&&(g=!0),l("labelFontVariant")&&(g=!0),o("labelEnable"),a("labelSize"),a("labelPad"),c("labelColor"),o("lineEnable"),o("lineMirror"),a("lineWidth"),c("lineColor"),o("lineTickEnable"),o("lineTickMirror"),a("lineTickLength"),a("lineTickWidth"),c("lineTickColor"),o("gridEnable"),a("gridWidth"),c("gridColor"),o("zeroEnable"),c("zeroLineColor"),a("zeroLineWidth"),o("backgroundEnable"),c("backgroundColor");var y=[{family:this.labelFont[0],style:this.labelFontStyle[0],weight:this.labelFontWeight[0],variant:this.labelFontVariant[0]},{family:this.labelFont[1],style:this.labelFontStyle[1],weight:this.labelFontWeight[1],variant:this.labelFontVariant[1]},{family:this.labelFont[2],style:this.labelFontStyle[2],weight:this.labelFontWeight[2],variant:this.labelFontVariant[2]}],v=[{family:this.tickFont[0],style:this.tickFontStyle[0],weight:this.tickFontWeight[0],variant:this.tickFontVariant[0]},{family:this.tickFont[1],style:this.tickFontStyle[1],weight:this.tickFontWeight[1],variant:this.tickFontVariant[1]},{family:this.tickFont[2],style:this.tickFontStyle[2],weight:this.tickFontWeight[2],variant:this.tickFontVariant[2]}];this._text?this._text&&(g||u)&&this._text.update(this.bounds,this.labels,y,this.ticks,v):this._text=n(this.gl,this.bounds,this.labels,y,this.ticks,v),this._lines&&u&&(this._lines.dispose(),this._lines=null),this._lines||(this._lines=i(this.gl,this.bounds,this.ticks))};var g=[new m,new m,new m];function y(t,e,r,n,i){for(var a=t.primalOffset,o=t.primalMinor,s=t.mirrorOffset,l=t.mirrorMinor,c=n[e],u=0;u<3;++u)if(e!==u){var h=a,f=s,p=o,d=l;c&1<0?(p[u]=-1,d[u]=0):(p[u]=0,d[u]=1)}}var v=[0,0,0],x={model:l,view:l,projection:l,_ortho:!1};d.isOpaque=function(){return!0},d.isTransparent=function(){return!1},d.drawTransparent=function(t){};var _=[0,0,0],b=[0,0,0],w=[0,0,0];d.draw=function(t){t=t||x;for(var e=this.gl,r=t.model||l,n=t.view||l,i=t.projection||l,a=this.bounds,s=t._ortho||!1,c=o(r,n,i,a,s),u=c.cubeEdges,h=c.axis,p=n[12],d=n[13],m=n[14],T=n[15],k=(s?2:1)*this.pixelRatio*(i[3]*p+i[7]*d+i[11]*m+i[15]*T)/e.drawingBufferHeight,A=0;A<3;++A)this.lastCubeProps.cubeEdges[A]=u[A],this.lastCubeProps.axis[A]=h[A];var M=g;for(A=0;A<3;++A)y(g[A],A,this.bounds,u,h);e=this.gl;var S,E,C,L=v;for(A=0;A<3;++A)this.backgroundEnable[A]?L[A]=h[A]:L[A]=0;for(this._background.draw(r,n,i,a,L,this.backgroundColor),this._lines.bind(r,n,i,this),A=0;A<3;++A){var I=[0,0,0];h[A]>0?I[A]=a[1][A]:I[A]=a[0][A];for(var P=0;P<2;++P){var z=(A+1+P)%3,O=(A+1+(1^P))%3;this.gridEnable[z]&&this._lines.drawGrid(z,O,this.bounds,I,this.gridColor[z],this.gridWidth[z]*this.pixelRatio)}for(P=0;P<2;++P)z=(A+1+P)%3,O=(A+1+(1^P))%3,this.zeroEnable[O]&&Math.min(a[0][O],a[1][O])<=0&&Math.max(a[0][O],a[1][O])>=0&&this._lines.drawZero(z,O,this.bounds,I,this.zeroLineColor[O],this.zeroLineWidth[O]*this.pixelRatio)}for(A=0;A<3;++A){this.lineEnable[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].primalOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio),this.lineMirror[A]&&this._lines.drawAxisLine(A,this.bounds,M[A].mirrorOffset,this.lineColor[A],this.lineWidth[A]*this.pixelRatio);var D=f(_,M[A].primalMinor),R=f(b,M[A].mirrorMinor),F=this.lineTickLength;for(P=0;P<3;++P){var B=k/r[5*P];D[P]*=F[P]*B,R[P]*=F[P]*B}this.lineTickEnable[A]&&this._lines.drawAxisTicks(A,M[A].primalOffset,D,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio),this.lineTickMirror[A]&&this._lines.drawAxisTicks(A,M[A].mirrorOffset,R,this.lineTickColor[A],this.lineTickWidth[A]*this.pixelRatio)}function N(t){(C=[0,0,0])[t]=1}function j(t,e,r){var n=(t+1)%3,i=(t+2)%3,a=e[n],o=e[i],s=r[n],l=r[i];a>0&&l>0||a>0&&l<0||a<0&&l>0||a<0&&l<0?N(n):(o>0&&s>0||o>0&&s<0||o<0&&s>0||o<0&&s<0)&&N(i)}for(this._lines.unbind(),this._text.bind(r,n,i,this.pixelRatio),A=0;A<3;++A){var U=M[A].primalMinor,V=M[A].mirrorMinor,q=f(w,M[A].primalOffset);for(P=0;P<3;++P)this.lineTickEnable[A]&&(q[P]+=k*U[P]*Math.max(this.lineTickLength[P],0)/r[5*P]);var H=[0,0,0];if(H[A]=1,this.tickEnable[A]){for(-3600===this.tickAngle[A]?(this.tickAngle[A]=0,this.tickAlign[A]="auto"):this.tickAlign[A]=-1,E=1,"auto"===(S=[this.tickAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),C=[0,0,0],j(A,U,V),P=0;P<3;++P)q[P]+=k*U[P]*this.tickPad[P]/r[5*P];this._text.drawTicks(A,this.tickSize[A],this.tickAngle[A],q,this.tickColor[A],H,C,S)}if(this.labelEnable[A]){for(E=0,C=[0,0,0],this.labels[A].length>4&&(N(A),E=1),"auto"===(S=[this.labelAlign[A],.5,E])[0]?S[0]=0:S[0]=parseInt(""+S[0]),P=0;P<3;++P)q[P]+=k*U[P]*this.labelPad[P]/r[5*P];q[A]+=.5*(a[0][A]+a[1][A]),this._text.drawLabel(A,this.labelSize[A],this.labelAngle[A],q,this.labelColor[A],[0,0,0],C,S)}}this._text.unbind()},d.dispose=function(){this._text.dispose(),this._lines.dispose(),this._background.dispose(),this._lines=null,this._text=null,this._background=null,this.gl=null}},5304:function(t,e,r){"use strict";t.exports=function(t){for(var e=[],r=[],s=0,l=0;l<3;++l)for(var c=(l+1)%3,u=(l+2)%3,h=[0,0,0],f=[0,0,0],p=-1;p<=1;p+=2){r.push(s,s+2,s+1,s+1,s+2,s+3),h[l]=p,f[l]=p;for(var d=-1;d<=1;d+=2){h[c]=d;for(var m=-1;m<=1;m+=2)h[u]=m,e.push(h[0],h[1],h[2],f[0],f[1],f[2]),s+=1}var g=c;c=u,u=g}var y=n(t,new Float32Array(e)),v=n(t,new Uint16Array(r),t.ELEMENT_ARRAY_BUFFER),x=i(t,[{buffer:y,type:t.FLOAT,size:3,offset:0,stride:24},{buffer:y,type:t.FLOAT,size:3,offset:12,stride:24}],v),_=a(t);return _.attributes.position.location=0,_.attributes.normal.location=1,new o(t,y,x,_)};var n=r(2762),i=r(8116),a=r(1879).bg;function o(t,e,r,n){this.gl=t,this.buffer=e,this.vao=r,this.shader=n}var s=o.prototype;s.draw=function(t,e,r,n,i,a){for(var o=!1,s=0;s<3;++s)o=o||i[s];if(o){var l=this.gl;l.enable(l.POLYGON_OFFSET_FILL),l.polygonOffset(1,2),this.shader.bind(),this.shader.uniforms={model:t,view:e,projection:r,bounds:n,enable:i,colors:a},this.vao.bind(),this.vao.draw(this.gl.TRIANGLES,36),this.vao.unbind(),l.disable(l.POLYGON_OFFSET_FILL)}},s.dispose=function(){this.vao.dispose(),this.buffer.dispose(),this.shader.dispose()}},6429:function(t,e,r){"use strict";t.exports=function(t,e,r,a,p){i(s,e,t),i(s,r,s);for(var v=0,x=0;x<2;++x){u[2]=a[x][2];for(var _=0;_<2;++_){u[1]=a[_][1];for(var b=0;b<2;++b)u[0]=a[b][0],f(l[v],u,s),v+=1}}var w=-1;for(x=0;x<8;++x){for(var T=l[x][3],k=0;k<3;++k)c[x][k]=l[x][k]/T;p&&(c[x][2]*=-1),T<0&&(w<0||c[x][2]E&&(w|=1<E&&(w|=1<c[x][1])&&(R=x);var F=-1;for(x=0;x<3;++x)(N=R^1<c[B][0]&&(B=N))}var j=m;j[0]=j[1]=j[2]=0,j[n.log2(F^R)]=R&F,j[n.log2(R^B)]=R&B;var U=7^B;U===w||U===D?(U=7^F,j[n.log2(B^U)]=U&B):j[n.log2(F^U)]=U&F;var V=g,q=w;for(A=0;A<3;++A)V[A]=q&1< HALF_PI) && (b <= ONE_AND_HALF_PI)) ?\n b - PI :\n b;\n}\n\nfloat look_horizontal_or_vertical(float a, float ratio) {\n // ratio controls the ratio between being horizontal to (vertical + horizontal)\n // if ratio is set to 0.5 then it is 50%, 50%.\n // when using a higher ratio e.g. 0.75 the result would\n // likely be more horizontal than vertical.\n\n float b = positive_angle(a);\n\n return\n (b < ( ratio) * HALF_PI) ? 0.0 :\n (b < (2.0 - ratio) * HALF_PI) ? -HALF_PI :\n (b < (2.0 + ratio) * HALF_PI) ? 0.0 :\n (b < (4.0 - ratio) * HALF_PI) ? HALF_PI :\n 0.0;\n}\n\nfloat roundTo(float a, float b) {\n return float(b * floor((a + 0.5 * b) / b));\n}\n\nfloat look_round_n_directions(float a, int n) {\n float b = positive_angle(a);\n float div = TWO_PI / float(n);\n float c = roundTo(b, div);\n return look_upwards(c);\n}\n\nfloat applyAlignOption(float rawAngle, float delta) {\n return\n (option > 2) ? look_round_n_directions(rawAngle + delta, option) : // option 3-n: round to n directions\n (option == 2) ? look_horizontal_or_vertical(rawAngle + delta, hv_ratio) : // horizontal or vertical\n (option == 1) ? rawAngle + delta : // use free angle, and flip to align with one direction of the axis\n (option == 0) ? look_upwards(rawAngle) : // use free angle, and stay upwards\n (option ==-1) ? 0.0 : // useful for backward compatibility, all texts remains horizontal\n rawAngle; // otherwise return back raw input angle\n}\n\nbool isAxisTitle = (axis.x == 0.0) &&\n (axis.y == 0.0) &&\n (axis.z == 0.0);\n\nvoid main() {\n //Compute world offset\n float axisDistance = position.z;\n vec3 dataPosition = axisDistance * axis + offset;\n\n float beta = angle; // i.e. user defined attributes for each tick\n\n float axisAngle;\n float clipAngle;\n float flip;\n\n if (enableAlign) {\n axisAngle = (isAxisTitle) ? HALF_PI :\n computeViewAngle(dataPosition, dataPosition + axis);\n clipAngle = computeViewAngle(dataPosition, dataPosition + alignDir);\n\n axisAngle += (sin(axisAngle) < 0.0) ? PI : 0.0;\n clipAngle += (sin(clipAngle) < 0.0) ? PI : 0.0;\n\n flip = (dot(vec2(cos(axisAngle), sin(axisAngle)),\n vec2(sin(clipAngle),-cos(clipAngle))) > 0.0) ? 1.0 : 0.0;\n\n beta += applyAlignOption(clipAngle, flip * PI);\n }\n\n //Compute plane offset\n vec2 planeCoord = position.xy * pixelScale;\n\n mat2 planeXform = scale * mat2(\n cos(beta), sin(beta),\n -sin(beta), cos(beta)\n );\n\n vec2 viewOffset = 2.0 * planeXform * planeCoord / resolution;\n\n //Compute clip position\n vec3 clipPosition = project(dataPosition);\n\n //Apply text offset in clip coordinates\n clipPosition += vec3(viewOffset, 0.0);\n\n //Done\n gl_Position = vec4(clipPosition, 1.0);\n}\n"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 color;\nvoid main() {\n gl_FragColor = color;\n}"]);e.Q=function(t){return i(t,s,l,null,[{name:"position",type:"vec3"}])};var c=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec3 normal;\n\nuniform mat4 model, view, projection;\nuniform vec3 enable;\nuniform vec3 bounds[2];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n\n vec3 signAxis = sign(bounds[1] - bounds[0]);\n\n vec3 realNormal = signAxis * normal;\n\n if(dot(realNormal, enable) > 0.0) {\n vec3 minRange = min(bounds[0], bounds[1]);\n vec3 maxRange = max(bounds[0], bounds[1]);\n vec3 nPosition = mix(minRange, maxRange, 0.5 * (position + 1.0));\n gl_Position = projection * (view * (model * vec4(nPosition, 1.0)));\n } else {\n gl_Position = vec4(0,0,0,0);\n }\n\n colorChannel = abs(realNormal);\n}\n"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec4 colors[3];\n\nvarying vec3 colorChannel;\n\nvoid main() {\n gl_FragColor = colorChannel.x * colors[0] +\n colorChannel.y * colors[1] +\n colorChannel.z * colors[2];\n}"]);e.bg=function(t){return i(t,c,u,null,[{name:"position",type:"vec3"},{name:"normal",type:"vec3"}])}},4935:function(t,e,r){"use strict";t.exports=function(t,e,r,i,o,l){var c=n(t),h=a(t,[{buffer:c,size:3}]),f=s(t);f.attributes.position.location=0;var p=new u(t,f,c,h);return p.update(e,r,i,o,l),p};var n=r(2762),a=r(8116),o=r(4359),s=r(1879).Q,l=window||i.global||{},c=l.__TEXT_CACHE||{};function u(t,e,r,n){this.gl=t,this.shader=e,this.buffer=r,this.vao=n,this.tickOffset=this.tickCount=this.labelOffset=this.labelCount=null}l.__TEXT_CACHE={};var h=u.prototype,f=[0,0];h.bind=function(t,e,r,n){this.vao.bind(),this.shader.bind();var i=this.shader.uniforms;i.model=t,i.view=e,i.projection=r,i.pixelScale=n,f[0]=this.gl.drawingBufferWidth,f[1]=this.gl.drawingBufferHeight,this.shader.uniforms.resolution=f},h.unbind=function(){this.vao.unbind()},h.update=function(t,e,r,n,i){var a=[];function s(t,e,r,n,i,s){var l=[r.style,r.weight,r.variant,r.family].join("_"),u=c[l];u||(u=c[l]={});var h=u[e];h||(h=u[e]=function(t,e){try{return o(t,e)}catch(e){return console.warn('error vectorizing text:"'+t+'" error:',e),{cells:[],positions:[]}}}(e,{triangles:!0,font:r.family,fontStyle:r.style,fontWeight:r.weight,fontVariant:r.variant,textAlign:"center",textBaseline:"middle",lineSpacing:i,styletags:s}));for(var f=(n||12)/12,p=h.positions,d=h.cells,m=0,g=d.length;m=0;--v){var x=p[y[v]];a.push(f*x[0],-f*x[1],t)}}for(var l=[0,0,0],u=[0,0,0],h=[0,0,0],f=[0,0,0],p={breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},d=0;d<3;++d){h[d]=a.length/3|0,s(.5*(t[0][d]+t[1][d]),e[d],r[d],12,1.25,p),f[d]=(a.length/3|0)-h[d],l[d]=a.length/3|0;for(var m=0;m=0&&(i=r.length-n-1);var a=Math.pow(10,i),o=Math.round(t*e*a),s=o+"";if(s.indexOf("e")>=0)return s;var l=o/a,c=o%a;o<0?(l=0|-Math.ceil(l),c=0|-c):(l=0|Math.floor(l),c|=0);var u=""+l;if(o<0&&(u="-"+u),i){for(var h=""+c;h.length=t[0][i];--o)a.push({x:o*e[i],text:r(e[i],o)});n.push(a)}return n},e.equal=function(t,e){for(var r=0;r<3;++r){if(t[r].length!==e[r].length)return!1;for(var n=0;nr)throw new Error("gl-buffer: If resizing buffer, must not specify offset");return t.bufferSubData(e,a,i),r}function u(t,e){for(var r=n.malloc(t.length,e),i=t.length,a=0;a=0;--n){if(e[n]!==r)return!1;r*=t[n]}return!0}(t.shape,t.stride))0===t.offset&&t.data.length===t.shape[0]?this.length=c(this.gl,this.type,this.length,this.usage,t.data,e):this.length=c(this.gl,this.type,this.length,this.usage,t.data.subarray(t.offset,t.shape[0]),e);else{var s=n.malloc(t.size,r),l=a(s,t.shape);i.assign(l,t),this.length=c(this.gl,this.type,this.length,this.usage,e<0?s:s.subarray(0,t.size),e),n.free(s)}}else if(Array.isArray(t)){var h;h=this.type===this.gl.ELEMENT_ARRAY_BUFFER?u(t,"uint16"):u(t,"float32"),this.length=c(this.gl,this.type,this.length,this.usage,e<0?h:h.subarray(0,t.length),e),n.free(h)}else if("object"==typeof t&&"number"==typeof t.length)this.length=c(this.gl,this.type,this.length,this.usage,t,e);else{if("number"!=typeof t&&void 0!==t)throw new Error("gl-buffer: Invalid data type");if(e>=0)throw new Error("gl-buffer: Cannot specify offset when resizing buffer");(t|=0)<=0&&(t=1),this.gl.bufferData(this.type,0|t,this.usage),this.length=t}},t.exports=function(t,e,r,n){if(r=r||t.ARRAY_BUFFER,n=n||t.DYNAMIC_DRAW,r!==t.ARRAY_BUFFER&&r!==t.ELEMENT_ARRAY_BUFFER)throw new Error("gl-buffer: Invalid type for webgl buffer, must be either gl.ARRAY_BUFFER or gl.ELEMENT_ARRAY_BUFFER");if(n!==t.DYNAMIC_DRAW&&n!==t.STATIC_DRAW&&n!==t.STREAM_DRAW)throw new Error("gl-buffer: Invalid usage for buffer, must be either gl.DYNAMIC_DRAW, gl.STATIC_DRAW or gl.STREAM_DRAW");var i=t.createBuffer(),a=new s(t,r,i,0,n);return a.update(e),a}},6405:function(t,e,r){"use strict";var n=r(2931);t.exports=function(t,e){var r=t.positions,i=t.vectors,a={positions:[],vertexIntensity:[],vertexIntensityBounds:t.vertexIntensityBounds,vectors:[],cells:[],coneOffset:t.coneOffset,colormap:t.colormap};if(0===t.positions.length)return e&&(e[0]=[0,0,0],e[1]=[0,0,0]),a;for(var o=0,s=1/0,l=-1/0,c=1/0,u=-1/0,h=1/0,f=-1/0,p=null,d=null,m=[],g=1/0,y=!1,v="raw"===t.coneSizemode,x=0;xo&&(o=n.length(b)),x&&!v){var w=2*n.distance(p,_)/(n.length(d)+n.length(b));w?(g=Math.min(g,w),y=!1):y=!0}y||(p=_,d=b),m.push(b)}var T=[s,c,h],k=[l,u,f];e&&(e[0]=T,e[1]=k),0===o&&(o=1);var A=1/o;isFinite(g)||(g=1),a.vectorScale=g;var M=t.coneSize||(v?1:.5);t.absoluteConeSize&&(M=t.absoluteConeSize*A),a.coneScale=M,x=0;for(var S=0;x=1},p.isTransparent=function(){return this.opacity<1},p.pickSlots=1,p.setPickBase=function(t){this.pickId=t},p.update=function(t){t=t||{};var e=this.gl;this.dirty=!0,"lightPosition"in t&&(this.lightPosition=t.lightPosition),"opacity"in t&&(this.opacity=t.opacity),"ambient"in t&&(this.ambientLight=t.ambient),"diffuse"in t&&(this.diffuseLight=t.diffuse),"specular"in t&&(this.specularLight=t.specular),"roughness"in t&&(this.roughness=t.roughness),"fresnel"in t&&(this.fresnel=t.fresnel),void 0!==t.tubeScale&&(this.tubeScale=t.tubeScale),void 0!==t.vectorScale&&(this.vectorScale=t.vectorScale),void 0!==t.coneScale&&(this.coneScale=t.coneScale),void 0!==t.coneOffset&&(this.coneOffset=t.coneOffset),t.colormap&&(this.texture.shape=[256,256],this.texture.minFilter=e.LINEAR_MIPMAP_LINEAR,this.texture.magFilter=e.LINEAR,this.texture.setPixels(function(t){for(var e=u({colormap:t,nshades:256,format:"rgba"}),r=new Uint8Array(1024),n=0;n<256;++n){for(var i=e[n],a=0;a<3;++a)r[4*n+a]=i[a];r[4*n+3]=255*i[3]}return c(r,[256,256,4],[4,0,1])}(t.colormap)),this.texture.generateMipmap());var r=t.cells,n=t.positions,i=t.vectors;if(n&&r&&i){var a=[],o=[],s=[],l=[],h=[];this.cells=r,this.positions=n,this.vectors=i;var f=t.meshColor||[1,1,1,1],p=t.vertexIntensity,d=1/0,m=-1/0;if(p)if(t.vertexIntensityBounds)d=+t.vertexIntensityBounds[0],m=+t.vertexIntensityBounds[1];else for(var g=0;g0){var m=this.triShader;m.bind(),m.uniforms=c,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()}},p.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||h,n=t.view||h,i=t.projection||h,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s={model:r,view:n,projection:i,clipBounds:a,tubeScale:this.tubeScale,vectorScale:this.vectorScale,coneScale:this.coneScale,coneOffset:this.coneOffset,pickId:this.pickId/255},l=this.pickShader;l.bind(),l.uniforms=s,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind())},p.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions[r[1]].slice(0,3),i={position:n,dataCoordinate:n,index:Math.floor(r[1]/48)};return"cone"===this.traceType?i.index=Math.floor(r[1]/48):"streamtube"===this.traceType&&(i.intensity=this.intensity[r[1]],i.velocity=this.vectors[r[1]].slice(0,3),i.divergence=this.vectors[r[1]][3],i.index=e),i},p.dispose=function(){this.texture.dispose(),this.triShader.dispose(),this.pickShader.dispose(),this.triangleVAO.dispose(),this.trianglePositions.dispose(),this.triangleVectors.dispose(),this.triangleColors.dispose(),this.triangleUVs.dispose(),this.triangleIds.dispose()},t.exports=function(t,e,r){var s=r.shaders;1===arguments.length&&(t=(e=t).gl);var l=function(t,e){var r=n(t,e.meshShader.vertex,e.meshShader.fragment,null,e.meshShader.attributes);return r.attributes.position.location=0,r.attributes.color.location=2,r.attributes.uv.location=3,r.attributes.vector.location=4,r}(t,s),u=function(t,e){var r=n(t,e.pickShader.vertex,e.pickShader.fragment,null,e.pickShader.attributes);return r.attributes.position.location=0,r.attributes.id.location=1,r.attributes.vector.location=4,r}(t,s),h=o(t,c(new Uint8Array([255,255,255,255]),[1,1,4]));h.generateMipmap(),h.minFilter=t.LINEAR_MIPMAP_LINEAR,h.magFilter=t.LINEAR;var p=i(t),d=i(t),m=i(t),g=i(t),y=i(t),v=new f(t,h,l,u,p,d,y,m,g,a(t,[{buffer:p,type:t.FLOAT,size:4},{buffer:y,type:t.UNSIGNED_BYTE,size:4,normalized:!0},{buffer:m,type:t.FLOAT,size:4},{buffer:g,type:t.FLOAT,size:2},{buffer:d,type:t.FLOAT,size:4}]),r.traceType||"cone");return v.update(e),v}},614:function(t,e,r){var n=r(3236),i=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec3 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, coneScale, coneOffset;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * conePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(conePosition, 1.0);\n vec4 t_position = view * conePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = conePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the cone vertex and normal at the given index.\n//\n// The returned vertex is for a cone with its top at origin and height of 1.0,\n// pointing in the direction of the vector attribute.\n//\n// Each cone is made up of a top vertex, a center base vertex and base perimeter vertices.\n// These vertices are used to make up the triangles of the cone by the following:\n// segment + 0 top vertex\n// segment + 1 perimeter vertex a+1\n// segment + 2 perimeter vertex a\n// segment + 3 center base vertex\n// segment + 4 perimeter vertex a\n// segment + 5 perimeter vertex a+1\n// Where segment is the number of the radial segment * 6 and a is the angle at that radial segment.\n// To go from index to segment, floor(index / 6)\n// To go from segment to angle, 2*pi * (segment/segmentCount)\n// To go from index to segment index, index - (segment*6)\n//\nvec3 getConePosition(vec3 d, float rawIndex, float coneOffset, out vec3 normal) {\n\n const float segmentCount = 8.0;\n\n float index = rawIndex - floor(rawIndex /\n (segmentCount * 6.0)) *\n (segmentCount * 6.0);\n\n float segment = floor(0.001 + index/6.0);\n float segmentIndex = index - (segment*6.0);\n\n normal = -normalize(d);\n\n if (segmentIndex > 2.99 && segmentIndex < 3.01) {\n return mix(vec3(0.0), -d, coneOffset);\n }\n\n float nextAngle = (\n (segmentIndex > 0.99 && segmentIndex < 1.01) ||\n (segmentIndex > 4.99 && segmentIndex < 5.01)\n ) ? 1.0 : 0.0;\n float angle = 2.0 * 3.14159 * ((segment + nextAngle) / segmentCount);\n\n vec3 v1 = mix(d, vec3(0.0), coneOffset);\n vec3 v2 = v1 - d;\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d)*0.25;\n vec3 y = v * sin(angle) * length(d)*0.25;\n vec3 v3 = v2 + x + y;\n if (segmentIndex < 3.0) {\n vec3 tx = u * sin(angle);\n vec3 ty = v * -cos(angle);\n vec3 tangent = tx + ty;\n normal = normalize(cross(v3 - v1, tangent));\n }\n\n if (segmentIndex == 0.0) {\n return mix(d, vec3(0.0), coneOffset);\n }\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float vectorScale, coneScale, coneOffset;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getConePosition(mat3(model) * ((vectorScale * coneScale) * vector.xyz), position.w, coneOffset, normal);\n vec4 conePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n gl_Position = projection * (view * conePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec3"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec3"}]}},737:function(t){t.exports={0:"NONE",1:"ONE",2:"LINE_LOOP",3:"LINE_STRIP",4:"TRIANGLES",5:"TRIANGLE_STRIP",6:"TRIANGLE_FAN",256:"DEPTH_BUFFER_BIT",512:"NEVER",513:"LESS",514:"EQUAL",515:"LEQUAL",516:"GREATER",517:"NOTEQUAL",518:"GEQUAL",519:"ALWAYS",768:"SRC_COLOR",769:"ONE_MINUS_SRC_COLOR",770:"SRC_ALPHA",771:"ONE_MINUS_SRC_ALPHA",772:"DST_ALPHA",773:"ONE_MINUS_DST_ALPHA",774:"DST_COLOR",775:"ONE_MINUS_DST_COLOR",776:"SRC_ALPHA_SATURATE",1024:"STENCIL_BUFFER_BIT",1028:"FRONT",1029:"BACK",1032:"FRONT_AND_BACK",1280:"INVALID_ENUM",1281:"INVALID_VALUE",1282:"INVALID_OPERATION",1285:"OUT_OF_MEMORY",1286:"INVALID_FRAMEBUFFER_OPERATION",2304:"CW",2305:"CCW",2849:"LINE_WIDTH",2884:"CULL_FACE",2885:"CULL_FACE_MODE",2886:"FRONT_FACE",2928:"DEPTH_RANGE",2929:"DEPTH_TEST",2930:"DEPTH_WRITEMASK",2931:"DEPTH_CLEAR_VALUE",2932:"DEPTH_FUNC",2960:"STENCIL_TEST",2961:"STENCIL_CLEAR_VALUE",2962:"STENCIL_FUNC",2963:"STENCIL_VALUE_MASK",2964:"STENCIL_FAIL",2965:"STENCIL_PASS_DEPTH_FAIL",2966:"STENCIL_PASS_DEPTH_PASS",2967:"STENCIL_REF",2968:"STENCIL_WRITEMASK",2978:"VIEWPORT",3024:"DITHER",3042:"BLEND",3088:"SCISSOR_BOX",3089:"SCISSOR_TEST",3106:"COLOR_CLEAR_VALUE",3107:"COLOR_WRITEMASK",3317:"UNPACK_ALIGNMENT",3333:"PACK_ALIGNMENT",3379:"MAX_TEXTURE_SIZE",3386:"MAX_VIEWPORT_DIMS",3408:"SUBPIXEL_BITS",3410:"RED_BITS",3411:"GREEN_BITS",3412:"BLUE_BITS",3413:"ALPHA_BITS",3414:"DEPTH_BITS",3415:"STENCIL_BITS",3553:"TEXTURE_2D",4352:"DONT_CARE",4353:"FASTEST",4354:"NICEST",5120:"BYTE",5121:"UNSIGNED_BYTE",5122:"SHORT",5123:"UNSIGNED_SHORT",5124:"INT",5125:"UNSIGNED_INT",5126:"FLOAT",5386:"INVERT",5890:"TEXTURE",6401:"STENCIL_INDEX",6402:"DEPTH_COMPONENT",6406:"ALPHA",6407:"RGB",6408:"RGBA",6409:"LUMINANCE",6410:"LUMINANCE_ALPHA",7680:"KEEP",7681:"REPLACE",7682:"INCR",7683:"DECR",7936:"VENDOR",7937:"RENDERER",7938:"VERSION",9728:"NEAREST",9729:"LINEAR",9984:"NEAREST_MIPMAP_NEAREST",9985:"LINEAR_MIPMAP_NEAREST",9986:"NEAREST_MIPMAP_LINEAR",9987:"LINEAR_MIPMAP_LINEAR",10240:"TEXTURE_MAG_FILTER",10241:"TEXTURE_MIN_FILTER",10242:"TEXTURE_WRAP_S",10243:"TEXTURE_WRAP_T",10497:"REPEAT",10752:"POLYGON_OFFSET_UNITS",16384:"COLOR_BUFFER_BIT",32769:"CONSTANT_COLOR",32770:"ONE_MINUS_CONSTANT_COLOR",32771:"CONSTANT_ALPHA",32772:"ONE_MINUS_CONSTANT_ALPHA",32773:"BLEND_COLOR",32774:"FUNC_ADD",32777:"BLEND_EQUATION_RGB",32778:"FUNC_SUBTRACT",32779:"FUNC_REVERSE_SUBTRACT",32819:"UNSIGNED_SHORT_4_4_4_4",32820:"UNSIGNED_SHORT_5_5_5_1",32823:"POLYGON_OFFSET_FILL",32824:"POLYGON_OFFSET_FACTOR",32854:"RGBA4",32855:"RGB5_A1",32873:"TEXTURE_BINDING_2D",32926:"SAMPLE_ALPHA_TO_COVERAGE",32928:"SAMPLE_COVERAGE",32936:"SAMPLE_BUFFERS",32937:"SAMPLES",32938:"SAMPLE_COVERAGE_VALUE",32939:"SAMPLE_COVERAGE_INVERT",32968:"BLEND_DST_RGB",32969:"BLEND_SRC_RGB",32970:"BLEND_DST_ALPHA",32971:"BLEND_SRC_ALPHA",33071:"CLAMP_TO_EDGE",33170:"GENERATE_MIPMAP_HINT",33189:"DEPTH_COMPONENT16",33306:"DEPTH_STENCIL_ATTACHMENT",33635:"UNSIGNED_SHORT_5_6_5",33648:"MIRRORED_REPEAT",33901:"ALIASED_POINT_SIZE_RANGE",33902:"ALIASED_LINE_WIDTH_RANGE",33984:"TEXTURE0",33985:"TEXTURE1",33986:"TEXTURE2",33987:"TEXTURE3",33988:"TEXTURE4",33989:"TEXTURE5",33990:"TEXTURE6",33991:"TEXTURE7",33992:"TEXTURE8",33993:"TEXTURE9",33994:"TEXTURE10",33995:"TEXTURE11",33996:"TEXTURE12",33997:"TEXTURE13",33998:"TEXTURE14",33999:"TEXTURE15",34e3:"TEXTURE16",34001:"TEXTURE17",34002:"TEXTURE18",34003:"TEXTURE19",34004:"TEXTURE20",34005:"TEXTURE21",34006:"TEXTURE22",34007:"TEXTURE23",34008:"TEXTURE24",34009:"TEXTURE25",34010:"TEXTURE26",34011:"TEXTURE27",34012:"TEXTURE28",34013:"TEXTURE29",34014:"TEXTURE30",34015:"TEXTURE31",34016:"ACTIVE_TEXTURE",34024:"MAX_RENDERBUFFER_SIZE",34041:"DEPTH_STENCIL",34055:"INCR_WRAP",34056:"DECR_WRAP",34067:"TEXTURE_CUBE_MAP",34068:"TEXTURE_BINDING_CUBE_MAP",34069:"TEXTURE_CUBE_MAP_POSITIVE_X",34070:"TEXTURE_CUBE_MAP_NEGATIVE_X",34071:"TEXTURE_CUBE_MAP_POSITIVE_Y",34072:"TEXTURE_CUBE_MAP_NEGATIVE_Y",34073:"TEXTURE_CUBE_MAP_POSITIVE_Z",34074:"TEXTURE_CUBE_MAP_NEGATIVE_Z",34076:"MAX_CUBE_MAP_TEXTURE_SIZE",34338:"VERTEX_ATTRIB_ARRAY_ENABLED",34339:"VERTEX_ATTRIB_ARRAY_SIZE",34340:"VERTEX_ATTRIB_ARRAY_STRIDE",34341:"VERTEX_ATTRIB_ARRAY_TYPE",34342:"CURRENT_VERTEX_ATTRIB",34373:"VERTEX_ATTRIB_ARRAY_POINTER",34466:"NUM_COMPRESSED_TEXTURE_FORMATS",34467:"COMPRESSED_TEXTURE_FORMATS",34660:"BUFFER_SIZE",34661:"BUFFER_USAGE",34816:"STENCIL_BACK_FUNC",34817:"STENCIL_BACK_FAIL",34818:"STENCIL_BACK_PASS_DEPTH_FAIL",34819:"STENCIL_BACK_PASS_DEPTH_PASS",34877:"BLEND_EQUATION_ALPHA",34921:"MAX_VERTEX_ATTRIBS",34922:"VERTEX_ATTRIB_ARRAY_NORMALIZED",34930:"MAX_TEXTURE_IMAGE_UNITS",34962:"ARRAY_BUFFER",34963:"ELEMENT_ARRAY_BUFFER",34964:"ARRAY_BUFFER_BINDING",34965:"ELEMENT_ARRAY_BUFFER_BINDING",34975:"VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",35040:"STREAM_DRAW",35044:"STATIC_DRAW",35048:"DYNAMIC_DRAW",35632:"FRAGMENT_SHADER",35633:"VERTEX_SHADER",35660:"MAX_VERTEX_TEXTURE_IMAGE_UNITS",35661:"MAX_COMBINED_TEXTURE_IMAGE_UNITS",35663:"SHADER_TYPE",35664:"FLOAT_VEC2",35665:"FLOAT_VEC3",35666:"FLOAT_VEC4",35667:"INT_VEC2",35668:"INT_VEC3",35669:"INT_VEC4",35670:"BOOL",35671:"BOOL_VEC2",35672:"BOOL_VEC3",35673:"BOOL_VEC4",35674:"FLOAT_MAT2",35675:"FLOAT_MAT3",35676:"FLOAT_MAT4",35678:"SAMPLER_2D",35680:"SAMPLER_CUBE",35712:"DELETE_STATUS",35713:"COMPILE_STATUS",35714:"LINK_STATUS",35715:"VALIDATE_STATUS",35716:"INFO_LOG_LENGTH",35717:"ATTACHED_SHADERS",35718:"ACTIVE_UNIFORMS",35719:"ACTIVE_UNIFORM_MAX_LENGTH",35720:"SHADER_SOURCE_LENGTH",35721:"ACTIVE_ATTRIBUTES",35722:"ACTIVE_ATTRIBUTE_MAX_LENGTH",35724:"SHADING_LANGUAGE_VERSION",35725:"CURRENT_PROGRAM",36003:"STENCIL_BACK_REF",36004:"STENCIL_BACK_VALUE_MASK",36005:"STENCIL_BACK_WRITEMASK",36006:"FRAMEBUFFER_BINDING",36007:"RENDERBUFFER_BINDING",36048:"FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",36049:"FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",36050:"FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",36051:"FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",36053:"FRAMEBUFFER_COMPLETE",36054:"FRAMEBUFFER_INCOMPLETE_ATTACHMENT",36055:"FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",36057:"FRAMEBUFFER_INCOMPLETE_DIMENSIONS",36061:"FRAMEBUFFER_UNSUPPORTED",36064:"COLOR_ATTACHMENT0",36096:"DEPTH_ATTACHMENT",36128:"STENCIL_ATTACHMENT",36160:"FRAMEBUFFER",36161:"RENDERBUFFER",36162:"RENDERBUFFER_WIDTH",36163:"RENDERBUFFER_HEIGHT",36164:"RENDERBUFFER_INTERNAL_FORMAT",36168:"STENCIL_INDEX8",36176:"RENDERBUFFER_RED_SIZE",36177:"RENDERBUFFER_GREEN_SIZE",36178:"RENDERBUFFER_BLUE_SIZE",36179:"RENDERBUFFER_ALPHA_SIZE",36180:"RENDERBUFFER_DEPTH_SIZE",36181:"RENDERBUFFER_STENCIL_SIZE",36194:"RGB565",36336:"LOW_FLOAT",36337:"MEDIUM_FLOAT",36338:"HIGH_FLOAT",36339:"LOW_INT",36340:"MEDIUM_INT",36341:"HIGH_INT",36346:"SHADER_COMPILER",36347:"MAX_VERTEX_UNIFORM_VECTORS",36348:"MAX_VARYING_VECTORS",36349:"MAX_FRAGMENT_UNIFORM_VECTORS",37440:"UNPACK_FLIP_Y_WEBGL",37441:"UNPACK_PREMULTIPLY_ALPHA_WEBGL",37442:"CONTEXT_LOST_WEBGL",37443:"UNPACK_COLORSPACE_CONVERSION_WEBGL",37444:"BROWSER_DEFAULT_WEBGL"}},5171:function(t,e,r){var n=r(737);t.exports=function(t){return n[t]}},9165:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=n(e),o=i(e,[{buffer:r,type:e.FLOAT,size:3,offset:0,stride:40},{buffer:r,type:e.FLOAT,size:4,offset:12,stride:40},{buffer:r,type:e.FLOAT,size:3,offset:28,stride:40}]),l=a(e);l.attributes.position.location=0,l.attributes.color.location=1,l.attributes.offset.location=2;var c=new s(e,r,o,l);return c.update(t),c};var n=r(2762),i=r(8116),a=r(3436),o=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function s(t,e,r,n){this.gl=t,this.shader=n,this.buffer=e,this.vao=r,this.pixelRatio=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lineWidth=[1,1,1],this.capSize=[10,10,10],this.lineCount=[0,0,0],this.lineOffset=[0,0,0],this.opacity=1,this.hasAlpha=!1}var l=s.prototype;function c(t,e){for(var r=0;r<3;++r)t[0][r]=Math.min(t[0][r],e[r]),t[1][r]=Math.max(t[1][r],e[r])}l.isOpaque=function(){return!this.hasAlpha},l.isTransparent=function(){return this.hasAlpha},l.drawTransparent=l.draw=function(t){var e=this.gl,r=this.shader.uniforms;this.shader.bind();var n=r.view=t.view||o,i=r.projection=t.projection||o;r.model=t.model||o,r.clipBounds=this.clipBounds,r.opacity=this.opacity;var a=n[12],s=n[13],l=n[14],c=n[15],u=(t._ortho?2:1)*this.pixelRatio*(i[3]*a+i[7]*s+i[11]*l+i[15]*c)/e.drawingBufferHeight;this.vao.bind();for(var h=0;h<3;++h)e.lineWidth(this.lineWidth[h]*this.pixelRatio),r.capSize=this.capSize[h]*u,this.lineCount[h]&&e.drawArrays(e.LINES,this.lineOffset[h],this.lineCount[h]);this.vao.unbind()};var u=function(){for(var t=new Array(3),e=0;e<3;++e){for(var r=[],n=1;n<=2;++n)for(var i=-1;i<=1;i+=2){var a=[0,0,0];a[(n+e)%3]=i,r.push(a)}t[e]=r}return t}();function h(t,e,r,n){for(var i=u[n],a=0;a0&&((p=u.slice())[s]+=d[1][s],i.push(u[0],u[1],u[2],m[0],m[1],m[2],m[3],0,0,0,p[0],p[1],p[2],m[0],m[1],m[2],m[3],0,0,0),c(this.bounds,p),o+=2+h(i,p,m,s))}this.lineCount[s]=o-this.lineOffset[s]}this.buffer.update(i)}},l.dispose=function(){this.shader.dispose(),this.buffer.dispose(),this.vao.dispose()}},3436:function(t,e,r){"use strict";var n=r(3236),i=r(9405),a=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, offset;\nattribute vec4 color;\nuniform mat4 model, view, projection;\nuniform float capSize;\nvarying vec4 fragColor;\nvarying vec3 fragPosition;\n\nvoid main() {\n vec4 worldPosition = model * vec4(position, 1.0);\n worldPosition = (worldPosition / worldPosition.w) + vec4(capSize * offset, 0.0);\n gl_Position = projection * (view * worldPosition);\n fragColor = color;\n fragPosition = position;\n}"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float opacity;\nvarying vec3 fragPosition;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], fragPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n gl_FragColor = opacity * fragColor;\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"offset",type:"vec3"}])}},2260:function(t,e,r){"use strict";var n=r(7766);t.exports=function(t,e,r,n){i||(i=t.FRAMEBUFFER_UNSUPPORTED,a=t.FRAMEBUFFER_INCOMPLETE_ATTACHMENT,o=t.FRAMEBUFFER_INCOMPLETE_DIMENSIONS,s=t.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);var c=t.getExtension("WEBGL_draw_buffers");if(!l&&c&&function(t,e){var r=t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL);l=new Array(r+1);for(var n=0;n<=r;++n){for(var i=new Array(r),a=0;au||r<0||r>u)throw new Error("gl-fbo: Parameters are too large for FBO");var h=1;if("color"in(n=n||{})){if((h=Math.max(0|n.color,0))<0)throw new Error("gl-fbo: Must specify a nonnegative number of colors");if(h>1){if(!c)throw new Error("gl-fbo: Multiple draw buffer extension not supported");if(h>t.getParameter(c.MAX_COLOR_ATTACHMENTS_WEBGL))throw new Error("gl-fbo: Context does not support "+h+" draw buffers")}}var f=t.UNSIGNED_BYTE,p=t.getExtension("OES_texture_float");if(n.float&&h>0){if(!p)throw new Error("gl-fbo: Context does not support floating point textures");f=t.FLOAT}else n.preferFloat&&h>0&&p&&(f=t.FLOAT);var m=!0;"depth"in n&&(m=!!n.depth);var g=!1;return"stencil"in n&&(g=!!n.stencil),new d(t,e,r,f,h,m,g,c)};var i,a,o,s,l=null;function c(t){return[t.getParameter(t.FRAMEBUFFER_BINDING),t.getParameter(t.RENDERBUFFER_BINDING),t.getParameter(t.TEXTURE_BINDING_2D)]}function u(t,e){t.bindFramebuffer(t.FRAMEBUFFER,e[0]),t.bindRenderbuffer(t.RENDERBUFFER,e[1]),t.bindTexture(t.TEXTURE_2D,e[2])}function h(t){switch(t){case i:throw new Error("gl-fbo: Framebuffer unsupported");case a:throw new Error("gl-fbo: Framebuffer incomplete attachment");case o:throw new Error("gl-fbo: Framebuffer incomplete dimensions");case s:throw new Error("gl-fbo: Framebuffer incomplete missing attachment");default:throw new Error("gl-fbo: Framebuffer failed for unspecified reason")}}function f(t,e,r,i,a,o){if(!i)return null;var s=n(t,e,r,a,i);return s.magFilter=t.NEAREST,s.minFilter=t.NEAREST,s.mipSamples=1,s.bind(),t.framebufferTexture2D(t.FRAMEBUFFER,o,t.TEXTURE_2D,s.handle,0),s}function p(t,e,r,n,i){var a=t.createRenderbuffer();return t.bindRenderbuffer(t.RENDERBUFFER,a),t.renderbufferStorage(t.RENDERBUFFER,n,e,r),t.framebufferRenderbuffer(t.FRAMEBUFFER,i,t.RENDERBUFFER,a),a}function d(t,e,r,n,i,a,o,s){this.gl=t,this._shape=[0|e,0|r],this._destroyed=!1,this._ext=s,this.color=new Array(i);for(var d=0;d1&&s.drawBuffersWEBGL(l[o]);var v=r.getExtension("WEBGL_depth_texture");v?d?t.depth=f(r,i,a,v.UNSIGNED_INT_24_8_WEBGL,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m&&(t.depth=f(r,i,a,r.UNSIGNED_SHORT,r.DEPTH_COMPONENT,r.DEPTH_ATTACHMENT)):m&&d?t._depth_rb=p(r,i,a,r.DEPTH_STENCIL,r.DEPTH_STENCIL_ATTACHMENT):m?t._depth_rb=p(r,i,a,r.DEPTH_COMPONENT16,r.DEPTH_ATTACHMENT):d&&(t._depth_rb=p(r,i,a,r.STENCIL_INDEX,r.STENCIL_ATTACHMENT));var x=r.checkFramebufferStatus(r.FRAMEBUFFER);if(x!==r.FRAMEBUFFER_COMPLETE){for(t._destroyed=!0,r.bindFramebuffer(r.FRAMEBUFFER,null),r.deleteFramebuffer(t.handle),t.handle=null,t.depth&&(t.depth.dispose(),t.depth=null),t._depth_rb&&(r.deleteRenderbuffer(t._depth_rb),t._depth_rb=null),y=0;yi||r<0||r>i)throw new Error("gl-fbo: Can't resize FBO, invalid dimensions");t._shape[0]=e,t._shape[1]=r;for(var a=c(n),o=0;o>8*p&255;this.pickOffset=r,i.bind();var d=i.uniforms;d.viewTransform=t,d.pickOffset=e,d.shape=this.shape;var m=i.attributes;return this.positionBuffer.bind(),m.position.pointer(),this.weightBuffer.bind(),m.weight.pointer(s.UNSIGNED_BYTE,!1),this.idBuffer.bind(),m.pickId.pointer(s.UNSIGNED_BYTE,!1),s.drawArrays(s.TRIANGLES,0,o),r+this.shape[0]*this.shape[1]}}}(),h.pick=function(t,e,r){var n=this.pickOffset,i=this.shape[0]*this.shape[1];if(r=n+i)return null;var a=r-n,o=this.xData,s=this.yData;return{object:this,pointId:a,dataCoord:[o[a%this.shape[0]],s[a/this.shape[0]|0]]}},h.update=function(t){var e=(t=t||{}).shape||[0,0],r=t.x||i(e[0]),o=t.y||i(e[1]),s=t.z||new Float32Array(e[0]*e[1]),l=!1!==t.zsmooth;this.xData=r,this.yData=o;var c,u,h,p,d=t.colorLevels||[0],m=t.colorValues||[0,0,0,1],g=d.length,y=this.bounds;l?(c=y[0]=r[0],u=y[1]=o[0],h=y[2]=r[r.length-1],p=y[3]=o[o.length-1]):(c=y[0]=r[0]+(r[1]-r[0])/2,u=y[1]=o[0]+(o[1]-o[0])/2,h=y[2]=r[r.length-1]+(r[r.length-1]-r[r.length-2])/2,p=y[3]=o[o.length-1]+(o[o.length-1]-o[o.length-2])/2);var v=1/(h-c),x=1/(p-u),_=e[0],b=e[1];this.shape=[_,b];var w=(l?(_-1)*(b-1):_*b)*(f.length>>>1);this.numVertices=w;for(var T=a.mallocUint8(4*w),k=a.mallocFloat32(2*w),A=a.mallocUint8(2*w),M=a.mallocUint32(w),S=0,E=l?_-1:_,C=l?b-1:b,L=0;L max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D dashTexture;\nuniform float dashScale;\nuniform float opacity;\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (\n outOfRange(clipBounds[0], clipBounds[1], worldPosition) ||\n fragColor.a * opacity == 0.\n ) discard;\n\n float dashWeight = texture2D(dashTexture, vec2(dashScale * pixelArcLength, 0)).r;\n if(dashWeight < 0.5) {\n discard;\n }\n gl_FragColor = fragColor * opacity;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\n#define FLOAT_MAX 1.70141184e38\n#define FLOAT_MIN 1.17549435e-38\n\n// https://github.com/mikolalysenko/glsl-read-float/blob/master/index.glsl\nvec4 packFloat(float v) {\n float av = abs(v);\n\n //Handle special cases\n if(av < FLOAT_MIN) {\n return vec4(0.0, 0.0, 0.0, 0.0);\n } else if(v > FLOAT_MAX) {\n return vec4(127.0, 128.0, 0.0, 0.0) / 255.0;\n } else if(v < -FLOAT_MAX) {\n return vec4(255.0, 128.0, 0.0, 0.0) / 255.0;\n }\n\n vec4 c = vec4(0,0,0,0);\n\n //Compute exponent and mantissa\n float e = floor(log2(av));\n float m = av * pow(2.0, -e) - 1.0;\n\n //Unpack mantissa\n c[1] = floor(128.0 * m);\n m -= c[1] / 128.0;\n c[2] = floor(32768.0 * m);\n m -= c[2] / 32768.0;\n c[3] = floor(8388608.0 * m);\n\n //Unpack exponent\n float ebias = e + 127.0;\n c[0] = floor(ebias / 2.0);\n ebias -= c[0] * 2.0;\n c[1] += floor(ebias) * 128.0;\n\n //Unpack sign bit\n c[0] += 128.0 * step(0.0, -v);\n\n //Scale back to range\n return c / 255.0;\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform float pickId;\nuniform vec3 clipBounds[2];\n\nvarying vec3 worldPosition;\nvarying float pixelArcLength;\nvarying vec4 fragColor;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], worldPosition)) discard;\n\n gl_FragColor = vec4(pickId/255.0, packFloat(pixelArcLength).xyz);\n}"]),l=[{name:"position",type:"vec3"},{name:"nextPosition",type:"vec3"},{name:"arcLength",type:"float"},{name:"lineWidth",type:"float"},{name:"color",type:"vec4"}];e.createShader=function(t){return i(t,a,o,null,l)},e.createPickShader=function(t){return i(t,a,s,null,l)}},5714:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl||t.scene&&t.scene.gl,r=h(e);r.attributes.position.location=0,r.attributes.nextPosition.location=1,r.attributes.arcLength.location=2,r.attributes.lineWidth.location=3,r.attributes.color.location=4;var o=f(e);o.attributes.position.location=0,o.attributes.nextPosition.location=1,o.attributes.arcLength.location=2,o.attributes.lineWidth.location=3,o.attributes.color.location=4;for(var s=n(e),l=i(e,[{buffer:s,size:3,offset:0,stride:48},{buffer:s,size:3,offset:12,stride:48},{buffer:s,size:1,offset:24,stride:48},{buffer:s,size:1,offset:28,stride:48},{buffer:s,size:4,offset:32,stride:48}]),u=c(new Array(1024),[256,1,4]),p=0;p<1024;++p)u.data[p]=255;var d=a(e,u);d.wrap=e.REPEAT;var m=new y(e,r,o,s,l,d);return m.update(t),m};var n=r(2762),i=r(8116),a=r(7766),o=new Uint8Array(4),s=new Float32Array(o.buffer),l=r(2478),c=r(9618),u=r(7319),h=u.createShader,f=u.createPickShader,p=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function d(t,e){for(var r=0,n=0;n<3;++n){var i=t[n]-e[n];r+=i*i}return Math.sqrt(r)}function m(t){for(var e=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],r=0;r<3;++r)e[0][r]=Math.max(t[0][r],e[0][r]),e[1][r]=Math.min(t[1][r],e[1][r]);return e}function g(t,e,r,n){this.arcLength=t,this.position=e,this.index=r,this.dataCoordinate=n}function y(t,e,r,n,i,a){this.gl=t,this.shader=e,this.pickShader=r,this.buffer=n,this.vao=i,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.points=[],this.arcLength=[],this.vertexCount=0,this.bounds=[[0,0,0],[0,0,0]],this.pickId=0,this.lineWidth=1,this.texture=a,this.dashScale=1,this.opacity=1,this.hasAlpha=!1,this.dirty=!0,this.pixelRatio=1}var v=y.prototype;v.isTransparent=function(){return this.hasAlpha},v.isOpaque=function(){return!this.hasAlpha},v.pickSlots=1,v.setPickBase=function(t){this.pickId=t},v.drawTransparent=v.draw=function(t){if(this.vertexCount){var e=this.gl,r=this.shader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,clipBounds:m(this.clipBounds),dashTexture:this.texture.bind(),dashScale:this.dashScale/this.arcLength[this.arcLength.length-1],opacity:this.opacity,screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},v.drawPick=function(t){if(this.vertexCount){var e=this.gl,r=this.pickShader,n=this.vao;r.bind(),r.uniforms={model:t.model||p,view:t.view||p,projection:t.projection||p,pickId:this.pickId,clipBounds:m(this.clipBounds),screenShape:[e.drawingBufferWidth,e.drawingBufferHeight],pixelRatio:this.pixelRatio},n.bind(),n.draw(e.TRIANGLE_STRIP,this.vertexCount),n.unbind()}},v.update=function(t){var e,r;this.dirty=!0;var n=!!t.connectGaps;"dashScale"in t&&(this.dashScale=t.dashScale),this.hasAlpha=!1,"opacity"in t&&(this.opacity=+t.opacity,this.opacity<1&&(this.hasAlpha=!0));var i=[],a=[],o=[],s=0,u=0,h=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],f=t.position||t.positions;if(f){var p=t.color||t.colors||[0,0,0,1],m=t.lineWidth||1,g=!1;t:for(e=1;e0){for(var w=0;w<24;++w)i.push(i[i.length-12]);u+=2,g=!0}continue t}h[0][r]=Math.min(h[0][r],_[r],b[r]),h[1][r]=Math.max(h[1][r],_[r],b[r])}Array.isArray(p[0])?(y=p.length>e-1?p[e-1]:p.length>0?p[p.length-1]:[0,0,0,1],v=p.length>e?p[e]:p.length>0?p[p.length-1]:[0,0,0,1]):y=v=p,3===y.length&&(y=[y[0],y[1],y[2],1]),3===v.length&&(v=[v[0],v[1],v[2],1]),!this.hasAlpha&&y[3]<1&&(this.hasAlpha=!0),x=Array.isArray(m)?m.length>e-1?m[e-1]:m.length>0?m[m.length-1]:[0,0,0,1]:m;var T=s;if(s+=d(_,b),g){for(r=0;r<2;++r)i.push(_[0],_[1],_[2],b[0],b[1],b[2],T,x,y[0],y[1],y[2],y[3]);u+=2,g=!1}i.push(_[0],_[1],_[2],b[0],b[1],b[2],T,x,y[0],y[1],y[2],y[3],_[0],_[1],_[2],b[0],b[1],b[2],T,-x,y[0],y[1],y[2],y[3],b[0],b[1],b[2],_[0],_[1],_[2],s,-x,v[0],v[1],v[2],v[3],b[0],b[1],b[2],_[0],_[1],_[2],s,x,v[0],v[1],v[2],v[3]),u+=4}}if(this.buffer.update(i),a.push(s),o.push(f[f.length-1].slice()),this.bounds=h,this.vertexCount=u,this.points=o,this.arcLength=a,"dashes"in t){var k=t.dashes.slice();for(k.unshift(0),e=1;e1.0001)return null;y+=g[h]}return Math.abs(y-1)>.001?null:[f,s(t,g),g]}},840:function(t,e,r){var n=r(3236),i=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position, normal;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model\n , view\n , projection\n , inverseModel;\nuniform vec3 eyePosition\n , lightPosition;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvec4 project(vec3 p) {\n return projection * (view * (model * vec4(p, 1.0)));\n}\n\nvoid main() {\n gl_Position = project(position);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * vec4(position , 1.0);\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n f_color = color;\n f_data = position;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\n//#pragma glslify: beckmann = require(glsl-specular-beckmann) // used in gl-surface3d\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness\n , fresnel\n , kambient\n , kdiffuse\n , kspecular;\nuniform sampler2D texture;\n\nvarying vec3 f_normal\n , f_lightDirection\n , f_eyeDirection\n , f_data;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (f_color.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], f_data)\n ) discard;\n\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n //float specular = max(0.0, beckmann(L, V, N, roughness)); // used in gl-surface3d\n\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = vec4(f_color.rgb, 1.0) * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * f_color.a;\n}\n"]),o=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\n\nuniform mat4 model, view, projection;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_color = color;\n f_data = position;\n f_uv = uv;\n}"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec3 f_data;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_data)) discard;\n\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),l=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 uv;\nattribute float pointSize;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0 ,0.0 ,0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n }\n gl_PointSize = pointSize;\n f_color = color;\n f_uv = uv;\n}"]),c=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform sampler2D texture;\nuniform float opacity;\n\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n vec2 pointR = gl_PointCoord.xy - vec2(0.5, 0.5);\n if(dot(pointR, pointR) > 0.25) {\n discard;\n }\n gl_FragColor = f_color * texture2D(texture, f_uv) * opacity;\n}"]),u=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n f_id = id;\n f_position = position;\n}"]),h=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]),f=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute float pointSize;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0.0, 0.0, 0.0, 0.0);\n } else {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n gl_PointSize = pointSize;\n }\n f_id = id;\n f_position = position;\n}"]),p=n(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec3 position;\n\nuniform mat4 model, view, projection;\n\nvoid main() {\n gl_Position = projection * (view * (model * vec4(position, 1.0)));\n}"]),d=n(["precision highp float;\n#define GLSLIFY 1\n\nuniform vec3 contourColor;\n\nvoid main() {\n gl_FragColor = vec4(contourColor, 1.0);\n}\n"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec3"},{name:"normal",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.wireShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"}]},e.pointShader={vertex:l,fragment:c,attributes:[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"pointSize",type:"float"}]},e.pickShader={vertex:u,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"id",type:"vec4"}]},e.pointPickShader={vertex:f,fragment:h,attributes:[{name:"position",type:"vec3"},{name:"pointSize",type:"float"},{name:"id",type:"vec4"}]},e.contourShader={vertex:p,fragment:d,attributes:[{name:"position",type:"vec3"}]}},7201:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(8116),o=r(7766),s=r(8406),l=r(6760),c=r(7608),u=r(9618),h=r(6729),f=r(7765),p=r(1888),d=r(840),m=r(7626),g=d.meshShader,y=d.wireShader,v=d.pointShader,x=d.pickShader,_=d.pointPickShader,b=d.contourShader,w=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1];function T(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,T,k,A,M,S){this.gl=t,this.pixelRatio=1,this.cells=[],this.positions=[],this.intensity=[],this.texture=e,this.dirty=!0,this.triShader=r,this.lineShader=n,this.pointShader=i,this.pickShader=a,this.pointPickShader=o,this.contourShader=s,this.trianglePositions=l,this.triangleColors=u,this.triangleNormals=f,this.triangleUVs=h,this.triangleIds=c,this.triangleVAO=p,this.triangleCount=0,this.lineWidth=1,this.edgePositions=d,this.edgeColors=g,this.edgeUVs=y,this.edgeIds=m,this.edgeVAO=v,this.edgeCount=0,this.pointPositions=x,this.pointColors=b,this.pointUVs=T,this.pointSizes=k,this.pointIds=_,this.pointVAO=A,this.pointCount=0,this.contourLineWidth=1,this.contourPositions=M,this.contourVAO=S,this.contourCount=0,this.contourColor=[0,0,0],this.contourEnable=!0,this.pickVertex=!0,this.pickId=1,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.lightPosition=[1e5,1e5,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.opacity=1,this.hasAlpha=!1,this.opacityscale=!1,this._model=w,this._view=w,this._projection=w,this._resolution=[1,1]}var k=T.prototype;function A(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}function M(t){var e=n(t,v.vertex,v.fragment);return e.attributes.position.location=0,e.attributes.color.location=2,e.attributes.uv.location=3,e.attributes.pointSize.location=4,e}function S(t){var e=n(t,x.vertex,x.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e}function E(t){var e=n(t,_.vertex,_.fragment);return e.attributes.position.location=0,e.attributes.id.location=1,e.attributes.pointSize.location=4,e}function C(t){var e=n(t,b.vertex,b.fragment);return e.attributes.position.location=0,e}k.isOpaque=function(){return!this.hasAlpha},k.isTransparent=function(){return this.hasAlpha},k.pickSlots=1,k.setPickBase=function(t){this.pickId=t},k.highlight=function(t){if(t&&this.contourEnable){for(var e=f(this.cells,this.intensity,t.intensity),r=e.cells,n=e.vertexIds,i=e.vertexWeights,a=r.length,o=p.mallocFloat32(6*a),s=0,l=0;l0&&((h=this.triShader).bind(),h.uniforms=s,this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&this.lineWidth>0&&((h=this.lineShader).bind(),h.uniforms=s,this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((h=this.pointShader).bind(),h.uniforms=s,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind()),this.contourEnable&&this.contourCount>0&&this.contourLineWidth>0&&((h=this.contourShader).bind(),h.uniforms=s,this.contourVAO.bind(),e.drawArrays(e.LINES,0,this.contourCount),this.contourVAO.unbind())},k.drawPick=function(t){t=t||{};for(var e=this.gl,r=t.model||w,n=t.view||w,i=t.projection||w,a=[[-1e6,-1e6,-1e6],[1e6,1e6,1e6]],o=0;o<3;++o)a[0][o]=Math.max(a[0][o],this.clipBounds[0][o]),a[1][o]=Math.min(a[1][o],this.clipBounds[1][o]);this._model=[].slice.call(r),this._view=[].slice.call(n),this._projection=[].slice.call(i),this._resolution=[e.drawingBufferWidth,e.drawingBufferHeight];var s,l={model:r,view:n,projection:i,clipBounds:a,pickId:this.pickId/255};(s=this.pickShader).bind(),s.uniforms=l,this.triangleCount>0&&(this.triangleVAO.bind(),e.drawArrays(e.TRIANGLES,0,3*this.triangleCount),this.triangleVAO.unbind()),this.edgeCount>0&&(this.edgeVAO.bind(),e.lineWidth(this.lineWidth*this.pixelRatio),e.drawArrays(e.LINES,0,2*this.edgeCount),this.edgeVAO.unbind()),this.pointCount>0&&((s=this.pointPickShader).bind(),s.uniforms=l,this.pointVAO.bind(),e.drawArrays(e.POINTS,0,this.pointCount),this.pointVAO.unbind())},k.pick=function(t){if(!t)return null;if(t.id!==this.pickId)return null;for(var e=t.value[0]+256*t.value[1]+65536*t.value[2],r=this.cells[e],n=this.positions,i=new Array(r.length),a=0;ai[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=g[t],r.uniforms.angle=y[t],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),v[t]&&T&&(u[1^t]-=M*p*x[t],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=_[t],r.uniforms.angle=b[t],a.drawArrays(a.TRIANGLES,w,T)),u[1^t]=M*s[2+(1^t)]-1,d[t+2]&&(u[1^t]+=M*p*m[t+2],ki[k]&&(r.uniforms.dataAxis=c,r.uniforms.screenOffset=u,r.uniforms.color=g[t+2],r.uniforms.angle=y[t+2],a.drawArrays(a.TRIANGLES,i[k],i[A]-i[k]))),v[t+2]&&T&&(u[1^t]+=M*p*x[t+2],r.uniforms.dataAxis=h,r.uniforms.screenOffset=u,r.uniforms.color=_[t+2],r.uniforms.angle=b[t+2],a.drawArrays(a.TRIANGLES,w,T))}),m.drawTitle=function(){var t=[0,0],e=[0,0];return function(){var r=this.plot,n=this.shader,i=r.gl,a=r.screenBox,o=r.titleCenter,s=r.titleAngle,l=r.titleColor,c=r.pixelRatio;if(this.titleCount){for(var u=0;u<2;++u)e[u]=2*(o[u]*c-a[u])/(a[2+u]-a[u])-1;n.bind(),n.uniforms.dataAxis=t,n.uniforms.screenOffset=e,n.uniforms.angle=s,n.uniforms.color=l,i.drawArrays(i.TRIANGLES,this.titleOffset,this.titleCount)}}}(),m.bind=(f=[0,0],p=[0,0],d=[0,0],function(){var t=this.plot,e=this.shader,r=t._tickBounds,n=t.dataBox,i=t.screenBox,a=t.viewBox;e.bind();for(var o=0;o<2;++o){var s=r[o],l=r[o+2]-s,c=.5*(n[o+2]+n[o]),u=n[o+2]-n[o],h=a[o],m=a[o+2]-h,g=i[o],y=i[o+2]-g;p[o]=2*l/u*m/y,f[o]=2*(s-c)/u*m/y}d[1]=2*t.pixelRatio/(i[3]-i[1]),d[0]=d[1]*(i[3]-i[1])/(i[2]-i[0]),e.uniforms.dataScale=p,e.uniforms.dataShift=f,e.uniforms.textScale=d,this.vbo.bind(),e.attributes.textCoordinate.pointer()}),m.update=function(t){var e,r,n,i,o,s=[],l=t.ticks,c=t.bounds;for(o=0;o<2;++o){var u=[Math.floor(s.length/3)],h=[-1/0],f=l[o];for(e=0;e=0){var m=e[d]-n[d]*(e[d+2]-e[d])/(n[d+2]-n[d]);0===d?o.drawLine(m,e[1],m,e[3],p[d],f[d]):o.drawLine(e[0],m,e[2],m,p[d],f[d])}}for(d=0;d=0;--t)this.objects[t].dispose();for(this.objects.length=0,t=this.overlays.length-1;t>=0;--t)this.overlays[t].dispose();this.overlays.length=0,this.gl=null},c.addObject=function(t){this.objects.indexOf(t)<0&&(this.objects.push(t),this.setDirty())},c.removeObject=function(t){for(var e=this.objects,r=0;rMath.abs(e))c.rotate(a,0,0,-t*r*Math.PI*d.rotateSpeed/window.innerWidth);else if(!d._ortho){var o=-d.zoomSpeed*i*e/window.innerHeight*(a-c.lastT())/20;c.pan(a,0,0,h*(Math.exp(o)-1))}}}),!0)},d.enableMouseListeners(),d};var n=r(3025),i=r(6296),a=r(351),o=r(8512),s=r(24),l=r(7520)},799:function(t,e,r){var n=r(3236),i=r(9405),a=n(["precision mediump float;\n#define GLSLIFY 1\nattribute vec2 position;\nvarying vec2 uv;\nvoid main() {\n uv = position;\n gl_Position = vec4(position, 0, 1);\n}"]),o=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform sampler2D accumBuffer;\nvarying vec2 uv;\n\nvoid main() {\n vec4 accum = texture2D(accumBuffer, 0.5 * (uv + 1.0));\n gl_FragColor = min(vec4(1,1,1,1), accum);\n}"]);t.exports=function(t){return i(t,a,o,null,[{name:"position",type:"vec2"}])}},4100:function(t,e,r){"use strict";var n=r(4437),i=r(3837),a=r(5445),o=r(4449),s=r(3589),l=r(2260),c=r(7169),u=r(351),h=r(4772),f=r(4040),p=r(799),d=r(9216)({tablet:!0,featureDetect:!0});function m(){this.mouse=[-1,-1],this.screen=null,this.distance=1/0,this.index=null,this.dataCoordinate=null,this.dataPosition=null,this.object=null,this.data=null}function g(t){var e=Math.round(Math.log(Math.abs(t))/Math.log(10));if(e<0){var r=Math.round(Math.pow(10,-e));return Math.ceil(t*r)/r}return e>0?(r=Math.round(Math.pow(10,e)),Math.ceil(t/r)*r):Math.ceil(t)}function y(t){return"boolean"!=typeof t||t}t.exports={createScene:function(t){(t=t||{}).camera=t.camera||{};var e=t.canvas;e||(e=document.createElement("canvas"),t.container?t.container.appendChild(e):document.body.appendChild(e));var r=t.gl;if(r||(t.glOptions&&(d=!!t.glOptions.preserveDrawingBuffer),r=function(t,e){var r=null;try{(r=t.getContext("webgl",e))||(r=t.getContext("experimental-webgl",e))}catch(t){return null}return r}(e,t.glOptions||{premultipliedAlpha:!0,antialias:!0,preserveDrawingBuffer:d})),!r)throw new Error("webgl not supported");var v=t.bounds||[[-10,-10,-10],[10,10,10]],x=new m,_=l(r,r.drawingBufferWidth,r.drawingBufferHeight,{preferFloat:!d}),b=p(r),w=t.cameraObject&&!0===t.cameraObject._ortho||t.camera.projection&&"orthographic"===t.camera.projection.type||!1,T={eye:t.camera.eye||[2,0,0],center:t.camera.center||[0,0,0],up:t.camera.up||[0,1,0],zoomMin:t.camera.zoomMax||.1,zoomMax:t.camera.zoomMin||100,mode:t.camera.mode||"turntable",_ortho:w},k=t.axes||{},A=i(r,k);A.enable=!k.disable;var M=t.spikes||{},S=o(r,M),E=[],C=[],L=[],I=[],P=!0,z=!0,O={view:null,projection:new Array(16),model:new Array(16),_ortho:!1},D=(z=!0,[r.drawingBufferWidth,r.drawingBufferHeight]),R=t.cameraObject||n(e,T),F={gl:r,contextLost:!1,pixelRatio:t.pixelRatio||1,canvas:e,selection:x,camera:R,axes:A,axesPixels:null,spikes:S,bounds:v,objects:E,shape:D,aspect:t.aspectRatio||[1,1,1],pickRadius:t.pickRadius||10,zNear:t.zNear||.01,zFar:t.zFar||1e3,fovy:t.fovy||Math.PI/4,clearColor:t.clearColor||[0,0,0,0],autoResize:y(t.autoResize),autoBounds:y(t.autoBounds),autoScale:!!t.autoScale,autoCenter:y(t.autoCenter),clipToBounds:y(t.clipToBounds),snapToData:!!t.snapToData,onselect:t.onselect||null,onrender:t.onrender||null,onclick:t.onclick||null,cameraParams:O,oncontextloss:null,mouseListener:null,_stopped:!1,getAspectratio:function(){return{x:this.aspect[0],y:this.aspect[1],z:this.aspect[2]}},setAspectratio:function(t){this.aspect[0]=t.x,this.aspect[1]=t.y,this.aspect[2]=t.z,z=!0},setBounds:function(t,e){this.bounds[0][t]=e.min,this.bounds[1][t]=e.max},setClearColor:function(t){this.clearColor=t},clearRGBA:function(){this.gl.clearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),this.gl.clear(this.gl.COLOR_BUFFER_BIT|this.gl.DEPTH_BUFFER_BIT)}},B=[r.drawingBufferWidth/F.pixelRatio|0,r.drawingBufferHeight/F.pixelRatio|0];function N(){if(!F._stopped&&F.autoResize){var t=e.parentNode,r=1,n=1;t&&t!==document.body?(r=t.clientWidth,n=t.clientHeight):(r=window.innerWidth,n=window.innerHeight);var i=0|Math.ceil(r*F.pixelRatio),a=0|Math.ceil(n*F.pixelRatio);if(i!==e.width||a!==e.height){e.width=i,e.height=a;var o=e.style;o.position=o.position||"absolute",o.left="0px",o.top="0px",o.width=r+"px",o.height=n+"px",P=!0}}}function j(){for(var t=E.length,e=I.length,n=0;n0&&0===L[e-1];)L.pop(),I.pop().dispose()}function U(){if(F.contextLost)return!0;r.isContextLost()&&(F.contextLost=!0,F.mouseListener.enabled=!1,F.selection.object=null,F.oncontextloss&&F.oncontextloss())}F.autoResize&&N(),window.addEventListener("resize",N),F.update=function(t){F._stopped||(t=t||{},P=!0,z=!0)},F.add=function(t){F._stopped||(t.axes=A,E.push(t),C.push(-1),P=!0,z=!0,j())},F.remove=function(t){if(!F._stopped){var e=E.indexOf(t);e<0||(E.splice(e,1),C.pop(),P=!0,z=!0,j())}},F.dispose=function(){if(!F._stopped&&(F._stopped=!0,window.removeEventListener("resize",N),e.removeEventListener("webglcontextlost",U),F.mouseListener.enabled=!1,!F.contextLost)){A.dispose(),S.dispose();for(var t=0;tx.distance)continue;for(var c=0;c 1.0) {\n discard;\n }\n baseColor = mix(borderColor, color, step(radius, centerFraction));\n gl_FragColor = vec4(baseColor.rgb * baseColor.a, baseColor.a);\n }\n}\n"]),e.pickVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 position;\nattribute vec4 pickId;\n\nuniform mat3 matrix;\nuniform float pointSize;\nuniform vec4 pickOffset;\n\nvarying vec4 fragId;\n\nvoid main() {\n vec3 hgPosition = matrix * vec3(position, 1);\n gl_Position = vec4(hgPosition.xy, 0, hgPosition.z);\n gl_PointSize = pointSize;\n\n vec4 id = pickId + pickOffset;\n id.y += floor(id.x / 256.0);\n id.x -= floor(id.x / 256.0) * 256.0;\n\n id.z += floor(id.y / 256.0);\n id.y -= floor(id.y / 256.0) * 256.0;\n\n id.w += floor(id.z / 256.0);\n id.z -= floor(id.z / 256.0) * 256.0;\n\n fragId = id;\n}\n"]),e.pickFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nvarying vec4 fragId;\n\nvoid main() {\n float radius = length(2.0 * gl_PointCoord.xy - 1.0);\n if(radius > 1.0) {\n discard;\n }\n gl_FragColor = fragId / 255.0;\n}\n"])},4696:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(1888),o=r(6640);function s(t,e,r,n,i){this.plot=t,this.offsetBuffer=e,this.pickBuffer=r,this.shader=n,this.pickShader=i,this.sizeMin=.5,this.sizeMinCap=2,this.sizeMax=20,this.areaRatio=1,this.pointCount=0,this.color=[1,0,0,1],this.borderColor=[0,0,0,1],this.blend=!1,this.pickOffset=0,this.points=null}t.exports=function(t,e){var r=t.gl,a=new s(t,i(r),i(r),n(r,o.pointVertex,o.pointFragment),n(r,o.pickVertex,o.pickFragment));return a.update(e),t.addObject(a),a};var l,c,u=s.prototype;u.dispose=function(){this.shader.dispose(),this.pickShader.dispose(),this.offsetBuffer.dispose(),this.pickBuffer.dispose(),this.plot.removeObject(this)},u.update=function(t){var e;function r(e,r){return e in t?t[e]:r}t=t||{},this.sizeMin=r("sizeMin",.5),this.sizeMax=r("sizeMax",20),this.color=r("color",[1,0,0,1]).slice(),this.areaRatio=r("areaRatio",1),this.borderColor=r("borderColor",[0,0,0,1]).slice(),this.blend=r("blend",!1);var n=t.positions.length>>>1,i=t.positions instanceof Float32Array,o=t.idToIndex instanceof Int32Array&&t.idToIndex.length>=n,s=t.positions,l=i?s:a.mallocFloat32(s.length),c=o?t.idToIndex:a.mallocInt32(n);if(i||l.set(s),!o)for(l.set(s),e=0;e>>1;for(r=0;r=e[0]&&a<=e[2]&&o>=e[1]&&o<=e[3]&&n++}return n}(this.points,i),u=this.plot.pickPixelRatio*Math.max(Math.min(this.sizeMinCap,this.sizeMin),Math.min(this.sizeMax,this.sizeMax/Math.pow(s,.33333)));l[0]=2/a,l[4]=2/o,l[6]=-2*i[0]/a-1,l[7]=-2*i[1]/o-1,this.offsetBuffer.bind(),r.bind(),r.attributes.position.pointer(),r.uniforms.matrix=l,r.uniforms.color=this.color,r.uniforms.borderColor=this.borderColor,r.uniforms.pointCloud=u<5,r.uniforms.pointSize=u,r.uniforms.centerFraction=Math.min(1,Math.max(0,Math.sqrt(1-this.areaRatio))),e&&(c[0]=255&t,c[1]=t>>8&255,c[2]=t>>16&255,c[3]=t>>24&255,this.pickBuffer.bind(),r.attributes.pickId.pointer(n.UNSIGNED_BYTE),r.uniforms.pickOffset=c,this.pickOffset=t);var h=n.getParameter(n.BLEND),f=n.getParameter(n.DITHER);return h&&!this.blend&&n.disable(n.BLEND),f&&n.disable(n.DITHER),n.drawArrays(n.POINTS,0,this.pointCount),h&&!this.blend&&n.enable(n.BLEND),f&&n.enable(n.DITHER),t+this.pointCount}),u.draw=u.unifiedDraw,u.drawPick=u.unifiedDraw,u.pick=function(t,e,r){var n=this.pickOffset,i=this.pointCount;if(r=n+i)return null;var a=r-n,o=this.points;return{object:this,pointId:a,dataCoord:[o[2*a],o[2*a+1]]}}},783:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,c=e[0],u=e[1],h=e[2],f=e[3],p=r[0],d=r[1],m=r[2],g=r[3];return(a=c*p+u*d+h*m+f*g)<0&&(a=-a,p=-p,d=-d,m=-m,g=-g),1-a>1e-6?(i=Math.acos(a),o=Math.sin(i),s=Math.sin((1-n)*i)/o,l=Math.sin(n*i)/o):(s=1-n,l=n),t[0]=s*c+l*p,t[1]=s*u+l*d,t[2]=s*h+l*m,t[3]=s*f+l*g,t}},5964:function(t){"use strict";t.exports=function(t){return t||0===t?t.toString():""}},9366:function(t,e,r){"use strict";var n=r(4359);t.exports=function(t,e,r){var a=[e.style,e.weight,e.variant,e.family].join("_"),o=i[a];if(o||(o=i[a]={}),t in o)return o[t];var s={textAlign:"center",textBaseline:"middle",lineHeight:1,font:e.family,fontStyle:e.style,fontWeight:e.weight,fontVariant:e.variant,lineSpacing:1.25,styletags:{breaklines:!0,bolds:!0,italics:!0,subscripts:!0,superscripts:!0},triangles:!0},l=n(t,s);s.triangles=!1;var c,u,h=n(t,s);if(r&&1!==r){for(c=0;c max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform vec4 highlightId;\nuniform float highlightScale;\nuniform mat4 model, view, projection;\nuniform vec3 clipBounds[2];\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = 1.0;\n if(distance(highlightId, id) < 0.0001) {\n scale = highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1);\n vec4 viewPosition = view * worldPosition;\n viewPosition = viewPosition / viewPosition.w;\n vec4 clipPosition = projection * (viewPosition + scale * vec4(glyph.x, -glyph.y, 0, 0));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),o=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float highlightScale, pixelRatio;\nuniform vec4 highlightId;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float scale = pixelRatio;\n if(distance(highlightId.bgr, id.bgr) < 0.001) {\n scale *= highlightScale;\n }\n\n vec4 worldPosition = model * vec4(position, 1.0);\n vec4 viewPosition = view * worldPosition;\n vec4 clipPosition = projection * viewPosition;\n clipPosition /= clipPosition.w;\n\n gl_Position = clipPosition + vec4(screenSize * scale * vec2(glyph.x, -glyph.y), 0.0, 0.0);\n interpColor = color;\n pickId = id;\n dataCoordinate = position;\n }\n}"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nattribute vec3 position;\nattribute vec4 color;\nattribute vec2 glyph;\nattribute vec4 id;\n\nuniform float highlightScale;\nuniform vec4 highlightId;\nuniform vec3 axes[2];\nuniform mat4 model, view, projection;\nuniform vec2 screenSize;\nuniform vec3 clipBounds[2];\nuniform float scale, pixelRatio;\n\nvarying vec4 interpColor;\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], position)) {\n\n gl_Position = vec4(0,0,0,0);\n } else {\n float lscale = pixelRatio * scale;\n if(distance(highlightId, id) < 0.0001) {\n lscale *= highlightScale;\n }\n\n vec4 clipCenter = projection * (view * (model * vec4(position, 1)));\n vec3 dataPosition = position + 0.5*lscale*(axes[0] * glyph.x + axes[1] * glyph.y) * clipCenter.w * screenSize.y;\n vec4 clipPosition = projection * (view * (model * vec4(dataPosition, 1)));\n\n gl_Position = clipPosition;\n interpColor = color;\n pickId = id;\n dataCoordinate = dataPosition;\n }\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float opacity;\n\nvarying vec4 interpColor;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (\n outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate) ||\n interpColor.a * opacity == 0.\n ) discard;\n gl_FragColor = interpColor * opacity;\n}\n"]),c=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 fragClipBounds[2];\nuniform float pickGroup;\n\nvarying vec4 pickId;\nvarying vec3 dataCoordinate;\n\nvoid main() {\n if (outOfRange(fragClipBounds[0], fragClipBounds[1], dataCoordinate)) discard;\n\n gl_FragColor = vec4(pickGroup, pickId.bgr);\n}"]),u=[{name:"position",type:"vec3"},{name:"color",type:"vec4"},{name:"glyph",type:"vec2"},{name:"id",type:"vec4"}],h={vertex:a,fragment:l,attributes:u},f={vertex:o,fragment:l,attributes:u},p={vertex:s,fragment:l,attributes:u},d={vertex:a,fragment:c,attributes:u},m={vertex:o,fragment:c,attributes:u},g={vertex:s,fragment:c,attributes:u};function y(t,e){var r=n(t,e),i=r.attributes;return i.position.location=0,i.color.location=1,i.glyph.location=2,i.id.location=3,r}e.createPerspective=function(t){return y(t,h)},e.createOrtho=function(t){return y(t,f)},e.createProject=function(t){return y(t,p)},e.createPickPerspective=function(t){return y(t,d)},e.createPickOrtho=function(t){return y(t,m)},e.createPickProject=function(t){return y(t,g)}},8418:function(t,e,r){"use strict";var n=r(5219),i=r(2762),a=r(8116),o=r(1888),s=r(6760),l=r(1283),c=r(9366),u=r(5964),h=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],f=ArrayBuffer,p=DataView;function d(t){return Array.isArray(t)||function(t){return f.isView(t)&&!(t instanceof p)}(t)}function m(t,e){var r=t[0],n=t[1],i=t[2],a=t[3];return t[0]=e[0]*r+e[4]*n+e[8]*i+e[12]*a,t[1]=e[1]*r+e[5]*n+e[9]*i+e[13]*a,t[2]=e[2]*r+e[6]*n+e[10]*i+e[14]*a,t[3]=e[3]*r+e[7]*n+e[11]*i+e[15]*a,t}function g(t,e,r,n){return m(n,n),m(n,n),m(n,n)}function y(t,e){this.index=t,this.dataCoordinate=this.position=e}function v(t){return!0===t||t>1?1:t}function x(t,e,r,n,i,a,o,s,l,c,u,h){this.gl=t,this.pixelRatio=1,this.shader=e,this.orthoShader=r,this.projectShader=n,this.pointBuffer=i,this.colorBuffer=a,this.glyphBuffer=o,this.idBuffer=s,this.vao=l,this.vertexCount=0,this.lineVertexCount=0,this.opacity=1,this.hasAlpha=!1,this.lineWidth=0,this.projectScale=[2/3,2/3,2/3],this.projectOpacity=[1,1,1],this.projectHasAlpha=!1,this.pickId=0,this.pickPerspectiveShader=c,this.pickOrthoShader=u,this.pickProjectShader=h,this.points=[],this._selectResult=new y(0,[0,0,0]),this.useOrtho=!0,this.bounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.axesProject=[!0,!0,!0],this.axesBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.highlightId=[1,1,1,1],this.highlightScale=2,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.dirty=!0}t.exports=function(t){var e=t.gl,r=l.createPerspective(e),n=l.createOrtho(e),o=l.createProject(e),s=l.createPickPerspective(e),c=l.createPickOrtho(e),u=l.createPickProject(e),h=i(e),f=i(e),p=i(e),d=i(e),m=new x(e,r,n,o,h,f,p,d,a(e,[{buffer:h,size:3,type:e.FLOAT},{buffer:f,size:4,type:e.FLOAT},{buffer:p,size:2,type:e.FLOAT},{buffer:d,size:4,type:e.UNSIGNED_BYTE,normalized:!0}]),s,c,u);return m.update(t),m};var _=x.prototype;_.pickSlots=1,_.setPickBase=function(t){this.pickId=t},_.isTransparent=function(){if(this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&this.projectHasAlpha)return!0;return!1},_.isOpaque=function(){if(!this.hasAlpha)return!0;for(var t=0;t<3;++t)if(this.axesProject[t]&&!this.projectHasAlpha)return!0;return!1};var b=[0,0],w=[0,0,0],T=[0,0,0],k=[0,0,0,1],A=[0,0,0,1],M=h.slice(),S=[0,0,0],E=[[0,0,0],[0,0,0]];function C(t){return t[0]=t[1]=t[2]=0,t}function L(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=1,t}function I(t,e,r,n){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[r]=n,t}var P=[[-1e8,-1e8,-1e8],[1e8,1e8,1e8]];function z(t,e,r,n,i,a,o){var l=r.gl;if((a===r.projectHasAlpha||o)&&function(t,e,r,n){var i,a=e.axesProject,o=e.gl,l=t.uniforms,c=r.model||h,u=r.view||h,f=r.projection||h,p=e.axesBounds,d=function(t){for(var e=E,r=0;r<2;++r)for(var n=0;n<3;++n)e[r][n]=Math.max(Math.min(t[r][n],1e8),-1e8);return e}(e.clipBounds);i=e.axes&&e.axes.lastCubeProps?e.axes.lastCubeProps.axis:[1,1,1],b[0]=2/o.drawingBufferWidth,b[1]=2/o.drawingBufferHeight,t.bind(),l.view=u,l.projection=f,l.screenSize=b,l.highlightId=e.highlightId,l.highlightScale=e.highlightScale,l.clipBounds=d,l.pickGroup=e.pickId/255,l.pixelRatio=n;for(var m=0;m<3;++m)if(a[m]){l.scale=e.projectScale[m],l.opacity=e.projectOpacity[m];for(var y=M,v=0;v<16;++v)y[v]=0;for(v=0;v<4;++v)y[5*v]=1;y[5*m]=0,i[m]<0?y[12+m]=p[0][m]:y[12+m]=p[1][m],s(y,c,y),l.model=y;var x=(m+1)%3,_=(m+2)%3,P=C(w),z=C(T);P[x]=1,z[_]=1;var O=g(0,0,0,L(k,P)),D=g(0,0,0,L(A,z));if(Math.abs(O[1])>Math.abs(D[1])){var R=O;O=D,D=R,R=P,P=z,z=R;var F=x;x=_,_=F}O[0]<0&&(P[x]=-1),D[1]>0&&(z[_]=-1);var B=0,N=0;for(v=0;v<4;++v)B+=Math.pow(c[4*x+v],2),N+=Math.pow(c[4*_+v],2);P[x]/=Math.sqrt(B),z[_]/=Math.sqrt(N),l.axes[0]=P,l.axes[1]=z,l.fragClipBounds[0]=I(S,d[0],m,-1e8),l.fragClipBounds[1]=I(S,d[1],m,1e8),e.vao.bind(),e.vao.draw(o.TRIANGLES,e.vertexCount),e.lineWidth>0&&(o.lineWidth(e.lineWidth*n),e.vao.draw(o.LINES,e.lineVertexCount,e.vertexCount)),e.vao.unbind()}}(e,r,n,i),a===r.hasAlpha||o){t.bind();var c=t.uniforms;c.model=n.model||h,c.view=n.view||h,c.projection=n.projection||h,b[0]=2/l.drawingBufferWidth,b[1]=2/l.drawingBufferHeight,c.screenSize=b,c.highlightId=r.highlightId,c.highlightScale=r.highlightScale,c.fragClipBounds=P,c.clipBounds=r.axes.bounds,c.opacity=r.opacity,c.pickGroup=r.pickId/255,c.pixelRatio=i,r.vao.bind(),r.vao.draw(l.TRIANGLES,r.vertexCount),r.lineWidth>0&&(l.lineWidth(r.lineWidth*i),r.vao.draw(l.LINES,r.lineVertexCount,r.vertexCount)),r.vao.unbind()}}function O(t,e,r,i){var a;a=d(t)?e=this.pointCount||e<0)return null;var r=this.points[e],n=this._selectResult;n.index=e;for(var i=0;i<3;++i)n.position[i]=n.dataCoordinate[i]=r[i];return n},_.highlight=function(t){if(t){var e=t.index,r=255&e,n=e>>8&255,i=e>>16&255;this.highlightId=[r/255,n/255,i/255,0]}else this.highlightId=[1,1,1,1]},_.update=function(t){if("perspective"in(t=t||{})&&(this.useOrtho=!t.perspective),"orthographic"in t&&(this.useOrtho=!!t.orthographic),"lineWidth"in t&&(this.lineWidth=t.lineWidth),"project"in t)if(d(t.project))this.axesProject=t.project;else{var e=!!t.project;this.axesProject=[e,e,e]}if("projectScale"in t)if(d(t.projectScale))this.projectScale=t.projectScale.slice();else{var r=+t.projectScale;this.projectScale=[r,r,r]}if(this.projectHasAlpha=!1,"projectOpacity"in t){d(t.projectOpacity)?this.projectOpacity=t.projectOpacity.slice():(r=+t.projectOpacity,this.projectOpacity=[r,r,r]);for(var n=0;n<3;++n)this.projectOpacity[n]=v(this.projectOpacity[n]),this.projectOpacity[n]<1&&(this.projectHasAlpha=!0)}this.hasAlpha=!1,"opacity"in t&&(this.opacity=v(t.opacity),this.opacity<1&&(this.hasAlpha=!0)),this.dirty=!0;var i,a,s=t.position,l={family:t.font||"normal",style:t.fontStyle||"normal",weight:t.fontWeight||"normal",variant:t.fontVariant||"normal"},c=t.alignment||[0,0];if(2===c.length)i=c[0],a=c[1];else for(i=[],a=[],n=0;n0){var z=0,D=_,R=[0,0,0,1],F=[0,0,0,1],B=d(p)&&d(p[0]),N=d(y)&&d(y[0]);t:for(n=0;n0?1-S[0][0]:W<0?1+S[1][0]:1,Y*=Y>0?1-S[0][1]:Y<0?1+S[1][1]:1],$=A.cells||[],J=A.positions||[];for(k=0;k<$.length;++k)for(var K=$[k],Q=0;Q<3;++Q){for(var tt=0;tt<3;++tt)C[3*z+tt]=T[tt];for(tt=0;tt<4;++tt)L[4*z+tt]=R[tt];P[z]=x;var et=J[K[Q]];I[2*z]=q*(G*et[0]-Z*et[1]+X[0]),I[2*z+1]=q*(Z*et[0]+G*et[1]+X[1]),z+=1}for($=M.edges,J=M.positions,k=0;k<$.length;++k)for(K=$[k],Q=0;Q<2;++Q){for(tt=0;tt<3;++tt)C[3*D+tt]=T[tt];for(tt=0;tt<4;++tt)L[4*D+tt]=F[tt];P[D]=x,et=J[K[Q]],I[2*D]=q*(G*et[0]-Z*et[1]+X[0]),I[2*D+1]=q*(Z*et[0]+G*et[1]+X[1]),D+=1}}}this.bounds=[u,h],this.points=s,this.pointCount=s.length,this.vertexCount=_,this.lineVertexCount=b,this.pointBuffer.update(C),this.colorBuffer.update(L),this.glyphBuffer.update(I),this.idBuffer.update(P),o.free(C),o.free(L),o.free(I),o.free(P)},_.dispose=function(){this.shader.dispose(),this.orthoShader.dispose(),this.pickPerspectiveShader.dispose(),this.pickOrthoShader.dispose(),this.vao.dispose(),this.pointBuffer.dispose(),this.colorBuffer.dispose(),this.glyphBuffer.dispose(),this.idBuffer.dispose()}},4298:function(t,e,r){"use strict";var n=r(3236);e.boxVertex=n(["precision mediump float;\n#define GLSLIFY 1\n\nattribute vec2 vertex;\n\nuniform vec2 cornerA, cornerB;\n\nvoid main() {\n gl_Position = vec4(mix(cornerA, cornerB, vertex), 0, 1);\n}\n"]),e.boxFragment=n(["precision mediump float;\n#define GLSLIFY 1\n\nuniform vec4 color;\n\nvoid main() {\n gl_FragColor = color;\n}\n"])},3161:function(t,e,r){"use strict";var n=r(9405),i=r(2762),a=r(4298);function o(t,e,r){this.plot=t,this.boxBuffer=e,this.boxShader=r,this.enabled=!0,this.selectBox=[1/0,1/0,-1/0,-1/0],this.borderColor=[0,0,0,1],this.innerFill=!1,this.innerColor=[0,0,0,.25],this.outerFill=!0,this.outerColor=[0,0,0,.5],this.borderWidth=10}t.exports=function(t,e){var r=t.gl,s=new o(t,i(r,[0,0,0,1,1,0,1,1]),n(r,a.boxVertex,a.boxFragment));return s.update(e),t.addOverlay(s),s};var s=o.prototype;s.draw=function(){if(this.enabled){var t=this.plot,e=this.selectBox,r=this.borderWidth,n=(this.innerFill,this.innerColor),i=(this.outerFill,this.outerColor),a=this.borderColor,o=t.box,s=t.screenBox,l=t.dataBox,c=t.viewBox,u=t.pixelRatio,h=(e[0]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],f=(e[1]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1],p=(e[2]-l[0])*(c[2]-c[0])/(l[2]-l[0])+c[0],d=(e[3]-l[1])*(c[3]-c[1])/(l[3]-l[1])+c[1];if(h=Math.max(h,c[0]),f=Math.max(f,c[1]),p=Math.min(p,c[2]),d=Math.min(d,c[3]),!(p0){var y=r*u;o.drawBox(h-y,f-y,p+y,f+y,a),o.drawBox(h-y,d-y,p+y,d+y,a),o.drawBox(h-y,f-y,h+y,d+y,a),o.drawBox(p-y,f-y,p+y,d+y,a)}}}},s.update=function(t){t=t||{},this.innerFill=!!t.innerFill,this.outerFill=!!t.outerFill,this.innerColor=(t.innerColor||[0,0,0,.5]).slice(),this.outerColor=(t.outerColor||[0,0,0,.5]).slice(),this.borderColor=(t.borderColor||[0,0,0,1]).slice(),this.borderWidth=t.borderWidth||0,this.selectBox=(t.selectBox||this.selectBox).slice()},s.dispose=function(){this.boxBuffer.dispose(),this.boxShader.dispose(),this.plot.removeOverlay(this)}},3589:function(t,e,r){"use strict";t.exports=function(t,e){var r=e[0],a=e[1];return new l(t,n(t,r,a,{}),i.mallocUint8(r*a*4))};var n=r(2260),i=r(1888),a=r(9618),o=r(8828).nextPow2;function s(t,e,r,n,i){this.coord=[t,e],this.id=r,this.value=n,this.distance=i}function l(t,e,r){this.gl=t,this.fbo=e,this.buffer=r,this._readTimeout=null;var n=this;this._readCallback=function(){n.gl&&(e.bind(),t.readPixels(0,0,e.shape[0],e.shape[1],t.RGBA,t.UNSIGNED_BYTE,n.buffer),n._readTimeout=null)}}var c=l.prototype;Object.defineProperty(c,"shape",{get:function(){return this.gl?this.fbo.shape.slice():[0,0]},set:function(t){if(this.gl){this.fbo.shape=t;var e=this.fbo.shape[0],r=this.fbo.shape[1];if(r*e*4>this.buffer.length){i.free(this.buffer);for(var n=this.buffer=i.mallocUint8(o(r*e*4)),a=0;ar)for(t=r;te)for(t=e;t=0){for(var T=0|w.type.charAt(w.type.length-1),k=new Array(T),A=0;A=0;)M+=1;b[v]=M}var S=new Array(r.length);function E(){f.program=o.program(p,f._vref,f._fref,_,b);for(var t=0;t=0){if((d=f.charCodeAt(f.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);s(t,e,p[0],i,d,a,h)}else{if(!(f.indexOf("mat")>=0))throw new n("","Unknown data type for attribute "+h+": "+f);var d;if((d=f.charCodeAt(f.length-1)-48)<2||d>4)throw new n("","Invalid data type for attribute "+h+": "+f);l(t,e,p,i,d,a,h)}}}return a};var n=r(8866);function i(t,e,r,n,i,a){this._gl=t,this._wrapper=e,this._index=r,this._locations=n,this._dimension=i,this._constFunc=a}var a=i.prototype;a.pointer=function(t,e,r,n){var i=this,a=i._gl,o=i._locations[i._index];a.vertexAttribPointer(o,i._dimension,t||a.FLOAT,!!e,r||0,n||0),a.enableVertexAttribArray(o)},a.set=function(t,e,r,n){return this._constFunc(this._locations[this._index],t,e,r,n)},Object.defineProperty(a,"location",{get:function(){return this._locations[this._index]},set:function(t){return t!==this._locations[this._index]&&(this._locations[this._index]=0|t,this._wrapper.program=null),0|t}});var o=[function(t,e,r){return void 0===r.length?t.vertexAttrib1f(e,r):t.vertexAttrib1fv(e,r)},function(t,e,r,n){return void 0===r.length?t.vertexAttrib2f(e,r,n):t.vertexAttrib2fv(e,r)},function(t,e,r,n,i){return void 0===r.length?t.vertexAttrib3f(e,r,n,i):t.vertexAttrib3fv(e,r)},function(t,e,r,n,i,a){return void 0===r.length?t.vertexAttrib4f(e,r,n,i,a):t.vertexAttrib4fv(e,r)}];function s(t,e,r,n,a,s,l){var c=o[a],u=new i(t,e,r,n,a,c);Object.defineProperty(s,l,{set:function(e){return t.disableVertexAttribArray(n[r]),c(t,n[r],e),e},get:function(){return u},enumerable:!0})}function l(t,e,r,n,i,a,o){for(var l=new Array(i),c=new Array(i),u=0;u4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+v);t["uniformMatrix"+y+"fv"](s[h],!1,f);break}throw new i("","Unknown uniform data type for "+name+": "+v)}if((y=v.charCodeAt(v.length-1)-48)<2||y>4)throw new i("","Invalid data type");switch(v.charAt(0)){case"b":case"i":t["uniform"+y+"iv"](s[h],f);break;case"v":t["uniform"+y+"fv"](s[h],f);break;default:throw new i("","Unrecognized data type for vector "+name+": "+v)}}}}}}function c(t,e){if("object"!=typeof e)return[[t,e]];var r=[];for(var n in e){var i=e[n],a=t;parseInt(n)+""===n?a+="["+n+"]":a+="."+n,"object"==typeof i?r.push.apply(r,c(a,i)):r.push([a,i])}return r}function u(t,e,n){if("object"==typeof n){var c=h(n);Object.defineProperty(t,e,{get:a(c),set:l(n),enumerable:!0,configurable:!1})}else s[n]?Object.defineProperty(t,e,{get:(u=n,function(t,e,r){return t.getUniform(e.program,r[u])}),set:l(n),enumerable:!0,configurable:!1}):t[e]=function(t){switch(t){case"bool":return!1;case"int":case"sampler2D":case"samplerCube":case"float":return 0;default:var e=t.indexOf("vec");if(0<=e&&e<=1&&t.length===4+e){if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid data type");return"b"===t.charAt(0)?o(r,!1):o(r,0)}if(0===t.indexOf("mat")&&4===t.length){var r;if((r=t.charCodeAt(t.length-1)-48)<2||r>4)throw new i("","Invalid uniform dimension type for matrix "+name+": "+t);return o(r*r,0)}throw new i("","Unknown uniform data type for "+name+": "+t)}}(r[n].type);var u}function h(t){var e;if(Array.isArray(t)){e=new Array(t.length);for(var r=0;r1){s[0]in a||(a[s[0]]=[]),a=a[s[0]];for(var l=1;l1)for(var l=0;l 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 color, position;\nattribute vec2 uv;\n\nuniform float vectorScale, tubeScale;\nuniform mat4 model, view, projection, inverseModel;\nuniform vec3 eyePosition, lightPosition;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n // Scale the vector magnitude to stay constant with\n // model & view changes.\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n //Lighting geometry parameters\n vec4 cameraCoordinate = view * tubePosition;\n cameraCoordinate.xyz /= cameraCoordinate.w;\n f_lightDirection = lightPosition - cameraCoordinate.xyz;\n f_eyeDirection = eyePosition - cameraCoordinate.xyz;\n f_normal = normalize((vec4(normal, 0.0) * inverseModel).xyz);\n\n // vec4 m_position = model * vec4(tubePosition, 1.0);\n vec4 t_position = view * tubePosition;\n gl_Position = projection * t_position;\n\n f_color = color;\n f_data = tubePosition.xyz;\n f_position = position.xyz;\n f_uv = uv;\n}\n"]),a=n(["#extension GL_OES_standard_derivatives : enable\n\nprecision highp float;\n#define GLSLIFY 1\n\nfloat beckmannDistribution(float x, float roughness) {\n float NdotH = max(x, 0.0001);\n float cos2Alpha = NdotH * NdotH;\n float tan2Alpha = (cos2Alpha - 1.0) / cos2Alpha;\n float roughness2 = roughness * roughness;\n float denom = 3.141592653589793 * roughness2 * cos2Alpha * cos2Alpha;\n return exp(tan2Alpha / roughness2) / denom;\n}\n\nfloat cookTorranceSpecular(\n vec3 lightDirection,\n vec3 viewDirection,\n vec3 surfaceNormal,\n float roughness,\n float fresnel) {\n\n float VdotN = max(dot(viewDirection, surfaceNormal), 0.0);\n float LdotN = max(dot(lightDirection, surfaceNormal), 0.0);\n\n //Half angle vector\n vec3 H = normalize(lightDirection + viewDirection);\n\n //Geometric term\n float NdotH = max(dot(surfaceNormal, H), 0.0);\n float VdotH = max(dot(viewDirection, H), 0.000001);\n float LdotH = max(dot(lightDirection, H), 0.000001);\n float G1 = (2.0 * NdotH * VdotN) / VdotH;\n float G2 = (2.0 * NdotH * LdotN) / LdotH;\n float G = min(1.0, min(G1, G2));\n \n //Distribution term\n float D = beckmannDistribution(NdotH, roughness);\n\n //Fresnel term\n float F = pow(1.0 - VdotN, fresnel);\n\n //Multiply terms and done\n return G * F * D / max(3.14159265 * VdotN, 0.000001);\n}\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform sampler2D texture;\n\nvarying vec3 f_normal, f_lightDirection, f_eyeDirection, f_data, f_position;\nvarying vec4 f_color;\nvarying vec2 f_uv;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n vec3 N = normalize(f_normal);\n vec3 L = normalize(f_lightDirection);\n vec3 V = normalize(f_eyeDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = min(1.0, max(0.0, cookTorranceSpecular(L, V, N, roughness, fresnel)));\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n vec4 surfaceColor = f_color * texture2D(texture, f_uv);\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = litColor * opacity;\n}\n"]),o=n(["precision highp float;\n\nprecision highp float;\n#define GLSLIFY 1\n\nvec3 getOrthogonalVector(vec3 v) {\n // Return up-vector for only-z vector.\n // Return ax + by + cz = 0, a point that lies on the plane that has v as a normal and that isn't (0,0,0).\n // From the above if-statement we have ||a|| > 0 U ||b|| > 0.\n // Assign z = 0, x = -b, y = a:\n // a*-b + b*a + c*0 = -ba + ba + 0 = 0\n if (v.x*v.x > v.z*v.z || v.y*v.y > v.z*v.z) {\n return normalize(vec3(-v.y, v.x, 0.0));\n } else {\n return normalize(vec3(0.0, v.z, -v.y));\n }\n}\n\n// Calculate the tube vertex and normal at the given index.\n//\n// The returned vertex is for a tube ring with its center at origin, radius of length(d), pointing in the direction of d.\n//\n// Each tube segment is made up of a ring of vertices.\n// These vertices are used to make up the triangles of the tube by connecting them together in the vertex array.\n// The indexes of tube segments run from 0 to 8.\n//\nvec3 getTubePosition(vec3 d, float index, out vec3 normal) {\n float segmentCount = 8.0;\n\n float angle = 2.0 * 3.14159 * (index / segmentCount);\n\n vec3 u = getOrthogonalVector(d);\n vec3 v = normalize(cross(u, d));\n\n vec3 x = u * cos(angle) * length(d);\n vec3 y = v * sin(angle) * length(d);\n vec3 v3 = x + y;\n\n normal = normalize(v3);\n\n return v3;\n}\n\nattribute vec4 vector;\nattribute vec4 position;\nattribute vec4 id;\n\nuniform mat4 model, view, projection;\nuniform float tubeScale;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n vec3 normal;\n vec3 XYZ = getTubePosition(mat3(model) * (tubeScale * vector.w * normalize(vector.xyz)), position.w, normal);\n vec4 tubePosition = model * vec4(position.xyz, 1.0) + vec4(XYZ, 0.0);\n\n gl_Position = projection * (view * tubePosition);\n f_id = id;\n f_position = position.xyz;\n}\n"]),s=n(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying vec3 f_position;\nvarying vec4 f_id;\n\nvoid main() {\n if (outOfRange(clipBounds[0], clipBounds[1], f_position)) discard;\n\n gl_FragColor = vec4(pickId, f_id.xyz);\n}"]);e.meshShader={vertex:i,fragment:a,attributes:[{name:"position",type:"vec4"},{name:"color",type:"vec4"},{name:"uv",type:"vec2"},{name:"vector",type:"vec4"}]},e.pickShader={vertex:o,fragment:s,attributes:[{name:"position",type:"vec4"},{name:"id",type:"vec4"},{name:"vector",type:"vec4"}]}},7815:function(t,e,r){"use strict";var n=r(2931),i=r(9970),a=["xyz","xzy","yxz","yzx","zxy","zyx"],o=function(t,e){var r,n=t.length;for(r=0;re)return r-1}return r},s=function(t,e,r){return tr?r:t},l=function(t){var e=1/0;t.sort((function(t,e){return t-e}));for(var r=t.length,n=1;nh-1||v>f-1||x>p-1)return n.create();var _,b,w,T,k,A,M=a[0][d],S=a[0][y],E=a[1][m],C=a[1][v],L=a[2][g],I=(l-M)/(S-M),P=(c-E)/(C-E),z=(u-L)/(a[2][x]-L);switch(isFinite(I)||(I=.5),isFinite(P)||(P=.5),isFinite(z)||(z=.5),r.reversedX&&(d=h-1-d,y=h-1-y),r.reversedY&&(m=f-1-m,v=f-1-v),r.reversedZ&&(g=p-1-g,x=p-1-x),r.filled){case 5:k=g,A=x,w=m*p,T=v*p,_=d*p*f,b=y*p*f;break;case 4:k=g,A=x,_=d*p,b=y*p,w=m*p*h,T=v*p*h;break;case 3:w=m,T=v,k=g*f,A=x*f,_=d*f*p,b=y*f*p;break;case 2:w=m,T=v,_=d*f,b=y*f,k=g*f*h,A=x*f*h;break;case 1:_=d,b=y,k=g*h,A=x*h,w=m*h*p,T=v*h*p;break;default:_=d,b=y,w=m*h,T=v*h,k=g*h*f,A=x*h*f}var O=i[_+w+k],D=i[_+w+A],R=i[_+T+k],F=i[_+T+A],B=i[b+w+k],N=i[b+w+A],j=i[b+T+k],U=i[b+T+A],V=n.create(),q=n.create(),H=n.create(),G=n.create();n.lerp(V,O,B,I),n.lerp(q,D,N,I),n.lerp(H,R,j,I),n.lerp(G,F,U,I);var Z=n.create(),W=n.create();n.lerp(Z,V,H,P),n.lerp(W,q,G,P);var Y=n.create();return n.lerp(Y,Z,W,z),Y}(e,t,p)},m=t.getDivergence||function(t,e){var r=n.create(),i=1e-4;n.add(r,t,[i,0,0]);var a=d(r);n.subtract(a,a,e),n.scale(a,a,1/i),n.add(r,t,[0,i,0]);var o=d(r);n.subtract(o,o,e),n.scale(o,o,1/i),n.add(r,t,[0,0,i]);var s=d(r);return n.subtract(s,s,e),n.scale(s,s,1/i),n.add(r,a,o),n.add(r,r,s),r},g=[],y=e[0][0],v=e[0][1],x=e[0][2],_=e[1][0],b=e[1][1],w=e[1][2],T=function(t){var e=t[0],r=t[1],n=t[2];return!(e_||rb||nw)},k=10*n.distance(e[0],e[1])/c,A=k*k,M=1,S=0,E=r.length;E>1&&(M=function(t){for(var e=[],r=[],n=[],i={},a={},o={},s=t.length,c=0;cS&&(S=F),D.push(F),g.push({points:I,velocities:P,divergences:D});for(var B=0;B<100*c&&I.lengthA&&n.scale(N,N,k/Math.sqrt(j)),n.add(N,N,L),z=d(N),n.squaredDistance(O,N)-A>-1e-4*A&&(I.push(N),O=N,P.push(z),R=m(N,z),F=n.length(R),isFinite(F)&&F>S&&(S=F),D.push(F)),L=N}}var U=function(t,e,r,a){for(var o=0,s=0;s0)for(T=0;T<8;T++){var k=(T+1)%8;c.push(f[T],p[T],p[k],p[k],f[k],f[T]),h.push(v,y,y,y,v,v),d.push(m,g,g,g,m,m);var A=c.length;u.push([A-6,A-5,A-4],[A-3,A-2,A-1])}var M=f;f=p,p=M;var S=v;v=y,y=S;var E=m;m=g,g=E}return{positions:c,cells:u,vectors:h,vertexIntensity:d}}(t,r,a,o)})),h=[],f=[],p=[],d=[];for(s=0;s max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec3 lowerBound, upperBound;\nuniform float contourTint;\nuniform vec4 contourColor;\nuniform sampler2D colormap;\nuniform vec3 clipBounds[2];\nuniform float roughness, fresnel, kambient, kdiffuse, kspecular, opacity;\nuniform float vertexColor;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n if (\n kill > 0.0 ||\n vColor.a == 0.0 ||\n outOfRange(clipBounds[0], clipBounds[1], worldCoordinate)\n ) discard;\n\n vec3 N = normalize(surfaceNormal);\n vec3 V = normalize(eyeDirection);\n vec3 L = normalize(lightDirection);\n\n if(gl_FrontFacing) {\n N = -N;\n }\n\n float specular = max(beckmannSpecular(L, V, N, roughness), 0.);\n float diffuse = min(kambient + kdiffuse * max(dot(N, L), 0.0), 1.0);\n\n //decide how to interpolate color — in vertex or in fragment\n vec4 surfaceColor =\n step(vertexColor, .5) * texture2D(colormap, vec2(value, value)) +\n step(.5, vertexColor) * vColor;\n\n vec4 litColor = surfaceColor.a * vec4(diffuse * surfaceColor.rgb + kspecular * vec3(1,1,1) * specular, 1.0);\n\n gl_FragColor = mix(litColor, contourColor, contourTint) * opacity;\n}\n"]),s=i(["precision highp float;\n#define GLSLIFY 1\n\nattribute vec4 uv;\nattribute float f;\n\nuniform vec3 objectOffset;\nuniform mat3 permutation;\nuniform mat4 model, view, projection;\nuniform float height, zOffset;\nuniform sampler2D colormap;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 lightDirection, eyeDirection, surfaceNormal;\nvarying vec4 vColor;\n\nvoid main() {\n vec3 dataCoordinate = permutation * vec3(uv.xy, height);\n worldCoordinate = objectOffset + dataCoordinate;\n mat4 objectOffsetTranslation = mat4(1.0) + mat4(vec4(0), vec4(0), vec4(0), vec4(objectOffset, 0));\n vec4 worldPosition = (model * objectOffsetTranslation) * vec4(dataCoordinate, 1.0);\n\n vec4 clipPosition = projection * (view * worldPosition);\n clipPosition.z += zOffset;\n\n gl_Position = clipPosition;\n value = f + objectOffset.z;\n kill = -1.0;\n planeCoordinate = uv.zw;\n\n vColor = texture2D(colormap, vec2(value, value));\n\n //Don't do lighting for contours\n surfaceNormal = vec3(1,0,0);\n eyeDirection = vec3(0,1,0);\n lightDirection = vec3(0,0,1);\n}\n"]),l=i(["precision highp float;\n#define GLSLIFY 1\n\nbool outOfRange(float a, float b, float p) {\n return ((p > max(a, b)) || \n (p < min(a, b)));\n}\n\nbool outOfRange(vec2 a, vec2 b, vec2 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y));\n}\n\nbool outOfRange(vec3 a, vec3 b, vec3 p) {\n return (outOfRange(a.x, b.x, p.x) ||\n outOfRange(a.y, b.y, p.y) ||\n outOfRange(a.z, b.z, p.z));\n}\n\nbool outOfRange(vec4 a, vec4 b, vec4 p) {\n return outOfRange(a.xyz, b.xyz, p.xyz);\n}\n\nuniform vec2 shape;\nuniform vec3 clipBounds[2];\nuniform float pickId;\n\nvarying float value, kill;\nvarying vec3 worldCoordinate;\nvarying vec2 planeCoordinate;\nvarying vec3 surfaceNormal;\n\nvec2 splitFloat(float v) {\n float vh = 255.0 * v;\n float upper = floor(vh);\n float lower = fract(vh);\n return vec2(upper / 255.0, floor(lower * 16.0) / 16.0);\n}\n\nvoid main() {\n if ((kill > 0.0) ||\n (outOfRange(clipBounds[0], clipBounds[1], worldCoordinate))) discard;\n\n vec2 ux = splitFloat(planeCoordinate.x / shape.x);\n vec2 uy = splitFloat(planeCoordinate.y / shape.y);\n gl_FragColor = vec4(pickId, ux.x, uy.x, ux.y + (uy.y/16.0));\n}\n"]);e.createShader=function(t){var e=n(t,a,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createPickShader=function(t){var e=n(t,a,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"vec3"},{name:"normal",type:"vec3"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e.attributes.normal.location=2,e},e.createContourShader=function(t){var e=n(t,s,o,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e},e.createPickContourShader=function(t){var e=n(t,s,l,null,[{name:"uv",type:"vec4"},{name:"f",type:"float"}]);return e.attributes.uv.location=0,e.attributes.f.location=1,e}},9499:function(t,e,r){"use strict";t.exports=function(t){var e=t.gl,r=v(e),n=_(e),s=x(e),l=b(e),c=i(e),u=a(e,[{buffer:c,size:4,stride:w,offset:0},{buffer:c,size:3,stride:w,offset:16},{buffer:c,size:3,stride:w,offset:28}]),h=i(e),f=a(e,[{buffer:h,size:4,stride:20,offset:0},{buffer:h,size:1,stride:20,offset:16}]),p=i(e),d=a(e,[{buffer:p,size:2,type:e.FLOAT}]),m=o(e,1,S,e.RGBA,e.UNSIGNED_BYTE);m.minFilter=e.LINEAR,m.magFilter=e.LINEAR;var g=new E(e,[0,0],[[0,0,0],[0,0,0]],r,n,c,u,m,s,l,h,f,p,d,[0,0,0]),y={levels:[[],[],[]]};for(var T in t)y[T]=t[T];return y.colormap=y.colormap||"jet",g.update(y),g};var n=r(8828),i=r(2762),a=r(8116),o=r(7766),s=r(1888),l=r(6729),c=r(5298),u=r(9994),h=r(9618),f=r(3711),p=r(6760),d=r(7608),m=r(2478),g=r(6199),y=r(990),v=y.createShader,x=y.createContourShader,_=y.createPickShader,b=y.createPickContourShader,w=40,T=[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1],k=[[0,0],[0,1],[1,0],[1,1],[1,0],[0,1]],A=[[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];function M(t,e,r,n,i){this.position=t,this.index=e,this.uv=r,this.level=n,this.dataCoordinate=i}!function(){for(var t=0;t<3;++t){var e=A[t],r=(t+2)%3;e[(t+1)%3+0]=1,e[r+3]=1,e[t+6]=1}}();var S=256;function E(t,e,r,n,i,a,o,l,c,u,f,p,d,m,g){this.gl=t,this.shape=e,this.bounds=r,this.objectOffset=g,this.intensityBounds=[],this._shader=n,this._pickShader=i,this._coordinateBuffer=a,this._vao=o,this._colorMap=l,this._contourShader=c,this._contourPickShader=u,this._contourBuffer=f,this._contourVAO=p,this._contourOffsets=[[],[],[]],this._contourCounts=[[],[],[]],this._vertexCount=0,this._pickResult=new M([0,0,0],[0,0],[0,0],[0,0,0],[0,0,0]),this._dynamicBuffer=d,this._dynamicVAO=m,this._dynamicOffsets=[0,0,0],this._dynamicCounts=[0,0,0],this.contourWidth=[1,1,1],this.contourLevels=[[1],[1],[1]],this.contourTint=[0,0,0],this.contourColor=[[.5,.5,.5,1],[.5,.5,.5,1],[.5,.5,.5,1]],this.showContour=!0,this.showSurface=!0,this.enableHighlight=[!0,!0,!0],this.highlightColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.highlightTint=[1,1,1],this.highlightLevel=[-1,-1,-1],this.enableDynamic=[!0,!0,!0],this.dynamicLevel=[NaN,NaN,NaN],this.dynamicColor=[[0,0,0,1],[0,0,0,1],[0,0,0,1]],this.dynamicTint=[1,1,1],this.dynamicWidth=[1,1,1],this.axesBounds=[[1/0,1/0,1/0],[-1/0,-1/0,-1/0]],this.surfaceProject=[!1,!1,!1],this.contourProject=[[!1,!1,!1],[!1,!1,!1],[!1,!1,!1]],this.colorBounds=[!1,!1],this._field=[h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0]),h(s.mallocFloat(1024),[0,0])],this.pickId=1,this.clipBounds=[[-1/0,-1/0,-1/0],[1/0,1/0,1/0]],this.snapToData=!1,this.pixelRatio=1,this.opacity=1,this.lightPosition=[10,1e4,0],this.ambientLight=.8,this.diffuseLight=.8,this.specularLight=2,this.roughness=.5,this.fresnel=1.5,this.vertexColor=0,this.dirty=!0}var C=E.prototype;C.genColormap=function(t,e){var r=!1,n=u([l({colormap:t,nshades:S,format:"rgba"}).map((function(t,n){var i=e?function(t,e){if(!e)return 1;if(!e.length)return 1;for(var r=0;rt&&r>0){var n=(e[r][0]-t)/(e[r][0]-e[r-1][0]);return e[r][1]*(1-n)+n*e[r-1][1]}}return 1}(n/255,e):t[3];return i<1&&(r=!0),[t[0],t[1],t[2],255*i]}))]);return c.divseq(n,255),this.hasAlphaScale=r,n},C.isTransparent=function(){return this.opacity<1||this.hasAlphaScale},C.isOpaque=function(){return!this.isTransparent()},C.pickSlots=1,C.setPickBase=function(t){this.pickId=t};var L=[0,0,0],I={showSurface:!1,showContour:!1,projections:[T.slice(),T.slice(),T.slice()],clipBounds:[[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]],[[0,0,0],[0,0,0]]]};function P(t,e){var r,n,i,a=e.axes&&e.axes.lastCubeProps.axis||L,o=e.showSurface,s=e.showContour;for(r=0;r<3;++r)for(o=o||e.surfaceProject[r],n=0;n<3;++n)s=s||e.contourProject[r][n];for(r=0;r<3;++r){var l=I.projections[r];for(n=0;n<16;++n)l[n]=0;for(n=0;n<4;++n)l[5*n]=1;l[5*r]=0,l[12+r]=e.axesBounds[+(a[r]>0)][r],p(l,t.model,l);var c=I.clipBounds[r];for(i=0;i<2;++i)for(n=0;n<3;++n)c[i][n]=t.clipBounds[i][n];c[0][r]=-1e8,c[1][r]=1e8}return I.showSurface=o,I.showContour=s,I}var z={model:T,view:T,projection:T,inverseModel:T.slice(),lowerBound:[0,0,0],upperBound:[0,0,0],colorMap:0,clipBounds:[[0,0,0],[0,0,0]],height:0,contourTint:0,contourColor:[0,0,0,1],permutation:[1,0,0,0,1,0,0,0,1],zOffset:-1e-4,objectOffset:[0,0,0],kambient:1,kdiffuse:1,kspecular:1,lightPosition:[1e3,1e3,1e3],eyePosition:[0,0,0],roughness:1,fresnel:1,opacity:1,vertexColor:0},O=T.slice(),D=[1,0,0,0,1,0,0,0,1];function R(t,e){t=t||{};var r=this.gl;r.disable(r.CULL_FACE),this._colorMap.bind(0);var n=z;n.model=t.model||T,n.view=t.view||T,n.projection=t.projection||T,n.lowerBound=[this.bounds[0][0],this.bounds[0][1],this.colorBounds[0]||this.bounds[0][2]],n.upperBound=[this.bounds[1][0],this.bounds[1][1],this.colorBounds[1]||this.bounds[1][2]],n.objectOffset=this.objectOffset,n.contourColor=this.contourColor[0],n.inverseModel=d(n.inverseModel,n.model);for(var i=0;i<2;++i)for(var a=n.clipBounds[i],o=0;o<3;++o)a[o]=Math.min(Math.max(this.clipBounds[i][o],-1e8),1e8);n.kambient=this.ambientLight,n.kdiffuse=this.diffuseLight,n.kspecular=this.specularLight,n.roughness=this.roughness,n.fresnel=this.fresnel,n.opacity=this.opacity,n.height=0,n.permutation=D,n.vertexColor=this.vertexColor;var s=O;for(p(s,n.view,n.model),p(s,n.projection,s),d(s,s),i=0;i<3;++i)n.eyePosition[i]=s[12+i]/s[15];var l=s[15];for(i=0;i<3;++i)l+=this.lightPosition[i]*s[4*i+3];for(i=0;i<3;++i){var c=s[12+i];for(o=0;o<3;++o)c+=s[4*o+i]*this.lightPosition[o];n.lightPosition[i]=c/l}var u=P(n,this);if(u.showSurface){for(this._shader.bind(),this._shader.uniforms=n,this._vao.bind(),this.showSurface&&this._vertexCount&&this._vao.draw(r.TRIANGLES,this._vertexCount),i=0;i<3;++i)this.surfaceProject[i]&&this.vertexCount&&(this._shader.uniforms.model=u.projections[i],this._shader.uniforms.clipBounds=u.clipBounds[i],this._vao.draw(r.TRIANGLES,this._vertexCount));this._vao.unbind()}if(u.showContour){var h=this._contourShader;n.kambient=1,n.kdiffuse=0,n.kspecular=0,n.opacity=1,h.bind(),h.uniforms=n;var f=this._contourVAO;for(f.bind(),i=0;i<3;++i)for(h.uniforms.permutation=A[i],r.lineWidth(this.contourWidth[i]*this.pixelRatio),o=0;o>4)/16)/255,i=Math.floor(n),a=n-i,o=e[1]*(t.value[1]+(15&t.value[2])/16)/255,s=Math.floor(o),l=o-s;i+=1,s+=1;var c=r.position;c[0]=c[1]=c[2]=0;for(var u=0;u<2;++u)for(var h=u?a:1-a,f=0;f<2;++f)for(var p=i+u,d=s+f,g=h*(f?l:1-l),y=0;y<3;++y)c[y]+=this._field[y].get(p,d)*g;for(var v=this._pickResult.level,x=0;x<3;++x)if(v[x]=m.le(this.contourLevels[x],c[x]),v[x]<0)this.contourLevels[x].length>0&&(v[x]=0);else if(v[x]Math.abs(b-c[x])&&(v[x]+=1)}for(r.index[0]=a<.5?i:i+1,r.index[1]=l<.5?s:s+1,r.uv[0]=n/e[0],r.uv[1]=o/e[1],y=0;y<3;++y)r.dataCoordinate[y]=this._field[y].get(r.index[0],r.index[1]);return r},C.padField=function(t,e){var r=e.shape.slice(),n=t.shape.slice();c.assign(t.lo(1,1).hi(r[0],r[1]),e),c.assign(t.lo(1).hi(r[0],1),e.hi(r[0],1)),c.assign(t.lo(1,n[1]-1).hi(r[0],1),e.lo(0,r[1]-1).hi(r[0],1)),c.assign(t.lo(0,1).hi(1,r[1]),e.hi(1)),c.assign(t.lo(n[0]-1,1).hi(1,r[1]),e.lo(r[0]-1)),t.set(0,0,e.get(0,0)),t.set(0,n[1]-1,e.get(0,r[1]-1)),t.set(n[0]-1,0,e.get(r[0]-1,0)),t.set(n[0]-1,n[1]-1,e.get(r[0]-1,r[1]-1))},C.update=function(t){t=t||{},this.objectOffset=t.objectOffset||this.objectOffset,this.dirty=!0,"contourWidth"in t&&(this.contourWidth=B(t.contourWidth,Number)),"showContour"in t&&(this.showContour=B(t.showContour,Boolean)),"showSurface"in t&&(this.showSurface=!!t.showSurface),"contourTint"in t&&(this.contourTint=B(t.contourTint,Boolean)),"contourColor"in t&&(this.contourColor=j(t.contourColor)),"contourProject"in t&&(this.contourProject=B(t.contourProject,(function(t){return B(t,Boolean)}))),"surfaceProject"in t&&(this.surfaceProject=t.surfaceProject),"dynamicColor"in t&&(this.dynamicColor=j(t.dynamicColor)),"dynamicTint"in t&&(this.dynamicTint=B(t.dynamicTint,Number)),"dynamicWidth"in t&&(this.dynamicWidth=B(t.dynamicWidth,Number)),"opacity"in t&&(this.opacity=t.opacity),"opacityscale"in t&&(this.opacityscale=t.opacityscale),"colorBounds"in t&&(this.colorBounds=t.colorBounds),"vertexColor"in t&&(this.vertexColor=t.vertexColor?1:0),"colormap"in t&&this._colorMap.setPixels(this.genColormap(t.colormap,this.opacityscale));var e=t.field||t.coords&&t.coords[2]||null,r=!1;if(e||(e=this._field[2].shape[0]||this._field[2].shape[2]?this._field[2].lo(1,1).hi(this._field[2].shape[0]-2,this._field[2].shape[1]-2):this._field[2].hi(0,0)),"field"in t||"coords"in t){var i=(e.shape[0]+2)*(e.shape[1]+2);i>this._field[2].data.length&&(s.freeFloat(this._field[2].data),this._field[2].data=s.mallocFloat(n.nextPow2(i))),this._field[2]=h(this._field[2].data,[e.shape[0]+2,e.shape[1]+2]),this.padField(this._field[2],e),this.shape=e.shape.slice();for(var a=this.shape,o=0;o<2;++o)this._field[2].size>this._field[o].data.length&&(s.freeFloat(this._field[o].data),this._field[o].data=s.mallocFloat(this._field[2].size)),this._field[o]=h(this._field[o].data,[a[0]+2,a[1]+2]);if(t.coords){var l=t.coords;if(!Array.isArray(l)||3!==l.length)throw new Error("gl-surface: invalid coordinates for x/y");for(o=0;o<2;++o){var c=l[o];for(y=0;y<2;++y)if(c.shape[y]!==a[y])throw new Error("gl-surface: coords have incorrect shape");this.padField(this._field[o],c)}}else if(t.ticks){var u=t.ticks;if(!Array.isArray(u)||2!==u.length)throw new Error("gl-surface: invalid ticks");for(o=0;o<2;++o){var p=u[o];if((Array.isArray(p)||p.length)&&(p=h(p)),p.shape[0]!==a[o])throw new Error("gl-surface: invalid tick length");var d=h(p.data,a);d.stride[o]=p.stride[0],d.stride[1^o]=0,this.padField(this._field[o],d)}}else{for(o=0;o<2;++o){var m=[0,0];m[o]=1,this._field[o]=h(this._field[o].data,[a[0]+2,a[1]+2],m,0)}this._field[0].set(0,0,0);for(var y=0;y0){for(var xt=0;xt<5;++xt)K.pop();U-=1}continue t}K.push(nt[0],nt[1],ot[0],ot[1],nt[2]),U+=1}}rt.push(U)}this._contourOffsets[Q]=et,this._contourCounts[Q]=rt}var _t=s.mallocFloat(K.length);for(o=0;os||o[1]<0||o[1]>s)throw new Error("gl-texture2d: Invalid texture size");var l=d(o,e.stride.slice()),c=0;"float32"===r?c=t.FLOAT:"float64"===r?(c=t.FLOAT,l=!1,r="float32"):"uint8"===r?c=t.UNSIGNED_BYTE:(c=t.UNSIGNED_BYTE,l=!1,r="uint8");var h,p,g=0;if(2===o.length)g=t.LUMINANCE,o=[o[0],o[1],1],e=n(e.data,o,[e.stride[0],e.stride[1],1],e.offset);else{if(3!==o.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===o[2])g=t.ALPHA;else if(2===o[2])g=t.LUMINANCE_ALPHA;else if(3===o[2])g=t.RGB;else{if(4!==o[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}}c!==t.FLOAT||t.getExtension("OES_texture_float")||(c=t.UNSIGNED_BYTE,l=!1);var y=e.size;if(l)h=0===e.offset&&e.data.length===y?e.data:e.data.subarray(e.offset,e.offset+y);else{var v=[o[2],o[2]*o[0],1];p=a.malloc(y,r);var x=n(p,o,v,0);"float32"!==r&&"float64"!==r||c!==t.UNSIGNED_BYTE?i.assign(x,e):u(x,e),h=p.subarray(0,y)}var _=m(t);return t.texImage2D(t.TEXTURE_2D,0,g,o[0],o[1],0,g,c,h),l||a.free(p),new f(t,_,o[0],o[1],g,c)}(t,e)}throw new Error("gl-texture2d: Invalid arguments for texture2d constructor")};var o=null,s=null,l=null;function c(t){return"undefined"!=typeof HTMLCanvasElement&&t instanceof HTMLCanvasElement||"undefined"!=typeof HTMLImageElement&&t instanceof HTMLImageElement||"undefined"!=typeof HTMLVideoElement&&t instanceof HTMLVideoElement||"undefined"!=typeof ImageData&&t instanceof ImageData}var u=function(t,e){i.muls(t,e,255)};function h(t,e,r){var n=t.gl,i=n.getParameter(n.MAX_TEXTURE_SIZE);if(e<0||e>i||r<0||r>i)throw new Error("gl-texture2d: Invalid texture size");return t._shape=[e,r],t.bind(),n.texImage2D(n.TEXTURE_2D,0,t.format,e,r,0,t.format,t.type,null),t._mipLevels=[0],t}function f(t,e,r,n,i,a){this.gl=t,this.handle=e,this.format=i,this.type=a,this._shape=[r,n],this._mipLevels=[0],this._magFilter=t.NEAREST,this._minFilter=t.NEAREST,this._wrapS=t.CLAMP_TO_EDGE,this._wrapT=t.CLAMP_TO_EDGE,this._anisoSamples=1;var o=this,s=[this._wrapS,this._wrapT];Object.defineProperties(s,[{get:function(){return o._wrapS},set:function(t){return o.wrapS=t}},{get:function(){return o._wrapT},set:function(t){return o.wrapT=t}}]),this._wrapVector=s;var l=[this._shape[0],this._shape[1]];Object.defineProperties(l,[{get:function(){return o._shape[0]},set:function(t){return o.width=t}},{get:function(){return o._shape[1]},set:function(t){return o.height=t}}]),this._shapeVector=l}var p=f.prototype;function d(t,e){return 3===t.length?1===e[2]&&e[1]===t[0]*t[2]&&e[0]===t[2]:1===e[0]&&e[1]===t[0]}function m(t){var e=t.createTexture();return t.bindTexture(t.TEXTURE_2D,e),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),e}function g(t,e,r,n,i){var a=t.getParameter(t.MAX_TEXTURE_SIZE);if(e<0||e>a||r<0||r>a)throw new Error("gl-texture2d: Invalid texture shape");if(i===t.FLOAT&&!t.getExtension("OES_texture_float"))throw new Error("gl-texture2d: Floating point textures not supported on this platform");var o=m(t);return t.texImage2D(t.TEXTURE_2D,0,n,e,r,0,n,i,null),new f(t,o,e,r,n,i)}Object.defineProperties(p,{minFilter:{get:function(){return this._minFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,t),this._minFilter=t}},magFilter:{get:function(){return this._magFilter},set:function(t){this.bind();var e=this.gl;if(this.type===e.FLOAT&&o.indexOf(t)>=0&&(e.getExtension("OES_texture_float_linear")||(t=e.NEAREST)),s.indexOf(t)<0)throw new Error("gl-texture2d: Unknown filter mode "+t);return e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,t),this._magFilter=t}},mipSamples:{get:function(){return this._anisoSamples},set:function(t){var e=this._anisoSamples;if(this._anisoSamples=0|Math.max(t,1),e!==this._anisoSamples){var r=this.gl.getExtension("EXT_texture_filter_anisotropic");r&&this.gl.texParameterf(this.gl.TEXTURE_2D,r.TEXTURE_MAX_ANISOTROPY_EXT,this._anisoSamples)}return this._anisoSamples}},wrapS:{get:function(){return this._wrapS},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,t),this._wrapS=t}},wrapT:{get:function(){return this._wrapT},set:function(t){if(this.bind(),l.indexOf(t)<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);return this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,t),this._wrapT=t}},wrap:{get:function(){return this._wrapVector},set:function(t){if(Array.isArray(t)||(t=[t,t]),2!==t.length)throw new Error("gl-texture2d: Must specify wrap mode for rows and columns");for(var e=0;e<2;++e)if(l.indexOf(t[e])<0)throw new Error("gl-texture2d: Unknown wrap mode "+t);this._wrapS=t[0],this._wrapT=t[1];var r=this.gl;return this.bind(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,this._wrapS),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,this._wrapT),t}},shape:{get:function(){return this._shapeVector},set:function(t){if(Array.isArray(t)){if(2!==t.length)throw new Error("gl-texture2d: Invalid texture shape")}else t=[0|t,0|t];return h(this,0|t[0],0|t[1]),[0|t[0],0|t[1]]}},width:{get:function(){return this._shape[0]},set:function(t){return h(this,t|=0,this._shape[1]),t}},height:{get:function(){return this._shape[1]},set:function(t){return t|=0,h(this,this._shape[0],t),t}}}),p.bind=function(t){var e=this.gl;return void 0!==t&&e.activeTexture(e.TEXTURE0+(0|t)),e.bindTexture(e.TEXTURE_2D,this.handle),void 0!==t?0|t:e.getParameter(e.ACTIVE_TEXTURE)-e.TEXTURE0},p.dispose=function(){this.gl.deleteTexture(this.handle)},p.generateMipmap=function(){this.bind(),this.gl.generateMipmap(this.gl.TEXTURE_2D);for(var t=Math.min(this._shape[0],this._shape[1]),e=0;t>0;++e,t>>>=1)this._mipLevels.indexOf(e)<0&&this._mipLevels.push(e)},p.setPixels=function(t,e,r,o){var s=this.gl;this.bind(),Array.isArray(e)?(o=r,r=0|e[1],e=0|e[0]):(e=e||0,r=r||0),o=o||0;var l=c(t)?t:t.raw;if(l)this._mipLevels.indexOf(o)<0?(s.texImage2D(s.TEXTURE_2D,0,this.format,this.format,this.type,l),this._mipLevels.push(o)):s.texSubImage2D(s.TEXTURE_2D,o,e,r,this.format,this.type,l);else{if(!(t.shape&&t.stride&&t.data))throw new Error("gl-texture2d: Unsupported data type");if(t.shape.length<2||e+t.shape[1]>this._shape[1]>>>o||r+t.shape[0]>this._shape[0]>>>o||e<0||r<0)throw new Error("gl-texture2d: Texture dimensions are out of bounds");!function(t,e,r,o,s,l,c,h){var f=h.dtype,p=h.shape.slice();if(p.length<2||p.length>3)throw new Error("gl-texture2d: Invalid ndarray, must be 2d or 3d");var m=0,g=0,y=d(p,h.stride.slice());if("float32"===f?m=t.FLOAT:"float64"===f?(m=t.FLOAT,y=!1,f="float32"):"uint8"===f?m=t.UNSIGNED_BYTE:(m=t.UNSIGNED_BYTE,y=!1,f="uint8"),2===p.length)g=t.LUMINANCE,p=[p[0],p[1],1],h=n(h.data,p,[h.stride[0],h.stride[1],1],h.offset);else{if(3!==p.length)throw new Error("gl-texture2d: Invalid shape for texture");if(1===p[2])g=t.ALPHA;else if(2===p[2])g=t.LUMINANCE_ALPHA;else if(3===p[2])g=t.RGB;else{if(4!==p[2])throw new Error("gl-texture2d: Invalid shape for pixel coords");g=t.RGBA}p[2]}if(g!==t.LUMINANCE&&g!==t.ALPHA||s!==t.LUMINANCE&&s!==t.ALPHA||(g=s),g!==s)throw new Error("gl-texture2d: Incompatible texture format for setPixels");var v=h.size,x=c.indexOf(o)<0;if(x&&c.push(o),m===l&&y)0===h.offset&&h.data.length===v?x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,h.data):x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,h.data.subarray(h.offset,h.offset+v)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,h.data.subarray(h.offset,h.offset+v));else{var _;_=l===t.FLOAT?a.mallocFloat32(v):a.mallocUint8(v);var b=n(_,p,[p[2],p[2]*p[0],1]);m===t.FLOAT&&l===t.UNSIGNED_BYTE?u(b,h):i.assign(b,h),x?t.texImage2D(t.TEXTURE_2D,o,s,p[0],p[1],0,s,l,_.subarray(0,v)):t.texSubImage2D(t.TEXTURE_2D,o,e,r,p[0],p[1],s,l,_.subarray(0,v)),l===t.FLOAT?a.freeFloat32(_):a.freeUint8(_)}}(s,e,r,o,this.format,this.type,this._mipLevels,t)}}},1433:function(t){"use strict";t.exports=function(t,e,r){e?e.bind():t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null);var n=0|t.getParameter(t.MAX_VERTEX_ATTRIBS);if(r){if(r.length>n)throw new Error("gl-vao: Too many vertex attributes");for(var i=0;i1?0:Math.acos(s)};var n=r(2825),i=r(3536),a=r(244)},9226:function(t){t.exports=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t}},3126:function(t){t.exports=function(t){var e=new Float32Array(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e}},3990:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}},1091:function(t){t.exports=function(){var t=new Float32Array(3);return t[0]=0,t[1]=0,t[2]=0,t}},5911:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}},5455:function(t,e,r){t.exports=r(7056)},7056:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return Math.sqrt(r*r+n*n+i*i)}},4008:function(t,e,r){t.exports=r(6690)},6690:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t}},244:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}},2613:function(t){t.exports=1e-6},9922:function(t,e,r){t.exports=function(t,e){var r=t[0],i=t[1],a=t[2],o=e[0],s=e[1],l=e[2];return Math.abs(r-o)<=n*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(i-s)<=n*Math.max(1,Math.abs(i),Math.abs(s))&&Math.abs(a-l)<=n*Math.max(1,Math.abs(a),Math.abs(l))};var n=r(2613)},9265:function(t){t.exports=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}},2681:function(t){t.exports=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t}},5137:function(t,e,r){t.exports=function(t,e,r,i,a,o){var s,l;for(e||(e=3),r||(r=0),l=i?Math.min(i*e+r,t.length):t.length,s=r;s0&&(a=1/Math.sqrt(a),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a),t}},7636:function(t){t.exports=function(t,e){e=e||1;var r=2*Math.random()*Math.PI,n=2*Math.random()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(r)*i,t[1]=Math.sin(r)*i,t[2]=n*e,t}},6894:function(t){t.exports=function(t,e,r,n){var i=r[1],a=r[2],o=e[1]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=e[0],t[1]=i+o*c-s*l,t[2]=a+o*l+s*c,t}},109:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[2],o=e[0]-i,s=e[2]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+s*l+o*c,t[1]=e[1],t[2]=a+s*c-o*l,t}},8692:function(t){t.exports=function(t,e,r,n){var i=r[0],a=r[1],o=e[0]-i,s=e[1]-a,l=Math.sin(n),c=Math.cos(n);return t[0]=i+o*c-s*l,t[1]=a+o*l+s*c,t[2]=e[2],t}},2447:function(t){t.exports=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t}},6621:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}},8489:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t}},1463:function(t){t.exports=function(t,e,r,n){return t[0]=e,t[1]=r,t[2]=n,t}},6141:function(t,e,r){t.exports=r(2953)},5486:function(t,e,r){t.exports=r(3066)},2953:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2];return r*r+n*n+i*i}},3066:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2];return e*e+r*r+n*n}},2229:function(t,e,r){t.exports=r(6843)},6843:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t}},492:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2];return t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8],t}},5673:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[3]*n+r[7]*i+r[11]*a+r[15];return o=o||1,t[0]=(r[0]*n+r[4]*i+r[8]*a+r[12])/o,t[1]=(r[1]*n+r[5]*i+r[9]*a+r[13])/o,t[2]=(r[2]*n+r[6]*i+r[10]*a+r[14])/o,t}},264:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,h=c*i+l*n-o*a,f=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t}},4361:function(t){t.exports=function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t[3]=e[3]+r[3],t}},2335:function(t){t.exports=function(t){var e=new Float32Array(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e}},2933:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}},7536:function(t){t.exports=function(){var t=new Float32Array(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t}},4691:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return Math.sqrt(r*r+n*n+i*i+a*a)}},1373:function(t){t.exports=function(t,e,r){return t[0]=e[0]/r[0],t[1]=e[1]/r[1],t[2]=e[2]/r[2],t[3]=e[3]/r[3],t}},3750:function(t){t.exports=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]}},3390:function(t){t.exports=function(t,e,r,n){var i=new Float32Array(4);return i[0]=t,i[1]=e,i[2]=r,i[3]=n,i}},9970:function(t,e,r){t.exports={create:r(7536),clone:r(2335),fromValues:r(3390),copy:r(2933),set:r(4578),add:r(4361),subtract:r(6860),multiply:r(3576),divide:r(1373),min:r(2334),max:r(160),scale:r(9288),scaleAndAdd:r(4844),distance:r(4691),squaredDistance:r(7960),length:r(6808),squaredLength:r(483),negate:r(1498),inverse:r(4494),normalize:r(5177),dot:r(3750),lerp:r(2573),random:r(9131),transformMat4:r(5352),transformQuat:r(4041)}},4494:function(t){t.exports=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t}},6808:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return Math.sqrt(e*e+r*r+n*n+i*i)}},2573:function(t){t.exports=function(t,e,r,n){var i=e[0],a=e[1],o=e[2],s=e[3];return t[0]=i+n*(r[0]-i),t[1]=a+n*(r[1]-a),t[2]=o+n*(r[2]-o),t[3]=s+n*(r[3]-s),t}},160:function(t){t.exports=function(t,e,r){return t[0]=Math.max(e[0],r[0]),t[1]=Math.max(e[1],r[1]),t[2]=Math.max(e[2],r[2]),t[3]=Math.max(e[3],r[3]),t}},2334:function(t){t.exports=function(t,e,r){return t[0]=Math.min(e[0],r[0]),t[1]=Math.min(e[1],r[1]),t[2]=Math.min(e[2],r[2]),t[3]=Math.min(e[3],r[3]),t}},3576:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r[0],t[1]=e[1]*r[1],t[2]=e[2]*r[2],t[3]=e[3]*r[3],t}},1498:function(t){t.exports=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t}},5177:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r*r+n*n+i*i+a*a;return o>0&&(o=1/Math.sqrt(o),t[0]=r*o,t[1]=n*o,t[2]=i*o,t[3]=a*o),t}},9131:function(t,e,r){var n=r(5177),i=r(9288);t.exports=function(t,e){return e=e||1,t[0]=Math.random(),t[1]=Math.random(),t[2]=Math.random(),t[3]=Math.random(),n(t,t),i(t,t,e),t}},9288:function(t){t.exports=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t}},4844:function(t){t.exports=function(t,e,r,n){return t[0]=e[0]+r[0]*n,t[1]=e[1]+r[1]*n,t[2]=e[2]+r[2]*n,t[3]=e[3]+r[3]*n,t}},4578:function(t){t.exports=function(t,e,r,n,i){return t[0]=e,t[1]=r,t[2]=n,t[3]=i,t}},7960:function(t){t.exports=function(t,e){var r=e[0]-t[0],n=e[1]-t[1],i=e[2]-t[2],a=e[3]-t[3];return r*r+n*n+i*i+a*a}},483:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3];return e*e+r*r+n*n+i*i}},6860:function(t){t.exports=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t[3]=e[3]-r[3],t}},5352:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}},4041:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2],c=r[3],u=c*n+s*a-l*i,h=c*i+l*n-o*a,f=c*a+o*i-s*n,p=-o*n-s*i-l*a;return t[0]=u*c+p*-o+h*-l-f*-s,t[1]=h*c+p*-s+f*-o-u*-l,t[2]=f*c+p*-l+u*-s-h*-o,t[3]=e[3],t}},1848:function(t,e,r){var n=r(4905),i=r(6468);t.exports=function(t){for(var e=Array.isArray(t)?t:n(t),r=0;r0)continue;r=t.slice(0,1).join("")}return N(r),I+=r.length,(S=S.slice(r.length)).length}}function Z(){return/[^a-fA-F0-9]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function W(){return"."===e||/[eE]/.test(e)?(S.push(e),M=m,r=e,k+1):"x"===e&&1===S.length&&"0"===S[0]?(M=b,S.push(e),r=e,k+1):/[^\d]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function Y(){return"f"===e&&(S.push(e),r=e,k+=1),/[eE]/.test(e)?(S.push(e),r=e,k+1):("-"!==e&&"+"!==e||!/[eE]/.test(r))&&/[^\d]/.test(e)?(N(S.join("")),M=l,k):(S.push(e),r=e,k+1)}function X(){if(/[^\d\w_]/.test(e)){var t=S.join("");return M=B[t]?v:F[t]?y:g,N(S.join("")),M=l,k}return S.push(e),r=e,k+1}};var n=r(620),i=r(7827),a=r(6852),o=r(7932),s=r(3508),l=999,c=9999,u=0,h=1,f=2,p=3,d=4,m=5,g=6,y=7,v=8,x=9,_=10,b=11,w=["block-comment","line-comment","preprocessor","operator","integer","float","ident","builtin","keyword","whitespace","eof","integer"]},3508:function(t,e,r){var n=r(6852);n=n.slice().filter((function(t){return!/^(gl\_|texture)/.test(t)})),t.exports=n.concat(["gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","trunc","round","roundEven","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","outerProduct","transpose","determinant","inverse","texture","textureSize","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset"])},6852:function(t){t.exports=["abs","acos","all","any","asin","atan","ceil","clamp","cos","cross","dFdx","dFdy","degrees","distance","dot","equal","exp","exp2","faceforward","floor","fract","gl_BackColor","gl_BackLightModelProduct","gl_BackLightProduct","gl_BackMaterial","gl_BackSecondaryColor","gl_ClipPlane","gl_ClipVertex","gl_Color","gl_DepthRange","gl_DepthRangeParameters","gl_EyePlaneQ","gl_EyePlaneR","gl_EyePlaneS","gl_EyePlaneT","gl_Fog","gl_FogCoord","gl_FogFragCoord","gl_FogParameters","gl_FragColor","gl_FragCoord","gl_FragData","gl_FragDepth","gl_FragDepthEXT","gl_FrontColor","gl_FrontFacing","gl_FrontLightModelProduct","gl_FrontLightProduct","gl_FrontMaterial","gl_FrontSecondaryColor","gl_LightModel","gl_LightModelParameters","gl_LightModelProducts","gl_LightProducts","gl_LightSource","gl_LightSourceParameters","gl_MaterialParameters","gl_MaxClipPlanes","gl_MaxCombinedTextureImageUnits","gl_MaxDrawBuffers","gl_MaxFragmentUniformComponents","gl_MaxLights","gl_MaxTextureCoords","gl_MaxTextureImageUnits","gl_MaxTextureUnits","gl_MaxVaryingFloats","gl_MaxVertexAttribs","gl_MaxVertexTextureImageUnits","gl_MaxVertexUniformComponents","gl_ModelViewMatrix","gl_ModelViewMatrixInverse","gl_ModelViewMatrixInverseTranspose","gl_ModelViewMatrixTranspose","gl_ModelViewProjectionMatrix","gl_ModelViewProjectionMatrixInverse","gl_ModelViewProjectionMatrixInverseTranspose","gl_ModelViewProjectionMatrixTranspose","gl_MultiTexCoord0","gl_MultiTexCoord1","gl_MultiTexCoord2","gl_MultiTexCoord3","gl_MultiTexCoord4","gl_MultiTexCoord5","gl_MultiTexCoord6","gl_MultiTexCoord7","gl_Normal","gl_NormalMatrix","gl_NormalScale","gl_ObjectPlaneQ","gl_ObjectPlaneR","gl_ObjectPlaneS","gl_ObjectPlaneT","gl_Point","gl_PointCoord","gl_PointParameters","gl_PointSize","gl_Position","gl_ProjectionMatrix","gl_ProjectionMatrixInverse","gl_ProjectionMatrixInverseTranspose","gl_ProjectionMatrixTranspose","gl_SecondaryColor","gl_TexCoord","gl_TextureEnvColor","gl_TextureMatrix","gl_TextureMatrixInverse","gl_TextureMatrixInverseTranspose","gl_TextureMatrixTranspose","gl_Vertex","greaterThan","greaterThanEqual","inversesqrt","length","lessThan","lessThanEqual","log","log2","matrixCompMult","max","min","mix","mod","normalize","not","notEqual","pow","radians","reflect","refract","sign","sin","smoothstep","sqrt","step","tan","texture2D","texture2DLod","texture2DProj","texture2DProjLod","textureCube","textureCubeLod","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT"]},7932:function(t,e,r){var n=r(620);t.exports=n.slice().concat(["layout","centroid","smooth","case","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","uvec2","uvec3","uvec4","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","coherent","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","image1DShadow","image2DShadow","image1DArrayShadow","image2DArrayShadow","imageBuffer","iimageBuffer","uimageBuffer","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray"])},620:function(t){t.exports=["precision","highp","mediump","lowp","attribute","const","uniform","varying","break","continue","do","for","while","if","else","in","out","inout","float","int","uint","void","bool","true","false","discard","return","mat2","mat3","mat4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","sampler1D","sampler2D","sampler3D","samplerCube","sampler1DShadow","sampler2DShadow","struct","asm","class","union","enum","typedef","template","this","packed","goto","switch","default","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler2DRect","sampler3DRect","sampler2DRectShadow","sizeof","cast","namespace","using"]},7827:function(t){t.exports=["<<=",">>=","++","--","<<",">>","<=",">=","==","!=","&&","||","+=","-=","*=","/=","%=","&=","^^","^=","|=","(",")","[","]",".","!","~","*","/","%","+","-","<",">","&","^","|","?",":","=",",",";","{","}"]},4905:function(t,e,r){var n=r(5874);t.exports=function(t,e){var r=n(e),i=[];return(i=i.concat(r(t))).concat(r(null))}},3236:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m}},8954:function(t,e,r){"use strict";t.exports=function(t,e){var r=t.length;if(0===r)throw new Error("Must have at least d+1 points");var i=t[0].length;if(r<=i)throw new Error("Must input at least d+1 points");var o=t.slice(0,i+1),s=n.apply(void 0,o);if(0===s)throw new Error("Input not in general position");for(var l=new Array(i+1),u=0;u<=i;++u)l[u]=u;s<0&&(l[0]=1,l[1]=0);var h=new a(l,new Array(i+1),!1),f=h.adjacent,p=new Array(i+2);for(u=0;u<=i;++u){for(var d=l.slice(),m=0;m<=i;++m)m===u&&(d[m]=-1);var g=d[0];d[0]=d[1],d[1]=g;var y=new a(d,new Array(i+1),!0);f[u]=y,p[u]=y}for(p[i+1]=h,u=0;u<=i;++u){d=f[u].vertices;var v=f[u].adjacent;for(m=0;m<=i;++m){var x=d[m];if(x<0)v[m]=h;else for(var _=0;_<=i;++_)f[_].vertices.indexOf(x)<0&&(v[m]=f[_])}}var b=new c(i,o,p),w=!!e;for(u=i+1;u0;)for(var s=(t=o.pop()).adjacent,l=0;l<=r;++l){var c=s[l];if(c.boundary&&!(c.lastVisited<=-n)){for(var u=c.vertices,h=0;h<=r;++h){var f=u[h];i[h]=f<0?e:a[f]}var p=this.orient();if(p>0)return c;c.lastVisited=-n,0===p&&o.push(c)}}return null},u.walk=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,a=this.tuple,o=e?this.interior.length*Math.random()|0:this.interior.length-1,s=this.interior[o];t:for(;!s.boundary;){for(var l=s.vertices,c=s.adjacent,u=0;u<=n;++u)a[u]=i[l[u]];for(s.lastVisited=r,u=0;u<=n;++u){var h=c[u];if(!(h.lastVisited>=r)){var f=a[u];a[u]=t;var p=this.orient();if(a[u]=f,p<0){s=h;continue t}h.boundary?h.lastVisited=-r:h.lastVisited=r}}return}return s},u.addPeaks=function(t,e){var r=this.vertices.length-1,n=this.dimension,i=this.vertices,l=this.tuple,c=this.interior,u=this.simplices,h=[e];e.lastVisited=r,e.vertices[e.vertices.indexOf(-1)]=r,e.boundary=!1,c.push(e);for(var f=[];h.length>0;){var p=(e=h.pop()).vertices,d=e.adjacent,m=p.indexOf(r);if(!(m<0))for(var g=0;g<=n;++g)if(g!==m){var y=d[g];if(y.boundary&&!(y.lastVisited>=r)){var v=y.vertices;if(y.lastVisited!==-r){for(var x=0,_=0;_<=n;++_)v[_]<0?(x=_,l[_]=t):l[_]=i[v[_]];if(this.orient()>0){v[x]=r,y.boundary=!1,c.push(y),h.push(y),y.lastVisited=r;continue}y.lastVisited=-r}var b=y.adjacent,w=p.slice(),T=d.slice(),k=new a(w,T,!0);u.push(k);var A=b.indexOf(e);if(!(A<0))for(b[A]=k,T[m]=y,w[g]=-1,T[g]=e,d[g]=k,k.flip(),_=0;_<=n;++_){var M=w[_];if(!(M<0||M===r)){for(var S=new Array(n-1),E=0,C=0;C<=n;++C){var L=w[C];L<0||C===_||(S[E++]=L)}f.push(new o(S,k,_))}}}}}for(f.sort(s),g=0;g+1=0?o[l++]=s[u]:c=1&u;if(c===(1&t)){var h=o[0];o[0]=o[1],o[1]=h}e.push(o)}}return e}},3352:function(t,e,r){"use strict";var n=r(2478);function i(t,e,r,n,i){this.mid=t,this.left=e,this.right=r,this.leftPoints=n,this.rightPoints=i,this.count=(e?e.count:0)+(r?r.count:0)+n.length}t.exports=function(t){return t&&0!==t.length?new y(g(t)):new y(null)};var a=i.prototype;function o(t,e){t.mid=e.mid,t.left=e.left,t.right=e.right,t.leftPoints=e.leftPoints,t.rightPoints=e.rightPoints,t.count=e.count}function s(t,e){var r=g(e);t.mid=r.mid,t.left=r.left,t.right=r.right,t.leftPoints=r.leftPoints,t.rightPoints=r.rightPoints,t.count=r.count}function l(t,e){var r=t.intervals([]);r.push(e),s(t,r)}function c(t,e){var r=t.intervals([]),n=r.indexOf(e);return n<0?0:(r.splice(n,1),s(t,r),1)}function u(t,e,r){for(var n=0;n=0&&t[n][1]>=e;--n){var i=r(t[n]);if(i)return i}}function f(t,e){for(var r=0;r>1],a=[],o=[],s=[];for(r=0;r3*(e+1)?l(this,t):this.left.insert(t):this.left=g([t]);else if(t[0]>this.mid)this.right?4*(this.right.count+1)>3*(e+1)?l(this,t):this.right.insert(t):this.right=g([t]);else{var r=n.ge(this.leftPoints,t,d),i=n.ge(this.rightPoints,t,m);this.leftPoints.splice(r,0,t),this.rightPoints.splice(i,0,t)}},a.remove=function(t){var e=this.count-this.leftPoints;if(t[1]3*(e-1)?c(this,t):2===(s=this.left.remove(t))?(this.left=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(t[0]>this.mid)return this.right?4*(this.left?this.left.count:0)>3*(e-1)?c(this,t):2===(s=this.right.remove(t))?(this.right=null,this.count-=1,1):(1===s&&(this.count-=1),s):0;if(1===this.count)return this.leftPoints[0]===t?2:0;if(1===this.leftPoints.length&&this.leftPoints[0]===t){if(this.left&&this.right){for(var r=this,i=this.left;i.right;)r=i,i=i.right;if(r===this)i.right=this.right;else{var a=this.left,s=this.right;r.count-=i.count,r.right=i.left,i.left=a,i.right=s}o(this,i),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return 1}for(a=n.ge(this.leftPoints,t,d);athis.mid?this.right&&(r=this.right.queryPoint(t,e))?r:h(this.rightPoints,t,e):f(this.leftPoints,e);var r},a.queryInterval=function(t,e,r){var n;return tthis.mid&&this.right&&(n=this.right.queryInterval(t,e,r))?n:ethis.mid?h(this.rightPoints,t,r):f(this.leftPoints,r)};var v=y.prototype;v.insert=function(t){this.root?this.root.insert(t):this.root=new i(t[0],null,null,[t],[t])},v.remove=function(t){if(this.root){var e=this.root.remove(t);return 2===e&&(this.root=null),0!==e}return!1},v.queryPoint=function(t,e){if(this.root)return this.root.queryPoint(t,e)},v.queryInterval=function(t,e,r){if(t<=e&&this.root)return this.root.queryInterval(t,e,r)},Object.defineProperty(v,"count",{get:function(){return this.root?this.root.count:0}}),Object.defineProperty(v,"intervals",{get:function(){return this.root?this.root.intervals([]):[]}})},7762:function(t){"use strict";t.exports=function(t){for(var e=new Array(t),r=0;r13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},395:function(t){t.exports=function(t,e,r){return t*(1-r)+e*r}},2652:function(t,e,r){var n=r(4335),i=r(6864),a=r(1903),o=r(9921),s=r(7608),l=r(5665),c={length:r(1387),normalize:r(3536),dot:r(244),cross:r(5911)},u=i(),h=i(),f=[0,0,0,0],p=[[0,0,0],[0,0,0],[0,0,0]],d=[0,0,0];function m(t,e,r,n,i){t[0]=e[0]*n+r[0]*i,t[1]=e[1]*n+r[1]*i,t[2]=e[2]*n+r[2]*i}t.exports=function(t,e,r,i,g,y){if(e||(e=[0,0,0]),r||(r=[0,0,0]),i||(i=[0,0,0]),g||(g=[0,0,0,1]),y||(y=[0,0,0,1]),!n(u,t))return!1;if(a(h,u),h[3]=0,h[7]=0,h[11]=0,h[15]=1,Math.abs(o(h)<1e-8))return!1;var v,x,_,b,w,T,k,A=u[3],M=u[7],S=u[11],E=u[12],C=u[13],L=u[14],I=u[15];if(0!==A||0!==M||0!==S){if(f[0]=A,f[1]=M,f[2]=S,f[3]=I,!s(h,h))return!1;l(h,h),v=g,_=h,b=(x=f)[0],w=x[1],T=x[2],k=x[3],v[0]=_[0]*b+_[4]*w+_[8]*T+_[12]*k,v[1]=_[1]*b+_[5]*w+_[9]*T+_[13]*k,v[2]=_[2]*b+_[6]*w+_[10]*T+_[14]*k,v[3]=_[3]*b+_[7]*w+_[11]*T+_[15]*k}else g[0]=g[1]=g[2]=0,g[3]=1;if(e[0]=E,e[1]=C,e[2]=L,function(t,e){t[0][0]=e[0],t[0][1]=e[1],t[0][2]=e[2],t[1][0]=e[4],t[1][1]=e[5],t[1][2]=e[6],t[2][0]=e[8],t[2][1]=e[9],t[2][2]=e[10]}(p,u),r[0]=c.length(p[0]),c.normalize(p[0],p[0]),i[0]=c.dot(p[0],p[1]),m(p[1],p[1],p[0],1,-i[0]),r[1]=c.length(p[1]),c.normalize(p[1],p[1]),i[0]/=r[1],i[1]=c.dot(p[0],p[2]),m(p[2],p[2],p[0],1,-i[1]),i[2]=c.dot(p[1],p[2]),m(p[2],p[2],p[1],1,-i[2]),r[2]=c.length(p[2]),c.normalize(p[2],p[2]),i[1]/=r[2],i[2]/=r[2],c.cross(d,p[1],p[2]),c.dot(p[0],d)<0)for(var P=0;P<3;P++)r[P]*=-1,p[P][0]*=-1,p[P][1]*=-1,p[P][2]*=-1;return y[0]=.5*Math.sqrt(Math.max(1+p[0][0]-p[1][1]-p[2][2],0)),y[1]=.5*Math.sqrt(Math.max(1-p[0][0]+p[1][1]-p[2][2],0)),y[2]=.5*Math.sqrt(Math.max(1-p[0][0]-p[1][1]+p[2][2],0)),y[3]=.5*Math.sqrt(Math.max(1+p[0][0]+p[1][1]+p[2][2],0)),p[2][1]>p[1][2]&&(y[0]=-y[0]),p[0][2]>p[2][0]&&(y[1]=-y[1]),p[1][0]>p[0][1]&&(y[2]=-y[2]),!0}},4335:function(t){t.exports=function(t,e){var r=e[15];if(0===r)return!1;for(var n=1/r,i=0;i<16;i++)t[i]=e[i]*n;return!0}},7442:function(t,e,r){var n=r(6658),i=r(7182),a=r(2652),o=r(9921),s=r(8648),l=h(),c=h(),u=h();function h(){return{translate:f(),scale:f(1),skew:f(),perspective:[0,0,0,1],quaternion:[0,0,0,1]}}function f(t){return[t||0,t||0,t||0]}t.exports=function(t,e,r,h){if(0===o(e)||0===o(r))return!1;var f=a(e,l.translate,l.scale,l.skew,l.perspective,l.quaternion),p=a(r,c.translate,c.scale,c.skew,c.perspective,c.quaternion);return!(!f||!p||(n(u.translate,l.translate,c.translate,h),n(u.skew,l.skew,c.skew,h),n(u.scale,l.scale,c.scale,h),n(u.perspective,l.perspective,c.perspective,h),s(u.quaternion,l.quaternion,c.quaternion,h),i(t,u.translate,u.scale,u.skew,u.perspective,u.quaternion),0))}},7182:function(t,e,r){var n={identity:r(7894),translate:r(7656),multiply:r(6760),create:r(6864),scale:r(2504),fromRotationTranslation:r(6743)},i=(n.create(),n.create());t.exports=function(t,e,r,a,o,s){return n.identity(t),n.fromRotationTranslation(t,s,e),t[3]=o[0],t[7]=o[1],t[11]=o[2],t[15]=o[3],n.identity(i),0!==a[2]&&(i[9]=a[2],n.multiply(t,t,i)),0!==a[1]&&(i[9]=0,i[8]=a[1],n.multiply(t,t,i)),0!==a[0]&&(i[8]=0,i[4]=a[0],n.multiply(t,t,i)),n.scale(t,t,r),t}},4192:function(t,e,r){"use strict";var n=r(2478),i=r(7442),a=r(7608),o=r(5567),s=r(2408),l=r(7089),c=r(6582),u=r(7656),h=(r(2504),r(3536)),f=[0,0,0];function p(t){this._components=t.slice(),this._time=[0],this.prevMatrix=t.slice(),this.nextMatrix=t.slice(),this.computedMatrix=t.slice(),this.computedInverse=t.slice(),this.computedEye=[0,0,0],this.computedUp=[0,0,0],this.computedCenter=[0,0,0],this.computedRadius=[0],this._limits=[-1/0,1/0]}t.exports=function(t){return new p((t=t||{}).matrix||[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])};var d=p.prototype;d.recalcMatrix=function(t){var e=this._time,r=n.le(e,t),o=this.computedMatrix;if(!(r<0)){var s=this._components;if(r===e.length-1)for(var l=16*r,c=0;c<16;++c)o[c]=s[l++];else{var u=e[r+1]-e[r],f=(l=16*r,this.prevMatrix),p=!0;for(c=0;c<16;++c)f[c]=s[l++];var d=this.nextMatrix;for(c=0;c<16;++c)d[c]=s[l++],p=p&&f[c]===d[c];if(u<1e-6||p)for(c=0;c<16;++c)o[c]=f[c];else i(o,f,d,(t-e[r])/u)}var m=this.computedUp;m[0]=o[1],m[1]=o[5],m[2]=o[9],h(m,m);var g=this.computedInverse;a(g,o);var y=this.computedEye,v=g[15];y[0]=g[12]/v,y[1]=g[13]/v,y[2]=g[14]/v;var x=this.computedCenter,_=Math.exp(this.computedRadius[0]);for(c=0;c<3;++c)x[c]=y[c]-o[2+4*c]*_}},d.idle=function(t){if(!(t1&&n(t[o[u-2]],t[o[u-1]],c)<=0;)u-=1,o.pop();for(o.push(l),u=s.length;u>1&&n(t[s[u-2]],t[s[u-1]],c)>=0;)u-=1,s.pop();s.push(l)}r=new Array(s.length+o.length-2);for(var h=0,f=(i=0,o.length);i0;--p)r[h++]=s[p];return r};var n=r(3250)[3]},351:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function h(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function f(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function m(t){c(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",m),t.addEventListener("mouseleave",u),t.addEventListener("mouseenter",u),t.addEventListener("mouseout",u),t.addEventListener("mouseover",u),t.addEventListener("blur",h),t.addEventListener("keyup",f),t.addEventListener("keydown",f),t.addEventListener("keypress",f),t!==window&&(window.addEventListener("blur",h),window.addEventListener("keyup",f),window.addEventListener("keydown",f),window.addEventListener("keypress",f)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",m),t.removeEventListener("mouseleave",u),t.removeEventListener("mouseenter",u),t.removeEventListener("mouseout",u),t.removeEventListener("mouseover",u),t.removeEventListener("blur",h),t.removeEventListener("keyup",f),t.removeEventListener("keydown",f),t.removeEventListener("keypress",f),t!==window&&(window.removeEventListener("blur",h),window.removeEventListener("keyup",f),window.removeEventListener("keydown",f),window.removeEventListener("keypress",f)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(4687)},24:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},4687:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1< 0"),"function"!=typeof t.vertex&&e("Must specify vertex creation function"),"function"!=typeof t.cell&&e("Must specify cell creation function"),"function"!=typeof t.phase&&e("Must specify phase function");for(var o=t.getters||[],s=new Array(a),l=0;l=0?s[l]=!0:s[l]=!1;return function(t,e,r,a,o,s){var l=[s,o].join(",");return(0,i[l])(t,e,r,n.mallocUint32,n.freeUint32)}(t.vertex,t.cell,t.phase,0,r,s)};var i={"false,0,1":function(t,e,r,n,i){return function(a,o,s,l){var c,u=0|a.shape[0],h=0|a.shape[1],f=a.data,p=0|a.offset,d=0|a.stride[0],m=0|a.stride[1],g=p,y=0|-d,v=0,x=0|-m,_=0,b=-d-m|0,w=0,T=0|d,k=m-d*u|0,A=0,M=0,S=0,E=2*u|0,C=n(E),L=n(E),I=0,P=0,z=-1,O=-1,D=0,R=0|-u,F=0|u,B=0,N=-u-1|0,j=u-1|0,U=0,V=0,q=0;for(A=0;A0){if(M=1,C[I++]=r(f[g],o,s,l),g+=T,u>0)for(A=1,c=f[g],P=C[I]=r(c,o,s,l),D=C[I+z],B=C[I+R],U=C[I+N],P===D&&P===B&&P===U||(v=f[g+y],_=f[g+x],w=f[g+b],t(A,M,c,v,_,w,P,D,B,U,o,s,l),V=L[I]=S++),I+=1,g+=T,A=2;A0)for(A=1,c=f[g],P=C[I]=r(c,o,s,l),D=C[I+z],B=C[I+R],U=C[I+N],P===D&&P===B&&P===U||(v=f[g+y],_=f[g+x],w=f[g+b],t(A,M,c,v,_,w,P,D,B,U,o,s,l),V=L[I]=S++,U!==B&&e(L[I+R],V,_,w,B,U,o,s,l)),I+=1,g+=T,A=2;A0){if(A=1,C[I++]=r(f[g],o,s,l),g+=T,h>0)for(M=1,c=f[g],P=C[I]=r(c,o,s,l),B=C[I+R],D=C[I+z],U=C[I+N],P===B&&P===D&&P===U||(v=f[g+y],_=f[g+x],w=f[g+b],t(A,M,c,v,_,w,P,B,D,U,o,s,l),V=L[I]=S++),I+=1,g+=T,M=2;M0)for(M=1,c=f[g],P=C[I]=r(c,o,s,l),B=C[I+R],D=C[I+z],U=C[I+N],P===B&&P===D&&P===U||(v=f[g+y],_=f[g+x],w=f[g+b],t(A,M,c,v,_,w,P,B,D,U,o,s,l),V=L[I]=S++,U!==B&&e(L[I+R],V,w,v,U,B,o,s,l)),I+=1,g+=T,M=2;M2&&a[1]>2&&n(i.pick(-1,-1).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,0).lo(1,1).hi(a[0]-2,a[1]-2),t.pick(-1,-1,1).lo(1,1).hi(a[0]-2,a[1]-2)),a[1]>2&&(r(i.pick(0,-1).lo(1).hi(a[1]-2),t.pick(0,-1,1).lo(1).hi(a[1]-2)),e(t.pick(0,-1,0).lo(1).hi(a[1]-2))),a[1]>2&&(r(i.pick(a[0]-1,-1).lo(1).hi(a[1]-2),t.pick(a[0]-1,-1,1).lo(1).hi(a[1]-2)),e(t.pick(a[0]-1,-1,0).lo(1).hi(a[1]-2))),a[0]>2&&(r(i.pick(-1,0).lo(1).hi(a[0]-2),t.pick(-1,0,0).lo(1).hi(a[0]-2)),e(t.pick(-1,0,1).lo(1).hi(a[0]-2))),a[0]>2&&(r(i.pick(-1,a[1]-1).lo(1).hi(a[0]-2),t.pick(-1,a[1]-1,0).lo(1).hi(a[0]-2)),e(t.pick(-1,a[1]-1,1).lo(1).hi(a[0]-2))),t.set(0,0,0,0),t.set(0,0,1,0),t.set(a[0]-1,0,0,0),t.set(a[0]-1,0,1,0),t.set(0,a[1]-1,0,0),t.set(0,a[1]-1,1,0),t.set(a[0]-1,a[1]-1,0,0),t.set(a[0]-1,a[1]-1,1,0),t}}t.exports=function(t,e,r){return Array.isArray(r)||(r=n(e.dimension,"string"==typeof r?r:"clamp")),0===e.size?t:0===e.dimension?(t.set(0),t):function(t){var e=t.join();if(a=u[e])return a;for(var r=t.length,n=[h,f],i=1;i<=r;++i)n.push(p(i));var a=d.apply(void 0,n);return u[e]=a,a}(r)(t,e)}},4317:function(t){"use strict";function e(t,e){var r=Math.floor(e),n=e-r,i=0<=r&&r0;){x<64?(l=x,x=0):(l=64,x-=64);for(var _=0|t[1];_>0;){_<64?(c=_,_=0):(c=64,_-=64),n=y+x*h+_*f,o=v+x*d+_*m;var b=0,w=0,T=0,k=p,A=h-u*p,M=f-l*h,S=g,E=d-u*g,C=m-l*d;for(T=0;T0;){m<64?(l=m,m=0):(l=64,m-=64);for(var g=0|t[0];g>0;){g<64?(s=g,g=0):(s=64,g-=64),n=p+m*u+g*c,o=d+m*f+g*h;var y=0,v=0,x=u,_=c-l*u,b=f,w=h-l*f;for(v=0;v0;){v<64?(c=v,v=0):(c=64,v-=64);for(var x=0|t[0];x>0;){x<64?(s=x,x=0):(s=64,x-=64);for(var _=0|t[1];_>0;){_<64?(l=_,_=0):(l=64,_-=64),n=g+v*f+x*u+_*h,o=y+v*m+x*p+_*d;var b=0,w=0,T=0,k=f,A=u-c*f,M=h-s*u,S=m,E=p-c*m,C=d-s*p;for(T=0;Tr;){y=0,v=m-o;e:for(g=0;g_)break e;v+=h,y+=f}for(y=m,v=m-o,g=0;g>1,H=q-j,G=q+j,Z=U,W=H,Y=q,X=G,$=V,J=i+1,K=a-1,Q=!0,tt=0,et=0,rt=0,nt=h,it=e(nt),at=e(nt);A=l*Z,M=l*W,N=s;t:for(k=0;k0){g=Z,Z=W,W=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*$,N=s;t:for(k=0;k0){g=X,X=$,$=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*Y,N=s;t:for(k=0;k0){g=Z,Z=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Y,N=s;t:for(k=0;k0){g=W,W=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*Z,M=l*X,N=s;t:for(k=0;k0){g=Z,Z=X,X=g;break t}if(rt<0)break t;N+=p}A=l*Y,M=l*X,N=s;t:for(k=0;k0){g=Y,Y=X,X=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*$,N=s;t:for(k=0;k0){g=W,W=$,$=g;break t}if(rt<0)break t;N+=p}A=l*W,M=l*Y,N=s;t:for(k=0;k0){g=W,W=Y,Y=g;break t}if(rt<0)break t;N+=p}A=l*X,M=l*$,N=s;t:for(k=0;k0){g=X,X=$,$=g;break t}if(rt<0)break t;N+=p}for(A=l*Z,M=l*W,S=l*Y,E=l*X,C=l*$,L=l*U,I=l*q,P=l*V,B=0,N=s,k=0;k0)){if(rt<0){for(A=l*_,M=l*J,S=l*K,N=s,k=0;k0)for(;;){for(b=s+K*l,B=0,k=0;k0)){for(b=s+K*l,B=0,k=0;kV){t:for(;;){for(b=s+J*l,B=0,N=s,k=0;k1&&n?s(r,n[0],n[1]):s(r)}(t,e,l);return n(l,c)}},446:function(t,e,r){"use strict";var n=r(7640),i={};t.exports=function(t){var e=t.order,r=t.dtype,a=[e,r].join(":"),o=i[a];return o||(i[a]=o=n(e,r)),o(t),t}},9618:function(t,e,r){var n=r(7163),i="undefined"!=typeof Float64Array;function a(t,e){return t[0]-e[0]}function o(){var t,e=this.stride,r=new Array(e.length);for(t=0;t=0&&(e+=a*(r=0|t),i-=r),new n(this.data,i,a,e)},i.step=function(t){var e=this.shape[0],r=this.stride[0],i=this.offset,a=0,o=Math.ceil;return"number"==typeof t&&((a=0|t)<0?(i+=r*(e-1),e=o(-e/a)):e=o(e/a),r*=a),new n(this.data,e,r,i)},i.transpose=function(t){t=void 0===t?0:0|t;var e=this.shape,r=this.stride;return new n(this.data,e[t],r[t],this.offset)},i.pick=function(t){var r=[],n=[],i=this.offset;return"number"==typeof t&&t>=0?i=i+this.stride[0]*t|0:(r.push(this.shape[0]),n.push(this.stride[0])),(0,e[r.length+1])(this.data,r,n,i)},function(t,e,r,i){return new n(t,e[0],r[0],i)}},2:function(t,e,r){function n(t,e,r,n,i,a){this.data=t,this.shape=[e,r],this.stride=[n,i],this.offset=0|a}var i=n.prototype;return i.dtype=t,i.dimension=2,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]}}),Object.defineProperty(i,"order",{get:function(){return Math.abs(this.stride[0])>Math.abs(this.stride[1])?[1,0]:[0,1]}}),i.set=function(e,r,n){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r,n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]=n},i.get=function(e,r){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r):this.data[this.offset+this.stride[0]*e+this.stride[1]*r]},i.index=function(t,e){return this.offset+this.stride[0]*t+this.stride[1]*e},i.hi=function(t,e){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,this.stride[0],this.stride[1],this.offset)},i.lo=function(t,e){var r=this.offset,i=0,a=this.shape[0],o=this.shape[1],s=this.stride[0],l=this.stride[1];return"number"==typeof t&&t>=0&&(r+=s*(i=0|t),a-=i),"number"==typeof e&&e>=0&&(r+=l*(i=0|e),o-=i),new n(this.data,a,o,s,l,r)},i.step=function(t,e){var r=this.shape[0],i=this.shape[1],a=this.stride[0],o=this.stride[1],s=this.offset,l=0,c=Math.ceil;return"number"==typeof t&&((l=0|t)<0?(s+=a*(r-1),r=c(-r/l)):r=c(r/l),a*=l),"number"==typeof e&&((l=0|e)<0?(s+=o*(i-1),i=c(-i/l)):i=c(i/l),o*=l),new n(this.data,r,i,a,o,s)},i.transpose=function(t,e){t=void 0===t?0:0|t,e=void 0===e?1:0|e;var r=this.shape,i=this.stride;return new n(this.data,r[t],r[e],i[t],i[e],this.offset)},i.pick=function(t,r){var n=[],i=[],a=this.offset;return"number"==typeof t&&t>=0?a=a+this.stride[0]*t|0:(n.push(this.shape[0]),i.push(this.stride[0])),"number"==typeof r&&r>=0?a=a+this.stride[1]*r|0:(n.push(this.shape[1]),i.push(this.stride[1])),(0,e[n.length+1])(this.data,n,i,a)},function(t,e,r,i){return new n(t,e[0],e[1],r[0],r[1],i)}},3:function(t,e,r){function n(t,e,r,n,i,a,o,s){this.data=t,this.shape=[e,r,n],this.stride=[i,a,o],this.offset=0|s}var i=n.prototype;return i.dtype=t,i.dimension=3,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]}}),Object.defineProperty(i,"order",{get:function(){var t=Math.abs(this.stride[0]),e=Math.abs(this.stride[1]),r=Math.abs(this.stride[2]);return t>e?e>r?[2,1,0]:t>r?[1,2,0]:[1,0,2]:t>r?[2,0,1]:r>e?[0,1,2]:[0,2,1]}}),i.set=function(e,r,n,i){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n,i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]=i},i.get=function(e,r,n){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n]},i.index=function(t,e,r){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r},i.hi=function(t,e,r){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,this.stride[0],this.stride[1],this.stride[2],this.offset)},i.lo=function(t,e,r){var i=this.offset,a=0,o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.stride[0],u=this.stride[1],h=this.stride[2];return"number"==typeof t&&t>=0&&(i+=c*(a=0|t),o-=a),"number"==typeof e&&e>=0&&(i+=u*(a=0|e),s-=a),"number"==typeof r&&r>=0&&(i+=h*(a=0|r),l-=a),new n(this.data,o,s,l,c,u,h,i)},i.step=function(t,e,r){var i=this.shape[0],a=this.shape[1],o=this.shape[2],s=this.stride[0],l=this.stride[1],c=this.stride[2],u=this.offset,h=0,f=Math.ceil;return"number"==typeof t&&((h=0|t)<0?(u+=s*(i-1),i=f(-i/h)):i=f(i/h),s*=h),"number"==typeof e&&((h=0|e)<0?(u+=l*(a-1),a=f(-a/h)):a=f(a/h),l*=h),"number"==typeof r&&((h=0|r)<0?(u+=c*(o-1),o=f(-o/h)):o=f(o/h),c*=h),new n(this.data,i,a,o,s,l,c,u)},i.transpose=function(t,e,r){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r;var i=this.shape,a=this.stride;return new n(this.data,i[t],i[e],i[r],a[t],a[e],a[r],this.offset)},i.pick=function(t,r,n){var i=[],a=[],o=this.offset;return"number"==typeof t&&t>=0?o=o+this.stride[0]*t|0:(i.push(this.shape[0]),a.push(this.stride[0])),"number"==typeof r&&r>=0?o=o+this.stride[1]*r|0:(i.push(this.shape[1]),a.push(this.stride[1])),"number"==typeof n&&n>=0?o=o+this.stride[2]*n|0:(i.push(this.shape[2]),a.push(this.stride[2])),(0,e[i.length+1])(this.data,i,a,o)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],r[0],r[1],r[2],i)}},4:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,c){this.data=t,this.shape=[e,r,n,i],this.stride=[a,o,s,l],this.offset=0|c}var i=n.prototype;return i.dtype=t,i.dimension=4,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i,a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]=a},i.get=function(e,r,n,i){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i]},i.index=function(t,e,r,n){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n},i.hi=function(t,e,r,i){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.offset)},i.lo=function(t,e,r,i){var a=this.offset,o=0,s=this.shape[0],l=this.shape[1],c=this.shape[2],u=this.shape[3],h=this.stride[0],f=this.stride[1],p=this.stride[2],d=this.stride[3];return"number"==typeof t&&t>=0&&(a+=h*(o=0|t),s-=o),"number"==typeof e&&e>=0&&(a+=f*(o=0|e),l-=o),"number"==typeof r&&r>=0&&(a+=p*(o=0|r),c-=o),"number"==typeof i&&i>=0&&(a+=d*(o=0|i),u-=o),new n(this.data,s,l,c,u,h,f,p,d,a)},i.step=function(t,e,r,i){var a=this.shape[0],o=this.shape[1],s=this.shape[2],l=this.shape[3],c=this.stride[0],u=this.stride[1],h=this.stride[2],f=this.stride[3],p=this.offset,d=0,m=Math.ceil;return"number"==typeof t&&((d=0|t)<0?(p+=c*(a-1),a=m(-a/d)):a=m(a/d),c*=d),"number"==typeof e&&((d=0|e)<0?(p+=u*(o-1),o=m(-o/d)):o=m(o/d),u*=d),"number"==typeof r&&((d=0|r)<0?(p+=h*(s-1),s=m(-s/d)):s=m(s/d),h*=d),"number"==typeof i&&((d=0|i)<0?(p+=f*(l-1),l=m(-l/d)):l=m(l/d),f*=d),new n(this.data,a,o,s,l,c,u,h,f,p)},i.transpose=function(t,e,r,i){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i;var a=this.shape,o=this.stride;return new n(this.data,a[t],a[e],a[r],a[i],o[t],o[e],o[r],o[i],this.offset)},i.pick=function(t,r,n,i){var a=[],o=[],s=this.offset;return"number"==typeof t&&t>=0?s=s+this.stride[0]*t|0:(a.push(this.shape[0]),o.push(this.stride[0])),"number"==typeof r&&r>=0?s=s+this.stride[1]*r|0:(a.push(this.shape[1]),o.push(this.stride[1])),"number"==typeof n&&n>=0?s=s+this.stride[2]*n|0:(a.push(this.shape[2]),o.push(this.stride[2])),"number"==typeof i&&i>=0?s=s+this.stride[3]*i|0:(a.push(this.shape[3]),o.push(this.stride[3])),(0,e[a.length+1])(this.data,a,o,s)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],r[0],r[1],r[2],r[3],i)}},5:function(t,e,r){function n(t,e,r,n,i,a,o,s,l,c,u,h){this.data=t,this.shape=[e,r,n,i,a],this.stride=[o,s,l,c,u],this.offset=0|h}var i=n.prototype;return i.dtype=t,i.dimension=5,Object.defineProperty(i,"size",{get:function(){return this.shape[0]*this.shape[1]*this.shape[2]*this.shape[3]*this.shape[4]}}),Object.defineProperty(i,"order",{get:r}),i.set=function(e,r,n,i,a,o){return"generic"===t?this.data.set(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a,o):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]=o},i.get=function(e,r,n,i,a){return"generic"===t?this.data.get(this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a):this.data[this.offset+this.stride[0]*e+this.stride[1]*r+this.stride[2]*n+this.stride[3]*i+this.stride[4]*a]},i.index=function(t,e,r,n,i){return this.offset+this.stride[0]*t+this.stride[1]*e+this.stride[2]*r+this.stride[3]*n+this.stride[4]*i},i.hi=function(t,e,r,i,a){return new n(this.data,"number"!=typeof t||t<0?this.shape[0]:0|t,"number"!=typeof e||e<0?this.shape[1]:0|e,"number"!=typeof r||r<0?this.shape[2]:0|r,"number"!=typeof i||i<0?this.shape[3]:0|i,"number"!=typeof a||a<0?this.shape[4]:0|a,this.stride[0],this.stride[1],this.stride[2],this.stride[3],this.stride[4],this.offset)},i.lo=function(t,e,r,i,a){var o=this.offset,s=0,l=this.shape[0],c=this.shape[1],u=this.shape[2],h=this.shape[3],f=this.shape[4],p=this.stride[0],d=this.stride[1],m=this.stride[2],g=this.stride[3],y=this.stride[4];return"number"==typeof t&&t>=0&&(o+=p*(s=0|t),l-=s),"number"==typeof e&&e>=0&&(o+=d*(s=0|e),c-=s),"number"==typeof r&&r>=0&&(o+=m*(s=0|r),u-=s),"number"==typeof i&&i>=0&&(o+=g*(s=0|i),h-=s),"number"==typeof a&&a>=0&&(o+=y*(s=0|a),f-=s),new n(this.data,l,c,u,h,f,p,d,m,g,y,o)},i.step=function(t,e,r,i,a){var o=this.shape[0],s=this.shape[1],l=this.shape[2],c=this.shape[3],u=this.shape[4],h=this.stride[0],f=this.stride[1],p=this.stride[2],d=this.stride[3],m=this.stride[4],g=this.offset,y=0,v=Math.ceil;return"number"==typeof t&&((y=0|t)<0?(g+=h*(o-1),o=v(-o/y)):o=v(o/y),h*=y),"number"==typeof e&&((y=0|e)<0?(g+=f*(s-1),s=v(-s/y)):s=v(s/y),f*=y),"number"==typeof r&&((y=0|r)<0?(g+=p*(l-1),l=v(-l/y)):l=v(l/y),p*=y),"number"==typeof i&&((y=0|i)<0?(g+=d*(c-1),c=v(-c/y)):c=v(c/y),d*=y),"number"==typeof a&&((y=0|a)<0?(g+=m*(u-1),u=v(-u/y)):u=v(u/y),m*=y),new n(this.data,o,s,l,c,u,h,f,p,d,m,g)},i.transpose=function(t,e,r,i,a){t=void 0===t?0:0|t,e=void 0===e?1:0|e,r=void 0===r?2:0|r,i=void 0===i?3:0|i,a=void 0===a?4:0|a;var o=this.shape,s=this.stride;return new n(this.data,o[t],o[e],o[r],o[i],o[a],s[t],s[e],s[r],s[i],s[a],this.offset)},i.pick=function(t,r,n,i,a){var o=[],s=[],l=this.offset;return"number"==typeof t&&t>=0?l=l+this.stride[0]*t|0:(o.push(this.shape[0]),s.push(this.stride[0])),"number"==typeof r&&r>=0?l=l+this.stride[1]*r|0:(o.push(this.shape[1]),s.push(this.stride[1])),"number"==typeof n&&n>=0?l=l+this.stride[2]*n|0:(o.push(this.shape[2]),s.push(this.stride[2])),"number"==typeof i&&i>=0?l=l+this.stride[3]*i|0:(o.push(this.shape[3]),s.push(this.stride[3])),"number"==typeof a&&a>=0?l=l+this.stride[4]*a|0:(o.push(this.shape[4]),s.push(this.stride[4])),(0,e[o.length+1])(this.data,o,s,l)},function(t,e,r,i){return new n(t,e[0],e[1],e[2],e[3],e[4],r[0],r[1],r[2],r[3],r[4],i)}}};function l(t,e){var r=-1===e?"T":String(e),n=s[r];return-1===e?n(t):0===e?n(t,c[t][0]):n(t,c[t],o)}var c={generic:[],buffer:[],array:[],float32:[],float64:[],int8:[],int16:[],int32:[],uint8_clamped:[],uint8:[],uint16:[],uint32:[],bigint64:[],biguint64:[]};t.exports=function(t,e,r,a){if(void 0===t)return(0,c.array[0])([]);"number"==typeof t&&(t=[t]),void 0===e&&(e=[t.length]);var o=e.length;if(void 0===r){r=new Array(o);for(var s=o-1,u=1;s>=0;--s)r[s]=u,u*=e[s]}if(void 0===a)for(a=0,s=0;s>>0;t.exports=function(t,e){if(isNaN(t)||isNaN(e))return NaN;if(t===e)return t;if(0===t)return e<0?-i:i;var r=n.hi(t),o=n.lo(t);return e>t==t>0?o===a?(r+=1,o=0):o+=1:0===o?(o=a,r-=1):o-=1,n.pack(o,r)}},8406:function(t,e){e.vertexNormals=function(t,e,r){for(var n=e.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa){var _=i[c],b=1/Math.sqrt(g*v);for(x=0;x<3;++x){var w=(x+1)%3,T=(x+2)%3;_[x]+=b*(y[w]*m[T]-y[T]*m[w])}}}for(o=0;oa)for(b=1/Math.sqrt(k),x=0;x<3;++x)_[x]*=b;else for(x=0;x<3;++x)_[x]=0}return i},e.faceNormals=function(t,e,r){for(var n=t.length,i=new Array(n),a=void 0===r?1e-6:r,o=0;oa?1/Math.sqrt(p):0,c=0;c<3;++c)f[c]*=p;i[o]=f}return i}},4081:function(t){"use strict";t.exports=function(t,e,r,n,i,a,o,s,l,c){var u=e+a+c;if(h>0){var h=Math.sqrt(u+1);t[0]=.5*(o-l)/h,t[1]=.5*(s-n)/h,t[2]=.5*(r-a)/h,t[3]=.5*h}else{var f=Math.max(e,a,c);h=Math.sqrt(2*f-u+1),e>=f?(t[0]=.5*h,t[1]=.5*(i+r)/h,t[2]=.5*(s+n)/h,t[3]=.5*(o-l)/h):a>=f?(t[0]=.5*(r+i)/h,t[1]=.5*h,t[2]=.5*(l+o)/h,t[3]=.5*(s-n)/h):(t[0]=.5*(n+s)/h,t[1]=.5*(o+l)/h,t[2]=.5*h,t[3]=.5*(r-i)/h)}return t}},9977:function(t,e,r){"use strict";t.exports=function(t){var e=(t=t||{}).center||[0,0,0],r=t.rotation||[0,0,0,1],n=t.radius||1;e=[].slice.call(e,0,3),u(r=[].slice.call(r,0,4),r);var i=new h(r,e,Math.log(n));return i.setDistanceLimits(t.zoomMin,t.zoomMax),("eye"in t||"up"in t)&&i.lookAt(0,t.eye,t.center,t.up),i};var n=r(9215),i=r(6582),a=r(7399),o=r(7608),s=r(4081);function l(t,e,r){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2))}function c(t,e,r,n){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2)+Math.pow(r,2)+Math.pow(n,2))}function u(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=c(r,n,i,a);o>1e-6?(t[0]=r/o,t[1]=n/o,t[2]=i/o,t[3]=a/o):(t[0]=t[1]=t[2]=0,t[3]=1)}function h(t,e,r){this.radius=n([r]),this.center=n(e),this.rotation=n(t),this.computedRadius=this.radius.curve(0),this.computedCenter=this.center.curve(0),this.computedRotation=this.rotation.curve(0),this.computedUp=[.1,0,0],this.computedEye=[.1,0,0],this.computedMatrix=[.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.recalcMatrix(0)}var f=h.prototype;f.lastT=function(){return Math.max(this.radius.lastT(),this.center.lastT(),this.rotation.lastT())},f.recalcMatrix=function(t){this.radius.curve(t),this.center.curve(t),this.rotation.curve(t);var e=this.computedRotation;u(e,e);var r=this.computedMatrix;a(r,e);var n=this.computedCenter,i=this.computedEye,o=this.computedUp,s=Math.exp(this.computedRadius[0]);i[0]=n[0]+s*r[2],i[1]=n[1]+s*r[6],i[2]=n[2]+s*r[10],o[0]=r[1],o[1]=r[5],o[2]=r[9];for(var l=0;l<3;++l){for(var c=0,h=0;h<3;++h)c+=r[l+4*h]*i[h];r[12+l]=-c}},f.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r},f.idle=function(t){this.center.idle(t),this.radius.idle(t),this.rotation.idle(t)},f.flush=function(t){this.center.flush(t),this.radius.flush(t),this.rotation.flush(t)},f.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=i[1],o=i[5],s=i[9],c=l(a,o,s);a/=c,o/=c,s/=c;var u=i[0],h=i[4],f=i[8],p=u*a+h*o+f*s,d=l(u-=a*p,h-=o*p,f-=s*p);u/=d,h/=d,f/=d;var m=i[2],g=i[6],y=i[10],v=m*a+g*o+y*s,x=m*u+g*h+y*f,_=l(m-=v*a+x*u,g-=v*o+x*h,y-=v*s+x*f);m/=_,g/=_,y/=_;var b=u*e+a*r,w=h*e+o*r,T=f*e+s*r;this.center.move(t,b,w,T);var k=Math.exp(this.computedRadius[0]);k=Math.max(1e-4,k+n),this.radius.set(t,Math.log(k))},f.rotate=function(t,e,r,n){this.recalcMatrix(t),e=e||0,r=r||0;var i=this.computedMatrix,a=i[0],o=i[4],s=i[8],u=i[1],h=i[5],f=i[9],p=i[2],d=i[6],m=i[10],g=e*a+r*u,y=e*o+r*h,v=e*s+r*f,x=-(d*v-m*y),_=-(m*g-p*v),b=-(p*y-d*g),w=Math.sqrt(Math.max(0,1-Math.pow(x,2)-Math.pow(_,2)-Math.pow(b,2))),T=c(x,_,b,w);T>1e-6?(x/=T,_/=T,b/=T,w/=T):(x=_=b=0,w=1);var k=this.computedRotation,A=k[0],M=k[1],S=k[2],E=k[3],C=A*w+E*x+M*b-S*_,L=M*w+E*_+S*x-A*b,I=S*w+E*b+A*_-M*x,P=E*w-A*x-M*_-S*b;if(n){x=p,_=d,b=m;var z=Math.sin(n)/l(x,_,b);x*=z,_*=z,b*=z,P=P*(w=Math.cos(e))-(C=C*w+P*x+L*b-I*_)*x-(L=L*w+P*_+I*x-C*b)*_-(I=I*w+P*b+C*_-L*x)*b}var O=c(C,L,I,P);O>1e-6?(C/=O,L/=O,I/=O,P/=O):(C=L=I=0,P=1),this.rotation.set(t,C,L,I,P)},f.lookAt=function(t,e,r,n){this.recalcMatrix(t),r=r||this.computedCenter,e=e||this.computedEye,n=n||this.computedUp;var a=this.computedMatrix;i(a,e,r,n);var o=this.computedRotation;s(o,a[0],a[1],a[2],a[4],a[5],a[6],a[8],a[9],a[10]),u(o,o),this.rotation.set(t,o[0],o[1],o[2],o[3]);for(var l=0,c=0;c<3;++c)l+=Math.pow(r[c]-e[c],2);this.radius.set(t,.5*Math.log(Math.max(l,1e-6))),this.center.set(t,r[0],r[1],r[2])},f.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},f.setMatrix=function(t,e){var r=this.computedRotation;s(r,e[0],e[1],e[2],e[4],e[5],e[6],e[8],e[9],e[10]),u(r,r),this.rotation.set(t,r[0],r[1],r[2],r[3]);var n=this.computedMatrix;o(n,e);var i=n[15];if(Math.abs(i)>1e-6){var a=n[12]/i,l=n[13]/i,c=n[14]/i;this.recalcMatrix(t);var h=Math.exp(this.computedRadius[0]);this.center.set(t,a-n[2]*h,l-n[6]*h,c-n[10]*h),this.radius.idle(t)}else this.center.idle(t),this.radius.idle(t)},f.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},f.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},f.getDistanceLimits=function(t){var e=this.radius.bounds;return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},f.toJSON=function(){return this.recalcMatrix(this.lastT()),{center:this.computedCenter.slice(),rotation:this.computedRotation.slice(),distance:Math.log(this.computedRadius[0]),zoomMin:this.radius.bounds[0][0],zoomMax:this.radius.bounds[1][0]}},f.fromJSON=function(t){var e=this.lastT(),r=t.center;r&&this.center.set(e,r[0],r[1],r[2]);var n=t.rotation;n&&this.rotation.set(e,n[0],n[1],n[2],n[3]);var i=t.distance;i&&i>0&&this.radius.set(e,Math.log(i)),this.setDistanceLimits(t.zoomMin,t.zoomMax)}},1371:function(t,e,r){"use strict";var n=r(3233);t.exports=function(t,e,r){return n(r=void 0!==r?r+"":" ",e)+t}},3202:function(t){t.exports=function(t,e){e||(e=[0,""]),t=String(t);var r=parseFloat(t,10);return e[0]=r,e[1]=t.match(/[\d.\-\+]*\s*(.*)/)[1]||"",e}},3088:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=0|e.length,i=t.length,a=[new Array(r),new Array(r)],o=0;o0){o=a[u][r][0],l=u;break}s=o[1^l];for(var h=0;h<2;++h)for(var f=a[h][r],p=0;p0&&(o=d,s=m,l=h)}return i||o&&c(o,l),s}function h(t,r){var i=a[r][t][0],o=[t];c(i,r);for(var s=i[1^r];;){for(;s!==t;)o.push(s),s=u(o[o.length-2],s,!1);if(a[0][t].length+a[1][t].length===0)break;var l=o[o.length-1],h=t,f=o[1],p=u(l,h,!0);if(n(e[l],e[h],e[f],e[p])<0)break;o.push(t),s=u(l,h)}return o}function f(t,e){return e[1]===e[e.length-1]}for(o=0;o0;){a[0][o].length;var m=h(o,p);f(0,m)?d.push.apply(d,m):(d.length>0&&l.push(d),d=m)}d.length>0&&l.push(d)}return l};var n=r(3140)},5609:function(t,e,r){"use strict";t.exports=function(t,e){for(var r=n(t,e.length),i=new Array(e.length),a=new Array(e.length),o=[],s=0;s0;){i[p=o.pop()]=!1;var c=r[p];for(s=0;s0}))).length,g=new Array(m),y=new Array(m);for(p=0;p0;){var B=R.pop(),N=E[B];l(N,(function(t,e){return t-e}));var j,U=N.length,V=F[B];for(0===V&&(j=[q=d[B]]),p=0;p=0||(F[H]=1^V,R.push(H),0===V&&(D(q=d[H])||(q.reverse(),j.push(q))))}0===V&&r.push(j)}return r};var n=r(3134),i=r(3088),a=r(5085),o=r(5250),s=r(8210),l=r(1682),c=r(5609);function u(t,e){for(var r=new Array(t),n=0;n0&&e[i]===r[0]))return 1;a=t[i-1]}for(var s=1;a;){var l=a.key,c=n(r,l[0],l[1]);if(l[0][0]0))return 0;s=-1,a=a.right}else if(c>0)a=a.left;else{if(!(c<0))return 0;s=1,a=a.right}}return s}}(y.slabs,y.coordinates);return 0===a.length?v:function(t,e){return function(r){return t(r[0],r[1])?0:e(r)}}(l(a),v)};var n=r(3250)[3],i=r(4209),a=r(3352),o=r(2478);function s(){return!0}function l(t){for(var e={},r=0;r=c?(k=1,v=c+2*f+d):v=f*(k=-f/c)+d):(k=0,p>=0?(A=0,v=d):-p>=h?(A=1,v=h+2*p+d):v=p*(A=-p/h)+d);else if(A<0)A=0,f>=0?(k=0,v=d):-f>=c?(k=1,v=c+2*f+d):v=f*(k=-f/c)+d;else{var M=1/T;v=(k*=M)*(c*k+u*(A*=M)+2*f)+A*(u*k+h*A+2*p)+d}else k<0?(_=h+p)>(x=u+f)?(b=_-x)>=(w=c-2*u+h)?(k=1,A=0,v=c+2*f+d):v=(k=b/w)*(c*k+u*(A=1-k)+2*f)+A*(u*k+h*A+2*p)+d:(k=0,_<=0?(A=1,v=h+2*p+d):p>=0?(A=0,v=d):v=p*(A=-p/h)+d):A<0?(_=c+f)>(x=u+p)?(b=_-x)>=(w=c-2*u+h)?(A=1,k=0,v=h+2*p+d):v=(k=1-(A=b/w))*(c*k+u*A+2*f)+A*(u*k+h*A+2*p)+d:(A=0,_<=0?(k=1,v=c+2*f+d):f>=0?(k=0,v=d):v=f*(k=-f/c)+d):(b=h+p-u-f)<=0?(k=0,A=1,v=h+2*p+d):b>=(w=c-2*u+h)?(k=1,A=0,v=c+2*f+d):v=(k=b/w)*(c*k+u*(A=1-k)+2*f)+A*(u*k+h*A+2*p)+d;var S=1-k-A;for(l=0;l0){var c=t[r-1];if(0===n(s,c)&&a(c)!==l){r-=1;continue}}t[r++]=s}}return t.length=r,t}},3233:function(t){"use strict";var e,r="";t.exports=function(t,n){if("string"!=typeof t)throw new TypeError("expected a string");if(1===n)return t;if(2===n)return t+t;var i=t.length*n;if(e!==t||void 0===e)e=t,r="";else if(r.length>=i)return r.substr(0,i);for(;i>r.length&&n>1;)1&n&&(r+=t),n>>=1,t+=t;return r=(r+=t).substr(0,i)}},3025:function(t,e,r){t.exports=r.g.performance&&r.g.performance.now?function(){return performance.now()}:Date.now||function(){return+new Date}},7004:function(t){"use strict";t.exports=function(t){for(var e=t.length,r=t[t.length-1],n=e,i=e-2;i>=0;--i){var a=r;(l=(s=t[i])-((r=a+s)-a))&&(t[--n]=r,r=l)}var o=0;for(i=n;i0){if(a<=0)return o;n=i+a}else{if(!(i<0))return o;if(a>=0)return o;n=-(i+a)}var s=33306690738754716e-32*n;return o>=s||o<=-s?o:h(t,e,r)},function(t,e,r,n){var i=t[0]-n[0],a=e[0]-n[0],o=r[0]-n[0],s=t[1]-n[1],l=e[1]-n[1],c=r[1]-n[1],u=t[2]-n[2],h=e[2]-n[2],p=r[2]-n[2],d=a*c,m=o*l,g=o*s,y=i*c,v=i*l,x=a*s,_=u*(d-m)+h*(g-y)+p*(v-x),b=7771561172376103e-31*((Math.abs(d)+Math.abs(m))*Math.abs(u)+(Math.abs(g)+Math.abs(y))*Math.abs(h)+(Math.abs(v)+Math.abs(x))*Math.abs(p));return _>b||-_>b?_:f(t,e,r,n)}];function d(t){var e=p[t.length];return e||(e=p[t.length]=u(t.length)),e.apply(void 0,t)}function m(t,e,r,n,i,a,o){return function(e,r,s,l,c){switch(arguments.length){case 0:case 1:return 0;case 2:return n(e,r);case 3:return i(e,r,s);case 4:return a(e,r,s,l);case 5:return o(e,r,s,l,c)}for(var u=new Array(arguments.length),h=0;h0&&o>0||a<0&&o<0)return!1;var s=n(r,t,e),l=n(i,t,e);return!(s>0&&l>0||s<0&&l<0)&&(0!==a||0!==o||0!==s||0!==l||function(t,e,r,n){for(var i=0;i<2;++i){var a=t[i],o=e[i],s=Math.min(a,o),l=Math.max(a,o),c=r[i],u=n[i],h=Math.min(c,u);if(Math.max(c,u)=n?(i=h,(l+=1)=n?(i=h,(l+=1)>1,c=e[2*l+1];if(c===a)return l;a>1,c=e[2*l+1];if(c===a)return l;a>1,c=e[2*l+1];if(c===a)return l;a0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},2014:function(t,e,r){"use strict";var n=r(3105),i=r(4623);function a(t,e){var r=t.length,n=t.length-e.length,i=Math.min;if(n)return n;switch(r){case 0:return 0;case 1:return t[0]-e[0];case 2:return(s=t[0]+t[1]-e[0]-e[1])||i(t[0],t[1])-i(e[0],e[1]);case 3:var a=t[0]+t[1],o=e[0]+e[1];if(s=a+t[2]-(o+e[2]))return s;var s,l=i(t[0],t[1]),c=i(e[0],e[1]);return(s=i(l,t[2])-i(c,e[2]))||i(l+t[2],a)-i(c+e[2],o);default:var u=t.slice(0);u.sort();var h=e.slice(0);h.sort();for(var f=0;f>1,s=a(t[o],e);s<=0?(0===s&&(i=o),r=o+1):s>0&&(n=o-1)}return i}function u(t,e){for(var r=new Array(t.length),i=0,o=r.length;i=t.length||0!==a(t[g],s)););}return r}function h(t,e){if(e<0)return[];for(var r=[],i=(1<>>u&1&&c.push(i[u]);e.push(c)}return s(e)},e.skeleton=h,e.boundary=function(t){for(var e=[],r=0,n=t.length;r>1:(t>>1)-1}function x(t){for(var e=y(t);;){var r=e,n=2*t+1,i=2*(t+1),a=t;if(n0;){var r=v(t);if(!(r>=0&&e0){var t=k[0];return g(0,M-1),M-=1,x(0),t}return-1}function w(t,e){var r=k[t];return c[r]===e?t:(c[r]=-1/0,_(t),b(),c[r]=e,_((M+=1)-1))}function T(t){if(!u[t]){u[t]=!0;var e=s[t],r=l[t];s[r]>=0&&(s[r]=e),l[e]>=0&&(l[e]=r),A[e]>=0&&w(A[e],m(e)),A[r]>=0&&w(A[r],m(r))}}var k=[],A=new Array(a);for(h=0;h>1;h>=0;--h)x(h);for(;;){var S=b();if(S<0||c[S]>r)break;T(S)}var E=[];for(h=0;h=0&&r>=0&&e!==r){var n=A[e],i=A[r];n!==i&&L.push([n,i])}})),i.unique(i.normalize(L)),{positions:E,edges:L}};var n=r(3250),i=r(2014)},1303:function(t,e,r){"use strict";t.exports=function(t,e){var r,a,o,s;if(e[0][0]e[1][0]))return i(e,t);r=e[1],a=e[0]}if(t[0][0]t[1][0]))return-i(t,e);o=t[1],s=t[0]}var l=n(r,a,s),c=n(r,a,o);if(l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;if(l=n(s,o,a),c=n(s,o,r),l<0){if(c<=0)return l}else if(l>0){if(c>=0)return l}else if(c)return c;return a[0]-s[0]};var n=r(3250);function i(t,e){var r,i,a,o;if(e[0][0]e[1][0])){var s=Math.min(t[0][1],t[1][1]),l=Math.max(t[0][1],t[1][1]),c=Math.min(e[0][1],e[1][1]),u=Math.max(e[0][1],e[1][1]);return lu?s-u:l-u}r=e[1],i=e[0]}t[0][1]0)if(e[0]!==o[1][0])r=t,t=t.right;else{if(l=c(t.right,e))return l;t=t.left}else{if(e[0]!==o[1][0])return t;var l;if(l=c(t.right,e))return l;t=t.left}}return r}function u(t,e,r,n){this.y=t,this.index=e,this.start=r,this.closed=n}function h(t,e,r,n){this.x=t,this.segment=e,this.create=r,this.index=n}s.prototype.castUp=function(t){var e=n.le(this.coordinates,t[0]);if(e<0)return-1;this.slabs[e];var r=c(this.slabs[e],t),i=-1;if(r&&(i=r.value),this.coordinates[e]===t[0]){var s=null;if(r&&(s=r.key),e>0){var u=c(this.slabs[e-1],t);u&&(s?o(u.key,s)>0&&(s=u.key,i=u.value):(i=u.value,s=u.key))}var h=this.horizontal[e];if(h.length>0){var f=n.ge(h,t[1],l);if(f=h.length)return i;p=h[f]}}if(p.start)if(s){var d=a(s[0],s[1],[t[0],p.y]);s[0][0]>s[1][0]&&(d=-d),d>0&&(i=p.index)}else i=p.index;else p.y!==t[1]&&(i=p.index)}}}return i}},5202:function(t,e,r){"use strict";var n=r(1944),i=r(8210);function a(t,e){var r=i(n(t,e),[e[e.length-1]]);return r[r.length-1]}function o(t,e,r,n){var i=-e/(n-e);i<0?i=0:i>1&&(i=1);for(var a=1-i,o=t.length,s=new Array(o),l=0;l0||i>0&&u<0){var h=o(s,u,l,i);r.push(h),n.push(h.slice())}u<0?n.push(l.slice()):u>0?r.push(l.slice()):(r.push(l.slice()),n.push(l.slice())),i=u}return{positive:r,negative:n}},t.exports.positive=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c>=0&&r.push(s.slice()),n=c}return r},t.exports.negative=function(t,e){for(var r=[],n=a(t[t.length-1],e),i=t[t.length-1],s=t[0],l=0;l0||n>0&&c<0)&&r.push(o(i,c,s,n)),c<=0&&r.push(s.slice()),n=c}return r}},3387:function(t,e,r){var n;!function(){"use strict";var i={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function a(t){return function(t,e){var r,n,o,s,l,c,u,h,f,p=1,d=t.length,m="";for(n=0;n=0),s.type){case"b":r=parseInt(r,10).toString(2);break;case"c":r=String.fromCharCode(parseInt(r,10));break;case"d":case"i":r=parseInt(r,10);break;case"j":r=JSON.stringify(r,null,s.width?parseInt(s.width):0);break;case"e":r=s.precision?parseFloat(r).toExponential(s.precision):parseFloat(r).toExponential();break;case"f":r=s.precision?parseFloat(r).toFixed(s.precision):parseFloat(r);break;case"g":r=s.precision?String(Number(r.toPrecision(s.precision))):parseFloat(r);break;case"o":r=(parseInt(r,10)>>>0).toString(8);break;case"s":r=String(r),r=s.precision?r.substring(0,s.precision):r;break;case"t":r=String(!!r),r=s.precision?r.substring(0,s.precision):r;break;case"T":r=Object.prototype.toString.call(r).slice(8,-1).toLowerCase(),r=s.precision?r.substring(0,s.precision):r;break;case"u":r=parseInt(r,10)>>>0;break;case"v":r=r.valueOf(),r=s.precision?r.substring(0,s.precision):r;break;case"x":r=(parseInt(r,10)>>>0).toString(16);break;case"X":r=(parseInt(r,10)>>>0).toString(16).toUpperCase()}i.json.test(s.type)?m+=r:(!i.number.test(s.type)||h&&!s.sign?f="":(f=h?"+":"-",r=r.toString().replace(i.sign,"")),c=s.pad_char?"0"===s.pad_char?"0":s.pad_char.charAt(1):" ",u=s.width-(f+r).length,l=s.width&&u>0?c.repeat(u):"",m+=s.align?f+r+l:"0"===c?f+l+r:l+f+r)}return m}(function(t){if(s[t])return s[t];for(var e,r=t,n=[],a=0;r;){if(null!==(e=i.text.exec(r)))n.push(e[0]);else if(null!==(e=i.modulo.exec(r)))n.push("%");else{if(null===(e=i.placeholder.exec(r)))throw new SyntaxError("[sprintf] unexpected placeholder");if(e[2]){a|=1;var o=[],l=e[2],c=[];if(null===(c=i.key.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");for(o.push(c[1]);""!==(l=l.substring(c[0].length));)if(null!==(c=i.key_access.exec(l)))o.push(c[1]);else{if(null===(c=i.index_access.exec(l)))throw new SyntaxError("[sprintf] failed to parse named argument key");o.push(c[1])}e[2]=o}else a|=2;if(3===a)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");n.push({placeholder:e[0],param_no:e[1],keys:e[2],sign:e[3],pad_char:e[4],align:e[5],width:e[6],precision:e[7],type:e[8]})}r=r.substring(e[0].length)}return s[t]=n}(t),arguments)}function o(t,e){return a.apply(null,[t].concat(e||[]))}var s=Object.create(null);e.sprintf=a,e.vsprintf=o,"undefined"!=typeof window&&(window.sprintf=a,window.vsprintf=o,void 0===(n=function(){return{sprintf:a,vsprintf:o}}.call(e,r,e,t))||(t.exports=n))}()},3711:function(t,e,r){"use strict";t.exports=function(t,e){if(t.dimension<=0)return{positions:[],cells:[]};if(1===t.dimension)return function(t,e){for(var r=i(t,e),n=r.length,a=new Array(n),o=new Array(n),s=0;sn|0},vertex:function(t,e,r,n,i,a,o,s,l,c,u,h,f){var p=(o<<0)+(s<<1)+(l<<2)+(c<<3)|0;if(0!==p&&15!==p)switch(p){case 0:case 15:u.push([t-.5,e-.5]);break;case 1:u.push([t-.25-.25*(n+r-2*f)/(r-n),e-.25-.25*(i+r-2*f)/(r-i)]);break;case 2:u.push([t-.75-.25*(-n-r+2*f)/(n-r),e-.25-.25*(a+n-2*f)/(n-a)]);break;case 3:u.push([t-.5,e-.5-.5*(i+r+a+n-4*f)/(r-i+n-a)]);break;case 4:u.push([t-.25-.25*(a+i-2*f)/(i-a),e-.75-.25*(-i-r+2*f)/(i-r)]);break;case 5:u.push([t-.5-.5*(n+r+a+i-4*f)/(r-n+i-a),e-.5]);break;case 6:u.push([t-.5-.25*(-n-r+a+i)/(n-r+i-a),e-.5-.25*(-i-r+a+n)/(i-r+n-a)]);break;case 7:u.push([t-.75-.25*(a+i-2*f)/(i-a),e-.75-.25*(a+n-2*f)/(n-a)]);break;case 8:u.push([t-.75-.25*(-a-i+2*f)/(a-i),e-.75-.25*(-a-n+2*f)/(a-n)]);break;case 9:u.push([t-.5-.25*(n+r+-a-i)/(r-n+a-i),e-.5-.25*(i+r+-a-n)/(r-i+a-n)]);break;case 10:u.push([t-.5-.5*(-n-r-a-i+4*f)/(n-r+a-i),e-.5]);break;case 11:u.push([t-.25-.25*(-a-i+2*f)/(a-i),e-.75-.25*(i+r-2*f)/(r-i)]);break;case 12:u.push([t-.5,e-.5-.5*(-i-r-a-n+4*f)/(i-r+a-n)]);break;case 13:u.push([t-.75-.25*(n+r-2*f)/(r-n),e-.25-.25*(-a-n+2*f)/(a-n)]);break;case 14:u.push([t-.25-.25*(-n-r+2*f)/(n-r),e-.25-.25*(-i-r+2*f)/(i-r)])}},cell:function(t,e,r,n,i,a,o,s,l){i?s.push([t,e]):s.push([e,t])}});return function(t,e){var r=[],i=[];return n(t,r,i,e),{positions:r,cells:i}}}},o={}},529:function(t,e,r){"use strict";t.exports=function t(e,r,i){var a=(i=i||{}).fontStyle||"normal",s=i.fontWeight||"normal",l=i.fontVariant||"normal",c=[a,s,l,e].join("_"),u=o[c];u||(u=o[c]={" ":{data:new Float32Array(0),shape:.2}});var h=u[r];if(!h)if(r.length<=1||!/\d/.test(r))h=u[r]=function(t){for(var e=t.cells,r=t.positions,n=new Float32Array(6*e.length),i=0,a=0,o=0;o0&&(m+=.02);var y=new Float32Array(d),v=0,x=-.5*m;for(g=0;gMath.max(r,n)?i[2]=1:r>Math.max(e,n)?i[0]=1:i[1]=1;for(var a=0,o=0,l=0;l<3;++l)a+=t[l]*t[l],o+=i[l]*t[l];for(l=0;l<3;++l)i[l]-=o/a*t[l];return s(i,i),i}function f(t,e,r,i,a,o,s,l){this.center=n(r),this.up=n(i),this.right=n(a),this.radius=n([o]),this.angle=n([s,l]),this.angle.bounds=[[-1/0,-Math.PI/2],[1/0,Math.PI/2]],this.setDistanceLimits(t,e),this.computedCenter=this.center.curve(0),this.computedUp=this.up.curve(0),this.computedRight=this.right.curve(0),this.computedRadius=this.radius.curve(0),this.computedAngle=this.angle.curve(0),this.computedToward=[0,0,0],this.computedEye=[0,0,0],this.computedMatrix=new Array(16);for(var c=0;c<16;++c)this.computedMatrix[c]=.5;this.recalcMatrix(0)}var p=f.prototype;p.setDistanceLimits=function(t,e){t=t>0?Math.log(t):-1/0,e=e>0?Math.log(e):1/0,e=Math.max(e,t),this.radius.bounds[0][0]=t,this.radius.bounds[1][0]=e},p.getDistanceLimits=function(t){var e=this.radius.bounds[0];return t?(t[0]=Math.exp(e[0][0]),t[1]=Math.exp(e[1][0]),t):[Math.exp(e[0][0]),Math.exp(e[1][0])]},p.recalcMatrix=function(t){this.center.curve(t),this.up.curve(t),this.right.curve(t),this.radius.curve(t),this.angle.curve(t);for(var e=this.computedUp,r=this.computedRight,n=0,i=0,a=0;a<3;++a)i+=e[a]*r[a],n+=e[a]*e[a];var l=Math.sqrt(n),u=0;for(a=0;a<3;++a)r[a]-=e[a]*i/n,u+=r[a]*r[a],e[a]/=l;var h=Math.sqrt(u);for(a=0;a<3;++a)r[a]/=h;var f=this.computedToward;o(f,e,r),s(f,f);var p=Math.exp(this.computedRadius[0]),d=this.computedAngle[0],m=this.computedAngle[1],g=Math.cos(d),y=Math.sin(d),v=Math.cos(m),x=Math.sin(m),_=this.computedCenter,b=g*v,w=y*v,T=x,k=-g*x,A=-y*x,M=v,S=this.computedEye,E=this.computedMatrix;for(a=0;a<3;++a){var C=b*r[a]+w*f[a]+T*e[a];E[4*a+1]=k*r[a]+A*f[a]+M*e[a],E[4*a+2]=C,E[4*a+3]=0}var L=E[1],I=E[5],P=E[9],z=E[2],O=E[6],D=E[10],R=I*D-P*O,F=P*z-L*D,B=L*O-I*z,N=c(R,F,B);for(R/=N,F/=N,B/=N,E[0]=R,E[4]=F,E[8]=B,a=0;a<3;++a)S[a]=_[a]+E[2+4*a]*p;for(a=0;a<3;++a){u=0;for(var j=0;j<3;++j)u+=E[a+4*j]*S[j];E[12+a]=-u}E[15]=1},p.getMatrix=function(t,e){this.recalcMatrix(t);var r=this.computedMatrix;if(e){for(var n=0;n<16;++n)e[n]=r[n];return e}return r};var d=[0,0,0];p.rotate=function(t,e,r,n){if(this.angle.move(t,e,r),n){this.recalcMatrix(t);var i=this.computedMatrix;d[0]=i[2],d[1]=i[6],d[2]=i[10];for(var o=this.computedUp,s=this.computedRight,l=this.computedToward,c=0;c<3;++c)i[4*c]=o[c],i[4*c+1]=s[c],i[4*c+2]=l[c];for(a(i,i,n,d),c=0;c<3;++c)o[c]=i[4*c],s[c]=i[4*c+1];this.up.set(t,o[0],o[1],o[2]),this.right.set(t,s[0],s[1],s[2])}},p.pan=function(t,e,r,n){e=e||0,r=r||0,n=n||0,this.recalcMatrix(t);var i=this.computedMatrix,a=(Math.exp(this.computedRadius[0]),i[1]),o=i[5],s=i[9],l=c(a,o,s);a/=l,o/=l,s/=l;var u=i[0],h=i[4],f=i[8],p=u*a+h*o+f*s,d=c(u-=a*p,h-=o*p,f-=s*p),m=(u/=d)*e+a*r,g=(h/=d)*e+o*r,y=(f/=d)*e+s*r;this.center.move(t,m,g,y);var v=Math.exp(this.computedRadius[0]);v=Math.max(1e-4,v+n),this.radius.set(t,Math.log(v))},p.translate=function(t,e,r,n){this.center.move(t,e||0,r||0,n||0)},p.setMatrix=function(t,e,r,n){var a=1;"number"==typeof r&&(a=0|r),(a<0||a>3)&&(a=1);var o=(a+2)%3;e||(this.recalcMatrix(t),e=this.computedMatrix);var s=e[a],l=e[a+4],h=e[a+8];if(n){var f=Math.abs(s),p=Math.abs(l),d=Math.abs(h),m=Math.max(f,p,d);f===m?(s=s<0?-1:1,l=h=0):d===m?(h=h<0?-1:1,s=l=0):(l=l<0?-1:1,s=h=0)}else{var g=c(s,l,h);s/=g,l/=g,h/=g}var y,v,x=e[o],_=e[o+4],b=e[o+8],w=x*s+_*l+b*h,T=c(x-=s*w,_-=l*w,b-=h*w),k=l*(b/=T)-h*(_/=T),A=h*(x/=T)-s*b,M=s*_-l*x,S=c(k,A,M);if(k/=S,A/=S,M/=S,this.center.jump(t,H,G,Z),this.radius.idle(t),this.up.jump(t,s,l,h),this.right.jump(t,x,_,b),2===a){var E=e[1],C=e[5],L=e[9],I=E*x+C*_+L*b,P=E*k+C*A+L*M;y=R<0?-Math.PI/2:Math.PI/2,v=Math.atan2(P,I)}else{var z=e[2],O=e[6],D=e[10],R=z*s+O*l+D*h,F=z*x+O*_+D*b,B=z*k+O*A+D*M;y=Math.asin(u(R)),v=Math.atan2(B,F)}this.angle.jump(t,v,y),this.recalcMatrix(t);var N=e[2],j=e[6],U=e[10],V=this.computedMatrix;i(V,e);var q=V[15],H=V[12]/q,G=V[13]/q,Z=V[14]/q,W=Math.exp(this.computedRadius[0]);this.center.jump(t,H-N*W,G-j*W,Z-U*W)},p.lastT=function(){return Math.max(this.center.lastT(),this.up.lastT(),this.right.lastT(),this.radius.lastT(),this.angle.lastT())},p.idle=function(t){this.center.idle(t),this.up.idle(t),this.right.idle(t),this.radius.idle(t),this.angle.idle(t)},p.flush=function(t){this.center.flush(t),this.up.flush(t),this.right.flush(t),this.radius.flush(t),this.angle.flush(t)},p.setDistance=function(t,e){e>0&&this.radius.set(t,Math.log(e))},p.lookAt=function(t,e,r,n){this.recalcMatrix(t),e=e||this.computedEye,r=r||this.computedCenter;var i=(n=n||this.computedUp)[0],a=n[1],o=n[2],s=c(i,a,o);if(!(s<1e-6)){i/=s,a/=s,o/=s;var l=e[0]-r[0],h=e[1]-r[1],f=e[2]-r[2],p=c(l,h,f);if(!(p<1e-6)){l/=p,h/=p,f/=p;var d=this.computedRight,m=d[0],g=d[1],y=d[2],v=i*m+a*g+o*y,x=c(m-=v*i,g-=v*a,y-=v*o);if(!(x<.01&&(x=c(m=a*f-o*h,g=o*l-i*f,y=i*h-a*l))<1e-6)){m/=x,g/=x,y/=x,this.up.set(t,i,a,o),this.right.set(t,m,g,y),this.center.set(t,r[0],r[1],r[2]),this.radius.set(t,Math.log(p));var _=a*y-o*g,b=o*m-i*y,w=i*g-a*m,T=c(_,b,w),k=i*l+a*h+o*f,A=m*l+g*h+y*f,M=(_/=T)*l+(b/=T)*h+(w/=T)*f,S=Math.asin(u(k)),E=Math.atan2(M,A),C=this.angle._state,L=C[C.length-1],I=C[C.length-2];L%=2*Math.PI;var P=Math.abs(L+2*Math.PI-E),z=Math.abs(L-E),O=Math.abs(L-2*Math.PI-E);P0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function m(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function v(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function _(t){return new Float32Array(p(4*t),0,t)}function b(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=h[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))h[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);u[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){f(t.buffer)},e.freeArrayBuffer=f,e.freeBuffer=function(t){h[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return m(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return v(t);case"int32":return x(t);case"float":case"float32":return _(t);case"double":case"float64":return b(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=m,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=v,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=_,e.mallocFloat64=e.mallocDouble=b,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)c.UINT8[t].length=0,c.UINT16[t].length=0,c.UINT32[t].length=0,c.INT8[t].length=0,c.INT16[t].length=0,c.INT32[t].length=0,c.FLOAT[t].length=0,c.DOUBLE[t].length=0,c.BIGUINT64[t].length=0,c.BIGINT64[t].length=0,c.UINT8C[t].length=0,u[t].length=0,h[t].length=0}},1755:function(t){"use strict";function e(t){this.roots=new Array(t),this.ranks=new Array(t);for(var e=0;e0&&(a=n.size),n.lineSpacing&&n.lineSpacing>0&&(o=n.lineSpacing),n.styletags&&n.styletags.breaklines&&(s.breaklines=!!n.styletags.breaklines),n.styletags&&n.styletags.bolds&&(s.bolds=!!n.styletags.bolds),n.styletags&&n.styletags.italics&&(s.italics=!!n.styletags.italics),n.styletags&&n.styletags.subscripts&&(s.subscripts=!!n.styletags.subscripts),n.styletags&&n.styletags.superscripts&&(s.superscripts=!!n.styletags.superscripts)),r.font=[n.fontStyle,n.fontVariant,n.fontWeight,a+"px",n.font].filter((function(t){return t})).join(" "),r.textAlign="start",r.textBaseline="alphabetic",r.direction="ltr",w(function(t,e,r,n,a,o){r=r.replace(/\n/g,""),r=!0===o.breaklines?r.replace(/\/g,"\n"):r.replace(/\/g," ");var s="",l=[];for(T=0;T-1?parseInt(t[1+i]):0,l=a>-1?parseInt(r[1+a]):0;s!==l&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,l-s),n=n.replace("?px ",F())),A+=.25*C*(l-s)}if(!0===o.superscripts){var c=t.indexOf(d),h=r.indexOf(d),p=c>-1?parseInt(t[1+c]):0,m=h>-1?parseInt(r[1+h]):0;p!==m&&(n=n.replace(F(),"?px "),M*=Math.pow(.75,m-p),n=n.replace("?px ",F())),A-=.25*C*(m-p)}if(!0===o.bolds){var g=t.indexOf(u)>-1,v=r.indexOf(u)>-1;!g&&v&&(n=x?n.replace("italic ","italic bold "):"bold "+n),g&&!v&&(n=n.replace("bold ",""))}if(!0===o.italics){var x=t.indexOf(f)>-1,_=r.indexOf(f)>-1;!x&&_&&(n="italic "+n),x&&!_&&(n=n.replace("italic ",""))}e.font=n}for(w=0;w",a="",o=i.length,s=a.length,l=e[0]===d||e[0]===y,c=0,u=-s;c>-1&&-1!==(c=r.indexOf(i,c))&&-1!==(u=r.indexOf(a,c+o))&&!(u<=c);){for(var h=c;h=u)n[h]=null,r=r.substr(0,h)+" "+r.substr(h+1);else if(null!==n[h]){var f=n[h].indexOf(e[0]);-1===f?n[h]+=e:l&&(n[h]=n[h].substr(0,f+1)+(1+parseInt(n[h][f+1]))+n[h].substr(f+2))}var p=c+o,m=r.substr(p,u-p).indexOf(i);c=-1!==m?m:u+s}return n}function _(t,e){var r=n(t,128);return e?a(r.cells,r.positions,.25):{edges:r.cells,positions:r.positions}}function b(t,e,r,n){var i=_(t,n),a=function(t,e,r){for(var n=e.textAlign||"start",i=e.textBaseline||"alphabetic",a=[1<<30,1<<30],o=[0,0],s=t.length,l=0;l=0?e[a]:i}))},has___:{value:x((function(e){var n=v(e);return n?r in n:t.indexOf(e)>=0}))},set___:{value:x((function(n,i){var a,o=v(n);return o?o[r]=i:(a=t.indexOf(n))>=0?e[a]=i:(a=t.length,e[a]=i,t[a]=n),this}))},delete___:{value:x((function(n){var i,a,o=v(n);return o?r in o&&delete o[r]:!((i=t.indexOf(n))<0||(a=t.length-1,t[i]=void 0,e[i]=e[a],t[i]=t[a],t.length=a,e.length=a,0))}))}})};m.prototype=Object.create(Object.prototype,{get:{value:function(t,e){return this.get___(t,e)},writable:!0,configurable:!0},has:{value:function(t){return this.has___(t)},writable:!0,configurable:!0},set:{value:function(t,e){return this.set___(t,e)},writable:!0,configurable:!0},delete:{value:function(t){return this.delete___(t)},writable:!0,configurable:!0}}),"function"==typeof r?function(){function n(){this instanceof m||_();var t,n=new r,i=void 0,a=!1;return t=e?function(t,e){return n.set(t,e),n.has(t)||(i||(i=new m),i.set(t,e)),this}:function(t,e){if(a)try{n.set(t,e)}catch(r){i||(i=new m),i.set___(t,e)}else n.set(t,e);return this},Object.create(m.prototype,{get___:{value:x((function(t,e){return i?n.has(t)?n.get(t):i.get___(t,e):n.get(t,e)}))},has___:{value:x((function(t){return n.has(t)||!!i&&i.has___(t)}))},set___:{value:x(t)},delete___:{value:x((function(t){var e=!!n.delete(t);return i&&i.delete___(t)||e}))},permitHostObjects___:{value:x((function(t){if(t!==g)throw new Error("bogus call to permitHostObjects___");a=!0}))}})}e&&"undefined"!=typeof Proxy&&(Proxy=void 0),n.prototype=m.prototype,t.exports=n,Object.defineProperty(WeakMap.prototype,"constructor",{value:WeakMap,enumerable:!1,configurable:!0,writable:!0})}():("undefined"!=typeof Proxy&&(Proxy=void 0),t.exports=m)}function g(t){t.permitHostObjects___&&t.permitHostObjects___(g)}function y(t){return!(t.substr(0,8)==l&&"___"===t.substr(t.length-3))}function v(t){if(t!==Object(t))throw new TypeError("Not an object: "+t);var e=t[c];if(e&&e.key===t)return e;if(s(t)){e={key:t};try{return o(t,c,{value:e,writable:!1,enumerable:!1,configurable:!1}),e}catch(t){return}}}function x(t){return t.prototype=null,Object.freeze(t)}function _(){p||"undefined"==typeof console||(p=!0,console.warn("WeakMap should be invoked as new WeakMap(), not WeakMap(). This will be an error in the future."))}}()},236:function(t,e,r){var n=r(8284);t.exports=function(){var t={};return function(e){if(("object"!=typeof e||null===e)&&"function"!=typeof e)throw new Error("Weakmap-shim: Key must be object");var r=e.valueOf(t);return r&&r.identity===t?r:n(e,t)}}},8284:function(t){t.exports=function(t,e){var r={identity:e},n=t.valueOf;return Object.defineProperty(t,"valueOf",{value:function(t){return t!==e?n.apply(this,arguments):r},writable:!0}),r}},606:function(t,e,r){var n=r(236);t.exports=function(){var t=n();return{get:function(e,r){var n=t(e);return n.hasOwnProperty("value")?n.value:r},set:function(e,r){return t(e).value=r,this},has:function(e){return"value"in t(e)},delete:function(e){return delete t(e).value}}}},3349:function(t){"use strict";t.exports=function(t){var e={};return function(r,n,i){var a=r.dtype,o=r.order,s=[a,o.join()].join(),l=e[s];return l||(e[s]=l=t([a,o])),l(r.shape.slice(0),r.data,r.stride,0|r.offset,n,i)}}(function(){return function(t,e,r,n,i,a){var o=t[0],s=r[0],l=[0],c=s;n|=0;var u=0,h=s;for(u=0;u=0!=p>=0&&i.push(l[0]+.5+.5*(f+p)/(f-p)),n+=h,++l[0]}}}.bind(void 0,{funcName:"zeroCrossings"}))},781:function(t,e,r){"use strict";t.exports=function(t,e){var r=[];return e=+e||0,n(t.hi(t.shape[0]-1),r,e),r};var n=r(3349)},7790:function(){}},r={};function a(t){var n=r[t];if(void 0!==n)return n.exports;var i=r[t]={id:t,loaded:!1,exports:{}};return e[t].call(i.exports,i,i.exports,a),i.loaded=!0,i.exports}a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),a.nmd=function(t){return t.paths=[],t.children||(t.children=[]),t};var o=a(1964);t.exports=o}()},45708:function(t,e,r){"use strict";function n(t,e){for(var r=0;rp)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,m.prototype),e}function m(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return v(t)}return g(t,e,r)}function g(t,e,r){if("string"==typeof t)return function(t,e){if("string"==typeof e&&""!==e||(e="utf8"),!m.isEncoding(e))throw new TypeError("Unknown encoding: "+e);var r=0|w(t,e),n=d(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}(t,e);if(ArrayBuffer.isView(t))return function(t){if(rt(t,Uint8Array)){var e=new Uint8Array(t);return _(e.buffer,e.byteOffset,e.byteLength)}return x(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+c(t));if(rt(t,ArrayBuffer)||t&&rt(t.buffer,ArrayBuffer))return _(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(rt(t,SharedArrayBuffer)||t&&rt(t.buffer,SharedArrayBuffer)))return _(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');var n=t.valueOf&&t.valueOf();if(null!=n&&n!==t)return m.from(n,e,r);var i=function(t){if(m.isBuffer(t)){var e=0|b(t.length),r=d(e);return 0===r.length||t.copy(r,0,0,e),r}return void 0!==t.length?"number"!=typeof t.length||nt(t.length)?d(0):x(t):"Buffer"===t.type&&Array.isArray(t.data)?x(t.data):void 0}(t);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return m.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+c(t))}function y(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function v(t){return y(t),d(t<0?0:0|b(t))}function x(t){for(var e=t.length<0?0:0|b(t.length),r=d(e),n=0;n=p)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+p.toString(16)+" bytes");return 0|t}function w(t,e){if(m.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||rt(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+c(t));var r=t.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return tt(t).length;default:if(i)return n?-1:Q(t).length;e=(""+e).toLowerCase(),i=!0}}function T(t,e,r){var n=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return F(this,e,r);case"utf8":case"utf-8":return z(this,e,r);case"ascii":return D(this,e,r);case"latin1":case"binary":return R(this,e,r);case"base64":return P(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function k(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function A(t,e,r,n,i){if(0===t.length)return-1;if("string"==typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),nt(r=+r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0){if(!i)return-1;r=0}if("string"==typeof e&&(e=m.from(e,n)),m.isBuffer(e))return 0===e.length?-1:M(t,e,r,n,i);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):M(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function M(t,e,r,n,i){var a,o=1,s=t.length,l=e.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(t.length<2||e.length<2)return-1;o=2,s/=2,l/=2,r/=2}function c(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(i){var u=-1;for(a=r;as&&(r=s-l),a=r;a>=0;a--){for(var h=!0,f=0;fi&&(n=i):n=i;var a,o=e.length;for(n>o/2&&(n=o/2),a=0;a>8,i=r%256,a.push(i),a.push(n);return a}(e,t.length-r),t,r,n)}function P(t,e,r){return 0===e&&r===t.length?u.fromByteArray(t):u.fromByteArray(t.slice(e,r))}function z(t,e,r){r=Math.min(t.length,r);for(var n=[],i=e;i239?4:a>223?3:a>191?2:1;if(i+s<=r){var l=void 0,c=void 0,u=void 0,h=void 0;switch(s){case 1:a<128&&(o=a);break;case 2:128==(192&(l=t[i+1]))&&(h=(31&a)<<6|63&l)>127&&(o=h);break;case 3:l=t[i+1],c=t[i+2],128==(192&l)&&128==(192&c)&&(h=(15&a)<<12|(63&l)<<6|63&c)>2047&&(h<55296||h>57343)&&(o=h);break;case 4:l=t[i+1],c=t[i+2],u=t[i+3],128==(192&l)&&128==(192&c)&&128==(192&u)&&(h=(15&a)<<18|(63&l)<<12|(63&c)<<6|63&u)>65535&&h<1114112&&(o=h)}}null===o?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|1023&o),n.push(o),i+=s}return function(t){var e=t.length;if(e<=O)return String.fromCharCode.apply(String,t);for(var r="",n=0;nn.length?(m.isBuffer(a)||(a=m.from(a)),a.copy(n,i)):Uint8Array.prototype.set.call(n,a,i);else{if(!m.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,i)}i+=a.length}return n},m.byteLength=w,m.prototype._isBuffer=!0,m.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;er&&(t+=" ... "),""},f&&(m.prototype[f]=m.prototype.inspect),m.prototype.compare=function(t,e,r,n,i){if(rt(t,Uint8Array)&&(t=m.from(t,t.offset,t.byteLength)),!m.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+c(t));if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),e<0||r>t.length||n<0||i>this.length)throw new RangeError("out of range index");if(n>=i&&e>=r)return 0;if(n>=i)return-1;if(e>=r)return 1;if(this===t)return 0;for(var a=(i>>>=0)-(n>>>=0),o=(r>>>=0)-(e>>>=0),s=Math.min(a,o),l=this.slice(n,i),u=t.slice(e,r),h=0;h>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var i=this.length-e;if((void 0===r||r>i)&&(r=i),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var a=!1;;)switch(n){case"hex":return S(this,t,e,r);case"utf8":case"utf-8":return E(this,t,e,r);case"ascii":case"latin1":case"binary":return C(this,t,e,r);case"base64":return L(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return I(this,t,e,r);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}},m.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var O=4096;function D(t,e,r){var n="";r=Math.min(t.length,r);for(var i=e;in)&&(r=n);for(var i="",a=e;ar)throw new RangeError("Trying to access beyond buffer length")}function j(t,e,r,n,i,a){if(!m.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||et.length)throw new RangeError("Index out of range")}function U(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a,a>>=8,t[r++]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function V(t,e,r,n,i){X(e,n,i,t,r,7);var a=Number(e&BigInt(4294967295));t[r+7]=a,a>>=8,t[r+6]=a,a>>=8,t[r+5]=a,a>>=8,t[r+4]=a;var o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function q(t,e,r,n,i,a){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function H(t,e,r,n,i){return e=+e,r>>>=0,i||q(t,0,r,4),h.write(t,e,r,n,23,4),r+4}function G(t,e,r,n,i){return e=+e,r>>>=0,i||q(t,0,r,8),h.write(t,e,r,n,52,8),r+8}m.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t+--e],i=1;e>0&&(i*=256);)n+=this[t+--e]*i;return n},m.prototype.readUint8=m.prototype.readUInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),this[t]},m.prototype.readUint16LE=m.prototype.readUInt16LE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]|this[t+1]<<8},m.prototype.readUint16BE=m.prototype.readUInt16BE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]<<8|this[t+1]},m.prototype.readUint32LE=m.prototype.readUInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},m.prototype.readUint32BE=m.prototype.readUInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},m.prototype.readBigUInt64LE=at((function(t){$(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||J(t,this.length-8);var n=e+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,24),i=this[++t]+this[++t]*Math.pow(2,8)+this[++t]*Math.pow(2,16)+r*Math.pow(2,24);return BigInt(n)+(BigInt(i)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||J(t,this.length-8);var n=e*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t],i=this[++t]*Math.pow(2,24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+r;return(BigInt(n)<>>=0,e>>>=0,r||N(t,e,this.length);for(var n=this[t],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*e)),n},m.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);for(var n=e,i=1,a=this[t+--n];n>0&&(i*=256);)a+=this[t+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*e)),a},m.prototype.readInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},m.prototype.readInt16LE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},m.prototype.readInt16BE=function(t,e){t>>>=0,e||N(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},m.prototype.readInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},m.prototype.readInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},m.prototype.readBigInt64LE=at((function(t){$(t>>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||J(t,this.length-8);var n=this[t+4]+this[t+5]*Math.pow(2,8)+this[t+6]*Math.pow(2,16)+(r<<24);return(BigInt(n)<>>=0,"offset");var e=this[t],r=this[t+7];void 0!==e&&void 0!==r||J(t,this.length-8);var n=(e<<24)+this[++t]*Math.pow(2,16)+this[++t]*Math.pow(2,8)+this[++t];return(BigInt(n)<>>=0,e||N(t,4,this.length),h.read(this,t,!0,23,4)},m.prototype.readFloatBE=function(t,e){return t>>>=0,e||N(t,4,this.length),h.read(this,t,!1,23,4)},m.prototype.readDoubleLE=function(t,e){return t>>>=0,e||N(t,8,this.length),h.read(this,t,!0,52,8)},m.prototype.readDoubleBE=function(t,e){return t>>>=0,e||N(t,8,this.length),h.read(this,t,!1,52,8)},m.prototype.writeUintLE=m.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=1,a=0;for(this[e]=255&t;++a>>=0,r>>>=0,n||j(this,t,e,r,Math.pow(2,8*r)-1,0);var i=r-1,a=1;for(this[e+i]=255&t;--i>=0&&(a*=256);)this[e+i]=t/a&255;return e+r},m.prototype.writeUint8=m.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,255,0),this[e]=255&t,e+1},m.prototype.writeUint16LE=m.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},m.prototype.writeUint16BE=m.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},m.prototype.writeUint32LE=m.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},m.prototype.writeUint32BE=m.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},m.prototype.writeBigUInt64LE=at((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),m.prototype.writeBigUInt64BE=at((function(t){return V(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,BigInt(0),BigInt("0xffffffffffffffff"))})),m.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=0,o=1,s=0;for(this[e]=255&t;++a>0)-s&255;return e+r},m.prototype.writeIntBE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var i=Math.pow(2,8*r-1);j(this,t,e,r,i-1,-i)}var a=r-1,o=1,s=0;for(this[e+a]=255&t;--a>=0&&(o*=256);)t<0&&0===s&&0!==this[e+a+1]&&(s=1),this[e+a]=(t/o>>0)-s&255;return e+r},m.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},m.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},m.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},m.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},m.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||j(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},m.prototype.writeBigInt64LE=at((function(t){return U(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),m.prototype.writeBigInt64BE=at((function(t){return V(this,t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),m.prototype.writeFloatLE=function(t,e,r){return H(this,t,e,!0,r)},m.prototype.writeFloatBE=function(t,e,r){return H(this,t,e,!1,r)},m.prototype.writeDoubleLE=function(t,e,r){return G(this,t,e,!0,r)},m.prototype.writeDoubleBE=function(t,e,r){return G(this,t,e,!1,r)},m.prototype.copy=function(t,e,r,n){if(!m.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(a=e;a=n+4;r-=3)e="_".concat(t.slice(r-3,r)).concat(e);return"".concat(t.slice(0,r)).concat(e)}function X(t,e,r,n,i,a){if(t>r||t3?0===e||e===BigInt(0)?">= 0".concat(s," and < 2").concat(s," ** ").concat(8*(a+1)).concat(s):">= -(2".concat(s," ** ").concat(8*(a+1)-1).concat(s,") and < 2 ** ")+"".concat(8*(a+1)-1).concat(s):">= ".concat(e).concat(s," and <= ").concat(r).concat(s),new Z.ERR_OUT_OF_RANGE("value",o,t)}!function(t,e,r){$(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||J(e,t.length-(r+1))}(n,i,a)}function $(t,e){if("number"!=typeof t)throw new Z.ERR_INVALID_ARG_TYPE(e,"number",t)}function J(t,e,r){if(Math.floor(t)!==t)throw $(t,r),new Z.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new Z.ERR_BUFFER_OUT_OF_BOUNDS;throw new Z.ERR_OUT_OF_RANGE(r||"offset",">= ".concat(r?1:0," and <= ").concat(e),t)}W("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?"".concat(t," is outside of buffer bounds"):"Attempt to access memory outside buffer bounds"}),RangeError),W("ERR_INVALID_ARG_TYPE",(function(t,e){return'The "'.concat(t,'" argument must be of type number. Received type ').concat(c(e))}),TypeError),W("ERR_OUT_OF_RANGE",(function(t,e,r){var n='The value of "'.concat(t,'" is out of range.'),i=r;return Number.isInteger(r)&&Math.abs(r)>Math.pow(2,32)?i=Y(String(r)):"bigint"==typeof r&&(i=String(r),(r>Math.pow(BigInt(2),BigInt(32))||r<-Math.pow(BigInt(2),BigInt(32)))&&(i=Y(i)),i+="n"),n+" It must be ".concat(e,". Received ").concat(i)}),RangeError);var K=/[^+/0-9A-Za-z-_]/g;function Q(t,e){var r;e=e||1/0;for(var n=t.length,i=null,a=[],o=0;o55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&a.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&a.push(239,191,189),i=r;continue}r=65536+(i-55296<<10|r-56320)}else i&&(e-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;a.push(r)}else if(r<2048){if((e-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return a}function tt(t){return u.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(K,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function et(t,e,r,n){var i;for(i=0;i=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function rt(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function nt(t){return t!=t}var it=function(){for(var t="0123456789abcdef",e=new Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)e[n+i]=t[r]+t[i];return e}();function at(t){return"undefined"==typeof BigInt?ot:t}function ot(){throw new Error("BigInt not supported")}},13087:function(t){"use strict";t.exports=i,t.exports.isMobile=i,t.exports.default=i;var e=/(android|bb\d+|meego).+mobile|armv7l|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series[46]0|samsungbrowser.*mobile|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i,r=/CrOS/,n=/android|ipad|playbook|silk/i;function i(t){t||(t={});var i=t.ua;if(i||"undefined"==typeof navigator||(i=navigator.userAgent),i&&i.headers&&"string"==typeof i.headers["user-agent"]&&(i=i.headers["user-agent"]),"string"!=typeof i)return!1;var a=e.test(i)&&!r.test(i)||!!t.tablet&&n.test(i);return!a&&t.tablet&&t.featureDetect&&navigator&&navigator.maxTouchPoints>1&&-1!==i.indexOf("Macintosh")&&-1!==i.indexOf("Safari")&&(a=!0),a}},5955:function(t,e,r){"use strict";var n=r(22413),i=r.n(n),a=r(51070),o=r.n(a),s=r(62133),l=r.n(s),c=new URL(r(77035),r.b),u=new URL(r(43470),r.b),h=new URL(r(68164),r.b),f=new URL(r(64665),r.b),p=new URL(r(4890),r.b),d=new URL(r(13363),r.b),m=new URL(r(13490),r.b),g=new URL(r(47603),r.b),y=new URL(r(13913),r.b),v=new URL(r(91413),r.b),x=new URL(r(64643),r.b),_=new URL(r(80216),r.b),b=new URL(r(61907),r.b),w=new URL(r(68605),r.b),T=new URL(r(25446),r.b),k=new URL(r(56694),r.b),A=new URL(r(24420),r.b),M=new URL(r(75796),r.b),S=new URL(r(92228),r.b),E=new URL(r(9819),r.b),C=new URL(r(47695),r.b),L=new URL(r(28869),r.b),I=new URL(r(30557),r.b),P=new URL(r(48460),r.b),z=new URL(r(56539),r.b),O=new URL(r(43737),r.b),D=new URL(r(47914),r.b),R=new URL(r(26117),r.b),F=new URL(r(66311),r.b),B=o()(i()),N=l()(c),j=l()(u),U=l()(h),V=l()(f),q=l()(p),H=l()(d),G=l()(m),Z=l()(g),W=l()(y),Y=l()(v),X=l()(x),$=l()(_),J=l()(b),K=l()(w),Q=l()(T),tt=l()(k),et=l()(A),rt=l()(M),nt=l()(S),it=l()(E),at=l()(C),ot=l()(L),st=l()(I),lt=l()(P),ct=l()(z),ut=l()(O),ht=l()(D),ft=l()(R),pt=l()(F);B.push([t.id,".maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("+N+")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("+j+")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("+U+")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("+V+")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("+q+")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("+H+")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("+G+")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("+Z+")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("+W+")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("+Y+")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("+X+")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("+Z+")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("+$+")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("+J+")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("+K+")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("+Q+")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("+tt+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("+et+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("+rt+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("+nt+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("+it+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("+at+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("+ot+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("+st+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("+lt+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("+nt+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("+it+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("+at+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("+ot+")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("+ct+")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("+ut+")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("+ht+");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("+ht+")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("+ht+")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("+ft+");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("+pt+")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("+ft+')}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}',""]),e.A=B},68735:function(t,e,r){"use strict";r.r(e),r.d(e,{sankeyCenter:function(){return f},sankeyCircular:function(){return L},sankeyJustify:function(){return h},sankeyLeft:function(){return c},sankeyRight:function(){return u}});var n=r(29725),i=r(4575),a=r(48544),o=r(96143),s=r.n(o);function l(t){return t.target.depth}function c(t){return t.depth}function u(t,e){return e-1-t.height}function h(t,e){return t.sourceLinks.length?t.depth:e-1}function f(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.jk)(t.sourceLinks,l)-1:0}function p(t){return function(){return t}}var d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function m(t,e){return y(t.source,e.source)||t.index-e.index}function g(t,e){return y(t.target,e.target)||t.index-e.index}function y(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function v(t){return t.value}function x(t){return(t.y0+t.y1)/2}function _(t){return x(t.source)}function b(t){return x(t.target)}function w(t){return t.index}function T(t){return t.nodes}function k(t){return t.links}function A(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function M(t,e){return e(t)}var S=25,E=10,C=.3;function L(){var t,e,r=0,a=0,o=1,l=1,c=24,u=w,f=h,M=T,L=k,P=32,O=2,D=null;function F(){var h={nodes:M.apply(null,arguments),links:L.apply(null,arguments)};!function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.Tj)(t.nodes,u);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!==(void 0===n?"undefined":d(n))&&(n=t.source=A(e,n)),"object"!==(void 0===i?"undefined":d(i))&&(i=t.target=A(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(h),function(t,e,r){var n=0;if(null===r){for(var i=[],a=0;a0?e+S+E:e,bottom:r=r>0?r+S+E:r,left:a=a>0?a+S+E:a,right:i=i>0?i+S+E:i}}(s),d=function(t,e){var i=(0,n.T9)(t.nodes,(function(t){return t.column})),s=o-r,u=l-a,h=s/(s+e.right+e.left),f=u/(u+e.top+e.bottom);return r=r*h+e.left,o=0==e.right?o:o*h,a=a*f+e.top,l*=f,t.nodes.forEach((function(t){t.x0=r+t.column*((o-r-c)/i),t.x1=t.x0+c})),f}(s,p);h*=d,s.links.forEach((function(t){t.width=t.value*h})),f.forEach((function(t){var e=t.length;t.forEach((function(t,r){t.depth==f.length-1&&1==e||0==t.depth&&1==e?(t.y0=l/2-t.value*h,t.y1=t.y0+t.value*h):t.partOfCycle?0==z(t,i)?(t.y0=l/2+r,t.y1=t.y0+t.value*h):"top"==t.circularLinkType?(t.y0=a+r,t.y1=t.y0+t.value*h):(t.y0=l-t.value*h-r,t.y1=t.y0+t.value*h):0==p.top||0==p.bottom?(t.y0=(l-a)/e*r,t.y1=t.y0+t.value*h):(t.y0=(l-a)/2-e/2+r,t.y1=t.y0+t.value*h)}))}))})(h),g();for(var p=1,d=u;d>0;--d)m(p*=.99,h),g();function m(t,e){var r=f.length;f.forEach((function(i){var a=i.length,o=i[0].depth;i.forEach((function(i){var s;if(i.sourceLinks.length||i.targetLinks.length)if(i.partOfCycle&&z(i,e)>0);else if(0==o&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else if(o==r-1&&1==a)s=i.y1-i.y0,i.y0=l/2-s/2,i.y1=l/2+s/2;else{var c=(0,n.i2)(i.sourceLinks,b),u=(0,n.i2)(i.targetLinks,_),h=((c&&u?(c+u)/2:c||u)-x(i))*t;i.y0+=h,i.y1+=h}}))}))}function g(){f.forEach((function(e){var r,n,i,o=a,s=e.length;for(e.sort(y),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+t;if((n=o-t-l)>0)for(o=r.y0-=n,r.y1-=n,i=s-2;i>=0;--i)(n=(r=e[i]).y1+t-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(h,P,u),B(h);for(var p=0;p<4;p++)Y(h,l,u),X(h,0,u),Z(h,a,l,u),Y(h,l,u),X(h,0,u);return function(t,e,r){var i=t.nodes,a=t.links,o=!1,s=!1;if(a.forEach((function(t){"top"==t.circularLinkType?o=!0:"bottom"==t.circularLinkType&&(s=!0)})),0==o||0==s){var l=(0,n.jk)(i,(function(t){return t.y0})),c=(r-e)/((0,n.T9)(i,(function(t){return t.y1}))-l);i.forEach((function(t){var e=(t.y1-t.y0)*c;t.y0=(t.y0-l)*c,t.y1=t.y0+e})),a.forEach((function(t){t.y0=(t.y0-l)*c,t.y1=(t.y1-l)*c,t.width=t.width*c}))}}(h,a,l),R(h,O,l,u),h}function B(t){t.nodes.forEach((function(t){t.sourceLinks.sort(g),t.targetLinks.sort(m)})),t.nodes.forEach((function(t){var e=t.y0,r=e,n=t.y1,i=n;t.sourceLinks.forEach((function(t){t.circular?(t.y0=n-t.width/2,n-=t.width):(t.y0=e+t.width/2,e+=t.width)})),t.targetLinks.forEach((function(t){t.circular?(t.y1=i-t.width/2,i-=t.width):(t.y1=r+t.width/2,r+=t.width)}))}))}return F.nodeId=function(t){return arguments.length?(u="function"==typeof t?t:p(t),F):u},F.nodeAlign=function(t){return arguments.length?(f="function"==typeof t?t:p(t),F):f},F.nodeWidth=function(t){return arguments.length?(c=+t,F):c},F.nodePadding=function(e){return arguments.length?(t=+e,F):t},F.nodes=function(t){return arguments.length?(M="function"==typeof t?t:p(t),F):M},F.links=function(t){return arguments.length?(L="function"==typeof t?t:p(t),F):L},F.size=function(t){return arguments.length?(r=a=0,o=+t[0],l=+t[1],F):[o-r,l-a]},F.extent=function(t){return arguments.length?(r=+t[0][0],o=+t[1][0],a=+t[0][1],l=+t[1][1],F):[[r,a],[o,l]]},F.iterations=function(t){return arguments.length?(P=+t,F):P},F.circularLinkGap=function(t){return arguments.length?(O=+t,F):O},F.nodePaddingRatio=function(t){return arguments.length?(e=+t,F):e},F.sortNodes=function(t){return arguments.length?(D=t,F):D},F.update=function(t){return I(t,u),B(t),t.links.forEach((function(t){t.circular&&(t.circularLinkType=t.y0+t.y11||i>1)}function D(t,e,r){return t.sort(F),t.forEach((function(n,i){var a,o,s=0;if(K(n,r)&&O(n))n.circularPathData.verticalBuffer=s+n.width/2;else{for(var l=0;lo.source.column)){var c=t[l].circularPathData.verticalBuffer+t[l].width/2+e;s=c>s?c:s}n.circularPathData.verticalBuffer=s+n.width/2}})),t}function R(t,e,r,i){var o=(0,n.jk)(t.links,(function(t){return t.source.y0}));t.links.forEach((function(t){t.circular&&(t.circularPathData={})})),D(t.links.filter((function(t){return"top"==t.circularLinkType})),e,i),D(t.links.filter((function(t){return"bottom"==t.circularLinkType})),e,i),t.links.forEach((function(n){if(n.circular){if(n.circularPathData.arcRadius=n.width+E,n.circularPathData.leftNodeBuffer=5,n.circularPathData.rightNodeBuffer=5,n.circularPathData.sourceWidth=n.source.x1-n.source.x0,n.circularPathData.sourceX=n.source.x0+n.circularPathData.sourceWidth,n.circularPathData.targetX=n.target.x0,n.circularPathData.sourceY=n.y0,n.circularPathData.targetY=n.y1,K(n,i)&&O(n))n.circularPathData.leftSmallArcRadius=E+n.width/2,n.circularPathData.leftLargeArcRadius=E+n.width/2,n.circularPathData.rightSmallArcRadius=E+n.width/2,n.circularPathData.rightLargeArcRadius=E+n.width/2,"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=n.source.y1+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=n.source.y0-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius);else{var s=n.source.column,l=n.circularLinkType,c=t.links.filter((function(t){return t.source.column==s&&t.circularLinkType==l}));"bottom"==n.circularLinkType?c.sort(N):c.sort(B);var u=0;c.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.leftSmallArcRadius=E+n.width/2+u,n.circularPathData.leftLargeArcRadius=E+n.width/2+r*e+u),u+=t.width})),s=n.target.column,c=t.links.filter((function(t){return t.target.column==s&&t.circularLinkType==l})),"bottom"==n.circularLinkType?c.sort(U):c.sort(j),u=0,c.forEach((function(t,r){t.circularLinkID==n.circularLinkID&&(n.circularPathData.rightSmallArcRadius=E+n.width/2+u,n.circularPathData.rightLargeArcRadius=E+n.width/2+r*e+u),u+=t.width})),"bottom"==n.circularLinkType?(n.circularPathData.verticalFullExtent=Math.max(r,n.source.y1,n.target.y1)+S+n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent-n.circularPathData.rightLargeArcRadius):(n.circularPathData.verticalFullExtent=o-S-n.circularPathData.verticalBuffer,n.circularPathData.verticalLeftInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.leftLargeArcRadius,n.circularPathData.verticalRightInnerExtent=n.circularPathData.verticalFullExtent+n.circularPathData.rightLargeArcRadius)}n.circularPathData.leftInnerExtent=n.circularPathData.sourceX+n.circularPathData.leftNodeBuffer,n.circularPathData.rightInnerExtent=n.circularPathData.targetX-n.circularPathData.rightNodeBuffer,n.circularPathData.leftFullExtent=n.circularPathData.sourceX+n.circularPathData.leftLargeArcRadius+n.circularPathData.leftNodeBuffer,n.circularPathData.rightFullExtent=n.circularPathData.targetX-n.circularPathData.rightLargeArcRadius-n.circularPathData.rightNodeBuffer}if(n.circular)n.path=function(t){return"top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.leftSmallArcRadius)+" L"+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" L"+t.circularPathData.rightFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.rightSmallArcRadius)+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY}(n);else{var h=(0,a.pq)().source((function(t){return[t.source.x0+(t.source.x1-t.source.x0),t.y0]})).target((function(t){return[t.target.x0,t.y1]}));n.path=h(n)}}))}function F(t,e){return V(t)==V(e)?"bottom"==t.circularLinkType?N(t,e):B(t,e):V(e)-V(t)}function B(t,e){return t.y0-e.y0}function N(t,e){return e.y0-t.y0}function j(t,e){return t.y1-e.y1}function U(t,e){return e.y1-t.y1}function V(t){return t.target.column-t.source.column}function q(t){return t.target.x0-t.source.x1}function H(t,e){var r=P(t),n=q(e)/Math.tan(r);return"up"==J(t)?t.y1+n:t.y1-n}function G(t,e){var r=P(t),n=q(e)/Math.tan(r);return"up"==J(t)?t.y1-n:t.y1+n}function Z(t,e,r,n){t.links.forEach((function(i){if(!i.circular&&i.target.column-i.source.column>1){var a=i.source.column+1,o=i.target.column-1,s=1,l=o-a+1;for(s=1;a<=o;a++,s++)t.nodes.forEach((function(o){if(o.column==a){var c,u=s/(l+1),h=Math.pow(1-u,3),f=3*u*Math.pow(1-u,2),p=3*Math.pow(u,2)*(1-u),d=Math.pow(u,3),m=h*i.y0+f*i.y0+p*i.y1+d*i.y1,g=m-i.width/2,y=m+i.width/2;g>o.y0&&ga.y0&&i.y0a.y0&&i.y1a.y1)&&W(t,c,e,r)}))):(y>o.y0&&yo.y1)&&(c=y-o.y0+10,o=W(o,c,e,r),t.nodes.forEach((function(t){M(t,n)!=M(o,n)&&t.column==o.column&&t.y0o.y1&&W(t,c,e,r)})))}}))}}))}function W(t,e,r,n){return t.y0+e>=r&&t.y1+e<=n&&(t.y0=t.y0+e,t.y1=t.y1+e,t.targetLinks.forEach((function(t){t.y1=t.y1+e})),t.sourceLinks.forEach((function(t){t.y0=t.y0+e}))),t}function Y(t,e,r,n){t.nodes.forEach((function(i){n&&i.y+(i.y1-i.y0)>e&&(i.y=i.y-(i.y+(i.y1-i.y0)-e));var a=t.links.filter((function(t){return M(t.source,r)==M(i,r)})),o=a.length;o>1&&a.sort((function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!$(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var r=G(e,t);return t.y1-r}if(e.target.column>t.target.column)return G(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0}));var s=i.y0;a.forEach((function(t){t.y0=s+t.width/2,s+=t.width})),a.forEach((function(t,e){if("bottom"==t.circularLinkType){for(var r=e+1,n=0;r1&&n.sort((function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!$(t,e))return t.y0-e.y0;if(e.source.column0?"up":"down"}function K(t,e){return M(t.source,e)==M(t.target,e)}},62369:function(t,e,r){"use strict";r.r(e),r.d(e,{sankey:function(){return w},sankeyCenter:function(){return c},sankeyJustify:function(){return l},sankeyLeft:function(){return o},sankeyLinkHorizontal:function(){return M},sankeyRight:function(){return s}});var n=r(29725),i=r(4575);function a(t){return t.target.depth}function o(t){return t.depth}function s(t,e){return e-1-t.height}function l(t,e){return t.sourceLinks.length?t.depth:e-1}function c(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?(0,n.jk)(t.sourceLinks,a)-1:0}function u(t){return function(){return t}}function h(t,e){return p(t.source,e.source)||t.index-e.index}function f(t,e){return p(t.target,e.target)||t.index-e.index}function p(t,e){return t.y0-e.y0}function d(t){return t.value}function m(t){return(t.y0+t.y1)/2}function g(t){return m(t.source)*t.value}function y(t){return m(t.target)*t.value}function v(t){return t.index}function x(t){return t.nodes}function _(t){return t.links}function b(t,e){var r=t.get(e);if(!r)throw new Error("missing: "+e);return r}function w(){var t=0,e=0,r=1,a=1,o=24,s=8,c=v,w=l,T=x,k=_,A=32;function M(){var l={nodes:T.apply(null,arguments),links:k.apply(null,arguments)};return function(t){t.nodes.forEach((function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]}));var e=(0,i.Tj)(t.nodes,c);t.links.forEach((function(t,r){t.index=r;var n=t.source,i=t.target;"object"!=typeof n&&(n=t.source=b(e,n)),"object"!=typeof i&&(i=t.target=b(e,i)),n.sourceLinks.push(t),i.targetLinks.push(t)}))}(l),function(t){t.nodes.forEach((function(t){t.value=Math.max((0,n.cz)(t.sourceLinks,d),(0,n.cz)(t.targetLinks,d))}))}(l),function(e){var n,i,a;for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.depth=a,t.sourceLinks.forEach((function(t){i.indexOf(t.target)<0&&i.push(t.target)}))}));for(n=e.nodes,i=[],a=0;n.length;++a,n=i,i=[])n.forEach((function(t){t.height=a,t.targetLinks.forEach((function(t){i.indexOf(t.source)<0&&i.push(t.source)}))}));var s=(r-t-o)/(a-1);e.nodes.forEach((function(e){e.x1=(e.x0=t+Math.max(0,Math.min(a-1,Math.floor(w.call(null,e,a))))*s)+o}))}(l),function(t){var r=(0,i.$I)().key((function(t){return t.x0})).sortKeys(n.V_).entries(t.nodes).map((function(t){return t.values}));(function(){var i=(0,n.T9)(r,(function(t){return t.length})),o=.6666666666666666*(a-e)/(i-1);s>o&&(s=o);var l=(0,n.jk)(r,(function(t){return(a-e-(t.length-1)*s)/(0,n.cz)(t,d)}));r.forEach((function(t){t.forEach((function(t,e){t.y1=(t.y0=e)+t.value*l}))})),t.links.forEach((function(t){t.width=t.value*l}))})(),h();for(var o=1,l=A;l>0;--l)u(o*=.99),h(),c(o),h();function c(t){r.forEach((function(e){e.forEach((function(e){if(e.targetLinks.length){var r=((0,n.cz)(e.targetLinks,g)/(0,n.cz)(e.targetLinks,d)-m(e))*t;e.y0+=r,e.y1+=r}}))}))}function u(t){r.slice().reverse().forEach((function(e){e.forEach((function(e){if(e.sourceLinks.length){var r=((0,n.cz)(e.sourceLinks,y)/(0,n.cz)(e.sourceLinks,d)-m(e))*t;e.y0+=r,e.y1+=r}}))}))}function h(){r.forEach((function(t){var r,n,i,o=e,l=t.length;for(t.sort(p),i=0;i0&&(r.y0+=n,r.y1+=n),o=r.y1+s;if((n=o-s-a)>0)for(o=r.y0-=n,r.y1-=n,i=l-2;i>=0;--i)(n=(r=t[i]).y1+s-o)>0&&(r.y0-=n,r.y1-=n),o=r.y0}))}}(l),S(l),l}function S(t){t.nodes.forEach((function(t){t.sourceLinks.sort(f),t.targetLinks.sort(h)})),t.nodes.forEach((function(t){var e=t.y0,r=e;t.sourceLinks.forEach((function(t){t.y0=e+t.width/2,e+=t.width})),t.targetLinks.forEach((function(t){t.y1=r+t.width/2,r+=t.width}))}))}return M.update=function(t){return S(t),t},M.nodeId=function(t){return arguments.length?(c="function"==typeof t?t:u(t),M):c},M.nodeAlign=function(t){return arguments.length?(w="function"==typeof t?t:u(t),M):w},M.nodeWidth=function(t){return arguments.length?(o=+t,M):o},M.nodePadding=function(t){return arguments.length?(s=+t,M):s},M.nodes=function(t){return arguments.length?(T="function"==typeof t?t:u(t),M):T},M.links=function(t){return arguments.length?(k="function"==typeof t?t:u(t),M):k},M.size=function(n){return arguments.length?(t=e=0,r=+n[0],a=+n[1],M):[r-t,a-e]},M.extent=function(n){return arguments.length?(t=+n[0][0],r=+n[1][0],e=+n[0][1],a=+n[1][1],M):[[t,e],[r,a]]},M.iterations=function(t){return arguments.length?(A=+t,M):A},M}var T=r(48544);function k(t){return[t.source.x1,t.y0]}function A(t){return[t.target.x0,t.y1]}function M(){return(0,T.pq)().source(k).target(A)}},45568:function(t,e,r){var n,i;(function(){var a={version:"3.8.2"},o=[].slice,s=function(t){return o.call(t)},l=self.document;function c(t){return t&&(t.ownerDocument||t.document||t).documentElement}function u(t){return t&&(t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView)}if(l)try{s(l.documentElement.childNodes)[0].nodeType}catch(t){s=function(t){for(var e=t.length,r=new Array(e);e--;)r[e]=t[e];return r}}if(Date.now||(Date.now=function(){return+new Date}),l)try{l.createElement("DIV").style.setProperty("opacity",0,"")}catch(t){var h=this.Element.prototype,f=h.setAttribute,p=h.setAttributeNS,d=this.CSSStyleDeclaration.prototype,m=d.setProperty;h.setAttribute=function(t,e){f.call(this,t,e+"")},h.setAttributeNS=function(t,e,r){p.call(this,t,e,r+"")},d.setProperty=function(t,e,r){m.call(this,t,e+"",r)}}function g(t,e){return te?1:t>=e?0:NaN}function y(t){return null===t?NaN:+t}function v(t){return!isNaN(t)}function x(t){return{left:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)<0?n=a+1:i=a}return n},right:function(e,r,n,i){for(arguments.length<3&&(n=0),arguments.length<4&&(i=e.length);n>>1;t(e[a],r)>0?i=a:n=a+1}return n}}}a.ascending=g,a.descending=function(t,e){return et?1:e>=t?0:NaN},a.min=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++in&&(r=n)}else{for(;++i=n){r=n;break}for(;++in&&(r=n)}return r},a.max=function(t,e){var r,n,i=-1,a=t.length;if(1===arguments.length){for(;++i=n){r=n;break}for(;++ir&&(r=n)}else{for(;++i=n){r=n;break}for(;++ir&&(r=n)}return r},a.extent=function(t,e){var r,n,i,a=-1,o=t.length;if(1===arguments.length){for(;++a=n){r=i=n;break}for(;++an&&(r=n),i=n){r=i=n;break}for(;++an&&(r=n),i1)return o/(l-1)},a.deviation=function(){var t=a.variance.apply(this,arguments);return t?Math.sqrt(t):t};var _=x(g);function b(t){return t.length}a.bisectLeft=_.left,a.bisect=a.bisectRight=_.right,a.bisector=function(t){return x(1===t.length?function(e,r){return g(t(e),r)}:t)},a.shuffle=function(t,e,r){(a=arguments.length)<3&&(r=t.length,a<2&&(e=0));for(var n,i,a=r-e;a;)i=Math.random()*a--|0,n=t[a+e],t[a+e]=t[i+e],t[i+e]=n;return t},a.permute=function(t,e){for(var r=e.length,n=new Array(r);r--;)n[r]=t[e[r]];return n},a.pairs=function(t){for(var e=0,r=t.length-1,n=t[0],i=new Array(r<0?0:r);e=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r};var w=Math.abs;function T(t,e){for(var r in e)Object.defineProperty(t.prototype,r,{value:e[r],enumerable:!1})}function k(){this._=Object.create(null)}a.range=function(t,e,r){if(arguments.length<3&&(r=1,arguments.length<2&&(e=t,t=0)),(e-t)/r==1/0)throw new Error("infinite range");var n,i=[],a=function(t){for(var e=1;t*e%1;)e*=10;return e}(w(r)),o=-1;if(t*=a,e*=a,(r*=a)<0)for(;(n=t+r*++o)>e;)i.push(n/a);else for(;(n=t+r*++o)=n.length)return e?e.call(r,a):t?a.sort(t):a;for(var l,c,u,h,f=-1,p=a.length,d=n[s++],m=new k;++f=n.length)return t;var r=[],a=i[e++];return t.forEach((function(t,n){r.push({key:t,values:s(n,e)})})),a?r.sort((function(t,e){return a(t.key,e.key)})):r}return r.map=function(t,e){return o(e,t,0)},r.entries=function(t){return s(o(a.map,t,0),0)},r.key=function(t){return n.push(t),r},r.sortKeys=function(t){return i[n.length-1]=t,r},r.sortValues=function(e){return t=e,r},r.rollup=function(t){return e=t,r},r},a.set=function(t){var e=new O;if(t)for(var r=0,n=t.length;r=0&&(n=t.slice(r+1),t=t.slice(0,r)),t)return arguments.length<2?this[t].on(n):this[t].on(n,e);if(2===arguments.length){if(null==e)for(t in this)this.hasOwnProperty(t)&&this[t].on(n,null);return this}},a.event=null,a.requote=function(t){return t.replace(G,"\\$&")};var G=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,Z={}.__proto__?function(t,e){t.__proto__=e}:function(t,e){for(var r in e)t[r]=e[r]};function W(t){return Z(t,J),t}var Y=function(t,e){return e.querySelector(t)},X=function(t,e){return e.querySelectorAll(t)},$=function(t,e){var r=t.matches||t[F(t,"matchesSelector")];return $=function(t,e){return r.call(t,e)},$(t,e)};"function"==typeof Sizzle&&(Y=function(t,e){return Sizzle(t,e)[0]||null},X=Sizzle,$=Sizzle.matchesSelector),a.selection=function(){return a.select(l.documentElement)};var J=a.selection.prototype=[];function K(t){return"function"==typeof t?t:function(){return Y(t,this)}}function Q(t){return"function"==typeof t?t:function(){return X(t,this)}}J.select=function(t){var e,r,n,i,a=[];t=K(t);for(var o=-1,s=this.length;++o=0&&"xmlns"!==(r=t.slice(0,e))&&(t=t.slice(e+1)),et.hasOwnProperty(r)?{space:et[r],local:t}:t}},J.attr=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node();return(t=a.ns.qualify(t)).local?r.getAttributeNS(t.space,t.local):r.getAttribute(t)}for(e in t)this.each(rt(e,t[e]));return this}return this.each(rt(t,e))},J.classed=function(t,e){if(arguments.length<2){if("string"==typeof t){var r=this.node(),n=(t=at(t)).length,i=-1;if(e=r.classList){for(;++i=0;)(r=n[i])&&(a&&a!==r.nextSibling&&a.parentNode.insertBefore(r,a),a=r);return this},J.sort=function(t){t=dt.apply(this,arguments);for(var e=-1,r=this.length;++e0&&(t=t.slice(0,i));var l=xt.get(t);function c(){var e=this[n];e&&(this.removeEventListener(t,e,e.$),delete this[n])}return l&&(t=l,o=bt),i?e?function(){var i=o(e,s(arguments));c.call(this),this.addEventListener(t,this[n]=i,i.$=r),i._=e}:c:e?N:function(){var e,r=new RegExp("^__on([^.]+)"+a.requote(t)+"$");for(var n in this)if(e=n.match(r)){var i=this[n];this.removeEventListener(e[1],i,i.$),delete this[n]}}}a.selection.enter=gt,a.selection.enter.prototype=yt,yt.append=J.append,yt.empty=J.empty,yt.node=J.node,yt.call=J.call,yt.size=J.size,yt.select=function(t){for(var e,r,n,i,a,o=[],s=-1,l=this.length;++s=n&&(n=e+1);!(o=s[n])&&++n1?zt:t<-1?-zt:Math.asin(t)}function Ft(t){return((t=Math.exp(t))+1/t)/2}var Bt=Math.SQRT2;a.interpolateZoom=function(t,e){var r,n,i=t[0],a=t[1],o=t[2],s=e[0],l=e[1],c=e[2],u=s-i,h=l-a,f=u*u+h*h;if(f0&&(t=t.transition().duration(m)),t.call(w.event)}function S(){s&&s.domain(o.range().map((function(t){return(t-f.x)/f.k})).map(o.invert)),h&&h.domain(c.range().map((function(t){return(t-f.y)/f.k})).map(c.invert))}function E(t){g++||t({type:"zoomstart"})}function C(t){S(),t({type:"zoom",scale:f.k,translate:[f.x,f.y]})}function L(t){--g||(t({type:"zoomend"}),e=null)}function I(){var t=this,e=b.of(t,arguments),r=0,n=a.select(u(t)).on(v,(function(){r=1,A(a.mouse(t),i),C(e)})).on(x,(function(){n.on(v,null).on(x,null),o(r),L(e)})),i=T(a.mouse(t)),o=kt(t);$i.call(t),E(e)}function P(){var t,e=this,r=b.of(e,arguments),n={},o=0,s=".zoom-"+a.event.changedTouches[0].identifier,l="touchmove"+s,c="touchend"+s,u=[],h=a.select(e),p=kt(e);function d(){var r=a.touches(e);return t=f.k,r.forEach((function(t){t.identifier in n&&(n[t.identifier]=T(t))})),r}function m(){var t=a.event.target;a.select(t).on(l,g).on(c,v),u.push(t);for(var r=a.event.changedTouches,s=0,h=r.length;s1){y=p[0];var x=p[1],_=y[0]-x[0],b=y[1]-x[1];o=_*_+b*b}}function g(){var s,l,c,u,h=a.touches(e);$i.call(e);for(var f=0,p=h.length;f360?t-=360:t<0&&(t+=360),t<60?n+(i-n)*t/60:t<180?i:t<240?n+(i-n)*(240-t)/60:n}(t))}return t=isNaN(t)?0:(t%=360)<0?t+360:t,e=isNaN(e)||e<0?0:e>1?1:e,n=2*(r=r<0?0:r>1?1:r)-(i=r<=.5?r*(1+e):r+e-r*e),new ae(a(t+120),a(t),a(t-120))}function Zt(t,e,r){return this instanceof Zt?(this.h=+t,this.c=+e,void(this.l=+r)):arguments.length<2?t instanceof Zt?new Zt(t.h,t.c,t.l):function(t,e,r){return t>0?new Zt(Math.atan2(r,e)*Dt,Math.sqrt(e*e+r*r),t):new Zt(NaN,NaN,t)}(t instanceof Xt?t.l:(t=fe((t=a.rgb(t)).r,t.g,t.b)).l,t.a,t.b):new Zt(t,e,r)}Ht.brighter=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,this.l/t)},Ht.darker=function(t){return t=Math.pow(.7,arguments.length?t:1),new qt(this.h,this.s,t*this.l)},Ht.rgb=function(){return Gt(this.h,this.s,this.l)},a.hcl=Zt;var Wt=Zt.prototype=new Vt;function Yt(t,e,r){return isNaN(t)&&(t=0),isNaN(e)&&(e=0),new Xt(r,Math.cos(t*=Ot)*e,Math.sin(t)*e)}function Xt(t,e,r){return this instanceof Xt?(this.l=+t,this.a=+e,void(this.b=+r)):arguments.length<2?t instanceof Xt?new Xt(t.l,t.a,t.b):t instanceof Zt?Yt(t.h,t.c,t.l):fe((t=ae(t)).r,t.g,t.b):new Xt(t,e,r)}Wt.brighter=function(t){return new Zt(this.h,this.c,Math.min(100,this.l+$t*(arguments.length?t:1)))},Wt.darker=function(t){return new Zt(this.h,this.c,Math.max(0,this.l-$t*(arguments.length?t:1)))},Wt.rgb=function(){return Yt(this.h,this.c,this.l).rgb()},a.lab=Xt;var $t=18,Jt=.95047,Kt=1,Qt=1.08883,te=Xt.prototype=new Vt;function ee(t,e,r){var n=(t+16)/116,i=n+e/500,a=n-r/200;return new ae(ie(3.2404542*(i=re(i)*Jt)-1.5371385*(n=re(n)*Kt)-.4985314*(a=re(a)*Qt)),ie(-.969266*i+1.8760108*n+.041556*a),ie(.0556434*i-.2040259*n+1.0572252*a))}function re(t){return t>.206893034?t*t*t:(t-4/29)/7.787037}function ne(t){return t>.008856?Math.pow(t,1/3):7.787037*t+4/29}function ie(t){return Math.round(255*(t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055))}function ae(t,e,r){return this instanceof ae?(this.r=~~t,this.g=~~e,void(this.b=~~r)):arguments.length<2?t instanceof ae?new ae(t.r,t.g,t.b):ue(""+t,ae,Gt):new ae(t,e,r)}function oe(t){return new ae(t>>16,t>>8&255,255&t)}function se(t){return oe(t)+""}te.brighter=function(t){return new Xt(Math.min(100,this.l+$t*(arguments.length?t:1)),this.a,this.b)},te.darker=function(t){return new Xt(Math.max(0,this.l-$t*(arguments.length?t:1)),this.a,this.b)},te.rgb=function(){return ee(this.l,this.a,this.b)},a.rgb=ae;var le=ae.prototype=new Vt;function ce(t){return t<16?"0"+Math.max(0,t).toString(16):Math.min(255,t).toString(16)}function ue(t,e,r){var n,i,a,o=0,s=0,l=0;if(n=/([a-z]+)\((.*)\)/.exec(t=t.toLowerCase()))switch(i=n[2].split(","),n[1]){case"hsl":return r(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return e(de(i[0]),de(i[1]),de(i[2]))}return(a=me.get(t))?e(a.r,a.g,a.b):(null==t||"#"!==t.charAt(0)||isNaN(a=parseInt(t.slice(1),16))||(4===t.length?(o=(3840&a)>>4,o|=o>>4,s=240&a,s|=s>>4,l=15&a,l|=l<<4):7===t.length&&(o=(16711680&a)>>16,s=(65280&a)>>8,l=255&a)),e(o,s,l))}function he(t,e,r){var n,i,a=Math.min(t/=255,e/=255,r/=255),o=Math.max(t,e,r),s=o-a,l=(o+a)/2;return s?(i=l<.5?s/(o+a):s/(2-o-a),n=t==o?(e-r)/s+(e0&&l<1?0:n),new qt(n,i,l)}function fe(t,e,r){var n=ne((.4124564*(t=pe(t))+.3575761*(e=pe(e))+.1804375*(r=pe(r)))/Jt),i=ne((.2126729*t+.7151522*e+.072175*r)/Kt);return Xt(116*i-16,500*(n-i),200*(i-ne((.0193339*t+.119192*e+.9503041*r)/Qt)))}function pe(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function de(t){var e=parseFloat(t);return"%"===t.charAt(t.length-1)?Math.round(2.55*e):e}le.brighter=function(t){t=Math.pow(.7,arguments.length?t:1);var e=this.r,r=this.g,n=this.b,i=30;return e||r||n?(e&&e=200&&e<300||304===e){try{t=r.call(i,c)}catch(t){return void o.error.call(i,t)}o.load.call(i,t)}else o.error.call(i,c)}return self.XDomainRequest&&!("withCredentials"in c)&&/^(http(s)?:)?\/\//.test(t)&&(c=new XDomainRequest),"onload"in c?c.onload=c.onerror=h:c.onreadystatechange=function(){c.readyState>3&&h()},c.onprogress=function(t){var e=a.event;a.event=t;try{o.progress.call(i,c)}finally{a.event=e}},i.header=function(t,e){return t=(t+"").toLowerCase(),arguments.length<2?l[t]:(null==e?delete l[t]:l[t]=e+"",i)},i.mimeType=function(t){return arguments.length?(e=null==t?null:t+"",i):e},i.responseType=function(t){return arguments.length?(u=t,i):u},i.response=function(t){return r=t,i},["get","post"].forEach((function(t){i[t]=function(){return i.send.apply(i,[t].concat(s(arguments)))}})),i.send=function(r,n,a){if(2===arguments.length&&"function"==typeof n&&(a=n,n=null),c.open(r,t,!0),null==e||"accept"in l||(l.accept=e+",*/*"),c.setRequestHeader)for(var s in l)c.setRequestHeader(s,l[s]);return null!=e&&c.overrideMimeType&&c.overrideMimeType(e),null!=u&&(c.responseType=u),null!=a&&i.on("error",a).on("load",(function(t){a(null,t)})),o.beforesend.call(i,c),c.send(null==n?null:n),i},i.abort=function(){return c.abort(),i},a.rebind(i,o,"on"),null==n?i:i.get(function(t){return 1===t.length?function(e,r){t(null==e?r:null)}:t}(n))}me.forEach((function(t,e){me.set(t,oe(e))})),a.functor=ge,a.xhr=ye(D),a.dsv=function(t,e){var r=new RegExp('["'+t+"\n]"),n=t.charCodeAt(0);function i(t,r,n){arguments.length<3&&(n=r,r=null);var i=ve(t,e,null==r?a:o(r),n);return i.row=function(t){return arguments.length?i.response(null==(r=t)?a:o(t)):r},i}function a(t){return i.parse(t.responseText)}function o(t){return function(e){return i.parse(e.responseText,t)}}function s(e){return e.map(l).join(t)}function l(t){return r.test(t)?'"'+t.replace(/\"/g,'""')+'"':t}return i.parse=function(t,e){var r;return i.parseRows(t,(function(t,n){if(r)return r(t,n-1);var i=function(e){for(var r={},n=t.length,i=0;i=l)return o;if(i)return i=!1,a;var e=c;if(34===t.charCodeAt(e)){for(var r=e;r++24?(isFinite(e)&&(clearTimeout(we),we=setTimeout(Ae,e)),be=0):(be=1,Te(Ae))}function Me(){for(var t=Date.now(),e=xe;e;)t>=e.t&&e.c(t-e.t)&&(e.c=null),e=e.n;return t}function Se(){for(var t,e=xe,r=1/0;e;)e.c?(e.t1&&(e=t[a[o-2]],r=t[a[o-1]],n=t[s],(r[0]-e[0])*(n[1]-e[1])-(r[1]-e[1])*(n[0]-e[0])<=0);)--o;a[o++]=s}return a.slice(0,o)}function Ie(t,e){return t[0]-e[0]||t[1]-e[1]}a.timer=function(){ke.apply(this,arguments)},a.timer.flush=function(){Me(),Se()},a.round=function(t,e){return e?Math.round(t*(e=Math.pow(10,e)))/e:Math.round(t)},a.geom={},a.geom.hull=function(t){var e=Ee,r=Ce;if(arguments.length)return n(t);function n(t){if(t.length<3)return[];var n,i=ge(e),a=ge(r),o=t.length,s=[],l=[];for(n=0;n=0;--n)p.push(t[s[c[n]][2]]);for(n=+h;nEt)s=s.L;else{if(!((i=a-Xe(s,o))>Et)){n>-Et?(e=s.P,r=s):i>-Et?(e=s,r=s.N):e=r=s;break}if(!s.R){e=s;break}s=s.R}var l=He(t);if(Be.insert(e,l),e||r){if(e===r)return tr(e),r=He(e.site),Be.insert(l,r),l.edge=r.edge=nr(e.site,l.site),Qe(e),void Qe(r);if(r){tr(e),tr(r);var c=e.site,u=c.x,h=c.y,f=t.x-u,p=t.y-h,d=r.site,m=d.x-u,g=d.y-h,y=2*(f*g-p*m),v=f*f+p*p,x=m*m+g*g,_={x:(g*v-p*x)/y+u,y:(f*x-m*v)/y+h};ir(r.edge,c,d,_),l.edge=nr(c,t,null,_),r.edge=nr(t,d,null,_),Qe(e),Qe(r)}else l.edge=nr(e.site,l.site)}}function Ye(t,e){var r=t.site,n=r.x,i=r.y,a=i-e;if(!a)return n;var o=t.P;if(!o)return-1/0;var s=(r=o.site).x,l=r.y,c=l-e;if(!c)return s;var u=s-n,h=1/a-1/c,f=u/c;return h?(-f+Math.sqrt(f*f-2*h*(u*u/(-2*c)-l+c/2+i-a/2)))/h+n:(n+s)/2}function Xe(t,e){var r=t.N;if(r)return Ye(r,e);var n=t.site;return n.y===e?n.x:1/0}function $e(t){this.site=t,this.edges=[]}function Je(t,e){return e.angle-t.angle}function Ke(){sr(this),this.x=this.y=this.arc=this.site=this.cy=null}function Qe(t){var e=t.P,r=t.N;if(e&&r){var n=e.site,i=t.site,a=r.site;if(n!==a){var o=i.x,s=i.y,l=n.x-o,c=n.y-s,u=a.x-o,h=2*(l*(g=a.y-s)-c*u);if(!(h>=-Ct)){var f=l*l+c*c,p=u*u+g*g,d=(g*f-c*p)/h,m=(l*p-u*f)/h,g=m+s,y=Ve.pop()||new Ke;y.arc=t,y.site=i,y.x=d+o,y.y=g+Math.sqrt(d*d+m*m),y.cy=g,t.circle=y;for(var v=null,x=je._;x;)if(y.y=s)return;if(f>d){if(a){if(a.y>=c)return}else a={x:g,y:l};r={x:g,y:c}}else{if(a){if(a.y1)if(f>d){if(a){if(a.y>=c)return}else a={x:(l-i)/n,y:l};r={x:(c-i)/n,y:c}}else{if(a){if(a.y=s)return}else a={x:o,y:n*o+i};r={x:s,y:n*s+i}}else{if(a){if(a.x0)){if(e/=f,f<0){if(e0){if(e>h)return;e>u&&(u=e)}if(e=i-l,f||!(e<0)){if(e/=f,f<0){if(e>h)return;e>u&&(u=e)}else if(f>0){if(e0)){if(e/=p,p<0){if(e0){if(e>h)return;e>u&&(u=e)}if(e=a-c,p||!(e<0)){if(e/=p,p<0){if(e>h)return;e>u&&(u=e)}else if(p>0){if(e0&&(t.a={x:l+u*f,y:c+u*p}),h<1&&(t.b={x:l+h*f,y:c+h*p}),t}}}}}),l=o.length;l--;)(!er(e=o[l],t)||!s(e)||w(e.a.x-e.b.x)Et||w(i-r)>Et)&&(s.splice(o,0,new ar((y=a.site,v=u,x=w(n-h)Et?{x:h,y:w(e-h)Et?{x:w(r-d)Et?{x:f,y:w(e-f)Et?{x:w(r-p)=r&&c.x<=i&&c.y>=n&&c.y<=o?[[r,o],[i,o],[i,n],[r,n]]:[]).point=t[s]})),e}function s(t){return t.map((function(t,e){return{x:Math.round(n(t,e)/Et)*Et,y:Math.round(i(t,e)/Et)*Et,i:e}}))}return o.links=function(t){return hr(s(t)).edges.filter((function(t){return t.l&&t.r})).map((function(e){return{source:t[e.l.i],target:t[e.r.i]}}))},o.triangles=function(t){var e=[];return hr(s(t)).cells.forEach((function(r,n){for(var i,a,o,s,l=r.site,c=r.edges.sort(Je),u=-1,h=c.length,f=c[h-1].edge,p=f.l===l?f.r:f.l;++ua&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:xr(r,n)})),a=wr.lastIndex;return am&&(m=l.x),l.y>g&&(g=l.y),c.push(l.x),u.push(l.y);else for(h=0;hm&&(m=x),_>g&&(g=_),c.push(x),u.push(_)}var b=m-p,T=g-d;function k(t,e,r,n,i,a,o,s){if(!isNaN(r)&&!isNaN(n))if(t.leaf){var l=t.x,c=t.y;if(null!=l)if(w(l-r)+w(c-n)<.01)A(t,e,r,n,i,a,o,s);else{var u=t.point;t.x=t.y=t.point=null,A(t,u,l,c,i,a,o,s),A(t,e,r,n,i,a,o,s)}else t.x=r,t.y=n,t.point=e}else A(t,e,r,n,i,a,o,s)}function A(t,e,r,n,i,a,o,s){var l=.5*(i+o),c=.5*(a+s),u=r>=l,h=n>=c,f=h<<1|u;t.leaf=!1,u?i=l:o=l,h?a=c:s=c,k(t=t.nodes[f]||(t.nodes[f]={leaf:!0,nodes:[],point:null,x:null,y:null}),e,r,n,i,a,o,s)}b>T?g=d+b:m=p+T;var M={leaf:!0,nodes:[],point:null,x:null,y:null,add:function(t){k(M,t,+y(t,++h),+v(t,h),p,d,m,g)}};if(M.visit=function(t){gr(t,M,p,d,m,g)},M.find=function(t){return function(t,e,r,n,i,a,o){var s,l=1/0;return function t(c,u,h,f,p){if(!(u>a||h>o||f=b)<<1|e>=_,T=w+4;w=0&&!(r=a.interpolators[n](t,e)););return r}function kr(t,e){var r,n=[],i=[],a=t.length,o=e.length,s=Math.min(t.length,e.length);for(r=0;r=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}function zr(t){return 1-Math.cos(t*zt)}function Or(t){return Math.pow(2,10*(t-1))}function Dr(t){return 1-Math.sqrt(1-t*t)}function Rr(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}function Fr(t,e){return e-=t,function(r){return Math.round(t+e*r)}}function Br(t){var e,r,n,i=[t.a,t.b],a=[t.c,t.d],o=jr(i),s=Nr(i,a),l=jr(((e=a)[0]+=(n=-s)*(r=i)[0],e[1]+=n*r[1],e))||0;i[0]*a[1]=0?t.slice(0,r):t,i=r>=0?t.slice(r+1):"in";return n=Mr.get(n)||Ar,i=Sr.get(i)||D,e=i(n.apply(null,o.call(arguments,1))),function(t){return t<=0?0:t>=1?1:e(t)}},a.interpolateHcl=function(t,e){t=a.hcl(t),e=a.hcl(e);var r=t.h,n=t.c,i=t.l,o=e.h-r,s=e.c-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.c:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Yt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateHsl=function(t,e){t=a.hsl(t),e=a.hsl(e);var r=t.h,n=t.s,i=t.l,o=e.h-r,s=e.s-n,l=e.l-i;return isNaN(s)&&(s=0,n=isNaN(n)?e.s:n),isNaN(o)?(o=0,r=isNaN(r)?e.h:r):o>180?o-=360:o<-180&&(o+=360),function(t){return Gt(r+o*t,n+s*t,i+l*t)+""}},a.interpolateLab=function(t,e){t=a.lab(t),e=a.lab(e);var r=t.l,n=t.a,i=t.b,o=e.l-r,s=e.a-n,l=e.b-i;return function(t){return ee(r+o*t,n+s*t,i+l*t)+""}},a.interpolateRound=Fr,a.transform=function(t){var e=l.createElementNS(a.ns.prefix.svg,"g");return(a.transform=function(t){if(null!=t){e.setAttribute("transform",t);var r=e.transform.baseVal.consolidate()}return new Br(r?r.matrix:Ur)})(t)},Br.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var Ur={a:1,b:0,c:0,d:1,e:0,f:0};function Vr(t){return t.length?t.pop()+",":""}function qr(t,e){var r=[],n=[];return t=a.transform(t),e=a.transform(e),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push("translate(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else(e[0]||e[1])&&r.push("translate("+e+")")}(t.translate,e.translate,r,n),function(t,e,r,n){t!==e?(t-e>180?e+=360:e-t>180&&(t+=360),n.push({i:r.push(Vr(r)+"rotate(",null,")")-2,x:xr(t,e)})):e&&r.push(Vr(r)+"rotate("+e+")")}(t.rotate,e.rotate,r,n),function(t,e,r,n){t!==e?n.push({i:r.push(Vr(r)+"skewX(",null,")")-2,x:xr(t,e)}):e&&r.push(Vr(r)+"skewX("+e+")")}(t.skew,e.skew,r,n),function(t,e,r,n){if(t[0]!==e[0]||t[1]!==e[1]){var i=r.push(Vr(r)+"scale(",null,",",null,")");n.push({i:i-4,x:xr(t[0],e[0])},{i:i-2,x:xr(t[1],e[1])})}else 1===e[0]&&1===e[1]||r.push(Vr(r)+"scale("+e+")")}(t.scale,e.scale,r,n),t=e=null,function(t){for(var e,i=-1,a=n.length;++i0?r=e:(t.c=null,t.t=NaN,t=null,l.end({type:"end",alpha:r=0})):e>0&&(l.start({type:"start",alpha:r=e}),t=ke(s.tick)),s):r},s.start=function(){var t,e,r,a=y.length,l=v.length,u=c[0],d=c[1];for(t=0;t=0;)r.push(i[n])}function an(t,e){for(var r=[t],n=[];null!=(t=r.pop());)if(n.push(t),(a=t.children)&&(i=a.length))for(var i,a,o=-1;++o=0;)o.push(u=c[l]),u.parent=a,u.depth=a.depth+1;r&&(a.value=0),a.children=c}else r&&(a.value=+r.call(n,a,a.depth)||0),delete a.children;return an(i,(function(e){var n,i;t&&(n=e.children)&&n.sort(t),r&&(i=e.parent)&&(i.value+=e.value)})),s}return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(nn(t,(function(t){t.children&&(t.value=0)})),an(t,(function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)}))),t},n},a.layout.partition=function(){var t=a.layout.hierarchy(),e=[1,1];function r(t,e,n,i){var a=t.children;if(t.x=e,t.y=t.depth*i,t.dx=n,t.dy=i,a&&(o=a.length)){var o,s,l,c=-1;for(n=t.value?n/t.value:0;++cs&&(s=n),o.push(n)}for(r=0;ri&&(n=r,i=e);return n}function xn(t){return t.reduce(_n,0)}function _n(t,e){return t+e[1]}function bn(t,e){return wn(t,Math.ceil(Math.log(e.length)/Math.LN2+1))}function wn(t,e){for(var r=-1,n=+t[0],i=(t[1]-n)/e,a=[];++r<=e;)a[r]=i*r+n;return a}function Tn(t){return[a.min(t),a.max(t)]}function kn(t,e){return t.value-e.value}function An(t,e){var r=t._pack_next;t._pack_next=e,e._pack_prev=t,e._pack_next=r,r._pack_prev=e}function Mn(t,e){t._pack_next=e,e._pack_prev=t}function Sn(t,e){var r=e.x-t.x,n=e.y-t.y,i=t.r+e.r;return.999*i*i>r*r+n*n}function En(t){if((e=t.children)&&(l=e.length)){var e,r,n,i,a,o,s,l,c=1/0,u=-1/0,h=1/0,f=-1/0;if(e.forEach(Cn),(r=e[0]).x=-r.r,r.y=0,x(r),l>1&&((n=e[1]).x=n.r,n.y=0,x(n),l>2))for(Pn(r,n,i=e[2]),x(i),An(r,i),r._pack_prev=i,An(i,n),n=r._pack_next,a=3;a0)for(o=-1;++o=h[0]&&l<=h[1]&&((s=c[a.bisect(f,l,1,d)-1]).y+=m,s.push(i[o]));return c}return i.value=function(t){return arguments.length?(e=t,i):e},i.range=function(t){return arguments.length?(r=ge(t),i):r},i.bins=function(t){return arguments.length?(n="number"==typeof t?function(e){return wn(e,t)}:ge(t),i):n},i.frequency=function(e){return arguments.length?(t=!!e,i):t},i},a.layout.pack=function(){var t,e=a.layout.hierarchy().sort(kn),r=0,n=[1,1];function i(i,a){var o=e.call(this,i,a),s=o[0],l=n[0],c=n[1],u=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(s.x=s.y=0,an(s,(function(t){t.r=+u(t.value)})),an(s,En),r){var h=r*(t?1:Math.max(2*s.r/l,2*s.r/c))/2;an(s,(function(t){t.r+=h})),an(s,En),an(s,(function(t){t.r-=h}))}return In(s,l/2,c/2,t?1:1/Math.max(2*s.r/l,2*s.r/c)),o}return i.size=function(t){return arguments.length?(n=t,i):n},i.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,i):t},i.padding=function(t){return arguments.length?(r=+t,i):r},rn(i,e)},a.layout.tree=function(){var t=a.layout.hierarchy().sort(null).value(null),e=zn,r=[1,1],n=null;function i(i,a){var c=t.call(this,i,a),u=c[0],h=function(t){for(var e,r={A:null,children:[t]},n=[r];null!=(e=n.pop());)for(var i,a=e.children,o=0,s=a.length;op.x&&(p=t),t.depth>d.depth&&(d=t)}));var m=e(f,p)/2-f.x,g=r[0]/(p.x+e(p,f)/2+m),y=r[1]/(d.depth||1);nn(u,(function(t){t.x=(t.x+m)*g,t.y=t.depth*y}))}return c}function o(t){var r=t.children,n=t.parent.children,i=t.i?n[t.i-1]:null;if(r.length){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(t);var a=(r[0].z+r[r.length-1].z)/2;i?(t.z=i.z+e(t._,i._),t.m=t.z-a):t.z=a}else i&&(t.z=i.z+e(t._,i._));t.parent.A=function(t,r,n){if(r){for(var i,a=t,o=t,s=r,l=a.parent.children[0],c=a.m,u=o.m,h=s.m,f=l.m;s=Dn(s),a=On(a),s&&a;)l=On(l),(o=Dn(o)).a=t,(i=s.z+h-a.z-c+e(s._,a._))>0&&(Rn(Fn(s,t,n),t,i),c+=i,u+=i),h+=s.m,c+=a.m,f+=l.m,u+=o.m;s&&!Dn(o)&&(o.t=s,o.m+=h-u),a&&!On(l)&&(l.t=a,l.m+=c-f,n=t)}return n}(t,i,t.parent.A||n[0])}function s(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function l(t){t.x*=r[0],t.y=t.depth*r[1]}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t)?l:null,i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null==(r=t)?null:l,i):n?r:null},rn(i,t)},a.layout.cluster=function(){var t=a.layout.hierarchy().sort(null).value(null),e=zn,r=[1,1],n=!1;function i(i,o){var s,l=t.call(this,i,o),c=l[0],u=0;an(c,(function(t){var r=t.children;r&&r.length?(t.x=function(t){return t.reduce((function(t,e){return t+e.x}),0)/t.length}(r),t.y=function(t){return 1+a.max(t,(function(t){return t.y}))}(r)):(t.x=s?u+=e(t,s):0,t.y=0,s=t)}));var h=Bn(c),f=Nn(c),p=h.x-e(h,f)/2,d=f.x+e(f,h)/2;return an(c,n?function(t){t.x=(t.x-c.x)*r[0],t.y=(c.y-t.y)*r[1]}:function(t){t.x=(t.x-p)/(d-p)*r[0],t.y=(1-(c.y?t.y/c.y:1))*r[1]}),l}return i.separation=function(t){return arguments.length?(e=t,i):e},i.size=function(t){return arguments.length?(n=null==(r=t),i):n?null:r},i.nodeSize=function(t){return arguments.length?(n=null!=(r=t),i):n?r:null},rn(i,t)},a.layout.treemap=function(){var t,e=a.layout.hierarchy(),r=Math.round,n=[1,1],i=null,o=jn,s=!1,l="squarify",c=.5*(1+Math.sqrt(5));function u(t,e){for(var r,n,i=-1,a=t.length;++i0;)s.push(r=c[i-1]),s.area+=r.area,"squarify"!==l||(n=p(s,m))<=f?(c.pop(),f=n):(s.area-=s.pop().area,d(s,m,a,!1),m=Math.min(a.dx,a.dy),s.length=s.area=0,f=1/0);s.length&&(d(s,m,a,!0),s.length=s.area=0),e.forEach(h)}}function f(t){var e=t.children;if(e&&e.length){var r,n=o(t),i=e.slice(),a=[];for(u(i,n.dx*n.dy/t.value),a.area=0;r=i.pop();)a.push(r),a.area+=r.area,null!=r.z&&(d(a,r.z?n.dx:n.dy,n,!i.length),a.length=a.area=0);e.forEach(f)}}function p(t,e){for(var r,n=t.area,i=0,a=1/0,o=-1,s=t.length;++oi&&(i=r));return e*=e,(n*=n)?Math.max(e*i*c/n,n/(e*a*c)):1/0}function d(t,e,n,i){var a,o=-1,s=t.length,l=n.x,c=n.y,u=e?r(t.area/e):0;if(e==n.dx){for((i||u>n.dy)&&(u=n.dy);++on.dx)&&(u=n.dx);++o1);return t+e*r*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var t=a.random.normal.apply(a,arguments);return function(){return Math.exp(t())}},bates:function(t){var e=a.random.irwinHall(t);return function(){return e()/t}},irwinHall:function(t){return function(){for(var e=0,r=0;r2?Yn:Hn,l=n?Gr:Hr;return i=o(t,e,l,r),a=o(e,t,l,Tr),s}function s(t){return i(t)}return s.invert=function(t){return a(t)},s.domain=function(e){return arguments.length?(t=e.map(Number),o()):t},s.range=function(t){return arguments.length?(e=t,o()):e},s.rangeRound=function(t){return s.range(t).interpolate(Fr)},s.clamp=function(t){return arguments.length?(n=t,o()):n},s.interpolate=function(t){return arguments.length?(r=t,o()):r},s.ticks=function(e){return Qn(t,e)},s.tickFormat=function(e,r){return d3_scale_linearTickFormat(t,e,r)},s.nice=function(e){return Jn(t,e),o()},s.copy=function(){return Xn(t,e,r,n)},o()}function $n(t,e){return a.rebind(t,e,"range","rangeRound","interpolate","clamp")}function Jn(t,e){return Gn(t,Zn(Kn(t,e)[2])),Gn(t,Zn(Kn(t,e)[2])),t}function Kn(t,e){null==e&&(e=10);var r=Vn(t),n=r[1]-r[0],i=Math.pow(10,Math.floor(Math.log(n/e)/Math.LN10)),a=e/n*i;return a<=.15?i*=10:a<=.35?i*=5:a<=.75&&(i*=2),r[0]=Math.ceil(r[0]/i)*i,r[1]=Math.floor(r[1]/i)*i+.5*i,r[2]=i,r}function Qn(t,e){return a.range.apply(a,Kn(t,e))}function ti(t,e,r,n){function i(t){return(r?Math.log(t<0?0:t):-Math.log(t>0?0:-t))/Math.log(e)}function a(t){return r?Math.pow(e,t):-Math.pow(e,-t)}function o(e){return t(i(e))}return o.invert=function(e){return a(t.invert(e))},o.domain=function(e){return arguments.length?(r=e[0]>=0,t.domain((n=e.map(Number)).map(i)),o):n},o.base=function(r){return arguments.length?(e=+r,t.domain(n.map(i)),o):e},o.nice=function(){var e=Gn(n.map(i),r?Math:ei);return t.domain(e),n=e.map(a),o},o.ticks=function(){var t=Vn(n),o=[],s=t[0],l=t[1],c=Math.floor(i(s)),u=Math.ceil(i(l)),h=e%1?2:e;if(isFinite(u-c)){if(r){for(;c0;f--)o.push(a(c)*f);for(c=0;o[c]l;u--);o=o.slice(c,u)}return o},o.copy=function(){return ti(t.copy(),e,r,n)},$n(o,t)}a.scale.linear=function(){return Xn([0,1],[0,1],Tr,!1)},a.scale.log=function(){return ti(a.scale.linear().domain([0,1]),10,!0,[1,10])};var ei={floor:function(t){return-Math.ceil(-t)},ceil:function(t){return-Math.floor(-t)}};function ri(t,e,r){var n=ni(e),i=ni(1/e);function a(e){return t(n(e))}return a.invert=function(e){return i(t.invert(e))},a.domain=function(e){return arguments.length?(t.domain((r=e.map(Number)).map(n)),a):r},a.ticks=function(t){return Qn(r,t)},a.tickFormat=function(t,e){return d3_scale_linearTickFormat(r,t,e)},a.nice=function(t){return a.domain(Jn(r,t))},a.exponent=function(o){return arguments.length?(n=ni(e=o),i=ni(1/e),t.domain(r.map(n)),a):e},a.copy=function(){return ri(t.copy(),e,r)},$n(a,t)}function ni(t){return function(e){return e<0?-Math.pow(-e,t):Math.pow(e,t)}}function ii(t,e){var r,n,i;function o(i){return n[((r.get(i)||("range"===e.t?r.set(i,t.push(i)):NaN))-1)%n.length]}function s(e,r){return a.range(t.length).map((function(t){return e+r*t}))}return o.domain=function(n){if(!arguments.length)return t;t=[],r=new k;for(var i,a=-1,s=n.length;++a0?r[n-1]:t[0],nh?0:1;if(c=Pt)return l(c,p)+(s?l(s,1-p):"")+"Z";var d,m,g,y,v,x,_,b,w,T,k,A,M=0,S=0,E=[];if((y=(+o.apply(this,arguments)||0)/2)&&(g=n===di?Math.sqrt(s*s+c*c):+n.apply(this,arguments),p||(S*=-1),c&&(S=Rt(g/c*Math.sin(y))),s&&(M=Rt(g/s*Math.sin(y)))),c){v=c*Math.cos(u+S),x=c*Math.sin(u+S),_=c*Math.cos(h-S),b=c*Math.sin(h-S);var C=Math.abs(h-u-2*S)<=Lt?0:1;if(S&&_i(v,x,_,b)===p^C){var L=(u+h)/2;v=c*Math.cos(L),x=c*Math.sin(L),_=b=null}}else v=x=0;if(s){w=s*Math.cos(h-M),T=s*Math.sin(h-M),k=s*Math.cos(u+M),A=s*Math.sin(u+M);var I=Math.abs(u-h+2*M)<=Lt?0:1;if(M&&_i(w,T,k,A)===1-p^I){var P=(u+h)/2;w=s*Math.cos(P),T=s*Math.sin(P),k=A=null}}else w=T=0;if(f>Et&&(d=Math.min(Math.abs(c-s)/2,+r.apply(this,arguments)))>.001){m=s0?0:1}function bi(t,e,r,n,i){var a=t[0]-e[0],o=t[1]-e[1],s=(i?n:-n)/Math.sqrt(a*a+o*o),l=s*o,c=-s*a,u=t[0]+l,h=t[1]+c,f=e[0]+l,p=e[1]+c,d=(u+f)/2,m=(h+p)/2,g=f-u,y=p-h,v=g*g+y*y,x=r-n,_=u*p-f*h,b=(y<0?-1:1)*Math.sqrt(Math.max(0,x*x*v-_*_)),w=(_*y-g*b)/v,T=(-_*g-y*b)/v,k=(_*y+g*b)/v,A=(-_*g+y*b)/v,M=w-d,S=T-m,E=k-d,C=A-m;return M*M+S*S>E*E+C*C&&(w=k,T=A),[[w-l,T-c],[w*r/x,T*r/x]]}function wi(){return!0}function Ti(t){var e=Ee,r=Ce,n=wi,i=Ai,a=i.key,o=.7;function s(a){var s,l=[],c=[],u=-1,h=a.length,f=ge(e),p=ge(r);function d(){l.push("M",i(t(c),o))}for(;++u1&&i.push("H",n[0]),i.join("")},"step-before":Si,"step-after":Ei,basis:Ii,"basis-open":function(t){if(t.length<4)return Ai(t);for(var e,r=[],n=-1,i=t.length,a=[0],o=[0];++n<3;)e=t[n],a.push(e[0]),o.push(e[1]);for(r.push(Pi(Di,a)+","+Pi(Di,o)),--n;++n9&&(i=3*e/Math.sqrt(i),o[s]=i*r,o[s+1]=i*n);for(s=-1;++s<=l;)i=(t[Math.min(l,s+1)][0]-t[Math.max(0,s-1)][0])/(6*(1+o[s]*o[s])),a.push([i||0,o[s]*i||0]);return a}(t))}});function Ai(t){return t.length>1?t.join("L"):t+"Z"}function Mi(t){return t.join("L")+"Z"}function Si(t){for(var e=0,r=t.length,n=t[0],i=[n[0],",",n[1]];++e1){s=e[1],a=t[l],l++,n+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(a[0]-s[0])+","+(a[1]-s[1])+","+a[0]+","+a[1];for(var c=2;cLt)+",1 "+e}function l(t,e,r,n){return"Q 0,0 "+n}return a.radius=function(t){return arguments.length?(r=ge(t),a):r},a.source=function(e){return arguments.length?(t=ge(e),a):t},a.target=function(t){return arguments.length?(e=ge(t),a):e},a.startAngle=function(t){return arguments.length?(n=ge(t),a):n},a.endAngle=function(t){return arguments.length?(i=ge(t),a):i},a},a.svg.diagonal=function(){var t=ji,e=Ui,r=qi;function n(n,i){var a=t.call(this,n,i),o=e.call(this,n,i),s=(a.y+o.y)/2,l=[a,{x:a.x,y:s},{x:o.x,y:s},o];return"M"+(l=l.map(r))[0]+"C"+l[1]+" "+l[2]+" "+l[3]}return n.source=function(e){return arguments.length?(t=ge(e),n):t},n.target=function(t){return arguments.length?(e=ge(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},a.svg.diagonal.radial=function(){var t=a.svg.diagonal(),e=qi,r=t.projection;return t.projection=function(t){return arguments.length?r(function(t){return function(){var e=t.apply(this,arguments),r=e[0],n=e[1]-zt;return[r*Math.cos(n),r*Math.sin(n)]}}(e=t)):e},t},a.svg.symbol=function(){var t=Gi,e=Hi;function r(r,n){return(Wi.get(t.call(this,r,n))||Zi)(e.call(this,r,n))}return r.type=function(e){return arguments.length?(t=ge(e),r):t},r.size=function(t){return arguments.length?(e=ge(t),r):e},r};var Wi=a.map({circle:Zi,cross:function(t){var e=Math.sqrt(t/5)/2;return"M"+-3*e+","+-e+"H"+-e+"V"+-3*e+"H"+e+"V"+-e+"H"+3*e+"V"+e+"H"+e+"V"+3*e+"H"+-e+"V"+e+"H"+-3*e+"Z"},diamond:function(t){var e=Math.sqrt(t/(2*Xi)),r=e*Xi;return"M0,"+-e+"L"+r+",0 0,"+e+" "+-r+",0Z"},square:function(t){var e=Math.sqrt(t)/2;return"M"+-e+","+-e+"L"+e+","+-e+" "+e+","+e+" "+-e+","+e+"Z"},"triangle-down":function(t){var e=Math.sqrt(t/Yi),r=e*Yi/2;return"M0,"+r+"L"+e+","+-r+" "+-e+","+-r+"Z"},"triangle-up":function(t){var e=Math.sqrt(t/Yi),r=e*Yi/2;return"M0,"+-r+"L"+e+","+r+" "+-e+","+r+"Z"}});a.svg.symbolTypes=Wi.keys();var Yi=Math.sqrt(3),Xi=Math.tan(30*Ot);J.transition=function(t){for(var e,r,n=Qi||++ra,i=aa(t),a=[],o=ta||{time:Date.now(),ease:Pr,delay:0,duration:250},s=-1,l=this.length;++s0;)c[--f].call(t,o);if(a>=1)return h.event&&h.event.end.call(t,t.__data__,e),--u.count?delete u[n]:delete t[r],1}h||(a=i.time,o=ke((function(t){var e=h.delay;if(o.t=e+a,e<=t)return f(t-e);o.c=f}),0,a),h=u[n]={tween:new k,time:a,timer:o,delay:i.delay,duration:i.duration,ease:i.ease,index:e},i=null,++u.count)}ea.call=J.call,ea.empty=J.empty,ea.node=J.node,ea.size=J.size,a.transition=function(t,e){return t&&t.transition?Qi?t.transition(e):t:a.selection().transition(t)},a.transition.prototype=ea,ea.select=function(t){var e,r,n,i=this.id,a=this.namespace,o=[];t=K(t);for(var s=-1,l=this.length;++srect,.s>rect").attr("width",o[1]-o[0])}function m(t){t.select(".extent").attr("y",s[0]),t.selectAll(".extent,.e>rect,.w>rect").attr("height",s[1]-s[0])}function g(){var h,g,y=this,v=a.select(a.event.target),x=r.of(y,arguments),_=a.select(y),b=v.datum(),w=!/^(n|s)$/.test(b)&&n,T=!/^(e|w)$/.test(b)&&i,k=v.classed("extent"),A=kt(y),M=a.mouse(y),S=a.select(u(y)).on("keydown.brush",(function(){32==a.event.keyCode&&(k||(h=null,M[0]-=o[1],M[1]-=s[1],k=2),V())})).on("keyup.brush",(function(){32==a.event.keyCode&&2==k&&(M[0]+=o[1],M[1]+=s[1],k=0,V())}));if(a.event.changedTouches?S.on("touchmove.brush",L).on("touchend.brush",P):S.on("mousemove.brush",L).on("mouseup.brush",P),_.interrupt().selectAll("*").interrupt(),k)M[0]=o[0]-M[0],M[1]=s[0]-M[1];else if(b){var E=+/w$/.test(b),C=+/^n/.test(b);g=[o[1-E]-M[0],s[1-C]-M[1]],M[0]=o[E],M[1]=s[C]}else a.event.altKey&&(h=M.slice());function L(){var t=a.mouse(y),e=!1;g&&(t[0]+=g[0],t[1]+=g[1]),k||(a.event.altKey?(h||(h=[(o[0]+o[1])/2,(s[0]+s[1])/2]),M[0]=o[+(t[0](n=1))return n;for(;ra?r=i:n=i,i=.5*(n-r)+r}return i},i.prototype.solve=function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))};var a=o;function o(t,e){this.x=t,this.y=e}o.prototype={clone:function(){return new o(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[0]*this.x+t[1]*this.y,r=t[2]*this.x+t[3]*this.y;return this.x=e,this.y=r,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=e*this.x-r*this.y,i=r*this.x+e*this.y;return this.x=n,this.y=i,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.x+r*(this.x-e.x)-n*(this.y-e.y),a=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=i,this.y=a,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},o.convert=function(t){return t instanceof o?t:Array.isArray(t)?new o(t[0],t[1]):t};var s="undefined"!=typeof self?self:{};var l=Math.pow(2,53)-1;function c(t,e,r,i){var a=new n(t,e,r,i);return function(t){return a.solve(t)}}var u=c(.25,.1,.25,1);function h(t,e,r){return Math.min(r,Math.max(e,t))}function f(t,e,r){var n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function p(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n>e/4).toString(16):([1e7]+-[1e3]+-4e3+-8e3+-1e11).replace(/[018]/g,t)}()}function y(t){return!!t&&/^[0-9a-f]{8}-[0-9a-f]{4}-[4][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)}function v(t,e){t.forEach((function(t){e[t]&&(e[t]=e[t].bind(e))}))}function x(t,e){return-1!==t.indexOf(e,t.length-e.length)}function _(t,e,r){var n={};for(var i in t)n[i]=e.call(r||this,t[i],i,t);return n}function b(t,e,r){var n={};for(var i in t)e.call(r||this,t[i],i,t)&&(n[i]=t[i]);return n}function w(t){return Array.isArray(t)?t.map(w):"object"==typeof t&&t?_(t,w):t}var T={};function k(t){T[t]||("undefined"!=typeof console&&console.warn(t),T[t]=!0)}function A(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function M(t){for(var e=0,r=0,n=t.length,i=n-1,a=void 0,o=void 0;r@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(function(t,r,n,i){var a=n||i;return e[r]=!a||a.toLowerCase(),""})),e["max-age"]){var r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e}var C=null;function L(t){if(null==C){var e=t.navigator?t.navigator.userAgent:null;C=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return C}function I(t){try{var e=s[t];return e.setItem("_mapbox_test_",1),e.removeItem("_mapbox_test_"),!0}catch(t){return!1}}var P,z,O,D,R=s.performance&&s.performance.now?s.performance.now.bind(s.performance):Date.now.bind(Date),F=s.requestAnimationFrame||s.mozRequestAnimationFrame||s.webkitRequestAnimationFrame||s.msRequestAnimationFrame,B=s.cancelAnimationFrame||s.mozCancelAnimationFrame||s.webkitCancelAnimationFrame||s.msCancelAnimationFrame,N={now:R,frame:function(t){var e=F(t);return{cancel:function(){return B(e)}}},getImageData:function(t,e){void 0===e&&(e=0);var r=s.document.createElement("canvas"),n=r.getContext("2d");if(!n)throw new Error("failed to create canvas 2d context");return r.width=t.width,r.height=t.height,n.drawImage(t,0,0,t.width,t.height),n.getImageData(-e,-e,t.width+2*e,t.height+2*e)},resolveURL:function(t){return P||(P=s.document.createElement("a")),P.href=t,P.href},hardwareConcurrency:s.navigator&&s.navigator.hardwareConcurrency||4,get devicePixelRatio(){return s.devicePixelRatio},get prefersReducedMotion(){return!!s.matchMedia&&(null==z&&(z=s.matchMedia("(prefers-reduced-motion: reduce)")),z.matches)}},j={API_URL:"https://api.mapbox.com",get EVENTS_URL(){return this.API_URL?0===this.API_URL.indexOf("https://api.mapbox.cn")?"https://events.mapbox.cn/events/v2":0===this.API_URL.indexOf("https://api.mapbox.com")?"https://events.mapbox.com/events/v2":null:null},FEEDBACK_URL:"https://apps.mapbox.com/feedback",REQUIRE_ACCESS_TOKEN:!0,ACCESS_TOKEN:null,MAX_PARALLEL_IMAGE_REQUESTS:16},U={supported:!1,testSupport:function(t){!V&&D&&(q?H(t):O=t)}},V=!1,q=!1;function H(t){var e=t.createTexture();t.bindTexture(t.TEXTURE_2D,e);try{if(t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,D),t.isContextLost())return;U.supported=!0}catch(t){}t.deleteTexture(e),V=!0}s.document&&((D=s.document.createElement("img")).onload=function(){O&&H(O),O=null,q=!0},D.onerror=function(){V=!0,O=null},D.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=");var G="01";var Z=function(t,e){this._transformRequestFn=t,this._customAccessToken=e,this._createSkuToken()};function W(t){return 0===t.indexOf("mapbox:")}Z.prototype._createSkuToken=function(){var t=function(){for(var t="",e=0;e<10;e++)t+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[Math.floor(62*Math.random())];return{token:["1",G,t].join(""),tokenExpiresAt:Date.now()+432e5}}();this._skuToken=t.token,this._skuTokenExpiresAt=t.tokenExpiresAt},Z.prototype._isSkuTokenExpired=function(){return Date.now()>this._skuTokenExpiresAt},Z.prototype.transformRequest=function(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}},Z.prototype.normalizeStyleURL=function(t,e){if(!W(t))return t;var r=J(t);return r.path="/styles/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},Z.prototype.normalizeGlyphsURL=function(t,e){if(!W(t))return t;var r=J(t);return r.path="/fonts/v1"+r.path,this._makeAPIURL(r,this._customAccessToken||e)},Z.prototype.normalizeSourceURL=function(t,e){if(!W(t))return t;var r=J(t);return r.path="/v4/"+r.authority+".json",r.params.push("secure"),this._makeAPIURL(r,this._customAccessToken||e)},Z.prototype.normalizeSpriteURL=function(t,e,r,n){var i=J(t);return W(t)?(i.path="/styles/v1"+i.path+"/sprite"+e+r,this._makeAPIURL(i,this._customAccessToken||n)):(i.path+=""+e+r,K(i))},Z.prototype.normalizeTileURL=function(t,e){if(this._isSkuTokenExpired()&&this._createSkuToken(),t&&!W(t))return t;var r=J(t),n=N.devicePixelRatio>=2||512===e?"@2x":"",i=U.supported?".webp":"$1";r.path=r.path.replace(/(\.(png|jpg)\d*)(?=$)/,""+n+i),r.path=r.path.replace(/^.+\/v4\//,"/"),r.path="/v4"+r.path;var a=this._customAccessToken||function(t){for(var e=0,r=t;e=0&&t.params.splice(i,1)}if("/"!==n.path&&(t.path=""+n.path+t.path),!j.REQUIRE_ACCESS_TOKEN)return K(t);if(!(e=e||j.ACCESS_TOKEN))throw new Error("An API access token is required to use Mapbox GL. "+r);if("s"===e[0])throw new Error("Use a public access token (pk.*) with Mapbox GL, not a secret access token (sk.*). "+r);return t.params=t.params.filter((function(t){return-1===t.indexOf("access_token")})),t.params.push("access_token="+e),K(t)};var Y=/^((https?:)?\/\/)?([^\/]+\.)?mapbox\.c(n|om)(\/|\?|$)/i;function X(t){return Y.test(t)}var $=/^(\w+):\/\/([^/?]*)(\/[^?]+)?\??(.+)?/;function J(t){var e=t.match($);if(!e)throw new Error("Unable to parse URL object");return{protocol:e[1],authority:e[2],path:e[3]||"/",params:e[4]?e[4].split("&"):[]}}function K(t){var e=t.params.length?"?"+t.params.join("&"):"";return t.protocol+"://"+t.authority+t.path+e}var Q="mapbox.eventData";function tt(t){if(!t)return null;var e,r=t.split(".");if(!r||3!==r.length)return null;try{return JSON.parse((e=r[1],decodeURIComponent(s.atob(e).split("").map((function(t){return"%"+("00"+t.charCodeAt(0).toString(16)).slice(-2)})).join(""))))}catch(t){return null}}var et=function(t){this.type=t,this.anonId=null,this.eventData={},this.queue=[],this.pendingRequest=null};et.prototype.getStorageKey=function(t){var e,r,n=tt(j.ACCESS_TOKEN);return e=n&&n.u?(r=n.u,s.btoa(encodeURIComponent(r).replace(/%([0-9A-F]{2})/g,(function(t,e){return String.fromCharCode(Number("0x"+e))})))):j.ACCESS_TOKEN||"",t?Q+"."+t+":"+e:Q+":"+e},et.prototype.fetchEventData=function(){var t=I("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{var n=s.localStorage.getItem(e);n&&(this.eventData=JSON.parse(n));var i=s.localStorage.getItem(r);i&&(this.anonId=i)}catch(t){k("Unable to read from LocalStorage")}},et.prototype.saveEventData=function(){var t=I("localStorage"),e=this.getStorageKey(),r=this.getStorageKey("uuid");if(t)try{s.localStorage.setItem(r,this.anonId),Object.keys(this.eventData).length>=1&&s.localStorage.setItem(e,JSON.stringify(this.eventData))}catch(t){k("Unable to write to LocalStorage")}},et.prototype.processRequests=function(t){},et.prototype.postEvent=function(t,e,n,i){var a=this;if(j.EVENTS_URL){var o=J(j.EVENTS_URL);o.params.push("access_token="+(i||j.ACCESS_TOKEN||""));var s={event:this.type,created:new Date(t).toISOString(),sdkIdentifier:"mapbox-gl-js",sdkVersion:r,skuId:G,userId:this.anonId},l=e?p(s,e):s,c={url:K(o),headers:{"Content-Type":"text/plain"},body:JSON.stringify([l])};this.pendingRequest=St(c,(function(t){a.pendingRequest=null,n(t),a.saveEventData(),a.processRequests(i)}))}},et.prototype.queueRequest=function(t,e){this.queue.push(t),this.processRequests(e)};var rt,nt,it=function(t){function e(){t.call(this,"map.load"),this.success={},this.skuToken=""}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postMapLoadEvent=function(t,e,r,n){this.skuToken=r,(j.EVENTS_URL&&n||j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return W(t)||X(t)})))&&this.queueRequest({id:e,timestamp:Date.now()},n)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){var r=this.queue.shift(),n=r.id,i=r.timestamp;n&&this.success[n]||(this.anonId||this.fetchEventData(),y(this.anonId)||(this.anonId=g()),this.postEvent(i,{skuToken:this.skuToken},(function(t){t||n&&(e.success[n]=!0)}),t))}},e}(et),at=function(t){function e(e){t.call(this,"appUserTurnstile"),this._customAccessToken=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.postTurnstileEvent=function(t,e){j.EVENTS_URL&&j.ACCESS_TOKEN&&Array.isArray(t)&&t.some((function(t){return W(t)||X(t)}))&&this.queueRequest(Date.now(),e)},e.prototype.processRequests=function(t){var e=this;if(!this.pendingRequest&&0!==this.queue.length){this.anonId&&this.eventData.lastSuccess&&this.eventData.tokenU||this.fetchEventData();var r=tt(j.ACCESS_TOKEN),n=r?r.u:j.ACCESS_TOKEN,i=n!==this.eventData.tokenU;y(this.anonId)||(this.anonId=g(),i=!0);var a=this.queue.shift();if(this.eventData.lastSuccess){var o=new Date(this.eventData.lastSuccess),s=new Date(a),l=(a-this.eventData.lastSuccess)/864e5;i=i||l>=1||l<-1||o.getDate()!==s.getDate()}else i=!0;if(!i)return this.processRequests();this.postEvent(a,{"enabled.telemetry":!1},(function(t){t||(e.eventData.lastSuccess=a,e.eventData.tokenU=n)}),t)}},e}(et),ot=new at,st=ot.postTurnstileEvent.bind(ot),lt=new it,ct=lt.postMapLoadEvent.bind(lt),ut="mapbox-tiles",ht=500,ft=50,pt=42e4;function dt(){s.caches&&!rt&&(rt=s.caches.open(ut))}function mt(t,e,r){if(dt(),rt){var n={status:e.status,statusText:e.statusText,headers:new s.Headers};e.headers.forEach((function(t,e){return n.headers.set(e,t)}));var i=E(e.headers.get("Cache-Control")||"");i["no-store"]||(i["max-age"]&&n.headers.set("Expires",new Date(r+1e3*i["max-age"]).toUTCString()),new Date(n.headers.get("Expires")).getTime()-rDate.now()&&!r["no-cache"]}(n);t.delete(r),i&&t.put(r,n.clone()),e(null,n,i)})).catch(e)})).catch(e)}var vt,xt=1/0;function _t(){return null==vt&&(vt=s.OffscreenCanvas&&new s.OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof s.createImageBitmap),vt}var bt={Unknown:"Unknown",Style:"Style",Source:"Source",Tile:"Tile",Glyphs:"Glyphs",SpriteImage:"SpriteImage",SpriteJSON:"SpriteJSON",Image:"Image"};"function"==typeof Object.freeze&&Object.freeze(bt);var wt=function(t){function e(e,r,n){401===r&&X(n)&&(e+=": you may have provided an invalid Mapbox access token. See https://www.mapbox.com/api-documentation/#access-tokens-and-token-scopes"),t.call(this,e),this.status=r,this.url=n,this.name=this.constructor.name,this.message=e}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.toString=function(){return this.name+": "+this.message+" ("+this.status+"): "+this.url},e}(Error),Tt=S()?function(){return self.worker&&self.worker.referrer}:function(){return("blob:"===s.location.protocol?s.parent:s).location.href};function kt(t,e){var r,n=new s.AbortController,i=new s.Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,referrer:Tt(),signal:n.signal}),a=!1,o=!1,l=(r=i.url).indexOf("sku=")>0&&X(r);"json"===t.type&&i.headers.set("Accept","application/json");var c=function(r,n,a){if(!o){if(r&&"SecurityError"!==r.message&&k(r),n&&a)return u(n);var c=Date.now();s.fetch(i).then((function(r){if(r.ok){var n=l?r.clone():null;return u(r,n,c)}return e(new wt(r.statusText,r.status,t.url))})).catch((function(t){20!==t.code&&e(new Error(t.message))}))}},u=function(r,n,s){("arrayBuffer"===t.type?r.arrayBuffer():"json"===t.type?r.json():r.text()).then((function(t){o||(n&&s&&mt(i,n,s),a=!0,e(null,t,r.headers.get("Cache-Control"),r.headers.get("Expires")))})).catch((function(t){o||e(new Error(t.message))}))};return l?yt(i,c):c(null,null),{cancel:function(){o=!0,a||n.abort()}}}var At=function(t,e){if(r=t.url,!(/^file:/.test(r)||/^file:/.test(Tt())&&!/^\w+:/.test(r))){if(s.fetch&&s.Request&&s.AbortController&&s.Request.prototype.hasOwnProperty("signal"))return kt(t,e);if(S()&&self.worker&&self.worker.actor){return self.worker.actor.send("getResource",t,e,void 0,!0)}}var r;return function(t,e){var r=new s.XMLHttpRequest;for(var n in r.open(t.method||"GET",t.url,!0),"arrayBuffer"===t.type&&(r.responseType="arraybuffer"),t.headers)r.setRequestHeader(n,t.headers[n]);return"json"===t.type&&(r.responseType="text",r.setRequestHeader("Accept","application/json")),r.withCredentials="include"===t.credentials,r.onerror=function(){e(new Error(r.statusText))},r.onload=function(){if((r.status>=200&&r.status<300||0===r.status)&&null!==r.response){var n=r.response;if("json"===t.type)try{n=JSON.parse(r.response)}catch(t){return e(t)}e(null,n,r.getResponseHeader("Cache-Control"),r.getResponseHeader("Expires"))}else e(new wt(r.statusText,r.status,t.url))},r.send(t.body),{cancel:function(){return r.abort()}}}(t,e)},Mt=function(t,e){return At(p(t,{type:"arrayBuffer"}),e)},St=function(t,e){return At(p(t,{method:"POST"}),e)};var Et,Ct,Lt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";Et=[],Ct=0;var It=function(t,e){if(U.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),Ct>=j.MAX_PARALLEL_IMAGE_REQUESTS){var r={requestParameters:t,callback:e,cancelled:!1,cancel:function(){this.cancelled=!0}};return Et.push(r),r}Ct++;var n=!1,i=function(){if(!n)for(n=!0,Ct--;Et.length&&Ct0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)},Rt.prototype.setEventedParent=function(t,e){return this._eventedParent=t,this._eventedParentData=e,this};var Ft={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sources:{required:!0,type:"sources"},sprite:{type:"string"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{}},default:"mapbox"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{},within:{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}},Bt=function(t,e,r,n){this.message=(t?t+": ":"")+r,n&&(this.identifier=n),null!=e&&e.__line__&&(this.line=e.__line__)};function Nt(t){var e=t.key,r=t.value;return r?[new Bt(e,r,"constants have been deprecated as of v8")]:[]}function jt(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];for(var n=0,i=e;n":"value"===t.itemType.kind?"array":"array<"+e+">"}return t.kind}var ne=[Gt,Zt,Wt,Yt,Xt,Qt,$t,ee(Jt),te];function ie(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!ie(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(var r=0,n=ne;r255?255:t}function i(t){return t<0?0:t>1?1:t}function a(t){return"%"===t[t.length-1]?n(parseFloat(t)/100*255):n(parseInt(t))}function o(t){return"%"===t[t.length-1]?i(parseFloat(t)/100):i(parseFloat(t))}function s(t,e,r){return r<0?r+=1:r>1&&(r-=1),6*r<1?t+(e-t)*r*6:2*r<1?e:3*r<2?t+(e-t)*(2/3-r)*6:t}try{e.parseCSSColor=function(t){var e,i=t.replace(/ /g,"").toLowerCase();if(i in r)return r[i].slice();if("#"===i[0])return 4===i.length?(e=parseInt(i.substr(1),16))>=0&&e<=4095?[(3840&e)>>4|(3840&e)>>8,240&e|(240&e)>>4,15&e|(15&e)<<4,1]:null:7===i.length&&(e=parseInt(i.substr(1),16))>=0&&e<=16777215?[(16711680&e)>>16,(65280&e)>>8,255&e,1]:null;var l=i.indexOf("("),c=i.indexOf(")");if(-1!==l&&c+1===i.length){var u=i.substr(0,l),h=i.substr(l+1,c-(l+1)).split(","),f=1;switch(u){case"rgba":if(4!==h.length)return null;f=o(h.pop());case"rgb":return 3!==h.length?null:[a(h[0]),a(h[1]),a(h[2]),f];case"hsla":if(4!==h.length)return null;f=o(h.pop());case"hsl":if(3!==h.length)return null;var p=(parseFloat(h[0])%360+360)%360/360,d=o(h[1]),m=o(h[2]),g=m<=.5?m*(d+1):m+d-m*d,y=2*m-g;return[n(255*s(y,g,p+1/3)),n(255*s(y,g,p)),n(255*s(y,g,p-1/3)),f];default:return null}}return null}}catch(t){}})),le=se.parseCSSColor,ce=function(t,e,r,n){void 0===n&&(n=1),this.r=t,this.g=e,this.b=r,this.a=n};ce.parse=function(t){if(t){if(t instanceof ce)return t;if("string"==typeof t){var e=le(t);if(e)return new ce(e[0]/255*e[3],e[1]/255*e[3],e[2]/255*e[3],e[3])}}},ce.prototype.toString=function(){var t=this.toArray(),e=t[0],r=t[1],n=t[2],i=t[3];return"rgba("+Math.round(e)+","+Math.round(r)+","+Math.round(n)+","+i+")"},ce.prototype.toArray=function(){var t=this,e=t.r,r=t.g,n=t.b,i=t.a;return 0===i?[0,0,0,0]:[255*e/i,255*r/i,255*n/i,i]},ce.black=new ce(0,0,0,1),ce.white=new ce(1,1,1,1),ce.transparent=new ce(0,0,0,0),ce.red=new ce(1,0,0,1);var ue=function(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})};ue.prototype.compare=function(t,e){return this.collator.compare(t,e)},ue.prototype.resolvedLocale=function(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale};var he=function(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i},fe=function(t){this.sections=t};fe.fromString=function(t){return new fe([new he(t,null,null,null,null)])},fe.prototype.isEmpty=function(){return 0===this.sections.length||!this.sections.some((function(t){return 0!==t.text.length||t.image&&0!==t.image.name.length}))},fe.factory=function(t){return t instanceof fe?t:fe.fromString(t)},fe.prototype.toString=function(){return 0===this.sections.length?"":this.sections.map((function(t){return t.text})).join("")},fe.prototype.serialize=function(){for(var t=["format"],e=0,r=this.sections;e=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:"Invalid rgba value ["+[t,e,r,n].join(", ")+"]: 'a' must be between 0 and 1.":"Invalid rgba value ["+("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")+"]: 'r', 'g', and 'b' must be between 0 and 255."}function me(t){if(null===t)return!0;if("string"==typeof t)return!0;if("boolean"==typeof t)return!0;if("number"==typeof t)return!0;if(t instanceof ce)return!0;if(t instanceof ue)return!0;if(t instanceof fe)return!0;if(t instanceof pe)return!0;if(Array.isArray(t)){for(var e=0,r=t;e2){var s=t[1];if("string"!=typeof s||!(s in _e)||"object"===s)return e.error('The item type argument of "array" must be one of string, number, boolean',1);a=_e[s],n++}else a=Jt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);o=t[2],n++}r=ee(a,o)}else r=_e[i];for(var l=[];n1)&&e.push(n)}}return e.concat(this.args.map((function(t){return t.serialize()})))};var we=function(t){this.type=Qt,this.sections=t};we.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");for(var n=[],i=!1,a=1;a<=t.length-1;++a){var o=t[a];if(i&&"object"==typeof o&&!Array.isArray(o)){i=!1;var s=null;if(o["font-scale"]&&!(s=e.parse(o["font-scale"],1,Zt)))return null;var l=null;if(o["text-font"]&&!(l=e.parse(o["text-font"],1,ee(Wt))))return null;var c=null;if(o["text-color"]&&!(c=e.parse(o["text-color"],1,Xt)))return null;var u=n[n.length-1];u.scale=s,u.font=l,u.textColor=c}else{var h=e.parse(t[a],1,Jt);if(!h)return null;var f=h.type.kind;if("string"!==f&&"value"!==f&&"null"!==f&&"resolvedImage"!==f)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:h,scale:null,font:null,textColor:null})}}return new we(n)},we.prototype.evaluate=function(t){return new fe(this.sections.map((function(e){var r=e.content.evaluate(t);return ge(r)===te?new he("",r,null,null,null):new he(ye(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))},we.prototype.eachChild=function(t){for(var e=0,r=this.sections;e-1),r},Te.prototype.eachChild=function(t){t(this.input)},Te.prototype.outputDefined=function(){return!1},Te.prototype.serialize=function(){return["image",this.input.serialize()]};var ke={"to-boolean":Yt,"to-color":Xt,"to-number":Zt,"to-string":Wt},Ae=function(t,e){this.type=t,this.args=e};Ae.parse=function(t,e){if(t.length<2)return e.error("Expected at least one argument.");var r=t[0];if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");for(var n=ke[r],i=[],a=1;a4?"Invalid rbga value "+JSON.stringify(e)+": expected an array containing either three or four numeric values.":de(e[0],e[1],e[2],e[3])))return new ce(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new xe(r||"Could not parse color from value '"+("string"==typeof e?e:String(JSON.stringify(e)))+"'")}if("number"===this.type.kind){for(var o=null,s=0,l=this.args;s=e[2]||t[1]<=e[1]||t[3]>=e[3])}function ze(t,e){var r,n=(180+t[0])/360,i=(r=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360),a=Math.pow(2,e.z);return[Math.round(n*a*Le),Math.round(i*a*Le)]}function Oe(t,e,r){return e[1]>t[1]!=r[1]>t[1]&&t[0]<(r[0]-e[0])*(t[1]-e[1])/(r[1]-e[1])+e[0]}function De(t,e){for(var r=!1,n=0,i=e.length;n0&&h<0||u<0&&h>0}function Be(t,e,r){for(var n=0,i=r;nr[2]){var i=.5*n,a=t[0]-r[0]>i?-n:r[0]-t[0]>i?n:0;0===a&&(a=t[0]-r[2]>i?-n:r[2]-t[0]>i?n:0),t[0]+=a}Ie(e,t)}function He(t,e,r,n){for(var i=Math.pow(2,n.z)*Le,a=[n.x*Le,n.y*Le],o=[],s=0,l=t;s=0)return!1;var r=!0;return t.eachChild((function(t){r&&!Xe(t,e)&&(r=!1)})),r}Ze.parse=function(t,e){if(2!==t.length)return e.error("'within' expression requires exactly one argument, but found "+(t.length-1)+" instead.");if(me(t[1])){var r=t[1];if("FeatureCollection"===r.type)for(var n=0;ne))throw new xe("Input is not a number.");o=s-1}return 0}Je.prototype.parse=function(t,e,r,n,i){return void 0===i&&(i={}),e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)},Je.prototype._parse=function(t,e){function r(t,e,r){return"assert"===r?new be(e,[t]):"coerce"===r?new Ae(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');var n=t[0];if("string"!=typeof n)return this.error("Expression name must be a string, but found "+typeof n+' instead. If you wanted a literal array, use ["literal", [...]].',0),null;var i=this.registry[n];if(i){var a=i.parse(t,this);if(!a)return null;if(this.expectedType){var o=this.expectedType,s=a.type;if("string"!==o.kind&&"number"!==o.kind&&"boolean"!==o.kind&&"object"!==o.kind&&"array"!==o.kind||"value"!==s.kind)if("color"!==o.kind&&"formatted"!==o.kind&&"resolvedImage"!==o.kind||"value"!==s.kind&&"string"!==s.kind){if(this.checkSubtype(o,s))return null}else a=r(a,o,e.typeAnnotation||"coerce");else a=r(a,o,e.typeAnnotation||"assert")}if(!(a instanceof ve)&&"resolvedImage"!==a.type.kind&&Ke(a)){var l=new Se;try{a=new ve(a.type,a.evaluate(l))}catch(t){return this.error(t.message),null}}return a}return this.error('Unknown expression "'+n+'". If you wanted a literal array, use ["literal", [...]].',0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error("Expected an array, but found "+typeof t+" instead.")},Je.prototype.concat=function(t,e,r){var n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new Je(this.registry,n,e||null,i,this.errors)},Je.prototype.error=function(t){for(var e=[],r=arguments.length-1;r-- >0;)e[r]=arguments[r+1];var n=""+this.key+e.map((function(t){return"["+t+"]"})).join("");this.errors.push(new qt(n,t))},Je.prototype.checkSubtype=function(t,e){var r=ie(t,e);return r&&this.error(r),r};var tr=function(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(var n=0,i=r;n=o)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',l);var u=e.parse(s,c,i);if(!u)return null;i=i||u.type,n.push([o,u])}return new tr(i,r,n)},tr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[Qe(e,n)].evaluate(t)},tr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e0&&t.push(this.labels[e]),t.push(this.outputs[e].serialize());return t};var rr=Object.freeze({__proto__:null,number:er,color:function(t,e,r){return new ce(er(t.r,e.r,r),er(t.g,e.g,r),er(t.b,e.b,r),er(t.a,e.a,r))},array:function(t,e,r){return t.map((function(t,n){return er(t,e[n],r)}))}}),nr=.95047,ir=1,ar=1.08883,or=4/29,sr=6/29,lr=3*sr*sr,cr=sr*sr*sr,ur=Math.PI/180,hr=180/Math.PI;function fr(t){return t>cr?Math.pow(t,1/3):t/lr+or}function pr(t){return t>sr?t*t*t:lr*(t-or)}function dr(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function mr(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function gr(t){var e=mr(t.r),r=mr(t.g),n=mr(t.b),i=fr((.4124564*e+.3575761*r+.1804375*n)/nr),a=fr((.2126729*e+.7151522*r+.072175*n)/ir);return{l:116*a-16,a:500*(i-a),b:200*(a-fr((.0193339*e+.119192*r+.9503041*n)/ar)),alpha:t.a}}function yr(t){var e=(t.l+16)/116,r=isNaN(t.a)?e:e+t.a/500,n=isNaN(t.b)?e:e-t.b/200;return e=ir*pr(e),r=nr*pr(r),n=ar*pr(n),new ce(dr(3.2404542*r-1.5371385*e-.4985314*n),dr(-.969266*r+1.8760108*e+.041556*n),dr(.0556434*r-.2040259*e+1.0572252*n),t.alpha)}function vr(t,e,r){var n=e-t;return t+r*(n>180||n<-180?n-360*Math.round(n/360):n)}var xr={forward:gr,reverse:yr,interpolate:function(t,e,r){return{l:er(t.l,e.l,r),a:er(t.a,e.a,r),b:er(t.b,e.b,r),alpha:er(t.alpha,e.alpha,r)}}},_r={forward:function(t){var e=gr(t),r=e.l,n=e.a,i=e.b,a=Math.atan2(i,n)*hr;return{h:a<0?a+360:a,c:Math.sqrt(n*n+i*i),l:r,alpha:t.a}},reverse:function(t){var e=t.h*ur,r=t.c;return yr({l:t.l,a:Math.cos(e)*r,b:Math.sin(e)*r,alpha:t.alpha})},interpolate:function(t,e,r){return{h:vr(t.h,e.h,r),c:er(t.c,e.c,r),l:er(t.l,e.l,r),alpha:er(t.alpha,e.alpha,r)}}},br=Object.freeze({__proto__:null,lab:xr,hcl:_r}),wr=function(t,e,r,n,i){this.type=t,this.operator=e,this.interpolation=r,this.input=n,this.labels=[],this.outputs=[];for(var a=0,o=i;a1})))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:s}}if(t.length-1<4)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(!(i=e.parse(i,2,Zt)))return null;var l=[],c=null;"interpolate-hcl"===r||"interpolate-lab"===r?c=Xt:e.expectedType&&"value"!==e.expectedType.kind&&(c=e.expectedType);for(var u=0;u=h)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',p);var m=e.parse(f,d,c);if(!m)return null;c=c||m.type,l.push([h,m])}return"number"===c.kind||"color"===c.kind||"array"===c.kind&&"number"===c.itemType.kind&&"number"==typeof c.N?new wr(c,r,n,i,l):e.error("Type "+re(c)+" is not interpolatable.")},wr.prototype.evaluate=function(t){var e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);var n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);var i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);var a=Qe(e,n),o=e[a],s=e[a+1],l=wr.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(t),u=r[a+1].evaluate(t);return"interpolate"===this.operator?rr[this.type.kind.toLowerCase()](c,u,l):"interpolate-hcl"===this.operator?_r.reverse(_r.interpolate(_r.forward(c),_r.forward(u),l)):xr.reverse(xr.interpolate(xr.forward(c),xr.forward(u),l))},wr.prototype.eachChild=function(t){t(this.input);for(var e=0,r=this.outputs;e=r.length)throw new xe("Array index out of bounds: "+e+" > "+(r.length-1)+".");if(e!==Math.floor(e))throw new xe("Array index must be an integer, but found "+e+" instead.");return r[e]},Mr.prototype.eachChild=function(t){t(this.index),t(this.input)},Mr.prototype.outputDefined=function(){return!1},Mr.prototype.serialize=function(){return["at",this.index.serialize(),this.input.serialize()]};var Sr=function(t,e){this.type=Yt,this.needle=t,this.haystack=e};Sr.parse=function(t,e){if(3!==t.length)return e.error("Expected 2 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);return r&&n?ae(r.type,[Yt,Wt,Zt,Gt,Jt])?new Sr(r,n):e.error("Expected first argument to be of type boolean, string, number or null, but found "+re(r.type)+" instead"):null},Sr.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!oe(e,["boolean","string","number","null"]))throw new xe("Expected first argument to be of type boolean, string, number or null, but found "+re(ge(e))+" instead.");if(!oe(r,["string","array"]))throw new xe("Expected second argument to be of type array or string, but found "+re(ge(r))+" instead.");return r.indexOf(e)>=0},Sr.prototype.eachChild=function(t){t(this.needle),t(this.haystack)},Sr.prototype.outputDefined=function(){return!0},Sr.prototype.serialize=function(){return["in",this.needle.serialize(),this.haystack.serialize()]};var Er=function(t,e,r){this.type=Zt,this.needle=t,this.haystack=e,this.fromIndex=r};Er.parse=function(t,e){if(t.length<=2||t.length>=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Jt);if(!r||!n)return null;if(!ae(r.type,[Yt,Wt,Zt,Gt,Jt]))return e.error("Expected first argument to be of type boolean, string, number or null, but found "+re(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Zt);return i?new Er(r,n,i):null}return new Er(r,n)},Er.prototype.evaluate=function(t){var e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!oe(e,["boolean","string","number","null"]))throw new xe("Expected first argument to be of type boolean, string, number or null, but found "+re(ge(e))+" instead.");if(!oe(r,["string","array"]))throw new xe("Expected second argument to be of type array or string, but found "+re(ge(r))+" instead.");if(this.fromIndex){var n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)},Er.prototype.eachChild=function(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)},Er.prototype.outputDefined=function(){return!1},Er.prototype.serialize=function(){if(null!=this.fromIndex&&void 0!==this.fromIndex){var t=this.fromIndex.serialize();return["index-of",this.needle.serialize(),this.haystack.serialize(),t]}return["index-of",this.needle.serialize(),this.haystack.serialize()]};var Cr=function(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a};Cr.parse=function(t,e){if(t.length<5)return e.error("Expected at least 4 arguments, but found only "+(t.length-1)+".");if(t.length%2!=1)return e.error("Expected an even number of arguments.");var r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);for(var i={},a=[],o=2;oNumber.MAX_SAFE_INTEGER)return c.error("Branch labels must be integers no larger than "+Number.MAX_SAFE_INTEGER+".");if("number"==typeof f&&Math.floor(f)!==f)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,ge(f)))return null}else r=ge(f);if(void 0!==i[String(f)])return c.error("Branch labels must be unique.");i[String(f)]=a.length}var p=e.parse(l,o,n);if(!p)return null;n=n||p.type,a.push(p)}var d=e.parse(t[1],1,Jt);if(!d)return null;var m=e.parse(t[t.length-1],t.length-1,n);return m?"value"!==d.type.kind&&e.concat(1).checkSubtype(r,d.type)?null:new Cr(r,n,d,i,a,m):null},Cr.prototype.evaluate=function(t){var e=this.input.evaluate(t);return(ge(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)},Cr.prototype.eachChild=function(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)},Cr.prototype.outputDefined=function(){return this.outputs.every((function(t){return t.outputDefined()}))&&this.otherwise.outputDefined()},Cr.prototype.serialize=function(){for(var t=this,e=["match",this.input.serialize()],r=[],n={},i=0,a=Object.keys(this.cases).sort();i=5)return e.error("Expected 3 or 4 arguments, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1,Jt),n=e.parse(t[2],2,Zt);if(!r||!n)return null;if(!ae(r.type,[ee(Jt),Wt,Jt]))return e.error("Expected first argument to be of type array or string, but found "+re(r.type)+" instead");if(4===t.length){var i=e.parse(t[3],3,Zt);return i?new Ir(r.type,r,n,i):null}return new Ir(r.type,r,n)},Ir.prototype.evaluate=function(t){var e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!oe(e,["string","array"]))throw new xe("Expected first argument to be of type array or string, but found "+re(ge(e))+" instead.");if(this.endIndex){var n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)},Ir.prototype.eachChild=function(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)},Ir.prototype.outputDefined=function(){return!1},Ir.prototype.serialize=function(){if(null!=this.endIndex&&void 0!==this.endIndex){var t=this.endIndex.serialize();return["slice",this.input.serialize(),this.beginIndex.serialize(),t]}return["slice",this.input.serialize(),this.beginIndex.serialize()]};var Dr=Or("==",(function(t,e,r){return e===r}),zr),Rr=Or("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!zr(0,e,r,n)})),Fr=Or("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Nr=Or("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),jr=Or(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0})),Ur=function(t,e,r,n,i){this.type=Wt,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i};Ur.parse=function(t,e){if(3!==t.length)return e.error("Expected two arguments.");var r=e.parse(t[1],1,Zt);if(!r)return null;var n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");var i=null;if(n.locale&&!(i=e.parse(n.locale,1,Wt)))return null;var a=null;if(n.currency&&!(a=e.parse(n.currency,1,Wt)))return null;var o=null;if(n["min-fraction-digits"]&&!(o=e.parse(n["min-fraction-digits"],1,Zt)))return null;var s=null;return n["max-fraction-digits"]&&!(s=e.parse(n["max-fraction-digits"],1,Zt))?null:new Ur(r,i,a,o,s)},Ur.prototype.evaluate=function(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))},Ur.prototype.eachChild=function(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)},Ur.prototype.outputDefined=function(){return!1},Ur.prototype.serialize=function(){var t={};return this.locale&&(t.locale=this.locale.serialize()),this.currency&&(t.currency=this.currency.serialize()),this.minFractionDigits&&(t["min-fraction-digits"]=this.minFractionDigits.serialize()),this.maxFractionDigits&&(t["max-fraction-digits"]=this.maxFractionDigits.serialize()),["number-format",this.number.serialize(),t]};var Vr=function(t){this.type=Zt,this.input=t};Vr.parse=function(t,e){if(2!==t.length)return e.error("Expected 1 argument, but found "+(t.length-1)+" instead.");var r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error("Expected argument of type string or array, but found "+re(r.type)+" instead."):new Vr(r):null},Vr.prototype.evaluate=function(t){var e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new xe("Expected value to be of type string or array, but found "+re(ge(e))+" instead.")},Vr.prototype.eachChild=function(t){t(this.input)},Vr.prototype.outputDefined=function(){return!1},Vr.prototype.serialize=function(){var t=["length"];return this.eachChild((function(e){t.push(e.serialize())})),t};var qr={"==":Dr,"!=":Rr,">":Br,"<":Fr,">=":jr,"<=":Nr,array:be,at:Mr,boolean:be,case:Lr,coalesce:kr,collator:Ce,format:we,image:Te,in:Sr,"index-of":Er,interpolate:wr,"interpolate-hcl":wr,"interpolate-lab":wr,length:Vr,let:Ar,literal:ve,match:Cr,number:be,"number-format":Ur,object:be,slice:Ir,step:tr,string:be,"to-boolean":Ae,"to-color":Ae,"to-number":Ae,"to-string":Ae,var:$e,within:Ze};function Hr(t,e){var r=e[0],n=e[1],i=e[2],a=e[3];r=r.evaluate(t),n=n.evaluate(t),i=i.evaluate(t);var o=a?a.evaluate(t):1,s=de(r,n,i,o);if(s)throw new xe(s);return new ce(r/255*o,n/255*o,i/255*o,o)}function Gr(t,e){return t in e}function Zr(t,e){var r=e[t];return void 0===r?null:r}function Wr(t){return{type:t}}function Yr(t){return{result:"success",value:t}}function Xr(t){return{result:"error",value:t}}function $r(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function Jr(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function Kr(t){return!!t.expression&&t.expression.interpolated}function Qr(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function tn(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function en(t){return t}function rn(t,e){var r,n,i,a="color"===e.type,o=t.stops&&"object"==typeof t.stops[0][0],s=o||void 0!==t.property,l=o||!s,c=t.type||(Kr(e)?"exponential":"interval");if(a&&((t=jt({},t)).stops&&(t.stops=t.stops.map((function(t){return[t[0],ce.parse(t[1])]}))),t.default?t.default=ce.parse(t.default):t.default=ce.parse(e.default)),t.colorSpace&&"rgb"!==t.colorSpace&&!br[t.colorSpace])throw new Error("Unknown color space: "+t.colorSpace);if("exponential"===c)r=sn;else if("interval"===c)r=on;else if("categorical"===c){r=an,n=Object.create(null);for(var u=0,h=t.stops;u=t.stops[n-1][0])return t.stops[n-1][1];var i=Qe(t.stops.map((function(t){return t[0]})),r);return t.stops[i][1]}function sn(t,e,r){var n=void 0!==t.base?t.base:1;if("number"!==Qr(r))return nn(t.default,e.default);var i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];var a=Qe(t.stops.map((function(t){return t[0]})),r),o=function(t,e,r,n){var i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],c=rr[e.type]||en;if(t.colorSpace&&"rgb"!==t.colorSpace){var u=br[t.colorSpace];c=function(t,e){return u.reverse(u.interpolate(u.forward(t),u.forward(e),o))}}return"function"==typeof s.evaluate?{evaluate:function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];var r=s.evaluate.apply(void 0,t),n=l.evaluate.apply(void 0,t);if(void 0!==r&&void 0!==n)return c(r,n,o)}}:c(s,l,o)}function ln(t,e,r){return"color"===e.type?r=ce.parse(r):"formatted"===e.type?r=fe.fromString(r.toString()):"resolvedImage"===e.type?r=pe.fromString(r.toString()):Qr(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0),nn(r,t.default,e.default)}Ee.register(qr,{error:[{kind:"error"},[Wt],function(t,e){var r=e[0];throw new xe(r.evaluate(t))}],typeof:[Wt,[Jt],function(t,e){return re(ge(e[0].evaluate(t)))}],"to-rgba":[ee(Zt,4),[Xt],function(t,e){return e[0].evaluate(t).toArray()}],rgb:[Xt,[Zt,Zt,Zt],Hr],rgba:[Xt,[Zt,Zt,Zt,Zt],Hr],has:{type:Yt,overloads:[[[Wt],function(t,e){return Gr(e[0].evaluate(t),t.properties())}],[[Wt,$t],function(t,e){var r=e[0],n=e[1];return Gr(r.evaluate(t),n.evaluate(t))}]]},get:{type:Jt,overloads:[[[Wt],function(t,e){return Zr(e[0].evaluate(t),t.properties())}],[[Wt,$t],function(t,e){var r=e[0],n=e[1];return Zr(r.evaluate(t),n.evaluate(t))}]]},"feature-state":[Jt,[Wt],function(t,e){return Zr(e[0].evaluate(t),t.featureState||{})}],properties:[$t,[],function(t){return t.properties()}],"geometry-type":[Wt,[],function(t){return t.geometryType()}],id:[Jt,[],function(t){return t.id()}],zoom:[Zt,[],function(t){return t.globals.zoom}],"heatmap-density":[Zt,[],function(t){return t.globals.heatmapDensity||0}],"line-progress":[Zt,[],function(t){return t.globals.lineProgress||0}],accumulated:[Jt,[],function(t){return void 0===t.globals.accumulated?null:t.globals.accumulated}],"+":[Zt,Wr(Zt),function(t,e){for(var r=0,n=0,i=e;n":[Yt,[Wt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>a}],"filter-id->":[Yt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>i}],"filter-<=":[Yt,[Wt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i<=a}],"filter-id-<=":[Yt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n<=i}],"filter->=":[Yt,[Wt,Jt],function(t,e){var r=e[0],n=e[1],i=t.properties()[r.value],a=n.value;return typeof i==typeof a&&i>=a}],"filter-id->=":[Yt,[Jt],function(t,e){var r=e[0],n=t.id(),i=r.value;return typeof n==typeof i&&n>=i}],"filter-has":[Yt,[Jt],function(t,e){return e[0].value in t.properties()}],"filter-has-id":[Yt,[],function(t){return null!==t.id()&&void 0!==t.id()}],"filter-type-in":[Yt,[ee(Wt)],function(t,e){return e[0].value.indexOf(t.geometryType())>=0}],"filter-id-in":[Yt,[ee(Jt)],function(t,e){return e[0].value.indexOf(t.id())>=0}],"filter-in-small":[Yt,[Wt,ee(Jt)],function(t,e){var r=e[0];return e[1].value.indexOf(t.properties()[r.value])>=0}],"filter-in-large":[Yt,[Wt,ee(Jt)],function(t,e){var r=e[0],n=e[1];return function(t,e,r,n){for(;r<=n;){var i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[r.value],n.value,0,n.value.length-1)}],all:{type:Yt,overloads:[[[Yt,Yt],function(t,e){var r=e[0],n=e[1];return r.evaluate(t)&&n.evaluate(t)}],[Wr(Yt),function(t,e){for(var r=0,n=e;r0&&"string"==typeof t[0]&&t[0]in qr}function hn(t,e){var r=new Je(qr,[],e?function(t){var e={color:Xt,string:Wt,number:Zt,enum:Wt,boolean:Yt,formatted:Qt,resolvedImage:te};return"array"===t.type?ee(e[t.value]||Jt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?Yr(new cn(n,e)):Xr(r.errors)}cn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)},cn.prototype.evaluate=function(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{var o=this.expression.evaluate(this._evaluator);if(null==o||"number"==typeof o&&o!=o)return this._defaultValue;if(this._enumValues&&!(o in this._enumValues))throw new xe("Expected value to be one of "+Object.keys(this._enumValues).map((function(t){return JSON.stringify(t)})).join(", ")+", but found "+JSON.stringify(o)+" instead.");return o}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}};var fn=function(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!Ye(e.expression)};fn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},fn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)};var pn=function(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!Ye(e.expression),this.interpolationType=n};function dn(t,e){if("error"===(t=hn(t,e)).result)return t;var r=t.value.expression,n=We(r);if(!n&&!$r(e))return Xr([new qt("","data expressions not supported")]);var i=Xe(r,["zoom"]);if(!i&&!Jr(e))return Xr([new qt("","zoom expressions not supported")]);var a=gn(r);if(!a&&!i)return Xr([new qt("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(a instanceof qt)return Xr([a]);if(a instanceof wr&&!Kr(e))return Xr([new qt("",'"interpolate" expressions cannot be used with this property')]);if(!a)return Yr(new fn(n?"constant":"source",t.value));var o=a instanceof wr?a.interpolation:void 0;return Yr(new pn(n?"camera":"composite",t.value,a.labels,o))}pn.prototype.evaluateWithoutErrorHandling=function(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)},pn.prototype.evaluate=function(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)},pn.prototype.interpolationFactor=function(t,e,r){return this.interpolationType?wr.interpolationFactor(this.interpolationType,t,e,r):0};var mn=function(t,e){this._parameters=t,this._specification=e,jt(this,rn(this._parameters,this._specification))};function gn(t){var e=null;if(t instanceof Ar)e=gn(t.result);else if(t instanceof kr)for(var r=0,n=t.args;rn.maximum?[new Bt(e,r,r+" is greater than the maximum value "+n.maximum)]:[]}function _n(t){var e,r,n,i=t.valueSpec,a=Ut(t.value.type),o={},s="categorical"!==a&&void 0===t.value.property,l=!s,c="array"===Qr(t.value.stops)&&"array"===Qr(t.value.stops[0])&&"object"===Qr(t.value.stops[0][0]),u=yn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===a)return[new Bt(t.key,t.value,'identity function may not have a "stops" property')];var e=[],r=t.value;return e=e.concat(vn({key:t.key,value:r,valueSpec:t.valueSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),"array"===Qr(r)&&0===r.length&&e.push(new Bt(t.key,r,"array must have at least one stop")),e},default:function(t){return Hn({key:t.key,value:t.value,valueSpec:i,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===a&&s&&u.push(new Bt(t.key,t.value,'missing required property "property"')),"identity"===a||t.value.stops||u.push(new Bt(t.key,t.value,'missing required property "stops"')),"exponential"===a&&t.valueSpec.expression&&!Kr(t.valueSpec)&&u.push(new Bt(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!$r(t.valueSpec)?u.push(new Bt(t.key,t.value,"property functions not supported")):s&&!Jr(t.valueSpec)&&u.push(new Bt(t.key,t.value,"zoom functions not supported"))),"categorical"!==a&&!c||void 0!==t.value.property||u.push(new Bt(t.key,t.value,'"property" property is required')),u;function h(t){var e=[],a=t.value,s=t.key;if("array"!==Qr(a))return[new Bt(s,a,"array expected, "+Qr(a)+" found")];if(2!==a.length)return[new Bt(s,a,"array length 2 expected, length "+a.length+" found")];if(c){if("object"!==Qr(a[0]))return[new Bt(s,a,"object expected, "+Qr(a[0])+" found")];if(void 0===a[0].zoom)return[new Bt(s,a,"object stop key must have zoom")];if(void 0===a[0].value)return[new Bt(s,a,"object stop key must have value")];if(n&&n>Ut(a[0].zoom))return[new Bt(s,a[0].zoom,"stop zoom values must appear in ascending order")];Ut(a[0].zoom)!==n&&(n=Ut(a[0].zoom),r=void 0,o={}),e=e.concat(yn({key:s+"[0]",value:a[0],valueSpec:{zoom:{}},style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:xn,value:f}}))}else e=e.concat(f({key:s+"[0]",value:a[0],valueSpec:{},style:t.style,styleSpec:t.styleSpec},a));return un(Vt(a[1]))?e.concat([new Bt(s+"[1]",a[1],"expressions are not allowed in function stops.")]):e.concat(Hn({key:s+"[1]",value:a[1],valueSpec:i,style:t.style,styleSpec:t.styleSpec}))}function f(t,n){var s=Qr(t.value),l=Ut(t.value),c=null!==t.value?t.value:n;if(e){if(s!==e)return[new Bt(t.key,c,s+" stop domain type must match previous stop domain type "+e)]}else e=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new Bt(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==a){var u="number expected, "+s+" found";return $r(i)&&void 0===a&&(u+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Bt(t.key,c,u)]}return"categorical"!==a||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==a&&"number"===s&&void 0!==r&&l=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(var e=0,r=t.slice(1);ee?1:0}function Sn(t){if(!Array.isArray(t))return!1;if("within"===t[0])return!0;for(var e=1;e"===r||"<="===r||">="===r?Cn(t[1],t[2],r):"any"===r?(e=t.slice(1),["any"].concat(e.map(En))):"all"===r?["all"].concat(t.slice(1).map(En)):"none"===r?["all"].concat(t.slice(1).map(En).map(Pn)):"in"===r?Ln(t[1],t.slice(2)):"!in"===r?Pn(Ln(t[1],t.slice(2))):"has"===r?In(t[1]):"!has"===r?Pn(In(t[1])):"within"!==r||t}function Cn(t,e,r){switch(t){case"$type":return["filter-type-"+r,e];case"$id":return["filter-id-"+r,e];default:return["filter-"+r,t,e]}}function Ln(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((function(t){return typeof t!=typeof e[0]}))?["filter-in-large",t,["literal",e.sort(Mn)]]:["filter-in-small",t,["literal",e]]}}function In(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function Pn(t){return["!",t]}function zn(t){return Tn(Vt(t.value))?bn(jt({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):On(t)}function On(t){var e=t.value,r=t.key;if("array"!==Qr(e))return[new Bt(r,e,"array expected, "+Qr(e)+" found")];var n,i=t.styleSpec,a=[];if(e.length<1)return[new Bt(r,e,"filter array must have at least 1 element")];switch(a=a.concat(wn({key:r+"[0]",value:e[0],valueSpec:i.filter_operator,style:t.style,styleSpec:t.styleSpec})),Ut(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Ut(e[1])&&a.push(new Bt(r,e,'"$type" cannot be use with operator "'+e[0]+'"'));case"==":case"!=":3!==e.length&&a.push(new Bt(r,e,'filter array for operator "'+e[0]+'" must have 3 elements'));case"in":case"!in":e.length>=2&&"string"!==(n=Qr(e[1]))&&a.push(new Bt(r+"[1]",e[1],"string expected, "+n+" found"));for(var o=2;o=u[p+0]&&n>=u[p+1])?(o[f]=!0,a.push(c[f])):o[f]=!1}}},ri.prototype._forEachCell=function(t,e,r,n,i,a,o,s){for(var l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n),f=l;f<=u;f++)for(var p=c;p<=h;p++){var d=this.d*p+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(p),this._convertFromCellCoord(f+1),this._convertFromCellCoord(p+1)))&&i.call(this,t,e,r,n,d,a,o,s))return}},ri.prototype._convertFromCellCoord=function(t){return(t-this.padding)/this.scale},ri.prototype._convertToCellCoord=function(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))},ri.prototype.toArrayBuffer=function(){if(this.arrayBuffer)return this.arrayBuffer;for(var t=this.cells,e=ei+this.cells.length+1+1,r=0,n=0;n=0)){var h=t[u];c[u]=ai[l].shallow.indexOf(u)>=0?h:ui(h,e)}t instanceof Error&&(c.message=t.message)}if(c.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==l&&(c.$name=l),c}throw new Error("can't serialize object of type "+typeof t)}function hi(t){if(null==t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||li(t)||ci(t)||ArrayBuffer.isView(t)||t instanceof ni)return t;if(Array.isArray(t))return t.map(hi);if("object"==typeof t){var e=t.$name||"Object",r=ai[e].klass;if(!r)throw new Error("can't deserialize unregistered class "+e);if(r.deserialize)return r.deserialize(t);for(var n=Object.create(r.prototype),i=0,a=Object.keys(t);i=0?s:hi(s)}}return n}throw new Error("can't deserialize object of type "+typeof t)}var fi=function(){this.first=!0};fi.prototype.update=function(t,e){var r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoom=128&&t<=255},Arabic:function(t){return t>=1536&&t<=1791},"Arabic Supplement":function(t){return t>=1872&&t<=1919},"Arabic Extended-A":function(t){return t>=2208&&t<=2303},"Hangul Jamo":function(t){return t>=4352&&t<=4607},"Unified Canadian Aboriginal Syllabics":function(t){return t>=5120&&t<=5759},Khmer:function(t){return t>=6016&&t<=6143},"Unified Canadian Aboriginal Syllabics Extended":function(t){return t>=6320&&t<=6399},"General Punctuation":function(t){return t>=8192&&t<=8303},"Letterlike Symbols":function(t){return t>=8448&&t<=8527},"Number Forms":function(t){return t>=8528&&t<=8591},"Miscellaneous Technical":function(t){return t>=8960&&t<=9215},"Control Pictures":function(t){return t>=9216&&t<=9279},"Optical Character Recognition":function(t){return t>=9280&&t<=9311},"Enclosed Alphanumerics":function(t){return t>=9312&&t<=9471},"Geometric Shapes":function(t){return t>=9632&&t<=9727},"Miscellaneous Symbols":function(t){return t>=9728&&t<=9983},"Miscellaneous Symbols and Arrows":function(t){return t>=11008&&t<=11263},"CJK Radicals Supplement":function(t){return t>=11904&&t<=12031},"Kangxi Radicals":function(t){return t>=12032&&t<=12255},"Ideographic Description Characters":function(t){return t>=12272&&t<=12287},"CJK Symbols and Punctuation":function(t){return t>=12288&&t<=12351},Hiragana:function(t){return t>=12352&&t<=12447},Katakana:function(t){return t>=12448&&t<=12543},Bopomofo:function(t){return t>=12544&&t<=12591},"Hangul Compatibility Jamo":function(t){return t>=12592&&t<=12687},Kanbun:function(t){return t>=12688&&t<=12703},"Bopomofo Extended":function(t){return t>=12704&&t<=12735},"CJK Strokes":function(t){return t>=12736&&t<=12783},"Katakana Phonetic Extensions":function(t){return t>=12784&&t<=12799},"Enclosed CJK Letters and Months":function(t){return t>=12800&&t<=13055},"CJK Compatibility":function(t){return t>=13056&&t<=13311},"CJK Unified Ideographs Extension A":function(t){return t>=13312&&t<=19903},"Yijing Hexagram Symbols":function(t){return t>=19904&&t<=19967},"CJK Unified Ideographs":function(t){return t>=19968&&t<=40959},"Yi Syllables":function(t){return t>=40960&&t<=42127},"Yi Radicals":function(t){return t>=42128&&t<=42191},"Hangul Jamo Extended-A":function(t){return t>=43360&&t<=43391},"Hangul Syllables":function(t){return t>=44032&&t<=55215},"Hangul Jamo Extended-B":function(t){return t>=55216&&t<=55295},"Private Use Area":function(t){return t>=57344&&t<=63743},"CJK Compatibility Ideographs":function(t){return t>=63744&&t<=64255},"Arabic Presentation Forms-A":function(t){return t>=64336&&t<=65023},"Vertical Forms":function(t){return t>=65040&&t<=65055},"CJK Compatibility Forms":function(t){return t>=65072&&t<=65103},"Small Form Variants":function(t){return t>=65104&&t<=65135},"Arabic Presentation Forms-B":function(t){return t>=65136&&t<=65279},"Halfwidth and Fullwidth Forms":function(t){return t>=65280&&t<=65519}};function di(t){for(var e=0,r=t;e=65097&&t<=65103)||pi["CJK Compatibility Ideographs"](t)||pi["CJK Compatibility"](t)||pi["CJK Radicals Supplement"](t)||pi["CJK Strokes"](t)||!(!pi["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||pi["CJK Unified Ideographs Extension A"](t)||pi["CJK Unified Ideographs"](t)||pi["Enclosed CJK Letters and Months"](t)||pi["Hangul Compatibility Jamo"](t)||pi["Hangul Jamo Extended-A"](t)||pi["Hangul Jamo Extended-B"](t)||pi["Hangul Jamo"](t)||pi["Hangul Syllables"](t)||pi.Hiragana(t)||pi["Ideographic Description Characters"](t)||pi.Kanbun(t)||pi["Kangxi Radicals"](t)||pi["Katakana Phonetic Extensions"](t)||pi.Katakana(t)&&12540!==t||!(!pi["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!pi["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||pi["Unified Canadian Aboriginal Syllabics"](t)||pi["Unified Canadian Aboriginal Syllabics Extended"](t)||pi["Vertical Forms"](t)||pi["Yijing Hexagram Symbols"](t)||pi["Yi Syllables"](t)||pi["Yi Radicals"](t))))}function gi(t){return!(mi(t)||function(t){return!!(pi["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||pi["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||pi["Letterlike Symbols"](t)||pi["Number Forms"](t)||pi["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||pi["Control Pictures"](t)&&9251!==t||pi["Optical Character Recognition"](t)||pi["Enclosed Alphanumerics"](t)||pi["Geometric Shapes"](t)||pi["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||pi["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||pi["CJK Symbols and Punctuation"](t)||pi.Katakana(t)||pi["Private Use Area"](t)||pi["CJK Compatibility Forms"](t)||pi["Small Form Variants"](t)||pi["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function yi(t){return pi.Arabic(t)||pi["Arabic Supplement"](t)||pi["Arabic Extended-A"](t)||pi["Arabic Presentation Forms-A"](t)||pi["Arabic Presentation Forms-B"](t)}function vi(t){return t>=1424&&t<=2303||pi["Arabic Presentation Forms-A"](t)||pi["Arabic Presentation Forms-B"](t)}function xi(t,e){return!(!e&&vi(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||pi.Khmer(t))}function _i(t){for(var e=0,r=t;e-1&&(Mi=ki),Ai&&Ai(t)};function Ci(){Li.fire(new Ot("pluginStateChange",{pluginStatus:Mi,pluginURL:Si}))}var Li=new Rt,Ii=function(){return Mi},Pi=function(){if(Mi!==bi||!Si)throw new Error("rtl-text-plugin cannot be downloaded unless a pluginURL is specified");Mi=wi,Ci(),Si&&Mt({url:Si},(function(t){t?Ei(t):(Mi=Ti,Ci())}))},zi={applyArabicShaping:null,processBidirectionalText:null,processStyledBidirectionalText:null,isLoaded:function(){return Mi===Ti||null!=zi.applyArabicShaping},isLoading:function(){return Mi===wi},setState:function(t){Mi=t.pluginStatus,Si=t.pluginURL},isParsed:function(){return null!=zi.applyArabicShaping&&null!=zi.processBidirectionalText&&null!=zi.processStyledBidirectionalText},getPluginURL:function(){return Si}},Oi=function(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new fi,this.transition={})};Oi.prototype.isSupportedScript=function(t){return function(t,e){for(var r=0,n=t;rthis.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}};var Di=function(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(tn(t))return new mn(t,e);if(un(t)){var r=dn(t,e);if("error"===r.result)throw new Error(r.value.map((function(t){return t.key+": "+t.message})).join(", "));return r.value}var n=t;return"string"==typeof t&&"color"===e.type&&(n=ce.parse(t)),{kind:"constant",evaluate:function(){return n}}}(void 0===e?t.specification.default:e,t.specification)};Di.prototype.isDataDriven=function(){return"source"===this.expression.kind||"composite"===this.expression.kind},Di.prototype.possiblyEvaluate=function(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)};var Ri=function(t){this.property=t,this.value=new Di(t,void 0)};Ri.prototype.transitioned=function(t,e){return new Bi(this.property,this.value,e,p({},t.transition,this.transition),t.now)},Ri.prototype.untransitioned=function(){return new Bi(this.property,this.value,null,{},0)};var Fi=function(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)};Fi.prototype.getValue=function(t){return w(this._values[t].value.value)},Fi.prototype.setValue=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].value=new Di(this._values[t].property,null===e?void 0:w(e))},Fi.prototype.getTransition=function(t){return w(this._values[t].transition)},Fi.prototype.setTransition=function(t,e){this._values.hasOwnProperty(t)||(this._values[t]=new Ri(this._values[t].property)),this._values[t].transition=w(e)||void 0},Fi.prototype.serialize=function(){for(var t={},e=0,r=Object.keys(this._values);ethis.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;var e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}return i};var Ni=function(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)};Ni.prototype.possiblyEvaluate=function(t,e,r){for(var n=new Vi(this._properties),i=0,a=Object.keys(this._values);in.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},e.prototype.interpolate=function(t){return t},e}(Hi),Zi=function(t){this.specification=t};Zi.prototype.possiblyEvaluate=function(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){var i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Oi(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Oi(Math.floor(e.zoom),e)),t.expression.evaluate(new Oi(Math.floor(e.zoom+1),e)),e)}},Zi.prototype._calculate=function(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}},Zi.prototype.interpolate=function(t){return t};var Wi=function(t){this.specification=t};Wi.prototype.possiblyEvaluate=function(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)},Wi.prototype.interpolate=function(){return!1};var Yi=function(t){for(var e in this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[],t){var r=t[e];r.specification.overridable&&this.overridableProperties.push(e);var n=this.defaultPropertyValues[e]=new Di(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Ri(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}};oi("DataDrivenProperty",Hi),oi("DataConstantProperty",qi),oi("CrossFadedDataDrivenProperty",Gi),oi("CrossFadedProperty",Zi),oi("ColorRampProperty",Wi);var Xi="-transition",$i=function(t){function e(e,r){if(t.call(this),this.id=e.id,this.type=e.type,this._featureFilter={filter:function(){return!0},needGeometry:!1},"custom"!==e.type&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,"background"!==e.type&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new ji(r.layout)),r.paint)){for(var n in this._transitionablePaint=new Fi(r.paint),e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(var i in e.layout)this.setLayoutProperty(i,e.layout[i],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Vi(r.paint)}}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getCrossfadeParameters=function(){return this._crossfadeParameters},e.prototype.getLayoutProperty=function(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)},e.prototype.setLayoutProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".layout."+t;if(this._validate(Kn,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e},e.prototype.getPaintProperty=function(t){return x(t,Xi)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)},e.prototype.setPaintProperty=function(t,e,r){if(void 0===r&&(r={}),null!=e){var n="layers."+this.id+".paint."+t;if(this._validate(Jn,n,t,e,r))return!1}if(x(t,Xi))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;var i=this._transitionablePaint._values[t],a="cross-faded-data-driven"===i.property.specification["property-type"],o=i.value.isDataDriven(),s=i.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);var l=this._transitionablePaint._values[t].value;return l.isDataDriven()||o||a||this._handleOverridablePaintPropertyUpdate(t,s,l)},e.prototype._handleSpecialPaintPropertyUpdate=function(t){},e.prototype._handleOverridablePaintPropertyUpdate=function(t,e,r){return!1},e.prototype.isHidden=function(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility},e.prototype.updateTransitions=function(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)},e.prototype.hasTransition=function(){return this._transitioningPaint.hasTransition()},e.prototype.recalculate=function(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)},e.prototype.serialize=function(){var t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),b(t,(function(t,e){return!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)}))},e.prototype._validate=function(t,e,r,n,i){return void 0===i&&(i={}),(!i||!1!==i.validate)&&Qn(this,t.call(Xn,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Ft,style:{glyphs:!0,sprite:!0}}))},e.prototype.is3D=function(){return!1},e.prototype.isTileClipped=function(){return!1},e.prototype.hasOffscreenPass=function(){return!1},e.prototype.resize=function(){},e.prototype.isStateDependent=function(){for(var t in this.paint._values){var e=this.paint.get(t);if(e instanceof Ui&&$r(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1},e}(Rt),Ji={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array},Ki=function(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8},Qi=function(){this.isTransferred=!1,this.capacity=-1,this.resize(0)};function ta(t,e){void 0===e&&(e=1);var r=0,n=0;return{members:t.map((function(t){var i,a=(i=t.type,Ji[i].BYTES_PER_ELEMENT),o=r=ea(r,Math.max(e,a)),s=t.components||1;return n=Math.max(n,a),r+=a*s,{name:t.name,type:t.type,components:s,offset:o}})),size:ea(r,Math.max(n,e)),alignment:e}}function ea(t,e){return Math.ceil(t/e)*e}Qi.serialize=function(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}},Qi.deserialize=function(t){var e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e},Qi.prototype._trim=function(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())},Qi.prototype.clear=function(){this.length=0},Qi.prototype.resize=function(t){this.reserve(t),this.length=t},Qi.prototype.reserve=function(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);var e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}},Qi.prototype._refreshViews=function(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")};var ra=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t},e}(Qi);ra.prototype.bytesPerElement=4,oi("StructArrayLayout2i4",ra);var na=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t},e}(Qi);na.prototype.bytesPerElement=8,oi("StructArrayLayout4i8",na);var ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);ia.prototype.bytesPerElement=12,oi("StructArrayLayout2i4i12",ia);var aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t},e}(Qi);aa.prototype.bytesPerElement=8,oi("StructArrayLayout2i4ub8",aa);var oa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t},e}(Qi);oa.prototype.bytesPerElement=8,oi("StructArrayLayout2f8",oa);var sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c){var u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l,c)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u){var h=10*t;return this.uint16[h+0]=e,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=o,this.uint16[h+6]=s,this.uint16[h+7]=l,this.uint16[h+8]=c,this.uint16[h+9]=u,t},e}(Qi);sa.prototype.bytesPerElement=20,oi("StructArrayLayout10ui20",sa);var la=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,h){var f=this.length;return this.resize(f+1),this.emplace(f,t,e,r,n,i,a,o,s,l,c,u,h)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,h,f){var p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=h,this.int16[p+11]=f,t},e}(Qi);la.prototype.bytesPerElement=24,oi("StructArrayLayout4i4ui4i24",la);var ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t},e}(Qi);ca.prototype.bytesPerElement=12,oi("StructArrayLayout3f12",ca);var ua=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint32[r+0]=e,t},e}(Qi);ua.prototype.bytesPerElement=4,oi("StructArrayLayout1ul4",ua);var ha=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l){var c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c){var u=10*t,h=5*t;return this.int16[u+0]=e,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[h+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,t},e}(Qi);ha.prototype.bytesPerElement=20,oi("StructArrayLayout6i1ul2ui20",ha);var fa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a){var o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)},e.prototype.emplace=function(t,e,r,n,i,a,o){var s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t},e}(Qi);fa.prototype.bytesPerElement=12,oi("StructArrayLayout2i2i2i12",fa);var pa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i){var a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)},e.prototype.emplace=function(t,e,r,n,i,a){var o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t},e}(Qi);pa.prototype.bytesPerElement=16,oi("StructArrayLayout2f1f2i16",pa);var da=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=12*t,o=3*t;return this.uint8[a+0]=e,this.uint8[a+1]=r,this.float32[o+1]=n,this.float32[o+2]=i,t},e}(Qi);da.prototype.bytesPerElement=12,oi("StructArrayLayout2ub2f12",da);var ma=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t},e}(Qi);ma.prototype.bytesPerElement=6,oi("StructArrayLayout3ui6",ma);var ga=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g){var y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y){var v=24*t,x=12*t,_=48*t;return this.int16[v+0]=e,this.int16[v+1]=r,this.uint16[v+2]=n,this.uint16[v+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[v+10]=l,this.uint16[v+11]=c,this.uint16[v+12]=u,this.float32[x+7]=h,this.float32[x+8]=f,this.uint8[_+36]=p,this.uint8[_+37]=d,this.uint8[_+38]=m,this.uint32[x+10]=g,this.int16[v+22]=y,t},e}(Qi);ga.prototype.bytesPerElement=48,oi("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",ga);var ya=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S){var E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S)},e.prototype.emplace=function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E){var C=34*t,L=17*t;return this.int16[C+0]=e,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=h,this.uint16[C+11]=f,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=m,this.uint16[C+15]=g,this.uint16[C+16]=y,this.uint16[C+17]=v,this.uint16[C+18]=x,this.uint16[C+19]=_,this.uint16[C+20]=b,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[L+12]=k,this.float32[L+13]=A,this.float32[L+14]=M,this.float32[L+15]=S,this.float32[L+16]=E,t},e}(Qi);ya.prototype.bytesPerElement=68,oi("StructArrayLayout8i15ui1ul4f68",ya);var va=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.float32[r+0]=e,t},e}(Qi);va.prototype.bytesPerElement=4,oi("StructArrayLayout1f4",va);var xa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t},e}(Qi);xa.prototype.bytesPerElement=6,oi("StructArrayLayout3i6",xa);var _a=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r){var n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)},e.prototype.emplace=function(t,e,r,n){var i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t},e}(Qi);_a.prototype.bytesPerElement=8,oi("StructArrayLayout1ul2ui8",_a);var ba=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e){var r=this.length;return this.resize(r+1),this.emplace(r,t,e)},e.prototype.emplace=function(t,e,r){var n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t},e}(Qi);ba.prototype.bytesPerElement=4,oi("StructArrayLayout2ui4",ba);var wa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t){var e=this.length;return this.resize(e+1),this.emplace(e,t)},e.prototype.emplace=function(t,e){var r=1*t;return this.uint16[r+0]=e,t},e}(Qi);wa.prototype.bytesPerElement=2,oi("StructArrayLayout1ui2",wa);var Ta=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._refreshViews=function(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)},e.prototype.emplaceBack=function(t,e,r,n){var i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)},e.prototype.emplace=function(t,e,r,n,i){var a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t},e}(Qi);Ta.prototype.bytesPerElement=16,oi("StructArrayLayout4f16",Ta);var ka=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorPointX:{configurable:!0},anchorPointY:{configurable:!0},x1:{configurable:!0},y1:{configurable:!0},x2:{configurable:!0},y2:{configurable:!0},featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0},anchorPoint:{configurable:!0}};return r.anchorPointX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorPointY.get=function(){return this._structArray.int16[this._pos2+1]},r.x1.get=function(){return this._structArray.int16[this._pos2+2]},r.y1.get=function(){return this._structArray.int16[this._pos2+3]},r.x2.get=function(){return this._structArray.int16[this._pos2+4]},r.y2.get=function(){return this._structArray.int16[this._pos2+5]},r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+8]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.anchorPoint.get=function(){return new a(this.anchorPointX,this.anchorPointY)},Object.defineProperties(e.prototype,r),e}(Ki);ka.prototype.size=20;var Aa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new ka(this,t)},e}(ha);oi("CollisionBoxArray",Aa);var Ma=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},glyphStartIndex:{configurable:!0},numGlyphs:{configurable:!0},vertexStartIndex:{configurable:!0},lineStartIndex:{configurable:!0},lineLength:{configurable:!0},segment:{configurable:!0},lowerSize:{configurable:!0},upperSize:{configurable:!0},lineOffsetX:{configurable:!0},lineOffsetY:{configurable:!0},writingMode:{configurable:!0},placedOrientation:{configurable:!0},hidden:{configurable:!0},crossTileID:{configurable:!0},associatedIconIndex:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.glyphStartIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.numGlyphs.get=function(){return this._structArray.uint16[this._pos2+3]},r.vertexStartIndex.get=function(){return this._structArray.uint32[this._pos4+2]},r.lineStartIndex.get=function(){return this._structArray.uint32[this._pos4+3]},r.lineLength.get=function(){return this._structArray.uint32[this._pos4+4]},r.segment.get=function(){return this._structArray.uint16[this._pos2+10]},r.lowerSize.get=function(){return this._structArray.uint16[this._pos2+11]},r.upperSize.get=function(){return this._structArray.uint16[this._pos2+12]},r.lineOffsetX.get=function(){return this._structArray.float32[this._pos4+7]},r.lineOffsetY.get=function(){return this._structArray.float32[this._pos4+8]},r.writingMode.get=function(){return this._structArray.uint8[this._pos1+36]},r.placedOrientation.get=function(){return this._structArray.uint8[this._pos1+37]},r.placedOrientation.set=function(t){this._structArray.uint8[this._pos1+37]=t},r.hidden.get=function(){return this._structArray.uint8[this._pos1+38]},r.hidden.set=function(t){this._structArray.uint8[this._pos1+38]=t},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+10]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+10]=t},r.associatedIconIndex.get=function(){return this._structArray.int16[this._pos2+22]},Object.defineProperties(e.prototype,r),e}(Ki);Ma.prototype.size=48;var Sa=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ma(this,t)},e}(ga);oi("PlacedSymbolArray",Sa);var Ea=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={anchorX:{configurable:!0},anchorY:{configurable:!0},rightJustifiedTextSymbolIndex:{configurable:!0},centerJustifiedTextSymbolIndex:{configurable:!0},leftJustifiedTextSymbolIndex:{configurable:!0},verticalPlacedTextSymbolIndex:{configurable:!0},placedIconSymbolIndex:{configurable:!0},verticalPlacedIconSymbolIndex:{configurable:!0},key:{configurable:!0},textBoxStartIndex:{configurable:!0},textBoxEndIndex:{configurable:!0},verticalTextBoxStartIndex:{configurable:!0},verticalTextBoxEndIndex:{configurable:!0},iconBoxStartIndex:{configurable:!0},iconBoxEndIndex:{configurable:!0},verticalIconBoxStartIndex:{configurable:!0},verticalIconBoxEndIndex:{configurable:!0},featureIndex:{configurable:!0},numHorizontalGlyphVertices:{configurable:!0},numVerticalGlyphVertices:{configurable:!0},numIconVertices:{configurable:!0},numVerticalIconVertices:{configurable:!0},useRuntimeCollisionCircles:{configurable:!0},crossTileID:{configurable:!0},textBoxScale:{configurable:!0},textOffset0:{configurable:!0},textOffset1:{configurable:!0},collisionCircleDiameter:{configurable:!0}};return r.anchorX.get=function(){return this._structArray.int16[this._pos2+0]},r.anchorY.get=function(){return this._structArray.int16[this._pos2+1]},r.rightJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+2]},r.centerJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+3]},r.leftJustifiedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+4]},r.verticalPlacedTextSymbolIndex.get=function(){return this._structArray.int16[this._pos2+5]},r.placedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+6]},r.verticalPlacedIconSymbolIndex.get=function(){return this._structArray.int16[this._pos2+7]},r.key.get=function(){return this._structArray.uint16[this._pos2+8]},r.textBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+9]},r.textBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+10]},r.verticalTextBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+11]},r.verticalTextBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+12]},r.iconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+13]},r.iconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+14]},r.verticalIconBoxStartIndex.get=function(){return this._structArray.uint16[this._pos2+15]},r.verticalIconBoxEndIndex.get=function(){return this._structArray.uint16[this._pos2+16]},r.featureIndex.get=function(){return this._structArray.uint16[this._pos2+17]},r.numHorizontalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+18]},r.numVerticalGlyphVertices.get=function(){return this._structArray.uint16[this._pos2+19]},r.numIconVertices.get=function(){return this._structArray.uint16[this._pos2+20]},r.numVerticalIconVertices.get=function(){return this._structArray.uint16[this._pos2+21]},r.useRuntimeCollisionCircles.get=function(){return this._structArray.uint16[this._pos2+22]},r.crossTileID.get=function(){return this._structArray.uint32[this._pos4+12]},r.crossTileID.set=function(t){this._structArray.uint32[this._pos4+12]=t},r.textBoxScale.get=function(){return this._structArray.float32[this._pos4+13]},r.textOffset0.get=function(){return this._structArray.float32[this._pos4+14]},r.textOffset1.get=function(){return this._structArray.float32[this._pos4+15]},r.collisionCircleDiameter.get=function(){return this._structArray.float32[this._pos4+16]},Object.defineProperties(e.prototype,r),e}(Ki);Ea.prototype.size=68;var Ca=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Ea(this,t)},e}(ya);oi("SymbolInstanceArray",Ca);var La=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getoffsetX=function(t){return this.float32[1*t+0]},e}(va);oi("GlyphOffsetArray",La);var Ia=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getx=function(t){return this.int16[3*t+0]},e.prototype.gety=function(t){return this.int16[3*t+1]},e.prototype.gettileUnitDistanceFromAnchor=function(t){return this.int16[3*t+2]},e}(xa);oi("SymbolLineVertexArray",Ia);var Pa=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={featureIndex:{configurable:!0},sourceLayerIndex:{configurable:!0},bucketIndex:{configurable:!0}};return r.featureIndex.get=function(){return this._structArray.uint32[this._pos4+0]},r.sourceLayerIndex.get=function(){return this._structArray.uint16[this._pos2+2]},r.bucketIndex.get=function(){return this._structArray.uint16[this._pos2+3]},Object.defineProperties(e.prototype,r),e}(Ki);Pa.prototype.size=8;var za=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.get=function(t){return new Pa(this,t)},e}(_a);oi("FeatureIndexArray",za);var Oa=ta([{name:"a_pos",components:2,type:"Int16"}],4).members,Da=function(t){void 0===t&&(t=[]),this.segments=t};function Ra(t,e){return 256*(t=h(Math.floor(t),0,255))+h(Math.floor(e),0,255)}Da.prototype.prepareSegment=function(t,e,r,n){var i=this.segments[this.segments.length-1];return t>Da.MAX_VERTEX_ARRAY_LENGTH&&k("Max vertices per segment is "+Da.MAX_VERTEX_ARRAY_LENGTH+": bucket requested "+t),(!i||i.vertexLength+t>Da.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i},Da.prototype.get=function(){return this.segments},Da.prototype.destroy=function(){for(var t=0,e=this.segments;t>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}})),Na=e((function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}})),ja=Ba,Ua=Ba,Va=Na;ja.murmur3=Ua,ja.murmur2=Va;var qa=function(){this.ids=[],this.positions=[],this.indexed=!1};qa.prototype.add=function(t,e,r,n){this.ids.push(Ga(t)),this.positions.push(e,r,n)},qa.prototype.getPositions=function(t){for(var e=Ga(t),r=0,n=this.ids.length-1;r>1;this.ids[i]>=e?n=i:r=i+1}for(var a=[];this.ids[r]===e;){var o=this.positions[3*r],s=this.positions[3*r+1],l=this.positions[3*r+2];a.push({index:o,start:s,end:l}),r++}return a},qa.serialize=function(t,e){var r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return Za(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}},qa.deserialize=function(t){var e=new qa;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e};var Ha=Math.pow(2,53)-1;function Ga(t){var e=+t;return!isNaN(e)&&e<=Ha?e:ja(String(t))}function Za(t,e,r,n){for(;r>1],a=r-1,o=n+1;;){do{a++}while(t[a]i);if(a>=o)break;Wa(t,a,o),Wa(e,3*a,3*o),Wa(e,3*a+1,3*o+1),Wa(e,3*a+2,3*o+2)}o-ro.x+1||lo.y+1)&&k("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return r}function vo(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?yo(t):[]}}function xo(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}var _o=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ra,this.indexArray=new ma,this.segments=new Da,this.programConfigurations=new uo(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function bo(t,e){for(var r=0;r1){if(Ao(t,e))return!0;for(var n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function Co(t,e){for(var r,n,i,a=!1,o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a);return a}function Lo(t,e){for(var r=!1,n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function Io(t,e,r){var n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;var a=A(t,e,r[0]);return a!==A(t,e,r[1])||a!==A(t,e,r[2])||a!==A(t,e,r[3])}function Po(t,e,r){var n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function zo(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Oo(t,e,r,n,i){if(!e[0]&&!e[1])return t;var o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);for(var s=[],l=0;l=po||u<0||u>=po)){var h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),f=h.vertexLength;xo(this.layoutVertexArray,c,u,-1,-1),xo(this.layoutVertexArray,c,u,1,-1),xo(this.layoutVertexArray,c,u,1,1),xo(this.layoutVertexArray,c,u,-1,1),this.indexArray.emplaceBack(f,f+1,f+2),this.indexArray.emplaceBack(f,f+3,f+2),h.vertexLength+=4,h.primitiveLength+=2}}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)},oi("CircleBucket",_o,{omit:["layers"]});var Do=new Yi({"circle-sort-key":new Hi(Ft.layout_circle["circle-sort-key"])}),Ro={paint:new Yi({"circle-radius":new Hi(Ft.paint_circle["circle-radius"]),"circle-color":new Hi(Ft.paint_circle["circle-color"]),"circle-blur":new Hi(Ft.paint_circle["circle-blur"]),"circle-opacity":new Hi(Ft.paint_circle["circle-opacity"]),"circle-translate":new qi(Ft.paint_circle["circle-translate"]),"circle-translate-anchor":new qi(Ft.paint_circle["circle-translate-anchor"]),"circle-pitch-scale":new qi(Ft.paint_circle["circle-pitch-scale"]),"circle-pitch-alignment":new qi(Ft.paint_circle["circle-pitch-alignment"]),"circle-stroke-width":new Hi(Ft.paint_circle["circle-stroke-width"]),"circle-stroke-color":new Hi(Ft.paint_circle["circle-stroke-color"]),"circle-stroke-opacity":new Hi(Ft.paint_circle["circle-stroke-opacity"])}),layout:Do},Fo="undefined"!=typeof Float32Array?Float32Array:Array;function Bo(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function No(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],m=e[12],g=e[13],y=e[14],v=e[15],x=r[0],_=r[1],b=r[2],w=r[3];return t[0]=x*n+_*s+b*h+w*m,t[1]=x*i+_*l+b*f+w*g,t[2]=x*a+_*c+b*p+w*y,t[3]=x*o+_*u+b*d+w*v,x=r[4],_=r[5],b=r[6],w=r[7],t[4]=x*n+_*s+b*h+w*m,t[5]=x*i+_*l+b*f+w*g,t[6]=x*a+_*c+b*p+w*y,t[7]=x*o+_*u+b*d+w*v,x=r[8],_=r[9],b=r[10],w=r[11],t[8]=x*n+_*s+b*h+w*m,t[9]=x*i+_*l+b*f+w*g,t[10]=x*a+_*c+b*p+w*y,t[11]=x*o+_*u+b*d+w*v,x=r[12],_=r[13],b=r[14],w=r[15],t[12]=x*n+_*s+b*h+w*m,t[13]=x*i+_*l+b*f+w*g,t[14]=x*a+_*c+b*p+w*y,t[15]=x*o+_*u+b*d+w*v,t}Math.hypot||(Math.hypot=function(){for(var t=arguments,e=0,r=arguments.length;r--;)e+=t[r]*t[r];return Math.sqrt(e)});var jo=No;var Uo,Vo=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};function qo(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3];return t[0]=r[0]*n+r[4]*i+r[8]*a+r[12]*o,t[1]=r[1]*n+r[5]*i+r[9]*a+r[13]*o,t[2]=r[2]*n+r[6]*i+r[10]*a+r[14]*o,t[3]=r[3]*n+r[7]*i+r[11]*a+r[15]*o,t}Uo=new Fo(3),Fo!=Float32Array&&(Uo[0]=0,Uo[1]=0,Uo[2]=0),function(){var t=new Fo(4);Fo!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0,t[3]=0)}();var Ho=function(t){var e=t[0],r=t[1];return e*e+r*r},Go=(function(){var t=new Fo(2);Fo!=Float32Array&&(t[0]=0,t[1]=0)}(),function(t){function e(e){t.call(this,e,Ro)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.createBucket=function(t){return new _o(t)},e.prototype.queryRadius=function(t){var e=t;return Po("circle-radius",this,e)+Po("circle-stroke-width",this,e)+zo(this.paint.get("circle-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,a,o,s){for(var l=Oo(t,this.paint.get("circle-translate"),this.paint.get("circle-translate-anchor"),a.angle,o),c=this.paint.get("circle-radius").evaluate(e,r)+this.paint.get("circle-stroke-width").evaluate(e,r),u="map"===this.paint.get("circle-pitch-alignment"),h=u?l:function(t,e){return t.map((function(t){return Zo(t,e)}))}(l,s),f=u?c*o:c,p=0,d=n;pt.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");for(var o=t.data,s=e.data,l=0;l80*r){n=a=t[0],i=o=t[1];for(var d=r;da&&(a=s),l>o&&(o=l);c=0!==(c=Math.max(a-n,o-i))?1/c:0}return us(f,p,r,n,i,c),p}function ls(t,e,r,n,i){var a,o;if(i===Ps(t,e,r,n)>0)for(a=e;a=e;a-=n)o=Cs(a,t[a],t[a+1],o);return o&&Ts(o,o.next)&&(Ls(o),o=o.next),o}function cs(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!Ts(n,n.next)&&0!==ws(n.prev,n,n.next))n=n.next;else{if(Ls(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function us(t,e,r,n,i,a,o){if(t){!o&&a&&function(t,e,r,n){var i=t;do{null===i.z&&(i.z=vs(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,n,i,a);for(var s,l,c=t;t.prev!==t.next;)if(s=t.prev,l=t.next,a?fs(t,n,i,a):hs(t))e.push(s.i/r),e.push(t.i/r),e.push(l.i/r),Ls(t),t=l.next,c=l.next;else if((t=l)===c){o?1===o?us(t=ps(cs(t),e,r),e,r,n,i,a,2):2===o&&ds(t,e,r,n,i,a):us(cs(t),e,r,n,i,a,1);break}}}function hs(t){var e=t.prev,r=t,n=t.next;if(ws(e,r,n)>=0)return!1;for(var i=t.next.next;i!==t.prev;){if(_s(e.x,e.y,r.x,r.y,n.x,n.y,i.x,i.y)&&ws(i.prev,i,i.next)>=0)return!1;i=i.next}return!0}function fs(t,e,r,n){var i=t.prev,a=t,o=t.next;if(ws(i,a,o)>=0)return!1;for(var s=i.xa.x?i.x>o.x?i.x:o.x:a.x>o.x?a.x:o.x,u=i.y>a.y?i.y>o.y?i.y:o.y:a.y>o.y?a.y:o.y,h=vs(s,l,e,r,n),f=vs(c,u,e,r,n),p=t.prevZ,d=t.nextZ;p&&p.z>=h&&d&&d.z<=f;){if(p!==t.prev&&p!==t.next&&_s(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,d!==t.prev&&d!==t.next&&_s(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}for(;p&&p.z>=h;){if(p!==t.prev&&p!==t.next&&_s(i.x,i.y,a.x,a.y,o.x,o.y,p.x,p.y)&&ws(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;d&&d.z<=f;){if(d!==t.prev&&d!==t.next&&_s(i.x,i.y,a.x,a.y,o.x,o.y,d.x,d.y)&&ws(d.prev,d,d.next)>=0)return!1;d=d.nextZ}return!0}function ps(t,e,r){var n=t;do{var i=n.prev,a=n.next.next;!Ts(i,a)&&ks(i,n,n.next,a)&&Ss(i,a)&&Ss(a,i)&&(e.push(i.i/r),e.push(n.i/r),e.push(a.i/r),Ls(n),Ls(n.next),n=t=a),n=n.next}while(n!==t);return cs(n)}function ds(t,e,r,n,i,a){var o=t;do{for(var s=o.next.next;s!==o.prev;){if(o.i!==s.i&&bs(o,s)){var l=Es(o,s);return o=cs(o,o.next),l=cs(l,l.next),us(o,e,r,n,i,a),void us(l,e,r,n,i,a)}s=s.next}o=o.next}while(o!==t)}function ms(t,e){return t.x-e.x}function gs(t,e){if(e=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o){if(o=s,s===i){if(a===n.y)return n;if(a===n.next.y)return n.next}r=n.x=n.x&&n.x>=u&&i!==n.x&&_s(ar.x||n.x===r.x&&ys(r,n)))&&(r=n,f=l)),n=n.next}while(n!==c);return r}(t,e)){var r=Es(e,t);cs(e,e.next),cs(r,r.next)}}function ys(t,e){return ws(t.prev,t,e.prev)<0&&ws(e.next,t,t.next)<0}function vs(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*i)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)*i)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function xs(t){var e=t,r=t;do{(e.x=0&&(t-o)*(n-s)-(r-o)*(e-s)>=0&&(r-o)*(a-s)-(i-o)*(n-s)>=0}function bs(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&ks(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(Ss(t,e)&&Ss(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(ws(t.prev,t,e.prev)||ws(t,e.prev,e))||Ts(t,e)&&ws(t.prev,t,t.next)>0&&ws(e.prev,e,e.next)>0)}function ws(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Ts(t,e){return t.x===e.x&&t.y===e.y}function ks(t,e,r,n){var i=Ms(ws(t,e,r)),a=Ms(ws(t,e,n)),o=Ms(ws(r,n,t)),s=Ms(ws(r,n,e));return i!==a&&o!==s||!(0!==i||!As(t,r,e))||!(0!==a||!As(t,n,e))||!(0!==o||!As(r,t,n))||!(0!==s||!As(r,e,n))}function As(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Ms(t){return t>0?1:t<0?-1:0}function Ss(t,e){return ws(t.prev,t,t.next)<0?ws(t,e,t.next)>=0&&ws(t,t.prev,e)>=0:ws(t,e,t.prev)<0||ws(t,t.next,e)<0}function Es(t,e){var r=new Is(t.i,t.x,t.y),n=new Is(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function Cs(t,e,r,n){var i=new Is(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Ls(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function Is(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function Ps(t,e,r,n){for(var i=0,a=e,o=r-n;ar;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);Os(t,e,Math.max(r,Math.floor(e-o*l/a+c)),Math.min(n,Math.floor(e+(a-o)*l/a+c)),i)}var u=t[e],h=r,f=n;for(Ds(t,r,e),i(t[n],u)>0&&Ds(t,r,n);h0;)f--}0===i(t[r],u)?Ds(t,r,f):Ds(t,++f,n),f<=e&&(r=f+1),e<=f&&(n=f-1)}}function Ds(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function Rs(t,e){return te?1:0}function Fs(t,e){var r=t.length;if(r<=1)return[t];for(var n,i,a=[],o=0;o1)for(var l=0;l0&&(n+=t[i-1].length,r.holes.push(n))}return r},as.default=os;var Us=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new ra,this.indexArray=new ma,this.indexArray2=new ba,this.programConfigurations=new uo(t.layers,t.zoom),this.segments=new Da,this.segments2=new Da,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};Us.prototype.populate=function(t,e,r){this.hasPattern=Ns("fill",this.layers,e);for(var n=this.layers[0].layout.get("fill-sort-key"),i=[],a=0,o=t;a>3}if(i--,1===n||2===n)o+=t.readSVarint(),s+=t.readSVarint(),1===n&&(e&&l.push(e),e=[]),e.push(new a(o,s));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&l.push(e),l},Ws.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())c&&(c=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},Ws.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=Ws.types[this.type];function u(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}function Qs(t,e,r){if(3===t){var n=new $s(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Js.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Zs(this._pbf,e,this.extent,this._keys,this._values)};var tl={VectorTile:function(t,e){this.layers=t.readFields(Qs,{},e)},VectorTileFeature:Zs,VectorTileLayer:$s},el=tl.VectorTileFeature.types,rl=Math.pow(2,13);function nl(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*rl)+o,i*rl*2,a*rl*2,Math.round(s))}var il=function(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((function(t){return t.id})),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new ia,this.indexArray=new ma,this.programConfigurations=new uo(t.layers,t.zoom),this.segments=new Da,this.stateDependentLayerIds=this.layers.filter((function(t){return t.isStateDependent()})).map((function(t){return t.id}))};function al(t,e){return t.x===e.x&&(t.x<0||t.x>po)||t.y===e.y&&(t.y<0||t.y>po)}il.prototype.populate=function(t,e,r){this.features=[],this.hasPattern=Ns("fill-extrusion",this.layers,e);for(var n=0,i=t;npo}))||P.every((function(t){return t.y<0}))||P.every((function(t){return t.y>po}))))for(var m=0,g=0;g=1){var v=d[g-1];if(!al(y,v)){h.vertexLength+4>Da.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));var x=y.sub(v)._perp()._unit(),_=v.dist(y);m+_>32768&&(m=0),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,0,m),nl(this.layoutVertexArray,y.x,y.y,x.x,x.y,0,1,m),m+=_,nl(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,0,m),nl(this.layoutVertexArray,v.x,v.y,x.x,x.y,0,1,m);var b=h.vertexLength;this.indexArray.emplaceBack(b,b+2,b+1),this.indexArray.emplaceBack(b+1,b+2,b+3),h.vertexLength+=4,h.primitiveLength+=2}}}}if(h.vertexLength+l>Da.MAX_VERTEX_ARRAY_LENGTH&&(h=this.segments.prepareSegment(l,this.layoutVertexArray,this.indexArray)),"Polygon"===el[t.type]){for(var w=[],T=[],k=h.vertexLength,A=0,M=s;A=2&&t[l-1].equals(t[l-2]);)l--;for(var c=0;c0;if(T&&y>c){var A=u.dist(p);if(A>2*h){var M=u.sub(u.sub(p)._mult(h/A)._round());this.updateDistance(p,M),this.addCurrentVertex(M,m,0,0,f),p=M}}var S=p&&d,E=S?r:s?"butt":n;if(S&&"round"===E&&(bi&&(E="bevel"),"bevel"===E&&(b>2&&(E="flipbevel"),b100)v=g.mult(-1);else{var C=b*m.add(g).mag()/m.sub(g).mag();v._perp()._mult(C*(k?-1:1))}this.addCurrentVertex(u,v,0,0,f),this.addCurrentVertex(u,v.mult(-1),0,0,f)}else if("bevel"===E||"fakeround"===E){var L=-Math.sqrt(b*b-1),I=k?L:0,P=k?0:L;if(p&&this.addCurrentVertex(u,m,I,P,f),"fakeround"===E)for(var z=Math.round(180*w/Math.PI/20),O=1;O2*h){var j=u.add(d.sub(u)._mult(h/N)._round());this.updateDistance(u,j),this.addCurrentVertex(j,g,0,0,f),u=j}}}}},ml.prototype.addCurrentVertex=function(t,e,r,n,i,a){void 0===a&&(a=!1);var o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,c=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,c,a,!0,-n,i),this.distance>dl/2&&0===this.totalDistance&&(this.distance=0,this.addCurrentVertex(t,e,r,n,i,a))},ml.prototype.addHalfVertex=function(t,e,r,n,i,a,o){var s=t.x,l=t.y,c=.5*(this.lineClips?this.scaledDistance*(dl-1):this.scaledDistance);if(this.layoutVertexArray.emplaceBack((s<<1)+(n?1:0),(l<<1)+(i?1:0),Math.round(63*e)+128,Math.round(63*r)+128,1+(0===a?0:a<0?-1:1)|(63&c)<<2,c>>6),this.lineClips){var u=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(u,this.lineClipsArray.length)}var h=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,h),o.primitiveLength++),i?this.e2=h:this.e1=h},ml.prototype.updateScaledDistance=function(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance},ml.prototype.updateDistance=function(t,e){this.distance+=t.dist(e),this.updateScaledDistance()},oi("LineBucket",ml,{omit:["layers","patternFeatures"]});var gl=new Yi({"line-cap":new qi(Ft.layout_line["line-cap"]),"line-join":new Hi(Ft.layout_line["line-join"]),"line-miter-limit":new qi(Ft.layout_line["line-miter-limit"]),"line-round-limit":new qi(Ft.layout_line["line-round-limit"]),"line-sort-key":new Hi(Ft.layout_line["line-sort-key"])}),yl={paint:new Yi({"line-opacity":new Hi(Ft.paint_line["line-opacity"]),"line-color":new Hi(Ft.paint_line["line-color"]),"line-translate":new qi(Ft.paint_line["line-translate"]),"line-translate-anchor":new qi(Ft.paint_line["line-translate-anchor"]),"line-width":new Hi(Ft.paint_line["line-width"]),"line-gap-width":new Hi(Ft.paint_line["line-gap-width"]),"line-offset":new Hi(Ft.paint_line["line-offset"]),"line-blur":new Hi(Ft.paint_line["line-blur"]),"line-dasharray":new Zi(Ft.paint_line["line-dasharray"]),"line-pattern":new Gi(Ft.paint_line["line-pattern"]),"line-gradient":new Wi(Ft.paint_line["line-gradient"])}),layout:gl},vl=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.possiblyEvaluate=function(e,r){return r=new Oi(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),t.prototype.possiblyEvaluate.call(this,e,r)},e.prototype.evaluate=function(e,r,n,i){return r=p({},r,{zoom:Math.floor(r.zoom)}),t.prototype.evaluate.call(this,e,r,n,i)},e}(Hi),xl=new vl(yl.paint.properties["line-width"].specification);xl.useIntegerZoom=!0;var _l=function(t){function e(e){t.call(this,e,yl),this.gradientVersion=0}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype._handleSpecialPaintPropertyUpdate=function(t){if("line-gradient"===t){var e=this._transitionablePaint._values["line-gradient"].value.expression;this.stepInterpolant=e._styleExpression.expression instanceof tr,this.gradientVersion=(this.gradientVersion+1)%l}},e.prototype.gradientExpression=function(){return this._transitionablePaint._values["line-gradient"].value.expression},e.prototype.recalculate=function(e,r){t.prototype.recalculate.call(this,e,r),this.paint._values["line-floorwidth"]=xl.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)},e.prototype.createBucket=function(t){return new ml(t)},e.prototype.queryRadius=function(t){var e=t,r=bl(Po("line-width",this,e),Po("line-gap-width",this,e)),n=Po("line-offset",this,e);return r/2+Math.abs(n)+zo(this.paint.get("line-translate"))},e.prototype.queryIntersectsFeature=function(t,e,r,n,i,o,s){var l=Oo(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*bl(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),u=this.paint.get("line-offset").evaluate(e,r);return u&&(n=function(t,e){for(var r=[],n=new a(0,0),i=0;i=3)for(var a=0;a0?e+2*t:t}var wl=ta([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Tl=ta([{name:"a_projected_pos",components:3,type:"Float32"}],4),kl=(ta([{name:"a_fade_opacity",components:1,type:"Uint32"}],4),ta([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"}])),Al=(ta([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]),ta([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4)),Ml=ta([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function Sl(t,e,r){return t.sections.forEach((function(t){t.text=function(t,e,r){var n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),zi.applyArabicShaping&&(t=zi.applyArabicShaping(t)),t}(t.text,e,r)})),t}ta([{name:"triangle",components:3,type:"Uint16"}]),ta([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),ta([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",components:2,name:"textOffset"},{type:"Float32",name:"collisionCircleDiameter"}]),ta([{type:"Float32",name:"offsetX"}]),ta([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]);var El={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var Cl=24,Ll=function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},Il=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m},Pl=zl;function zl(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}zl.Varint=0,zl.Fixed64=1,zl.Bytes=2,zl.Fixed32=5;var Ol=4294967296,Dl=1/Ol,Rl="undefined"==typeof TextDecoder?null:new TextDecoder("utf8");function Fl(t){return t.type===zl.Bytes?t.readVarint()+t.pos:t.pos+1}function Bl(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Nl(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function jl(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function Jl(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}zl.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Xl(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Jl(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Xl(this.buf,this.pos)+Xl(this.buf,this.pos+4)*Ol;return this.pos+=8,t},readSFixed64:function(){var t=Xl(this.buf,this.pos)+Jl(this.buf,this.pos+4)*Ol;return this.pos+=8,t},readFloat:function(){var t=Ll(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=Ll(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Bl(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Bl(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Bl(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Rl?function(t,e,r){return Rl.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==zl.Bytes)return t.push(this.readVarint(e));var r=Fl(this);for(t=t||[];this.pos127;);else if(e===zl.Bytes)this.pos=this.readVarint()+this.pos;else if(e===zl.Fixed32)this.pos+=4;else{if(e!==zl.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Nl(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),Il(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),Il(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&Nl(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,zl.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,jl,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Ul,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,Hl,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Vl,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,ql,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Gl,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Zl,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Wl,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Yl,e)},writeBytesField:function(t,e){this.writeTag(t,zl.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,zl.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,zl.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,zl.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,zl.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,zl.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,zl.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,zl.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,zl.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,zl.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var Kl=3;function Ql(t,e,r){1===t&&r.readMessage(tc,e)}function tc(t,e,r){if(3===t){var n=r.readMessage(ec,{}),i=n.id,a=n.bitmap,o=n.width,s=n.height,l=n.left,c=n.top,u=n.advance;e.push({id:i,bitmap:new Jo({width:o+2*Kl,height:s+2*Kl},a),metrics:{width:o,height:s,left:l,top:c,advance:u}})}}function ec(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}var rc=Kl;function nc(t){for(var e=0,r=0,n=0,i=t;n=0;f--){var p=o[f];if(!(h.w>p.w||h.h>p.h)){if(h.x=p.x,h.y=p.y,l=Math.max(l,h.y+h.h),s=Math.max(s,h.x+h.w),h.w===p.w&&h.h===p.h){var d=o.pop();f0&&B>A&&(A=B)}else{var N=r[S.fontStack],j=N&&N[C];if(j&&j.rect)P=j.rect,I=j.metrics;else{var U=e[S.fontStack],V=U&&U[C];if(!V)continue;I=V.metrics}L=(b-S.scale)*Cl}D?(t.verticalizable=!0,k.push({glyph:C,imageName:z,x:f,y:p+L,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:I,rect:P}),f+=O*S.scale+c):(k.push({glyph:C,imageName:z,x:f,y:p+L,vertical:D,scale:S.scale,fontStack:S.fontStack,sectionIndex:E,metrics:I,rect:P}),f+=I.advance*S.scale+c)}if(0!==k.length){var q=f-c;d=Math.max(q,d),wc(k,0,k.length-1,g,A)}f=0;var H=a*b+A;T.lineOffset=Math.max(A,w),p+=H,m=Math.max(H,m),++y}else p+=a,++y}var G=p-cc,Z=bc(o),W=Z.horizontalAlign,Y=Z.verticalAlign;(function(t,e,r,n,i,a,o,s,l){var c=(e-r)*i,u=0;u=a!==o?-s*n-cc:(-n*l+.5)*o;for(var h=0,f=t;h=0&&n>=t&&pc[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)},hc.prototype.substring=function(t,e){var r=new hc;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r},hc.prototype.toString=function(){return this.text},hc.prototype.getMaxScale=function(){var t=this;return this.sectionIndex.reduce((function(e,r){return Math.max(e,t.sections[r].scale)}),0)},hc.prototype.addTextSection=function(t,e){this.text+=t.text,this.sections.push(uc.forText(t.scale,t.fontStack||e));for(var r=this.sections.length-1,n=0;n=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)};var pc={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},dc={};function mc(t,e,r,n,i,a){if(e.imageName){var o=n[e.imageName];return o?o.displaySize[0]*e.scale*Cl/a+i:0}var s=r[e.fontStack],l=s&&s[t];return l?l.metrics.advance*e.scale+i:0}function gc(t,e,r,n){var i=Math.pow(t-e,2);return n?t=0,u=0,h=0;h-r/2;){if(--o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;for(var l=[],c=0;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=h.dist(f)}return!0}function Ic(t){for(var e=0,r=0;rc){var d=(c-l)/p,m=er(h.x,f.x,d),g=er(h.y,f.y,d),y=new kc(m,g,f.angleTo(h),u);return y._round(),!o||Lc(t,y,s,o,e)?y:void 0}l+=p}}function Dc(t,e,r,n,i,a,o,s,l){var c=Pc(n,a,o),u=zc(n,i),h=u*o,f=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&_=0&&b=0&&f+c<=u){var w=new kc(_,b,v,d);w._round(),n&&!Lc(t,w,a,n,i)||p.push(w)}}h+=y}return s||p.length||o||(p=Rc(t,h/2,r,n,i,a,o,!0,l)),p}function Fc(t,e,r,n,i){for(var o=[],s=0;s=n&&f.x>=n||(h.x>=n?h=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round():f.x>=n&&(f=new a(n,h.y+(f.y-h.y)*((n-h.x)/(f.x-h.x)))._round()),h.y>=i&&f.y>=i||(h.y>=i?h=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round():f.y>=i&&(f=new a(h.x+(f.x-h.x)*((i-h.y)/(f.y-h.y)),i)._round()),c&&h.equals(c[c.length-1])||(c=[h],o.push(c)),c.push(f)))))}return o}var Bc=ic;function Nc(t,e,r,n){var i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2*Bc,c=o.paddedRect.h-2*Bc,u=t.right-t.left,h=t.bottom-t.top,f=o.stretchX||[[0,l]],p=o.stretchY||[[0,c]],d=function(t,e){return t+e[1]-e[0]},m=f.reduce(d,0),g=p.reduce(d,0),y=l-m,v=c-g,x=0,_=m,b=0,w=g,T=0,k=y,A=0,M=v;if(o.content&&n){var S=o.content;x=jc(f,0,S[0]),b=jc(p,0,S[1]),_=jc(f,S[0],S[2]),w=jc(p,S[1],S[3]),T=S[0]-x,A=S[1]-b,k=S[2]-S[0]-_,M=S[3]-S[1]-w}var E=function(n,i,l,c){var f=Vc(n.stretch-x,_,u,t.left),p=qc(n.fixed-T,k,n.stretch,m),d=Vc(i.stretch-b,w,h,t.top),y=qc(i.fixed-A,M,i.stretch,g),v=Vc(l.stretch-x,_,u,t.left),S=qc(l.fixed-T,k,l.stretch,m),E=Vc(c.stretch-b,w,h,t.top),C=qc(c.fixed-A,M,c.stretch,g),L=new a(f,d),I=new a(v,d),P=new a(v,E),z=new a(f,E),O=new a(p/s,y/s),D=new a(S/s,C/s),R=e*Math.PI/180;if(R){var F=Math.sin(R),B=Math.cos(R),N=[B,-F,F,B];L._matMult(N),I._matMult(N),z._matMult(N),P._matMult(N)}var j=n.stretch+n.fixed,U=l.stretch+l.fixed,V=i.stretch+i.fixed,q=c.stretch+c.fixed;return{tl:L,tr:I,bl:z,br:P,tex:{x:o.paddedRect.x+Bc+j,y:o.paddedRect.y+Bc+V,w:U-j,h:q-V},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:O,pixelOffsetBR:D,minFontScaleX:k/s/u,minFontScaleY:M/s/h,isSDF:r}};if(n&&(o.stretchX||o.stretchY))for(var C=Uc(f,y,m),L=Uc(p,v,g),I=0;I0&&(d=Math.max(10,d),this.circleDiameter=d)}else{var m=o.top*s-l,g=o.bottom*s+l,y=o.left*s-l,v=o.right*s+l,x=o.collisionPadding;if(x&&(y-=x[0]*s,m-=x[1]*s,v+=x[2]*s,g+=x[3]*s),u){var _=new a(y,m),b=new a(v,m),w=new a(y,g),T=new a(v,g),k=u*Math.PI/180;_._rotate(k),b._rotate(k),w._rotate(k),T._rotate(k),y=Math.min(_.x,b.x,w.x,T.x),v=Math.max(_.x,b.x,w.x,T.x),m=Math.min(_.y,b.y,w.y,T.y),g=Math.max(_.y,b.y,w.y,T.y)}t.emplaceBack(e.x,e.y,y,m,v,g,r,n,i)}this.boxEndIndex=t.length},Gc=function(t,e){if(void 0===t&&(t=[]),void 0===e&&(e=Zc),this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(var r=(this.length>>1)-1;r>=0;r--)this._down(r)};function Zc(t,e){return te?1:0}function Wc(t,e,r){void 0===e&&(e=1),void 0===r&&(r=!1);for(var n=1/0,i=1/0,o=-1/0,s=-1/0,l=t[0],c=0;co)&&(o=u.x),(!c||u.y>s)&&(s=u.y)}var h=o-n,f=s-i,p=Math.min(h,f),d=p/2,m=new Gc([],Yc);if(0===p)return new a(n,i);for(var g=n;gv.d||!v.d)&&(v=_,r&&console.log("found best %d after %d probes",Math.round(1e4*_.d)/1e4,x)),_.max-v.d<=e||(d=_.h/2,m.push(new Xc(_.p.x-d,_.p.y-d,d,t)),m.push(new Xc(_.p.x+d,_.p.y-d,d,t)),m.push(new Xc(_.p.x-d,_.p.y+d,d,t)),m.push(new Xc(_.p.x+d,_.p.y+d,d,t)),x+=4)}return r&&(console.log("num probes: "+x),console.log("best distance: "+v.d)),v.p}function Yc(t,e){return e.max-t.max}function Xc(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){for(var r=!1,n=1/0,i=0;it.y!=u.y>t.y&&t.x<(u.x-c.x)*(t.y-c.y)/(u.y-c.y)+c.x&&(r=!r),n=Math.min(n,Eo(t,c,u))}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}Gc.prototype.push=function(t){this.data.push(t),this.length++,this._up(this.length-1)},Gc.prototype.pop=function(){if(0!==this.length){var t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}},Gc.prototype.peek=function(){return this.data[0]},Gc.prototype._up=function(t){for(var e=this.data,r=this.compare,n=e[t];t>0;){var i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n},Gc.prototype._down=function(t){for(var e=this.data,r=this.compare,n=this.length>>1,i=e[t];t=0)break;e[t]=o,t=a}e[t]=i};var $c=7,Jc=Number.POSITIVE_INFINITY;function Kc(t,e){return e[1]!==Jc?function(t,e,r){var n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-$c;break;case"bottom-right":case"bottom-left":case"bottom":i=-r+$c}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){var r=0,n=0;e<0&&(e=0);var i=e/Math.sqrt(2);switch(t){case"top-right":case"top-left":n=i-$c;break;case"bottom-right":case"bottom-left":n=-i+$c;break;case"bottom":n=-e+$c;break;case"top":n=e-$c}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function Qc(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}var tu=255,eu=tu*Ac;function ru(t,e,r,n,i,o,s,l,c,u,h,f,p,d,m){var g=function(t,e,r,n,i,o,s,l){for(var c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=[],h=0,f=e.positionedLines;heu&&k(t.layerIds[0]+': Value for "text-size" is >= '+tu+'. Reduce your "text-size".'):"composite"===y.kind&&((v=[Ac*d.compositeTextSizes[0].evaluate(s,{},m),Ac*d.compositeTextSizes[1].evaluate(s,{},m)])[0]>eu||v[1]>eu)&&k(t.layerIds[0]+': Value for "text-size" is >= '+tu+'. Reduce your "text-size".'),t.addSymbols(t.text,g,v,l,o,s,u,e,c.lineStartIndex,c.lineLength,p,m);for(var x=0,_=h;x<_.length;x+=1)f[_[x]]=t.text.placedSymbolArray.length-1;return 4*g.length}function nu(t){for(var e in t)return t[e];return null}function iu(t,e,r,n){var i=t.compareText;if(e in i){for(var a=i[e],o=a.length-1;o>=0;o--)if(n.dist(a[o])0)&&("constant"!==a.value.kind||a.value.value.length>0),c="constant"!==s.value.kind||!!s.value.value||Object.keys(s.parameters).length>0,u=i.get("symbol-sort-key");if(this.features=[],l||c){for(var h=e.iconDependencies,f=e.glyphDependencies,p=e.availableImages,d=new Oi(this.zoom),m=0,g=t;m=0;for(var z=0,O=k.sections;z=0;s--)a[s]={x:e[s].x,y:e[s].y,tileUnitDistanceFromAnchor:i},s>0&&(i+=e[s-1].dist(e[s]));for(var l=0;l0},fu.prototype.hasIconData=function(){return this.icon.segments.get().length>0},fu.prototype.hasDebugData=function(){return this.textCollisionBox&&this.iconCollisionBox},fu.prototype.hasTextCollisionBoxData=function(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0},fu.prototype.hasIconCollisionBoxData=function(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0},fu.prototype.addIndicesForPlacedSymbol=function(t,e){for(var r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs,i=r.vertexStartIndex;i1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(var r=0,n=this.symbolInstanceIndexes;r=0&&n.indexOf(t)===r&&e.addIndicesForPlacedSymbol(e.text,t)})),a.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,a.verticalPlacedTextSymbolIndex),a.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.placedIconSymbolIndex),a.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,a.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}},oi("SymbolBucket",fu,{omit:["layers","collisionBoxArray","features","compareText"]}),fu.MAX_GLYPHS=65535,fu.addDynamicAttributes=lu;var pu=new Yi({"symbol-placement":new qi(Ft.layout_symbol["symbol-placement"]),"symbol-spacing":new qi(Ft.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new qi(Ft.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Hi(Ft.layout_symbol["symbol-sort-key"]),"symbol-z-order":new qi(Ft.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new qi(Ft.layout_symbol["icon-allow-overlap"]),"icon-ignore-placement":new qi(Ft.layout_symbol["icon-ignore-placement"]),"icon-optional":new qi(Ft.layout_symbol["icon-optional"]),"icon-rotation-alignment":new qi(Ft.layout_symbol["icon-rotation-alignment"]),"icon-size":new Hi(Ft.layout_symbol["icon-size"]),"icon-text-fit":new qi(Ft.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new qi(Ft.layout_symbol["icon-text-fit-padding"]),"icon-image":new Hi(Ft.layout_symbol["icon-image"]),"icon-rotate":new Hi(Ft.layout_symbol["icon-rotate"]),"icon-padding":new qi(Ft.layout_symbol["icon-padding"]),"icon-keep-upright":new qi(Ft.layout_symbol["icon-keep-upright"]),"icon-offset":new Hi(Ft.layout_symbol["icon-offset"]),"icon-anchor":new Hi(Ft.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new qi(Ft.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new qi(Ft.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new qi(Ft.layout_symbol["text-rotation-alignment"]),"text-field":new Hi(Ft.layout_symbol["text-field"]),"text-font":new Hi(Ft.layout_symbol["text-font"]),"text-size":new Hi(Ft.layout_symbol["text-size"]),"text-max-width":new Hi(Ft.layout_symbol["text-max-width"]),"text-line-height":new qi(Ft.layout_symbol["text-line-height"]),"text-letter-spacing":new Hi(Ft.layout_symbol["text-letter-spacing"]),"text-justify":new Hi(Ft.layout_symbol["text-justify"]),"text-radial-offset":new Hi(Ft.layout_symbol["text-radial-offset"]),"text-variable-anchor":new qi(Ft.layout_symbol["text-variable-anchor"]),"text-anchor":new Hi(Ft.layout_symbol["text-anchor"]),"text-max-angle":new qi(Ft.layout_symbol["text-max-angle"]),"text-writing-mode":new qi(Ft.layout_symbol["text-writing-mode"]),"text-rotate":new Hi(Ft.layout_symbol["text-rotate"]),"text-padding":new qi(Ft.layout_symbol["text-padding"]),"text-keep-upright":new qi(Ft.layout_symbol["text-keep-upright"]),"text-transform":new Hi(Ft.layout_symbol["text-transform"]),"text-offset":new Hi(Ft.layout_symbol["text-offset"]),"text-allow-overlap":new qi(Ft.layout_symbol["text-allow-overlap"]),"text-ignore-placement":new qi(Ft.layout_symbol["text-ignore-placement"]),"text-optional":new qi(Ft.layout_symbol["text-optional"])}),du={paint:new Yi({"icon-opacity":new Hi(Ft.paint_symbol["icon-opacity"]),"icon-color":new Hi(Ft.paint_symbol["icon-color"]),"icon-halo-color":new Hi(Ft.paint_symbol["icon-halo-color"]),"icon-halo-width":new Hi(Ft.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Hi(Ft.paint_symbol["icon-halo-blur"]),"icon-translate":new qi(Ft.paint_symbol["icon-translate"]),"icon-translate-anchor":new qi(Ft.paint_symbol["icon-translate-anchor"]),"text-opacity":new Hi(Ft.paint_symbol["text-opacity"]),"text-color":new Hi(Ft.paint_symbol["text-color"],{runtimeType:Xt,getOverride:function(t){return t.textColor},hasOverride:function(t){return!!t.textColor}}),"text-halo-color":new Hi(Ft.paint_symbol["text-halo-color"]),"text-halo-width":new Hi(Ft.paint_symbol["text-halo-width"]),"text-halo-blur":new Hi(Ft.paint_symbol["text-halo-blur"]),"text-translate":new qi(Ft.paint_symbol["text-translate"]),"text-translate-anchor":new qi(Ft.paint_symbol["text-translate-anchor"])}),layout:pu},mu=function(t){this.type=t.property.overrides?t.property.overrides.runtimeType:Gt,this.defaultValue=t};mu.prototype.evaluate=function(t){if(t.formattedSection){var e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default},mu.prototype.eachChild=function(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)},mu.prototype.outputDefined=function(){return!1},mu.prototype.serialize=function(){return null},oi("FormatSectionOverride",mu,{omit:["defaultValue"]});var gu=function(t){function e(e){t.call(this,e,du)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.recalculate=function(e,r){if(t.prototype.recalculate.call(this,e,r),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){var n=this.layout.get("text-writing-mode");if(n){for(var i=[],a=0,o=n;a",targetMapId:n,sourceMapId:a.mapId})}}},Lu.prototype.receive=function(t){var e=t.data,r=e.id;if(r&&(!e.targetMapId||this.mapId===e.targetMapId))if(""===e.type){delete this.tasks[r];var n=this.cancelCallbacks[r];delete this.cancelCallbacks[r],n&&n()}else S()||e.mustQueue?(this.tasks[r]=e,this.taskQueue.push(r),this.invoker.trigger()):this.processTask(r,e)},Lu.prototype.process=function(){if(this.taskQueue.length){var t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length&&this.invoker.trigger(),e&&this.processTask(t,e)}},Lu.prototype.processTask=function(t,e){var r=this;if(""===e.type){var n=this.callbacks[t];delete this.callbacks[t],n&&(e.error?n(hi(e.error)):n(null,hi(e.data)))}else{var i=!1,a=L(this.globalScope)?void 0:[],o=e.hasCallback?function(e,n){i=!0,delete r.cancelCallbacks[t],r.target.postMessage({id:t,type:"",sourceMapId:r.mapId,error:e?ui(e):null,data:ui(n,a)},a)}:function(t){i=!0},s=null,l=hi(e.data);if(this.parent[e.type])s=this.parent[e.type](e.sourceMapId,l,o);else if(this.parent.getWorkerSource){var c=e.type.split(".");s=this.parent.getWorkerSource(e.sourceMapId,c[0],l.source)[c[1]](l,o)}else o(new Error("Could not find function "+e.type));!i&&s&&s.cancel&&(this.cancelCallbacks[t]=s.cancel)}},Lu.prototype.remove=function(){this.invoker.remove(),this.target.removeEventListener("message",this.receive,!1)};var Pu=function(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1]))};Pu.prototype.setNorthEast=function(t){return this._ne=t instanceof Ou?new Ou(t.lng,t.lat):Ou.convert(t),this},Pu.prototype.setSouthWest=function(t){return this._sw=t instanceof Ou?new Ou(t.lng,t.lat):Ou.convert(t),this},Pu.prototype.extend=function(t){var e,r,n=this._sw,i=this._ne;if(t instanceof Ou)e=t,r=t;else{if(!(t instanceof Pu)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){var a=t;return this.extend(Pu.convert(a))}var o=t;return this.extend(Ou.convert(o))}return this}if(e=t._sw,r=t._ne,!e||!r)return this}return n||i?(n.lng=Math.min(e.lng,n.lng),n.lat=Math.min(e.lat,n.lat),i.lng=Math.max(r.lng,i.lng),i.lat=Math.max(r.lat,i.lat)):(this._sw=new Ou(e.lng,e.lat),this._ne=new Ou(r.lng,r.lat)),this},Pu.prototype.getCenter=function(){return new Ou((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)},Pu.prototype.getSouthWest=function(){return this._sw},Pu.prototype.getNorthEast=function(){return this._ne},Pu.prototype.getNorthWest=function(){return new Ou(this.getWest(),this.getNorth())},Pu.prototype.getSouthEast=function(){return new Ou(this.getEast(),this.getSouth())},Pu.prototype.getWest=function(){return this._sw.lng},Pu.prototype.getSouth=function(){return this._sw.lat},Pu.prototype.getEast=function(){return this._ne.lng},Pu.prototype.getNorth=function(){return this._ne.lat},Pu.prototype.toArray=function(){return[this._sw.toArray(),this._ne.toArray()]},Pu.prototype.toString=function(){return"LngLatBounds("+this._sw.toString()+", "+this._ne.toString()+")"},Pu.prototype.isEmpty=function(){return!(this._sw&&this._ne)},Pu.prototype.contains=function(t){var e=Ou.convert(t),r=e.lng,n=e.lat,i=this._sw.lat<=n&&n<=this._ne.lat,a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a},Pu.convert=function(t){return!t||t instanceof Pu?t:new Pu(t)};var zu=6371008.8,Ou=function(t,e){if(isNaN(t)||isNaN(e))throw new Error("Invalid LngLat object: ("+t+", "+e+")");if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")};Ou.prototype.wrap=function(){return new Ou(f(this.lng,-180,180),this.lat)},Ou.prototype.toArray=function(){return[this.lng,this.lat]},Ou.prototype.toString=function(){return"LngLat("+this.lng+", "+this.lat+")"},Ou.prototype.distanceTo=function(t){var e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return zu*Math.acos(Math.min(i,1))},Ou.prototype.toBounds=function(t){void 0===t&&(t=0);var e=360*t/40075017,r=e/Math.cos(Math.PI/180*this.lat);return new Pu(new Ou(this.lng-r,this.lat-e),new Ou(this.lng+r,this.lat+e))},Ou.convert=function(t){if(t instanceof Ou)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Ou(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new Ou(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")};var Du=2*Math.PI*zu;function Ru(t){return Du*Math.cos(t*Math.PI/180)}function Fu(t){return(180+t)/360}function Bu(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Nu(t,e){return t/Ru(e)}function ju(t){var e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}var Uu=function(t,e,r){void 0===r&&(r=0),this.x=+t,this.y=+e,this.z=+r};Uu.fromLngLat=function(t,e){void 0===e&&(e=0);var r=Ou.convert(t);return new Uu(Fu(r.lng),Bu(r.lat),Nu(e,r.lat))},Uu.prototype.toLngLat=function(){return new Ou(360*this.x-180,ju(this.y))},Uu.prototype.toAltitude=function(){return t=this.z,e=this.y,t*Ru(ju(e));var t,e},Uu.prototype.meterInMercatorCoordinateUnits=function(){return 1/Du*(t=ju(this.y),1/Math.cos(t*Math.PI/180));var t};var Vu=function(t,e,r){this.z=t,this.x=e,this.y=r,this.key=Gu(0,t,t,e,r)};Vu.prototype.equals=function(t){return this.z===t.z&&this.x===t.x&&this.y===t.y},Vu.prototype.url=function(t,e){var r,n,i,a,o,s=(r=this.x,n=this.y,i=this.z,a=Iu(256*r,256*(n=Math.pow(2,i)-n-1),i),o=Iu(256*(r+1),256*(n+1),i),a[0]+","+a[1]+","+o[0]+","+o[1]),l=function(t,e,r){for(var n,i="",a=t;a>0;a--)i+=(e&(n=1<this.canonical.z?new Hu(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Hu(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)},Hu.prototype.calculateScaledKey=function(t,e){var r=this.canonical.z-t;return t>this.canonical.z?Gu(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Gu(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)},Hu.prototype.isChildOf=function(t){if(t.wrap!==this.wrap)return!1;var e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e},Hu.prototype.children=function(t){if(this.overscaledZ>=t)return[new Hu(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];var e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new Hu(e,this.wrap,e,r,n),new Hu(e,this.wrap,e,r+1,n),new Hu(e,this.wrap,e,r,n+1),new Hu(e,this.wrap,e,r+1,n+1)]},Hu.prototype.isLessThan=function(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.y=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)},Zu.prototype._unpackMapbox=function(t,e,r){return(256*t*256+256*e+r)/10-1e4},Zu.prototype._unpackTerrarium=function(t,e,r){return 256*t+e+r/256-32768},Zu.prototype.getPixels=function(){return new Ko({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))},Zu.prototype.backfillBorder=function(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");var n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}for(var s=-e*this.dim,l=-r*this.dim,c=a;c=0&&u[3]>=0&&s.insert(o,u[0],u[1],u[2],u[3])}},Ju.prototype.loadVTLayers=function(){return this.vtLayers||(this.vtLayers=new tl.VectorTile(new Pl(this.rawTileData)).layers,this.sourceLayerCoder=new Wu(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers},Ju.prototype.query=function(t,e,r,n){var i=this;this.loadVTLayers();for(var o=t.params||{},s=po/t.tileSize/t.scale,l=An(o.filter),c=t.queryGeometry,u=t.queryPadding*s,h=Qu(c),f=this.grid.query(h.minX-u,h.minY-u,h.maxX+u,h.maxY+u),p=Qu(t.cameraQueryGeometry),d=0,m=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,(function(e,r,n,i){return function(t,e,r,n,i){for(var o=0,s=t;o=l.x&&i>=l.y)return!0}var c=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(var u=0,h=c;u=0)return!0;return!1}(a,h)){var f=this.sourceLayerCoder.decode(r),d=this.vtLayers[f].feature(n);if(i.needGeometry){var m=vo(d,!0);if(!i.filter(new Oi(this.tileID.overscaledZ),m,this.tileID.canonical))return}else if(!i.filter(new Oi(this.tileID.overscaledZ),d))return;for(var g=this.getId(d,f),y=0;yn)i=!1;else if(e)if(this.expirationTimeft&&(t.getActor().send("enforceCacheSizeLimit",ht),xt=0)},t.clamp=h,t.clearTileCache=function(t){var e=s.caches.delete(ut);t&&e.catch(t).then((function(){return t()}))},t.clipLine=Fc,t.clone=function(t){var e=new Fo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.clone$1=w,t.clone$2=function(t){var e=new Fo(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},t.collisionCircleLayout=Ml,t.config=j,t.create=function(){var t=new Fo(16);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.create$1=function(){var t=new Fo(9);return Fo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t},t.create$2=function(){var t=new Fo(4);return Fo!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t},t.createCommonjsModule=e,t.createExpression=hn,t.createLayout=ta,t.createStyleLayer=function(t){return"custom"===t.type?new bu(t):new wu[t.type](t)},t.cross=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t},t.deepEqual=function t(e,r){if(Array.isArray(e)){if(!Array.isArray(r)||e.length!==r.length)return!1;for(var n=0;n0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},t.number=er,t.offscreenCanvasSupported=_t,t.ortho=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t},t.parseGlyphPBF=function(t){return new Pl(t).readFields(Ql,[])},t.pbf=Pl,t.performSymbolLayout=function(t,e,r,n,i,a,o){t.createArrays();var s=512*t.overscaling;t.tilePixelRatio=po/s,t.compareText={},t.iconsNeedLinear=!1;var l=t.layers[0].layout,c=t.layers[0]._unevaluatedLayout._values,u={};if("composite"===t.textSizeData.kind){var h=t.textSizeData,f=h.minZoom,p=h.maxZoom;u.compositeTextSizes=[c["text-size"].possiblyEvaluate(new Oi(f),o),c["text-size"].possiblyEvaluate(new Oi(p),o)]}if("composite"===t.iconSizeData.kind){var d=t.iconSizeData,m=d.minZoom,g=d.maxZoom;u.compositeIconSizes=[c["icon-size"].possiblyEvaluate(new Oi(m),o),c["icon-size"].possiblyEvaluate(new Oi(g),o)]}u.layoutTextSize=c["text-size"].possiblyEvaluate(new Oi(t.zoom+1),o),u.layoutIconSize=c["icon-size"].possiblyEvaluate(new Oi(t.zoom+1),o),u.textMaxSize=c["text-size"].possiblyEvaluate(new Oi(18));for(var y=l.get("text-line-height")*Cl,v="map"===l.get("text-rotation-alignment")&&"point"!==l.get("symbol-placement"),x=l.get("text-keep-upright"),_=l.get("text-size"),b=function(){var a=T[w],s=l.get("text-font").evaluate(a,{},o).join(","),c=_.evaluate(a,{},o),h=u.layoutTextSize.evaluate(a,{},o),f=u.layoutIconSize.evaluate(a,{},o),p={horizontal:{},vertical:void 0},d=a.text,m=[0,0];if(d){var g=d.toString(),b=l.get("text-letter-spacing").evaluate(a,{},o)*Cl,A=function(t){for(var e=0,r=t;e=po||h.y<0||h.y>=po||function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,A){var M,S,E,C,L,I=t.addToLineVertexArray(e,r),P=0,z=0,O=0,D=0,R=-1,F=-1,B={},N=ja(""),j=0,U=0;if(void 0===s._unevaluatedLayout.getValue("text-radial-offset")?(j=(M=s.layout.get("text-offset").evaluate(_,{},T).map((function(t){return t*Cl})))[0],U=M[1]):(j=s.layout.get("text-radial-offset").evaluate(_,{},T)*Cl,U=Jc),t.allowVerticalPlacement&&n.vertical){var V=s.layout.get("text-rotate").evaluate(_,{},T)+90,q=n.vertical;C=new Hc(l,e,c,u,h,q,f,p,d,V),o&&(L=new Hc(l,e,c,u,h,o,g,y,d,V))}if(i){var H=s.layout.get("icon-rotate").evaluate(_,{}),G="none"!==s.layout.get("icon-text-fit"),Z=Nc(i,H,w,G),W=o?Nc(o,H,w,G):void 0;E=new Hc(l,e,c,u,h,i,g,y,!1,H),P=4*Z.length;var Y=t.iconSizeData,X=null;"source"===Y.kind?(X=[Ac*s.layout.get("icon-size").evaluate(_,{})])[0]>eu&&k(t.layerIds[0]+': Value for "icon-size" is >= '+tu+'. Reduce your "icon-size".'):"composite"===Y.kind&&((X=[Ac*b.compositeIconSizes[0].evaluate(_,{},T),Ac*b.compositeIconSizes[1].evaluate(_,{},T)])[0]>eu||X[1]>eu)&&k(t.layerIds[0]+': Value for "icon-size" is >= '+tu+'. Reduce your "icon-size".'),t.addSymbols(t.icon,Z,X,x,v,_,!1,e,I.lineStartIndex,I.lineLength,-1,T),R=t.icon.placedSymbolArray.length-1,W&&(z=4*W.length,t.addSymbols(t.icon,W,X,x,v,_,lc.vertical,e,I.lineStartIndex,I.lineLength,-1,T),F=t.icon.placedSymbolArray.length-1)}for(var $ in n.horizontal){var J=n.horizontal[$];if(!S){N=ja(J.text);var K=s.layout.get("text-rotate").evaluate(_,{},T);S=new Hc(l,e,c,u,h,J,f,p,d,K)}var Q=1===J.positionedLines.length;if(O+=ru(t,e,J,a,s,d,_,m,I,n.vertical?lc.horizontal:lc.horizontalOnly,Q?Object.keys(n.horizontal):[$],B,R,b,T),Q)break}n.vertical&&(D+=ru(t,e,n.vertical,a,s,d,_,m,I,lc.vertical,["vertical"],B,F,b,T));var tt=S?S.boxStartIndex:t.collisionBoxArray.length,et=S?S.boxEndIndex:t.collisionBoxArray.length,rt=C?C.boxStartIndex:t.collisionBoxArray.length,nt=C?C.boxEndIndex:t.collisionBoxArray.length,it=E?E.boxStartIndex:t.collisionBoxArray.length,at=E?E.boxEndIndex:t.collisionBoxArray.length,ot=L?L.boxStartIndex:t.collisionBoxArray.length,st=L?L.boxEndIndex:t.collisionBoxArray.length,lt=-1,ct=function(t,e){return t&&t.circleDiameter?Math.max(t.circleDiameter,e):e};lt=ct(S,lt),lt=ct(C,lt),lt=ct(E,lt);var ut=(lt=ct(L,lt))>-1?1:0;ut&&(lt*=A/Cl),t.glyphOffsetArray.length>=fu.MAX_GLYPHS&&k("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==_.sortKey&&t.addToSortKeyRanges(t.symbolInstances.length,_.sortKey),t.symbolInstances.emplaceBack(e.x,e.y,B.right>=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,tt,et,rt,nt,it,at,ot,st,c,O,D,P,z,ut,0,f,j,U,lt)}(t,h,s,r,n,i,f,t.layers[0],t.collisionBoxArray,e.index,e.sourceLayerIndex,t.index,v,w,M,l,_,T,S,d,e,a,c,u,o)};if("line"===E)for(var P=0,z=Fc(e.geometry,0,0,po,po);P1){var U=Oc(j,A,r.vertical||m,n,g,x);U&&I(j,U)}}else if("Polygon"===e.type)for(var V=0,q=Fs(e.geometry,0);V=E.maxzoom||"none"!==E.visibility&&(o(S,this.zoom,n),(m[E.id]=E.createBucket({index:u.bucketLayerIDs.length,layers:S,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:_,sourceID:this.source})).populate(b,g,this.tileID.canonical),u.bucketLayerIDs.push(S.map((function(t){return t.id}))))}}}var C=t.mapObject(g.glyphDependencies,(function(t){return Object.keys(t).map(Number)}));Object.keys(C).length?a.send("getGlyphs",{uid:this.uid,stacks:C},(function(t,e){h||(h=t,f=e,P.call(l))})):f={};var L=Object.keys(g.iconDependencies);L.length?a.send("getImages",{icons:L,source:this.source,tileID:this.tileID,type:"icons"},(function(t,e){h||(h=t,p=e,P.call(l))})):p={};var I=Object.keys(g.patternDependencies);function P(){if(h)return s(h);if(f&&p&&d){var e=new i(f),r=new t.ImageAtlas(p,d);for(var a in m){var l=m[a];l instanceof t.SymbolBucket?(o(l.layers,this.zoom,n),t.performSymbolLayout(l,f,e.positions,p,r.iconPositions,this.showCollisionBoxes,this.tileID.canonical)):l.hasPattern&&(l instanceof t.LineBucket||l instanceof t.FillBucket||l instanceof t.FillExtrusionBucket)&&(o(l.layers,this.zoom,n),l.addFeatures(g,this.tileID.canonical,r.patternPositions))}this.status="done",s(null,{buckets:t.values(m).filter((function(t){return!t.isEmpty()})),featureIndex:u,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:e.image,imageAtlas:r,glyphMap:this.returnDependencies?f:null,iconMap:this.returnDependencies?p:null,glyphPositions:this.returnDependencies?e.positions:null})}}I.length?a.send("getImages",{icons:I,source:this.source,tileID:this.tileID,type:"patterns"},(function(t,e){h||(h=t,d=e,P.call(l))})):d={},P.call(this)};var l=function(t,e,r,n){this.actor=t,this.layerIndex=e,this.availableImages=r,this.loadVectorData=n||s,this.loading={},this.loaded={}};l.prototype.loadTile=function(e,r){var n=this,i=e.uid;this.loading||(this.loading={});var o=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.RequestPerformance(e.request),s=this.loading[i]=new a(e);s.abort=this.loadVectorData(e,(function(e,a){if(delete n.loading[i],e||!a)return s.status="done",n.loaded[i]=s,r(e);var l=a.rawData,c={};a.expires&&(c.expires=a.expires),a.cacheControl&&(c.cacheControl=a.cacheControl);var u={};if(o){var h=o.finish();h&&(u.resourceTiming=JSON.parse(JSON.stringify(h)))}s.vectorTile=a.vectorTile,s.parse(a.vectorTile,n.layerIndex,n.availableImages,n.actor,(function(e,n){if(e||!n)return r(e);r(null,t.extend({rawTileData:l.slice(0)},n,c,u))})),n.loaded=n.loaded||{},n.loaded[i]=s}))},l.prototype.reloadTile=function(t,e){var r=this,n=this.loaded,i=t.uid,a=this;if(n&&n[i]){var o=n[i];o.showCollisionBoxes=t.showCollisionBoxes;var s=function(t,n){var i=o.reloadCallback;i&&(delete o.reloadCallback,o.parse(o.vectorTile,a.layerIndex,r.availableImages,a.actor,i)),e(t,n)};"parsing"===o.status?o.reloadCallback=s:"done"===o.status&&(o.vectorTile?o.parse(o.vectorTile,this.layerIndex,this.availableImages,this.actor,s):s())}},l.prototype.abortTile=function(t,e){var r=this.loading,n=t.uid;r&&r[n]&&r[n].abort&&(r[n].abort(),delete r[n]),e()},l.prototype.removeTile=function(t,e){var r=this.loaded,n=t.uid;r&&r[n]&&delete r[n],e()};var c=t.window.ImageBitmap,u=function(){this.loaded={}};u.prototype.loadTile=function(e,r){var n=e.uid,i=e.encoding,a=e.rawImageData,o=c&&a instanceof c?this.getImageData(a):a,s=new t.DEMData(n,o,i);this.loaded=this.loaded||{},this.loaded[n]=s,r(null,s)},u.prototype.getImageData=function(e){this.offscreenCanvas&&this.offscreenCanvasContext||(this.offscreenCanvas=new OffscreenCanvas(e.width,e.height),this.offscreenCanvasContext=this.offscreenCanvas.getContext("2d")),this.offscreenCanvas.width=e.width,this.offscreenCanvas.height=e.height,this.offscreenCanvasContext.drawImage(e,0,0,e.width,e.height);var r=this.offscreenCanvasContext.getImageData(-1,-1,e.width+2,e.height+2);return this.offscreenCanvasContext.clearRect(0,0,this.offscreenCanvas.width,this.offscreenCanvas.height),new t.RGBAImage({width:r.width,height:r.height},r.data)},u.prototype.removeTile=function(t){var e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]};var h=function t(e,r){var n,i=e&&e.type;if("FeatureCollection"===i)for(n=0;n=0!=!!e&&t.reverse()}var d=t.vectorTile.VectorTileFeature.prototype.toGeoJSON,m=function(e){this._feature=e,this.extent=t.EXTENT,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))};m.prototype.loadGeometry=function(){if(1===this._feature.type){for(var e=[],r=0,n=this._feature.geometry;r>31}function I(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;s>1;O(t,e,o,n,i,a%2),z(t,e,r,n,o-1,a+1),z(t,e,r,o+1,i,a+1)}}function O(t,e,r,n,i,a){for(;i>n;){if(i-n>600){var o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);O(t,e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}var h=e[2*r+a],f=n,p=i;for(D(t,e,n,r),e[2*i+a]>h&&D(t,e,n,i);fh;)p--}e[2*n+a]===h?D(t,e,n,p):D(t,e,++p,i),p<=r&&(n=p+1),r<=p&&(i=p-1)}}function D(t,e,r,n){R(t,r,n),R(e,2*r,2*n),R(e,2*r+1,2*n+1)}function R(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function F(t,e,r,n){var i=t-r,a=e-n;return i*i+a*a}b.fromVectorTileJs=w,b.fromGeojsonVt=T,b.GeoJSONWrapper=k;var B=function(t){return t[0]},N=function(t){return t[1]},j=function(t,e,r,n,i){void 0===e&&(e=B),void 0===r&&(r=N),void 0===n&&(n=64),void 0===i&&(i=Float64Array),this.nodeSize=n,this.points=t;for(var a=t.length<65536?Uint16Array:Uint32Array,o=this.ids=new a(t.length),s=this.coords=new i(2*t.length),l=0;l=r&&s<=i&&l>=n&&l<=a&&u.push(t[d]);else{var m=Math.floor((p+f)/2);s=e[2*m],l=e[2*m+1],s>=r&&s<=i&&l>=n&&l<=a&&u.push(t[m]);var g=(h+1)%2;(0===h?r<=s:n<=l)&&(c.push(p),c.push(m-1),c.push(g)),(0===h?i>=s:a>=l)&&(c.push(m+1),c.push(f),c.push(g))}}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)},j.prototype.within=function(t,e,r){return function(t,e,r,n,i,a){for(var o=[0,t.length-1,0],s=[],l=i*i;o.length;){var c=o.pop(),u=o.pop(),h=o.pop();if(u-h<=a)for(var f=h;f<=u;f++)F(e[2*f],e[2*f+1],r,n)<=l&&s.push(t[f]);else{var p=Math.floor((h+u)/2),d=e[2*p],m=e[2*p+1];F(d,m,r,n)<=l&&s.push(t[p]);var g=(c+1)%2;(0===c?r-i<=d:n-i<=m)&&(o.push(h),o.push(p-1),o.push(g)),(0===c?r+i>=d:n+i>=m)&&(o.push(p+1),o.push(u),o.push(g))}}return s}(this.ids,this.coords,t,e,r,this.nodeSize)};var U={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:function(t){return t}},V=function(t){this.options=X(Object.create(U),t),this.trees=new Array(this.options.maxZoom+1)};function q(t,e,r,n,i){return{x:t,y:e,zoom:1/0,id:r,parentId:-1,numPoints:n,properties:i}}function H(t,e){var r=t.geometry.coordinates,n=r[0],i=r[1];return{x:W(n),y:Y(i),zoom:1/0,index:e,parentId:-1}}function G(t){return{type:"Feature",id:t.id,properties:Z(t),geometry:{type:"Point",coordinates:[(n=t.x,360*(n-.5)),(e=t.y,r=(180-360*e)*Math.PI/180,360*Math.atan(Math.exp(r))/Math.PI-90)]}};var e,r,n}function Z(t){var e=t.numPoints,r=e>=1e4?Math.round(e/1e3)+"k":e>=1e3?Math.round(e/100)/10+"k":e;return X(X({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function W(t){return t/360+.5}function Y(t){var e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function X(t,e){for(var r in e)t[r]=e[r];return t}function $(t){return t.x}function J(t){return t.y}function K(t,e,r,n){for(var i,a=n,o=r-e>>1,s=r-e,l=t[e],c=t[e+1],u=t[r],h=t[r+1],f=e+3;fa)i=f,a=p;else if(p===a){var d=Math.abs(f-o);dn&&(i-e>3&&K(t,e,i,n),t[i+2]=a,r-i>3&&K(t,i,r,n))}function Q(t,e,r,n,i,a){var o=i-r,s=a-n;if(0!==o||0!==s){var l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return(o=t-r)*o+(s=e-n)*s}function tt(t,e,r,n){var i={id:void 0===t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(t){var e=t.geometry,r=t.type;if("Point"===r||"MultiPoint"===r||"LineString"===r)et(t,e);else if("Polygon"===r||"MultiLineString"===r)for(var n=0;n0&&(o+=n?(i*c-l*a)/2:Math.sqrt(Math.pow(l-i,2)+Math.pow(c-a,2))),i=l,a=c}var u=e.length-3;e[2]=1,K(e,0,u,r),e[u+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function at(t,e,r,n){for(var i=0;i1?1:r}function lt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;for(var l=[],c=0;c=r&&d=n)){var m=[];if("Point"===f||"MultiPoint"===f)ct(h,m,r,n,i);else if("LineString"===f)ut(h,m,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===f)ft(h,m,r,n,i,!1);else if("Polygon"===f)ft(h,m,r,n,i,!0);else if("MultiPolygon"===f)for(var g=0;g=r&&o<=n&&(e.push(t[a]),e.push(t[a+1]),e.push(t[a+2]))}}function ut(t,e,r,n,i,a,o){for(var s,l,c=ht(t),u=0===i?dt:mt,h=t.start,f=0;fr&&(l=u(c,p,d,g,y,r),o&&(c.start=h+s*l)):v>n?x=r&&(l=u(c,p,d,g,y,r),_=!0),x>n&&v<=n&&(l=u(c,p,d,g,y,n),_=!0),!a&&_&&(o&&(c.end=h+s*l),e.push(c),c=ht(t)),o&&(h+=s)}var b=t.length-3;p=t[b],d=t[b+1],m=t[b+2],(v=0===i?p:d)>=r&&v<=n&&pt(c,p,d,m),b=c.length-3,a&&b>=3&&(c[b]!==c[0]||c[b+1]!==c[1])&&pt(c,c[0],c[1],c[2]),c.length&&e.push(c)}function ht(t){var e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function ft(t,e,r,n,i,a){for(var o=0;oo.maxX&&(o.maxX=u),h>o.maxY&&(o.maxY=h)}return o}function bt(t,e,r,n){var i=e.geometry,a=e.type,o=[];if("Point"===a||"MultiPoint"===a)for(var s=0;s0&&e.size<(i?o:n))r.numPoints+=e.length/3;else{for(var s=[],l=0;lo)&&(r.numSimplified++,s.push(e[l]),s.push(e[l+1])),r.numPoints++;i&&function(t,e){for(var r=0,n=0,i=t.length,a=i-2;n0===e)for(n=0,i=t.length;n24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");var n=function(t,e){var r=[];if("FeatureCollection"===t.type)for(var n=0;n=n;c--){var u=+Date.now();s=this._cluster(s,c),this.trees[c]=new j(s,$,J,a,Float32Array),r&&console.log("z%d: %d clusters in %dms",c,s.length,+Date.now()-u)}return r&&console.timeEnd("total time"),this},V.prototype.getClusters=function(t,e){var r=((t[0]+180)%360+360)%360-180,n=Math.max(-90,Math.min(90,t[1])),i=180===t[2]?180:((t[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){var o=this.getClusters([r,n,180,a],e),s=this.getClusters([-180,n,i,a],e);return o.concat(s)}for(var l=this.trees[this._limitZoom(e)],c=[],u=0,h=l.range(W(r),Y(a),W(i),Y(n));ue&&(d+=v.numPoints||1)}if(d>=s){for(var x=u.x*p,_=u.y*p,b=o&&p>1?this._map(u,!0):null,w=(c<<5)+(e+1)+this.points.length,T=0,k=f;T1)for(var E=0,C=f;E>5},V.prototype._getOriginZoom=function(t){return(t-this.points.length)%32},V.prototype._map=function(t,e){if(t.numPoints)return e?X({},t.properties):t.properties;var r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?X({},n):n},Tt.prototype.options={maxZoom:14,indexMaxZoom:5,indexMaxPoints:1e5,tolerance:3,extent:4096,buffer:64,lineMetrics:!1,promoteId:null,generateId:!1,debug:0},Tt.prototype.splitTile=function(t,e,r,n,i,a,o){for(var s=[t,e,r,n],l=this.options,c=l.debug;s.length;){n=s.pop(),r=s.pop(),e=s.pop(),t=s.pop();var u=1<1&&console.time("creation"),f=this.tiles[h]=_t(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));var p="z"+e;this.stats[p]=(this.stats[p]||0)+1,this.total++}if(f.source=t,i){if(e===l.maxZoom||e===i)continue;var d=1<1&&console.time("clipping");var m,g,y,v,x,_,b=.5*l.buffer/l.extent,w=.5-b,T=.5+b,k=1+b;m=g=y=v=null,x=lt(t,u,r-b,r+T,0,f.minX,f.maxX,l),_=lt(t,u,r+w,r+k,0,f.minX,f.maxX,l),t=null,x&&(m=lt(x,u,n-b,n+T,1,f.minY,f.maxY,l),g=lt(x,u,n+w,n+k,1,f.minY,f.maxY,l),x=null),_&&(y=lt(_,u,n-b,n+T,1,f.minY,f.maxY,l),v=lt(_,u,n+w,n+k,1,f.minY,f.maxY,l),_=null),c>1&&console.timeEnd("clipping"),s.push(m||[],e+1,2*r,2*n),s.push(g||[],e+1,2*r,2*n+1),s.push(y||[],e+1,2*r+1,2*n),s.push(v||[],e+1,2*r+1,2*n+1)}}},Tt.prototype.getTile=function(t,e,r){var n=this.options,i=n.extent,a=n.debug;if(t<0||t>24)return null;var o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);for(var l,c=t,u=e,h=r;!l&&c>0;)c--,u=Math.floor(u/2),h=Math.floor(h/2),l=this.tiles[kt(c,u,h)];return l&&l.source?(a>1&&console.log("found parent tile z%d-%d-%d",c,u,h),a>1&&console.time("drilling down"),this.splitTile(l.source,c,u,h,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?vt(this.tiles[s],i):null):null};var Mt=function(e){function r(t,r,n,i){e.call(this,t,r,n,At),i&&(this.loadGeoJSON=i)}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.loadData=function(t,e){this._pendingCallback&&this._pendingCallback(null,{abandoned:!0}),this._pendingCallback=e,this._pendingLoadDataParams=t,this._state&&"Idle"!==this._state?this._state="NeedsLoadData":(this._state="Coalescing",this._loadData())},r.prototype._loadData=function(){var e=this;if(this._pendingCallback&&this._pendingLoadDataParams){var r=this._pendingCallback,n=this._pendingLoadDataParams;delete this._pendingCallback,delete this._pendingLoadDataParams;var i=!!(n&&n.request&&n.request.collectResourceTiming)&&new t.RequestPerformance(n.request);this.loadGeoJSON(n,(function(a,o){if(a||!o)return r(a);if("object"!=typeof o)return r(new Error("Input data given to '"+n.source+"' is not a valid GeoJSON object."));h(o,!0);try{if(n.filter){var s=t.createExpression(n.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===s.result)throw new Error(s.value.map((function(t){return t.key+": "+t.message})).join(", "));var l=o.features.filter((function(t){return s.value.evaluate({zoom:0},t)}));o={type:"FeatureCollection",features:l}}e._geoJSONIndex=n.cluster?new V(function(e){var r=e.superclusterOptions,n=e.clusterProperties;if(!n||!r)return r;for(var i={},a={},o={accumulated:null,zoom:0},s={properties:null},l=Object.keys(n),c=0,u=l;c=0?0:e.button},r.remove=function(t){t.parentNode&&t.parentNode.removeChild(t)};var f=function(e){function r(){e.call(this),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new t.RGBAImage({width:1,height:1}),this.dirty=!0}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.isLoaded=function(){return this.loaded},r.prototype.setLoaded=function(t){if(this.loaded!==t&&(this.loaded=t,t)){for(var e=0,r=this.requestors;e=0?1.2:1))}function y(t,e,r,n,i,a,o){for(var s=0;s65535)e(new Error("glyphs > 65535 not supported"));else if(a.ranges[s])e(null,{stack:r,id:i,glyph:o});else{var l=a.requests[s];l||(l=a.requests[s]=[],x.loadGlyphRange(r,s,n.url,n.requestManager,(function(t,e){if(e){for(var r in e)n._doesCharSupportLocalGlyph(+r)||(a.glyphs[+r]=e[+r]);a.ranges[s]=!0}for(var i=0,o=l;i1&&(l=t[++s]);var u=Math.abs(c-l.left),h=Math.abs(c-l.right),f=Math.min(u,h),p=void 0,d=i/r*(n+1);if(l.isDash){var m=n-Math.abs(d);p=Math.sqrt(f*f+m*m)}else p=n-Math.sqrt(f*f+d*d);this.data[o+c]=Math.max(0,Math.min(255,p+128))}},k.prototype.addRegularDash=function(t){for(var e=t.length-1;e>=0;--e){var r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}var i=t[0],a=t[t.length-1];i.isDash===a.isDash&&(i.left=a.left-this.width,a.right=i.right+this.width);for(var o=this.width*this.nextRow,s=0,l=t[s],c=0;c1&&(l=t[++s]);var u=Math.abs(c-l.left),h=Math.abs(c-l.right),f=Math.min(u,h),p=l.isDash?f:-f;this.data[o+c]=Math.max(0,Math.min(255,p+128))}},k.prototype.addDash=function(e,r){var n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return t.warnOnce("LineAtlas out of space"),null;for(var a=0,o=0;o=n&&e.x=i&&e.y0&&(l[new t.OverscaledTileID(e.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,e.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new t.OverscaledTileID(e.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&(n.resourceTiming=e._resourceTiming,e._resourceTiming=[]),e.fire(new t.Event("data",n))}}))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setData=function(e){var r=this;return this._data=e,this.fire(new t.Event("dataloading",{dataType:"source"})),this._updateWorkerData((function(e){if(e)r.fire(new t.ErrorEvent(e));else{var n={dataType:"source",sourceDataType:"content"};r._collectResourceTiming&&r._resourceTiming&&r._resourceTiming.length>0&&(n.resourceTiming=r._resourceTiming,r._resourceTiming=[]),r.fire(new t.Event("data",n))}})),this},r.prototype.getClusterExpansionZoom=function(t,e){return this.actor.send("geojson.getClusterExpansionZoom",{clusterId:t,source:this.id},e),this},r.prototype.getClusterChildren=function(t,e){return this.actor.send("geojson.getClusterChildren",{clusterId:t,source:this.id},e),this},r.prototype.getClusterLeaves=function(t,e,r,n){return this.actor.send("geojson.getClusterLeaves",{source:this.id,clusterId:t,limit:e,offset:r},n),this},r.prototype._updateWorkerData=function(e){var r=this;this._loaded=!1;var n=t.extend({},this.workerOptions),i=this._data;"string"==typeof i?(n.request=this.map._requestManager.transformRequest(t.browser.resolveURL(i),t.ResourceType.Source),n.request.collectResourceTiming=this._collectResourceTiming):n.data=JSON.stringify(i),this.actor.send(this.type+".loadData",n,(function(t,i){r._removed||i&&i.abandoned||(r._loaded=!0,i&&i.resourceTiming&&i.resourceTiming[r.id]&&(r._resourceTiming=i.resourceTiming[r.id].slice(0)),r.actor.send(r.type+".coalesce",{source:n.source},null),e(t))}))},r.prototype.loaded=function(){return this._loaded},r.prototype.loadTile=function(e,r){var n=this,i=e.actor?"reloadTile":"loadTile";e.actor=this.actor;var a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:t.browser.devicePixelRatio,showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.request=this.actor.send(i,a,(function(t,a){return delete e.request,e.unloadVectorData(),e.aborted?r(null):t?r(t):(e.loadVectorData(a,n.map.painter,"reloadTile"===i),r(null))}))},r.prototype.abortTile=function(t){t.request&&(t.request.cancel(),delete t.request),t.aborted=!0},r.prototype.unloadTile=function(t){t.unloadVectorData(),this.actor.send("removeTile",{uid:t.uid,type:this.type,source:this.id})},r.prototype.onRemove=function(){this._removed=!0,this.actor.send("removeSource",{type:this.type,source:this.id})},r.prototype.serialize=function(){return t.extend({},this._options,{type:this.type,data:this._data})},r.prototype.hasTransition=function(){return!1},r}(t.Evented),P=t.createLayout([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]),z=function(e){function r(t,r,n,i){e.call(this),this.id=t,this.dispatcher=n,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(i),this.options=r}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(e,r){var n=this;this._loaded=!1,this.fire(new t.Event("dataloading",{dataType:"source"})),this.url=this.options.url,t.getImage(this.map._requestManager.transformRequest(this.url,t.ResourceType.Image),(function(i,a){n._loaded=!0,i?n.fire(new t.ErrorEvent(i)):a&&(n.image=a,e&&(n.coordinates=e),r&&r(),n._finishLoading())}))},r.prototype.loaded=function(){return this._loaded},r.prototype.updateImage=function(t){var e=this;return this.image&&t.url?(this.options.url=t.url,this.load(t.coordinates,(function(){e.texture=null})),this):this},r.prototype._finishLoading=function(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new t.Event("data",{dataType:"source",sourceDataType:"metadata"})))},r.prototype.onAdd=function(t){this.map=t,this.load()},r.prototype.setCoordinates=function(e){var r=this;this.coordinates=e;var n=e.map(t.MercatorCoordinate.fromLngLat);this.tileID=function(e){for(var r=1/0,n=1/0,i=-1/0,a=-1/0,o=0,s=e;or.end(0)?this.fire(new t.ErrorEvent(new t.ValidationError("sources."+this.id,null,"Playback for this video can be set only between the "+r.start(0)+" and "+r.end(0)+"-second mark."))):this.video.currentTime=e}},r.prototype.getVideo=function(){return this.video},r.prototype.onAdd=function(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))},r.prototype.prepare=function(){if(!(0===Object.keys(this.tiles).length||this.video.readyState<2)){var e=this.map.painter.context,r=e.gl;for(var n in this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new t.Texture(e,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE)),this.tiles){var i=this.tiles[n];"loaded"!==i.state&&(i.state="loaded",i.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"video",urls:this.urls,coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this.video&&!this.video.paused},r}(z),D=function(e){function r(r,n,i,a){e.call(this,r,n,i,a),n.coordinates?Array.isArray(n.coordinates)&&4===n.coordinates.length&&!n.coordinates.some((function(t){return!Array.isArray(t)||2!==t.length||t.some((function(t){return"number"!=typeof t}))}))||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "coordinates"'))),n.animate&&"boolean"!=typeof n.animate&&this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'optional "animate" property must be a boolean value'))),n.canvas?"string"==typeof n.canvas||n.canvas instanceof t.window.HTMLCanvasElement||this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new t.ErrorEvent(new t.ValidationError("sources."+r,null,'missing required property "canvas"'))),this.options=n,this.animate=void 0===n.animate||n.animate}return e&&(r.__proto__=e),r.prototype=Object.create(e&&e.prototype),r.prototype.constructor=r,r.prototype.load=function(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof t.window.HTMLCanvasElement?this.options.canvas:t.window.document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new t.ErrorEvent(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())},r.prototype.getCanvas=function(){return this.canvas},r.prototype.onAdd=function(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()},r.prototype.onRemove=function(){this.pause()},r.prototype.prepare=function(){var e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),!this._hasInvalidDimensions()&&0!==Object.keys(this.tiles).length){var r=this.map.painter.context,n=r.gl;for(var i in this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,P.members)),this.boundsSegments||(this.boundsSegments=t.SegmentVector.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new t.Texture(r,this.canvas,n.RGBA,{premultiply:!0}),this.tiles){var a=this.tiles[i];"loaded"!==a.state&&(a.state="loaded",a.texture=this.texture)}}},r.prototype.serialize=function(){return{type:"canvas",coordinates:this.coordinates}},r.prototype.hasTransition=function(){return this._playing},r.prototype._hasInvalidDimensions=function(){for(var t=0,e=[this.canvas.width,this.canvas.height];tthis.max){var o=this._getAndRemoveByKey(this.order[0]);o&&this.onRemove(o)}return this},j.prototype.has=function(t){return t.wrapped().key in this.data},j.prototype.getAndRemove=function(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null},j.prototype._getAndRemoveByKey=function(t){var e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value},j.prototype.getByKey=function(t){var e=this.data[t];return e?e[0].value:null},j.prototype.get=function(t){return this.has(t)?this.data[t.wrapped().key][0].value:null},j.prototype.remove=function(t,e){if(!this.has(t))return this;var r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this},j.prototype.setMaxSize=function(t){for(this.max=t;this.order.length>this.max;){var e=this._getAndRemoveByKey(this.order[0]);e&&this.onRemove(e)}return this},j.prototype.filter=function(t){var e=[];for(var r in this.data)for(var n=0,i=this.data[r];n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}},r.prototype.getTile=function(t){return this.getTileByID(t.key)},r.prototype.getTileByID=function(t){return this._tiles[t]},r.prototype._retainLoadedChildren=function(t,e,r,n){for(var i in this._tiles){var a=this._tiles[i];if(!(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)){for(var o=a.tileID;a&&a.tileID.overscaledZ>e+1;){var s=a.tileID.scaledTo(a.tileID.overscaledZ-1);(a=this._tiles[s.key])&&a.hasData()&&(o=s)}for(var l=o;l.overscaledZ>e;)if(t[(l=l.scaledTo(l.overscaledZ-1)).key]){n[o.key]=o;break}}}},r.prototype.findLoadedParent=function(t,e){if(t.key in this._loadedParentTiles){var r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(var n=t.overscaledZ-1;n>=e;n--){var i=t.scaledTo(n),a=this._getLoadedTile(i);if(a)return a}},r.prototype._getLoadedTile=function(t){var e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)},r.prototype.updateCacheSize=function(t){var e=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),r=Math.floor(5*e),n="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,r):r;this._cache.setMaxSize(n)},r.prototype.handleWrapJump=function(t){var e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){var n={};for(var i in this._tiles){var a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+r),n[a.tileID.key]=a}for(var o in this._tiles=n,this._timers)clearTimeout(this._timers[o]),delete this._timers[o];for(var s in this._tiles){var l=this._tiles[s];this._setTileReloadTimer(s,l)}}},r.prototype.update=function(e){var n=this;if(this.transform=e,this._sourceLoaded&&!this._paused){var i;this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used?this._source.tileID?i=e.getVisibleUnwrappedCoordinates(this._source.tileID).map((function(e){return new t.OverscaledTileID(e.canonical.z,e.wrap,e.canonical.z,e.canonical.x,e.canonical.y)})):(i=e.coveringTiles({tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled}),this._source.hasTile&&(i=i.filter((function(t){return n._source.hasTile(t)})))):i=[];var a=e.coveringZoomLevel(this._source),o=Math.max(a-r.maxOverzooming,this._source.minzoom),s=Math.max(a+r.maxUnderzooming,this._source.minzoom),l=this._updateRetainedTiles(i,a);if(Ot(this._source.type)){for(var c={},u={},h=0,f=Object.keys(l);hthis._source.maxzoom){var g=d.children(this._source.maxzoom)[0],y=this.getTile(g);if(y&&y.hasData()){n[g.key]=g;continue}}else{var v=d.children(this._source.maxzoom);if(n[v[0].key]&&n[v[1].key]&&n[v[2].key]&&n[v[3].key])continue}for(var x=m.wasRequested(),_=d.overscaledZ-1;_>=a;--_){var b=d.scaledTo(_);if(i[b.key])break;if(i[b.key]=!0,!(m=this.getTile(b))&&x&&(m=this._addTile(b)),m&&(n[b.key]=b,x=m.wasRequested(),m.hasData()))break}}}return n},r.prototype._updateLoadedParentTileCache=function(){for(var t in this._loadedParentTiles={},this._tiles){for(var e=[],r=void 0,n=this._tiles[t].tileID;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);var i=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(i))break;n=i}for(var a=0,o=e;a0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))},r.prototype.clearTiles=function(){for(var t in this._shouldReloadOnResume=!1,this._paused=!1,this._tiles)this._removeTile(t);this._cache.reset()},r.prototype.tilesIn=function(e,r,n){var i=this,a=[],o=this.transform;if(!o)return a;for(var s=n?o.getCameraQueryGeometry(e):e,l=e.map((function(t){return o.pointCoordinate(t)})),c=s.map((function(t){return o.pointCoordinate(t)})),u=this.getIds(),h=1/0,f=1/0,p=-1/0,d=-1/0,m=0,g=c;m=0&&y[1].y+g>=0){var v=l.map((function(t){return s.getTilePoint(t)})),x=c.map((function(t){return s.getTilePoint(t)}));a.push({tile:n,tileID:s,queryGeometry:v,cameraQueryGeometry:x,scale:m})}}},x=0;x=t.browser.now())return!0}return!1},r.prototype.setFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)},r.prototype.removeFeatureState=function(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)},r.prototype.getFeatureState=function(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)},r.prototype.setDependencies=function(t,e,r){var n=this._tiles[t];n&&n.setDependencies(e,r)},r.prototype.reloadTilesForDependencies=function(t,e){for(var r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((function(r){return!r.hasDependency(t,e)}))},r}(t.Evented);function zt(t,e){var r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function Ot(t){return"raster"===t||"image"===t||"video"===t}function Dt(){return new t.window.Worker(oa.workerUrl)}Pt.maxOverzooming=10,Pt.maxUnderzooming=3;var Rt="mapboxgl_preloaded_worker_pool",Ft=function(){this.active={}};Ft.prototype.acquire=function(t){if(!this.workers)for(this.workers=[];this.workers.length0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))};var Qt=function(t,e,r){var n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(var a=0;a=-e[0]&&r<=e[0]&&n>=-e[1]&&n<=e[1]}function ae(e,r,n,i,a,o,s,l){var c=i?e.textSizeData:e.iconSizeData,u=t.evaluateSizeForZoom(c,n.transform.zoom),h=[256/n.width*2+1,256/n.height*2+1],f=i?e.text.dynamicLayoutVertexArray:e.icon.dynamicLayoutVertexArray;f.clear();for(var p=e.lineVertexArray,d=i?e.text.placedSymbolArray:e.icon.placedSymbolArray,m=n.transform.width/n.transform.height,g=!1,y=0;yMath.abs(n.x-r.x)*i?{useVertical:!0}:(e===t.WritingMode.vertical?r.yn.x)?{needsFlipping:!0}:null}function le(e,r,n,i,a,o,s,l,c,u,h,f,p,d){var m,g=r/24,y=e.lineOffsetX*g,v=e.lineOffsetY*g;if(e.numGlyphs>1){var x=e.glyphStartIndex+e.numGlyphs,_=e.lineStartIndex,b=e.lineStartIndex+e.lineLength,w=oe(g,l,y,v,n,h,f,e,c,o,p);if(!w)return{notEnoughRoom:!0};var T=re(w.first.point,s).point,k=re(w.last.point,s).point;if(i&&!n){var A=se(e.writingMode,T,k,d);if(A)return A}m=[w.first];for(var M=e.glyphStartIndex+1;M0?L.point:ce(f,C,S,1,a),P=se(e.writingMode,S,I,d);if(P)return P}var z=ue(g*l.getoffsetX(e.glyphStartIndex),y,v,n,h,f,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,c,o,p);if(!z)return{notEnoughRoom:!0};m=[z]}for(var O=0,D=m;O0?1:-1,m=0;i&&(d*=-1,m=Math.PI),d<0&&(m+=Math.PI);for(var g=d>0?l+s:l+s+1,y=a,v=a,x=0,_=0,b=Math.abs(p),w=[];x+_<=b;){if((g+=d)=c)return null;if(v=y,w.push(y),void 0===(y=f[g])){var T=new t.Point(u.getx(g),u.gety(g)),k=re(T,h);if(k.signedDistanceFromCamera>0)y=f[g]=k.point;else{var A=g-d;y=ce(0===x?o:new t.Point(u.getx(A),u.gety(A)),T,v,b-x+1,h)}}x+=_,_=v.dist(y)}var M=(b-x)/_,S=y.sub(v),E=S.mult(M)._add(v);E._add(S._unit()._perp()._mult(n*d));var C=m+Math.atan2(y.y-v.y,y.x-v.x);return w.push(E),{point:E,angle:C,path:w}}Qt.prototype.keysLength=function(){return this.boxKeys.length+this.circleKeys.length},Qt.prototype.insert=function(t,e,r,n,i){this._forEachCell(e,r,n,i,this._insertBoxCell,this.boxUid++),this.boxKeys.push(t),this.bboxes.push(e),this.bboxes.push(r),this.bboxes.push(n),this.bboxes.push(i)},Qt.prototype.insertCircle=function(t,e,r,n){this._forEachCell(e-n,r-n,e+n,r+n,this._insertCircleCell,this.circleUid++),this.circleKeys.push(t),this.circles.push(e),this.circles.push(r),this.circles.push(n)},Qt.prototype._insertBoxCell=function(t,e,r,n,i,a){this.boxCells[i].push(a)},Qt.prototype._insertCircleCell=function(t,e,r,n,i,a){this.circleCells[i].push(a)},Qt.prototype._query=function(t,e,r,n,i,a){if(r<0||t>this.width||n<0||e>this.height)return!i&&[];var o=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return!0;for(var s=0;s0:o},Qt.prototype._queryCircle=function(t,e,r,n,i){var a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!n&&[];var c=[],u={hitTest:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,c,u,i),n?c.length>0:c},Qt.prototype.query=function(t,e,r,n,i){return this._query(t,e,r,n,!1,i)},Qt.prototype.hitTest=function(t,e,r,n,i){return this._query(t,e,r,n,!0,i)},Qt.prototype.hitTestCircle=function(t,e,r,n){return this._queryCircle(t,e,r,!0,n)},Qt.prototype._queryCell=function(t,e,r,n,i,a,o,s){var l=o.seenUids,c=this.boxCells[i];if(null!==c)for(var u=this.bboxes,h=0,f=c;h=u[d+0]&&n>=u[d+1]&&(!s||s(this.boxKeys[p]))){if(o.hitTest)return a.push(!0),!0;a.push({key:this.boxKeys[p],x1:u[d],y1:u[d+1],x2:u[d+2],y2:u[d+3]})}}}var m=this.circleCells[i];if(null!==m)for(var g=this.circles,y=0,v=m;yo*o+s*s},Qt.prototype._circleAndRectCollide=function(t,e,r,n,i,a,o){var s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;var c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;var h=l-s,f=u-c;return h*h+f*f<=r*r};var he=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function fe(t,e){for(var r=0;r=1;I--)L.push(E.path[I]);for(var P=1;P0){for(var R=L[0].clone(),F=L[0].clone(),B=1;B=A.x&&F.x<=M.x&&R.y>=A.y&&F.y<=M.y?[L]:F.xM.x||F.yM.y?[]:t.clipLine([L],A.x,A.y,M.x,M.y)}for(var N=0,j=D;N=this.screenRightBoundary||nthis.screenBottomBoundary},me.prototype.isInsideGrid=function(t,e,r,n){return r>=0&&t=0&&e0?(this.prevPlacement&&this.prevPlacement.variableOffsets[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID]&&this.prevPlacement.placements[h.crossTileID].text&&(m=this.prevPlacement.variableOffsets[h.crossTileID].anchor),this.variableOffsets[h.crossTileID]={textOffset:g,width:r,height:n,anchor:t,textBoxScale:i,prevAnchor:m},this.markUsedJustification(f,t,h,p),f.allowVerticalPlacement&&(this.markUsedOrientation(f,p,h),this.placedOrientations[h.crossTileID]=p),{shift:y,placedGlyphBoxes:v}):void 0},Ae.prototype.placeLayerBucketPart=function(e,r,n){var i=this,a=e.parameters,o=a.bucket,s=a.layout,l=a.posMatrix,c=a.textLabelPlaneMatrix,u=a.labelToScreenMatrix,h=a.textPixelRatio,f=a.holdingForFade,p=a.collisionBoxArray,d=a.partiallyEvaluatedTextSize,m=a.collisionGroup,g=s.get("text-optional"),y=s.get("icon-optional"),v=s.get("text-allow-overlap"),x=s.get("icon-allow-overlap"),_="map"===s.get("text-rotation-alignment"),b="map"===s.get("text-pitch-alignment"),w="none"!==s.get("icon-text-fit"),T="viewport-y"===s.get("symbol-z-order"),k=v&&(x||!o.hasIconData()||y),A=x&&(v||!o.hasTextData()||g);!o.collisionArrays&&p&&o.deserializeCollisionBoxes(p);var M=function(e,a){if(!r[e.crossTileID])if(f)i.placements[e.crossTileID]=new xe(!1,!1,!1);else{var p,T=!1,M=!1,S=!0,E=null,C={box:null,offscreen:null},L={box:null,offscreen:null},I=null,P=null,z=0,O=0,D=0;a.textFeatureIndex?z=a.textFeatureIndex:e.useRuntimeCollisionCircles&&(z=e.featureIndex),a.verticalTextFeatureIndex&&(O=a.verticalTextFeatureIndex);var R=a.textBox;if(R){var F=function(r){var n=t.WritingMode.horizontal;if(o.allowVerticalPlacement&&!r&&i.prevPlacement){var a=i.prevPlacement.placedOrientations[e.crossTileID];a&&(i.placedOrientations[e.crossTileID]=a,n=a,i.markUsedOrientation(o,n,e))}return n},B=function(r,n){if(o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&a.verticalTextBox)for(var i=0,s=o.writingModes;i0&&(N=N.filter((function(t){return t!==j.anchor}))).unshift(j.anchor)}var U=function(t,r,n){for(var a=t.x2-t.x1,s=t.y2-t.y1,c=e.textBoxScale,u=w&&!x?r:null,f={box:[],offscreen:!1},p=v?2*N.length:N.length,d=0;d=N.length,k=i.attemptAnchorPlacement(g,t,a,s,c,_,b,h,l,m,y,e,o,n,u);if(k&&(f=k.placedGlyphBoxes)&&f.box&&f.box.length){T=!0,E=k.shift;break}}return f};B((function(){return U(R,a.iconBox,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox,n=C&&C.box&&C.box.length;return o.allowVerticalPlacement&&!n&&e.numVerticalGlyphVertices>0&&r?U(r,a.verticalIconBox,t.WritingMode.vertical):{box:null,offscreen:null}})),C&&(T=C.box,S=C.offscreen);var V=F(C&&C.box);if(!T&&i.prevPlacement){var q=i.prevPlacement.variableOffsets[e.crossTileID];q&&(i.variableOffsets[e.crossTileID]=q,i.markUsedJustification(o,q.anchor,e,V))}}else{var H=function(t,r){var n=i.collisionIndex.placeCollisionBox(t,v,h,l,m.predicate);return n&&n.box&&n.box.length&&(i.markUsedOrientation(o,r,e),i.placedOrientations[e.crossTileID]=r),n};B((function(){return H(R,t.WritingMode.horizontal)}),(function(){var r=a.verticalTextBox;return o.allowVerticalPlacement&&e.numVerticalGlyphVertices>0&&r?H(r,t.WritingMode.vertical):{box:null,offscreen:null}})),F(C&&C.box&&C.box.length)}}if(T=(p=C)&&p.box&&p.box.length>0,S=p&&p.offscreen,e.useRuntimeCollisionCircles){var G=o.text.placedSymbolArray.get(e.centerJustifiedTextSymbolIndex),Z=t.evaluateSizeForFeature(o.textSizeData,d,G),W=s.get("text-padding"),Y=e.collisionCircleDiameter;I=i.collisionIndex.placeCollisionCircles(v,G,o.lineVertexArray,o.glyphOffsetArray,Z,l,c,u,n,b,m.predicate,Y,W),T=v||I.circles.length>0&&!I.collisionDetected,S=S&&I.offscreen}if(a.iconFeatureIndex&&(D=a.iconFeatureIndex),a.iconBox){var X=function(t){var e=w&&E?ke(t,E.x,E.y,_,b,i.transform.angle):t;return i.collisionIndex.placeCollisionBox(e,x,h,l,m.predicate)};M=L&&L.box&&L.box.length&&a.verticalIconBox?(P=X(a.verticalIconBox)).box.length>0:(P=X(a.iconBox)).box.length>0,S=S&&P.offscreen}var $=g||0===e.numHorizontalGlyphVertices&&0===e.numVerticalGlyphVertices,J=y||0===e.numIconVertices;if($||J?J?$||(M=M&&T):T=M&&T:M=T=M&&T,T&&p&&p.box&&(L&&L.box&&O?i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,O,m.ID):i.collisionIndex.insertCollisionBox(p.box,s.get("text-ignore-placement"),o.bucketInstanceId,z,m.ID)),M&&P&&i.collisionIndex.insertCollisionBox(P.box,s.get("icon-ignore-placement"),o.bucketInstanceId,D,m.ID),I&&(T&&i.collisionIndex.insertCollisionCircles(I.circles,s.get("text-ignore-placement"),o.bucketInstanceId,z,m.ID),n)){var K=o.bucketInstanceId,Q=i.collisionCircleArrays[K];void 0===Q&&(Q=i.collisionCircleArrays[K]=new _e);for(var tt=0;tt=0;--E){var C=S[E];M(o.symbolInstances.get(C),o.collisionArrays[C])}else for(var L=e.symbolInstanceStart;L=0&&(e.text.placedSymbolArray.get(c).crossTileID=a>=0&&c!==a?0:n.crossTileID)}},Ae.prototype.markUsedOrientation=function(e,r,n){for(var i=r===t.WritingMode.horizontal||r===t.WritingMode.horizontalOnly?r:0,a=r===t.WritingMode.vertical?r:0,o=0,s=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];o0||l>0,x=a.numIconVertices>0,_=i.placedOrientations[a.crossTileID],b=_===t.WritingMode.vertical,w=_===t.WritingMode.horizontal||_===t.WritingMode.horizontalOnly;if(v){var T=Oe(y.text),k=b?De:T;d(e.text,s,k);var A=w?De:T;d(e.text,l,A);var M=y.text.isHidden();[a.rightJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.leftJustifiedTextSymbolIndex].forEach((function(t){t>=0&&(e.text.placedSymbolArray.get(t).hidden=M||b?1:0)})),a.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).hidden=M||w?1:0);var S=i.variableOffsets[a.crossTileID];S&&i.markUsedJustification(e,S.anchor,a,_);var E=i.placedOrientations[a.crossTileID];E&&(i.markUsedJustification(e,"left",a,E),i.markUsedOrientation(e,E,a))}if(x){var C=Oe(y.icon),L=!(f&&a.verticalPlacedIconSymbolIndex&&b);if(a.placedIconSymbolIndex>=0){var I=L?C:De;d(e.icon,a.numIconVertices,I),e.icon.placedSymbolArray.get(a.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(a.verticalPlacedIconSymbolIndex>=0){var P=L?De:C;d(e.icon,a.numVerticalIconVertices,P),e.icon.placedSymbolArray.get(a.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){var z=e.collisionArrays[n];if(z){var O=new t.Point(0,0);if(z.textBox||z.verticalTextBox){var D=!0;if(c){var R=i.variableOffsets[m];R?(O=Te(R.anchor,R.width,R.height,R.textOffset,R.textBoxScale),u&&O._rotate(h?i.transform.angle:-i.transform.angle)):D=!1}z.textBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!D||b,O.x,O.y),z.verticalTextBox&&Me(e.textCollisionBox.collisionVertexArray,y.text.placed,!D||w,O.x,O.y)}var F=Boolean(!w&&z.verticalIconBox);z.iconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,F,f?O.x:0,f?O.y:0),z.verticalIconBox&&Me(e.iconCollisionBox.collisionVertexArray,y.icon.placed,!F,f?O.x:0,f?O.y:0)}}},g=0;gt},Ae.prototype.setStale=function(){this.stale=!0};var Se=Math.pow(2,25),Ee=Math.pow(2,24),Ce=Math.pow(2,17),Le=Math.pow(2,16),Ie=Math.pow(2,9),Pe=Math.pow(2,8),ze=Math.pow(2,1);function Oe(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;var e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Se+e*Ee+r*Ce+e*Le+r*Ie+e*Pe+r*ze+e}var De=0,Re=function(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&void 0!==t.layout.get("symbol-sort-key").constantOr(1),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]};Re.prototype.continuePlacement=function(t,e,r,n,i){for(var a=this._bucketParts;this._currentTileIndex2};this._currentPlacementIndex>=0;){var s=r[e[this._currentPlacementIndex]],l=this.placement.collisionIndex.transform.zoom;if("symbol"===s.type&&(!s.minzoom||s.minzoom<=l)&&(!s.maxzoom||s.maxzoom>l)){if(this._inProgressLayer||(this._inProgressLayer=new Re(s)),this._inProgressLayer.continuePlacement(n[s.source],this.placement,this._showCollisionBoxes,s,o))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0},Fe.prototype.commit=function(t){return this.placement.commit(t),this.placement};var Be=512/t.EXTENT/2,Ne=function(t,e,r){this.tileID=t,this.indexedSymbolInstances={},this.bucketInstanceId=r;for(var n=0;nt.overscaledZ)for(var s in o){var l=o[s];l.tileID.isChildOf(t)&&l.findMatches(e.symbolInstances,t,i)}else{var c=o[t.scaledTo(Number(a)).key];c&&c.findMatches(e.symbolInstances,t,i)}}for(var u=0;u1?"@2x":"",l=t.getJSON(r.transformRequest(r.normalizeSpriteURL(e,s,".json"),t.ResourceType.SpriteJSON),(function(t,e){l=null,o||(o=t,i=e,u())})),c=t.getImage(r.transformRequest(r.normalizeSpriteURL(e,s,".png"),t.ResourceType.SpriteImage),(function(t,e){c=null,o||(o=t,a=e,u())}));function u(){if(o)n(o);else if(i&&a){var e=t.browser.getImageData(a),r={};for(var s in i){var l=i[s],c=l.width,u=l.height,h=l.x,f=l.y,p=l.sdf,d=l.pixelRatio,m=l.stretchX,g=l.stretchY,y=l.content,v=new t.RGBAImage({width:c,height:u});t.RGBAImage.copy(e,v,{x:h,y:f},{x:0,y:0},{width:c,height:u}),r[s]={data:v,pixelRatio:d,sdf:p,stretchX:m,stretchY:g,content:y}}n(null,r)}}return{cancel:function(){l&&(l.cancel(),l=null),c&&(c.cancel(),c=null)}}}(e,this.map._requestManager,(function(e,n){if(r._spriteRequest=null,e)r.fire(new t.ErrorEvent(e));else if(n)for(var i in n)r.imageManager.addImage(i,n[i]);r.imageManager.setLoaded(!0),r._availableImages=r.imageManager.listImages(),r.dispatcher.broadcast("setImages",r._availableImages),r.fire(new t.Event("data",{dataType:"style"}))}))},r.prototype._validateLayer=function(e){var r=this.sourceCaches[e.source];if(r){var n=e.sourceLayer;if(n){var i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new t.ErrorEvent(new Error('Source layer "'+n+'" does not exist on source "'+i.id+'" as specified by style layer "'+e.id+'"')))}}},r.prototype.loaded=function(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(var t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()},r.prototype._serializeLayers=function(t){for(var e=[],r=0,n=t;r0)throw new Error("Unimplemented: "+i.map((function(t){return t.command})).join(", ")+".");return n.forEach((function(t){"setTransition"!==t.command&&r[t.command].apply(r,t.args)})),this.stylesheet=e,!0},r.prototype.addImage=function(e,r){if(this.getImage(e))return this.fire(new t.ErrorEvent(new Error("An image with this name already exists.")));this.imageManager.addImage(e,r),this._afterImageUpdated(e)},r.prototype.updateImage=function(t,e){this.imageManager.updateImage(t,e)},r.prototype.getImage=function(t){return this.imageManager.getImage(t)},r.prototype.removeImage=function(e){if(!this.getImage(e))return this.fire(new t.ErrorEvent(new Error("No image with this name exists.")));this.imageManager.removeImage(e),this._afterImageUpdated(e)},r.prototype._afterImageUpdated=function(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("setImages",this._availableImages),this.fire(new t.Event("data",{dataType:"style"}))},r.prototype.listImages=function(){return this._checkLoaded(),this.imageManager.listImages()},r.prototype.addSource=function(e,r,n){var i=this;if(void 0===n&&(n={}),this._checkLoaded(),void 0!==this.sourceCaches[e])throw new Error("There is already a source with this ID");if(!r.type)throw new Error("The type property must be defined, but only the following properties were given: "+Object.keys(r).join(", ")+".");if(!(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(t.validateStyle.source,"sources."+e,r,null,n))){this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);var a=this.sourceCaches[e]=new Pt(e,r,this.dispatcher);a.style=this,a.setEventedParent(this,(function(){return{isSourceLoaded:i.loaded(),source:a.serialize(),sourceId:e}})),a.onAdd(this.map),this._changed=!0}},r.prototype.removeSource=function(e){if(this._checkLoaded(),void 0===this.sourceCaches[e])throw new Error("There is no source with this ID");for(var r in this._layers)if(this._layers[r].source===e)return this.fire(new t.ErrorEvent(new Error('Source "'+e+'" cannot be removed while layer "'+r+'" is using it.')));var n=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],n.fire(new t.Event("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),n.setEventedParent(null),n.clearTiles(),n.onRemove&&n.onRemove(this.map),this._changed=!0},r.prototype.setGeoJSONSourceData=function(t,e){this._checkLoaded(),this.sourceCaches[t].getSource().setData(e),this._changed=!0},r.prototype.getSource=function(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()},r.prototype.addLayer=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=e.id;if(this.getLayer(i))this.fire(new t.ErrorEvent(new Error('Layer with id "'+i+'" already exists on this map')));else{var a;if("custom"===e.type){if(qe(this,t.validateCustomStyleLayer(e)))return;a=t.createStyleLayer(e)}else{if("object"==typeof e.source&&(this.addSource(i,e.source),e=t.clone$1(e),e=t.extend(e,{source:i})),this._validate(t.validateStyle.layer,"layers."+i,e,{arrayIndex:-1},n))return;a=t.createStyleLayer(e),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}}),this._serializedLayers[a.id]=a.serialize()}var o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.')));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){var s=this._removedLayers[i];delete this._removedLayers[i],s.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}},r.prototype.moveLayer=function(e,r){if(this._checkLoaded(),this._changed=!0,this._layers[e]){if(e!==r){var n=this._order.indexOf(e);this._order.splice(n,1);var i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new t.ErrorEvent(new Error('Layer with id "'+r+'" does not exist on this map.'))):(this._order.splice(i,0,e),this._layerOrderChanged=!0)}}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be moved.")))},r.prototype.removeLayer=function(e){this._checkLoaded();var r=this._layers[e];if(r){r.setEventedParent(null);var n=this._order.indexOf(e);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=r,delete this._layers[e],delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],r.onRemove&&r.onRemove(this.map)}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be removed.")))},r.prototype.getLayer=function(t){return this._layers[t]},r.prototype.hasLayer=function(t){return t in this._layers},r.prototype.setLayerZoomRange=function(e,r,n){this._checkLoaded();var i=this.getLayer(e);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot have zoom extent.")))},r.prototype.setFilter=function(e,r,n){void 0===n&&(n={}),this._checkLoaded();var i=this.getLayer(e);if(i){if(!t.deepEqual(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(t.validateStyle.filter,"layers."+i.id+".filter",r,null,n)||(i.filter=t.clone$1(r),this._updateLayer(i)))}else this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be filtered.")))},r.prototype.getFilter=function(e){return t.clone$1(this.getLayer(e).filter)},r.prototype.setLayoutProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getLayoutProperty=function(e,r){var n=this.getLayer(e);if(n)return n.getLayoutProperty(r);this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style.")))},r.prototype.setPaintProperty=function(e,r,n,i){void 0===i&&(i={}),this._checkLoaded();var a=this.getLayer(e);a?t.deepEqual(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[e]=!0):this.fire(new t.ErrorEvent(new Error("The layer '"+e+"' does not exist in the map's style and cannot be styled.")))},r.prototype.getPaintProperty=function(t,e){return this.getLayer(t).getPaintProperty(e)},r.prototype.setFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=e.sourceLayer,a=this.sourceCaches[n];if(void 0!==a){var o=a.getSource().type;"geojson"===o&&i?this.fire(new t.ErrorEvent(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,e.id,r)):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.removeFeatureState=function(e,r){this._checkLoaded();var n=e.source,i=this.sourceCaches[n];if(void 0!==i){var a=i.getSource().type,o="vector"===a?e.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof e.id&&"number"!=typeof e.id?this.fire(new t.ErrorEvent(new Error("A feature id is required to remove its specific state property."))):i.removeFeatureState(o,e.id,r):this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+n+"' does not exist in the map's style.")))},r.prototype.getFeatureState=function(e){this._checkLoaded();var r=e.source,n=e.sourceLayer,i=this.sourceCaches[r];if(void 0!==i){if("vector"!==i.getSource().type||n)return void 0===e.id&&this.fire(new t.ErrorEvent(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,e.id);this.fire(new t.ErrorEvent(new Error("The sourceLayer parameter must be provided for vector source types.")))}else this.fire(new t.ErrorEvent(new Error("The source '"+r+"' does not exist in the map's style.")))},r.prototype.getTransition=function(){return t.extend({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)},r.prototype.serialize=function(){return t.filterObject({version:this.stylesheet.version,name:this.stylesheet.name,metadata:this.stylesheet.metadata,light:this.stylesheet.light,center:this.stylesheet.center,zoom:this.stylesheet.zoom,bearing:this.stylesheet.bearing,pitch:this.stylesheet.pitch,sprite:this.stylesheet.sprite,glyphs:this.stylesheet.glyphs,transition:this.stylesheet.transition,sources:t.mapObject(this.sourceCaches,(function(t){return t.serialize()})),layers:this._serializeLayers(this._order)},(function(t){return void 0!==t}))},r.prototype._updateLayer=function(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._changed=!0},r.prototype._flattenAndSortRenderedFeatures=function(t){for(var e=this,r=function(t){return"fill-extrusion"===e._layers[t].type},n={},i=[],a=this._order.length-1;a>=0;a--){var o=this._order[a];if(r(o)){n[o]=a;for(var s=0,l=t;s=0;d--){var m=this._order[d];if(r(m))for(var g=i.length-1;g>=0;g--){var y=i[g].feature;if(n[y.layer.id] 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_pos;attribute vec2 a_anchor_pos;attribute vec2 a_extrude;attribute vec2 a_placed;attribute vec2 a_shift;uniform mat4 u_matrix;uniform vec2 u_extrude_scale;uniform float u_camera_to_center_distance;varying float v_placed;varying float v_notUsed;void main() {vec4 projectedPoint=u_matrix*vec4(a_anchor_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);gl_Position=u_matrix*vec4(a_pos,0.0,1.0);gl_Position.xy+=(a_extrude+a_shift)*u_extrude_scale*gl_Position.w*collision_perspective_ratio;v_placed=a_placed.x;v_notUsed=a_placed.y;}"),nr=br("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),ir=br("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,0,1);}"),ar=br("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),or=br("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),sr=br("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),lr=br("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),cr=br("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),ur=br("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;base=max(0.0,base);height=max(0.0,height);float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),hr=br("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),fr=br("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),pr=br("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),dr=br("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_width2=vec2(outset,inset);}"),mr=br("uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),gr=br("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),yr=br("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),vr=br("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0),0.0,1.0);v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;v_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));}"),xr=br("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),_r=br("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","const float PI=3.141592653589793;attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec4 projectedPoint=u_matrix*vec4(a_pos,0,1);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=u_matrix*vec4(a_pos+vec2(1,0),0,1);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy,0.0,1.0);gl_Position=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale),0.0,1.0);float gamma_scale=gl_Position.w;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(1.0,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}");function br(t,e){var r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=e.match(/attribute ([\w]+) ([\w]+)/g),i=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:t=t.replace(r,(function(t,e,r,n,i){return s[i]=!0,"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"\n#ifdef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),vertexSource:e=e.replace(r,(function(t,e,r,n,i){var a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\nvarying "+r+" "+n+" "+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"define"===e?"\n#ifndef HAS_UNIFORM_u_"+i+"\nuniform lowp float u_"+i+"_t;\nattribute "+r+" "+a+" a_"+i+";\n#else\nuniform "+r+" "+n+" u_"+i+";\n#endif\n":"vec4"===o?"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = a_"+i+";\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n":"\n#ifndef HAS_UNIFORM_u_"+i+"\n "+r+" "+n+" "+i+" = unpack_mix_"+o+"(a_"+i+", u_"+i+"_t);\n#else\n "+r+" "+n+" "+i+" = u_"+i+";\n#endif\n"})),staticAttributes:n,staticUniforms:o}}var wr=Object.freeze({__proto__:null,prelude:Xe,background:$e,backgroundPattern:Je,circle:Ke,clippingMask:Qe,heatmap:tr,heatmapTexture:er,collisionBox:rr,collisionCircle:nr,debug:ir,fill:ar,fillOutline:or,fillOutlinePattern:sr,fillPattern:lr,fillExtrusion:cr,fillExtrusionPattern:ur,hillshadePrepare:hr,hillshade:fr,line:pr,lineGradient:dr,linePattern:mr,lineSDF:gr,raster:yr,symbolIcon:vr,symbolSDF:xr,symbolTextAndIcon:_r}),Tr=function(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null};function kr(t){for(var e=[],r=0;r>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}Ar.prototype.draw=function(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m){var g,y=t.gl;if(!this.failedToCreate){for(var v in t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),this.fixedUniforms)this.fixedUniforms[v].set(o[v]);p&&p.setUniforms(t,this.binderUniforms,h,{zoom:f});for(var x=(g={},g[y.LINES]=2,g[y.TRIANGLES]=3,g[y.LINE_STRIP]=1,g)[e],_=0,b=u.get();_0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Xr(i.paint.get("raster-hue-rotate"))};var a,o};function Xr(t){t*=Math.PI/180;var e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}var $r,Jr=function(t,e,r,n,i,a,o,s,l,c){var u=i.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:u.cameraToCenterDistance,u_pitch:u.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:u.width/u.height,u_fade_change:i.options.fadeDuration?i.symbolFadeChange:1,u_matrix:a,u_label_plane_matrix:o,u_coord_matrix:s,u_is_text:+l,u_pitch_with_map:+n,u_texsize:c,u_texture:0}},Kr=function(e,r,n,i,a,o,s,l,c,u,h){var f=a.transform;return t.extend(Jr(e,r,n,i,a,o,s,l,c,u),{u_gamma_scale:i?Math.cos(f._pitch)*f.cameraToCenterDistance:1,u_device_pixel_ratio:t.browser.devicePixelRatio,u_is_halo:+h})},Qr=function(e,r,n,i,a,o,s,l,c,u){return t.extend(Kr(e,r,n,i,a,o,s,l,!0,c,!0),{u_texsize_icon:u,u_texture_icon:1})},tn=function(t,e,r){return{u_matrix:t,u_opacity:e,u_color:r}},en=function(e,r,n,i,a,o){return t.extend(function(t,e,r,n){var i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),o=r.imageManager.getPixelSize(),s=o.width,l=o.height,c=Math.pow(2,n.tileID.overscaledZ),u=n.tileSize*Math.pow(2,r.transform.tileZoom)/c,h=u*(n.tileID.canonical.x+n.tileID.wrap*c),f=u*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[s,l],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/ge(n,1,r.transform.tileZoom),u_pixel_coord_upper:[h>>16,f>>16],u_pixel_coord_lower:[65535&h,65535&f]}}(i,o,n,a),{u_matrix:e,u_opacity:r})},rn={fillExtrusion:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fillExtrusionPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_lightpos:new t.Uniform3f(e,r.u_lightpos),u_lightintensity:new t.Uniform1f(e,r.u_lightintensity),u_lightcolor:new t.Uniform3f(e,r.u_lightcolor),u_vertical_gradient:new t.Uniform1f(e,r.u_vertical_gradient),u_height_factor:new t.Uniform1f(e,r.u_height_factor),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade),u_opacity:new t.Uniform1f(e,r.u_opacity)}},fill:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},fillPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},fillOutline:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world)}},fillOutlinePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_texsize:new t.Uniform2f(e,r.u_texsize),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},circle:function(e,r){return{u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_scale_with_map:new t.Uniform1i(e,r.u_scale_with_map),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},collisionBox:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pixels_to_tile_units:new t.Uniform1f(e,r.u_pixels_to_tile_units),u_extrude_scale:new t.Uniform2f(e,r.u_extrude_scale),u_overscale_factor:new t.Uniform1f(e,r.u_overscale_factor)}},collisionCircle:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_inv_matrix:new t.UniformMatrix4f(e,r.u_inv_matrix),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_viewport_size:new t.Uniform2f(e,r.u_viewport_size)}},debug:function(e,r){return{u_color:new t.UniformColor(e,r.u_color),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_overlay:new t.Uniform1i(e,r.u_overlay),u_overlay_scale:new t.Uniform1f(e,r.u_overlay_scale)}},clippingMask:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmap:function(e,r){return{u_extrude_scale:new t.Uniform1f(e,r.u_extrude_scale),u_intensity:new t.Uniform1f(e,r.u_intensity),u_matrix:new t.UniformMatrix4f(e,r.u_matrix)}},heatmapTexture:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_world:new t.Uniform2f(e,r.u_world),u_image:new t.Uniform1i(e,r.u_image),u_color_ramp:new t.Uniform1i(e,r.u_color_ramp),u_opacity:new t.Uniform1f(e,r.u_opacity)}},hillshade:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_latrange:new t.Uniform2f(e,r.u_latrange),u_light:new t.Uniform2f(e,r.u_light),u_shadow:new t.UniformColor(e,r.u_shadow),u_highlight:new t.UniformColor(e,r.u_highlight),u_accent:new t.UniformColor(e,r.u_accent)}},hillshadePrepare:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_image:new t.Uniform1i(e,r.u_image),u_dimension:new t.Uniform2f(e,r.u_dimension),u_zoom:new t.Uniform1f(e,r.u_zoom),u_unpack:new t.Uniform4f(e,r.u_unpack)}},line:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels)}},lineGradient:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_image:new t.Uniform1i(e,r.u_image),u_image_height:new t.Uniform1f(e,r.u_image_height)}},linePattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_texsize:new t.Uniform2f(e,r.u_texsize),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_image:new t.Uniform1i(e,r.u_image),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_scale:new t.Uniform3f(e,r.u_scale),u_fade:new t.Uniform1f(e,r.u_fade)}},lineSDF:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_ratio:new t.Uniform1f(e,r.u_ratio),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_units_to_pixels:new t.Uniform2f(e,r.u_units_to_pixels),u_patternscale_a:new t.Uniform2f(e,r.u_patternscale_a),u_patternscale_b:new t.Uniform2f(e,r.u_patternscale_b),u_sdfgamma:new t.Uniform1f(e,r.u_sdfgamma),u_image:new t.Uniform1i(e,r.u_image),u_tex_y_a:new t.Uniform1f(e,r.u_tex_y_a),u_tex_y_b:new t.Uniform1f(e,r.u_tex_y_b),u_mix:new t.Uniform1f(e,r.u_mix)}},raster:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_tl_parent:new t.Uniform2f(e,r.u_tl_parent),u_scale_parent:new t.Uniform1f(e,r.u_scale_parent),u_buffer_scale:new t.Uniform1f(e,r.u_buffer_scale),u_fade_t:new t.Uniform1f(e,r.u_fade_t),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image0:new t.Uniform1i(e,r.u_image0),u_image1:new t.Uniform1i(e,r.u_image1),u_brightness_low:new t.Uniform1f(e,r.u_brightness_low),u_brightness_high:new t.Uniform1f(e,r.u_brightness_high),u_saturation_factor:new t.Uniform1f(e,r.u_saturation_factor),u_contrast_factor:new t.Uniform1f(e,r.u_contrast_factor),u_spin_weights:new t.Uniform3f(e,r.u_spin_weights)}},symbolIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture)}},symbolSDF:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texture:new t.Uniform1i(e,r.u_texture),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},symbolTextAndIcon:function(e,r){return{u_is_size_zoom_constant:new t.Uniform1i(e,r.u_is_size_zoom_constant),u_is_size_feature_constant:new t.Uniform1i(e,r.u_is_size_feature_constant),u_size_t:new t.Uniform1f(e,r.u_size_t),u_size:new t.Uniform1f(e,r.u_size),u_camera_to_center_distance:new t.Uniform1f(e,r.u_camera_to_center_distance),u_pitch:new t.Uniform1f(e,r.u_pitch),u_rotate_symbol:new t.Uniform1i(e,r.u_rotate_symbol),u_aspect_ratio:new t.Uniform1f(e,r.u_aspect_ratio),u_fade_change:new t.Uniform1f(e,r.u_fade_change),u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_label_plane_matrix:new t.UniformMatrix4f(e,r.u_label_plane_matrix),u_coord_matrix:new t.UniformMatrix4f(e,r.u_coord_matrix),u_is_text:new t.Uniform1i(e,r.u_is_text),u_pitch_with_map:new t.Uniform1i(e,r.u_pitch_with_map),u_texsize:new t.Uniform2f(e,r.u_texsize),u_texsize_icon:new t.Uniform2f(e,r.u_texsize_icon),u_texture:new t.Uniform1i(e,r.u_texture),u_texture_icon:new t.Uniform1i(e,r.u_texture_icon),u_gamma_scale:new t.Uniform1f(e,r.u_gamma_scale),u_device_pixel_ratio:new t.Uniform1f(e,r.u_device_pixel_ratio),u_is_halo:new t.Uniform1i(e,r.u_is_halo)}},background:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_color:new t.UniformColor(e,r.u_color)}},backgroundPattern:function(e,r){return{u_matrix:new t.UniformMatrix4f(e,r.u_matrix),u_opacity:new t.Uniform1f(e,r.u_opacity),u_image:new t.Uniform1i(e,r.u_image),u_pattern_tl_a:new t.Uniform2f(e,r.u_pattern_tl_a),u_pattern_br_a:new t.Uniform2f(e,r.u_pattern_br_a),u_pattern_tl_b:new t.Uniform2f(e,r.u_pattern_tl_b),u_pattern_br_b:new t.Uniform2f(e,r.u_pattern_br_b),u_texsize:new t.Uniform2f(e,r.u_texsize),u_mix:new t.Uniform1f(e,r.u_mix),u_pattern_size_a:new t.Uniform2f(e,r.u_pattern_size_a),u_pattern_size_b:new t.Uniform2f(e,r.u_pattern_size_b),u_scale_a:new t.Uniform1f(e,r.u_scale_a),u_scale_b:new t.Uniform1f(e,r.u_scale_b),u_pixel_coord_upper:new t.Uniform2f(e,r.u_pixel_coord_upper),u_pixel_coord_lower:new t.Uniform2f(e,r.u_pixel_coord_lower),u_tile_units_to_pixels:new t.Uniform1f(e,r.u_tile_units_to_pixels)}}};function nn(e,r,n,i,a,o,s){for(var l=e.context,c=l.gl,u=e.useProgram("collisionBox"),h=[],f=0,p=0,d=0;d0){var b=t.create(),w=v;t.mul(b,y.placementInvProjMatrix,e.transform.glCoordMatrix),t.mul(b,b,y.placementViewportMatrix),h.push({circleArray:_,circleOffset:p,transform:w,invTransform:b}),p=f+=_.length/4}x&&u.draw(l,c.LINES,Mt.disabled,Et.disabled,e.colorModeForRenderPass(),Lt.disabled,Or(v,e.transform,g),n.id,x.layoutVertexBuffer,x.indexBuffer,x.segments,null,e.transform.zoom,null,null,x.collisionVertexBuffer)}}if(s&&h.length){var T=e.useProgram("collisionCircle"),k=new t.StructArrayLayout2f1f2i16;k.resize(4*f),k._trim();for(var A=0,M=0,S=h;M=0&&(m[y.associatedIconIndex]={shiftedAnchor:S,angle:E})}else fe(y.numGlyphs,p)}if(h){d.clear();for(var L=e.icon.placedSymbolArray,I=0;I0){var s=t.browser.now(),l=(s-e.timeAdded)/o,c=r?(s-r.timeAdded)/o:-1,u=n.getSource(),h=a.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(e.tileID.overscaledZ-h),p=f&&e.refreshedUponExpiration?1:t.clamp(f?l:1-c,0,1);return e.refreshedUponExpiration&&l>=1&&(e.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}var gn=new t.Color(1,0,0,1),yn=new t.Color(0,1,0,1),vn=new t.Color(0,0,1,1),xn=new t.Color(1,0,1,1),_n=new t.Color(0,1,1,1);function bn(t){var e=t.transform.padding;wn(t,t.transform.height-(e.top||0),3,gn),wn(t,e.bottom||0,3,yn),Tn(t,e.left||0,3,vn),Tn(t,t.transform.width-(e.right||0),3,xn);var r=t.transform.centerPoint;!function(t,e,r,n){var i=20,a=2;kn(t,e-a/2,r-i/2,a,i,n),kn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,_n)}function wn(t,e,r,n){kn(t,0,e+r/2,t.transform.width,r,n)}function Tn(t,e,r,n){kn(t,e-r/2,0,r,t.transform.height,n)}function kn(e,r,n,i,a,o){var s=e.context,l=s.gl;l.enable(l.SCISSOR_TEST),l.scissor(r*t.browser.devicePixelRatio,n*t.browser.devicePixelRatio,i*t.browser.devicePixelRatio,a*t.browser.devicePixelRatio),s.clear({color:o}),l.disable(l.SCISSOR_TEST)}function An(e,r,n){var i=e.context,a=i.gl,o=n.posMatrix,s=e.useProgram("debug"),l=Mt.disabled,c=Et.disabled,u=e.colorModeForRenderPass(),h="$debug";i.activeTexture.set(a.TEXTURE0),e.emptyTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE),s.draw(i,a.LINE_STRIP,l,c,u,Lt.disabled,Rr(o,t.Color.red),h,e.debugBuffer,e.tileBorderIndexBuffer,e.debugSegments);var f=r.getTileByID(n.key).latestRawTileData,p=f&&f.byteLength||0,d=Math.floor(p/1024),m=r.getTile(n).tileSize,g=512/Math.min(m,512)*(n.overscaledZ/e.transform.zoom)*.5,y=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(y+=" => "+n.overscaledZ),function(t,e){t.initDebugOverlayCanvas();var r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(e,y+" "+d+"kb"),s.draw(i,a.TRIANGLES,l,c,Ct.alphaBlended,Lt.disabled,Rr(o,t.Color.transparent,g),h,e.debugBuffer,e.quadTriangleIndexBuffer,e.debugSegments)}var Mn={symbol:function(e,r,n,i,a){if("translucent"===e.renderPass){var o=Et.disabled,s=e.colorModeForRenderPass();n.layout.get("text-variable-anchor")&&function(e,r,n,i,a,o,s){for(var l=r.transform,c="map"===a,u="map"===o,h=0,f=e;h256&&this.clearStencil(),r.setColorMode(Ct.disabled),r.setDepthMode(Mt.disabled);var i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(var a=0,o=e;a256&&this.clearStencil();var t=this.nextStencilID++,e=this.context.gl;return new Et({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilModeForClipping=function(t){var e=this.context.gl;return new Et({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)},Sn.prototype.stencilConfigForOverlap=function(t){var e,r=this.context.gl,n=t.sort((function(t,e){return e.overscaledZ-t.overscaledZ})),i=n[n.length-1].overscaledZ,a=n[0].overscaledZ-i+1;if(a>1){this.currentStencilSource=void 0,this.nextStencilID+a>256&&this.clearStencil();for(var o={},s=0;s=0;this.currentLayer--){var w=this.style._layers[i[this.currentLayer]],T=a[w.source],k=u[w.source];this._renderTileClippingMasks(w,k),this.renderLayer(this,T,w,k)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayer0?e.pop():null},Sn.prototype.isPatternMissing=function(t){if(!t)return!1;if(!t.from||!t.to)return!0;var e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r},Sn.prototype.useProgram=function(t,e){this.cache=this.cache||{};var r=""+t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"");return this.cache[r]||(this.cache[r]=new Ar(this.context,t,wr[t],e,rn[t],this._showOverdrawInspector)),this.cache[r]},Sn.prototype.setCustomLayerDefaults=function(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()},Sn.prototype.setBaseState=function(){var t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)},Sn.prototype.initDebugOverlayCanvas=function(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=t.window.document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;var e=this.context.gl;this.debugOverlayTexture=new t.Texture(this.context,this.debugOverlayCanvas,e.RGBA)}},Sn.prototype.destroy=function(){this.emptyTexture.destroy(),this.debugOverlayTexture&&this.debugOverlayTexture.destroy()};var En=function(t,e){this.points=t,this.planes=e};En.fromInvProjectionMatrix=function(e,r,n){var i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((function(r){return t.transformMat4([],r,e)})).map((function(e){return t.scale$1([],e,1/e[3]/r*i)})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((function(e){var r=t.sub([],a[e[0]],a[e[1]]),n=t.sub([],a[e[2]],a[e[1]]),i=t.normalize([],t.cross([],r,n)),o=-t.dot(i,a[e[1]]);return i.concat(o)}));return new En(a,o)};var Cn=function(e,r){this.min=e,this.max=r,this.center=t.scale$2([],t.add([],this.min,this.max),.5)};Cn.prototype.quadrant=function(e){for(var r=[e%2==0,e<2],n=t.clone$2(this.min),i=t.clone$2(this.max),a=0;a=0;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(var l=0;l<3;l++){for(var c=Number.MAX_VALUE,u=-Number.MAX_VALUE,h=0;hthis.max[l]-this.min[l])return 0}return 1};var Ln=function(t,e,r,n){if(void 0===t&&(t=0),void 0===e&&(e=0),void 0===r&&(r=0),void 0===n&&(n=0),isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n};Ln.prototype.interpolate=function(e,r,n){return null!=r.top&&null!=e.top&&(this.top=t.number(e.top,r.top,n)),null!=r.bottom&&null!=e.bottom&&(this.bottom=t.number(e.bottom,r.bottom,n)),null!=r.left&&null!=e.left&&(this.left=t.number(e.left,r.left,n)),null!=r.right&&null!=e.right&&(this.right=t.number(e.right,r.right,n)),this},Ln.prototype.getCenter=function(e,r){var n=t.clamp((this.left+e-this.right)/2,0,e),i=t.clamp((this.top+r-this.bottom)/2,0,r);return new t.Point(n,i)},Ln.prototype.equals=function(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right},Ln.prototype.clone=function(){return new Ln(this.top,this.bottom,this.left,this.right)},Ln.prototype.toJSON=function(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}};var In=function(e,r,n,i,a){this.tileSize=512,this.maxValidLatitude=85.051129,this._renderWorldCopies=void 0===a||a,this._minZoom=e||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new t.LngLat(0,0),this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Ln,this._posMatrixCache={},this._alignedPosMatrixCache={}},Pn={minZoom:{configurable:!0},maxZoom:{configurable:!0},minPitch:{configurable:!0},maxPitch:{configurable:!0},renderWorldCopies:{configurable:!0},worldSize:{configurable:!0},centerOffset:{configurable:!0},size:{configurable:!0},bearing:{configurable:!0},pitch:{configurable:!0},fov:{configurable:!0},zoom:{configurable:!0},center:{configurable:!0},padding:{configurable:!0},centerPoint:{configurable:!0},unmodified:{configurable:!0},point:{configurable:!0}};In.prototype.clone=function(){var t=new In(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.tileSize=this.tileSize,t.latRange=this.latRange,t.width=this.width,t.height=this.height,t._center=this._center,t.zoom=this.zoom,t.angle=this.angle,t._fov=this._fov,t._pitch=this._pitch,t._unmodified=this._unmodified,t._edgeInsets=this._edgeInsets.clone(),t._calcMatrices(),t},Pn.minZoom.get=function(){return this._minZoom},Pn.minZoom.set=function(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))},Pn.maxZoom.get=function(){return this._maxZoom},Pn.maxZoom.set=function(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))},Pn.minPitch.get=function(){return this._minPitch},Pn.minPitch.set=function(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))},Pn.maxPitch.get=function(){return this._maxPitch},Pn.maxPitch.set=function(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))},Pn.renderWorldCopies.get=function(){return this._renderWorldCopies},Pn.renderWorldCopies.set=function(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t},Pn.worldSize.get=function(){return this.tileSize*this.scale},Pn.centerOffset.get=function(){return this.centerPoint._sub(this.size._div(2))},Pn.size.get=function(){return new t.Point(this.width,this.height)},Pn.bearing.get=function(){return-this.angle/Math.PI*180},Pn.bearing.set=function(e){var r=-t.wrap(e,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=t.create$2(),t.rotate(this.rotationMatrix,this.rotationMatrix,this.angle))},Pn.pitch.get=function(){return this._pitch/Math.PI*180},Pn.pitch.set=function(e){var r=t.clamp(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())},Pn.fov.get=function(){return this._fov/Math.PI*180},Pn.fov.set=function(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())},Pn.zoom.get=function(){return this._zoom},Pn.zoom.set=function(t){var e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.scale=this.zoomScale(e),this.tileZoom=Math.floor(e),this.zoomFraction=e-this.tileZoom,this._constrain(),this._calcMatrices())},Pn.center.get=function(){return this._center},Pn.center.set=function(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())},Pn.padding.get=function(){return this._edgeInsets.toJSON()},Pn.padding.set=function(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())},Pn.centerPoint.get=function(){return this._edgeInsets.getCenter(this.width,this.height)},In.prototype.isPaddingEqual=function(t){return this._edgeInsets.equals(t)},In.prototype.interpolatePadding=function(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()},In.prototype.coveringZoomLevel=function(t){var e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)},In.prototype.getVisibleUnwrappedCoordinates=function(e){var r=[new t.UnwrappedTileID(0,e)];if(this._renderWorldCopies)for(var n=this.pointCoordinate(new t.Point(0,0)),i=this.pointCoordinate(new t.Point(this.width,0)),a=this.pointCoordinate(new t.Point(this.width,this.height)),o=this.pointCoordinate(new t.Point(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=s-1;c<=l+1;c++)0!==c&&r.push(new t.UnwrappedTileID(c,e));return r},In.prototype.coveringTiles=function(e){var r=this.coveringZoomLevel(e),n=r;if(void 0!==e.minzoom&&re.maxzoom&&(r=e.maxzoom);var i=t.MercatorCoordinate.fromLngLat(this.center),a=Math.pow(2,r),o=[a*i.x,a*i.y,0],s=En.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,r),l=e.minzoom||0;this.pitch<=60&&this._edgeInsets.top<.1&&(l=r);var c=function(t){return{aabb:new Cn([t*a,0,0],[(t+1)*a,a,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}},u=[],h=[],f=r,p=e.reparseOverscaled?n:r;if(this._renderWorldCopies)for(var d=1;d<=3;d++)u.push(c(-d)),u.push(c(d));for(u.push(c(0));u.length>0;){var m=u.pop(),g=m.x,y=m.y,v=m.fullyVisible;if(!v){var x=m.aabb.intersects(s);if(0===x)continue;v=2===x}var _=m.aabb.distanceX(o),b=m.aabb.distanceY(o),w=Math.max(Math.abs(_),Math.abs(b)),T=3+(1<T&&m.zoom>=l)h.push({tileID:new t.OverscaledTileID(m.zoom===f?p:m.zoom,m.wrap,m.zoom,g,y),distanceSq:t.sqrLen([o[0]-.5-g,o[1]-.5-y])});else for(var k=0;k<4;k++){var A=(g<<1)+k%2,M=(y<<1)+(k>>1);u.push({aabb:m.aabb.quadrant(k),zoom:m.zoom+1,x:A,y:M,wrap:m.wrap,fullyVisible:v})}}return h.sort((function(t,e){return t.distanceSq-e.distanceSq})).map((function(t){return t.tileID}))},In.prototype.resize=function(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()},Pn.unmodified.get=function(){return this._unmodified},In.prototype.zoomScale=function(t){return Math.pow(2,t)},In.prototype.scaleZoom=function(t){return Math.log(t)/Math.LN2},In.prototype.project=function(e){var r=t.clamp(e.lat,-this.maxValidLatitude,this.maxValidLatitude);return new t.Point(t.mercatorXfromLng(e.lng)*this.worldSize,t.mercatorYfromLat(r)*this.worldSize)},In.prototype.unproject=function(e){return new t.MercatorCoordinate(e.x/this.worldSize,e.y/this.worldSize).toLngLat()},Pn.point.get=function(){return this.project(this.center)},In.prototype.setLocationAtPoint=function(e,r){var n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(e),o=new t.MercatorCoordinate(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())},In.prototype.locationPoint=function(t){return this.coordinatePoint(this.locationCoordinate(t))},In.prototype.pointLocation=function(t){return this.coordinateLocation(this.pointCoordinate(t))},In.prototype.locationCoordinate=function(e){return t.MercatorCoordinate.fromLngLat(e)},In.prototype.coordinateLocation=function(t){return t.toLngLat()},In.prototype.pointCoordinate=function(e){var r=[e.x,e.y,0,1],n=[e.x,e.y,1,1];t.transformMat4(r,r,this.pixelMatrixInverse),t.transformMat4(n,n,this.pixelMatrixInverse);var i=r[3],a=n[3],o=r[0]/i,s=n[0]/a,l=r[1]/i,c=n[1]/a,u=r[2]/i,h=n[2]/a,f=u===h?0:(0-u)/(h-u);return new t.MercatorCoordinate(t.number(o,s,f)/this.worldSize,t.number(l,c,f)/this.worldSize)},In.prototype.coordinatePoint=function(e){var r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix),new t.Point(r[0]/r[3],r[1]/r[3])},In.prototype.getBounds=function(){return(new t.LngLatBounds).extend(this.pointLocation(new t.Point(0,0))).extend(this.pointLocation(new t.Point(this.width,0))).extend(this.pointLocation(new t.Point(this.width,this.height))).extend(this.pointLocation(new t.Point(0,this.height)))},In.prototype.getMaxBounds=function(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new t.LngLatBounds([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null},In.prototype.setMaxBounds=function(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-this.maxValidLatitude,this.maxValidLatitude])},In.prototype.calculatePosMatrix=function(e,r){void 0===r&&(r=!1);var n=e.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];var a=e.canonical,o=this.worldSize/this.zoomScale(a.z),s=a.x+Math.pow(2,a.z)*e.wrap,l=t.identity(new Float64Array(16));return t.translate(l,l,[s*o,a.y*o,0]),t.scale(l,l,[o/t.EXTENT,o/t.EXTENT,1]),t.multiply(l,r?this.alignedProjMatrix:this.projMatrix,l),i[n]=new Float32Array(l),i[n]},In.prototype.customLayerMatrix=function(){return this.mercatorMatrix.slice()},In.prototype._constrain=function(){if(this.center&&this.width&&this.height&&!this._constraining){this._constraining=!0;var e,r,n,i,a=-90,o=90,s=-180,l=180,c=this.size,u=this._unmodified;if(this.latRange){var h=this.latRange;a=t.mercatorYfromLat(h[1])*this.worldSize,e=(o=t.mercatorYfromLat(h[0])*this.worldSize)-ao&&(i=o-g)}if(this.lngRange){var y=p.x,v=c.x/2;y-vl&&(n=l-v)}void 0===n&&void 0===i||(this.center=this.unproject(new t.Point(void 0!==n?n:p.x,void 0!==i?i:p.y))),this._unmodified=u,this._constraining=!1}},In.prototype._calcMatrices=function(){if(this.height){var e=this._fov/2,r=this.centerOffset;this.cameraToCenterDistance=.5/Math.tan(e)*this.height;var n=Math.PI/2+this._pitch,i=this._fov*(.5+r.y/this.height),a=Math.sin(i)*this.cameraToCenterDistance/Math.sin(t.clamp(Math.PI-n-i,.01,Math.PI-.01)),o=this.point,s=o.x,l=o.y,c=1.01*(Math.cos(Math.PI/2-this._pitch)*a+this.cameraToCenterDistance),u=this.height/50,h=new Float64Array(16);t.perspective(h,this._fov,this.width/this.height,u,c),h[8]=2*-r.x/this.width,h[9]=2*r.y/this.height,t.scale(h,h,[1,-1,1]),t.translate(h,h,[0,0,-this.cameraToCenterDistance]),t.rotateX(h,h,this._pitch),t.rotateZ(h,h,this.angle),t.translate(h,h,[-s,-l,0]),this.mercatorMatrix=t.scale([],h,[this.worldSize,this.worldSize,this.worldSize]),t.scale(h,h,[1,1,t.mercatorZfromAltitude(1,this.center.lat)*this.worldSize,1]),this.projMatrix=h,this.invProjMatrix=t.invert([],this.projMatrix);var f=this.width%2/2,p=this.height%2/2,d=Math.cos(this.angle),m=Math.sin(this.angle),g=s-Math.round(s)+d*f+m*p,y=l-Math.round(l)+d*p+m*f,v=new Float64Array(h);if(t.translate(v,v,[g>.5?g-1:g,y>.5?y-1:y,0]),this.alignedProjMatrix=v,h=t.create(),t.scale(h,h,[this.width/2,-this.height/2,1]),t.translate(h,h,[1,-1,0]),this.labelPlaneMatrix=h,h=t.create(),t.scale(h,h,[1,-1,1]),t.translate(h,h,[-1,-1,0]),t.scale(h,h,[2/this.width,2/this.height,1]),this.glCoordMatrix=h,this.pixelMatrix=t.multiply(new Float64Array(16),this.labelPlaneMatrix,this.projMatrix),!(h=t.invert(new Float64Array(16),this.pixelMatrix)))throw new Error("failed to invert matrix");this.pixelMatrixInverse=h,this._posMatrixCache={},this._alignedPosMatrixCache={}}},In.prototype.maxPitchScaleFactor=function(){if(!this.pixelMatrixInverse)return 1;var e=this.pointCoordinate(new t.Point(0,0)),r=[e.x*this.worldSize,e.y*this.worldSize,0,1];return t.transformMat4(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance},In.prototype.getCameraPoint=function(){var e=this._pitch,r=Math.tan(e)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new t.Point(0,r))},In.prototype.getCameraQueryGeometry=function(e){var r=this.getCameraPoint();if(1===e.length)return[e[0],r];for(var n=r.x,i=r.y,a=r.x,o=r.y,s=0,l=e;s=3&&!t.some((function(t){return isNaN(t)}))){var e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},zn.prototype._updateHashUnthrottled=function(){var e=t.window.location.href.replace(/(#.+)?$/,this.getHashString());try{t.window.history.replaceState(t.window.history.state,null,e)}catch(t){}};var On={linearity:.3,easing:t.bezier(0,0,.3,1)},Dn=t.extend({deceleration:2500,maxSpeed:1400},On),Rn=t.extend({deceleration:20,maxSpeed:1400},On),Fn=t.extend({deceleration:1e3,maxSpeed:360},On),Bn=t.extend({deceleration:1e3,maxSpeed:90},On),Nn=function(t){this._map=t,this.clear()};function jn(t,e){(!t.duration||t.duration0&&r-e[0].time>160;)e.shift()},Nn.prototype._onMoveEnd=function(e){if(this._drainInertiaBuffer(),!(this._inertiaBuffer.length<2)){for(var r={zoom:0,bearing:0,pitch:0,pan:new t.Point(0,0),pinchAround:void 0,around:void 0},n=0,i=this._inertiaBuffer;n=this._clickTolerance||this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.dblclick=function(t){return this._firePreventable(new Vn(t.type,this._map,t))},Gn.prototype.mouseover=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.mouseout=function(t){this._map.fire(new Vn(t.type,this._map,t))},Gn.prototype.touchstart=function(t){return this._firePreventable(new qn(t.type,this._map,t))},Gn.prototype.touchmove=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchend=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype.touchcancel=function(t){this._map.fire(new qn(t.type,this._map,t))},Gn.prototype._firePreventable=function(t){if(this._map.fire(t),t.defaultPrevented)return{}},Gn.prototype.isEnabled=function(){return!0},Gn.prototype.isActive=function(){return!1},Gn.prototype.enable=function(){},Gn.prototype.disable=function(){};var Zn=function(t){this._map=t};Zn.prototype.reset=function(){this._delayContextMenu=!1,delete this._contextMenuEvent},Zn.prototype.mousemove=function(t){this._map.fire(new Vn(t.type,this._map,t))},Zn.prototype.mousedown=function(){this._delayContextMenu=!0},Zn.prototype.mouseup=function(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Vn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)},Zn.prototype.contextmenu=function(t){this._delayContextMenu?this._contextMenuEvent=t:this._map.fire(new Vn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()},Zn.prototype.isEnabled=function(){return!0},Zn.prototype.isActive=function(){return!1},Zn.prototype.enable=function(){},Zn.prototype.disable=function(){};var Wn=function(t,e){this._map=t,this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1};function Yn(t,e){for(var r={},n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=e.timeStamp),n.length===this.numTouches&&(this.centroid=function(e){for(var r=new t.Point(0,0),n=0,i=e;n30)&&(this.aborted=!0)}}},Xn.prototype.touchend=function(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){var n=!this.aborted&&this.centroid;if(this.reset(),n)return n}};var $n=function(t){this.singleTap=new Xn(t),this.numTaps=t.numTaps,this.reset()};$n.prototype.reset=function(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()},$n.prototype.touchstart=function(t,e,r){this.singleTap.touchstart(t,e,r)},$n.prototype.touchmove=function(t,e,r){this.singleTap.touchmove(t,e,r)},$n.prototype.touchend=function(t,e,r){var n=this.singleTap.touchend(t,e,r);if(n){var i=t.timeStamp-this.lastTime<500,a=!this.lastTap||this.lastTap.dist(n)<30;if(i&&a||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}};var Jn=function(){this._zoomIn=new $n({numTouches:1,numTaps:2}),this._zoomOut=new $n({numTouches:2,numTaps:1}),this.reset()};Jn.prototype.reset=function(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()},Jn.prototype.touchstart=function(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)},Jn.prototype.touchmove=function(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)},Jn.prototype.touchend=function(t,e,r){var n=this,i=this._zoomIn.touchend(t,e,r),a=this._zoomOut.touchend(t,e,r);return i?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()+1,around:e.unproject(i)},{originalEvent:t})}}):a?(this._active=!0,t.preventDefault(),setTimeout((function(){return n.reset()}),0),{cameraAnimation:function(e){return e.easeTo({duration:300,zoom:e.getZoom()-1,around:e.unproject(a)},{originalEvent:t})}}):void 0},Jn.prototype.touchcancel=function(){this.reset()},Jn.prototype.enable=function(){this._enabled=!0},Jn.prototype.disable=function(){this._enabled=!1,this.reset()},Jn.prototype.isEnabled=function(){return this._enabled},Jn.prototype.isActive=function(){return this._active};var Kn={};Kn[0]=1,Kn[2]=2;var Qn=function(t){this.reset(),this._clickTolerance=t.clickTolerance||1};Qn.prototype.reset=function(){this._active=!1,this._moved=!1,delete this._lastPoint,delete this._eventButton},Qn.prototype._correctButton=function(t,e){return!1},Qn.prototype._move=function(t,e){return{}},Qn.prototype.mousedown=function(t,e){if(!this._lastPoint){var n=r.mouseButton(t);this._correctButton(t,n)&&(this._lastPoint=e,this._eventButton=n)}},Qn.prototype.mousemoveWindow=function(t,e){var r=this._lastPoint;if(r)if(t.preventDefault(),function(t,e){var r=Kn[e];return void 0===t.buttons||(t.buttons&r)!==r}(t,this._eventButton))this.reset();else if(this._moved||!(e.dist(r)0&&(this._active=!0);var i=Yn(n,r),a=new t.Point(0,0),o=new t.Point(0,0),s=0;for(var l in i){var c=i[l],u=this._touches[l];u&&(a._add(c),o._add(c.sub(u)),s++,i[l]=c)}if(this._touches=i,!(sMath.abs(t.x)}var hi=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){t.prototype.reset.call(this),this._valid=void 0,delete this._firstMove,delete this._lastPoints},e.prototype._start=function(t){this._lastPoints=t,ui(t[0].sub(t[1]))&&(this._valid=!1)},e.prototype._move=function(t,e,r){var n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);if(this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid)return this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}},e.prototype.gestureBeginsVertically=function(t,e,r){if(void 0!==this._valid)return this._valid;var n=t.mag()>=2,i=e.mag()>=2;if(n||i){if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;var a=t.y>0==e.y>0;return ui(t)&&ui(e)&&a}},e}(ii),fi={panStep:100,bearingStep:15,pitchStep:10},pi=function(){var t=fi;this._panStep=t.panStep,this._bearingStep=t.bearingStep,this._pitchStep=t.pitchStep,this._rotationDisabled=!1};function di(t){return t*(2-t)}pi.prototype.reset=function(){this._active=!1},pi.prototype.keydown=function(t){var e=this;if(!(t.altKey||t.ctrlKey||t.metaKey)){var r=0,n=0,i=0,a=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:t.shiftKey?n=-1:(t.preventDefault(),a=-1);break;case 39:t.shiftKey?n=1:(t.preventDefault(),a=1);break;case 38:t.shiftKey?i=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?i=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(n=0,i=0),{cameraAnimation:function(s){var l=s.getZoom();s.easeTo({duration:300,easeId:"keyboardHandler",easing:di,zoom:r?Math.round(l)+r*(t.shiftKey?2:1):l,bearing:s.getBearing()+n*e._bearingStep,pitch:s.getPitch()+i*e._pitchStep,offset:[-a*e._panStep,-o*e._panStep],center:s.getCenter()},{originalEvent:t})}}}},pi.prototype.enable=function(){this._enabled=!0},pi.prototype.disable=function(){this._enabled=!1,this.reset()},pi.prototype.isEnabled=function(){return this._enabled},pi.prototype.isActive=function(){return this._active},pi.prototype.disableRotation=function(){this._rotationDisabled=!0},pi.prototype.enableRotation=function(){this._rotationDisabled=!1};var mi=4.000244140625,gi=function(e,r){this._map=e,this._el=e.getCanvasContainer(),this._handler=r,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222,t.bindAll(["_onTimeout"],this)};gi.prototype.setZoomRate=function(t){this._defaultZoomRate=t},gi.prototype.setWheelZoomRate=function(t){this._wheelZoomRate=t},gi.prototype.isEnabled=function(){return!!this._enabled},gi.prototype.isActive=function(){return!!this._active||void 0!==this._finishTimeout},gi.prototype.isZooming=function(){return!!this._zooming},gi.prototype.enable=function(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=t&&"center"===t.around)},gi.prototype.disable=function(){this.isEnabled()&&(this._enabled=!1)},gi.prototype.wheel=function(e){if(this.isEnabled()){var r=e.deltaMode===t.window.WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY,n=t.browser.now(),i=n-(this._lastWheelEventTime||0);this._lastWheelEventTime=n,0!==r&&r%mi==0?this._type="wheel":0!==r&&Math.abs(r)<4?this._type="trackpad":i>400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(i*r)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,r+=this._lastValue)),e.shiftKey&&r&&(r/=4),this._type&&(this._lastWheelEvent=e,this._delta-=r,this._active||this._start(e)),e.preventDefault()}},gi.prototype._onTimeout=function(t){this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},gi.prototype._start=function(e){if(this._delta){this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);var n=r.mousePos(this._el,e);this._around=t.LngLat.convert(this._aroundCenter?this._map.getCenter():this._map.unproject(n)),this._aroundPoint=this._map.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._handler._triggerRenderFrame())}},gi.prototype.renderFrame=function(){var e=this;if(this._frameId&&(this._frameId=null,this.isActive())){var r=this._map.transform;if(0!==this._delta){var n="wheel"===this._type&&Math.abs(this._delta)>mi?this._wheelZoomRate:this._defaultZoomRate,i=2/(1+Math.exp(-Math.abs(this._delta*n)));this._delta<0&&0!==i&&(i=1/i);var a="number"==typeof this._targetZoom?r.zoomScale(this._targetZoom):r.scale;this._targetZoom=Math.min(r.maxZoom,Math.max(r.minZoom,r.scaleZoom(a*i))),"wheel"===this._type&&(this._startZoom=r.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}var o,s="number"==typeof this._targetZoom?this._targetZoom:r.zoom,l=this._startZoom,c=this._easing,u=!1;if("wheel"===this._type&&l&&c){var h=Math.min((t.browser.now()-this._lastWheelEventTime)/200,1),f=c(h);o=t.number(l,s,f),h<1?this._frameId||(this._frameId=!0):u=!0}else o=s,u=!0;return this._active=!0,u&&(this._active=!1,this._finishTimeout=setTimeout((function(){e._zooming=!1,e._handler._triggerRenderFrame(),delete e._targetZoom,delete e._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!u,zoomDelta:o-r.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}},gi.prototype._smoothOutEasing=function(e){var r=t.ease;if(this._prevEase){var n=this._prevEase,i=(t.browser.now()-n.start)/n.duration,a=n.easing(i+.01)-n.easing(i),o=.27/Math.sqrt(a*a+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=t.bezier(o,s,.25,1)}return this._prevEase={start:t.browser.now(),duration:e,easing:r},r},gi.prototype.reset=function(){this._active=!1};var yi=function(t,e){this._clickZoom=t,this._tapZoom=e};yi.prototype.enable=function(){this._clickZoom.enable(),this._tapZoom.enable()},yi.prototype.disable=function(){this._clickZoom.disable(),this._tapZoom.disable()},yi.prototype.isEnabled=function(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()},yi.prototype.isActive=function(){return this._clickZoom.isActive()||this._tapZoom.isActive()};var vi=function(){this.reset()};vi.prototype.reset=function(){this._active=!1},vi.prototype.dblclick=function(t,e){return t.preventDefault(),{cameraAnimation:function(r){r.easeTo({duration:300,zoom:r.getZoom()+(t.shiftKey?-1:1),around:r.unproject(e)},{originalEvent:t})}}},vi.prototype.enable=function(){this._enabled=!0},vi.prototype.disable=function(){this._enabled=!1,this.reset()},vi.prototype.isEnabled=function(){return this._enabled},vi.prototype.isActive=function(){return this._active};var xi=function(){this._tap=new $n({numTouches:1,numTaps:1}),this.reset()};xi.prototype.reset=function(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,this._tap.reset()},xi.prototype.touchstart=function(t,e,r){this._swipePoint||(this._tapTime&&t.timeStamp-this._tapTime>500&&this.reset(),this._tapTime?r.length>0&&(this._swipePoint=e[0],this._swipeTouch=r[0].identifier):this._tap.touchstart(t,e,r))},xi.prototype.touchmove=function(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;var n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)},xi.prototype.touchend=function(t,e,r){this._tapTime?this._swipePoint&&0===r.length&&this.reset():this._tap.touchend(t,e,r)&&(this._tapTime=t.timeStamp)},xi.prototype.touchcancel=function(){this.reset()},xi.prototype.enable=function(){this._enabled=!0},xi.prototype.disable=function(){this._enabled=!1,this.reset()},xi.prototype.isEnabled=function(){return this._enabled},xi.prototype.isActive=function(){return this._active};var _i=function(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r};_i.prototype.enable=function(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("mapboxgl-touch-drag-pan")},_i.prototype.disable=function(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("mapboxgl-touch-drag-pan")},_i.prototype.isEnabled=function(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()},_i.prototype.isActive=function(){return this._mousePan.isActive()||this._touchPan.isActive()};var bi=function(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r};bi.prototype.enable=function(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()},bi.prototype.disable=function(){this._mouseRotate.disable(),this._mousePitch.disable()},bi.prototype.isEnabled=function(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())},bi.prototype.isActive=function(){return this._mouseRotate.isActive()||this._mousePitch.isActive()};var wi=function(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0};wi.prototype.enable=function(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("mapboxgl-touch-zoom-rotate")},wi.prototype.disable=function(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("mapboxgl-touch-zoom-rotate")},wi.prototype.isEnabled=function(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()},wi.prototype.isActive=function(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()},wi.prototype.disableRotation=function(){this._rotationDisabled=!0,this._touchRotate.disable()},wi.prototype.enableRotation=function(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()};var Ti=function(t){return t.zoom||t.drag||t.pitch||t.rotate},ki=function(t){function e(){t.apply(this,arguments)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e}(t.Event);function Ai(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}var Mi=function(e,n){this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Nn(e),this._bearingSnap=n.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(n),t.bindAll(["handleEvent","handleWindowEvent"],this);var i=this._el;this._listeners=[[i,"touchstart",{passive:!0}],[i,"touchmove",{passive:!1}],[i,"touchend",void 0],[i,"touchcancel",void 0],[i,"mousedown",void 0],[i,"mousemove",void 0],[i,"mouseup",void 0],[t.window.document,"mousemove",{capture:!0}],[t.window.document,"mouseup",void 0],[i,"mouseover",void 0],[i,"mouseout",void 0],[i,"dblclick",void 0],[i,"click",void 0],[i,"keydown",{capture:!1}],[i,"keyup",void 0],[i,"wheel",{passive:!1}],[i,"contextmenu",void 0],[t.window,"blur",void 0]];for(var a=0,o=this._listeners;aa?Math.min(2,b):Math.max(.5,b),w=Math.pow(g,1-e),T=i.unproject(x.add(_.mult(e*w)).mult(m));i.setLocationAtPoint(i.renderWorldCopies?T.wrap():T,d)}n._fireMoveEvents(r)}),(function(t){n._afterEase(r,t)}),e),this},r.prototype._prepareEase=function(e,r,n){void 0===n&&(n={}),this._moving=!0,r||n.moving||this.fire(new t.Event("movestart",e)),this._zooming&&!n.zooming&&this.fire(new t.Event("zoomstart",e)),this._rotating&&!n.rotating&&this.fire(new t.Event("rotatestart",e)),this._pitching&&!n.pitching&&this.fire(new t.Event("pitchstart",e))},r.prototype._fireMoveEvents=function(e){this.fire(new t.Event("move",e)),this._zooming&&this.fire(new t.Event("zoom",e)),this._rotating&&this.fire(new t.Event("rotate",e)),this._pitching&&this.fire(new t.Event("pitch",e))},r.prototype._afterEase=function(e,r){if(!this._easeId||!r||this._easeId!==r){delete this._easeId;var n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new t.Event("zoomend",e)),i&&this.fire(new t.Event("rotateend",e)),a&&this.fire(new t.Event("pitchend",e)),this.fire(new t.Event("moveend",e))}},r.prototype.flyTo=function(e,r){var n=this;if(!e.essential&&t.browser.prefersReducedMotion){var i=t.pick(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(i,r)}this.stop(),e=t.extend({offset:[0,0],speed:1.2,curve:1.42,easing:t.ease},e);var a=this.transform,o=this.getZoom(),s=this.getBearing(),l=this.getPitch(),c=this.getPadding(),u="zoom"in e?t.clamp(+e.zoom,a.minZoom,a.maxZoom):o,h="bearing"in e?this._normalizeBearing(e.bearing,s):s,f="pitch"in e?+e.pitch:l,p="padding"in e?e.padding:a.padding,d=a.zoomScale(u-o),m=t.Point.convert(e.offset),g=a.centerPoint.add(m),y=a.pointLocation(g),v=t.LngLat.convert(e.center||y);this._normalizeCenter(v);var x=a.project(y),_=a.project(v).sub(x),b=e.curve,w=Math.max(a.width,a.height),T=w/d,k=_.mag();if("minZoom"in e){var A=t.clamp(Math.min(e.minZoom,o,u),a.minZoom,a.maxZoom),M=w/a.zoomScale(A-o);b=Math.sqrt(M/k*2)}var S=b*b;function E(t){var e=(T*T-w*w+(t?-1:1)*S*S*k*k)/(2*(t?T:w)*S*k);return Math.log(Math.sqrt(e*e+1)-e)}function C(t){return(Math.exp(t)-Math.exp(-t))/2}function L(t){return(Math.exp(t)+Math.exp(-t))/2}var I=E(0),P=function(t){return L(I)/L(I+b*t)},z=function(t){return w*((L(I)*(C(e=I+b*t)/L(e))-C(I))/S)/k;var e},O=(E(1)-I)/b;if(Math.abs(k)<1e-6||!isFinite(O)){if(Math.abs(w-T)<1e-6)return this.easeTo(e,r);var D=Te.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=s!==h,this._pitching=f!==l,this._padding=!a.isPaddingEqual(p),this._prepareEase(r,!1),this._ease((function(e){var i=e*O,d=1/P(i);a.zoom=1===e?u:o+a.scaleZoom(d),n._rotating&&(a.bearing=t.number(s,h,e)),n._pitching&&(a.pitch=t.number(l,f,e)),n._padding&&(a.interpolatePadding(c,p,e),g=a.centerPoint.add(m));var y=1===e?v:a.unproject(x.add(_.mult(z(i))).mult(d));a.setLocationAtPoint(a.renderWorldCopies?y.wrap():y,g),n._fireMoveEvents(r)}),(function(){return n._afterEase(r)}),e),this},r.prototype.isEasing=function(){return!!this._easeFrameId},r.prototype.stop=function(){return this._stop()},r.prototype._stop=function(t,e){if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){var r=this._onEaseEnd;delete this._onEaseEnd,r.call(this,e)}if(!t){var n=this.handlers;n&&n.stop(!1)}return this},r.prototype._ease=function(e,r,n){!1===n.animate||0===n.duration?(e(1),r()):(this._easeStart=t.browser.now(),this._easeOptions=n,this._onEaseFrame=e,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))},r.prototype._renderFrameCallback=function(){var e=Math.min((t.browser.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(e)),e<1?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},r.prototype._normalizeBearing=function(e,r){e=t.wrap(e,-180,180);var n=Math.abs(e-r);return Math.abs(e-360-r)180?-360:r<-180?360:0}},r}(t.Evented),Ei=function(e){void 0===e&&(e={}),this.options=e,t.bindAll(["_toggleAttribution","_updateEditLink","_updateData","_updateCompact"],this)};Ei.prototype.getDefaultPosition=function(){return"bottom-right"},Ei.prototype.onAdd=function(t){var e=this.options&&this.options.compact;return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-attrib"),this._compactButton=r.create("button","mapboxgl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=r.create("div","mapboxgl-ctrl-attrib-inner",this._container),this._innerContainer.setAttribute("role","list"),e&&this._container.classList.add("mapboxgl-compact"),this._updateAttributions(),this._updateEditLink(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("moveend",this._updateEditLink),void 0===e&&(this._map.on("resize",this._updateCompact),this._updateCompact()),this._container},Ei.prototype.onRemove=function(){r.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("moveend",this._updateEditLink),this._map.off("resize",this._updateCompact),this._map=void 0,this._attribHTML=void 0},Ei.prototype._setElementTitle=function(t,e){var r=this._map._getUIString("AttributionControl."+e);t.title=r,t.setAttribute("aria-label",r)},Ei.prototype._toggleAttribution=function(){this._container.classList.contains("mapboxgl-compact-show")?(this._container.classList.remove("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-pressed","false")):(this._container.classList.add("mapboxgl-compact-show"),this._compactButton.setAttribute("aria-pressed","true"))},Ei.prototype._updateEditLink=function(){var e=this._editLink;e||(e=this._editLink=this._container.querySelector(".mapbox-improve-map"));var r=[{key:"owner",value:this.styleOwner},{key:"id",value:this.styleId},{key:"access_token",value:this._map._requestManager._customAccessToken||t.config.ACCESS_TOKEN}];if(e){var n=r.reduce((function(t,e,n){return e.value&&(t+=e.key+"="+e.value+(n=0)return!1;return!0}))).join(" | ");o!==this._attribHTML&&(this._attribHTML=o,t.length?(this._innerContainer.innerHTML=o,this._container.classList.remove("mapboxgl-attrib-empty")):this._container.classList.add("mapboxgl-attrib-empty"),this._editLink=null)}},Ei.prototype._updateCompact=function(){this._map.getCanvasContainer().offsetWidth<=640?this._container.classList.add("mapboxgl-compact"):this._container.classList.remove("mapboxgl-compact","mapboxgl-compact-show")};var Ci=function(){t.bindAll(["_updateLogo"],this),t.bindAll(["_updateCompact"],this)};Ci.prototype.onAdd=function(t){this._map=t,this._container=r.create("div","mapboxgl-ctrl");var e=r.create("a","mapboxgl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://www.mapbox.com/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="none",this._map.on("sourcedata",this._updateLogo),this._updateLogo(),this._map.on("resize",this._updateCompact),this._updateCompact(),this._container},Ci.prototype.onRemove=function(){r.remove(this._container),this._map.off("sourcedata",this._updateLogo),this._map.off("resize",this._updateCompact)},Ci.prototype.getDefaultPosition=function(){return"bottom-left"},Ci.prototype._updateLogo=function(t){t&&"metadata"!==t.sourceDataType||(this._container.style.display=this._logoRequired()?"block":"none")},Ci.prototype._logoRequired=function(){if(this._map.style){var t=this._map.style.sourceCaches;for(var e in t)if(t[e].getSource().mapbox_logo)return!0;return!1}},Ci.prototype._updateCompact=function(){var t=this._container.children;if(t.length){var e=t[0];this._map.getCanvasContainer().offsetWidth<250?e.classList.add("mapboxgl-compact"):e.classList.remove("mapboxgl-compact")}};var Li=function(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1};Li.prototype.add=function(t){var e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e},Li.prototype.remove=function(t){for(var e=this._currentlyRunning,r=0,n=e?this._queue.concat(e):this._queue;re.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=e.minPitch&&null!=e.maxPitch&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=e.minPitch&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=e.maxPitch&&e.maxPitch>Di)throw new Error("maxPitch must be less than or equal to 60");var i=new In(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies);if(n.call(this,i,e),this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=e.preserveDrawingBuffer,this._antialias=e.antialias,this._trackResize=e.trackResize,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=e.collectResourceTiming,this._renderTaskQueue=new Li,this._controls=[],this._mapId=t.uniqueId(),this._locale=t.extend({},Ii,e.locale),this._clickTolerance=e.clickTolerance,this._requestManager=new t.RequestManager(e.transformRequest,e.accessToken),"string"==typeof e.container){if(this._container=t.window.document.getElementById(e.container),!this._container)throw new Error("Container '"+e.container+"' not found.")}else{if(!(e.container instanceof zi))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),t.bindAll(["_onWindowOnline","_onWindowResize","_onMapScroll","_contextLost","_contextRestored"],this),this._setupContainer(),this._setupPainter(),void 0===this.painter)throw new Error("Failed to initialize WebGL.");this.on("move",(function(){return r._update(!1)})),this.on("moveend",(function(){return r._update(!1)})),this.on("zoom",(function(){return r._update(!0)})),void 0!==t.window&&(t.window.addEventListener("online",this._onWindowOnline,!1),t.window.addEventListener("resize",this._onWindowResize,!1),t.window.addEventListener("orientationchange",this._onWindowResize,!1)),this.handlers=new Mi(this,e);var a="string"==typeof e.hash&&e.hash||void 0;this._hash=e.hash&&new zn(a).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,t.extend({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Ei({customAttribution:e.customAttribution})),this.addControl(new Ci,e.logoPosition),this.on("style.load",(function(){r.transform.unmodified&&r.jumpTo(r.style.stylesheet)})),this.on("data",(function(e){r._update("style"===e.dataType),r.fire(new t.Event(e.dataType+"data",e))})),this.on("dataloading",(function(e){r.fire(new t.Event(e.dataType+"dataloading",e))}))}n&&(i.__proto__=n),i.prototype=Object.create(n&&n.prototype),i.prototype.constructor=i;var a={showTileBoundaries:{configurable:!0},showPadding:{configurable:!0},showCollisionBoxes:{configurable:!0},showOverdrawInspector:{configurable:!0},repaint:{configurable:!0},vertices:{configurable:!0},version:{configurable:!0}};return i.prototype._getMapId=function(){return this._mapId},i.prototype.addControl=function(e,r){if(void 0===r&&(r=e.getDefaultPosition?e.getDefaultPosition():"top-right"),!e||!e.onAdd)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));var n=e.onAdd(this);this._controls.push(e);var i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this},i.prototype.removeControl=function(e){if(!e||!e.onRemove)return this.fire(new t.ErrorEvent(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));var r=this._controls.indexOf(e);return r>-1&&this._controls.splice(r,1),e.onRemove(this),this},i.prototype.hasControl=function(t){return this._controls.indexOf(t)>-1},i.prototype.resize=function(e){var r=this._containerDimensions(),n=r[0],i=r[1];this._resizeCanvas(n,i),this.transform.resize(n,i),this.painter.resize(n,i);var a=!this._moving;return a&&(this.stop(),this.fire(new t.Event("movestart",e)).fire(new t.Event("move",e))),this.fire(new t.Event("resize",e)),a&&this.fire(new t.Event("moveend",e)),this},i.prototype.getBounds=function(){return this.transform.getBounds()},i.prototype.getMaxBounds=function(){return this.transform.getMaxBounds()},i.prototype.setMaxBounds=function(e){return this.transform.setMaxBounds(t.LngLatBounds.convert(e)),this._update()},i.prototype.setMinZoom=function(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")},i.prototype.getMaxZoom=function(){return this.transform.maxZoom},i.prototype.setMinPitch=function(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()Di)throw new Error("maxPitch must be less than or equal to 60");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")},i.prototype.getMaxPitch=function(){return this.transform.maxPitch},i.prototype.getRenderWorldCopies=function(){return this.transform.renderWorldCopies},i.prototype.setRenderWorldCopies=function(t){return this.transform.renderWorldCopies=t,this._update()},i.prototype.project=function(e){return this.transform.locationPoint(t.LngLat.convert(e))},i.prototype.unproject=function(e){return this.transform.pointLocation(t.Point.convert(e))},i.prototype.isMoving=function(){return this._moving||this.handlers.isMoving()},i.prototype.isZooming=function(){return this._zooming||this.handlers.isZooming()},i.prototype.isRotating=function(){return this._rotating||this.handlers.isRotating()},i.prototype._createDelegatedListener=function(t,e,r){var n,i=this;if("mouseenter"===t||"mouseover"===t){var a=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){var o=i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[];o.length?a||(a=!0,r.call(i,new Vn(t,i,n.originalEvent,{features:o}))):a=!1},mouseout:function(){a=!1}}}}if("mouseleave"===t||"mouseout"===t){var o=!1;return{layer:e,listener:r,delegates:{mousemove:function(n){(i.getLayer(e)?i.queryRenderedFeatures(n.point,{layers:[e]}):[]).length?o=!0:o&&(o=!1,r.call(i,new Vn(t,i,n.originalEvent)))},mouseout:function(e){o&&(o=!1,r.call(i,new Vn(t,i,e.originalEvent)))}}}}return{layer:e,listener:r,delegates:(n={},n[t]=function(t){var n=i.getLayer(e)?i.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(i,t),delete t.features)},n)}},i.prototype.on=function(t,e,r){if(void 0===r)return n.prototype.on.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(i),i.delegates)this.on(a,i.delegates[a]);return this},i.prototype.once=function(t,e,r){if(void 0===r)return n.prototype.once.call(this,t,e);var i=this._createDelegatedListener(t,e,r);for(var a in i.delegates)this.once(a,i.delegates[a]);return this},i.prototype.off=function(t,e,r){var i=this;if(void 0===r)return n.prototype.off.call(this,t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&function(n){for(var a=n[t],o=0;o180;){var s=n.locationPoint(e);if(s.x>=0&&s.y>=0&&s.x<=n.width&&s.y<=n.height)break;e.lng>n.center.lng?e.lng-=360:e.lng+=360}return e}Ui.prototype.down=function(t,e){this.mouseRotate.mousedown(t,e),this.mousePitch&&this.mousePitch.mousedown(t,e),r.disableDrag()},Ui.prototype.move=function(t,e){var r=this.map,n=this.mouseRotate.mousemoveWindow(t,e);if(n&&n.bearingDelta&&r.setBearing(r.getBearing()+n.bearingDelta),this.mousePitch){var i=this.mousePitch.mousemoveWindow(t,e);i&&i.pitchDelta&&r.setPitch(r.getPitch()+i.pitchDelta)}},Ui.prototype.off=function(){var t=this.element;r.removeEventListener(t,"mousedown",this.mousedown),r.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),r.removeEventListener(t,"touchmove",this.touchmove),r.removeEventListener(t,"touchend",this.touchend),r.removeEventListener(t,"touchcancel",this.reset),this.offTemp()},Ui.prototype.offTemp=function(){r.enableDrag(),r.removeEventListener(t.window,"mousemove",this.mousemove),r.removeEventListener(t.window,"mouseup",this.mouseup)},Ui.prototype.mousedown=function(e){this.down(t.extend({},e,{ctrlKey:!0,preventDefault:function(){return e.preventDefault()}}),r.mousePos(this.element,e)),r.addEventListener(t.window,"mousemove",this.mousemove),r.addEventListener(t.window,"mouseup",this.mouseup)},Ui.prototype.mousemove=function(t){this.move(t,r.mousePos(this.element,t))},Ui.prototype.mouseup=function(t){this.mouseRotate.mouseupWindow(t),this.mousePitch&&this.mousePitch.mouseupWindow(t),this.offTemp()},Ui.prototype.touchstart=function(t){1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.down({type:"mousedown",button:0,ctrlKey:!0,preventDefault:function(){return t.preventDefault()}},this._startPos))},Ui.prototype.touchmove=function(t){1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.move({preventDefault:function(){return t.preventDefault()}},this._lastPos))},Ui.prototype.touchend=function(t){0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos)=r}this._isDragging&&(this._pos=e.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new t.Event("dragstart"))),this.fire(new t.Event("drag")))},n.prototype._onUp=function(){this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new t.Event("dragend")),this._state="inactive"},n.prototype._addDragHandler=function(t){this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},n.prototype.setDraggable=function(t){return this._draggable=!!t,this._map&&(t?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this},n.prototype.isDraggable=function(){return this._draggable},n.prototype.setRotation=function(t){return this._rotation=t||0,this._update(),this},n.prototype.getRotation=function(){return this._rotation},n.prototype.setRotationAlignment=function(t){return this._rotationAlignment=t||"auto",this._update(),this},n.prototype.getRotationAlignment=function(){return this._rotationAlignment},n.prototype.setPitchAlignment=function(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this},n.prototype.getPitchAlignment=function(){return this._pitchAlignment},n}(t.Evented),Wi={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};var Yi=0,Xi=!1,$i=function(e){function n(r){e.call(this),this.options=t.extend({},Wi,r),t.bindAll(["_onSuccess","_onError","_onZoom","_finish","_setupUI","_updateCamera","_updateMarker"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.onAdd=function(e){return this._map=e,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),n=this._setupUI,void 0!==Gi?n(Gi):void 0!==t.window.navigator.permissions?t.window.navigator.permissions.query({name:"geolocation"}).then((function(t){Gi="denied"!==t.state,n(Gi)})):(Gi=!!t.window.navigator.geolocation,n(Gi)),this._container;var n},n.prototype.onRemove=function(){void 0!==this._geolocationWatchID&&(t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),r.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Yi=0,Xi=!1},n.prototype._isOutOfMapMaxBounds=function(t){var e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitudee.getEast()||r.latitudee.getNorth())},n.prototype._setErrorState=function(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting")}},n.prototype._onSuccess=function(e){if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new t.Event("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background")}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(e),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("geolocate",e)),this._finish()}},n.prototype._updateCamera=function(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude),n=e.coords.accuracy,i=this._map.getBearing(),a=t.extend({bearing:i},this.options.fitBoundsOptions);this._map.fitBounds(r.toBounds(n),a,{geolocateSource:!0})},n.prototype._updateMarker=function(e){if(e){var r=new t.LngLat(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},n.prototype._updateCircleRadius=function(){var t=this._map._container.clientHeight/2,e=this._map.unproject([0,t]),r=this._map.unproject([1,t]),n=e.distanceTo(r),i=Math.ceil(2*this._accuracy/n);this._circleElement.style.width=i+"px",this._circleElement.style.height=i+"px"},n.prototype._onZoom=function(){this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},n.prototype._onError=function(e){if(this._map){if(this.options.trackUserLocation)if(1===e.code){this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;var r=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=r,this._geolocateButton.setAttribute("aria-label",r),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===e.code&&Xi)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("mapboxgl-user-location-dot-stale"),this.fire(new t.Event("error",e)),this._finish()}},n.prototype._finish=function(){this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},n.prototype._setupUI=function(e){var n=this;if(this._container.addEventListener("contextmenu",(function(t){return t.preventDefault()})),this._geolocateButton=r.create("button","mapboxgl-ctrl-geolocate",this._container),r.create("span","mapboxgl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden",!0),this._geolocateButton.type="button",!1===e){t.warnOnce("Geolocation support is not available so the GeolocateControl will be disabled.");var i=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=i,this._geolocateButton.setAttribute("aria-label",i)}else{var a=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=a,this._geolocateButton.setAttribute("aria-label",a)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=r.create("div","mapboxgl-user-location-dot"),this._userLocationDotMarker=new Zi(this._dotElement),this._circleElement=r.create("div","mapboxgl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Zi({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",this.trigger.bind(this)),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(function(e){var r=e.originalEvent&&"resize"===e.originalEvent.type;e.geolocateSource||"ACTIVE_LOCK"!==n._watchState||r||(n._watchState="BACKGROUND",n._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background"),n._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),n.fire(new t.Event("trackuserlocationend")))}))},n.prototype.trigger=function(){if(!this._setup)return t.warnOnce("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new t.Event("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Yi--,Xi=!1,this._watchState="OFF",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background-error"),this.fire(new t.Event("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new t.Event("trackuserlocationstart"))}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active");break;case"ACTIVE_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-active-error");break;case"BACKGROUND":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background");break;case"BACKGROUND_ERROR":this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-background-error")}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){var e;this._geolocateButton.classList.add("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),++Yi>1?(e={maximumAge:6e5,timeout:0},Xi=!0):(e=this.options.positionOptions,Xi=!1),this._geolocationWatchID=t.window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,e)}}else t.window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0},n.prototype._clearWatch=function(){t.window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("mapboxgl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)},n}(t.Evented),Ji={maxWidth:100,unit:"metric"},Ki=function(e){this.options=t.extend({},Ji,e),t.bindAll(["_onMove","setUnit"],this)};function Qi(t,e,r){var n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){var l=3.2808*s;l>5280?ta(e,n,l/5280,t._getUIString("ScaleControl.Miles")):ta(e,n,l,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?ta(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?ta(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):ta(e,n,s,t._getUIString("ScaleControl.Meters"))}function ta(t,e,r,n){var i,a,o,s=(i=r,(a=Math.pow(10,(""+Math.floor(i)).length-1))*((o=i/a)>=10?10:o>=5?5:o>=3?3:o>=2?2:o>=1?1:function(t){var e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(o))),l=s/r;t.style.width=e*l+"px",t.innerHTML=s+" "+n}Ki.prototype.getDefaultPosition=function(){return"bottom-left"},Ki.prototype._onMove=function(){Qi(this._map,this._container,this.options)},Ki.prototype.onAdd=function(t){return this._map=t,this._container=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container},Ki.prototype.onRemove=function(){r.remove(this._container),this._map.off("move",this._onMove),this._map=void 0},Ki.prototype.setUnit=function(t){this.options.unit=t,Qi(this._map,this._container,this.options)};var ea=function(e){this._fullscreen=!1,e&&e.container&&(e.container instanceof t.window.HTMLElement?this._container=e.container:t.warnOnce("Full screen control 'container' must be a DOM element.")),t.bindAll(["_onClickFullscreen","_changeIcon"],this),"onfullscreenchange"in t.window.document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in t.window.document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in t.window.document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in t.window.document&&(this._fullscreenchange="MSFullscreenChange")};ea.prototype.onAdd=function(e){return this._map=e,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create("div","mapboxgl-ctrl mapboxgl-ctrl-group"),this._checkFullscreenSupport()?this._setupUI():(this._controlContainer.style.display="none",t.warnOnce("This device does not support fullscreen mode.")),this._controlContainer},ea.prototype.onRemove=function(){r.remove(this._controlContainer),this._map=null,t.window.document.removeEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._checkFullscreenSupport=function(){return!!(t.window.document.fullscreenEnabled||t.window.document.mozFullScreenEnabled||t.window.document.msFullscreenEnabled||t.window.document.webkitFullscreenEnabled)},ea.prototype._setupUI=function(){var e=this._fullscreenButton=r.create("button","mapboxgl-ctrl-fullscreen",this._controlContainer);r.create("span","mapboxgl-ctrl-icon",e).setAttribute("aria-hidden",!0),e.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),t.window.document.addEventListener(this._fullscreenchange,this._changeIcon)},ea.prototype._updateTitle=function(){var t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t},ea.prototype._getTitle=function(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")},ea.prototype._isFullscreen=function(){return this._fullscreen},ea.prototype._changeIcon=function(){(t.window.document.fullscreenElement||t.window.document.mozFullScreenElement||t.window.document.webkitFullscreenElement||t.window.document.msFullscreenElement)===this._container!==this._fullscreen&&(this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("mapboxgl-ctrl-shrink"),this._fullscreenButton.classList.toggle("mapboxgl-ctrl-fullscreen"),this._updateTitle())},ea.prototype._onClickFullscreen=function(){this._isFullscreen()?t.window.document.exitFullscreen?t.window.document.exitFullscreen():t.window.document.mozCancelFullScreen?t.window.document.mozCancelFullScreen():t.window.document.msExitFullscreen?t.window.document.msExitFullscreen():t.window.document.webkitCancelFullScreen&&t.window.document.webkitCancelFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen&&this._container.webkitRequestFullscreen()};var ra={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px"},na=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", "),ia=function(e){function n(r){e.call(this),this.options=t.extend(Object.create(ra),r),t.bindAll(["_update","_onClose","remove","_onMouseMove","_onMouseUp","_onDrag"],this)}return e&&(n.__proto__=e),n.prototype=Object.create(e&&e.prototype),n.prototype.constructor=n,n.prototype.addTo=function(e){return this._map&&this.remove(),this._map=e,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")):this._map.on("move",this._update),this.fire(new t.Event("open")),this},n.prototype.isOpen=function(){return!!this._map},n.prototype.remove=function(){return this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),delete this._map),this.fire(new t.Event("close")),this},n.prototype.getLngLat=function(){return this._lngLat},n.prototype.setLngLat=function(e){return this._lngLat=t.LngLat.convert(e),this._pos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.remove("mapboxgl-track-pointer")),this},n.prototype.trackPointer=function(){return this._trackPointer=!0,this._pos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("mapboxgl-popup-track-pointer"),this._map._canvasContainer.classList.add("mapboxgl-track-pointer")),this},n.prototype.getElement=function(){return this._container},n.prototype.setText=function(e){return this.setDOMContent(t.window.document.createTextNode(e))},n.prototype.setHTML=function(e){var r,n=t.window.document.createDocumentFragment(),i=t.window.document.createElement("body");for(i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return this.setDOMContent(n)},n.prototype.getMaxWidth=function(){return this._container&&this._container.style.maxWidth},n.prototype.setMaxWidth=function(t){return this.options.maxWidth=t,this._update(),this},n.prototype.setDOMContent=function(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=r.create("div","mapboxgl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this},n.prototype.addClassName=function(t){this._container&&this._container.classList.add(t)},n.prototype.removeClassName=function(t){this._container&&this._container.classList.remove(t)},n.prototype.setOffset=function(t){return this.options.offset=t,this._update(),this},n.prototype.toggleClassName=function(t){if(this._container)return this._container.classList.toggle(t)},n.prototype._createCloseButton=function(){this.options.closeButton&&(this._closeButton=r.create("button","mapboxgl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))},n.prototype._onMouseUp=function(t){this._update(t.point)},n.prototype._onMouseMove=function(t){this._update(t.point)},n.prototype._onDrag=function(t){this._update(t.point)},n.prototype._update=function(t){var e=this,n=this._lngLat||this._trackPointer;if(this._map&&n&&this._content&&(this._container||(this._container=r.create("div","mapboxgl-popup",this._map.getContainer()),this._tip=r.create("div","mapboxgl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className&&this.options.className.split(" ").forEach((function(t){return e._container.classList.add(t)})),this._trackPointer&&this._container.classList.add("mapboxgl-popup-track-pointer")),this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer&&(this._lngLat=Vi(this._lngLat,this._pos,this._map.transform)),!this._trackPointer||t)){var i=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat),a=this.options.anchor,o=aa(this.options.offset);if(!a){var s,l=this._container.offsetWidth,c=this._container.offsetHeight;s=i.y+o.bottom.ythis._map.transform.height-c?["bottom"]:[],i.xthis._map.transform.width-l/2&&s.push("right"),a=0===s.length?"bottom":s.join("-")}var u=i.add(o[a]).round();r.setTransform(this._container,qi[a]+" translate("+u.x+"px,"+u.y+"px)"),Hi(this._container,a,"popup")}},n.prototype._focusFirstElement=function(){if(this.options.focusAfterOpen&&this._container){var t=this._container.querySelector(na);t&&t.focus()}},n.prototype._onClose=function(){this.remove()},n}(t.Evented);function aa(e){if(e){if("number"==typeof e){var r=Math.round(Math.sqrt(.5*Math.pow(e,2)));return{center:new t.Point(0,0),top:new t.Point(0,e),"top-left":new t.Point(r,r),"top-right":new t.Point(-r,r),bottom:new t.Point(0,-e),"bottom-left":new t.Point(r,-r),"bottom-right":new t.Point(-r,-r),left:new t.Point(e,0),right:new t.Point(-e,0)}}if(e instanceof t.Point||Array.isArray(e)){var n=t.Point.convert(e);return{center:n,top:n,"top-left":n,"top-right":n,bottom:n,"bottom-left":n,"bottom-right":n,left:n,right:n}}return{center:t.Point.convert(e.center||[0,0]),top:t.Point.convert(e.top||[0,0]),"top-left":t.Point.convert(e["top-left"]||[0,0]),"top-right":t.Point.convert(e["top-right"]||[0,0]),bottom:t.Point.convert(e.bottom||[0,0]),"bottom-left":t.Point.convert(e["bottom-left"]||[0,0]),"bottom-right":t.Point.convert(e["bottom-right"]||[0,0]),left:t.Point.convert(e.left||[0,0]),right:t.Point.convert(e.right||[0,0])}}return aa(new t.Point(0,0))}var oa={version:t.version,supported:e,setRTLTextPlugin:t.setRTLTextPlugin,getRTLTextPluginStatus:t.getRTLTextPluginStatus,Map:Fi,NavigationControl:ji,GeolocateControl:$i,AttributionControl:Ei,ScaleControl:Ki,FullscreenControl:ea,Popup:ia,Marker:Zi,Style:We,LngLat:t.LngLat,LngLatBounds:t.LngLatBounds,Point:t.Point,MercatorCoordinate:t.MercatorCoordinate,Evented:t.Evented,config:t.config,prewarm:function(){jt().acquire(Rt)},clearPrewarmedResources:function(){var t=Bt;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(Rt),Bt=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},get accessToken(){return t.config.ACCESS_TOKEN},set accessToken(e){t.config.ACCESS_TOKEN=e},get baseApiUrl(){return t.config.API_URL},set baseApiUrl(e){t.config.API_URL=e},get workerCount(){return Ft.workerCount},set workerCount(t){Ft.workerCount=t},get maxParallelImageRequests(){return t.config.MAX_PARALLEL_IMAGE_REQUESTS},set maxParallelImageRequests(e){t.config.MAX_PARALLEL_IMAGE_REQUESTS=e},clearStorage:function(e){t.clearTileCache(e)},workerUrl:""};return oa})),r}()},27549:function(t,e,r){"use strict";t.exports=r(55366)},55366:function(t,e,r){"use strict";var n=r(31625),i=r(75144),a=r(5137),o=r(78112),s=r(6807),l=r(68650),c=r(83473),u=r(60201),h=r(10275),f=r(62914);function p(t,e){for(var r=e[0],n=e[1],a=1/(e[2]-r),o=1/(e[3]-n),s=new Array(t.length),l=0,c=t.length/2;l>>1;e.dtype||(e.dtype="array"),"string"==typeof e.dtype?d=new(h(e.dtype))(g):e.dtype&&(d=e.dtype,Array.isArray(d)&&(d.length=g));for(var y=0;yr||s>1073741824){for(var f=0;fr+i||M>n+i||S=L||o===s)){var l=v[a];void 0===s&&(s=l.length);for(var c=o;c=g&&h<=w&&f>=y&&f<=T&&I.push(u)}var p=x[a],d=p[4*o+0],m=p[4*o+1],_=p[4*o+2],b=p[4*o+3],k=function(t,e){for(var r=null,n=0;null===r;)if(r=t[4*e+n],++n>t.length)return null;return r}(p,o+1),E=.5*i,P=a+1;e(r,n,E,P,d,m||_||b||k),e(r,n+E,E,P,m,_||b||k),e(r+E,n,E,P,_,b||k),e(r+E,n+E,E,P,b,k)}}(0,0,1,0,0,1),I},d;function E(t,e,r){for(var n=1,i=.5,a=.5,o=.5,s=0;si&&(i=t[o]),t[o]1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;it.length)&&(r=t.length),t.substring(r-e.length,r)===e}var x="",_="",b="",w="",T={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function k(t){var e=Object.keys(t),r=Object.create(Object.getPrototypeOf(t));return e.forEach((function(e){r[e]=t[e]})),Object.defineProperty(r,"message",{value:t.message}),r}function A(t){return g(t,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var M=function(t,e){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&p(t,e)}(M,t);var r,i,s,u,h=(r=M,i=f(),function(){var t,e=d(r);if(i){var n=d(this).constructor;t=Reflect.construct(e,arguments,n)}else t=e.apply(this,arguments);return l(this,t)});function M(t){var e;if(function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,M),"object"!==m(t)||null===t)throw new y("options","Object",t);var r=t.message,i=t.operator,a=t.stackStartFn,o=t.actual,s=t.expected,u=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=r)e=h.call(this,String(r));else if(n.stderr&&n.stderr.isTTY&&(n.stderr&&n.stderr.getColorDepth&&1!==n.stderr.getColorDepth()?(x="",_="",w="",b=""):(x="",_="",w="",b="")),"object"===m(o)&&null!==o&&"object"===m(s)&&null!==s&&"stack"in o&&o instanceof Error&&"stack"in s&&s instanceof Error&&(o=k(o),s=k(s)),"deepStrictEqual"===i||"strictEqual"===i)e=h.call(this,function(t,e,r){var i="",a="",o=0,s="",l=!1,c=A(t),u=c.split("\n"),h=A(e).split("\n"),f=0,p="";if("strictEqual"===r&&"object"===m(t)&&"object"===m(e)&&null!==t&&null!==e&&(r="strictEqualObject"),1===u.length&&1===h.length&&u[0]!==h[0]){var d=u[0].length+h[0].length;if(d<=10){if(!("object"===m(t)&&null!==t||"object"===m(e)&&null!==e||0===t&&0===e))return"".concat(T[r],"\n\n")+"".concat(u[0]," !== ").concat(h[0],"\n")}else if("strictEqualObject"!==r&&d<(n.stderr&&n.stderr.isTTY?n.stderr.columns:80)){for(;u[0][f]===h[0][f];)f++;f>2&&(p="\n ".concat(function(t,e){if(e=Math.floor(e),0==t.length||0==e)return"";var r=t.length*e;for(e=Math.floor(Math.log(e)/Math.log(2));e;)t+=t,e--;return t+t.substring(0,r-t.length)}(" ",f),"^"),f=0)}}for(var g=u[u.length-1],y=h[h.length-1];g===y&&(f++<2?s="\n ".concat(g).concat(s):i=g,u.pop(),h.pop(),0!==u.length&&0!==h.length);)g=u[u.length-1],y=h[h.length-1];var k=Math.max(u.length,h.length);if(0===k){var M=c.split("\n");if(M.length>30)for(M[26]="".concat(x,"...").concat(w);M.length>27;)M.pop();return"".concat(T.notIdentical,"\n\n").concat(M.join("\n"),"\n")}f>3&&(s="\n".concat(x,"...").concat(w).concat(s),l=!0),""!==i&&(s="\n ".concat(i).concat(s),i="");var S=0,E=T[r]+"\n".concat(_,"+ actual").concat(w," ").concat(b,"- expected").concat(w),C=" ".concat(x,"...").concat(w," Lines skipped");for(f=0;f1&&f>2&&(L>4?(a+="\n".concat(x,"...").concat(w),l=!0):L>3&&(a+="\n ".concat(h[f-2]),S++),a+="\n ".concat(h[f-1]),S++),o=f,i+="\n".concat(b,"-").concat(w," ").concat(h[f]),S++;else if(h.length1&&f>2&&(L>4?(a+="\n".concat(x,"...").concat(w),l=!0):L>3&&(a+="\n ".concat(u[f-2]),S++),a+="\n ".concat(u[f-1]),S++),o=f,a+="\n".concat(_,"+").concat(w," ").concat(u[f]),S++;else{var I=h[f],P=u[f],z=P!==I&&(!v(P,",")||P.slice(0,-1)!==I);z&&v(I,",")&&I.slice(0,-1)===P&&(z=!1,P+=","),z?(L>1&&f>2&&(L>4?(a+="\n".concat(x,"...").concat(w),l=!0):L>3&&(a+="\n ".concat(u[f-2]),S++),a+="\n ".concat(u[f-1]),S++),o=f,a+="\n".concat(_,"+").concat(w," ").concat(P),i+="\n".concat(b,"-").concat(w," ").concat(I),S+=2):(a+=i,i="",1!==L&&0!==f||(a+="\n ".concat(P),S++))}if(S>20&&f30)for(p[26]="".concat(x,"...").concat(w);p.length>27;)p.pop();e=1===p.length?h.call(this,"".concat(f," ").concat(p[0])):h.call(this,"".concat(f,"\n\n").concat(p.join("\n"),"\n"))}else{var d=A(o),g="",S=T[i];"notDeepEqual"===i||"notEqual"===i?(d="".concat(T[i],"\n\n").concat(d)).length>1024&&(d="".concat(d.slice(0,1021),"...")):(g="".concat(A(s)),d.length>512&&(d="".concat(d.slice(0,509),"...")),g.length>512&&(g="".concat(g.slice(0,509),"...")),"deepEqual"===i||"equal"===i?d="".concat(S,"\n\n").concat(d,"\n\nshould equal\n\n"):g=" ".concat(i," ").concat(g)),e=h.call(this,"".concat(d).concat(g))}return Error.stackTraceLimit=u,e.generatedMessage=!r,Object.defineProperty(c(e),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),e.code="ERR_ASSERTION",e.actual=o,e.expected=s,e.operator=i,Error.captureStackTrace&&Error.captureStackTrace(c(e),a),e.stack,e.name="AssertionError",l(e)}return s=M,(u=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:e,value:function(t,e){return g(this,a(a({},e),{},{customInspect:!1,depth:0}))}}])&&o(s.prototype,u),Object.defineProperty(s,"prototype",{writable:!1}),M}(u(Error),g.custom);t.exports=M},34585:function(t,e,r){"use strict";function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}function i(t,e){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},i(t,e)}function a(t){return a=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},a(t)}var o,s,l={};function c(t,e,r){r||(r=Error);var o=function(r){!function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&i(t,e)}(u,r);var o,s,l,c=(s=u,l=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}(),function(){var t,e=a(s);if(l){var r=a(this).constructor;t=Reflect.construct(e,arguments,r)}else t=e.apply(this,arguments);return function(t,e){if(e&&("object"===n(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t)}(this,t)});function u(r,n,i){var a;return function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,u),a=c.call(this,function(t,r,n){return"string"==typeof e?e:e(t,r,n)}(r,n,i)),a.code=t,a}return o=u,Object.defineProperty(o,"prototype",{writable:!1}),o}(r);l[t]=o}function u(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}c("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),c("ERR_INVALID_ARG_TYPE",(function(t,e,i){var a,s,l,c,h;if(void 0===o&&(o=r(85672)),o("string"==typeof t,"'name' must be a string"),"string"==typeof e&&(s="not ",e.substr(0,4)===s)?(a="must not be",e=e.replace(/^not /,"")):a="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))l="The ".concat(t," ").concat(a," ").concat(u(e,"type"));else{var f=("number"!=typeof h&&(h=0),h+1>(c=t).length||-1===c.indexOf(".",h)?"argument":"property");l='The "'.concat(t,'" ').concat(f," ").concat(a," ").concat(u(e,"type"))}return l+". Received type ".concat(n(i))}),TypeError),c("ERR_INVALID_ARG_VALUE",(function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===s&&(s=r(56557));var i=s.inspect(e);return i.length>128&&(i="".concat(i.slice(0,128),"...")),"The argument '".concat(t,"' ").concat(n,". Received ").concat(i)}),TypeError,RangeError),c("ERR_INVALID_RETURN_VALUE",(function(t,e,r){var i;return i=r&&r.constructor&&r.constructor.name?"instance of ".concat(r.constructor.name):"type ".concat(n(r)),"Expected ".concat(t,' to be returned from the "').concat(e,'"')+" function but got ".concat(i,".")}),TypeError),c("ERR_MISSING_ARGS",(function(){for(var t=arguments.length,e=new Array(t),n=0;n0,"At least one arg needs to be specified");var i="The ",a=e.length;switch(e=e.map((function(t){return'"'.concat(t,'"')})),a){case 1:i+="".concat(e[0]," argument");break;case 2:i+="".concat(e[0]," and ").concat(e[1]," arguments");break;default:i+=e.slice(0,a-1).join(", "),i+=", and ".concat(e[a-1]," arguments")}return"".concat(i," must be specified")}),TypeError),t.exports.codes=l},23879:function(t,e,r){"use strict";function n(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,i,a,o,s=[],l=!0,c=!1;try{if(a=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=a.call(r)).done)&&(s.push(n.value),s.length!==e);l=!0);}catch(t){c=!0,i=t}finally{try{if(!l&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(c)throw i}}return s}}(t,e)||function(t,e){if(t){if("string"==typeof t)return i(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r10)return!0;for(var e=0;e57)return!0}return 10===t.length&&t>=Math.pow(2,32)}function z(t){return Object.keys(t).filter(P).concat(u(t).filter(Object.prototype.propertyIsEnumerable.bind(t)))}function O(t,e){if(t===e)return 0;for(var r=t.length,n=e.length,i=0,a=Math.min(r,n);i>2],a+=n[(3&r[e])<<4|r[e+1]>>4],a+=n[(15&r[e+1])<<2|r[e+2]>>6],a+=n[63&r[e+2]];return i%3==2?a=a.substring(0,a.length-1)+"=":i%3==1&&(a=a.substring(0,a.length-2)+"=="),a},s=function(t){var e,r,n,a,o,s=.75*t.length,l=t.length,c=0;"="===t[t.length-1]&&(s--,"="===t[t.length-2]&&s--);var u=new ArrayBuffer(s),h=new Uint8Array(u);for(e=0;e>4,h[c++]=(15&n)<<4|a>>2,h[c++]=(3&a)<<6|63&o;return u}},76226:function(t,e){"use strict";e.byteLength=function(t){var e=s(t),r=e[0],n=e[1];return 3*(r+n)/4-n},e.toByteArray=function(t){var e,r,a=s(t),o=a[0],l=a[1],c=new i(function(t,e,r){return 3*(e+r)/4-r}(0,o,l)),u=0,h=l>0?o-4:o;for(r=0;r>16&255,c[u++]=e>>8&255,c[u++]=255&e;return 2===l&&(e=n[t.charCodeAt(r)]<<2|n[t.charCodeAt(r+1)]>>4,c[u++]=255&e),1===l&&(e=n[t.charCodeAt(r)]<<10|n[t.charCodeAt(r+1)]<<4|n[t.charCodeAt(r+2)]>>2,c[u++]=e>>8&255,c[u++]=255&e),c},e.fromByteArray=function(t){for(var e,n=t.length,i=n%3,a=[],o=16383,s=0,c=n-i;sc?c:s+o));return 1===i?(e=t[n-1],a.push(r[e>>2]+r[e<<4&63]+"==")):2===i&&(e=(t[n-2]<<8)+t[n-1],a.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),a.join("")};for(var r=[],n=[],i="undefined"!=typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=a[o],n[a.charCodeAt(o)]=o;function s(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function l(t,e,n){for(var i,a,o=[],s=e;s>18&63]+r[a>>12&63]+r[a>>6&63]+r[63&a]);return o.join("")}n["-".charCodeAt(0)]=62,n["_".charCodeAt(0)]=63},31625:function(t){"use strict";function e(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>=0?(a=o,i=o-1):n=o+1}return a}function r(t,e,r,n,i){for(var a=i+1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)>0?(a=o,i=o-1):n=o+1}return a}function n(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<0?(a=o,n=o+1):i=o-1}return a}function i(t,e,r,n,i){for(var a=n-1;n<=i;){var o=n+i>>>1,s=t[o];(void 0!==r?r(s,e):s-e)<=0?(a=o,n=o+1):i=o-1}return a}function a(t,e,r,n,i){for(;n<=i;){var a=n+i>>>1,o=t[a],s=void 0!==r?r(o,e):o-e;if(0===s)return a;s<=0?n=a+1:i=a-1}return-1}function o(t,e,r,n,i,a){return"function"==typeof r?a(t,e,r,void 0===n?0:0|n,void 0===i?t.length-1:0|i):a(t,e,void 0,void 0===r?0:0|r,void 0===n?t.length-1:0|n)}t.exports={ge:function(t,r,n,i,a){return o(t,r,n,i,a,e)},gt:function(t,e,n,i,a){return o(t,e,n,i,a,r)},lt:function(t,e,r,i,a){return o(t,e,r,i,a,n)},le:function(t,e,r,n,a){return o(t,e,r,n,a,i)},eq:function(t,e,r,n,i){return o(t,e,r,n,i,a)}}},54689:function(t,e){"use strict";function r(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}e.INT_BITS=32,e.INT_MAX=2147483647,e.INT_MIN=-1<<31,e.sign=function(t){return(t>0)-(t<0)},e.abs=function(t){var e=t>>31;return(t^e)-e},e.min=function(t,e){return e^(t^e)&-(t65535)<<4,e|=r=((t>>>=e)>255)<<3,e|=r=((t>>>=r)>15)<<2,(e|=r=((t>>>=r)>3)<<1)|(t>>>=r)>>1},e.log10=function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},e.popCount=function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},e.countTrailingZeros=r,e.nextPow2=function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},e.prevPow2=function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},e.parity=function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1};var n=new Array(256);!function(t){for(var e=0;e<256;++e){var r=e,n=e,i=7;for(r>>>=1;r;r>>>=1)n<<=1,n|=1&r,--i;t[e]=n<>>8&255]<<16|n[t>>>16&255]<<8|n[t>>>24&255]},e.interleave2=function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},e.deinterleave2=function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},e.interleave3=function(t,e,r){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(r=1227133513&((r=3272356035&((r=251719695&((r=4278190335&((r&=1023)|r<<16))|r<<8))|r<<4))|r<<2))<<2},e.deinterleave3=function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},e.nextCombination=function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>r(t)+1}},88772:function(t,e,r){"use strict";var n=r(75144);t.exports=function(t,e){e||(e={});var r,o,s,l,c,u,h,f,p,d,m,g=null==e.cutoff?.25:e.cutoff,y=null==e.radius?8:e.radius,v=e.channel||0;if(ArrayBuffer.isView(t)||Array.isArray(t)){if(!e.width||!e.height)throw Error("For raw data width and height should be provided by options");r=e.width,o=e.height,l=t,u=e.stride?e.stride:Math.floor(t.length/r/o)}else window.HTMLCanvasElement&&t instanceof window.HTMLCanvasElement?(h=(f=t).getContext("2d"),r=f.width,o=f.height,l=(p=h.getImageData(0,0,r,o)).data,u=4):window.CanvasRenderingContext2D&&t instanceof window.CanvasRenderingContext2D?(h=t,r=(f=t.canvas).width,o=f.height,l=(p=h.getImageData(0,0,r,o)).data,u=4):window.ImageData&&t instanceof window.ImageData&&(p=t,r=t.width,o=t.height,l=p.data,u=4);if(s=Math.max(r,o),window.Uint8ClampedArray&&l instanceof window.Uint8ClampedArray||window.Uint8Array&&l instanceof window.Uint8Array)for(c=l,l=Array(r*o),d=0,m=c.length;d-1?i(r):r}},87227:function(t,e,r){"use strict";var n=r(87547),i=r(71129),a=r(73285),o=r(48631),s=i("%Function.prototype.apply%"),l=i("%Function.prototype.call%"),c=i("%Reflect.apply%",!0)||n.call(l,s),u=r(40891),h=i("%Math.max%");t.exports=function(t){if("function"!=typeof t)throw new o("a function is required");var e=c(n,l,arguments);return a(e,1+h(0,t.length-(arguments.length-1)),!0)};var f=function(){return c(n,s,arguments)};u?u(t.exports,"apply",{value:f}):t.exports.apply=f},75144:function(t){t.exports=function(t,e,r){return er?r:t:te?e:t}},46762:function(t,e,r){"use strict";var n=r(75144);function i(t,e){null==e&&(e=!0);var r=t[0],i=t[1],a=t[2],o=t[3];return null==o&&(o=e?1:255),e&&(r*=255,i*=255,a*=255,o*=255),16777216*(r=255&n(r,0,255))+((i=255&n(i,0,255))<<16)+((a=255&n(a,0,255))<<8)+(255&n(o,0,255))}t.exports=i,t.exports.to=i,t.exports.from=function(t,e){var r=(t=+t)>>>24,n=(16711680&t)>>>16,i=(65280&t)>>>8,a=255&t;return!1===e?[r,n,i,a]:[r/255,n/255,i/255,a/255]}},86040:function(t){"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},162:function(t,e,r){"use strict";var n=r(16401),i=r(75144),a=r(10275);t.exports=function(t,e){"float"!==e&&e||(e="array"),"uint"===e&&(e="uint8"),"uint_clamped"===e&&(e="uint8_clamped");var r=new(a(e))(4),o="uint8"!==e&&"uint8_clamped"!==e;return t.length&&"string"!=typeof t||((t=n(t))[0]/=255,t[1]/=255,t[2]/=255),function(t){return t instanceof Uint8Array||t instanceof Uint8ClampedArray||!!(Array.isArray(t)&&(t[0]>1||0===t[0])&&(t[1]>1||0===t[1])&&(t[2]>1||0===t[2])&&(!t[3]||t[3]>1))}(t)?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:255,o&&(r[0]/=255,r[1]/=255,r[2]/=255,r[3]/=255),r):(o?(r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=null!=t[3]?t[3]:1):(r[0]=i(Math.floor(255*t[0]),0,255),r[1]=i(Math.floor(255*t[1]),0,255),r[2]=i(Math.floor(255*t[2]),0,255),r[3]=null==t[3]?255:i(Math.floor(255*t[3]),0,255)),r)}},16401:function(t,e,r){"use strict";var n=r(10826),i=r(52132),a=r(75144);t.exports=function(t){var e,r=n(t);return r.space?((e=Array(3))[0]=a(r.values[0],0,255),e[1]=a(r.values[1],0,255),e[2]=a(r.values[2],0,255),"h"===r.space[0]&&(e=i.rgb(e)),e.push(a(r.alpha,0,1)),e):[]}},10826:function(t,e,r){"use strict";var n=r(86040);t.exports=function(t){var e,r,a=[],o=1;if("string"==typeof t)if(t=t.toLowerCase(),n[t])a=n[t].slice(),r="rgb";else if("transparent"===t)o=0,r="rgb",a=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var s=t.slice(1);o=1,(u=s.length)<=4?(a=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],4===u&&(o=parseInt(s[3]+s[3],16)/255)):(a=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],8===u&&(o=parseInt(s[6]+s[7],16)/255)),a[0]||(a[0]=0),a[1]||(a[1]=0),a[2]||(a[2]=0),r="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var l=e[1],c="rgb"===l;r=s=l.replace(/a$/,"");var u="cmyk"===s?4:"gray"===s?1:3;a=e[2].trim().split(/\s*[,\/]\s*|\s+/).map((function(t,e){if(/%$/.test(t))return e===u?parseFloat(t)/100:"rgb"===s?255*parseFloat(t)/100:parseFloat(t);if("h"===s[e]){if(/deg$/.test(t))return parseFloat(t);if(void 0!==i[t])return i[t]}return parseFloat(t)})),l===s&&a.push(1),o=c||void 0===a[u]?1:a[u],a=a.slice(0,u)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(a=t.match(/([0-9]+)/g).map((function(t){return parseFloat(t)})),r=t.match(/([a-z])/gi).join("").toLowerCase());else isNaN(t)?Array.isArray(t)||t.length?(a=[t[0],t[1],t[2]],r="rgb",o=4===t.length?t[3]:1):t instanceof Object&&(null!=t.r||null!=t.red||null!=t.R?(r="rgb",a=[t.r||t.red||t.R||0,t.g||t.green||t.G||0,t.b||t.blue||t.B||0]):(r="hsl",a=[t.h||t.hue||t.H||0,t.s||t.saturation||t.S||0,t.l||t.lightness||t.L||t.b||t.brightness]),o=t.a||t.alpha||t.opacity||1,null!=t.opacity&&(o/=100)):(r="rgb",a=[t>>>16,(65280&t)>>>8,255&t]);return{space:r,values:a,alpha:o}};var i={red:0,orange:60,yellow:120,green:180,blue:240,purple:300}},52132:function(t,e,r){"use strict";var n=r(10520);t.exports={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e,r,n,i,a,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[a=255*l,a,a];e=2*l-(r=l<.5?l*(1+s):l+s-l*s),i=[0,0,0];for(var c=0;c<3;c++)(n=o+1/3*-(c-1))<0?n++:n>1&&n--,a=6*n<1?e+6*(r-e)*n:2*n<1?r:3*n<2?e+(r-e)*(2/3-n)*6:e,i[c]=255*a;return i}},n.hsl=function(t){var e,r,n=t[0]/255,i=t[1]/255,a=t[2]/255,o=Math.min(n,i,a),s=Math.max(n,i,a),l=s-o;return s===o?e=0:n===s?e=(i-a)/l:i===s?e=2+(a-n)/l:a===s&&(e=4+(n-i)/l),(e=Math.min(60*e,360))<0&&(e+=360),r=(o+s)/2,[e,100*(s===o?0:r<=.5?l/(s+o):l/(2-s-o)),100*r]}},10520:function(t){"use strict";t.exports={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]}},78171:function(t){t.exports={AFG:"afghan",ALA:"\\b\\wland",ALB:"albania",DZA:"algeria",ASM:"^(?=.*americ).*samoa",AND:"andorra",AGO:"angola",AIA:"anguill?a",ATA:"antarctica",ATG:"antigua",ARG:"argentin",ARM:"armenia",ABW:"^(?!.*bonaire).*\\baruba",AUS:"australia",AUT:"^(?!.*hungary).*austria|\\baustri.*\\bemp",AZE:"azerbaijan",BHS:"bahamas",BHR:"bahrain",BGD:"bangladesh|^(?=.*east).*paki?stan",BRB:"barbados",BLR:"belarus|byelo",BEL:"^(?!.*luxem).*belgium",BLZ:"belize|^(?=.*british).*honduras",BEN:"benin|dahome",BMU:"bermuda",BTN:"bhutan",BOL:"bolivia",BES:"^(?=.*bonaire).*eustatius|^(?=.*carib).*netherlands|\\bbes.?islands",BIH:"herzegovina|bosnia",BWA:"botswana|bechuana",BVT:"bouvet",BRA:"brazil",IOT:"british.?indian.?ocean",BRN:"brunei",BGR:"bulgaria",BFA:"burkina|\\bfaso|upper.?volta",BDI:"burundi",CPV:"verde",KHM:"cambodia|kampuchea|khmer",CMR:"cameroon",CAN:"canada",CYM:"cayman",CAF:"\\bcentral.african.republic",TCD:"\\bchad",CHL:"\\bchile",CHN:"^(?!.*\\bmac)(?!.*\\bhong)(?!.*\\btai)(?!.*\\brep).*china|^(?=.*peo)(?=.*rep).*china",CXR:"christmas",CCK:"\\bcocos|keeling",COL:"colombia",COM:"comoro",COG:"^(?!.*\\bdem)(?!.*\\bd[\\.]?r)(?!.*kinshasa)(?!.*zaire)(?!.*belg)(?!.*l.opoldville)(?!.*free).*\\bcongo",COK:"\\bcook",CRI:"costa.?rica",CIV:"ivoire|ivory",HRV:"croatia",CUB:"\\bcuba",CUW:"^(?!.*bonaire).*\\bcura(c|ç)ao",CYP:"cyprus",CSK:"czechoslovakia",CZE:"^(?=.*rep).*czech|czechia|bohemia",COD:"\\bdem.*congo|congo.*\\bdem|congo.*\\bd[\\.]?r|\\bd[\\.]?r.*congo|belgian.?congo|congo.?free.?state|kinshasa|zaire|l.opoldville|drc|droc|rdc",DNK:"denmark",DJI:"djibouti",DMA:"dominica(?!n)",DOM:"dominican.rep",ECU:"ecuador",EGY:"egypt",SLV:"el.?salvador",GNQ:"guine.*eq|eq.*guine|^(?=.*span).*guinea",ERI:"eritrea",EST:"estonia",ETH:"ethiopia|abyssinia",FLK:"falkland|malvinas",FRO:"faroe|faeroe",FJI:"fiji",FIN:"finland",FRA:"^(?!.*\\bdep)(?!.*martinique).*france|french.?republic|\\bgaul",GUF:"^(?=.*french).*guiana",PYF:"french.?polynesia|tahiti",ATF:"french.?southern",GAB:"gabon",GMB:"gambia",GEO:"^(?!.*south).*georgia",DDR:"german.?democratic.?republic|democratic.?republic.*germany|east.germany",DEU:"^(?!.*east).*germany|^(?=.*\\bfed.*\\brep).*german",GHA:"ghana|gold.?coast",GIB:"gibraltar",GRC:"greece|hellenic|hellas",GRL:"greenland",GRD:"grenada",GLP:"guadeloupe",GUM:"\\bguam",GTM:"guatemala",GGY:"guernsey",GIN:"^(?!.*eq)(?!.*span)(?!.*bissau)(?!.*portu)(?!.*new).*guinea",GNB:"bissau|^(?=.*portu).*guinea",GUY:"guyana|british.?guiana",HTI:"haiti",HMD:"heard.*mcdonald",VAT:"holy.?see|vatican|papal.?st",HND:"^(?!.*brit).*honduras",HKG:"hong.?kong",HUN:"^(?!.*austr).*hungary",ISL:"iceland",IND:"india(?!.*ocea)",IDN:"indonesia",IRN:"\\biran|persia",IRQ:"\\biraq|mesopotamia",IRL:"(^ireland)|(^republic.*ireland)",IMN:"^(?=.*isle).*\\bman",ISR:"israel",ITA:"italy",JAM:"jamaica",JPN:"japan",JEY:"jersey",JOR:"jordan",KAZ:"kazak",KEN:"kenya|british.?east.?africa|east.?africa.?prot",KIR:"kiribati",PRK:"^(?=.*democrat|people|north|d.*p.*.r).*\\bkorea|dprk|korea.*(d.*p.*r)",KWT:"kuwait",KGZ:"kyrgyz|kirghiz",LAO:"\\blaos?\\b",LVA:"latvia",LBN:"lebanon",LSO:"lesotho|basuto",LBR:"liberia",LBY:"libya",LIE:"liechtenstein",LTU:"lithuania",LUX:"^(?!.*belg).*luxem",MAC:"maca(o|u)",MDG:"madagascar|malagasy",MWI:"malawi|nyasa",MYS:"malaysia",MDV:"maldive",MLI:"\\bmali\\b",MLT:"\\bmalta",MHL:"marshall",MTQ:"martinique",MRT:"mauritania",MUS:"mauritius",MYT:"\\bmayotte",MEX:"\\bmexic",FSM:"fed.*micronesia|micronesia.*fed",MCO:"monaco",MNG:"mongolia",MNE:"^(?!.*serbia).*montenegro",MSR:"montserrat",MAR:"morocco|\\bmaroc",MOZ:"mozambique",MMR:"myanmar|burma",NAM:"namibia",NRU:"nauru",NPL:"nepal",NLD:"^(?!.*\\bant)(?!.*\\bcarib).*netherlands",ANT:"^(?=.*\\bant).*(nether|dutch)",NCL:"new.?caledonia",NZL:"new.?zealand",NIC:"nicaragua",NER:"\\bniger(?!ia)",NGA:"nigeria",NIU:"niue",NFK:"norfolk",MNP:"mariana",NOR:"norway",OMN:"\\boman|trucial",PAK:"^(?!.*east).*paki?stan",PLW:"palau",PSE:"palestin|\\bgaza|west.?bank",PAN:"panama",PNG:"papua|new.?guinea",PRY:"paraguay",PER:"peru",PHL:"philippines",PCN:"pitcairn",POL:"poland",PRT:"portugal",PRI:"puerto.?rico",QAT:"qatar",KOR:"^(?!.*d.*p.*r)(?!.*democrat)(?!.*people)(?!.*north).*\\bkorea(?!.*d.*p.*r)",MDA:"moldov|b(a|e)ssarabia",REU:"r(e|é)union",ROU:"r(o|u|ou)mania",RUS:"\\brussia|soviet.?union|u\\.?s\\.?s\\.?r|socialist.?republics",RWA:"rwanda",BLM:"barth(e|é)lemy",SHN:"helena",KNA:"kitts|\\bnevis",LCA:"\\blucia",MAF:"^(?=.*collectivity).*martin|^(?=.*france).*martin(?!ique)|^(?=.*french).*martin(?!ique)",SPM:"miquelon",VCT:"vincent",WSM:"^(?!.*amer).*samoa",SMR:"san.?marino",STP:"\\bs(a|ã)o.?tom(e|é)",SAU:"\\bsa\\w*.?arabia",SEN:"senegal",SRB:"^(?!.*monte).*serbia",SYC:"seychell",SLE:"sierra",SGP:"singapore",SXM:"^(?!.*martin)(?!.*saba).*maarten",SVK:"^(?!.*cze).*slovak",SVN:"slovenia",SLB:"solomon",SOM:"somali",ZAF:"south.africa|s\\\\..?africa",SGS:"south.?georgia|sandwich",SSD:"\\bs\\w*.?sudan",ESP:"spain",LKA:"sri.?lanka|ceylon",SDN:"^(?!.*\\bs(?!u)).*sudan",SUR:"surinam|dutch.?guiana",SJM:"svalbard",SWZ:"swaziland",SWE:"sweden",CHE:"switz|swiss",SYR:"syria",TWN:"taiwan|taipei|formosa|^(?!.*peo)(?=.*rep).*china",TJK:"tajik",THA:"thailand|\\bsiam",MKD:"macedonia|fyrom",TLS:"^(?=.*leste).*timor|^(?=.*east).*timor",TGO:"togo",TKL:"tokelau",TON:"tonga",TTO:"trinidad|tobago",TUN:"tunisia",TUR:"turkey",TKM:"turkmen",TCA:"turks",TUV:"tuvalu",UGA:"uganda",UKR:"ukrain",ARE:"emirates|^u\\.?a\\.?e\\.?$|united.?arab.?em",GBR:"united.?kingdom|britain|^u\\.?k\\.?$",TZA:"tanzania",USA:"united.?states\\b(?!.*islands)|\\bu\\.?s\\.?a\\.?\\b|^\\s*u\\.?s\\.?\\b(?!.*islands)",UMI:"minor.?outlying.?is",URY:"uruguay",UZB:"uzbek",VUT:"vanuatu|new.?hebrides",VEN:"venezuela",VNM:"^(?!.*republic).*viet.?nam|^(?=.*socialist).*viet.?nam",VGB:"^(?=.*\\bu\\.?\\s?k).*virgin|^(?=.*brit).*virgin|^(?=.*kingdom).*virgin",VIR:"^(?=.*\\bu\\.?\\s?s).*virgin|^(?=.*states).*virgin",WLF:"futuna|wallis",ESH:"western.sahara",YEM:"^(?!.*arab)(?!.*north)(?!.*sana)(?!.*peo)(?!.*dem)(?!.*south)(?!.*aden)(?!.*\\bp\\.?d\\.?r).*yemen",YMD:"^(?=.*peo).*yemen|^(?!.*rep)(?=.*dem).*yemen|^(?=.*south).*yemen|^(?=.*aden).*yemen|^(?=.*\\bp\\.?d\\.?r).*yemen",YUG:"yugoslavia",ZMB:"zambia|northern.?rhodesia",EAZ:"zanzibar",ZWE:"zimbabwe|^(?!.*northern).*rhodesia"}},59518:function(t,e,r){"use strict";t.exports={parse:r(86029),stringify:r(38211)}},87724:function(t,e,r){"use strict";var n=r(23648);t.exports={isSize:function(t){return/^[\d\.]/.test(t)||-1!==t.indexOf("/")||-1!==n.indexOf(t)}}},86029:function(t,e,r){"use strict";var n=r(80886),i=r(54324),a=r(94316),o=r(99803),s=r(87486),l=r(2362),c=r(28089),u=r(87724).isSize;t.exports=f;var h=f.cache={};function f(t){if("string"!=typeof t)throw new Error("Font argument must be a string.");if(h[t])return h[t];if(""===t)throw new Error("Cannot parse an empty string.");if(-1!==a.indexOf(t))return h[t]={system:t};for(var e,r={style:"normal",variant:"normal",weight:"normal",stretch:"normal",lineHeight:"normal",size:"1rem",family:["serif"]},f=c(t,/\s+/);e=f.shift();){if(-1!==i.indexOf(e))return["style","variant","weight","stretch"].forEach((function(t){r[t]=e})),h[t]=r;if(-1===s.indexOf(e))if("normal"!==e&&"small-caps"!==e)if(-1===l.indexOf(e)){if(-1===o.indexOf(e)){if(u(e)){var d=c(e,"/");if(r.size=d[0],null!=d[1]?r.lineHeight=p(d[1]):"/"===f[0]&&(f.shift(),r.lineHeight=p(f.shift())),!f.length)throw new Error("Missing required font-family.");return r.family=c(f.join(" "),/\s*,\s*/).map(n),h[t]=r}throw new Error("Unknown or unsupported font token: "+e)}r.weight=e}else r.stretch=e;else r.variant=e;else r.style=e}throw new Error("Missing required font-size.")}function p(t){var e=parseFloat(t);return e.toString()===t?e:t}},38211:function(t,e,r){"use strict";var n=r(6807),i=r(87724).isSize,a=d(r(54324)),o=d(r(94316)),s=d(r(99803)),l=d(r(87486)),c=d(r(2362)),u={normal:1,"small-caps":1},h={serif:1,"sans-serif":1,monospace:1,cursive:1,fantasy:1,"system-ui":1},f="serif";function p(t,e){if(t&&!e[t]&&!a[t])throw Error("Unknown keyword `"+t+"`");return t}function d(t){for(var e={},r=0;r0?" ".concat(e[5]):""," {")),r+=t(e),n&&(r+="}"),e[2]&&(r+="}"),e[4]&&(r+="}"),r})).join("")},e.i=function(t,r,n,i,a){"string"==typeof t&&(t=[[null,t,void 0]]);var o={};if(n)for(var s=0;s0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=a),r&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=r):u[2]=r),i&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=i):u[4]="".concat(i)),e.push(u))}},e}},62133:function(t){"use strict";t.exports=function(t,e){return e||(e={}),t?(t=String(t.__esModule?t.default:t),/^['"].*['"]$/.test(t)&&(t=t.slice(1,-1)),e.hash&&(t+=e.hash),/["'() \t\n]|(%20)/.test(t)||e.needQuotes?'"'.concat(t.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t):t}},22413:function(t){"use strict";t.exports=function(t){return t[1]}},84510:function(t,e,r){"use strict";var n,i=r(80299),a=r(9557),o=r(6887),s=r(86591),l=r(76504),c=r(29854),u=Function.prototype.bind,h=Object.defineProperty,f=Object.prototype.hasOwnProperty;n=function(t,e,r){var n,i=a(e)&&o(e.value);return delete(n=s(e)).writable,delete n.value,n.get=function(){return!r.overwriteDefinition&&f.call(this,t)?i:(e.value=u.call(i,r.resolveContext?r.resolveContext(this):this),h(this,t,e),this[t])},n},t.exports=function(t){var e=l(arguments[1]);return i(e.resolveContext)&&o(e.resolveContext),c(t,(function(t,r){return n(r,t,e)}))}},91819:function(t,e,r){"use strict";var n=r(80299),i=r(63461),a=r(1920),o=r(76504),s=r(2338),l=t.exports=function(t,e){var r,i,l,c,u;return arguments.length<2||"string"!=typeof t?(c=e,e=t,t=null):c=arguments[2],n(t)?(r=s.call(t,"c"),i=s.call(t,"e"),l=s.call(t,"w")):(r=l=!0,i=!1),u={value:e,configurable:r,enumerable:i,writable:l},c?a(o(c),u):u};l.gs=function(t,e,r){var l,c,u,h;return"string"!=typeof t?(u=r,r=e,e=t,t=null):u=arguments[3],n(e)?i(e)?n(r)?i(r)||(u=r,r=void 0):r=void 0:(u=e,e=r=void 0):e=void 0,n(t)?(l=s.call(t,"c"),c=s.call(t,"e")):(l=!0,c=!1),h={get:e,set:r,configurable:l,enumerable:c},u?a(o(u),h):h}},29725:function(t,e,r){"use strict";function n(t,e){return te?1:t>=e?0:NaN}r.d(e,{V_:function(){return n},T9:function(){return s},i2:function(){return c},Am:function(){return u},jk:function(){return h},y1:function(){return f},cz:function(){return p}}),1===(i=n).length&&(a=i,i=function(t,e){return n(a(t),e)});var i,a,o=Array.prototype;function s(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++an&&(n=r)}else for(;++a=r)for(n=r;++an&&(n=r);return n}function l(t){return null===t?NaN:+t}function c(t,e){var r,n=t.length,i=n,a=-1,o=0;if(null==e)for(;++a=0;)for(e=(n=t[i]).length;--e>=0;)r[--o]=n[e];return r}function h(t,e){var r,n,i=t.length,a=-1;if(null==e){for(;++a=r)for(n=r;++ar&&(n=r)}else for(;++a=r)for(n=r;++ar&&(n=r);return n}function f(t,e,r){t=+t,e=+e,r=(i=arguments.length)<2?(e=t,t=0,1):i<3?1:+r;for(var n=-1,i=0|Math.max(0,Math.ceil((e-t)/r)),a=new Array(i);++n=n.length)return null!=t&&r.sort(t),null!=e?e(r):r;for(var c,u,h,f=-1,p=r.length,d=n[i++],m=o(),g=s();++fn.length)return t;var a,o=i[r-1];return null!=e&&r>=n.length?a=t.entries():(a=[],t.each((function(t,e){a.push({key:e,values:s(t,r)})}))),null!=o?a.sort((function(t,e){return o(t.key,e.key)})):a}return r={object:function(t){return a(t,0,l,c)},map:function(t){return a(t,0,u,h)},entries:function(t){return s(a(t,0,u,h),0)},key:function(t){return n.push(t),r},sortKeys:function(t){return i[n.length-1]=t,r},sortValues:function(e){return t=e,r},rollup:function(t){return e=t,r}}}function l(){return{}}function c(t,e,r){t[e]=r}function u(){return o()}function h(t,e,r){t.set(e,r)}function f(){}var p=o.prototype;f.prototype=function(t,e){var r=new f;if(t instanceof f)t.each((function(t){r.add(t)}));else if(t){var n=-1,i=t.length;if(null==e)for(;++n=(a=(m+y)/2))?m=a:y=a,(u=r>=(o=(g+v)/2))?g=o:v=o,i=p,!(p=p[h=u<<1|c]))return i[h]=d,t;if(s=+t._x.call(null,p.data),l=+t._y.call(null,p.data),e===s&&r===l)return d.next=p,i?i[h]=d:t._root=d,t;do{i=i?i[h]=new Array(4):t._root=new Array(4),(c=e>=(a=(m+y)/2))?m=a:y=a,(u=r>=(o=(g+v)/2))?g=o:v=o}while((h=u<<1|c)==(f=(l>=o)<<1|s>=a));return i[f]=p,i[h]=d,t}function s(t,e,r,n,i){this.node=t,this.x0=e,this.y0=r,this.x1=n,this.y1=i}function l(t){return t[0]}function c(t){return t[1]}function u(t,e,r){var n=new h(null==e?l:e,null==r?c:r,NaN,NaN,NaN,NaN);return null==t?n:n.addAll(t)}function h(t,e,r,n,i,a){this._x=t,this._y=e,this._x0=r,this._y0=n,this._x1=i,this._y1=a,this._root=void 0}function f(t){for(var e={data:t.data},r=e;t=t.next;)r=r.next={data:t.data};return e}r.r(e),r.d(e,{forceCenter:function(){return n},forceCollide:function(){return g},forceLink:function(){return _},forceManyBody:function(){return $},forceRadial:function(){return J},forceSimulation:function(){return X},forceX:function(){return K},forceY:function(){return Q}});var p=u.prototype=h.prototype;function d(t){return t.x+t.vx}function m(t){return t.y+t.vy}function g(t){var e,r,n=1,o=1;function s(){for(var t,i,s,c,h,f,p,g=e.length,y=0;yc+d||ih+d||os.index){var m=c-l.x-l.vx,g=h-l.y-l.vy,y=m*m+g*g;yt.r&&(t.r=t[e].r)}function c(){if(e){var n,i,a=e.length;for(r=new Array(a),n=0;nh&&(h=n),if&&(f=i));if(c>h||u>f)return this;for(this.cover(c,u).cover(h,f),r=0;rt||t>=i||n>e||e>=a;)switch(s=(ep||(a=c.y0)>d||(o=c.x1)=v)<<1|t>=y)&&(c=m[m.length-1],m[m.length-1]=m[m.length-1-u],m[m.length-1-u]=c)}else{var x=t-+this._x.call(null,g.data),_=e-+this._y.call(null,g.data),b=x*x+_*_;if(b=(s=(d+g)/2))?d=s:g=s,(u=o>=(l=(m+y)/2))?m=l:y=l,e=p,!(p=p[h=u<<1|c]))return this;if(!p.length)break;(e[h+1&3]||e[h+2&3]||e[h+3&3])&&(r=e,f=h)}for(;p.data!==t;)if(n=p,!(p=p.next))return this;return(i=p.next)&&delete p.next,n?(i?n.next=i:delete n.next,this):e?(i?e[h]=i:delete e[h],(p=e[0]||e[1]||e[2]||e[3])&&p===(e[3]||e[2]||e[1]||e[0])&&!p.length&&(r?r[f]=p:this._root=p),this):(this._root=i,this)},p.removeAll=function(t){for(var e=0,r=t.length;e=0&&(e=t.slice(r+1),t=t.slice(0,r)),t&&!n.hasOwnProperty(t))throw new Error("unknown type: "+t);return{type:t,name:e}}))),o=-1,s=a.length;if(!(arguments.length<2)){if(null!=e&&"function"!=typeof e)throw new Error("invalid callback: "+e);for(;++o0)for(var r,n,i=new Array(r),a=0;a=0&&e._call.call(null,t),e=e._next;--C}()}finally{C=0,function(){for(var t,e,r=M,n=1/0;r;)r._call?(n>r._time&&(n=r._time),t=r,r=r._next):(e=r._next,r._next=null,r=t?t._next=e:M=e);S=t,H(n)}(),O=0}}function q(){var t=R.now(),e=t-z;e>P&&(D-=e,z=t)}function H(t){C||(L&&(L=clearTimeout(L)),t-O>24?(t<1/0&&(L=setTimeout(V,t-R.now()-D)),I&&(I=clearInterval(I))):(I||(z=R.now(),I=setInterval(q,P)),C=1,F(V)))}function G(t){return t.x}function Z(t){return t.y}j.prototype=U.prototype={constructor:j,restart:function(t,e,r){if("function"!=typeof t)throw new TypeError("callback is not a function");r=(null==r?B():+r)+(null==e?0:+e),this._next||S===this||(S?S._next=this:M=this,S=this),this._call=t,this._time=r,H()},stop:function(){this._call&&(this._call=null,this._time=1/0,H())}};var W=10,Y=Math.PI*(3-Math.sqrt(5));function X(t){var e,r=1,n=.001,i=1-Math.pow(n,1/300),a=0,o=.6,s=(0,y.Tj)(),l=U(u),c=E("tick","end");function u(){h(),c.call("tick",e),r1?(null==r?s.remove(t):s.set(t,p(r)),e):s.get(t)},find:function(e,r,n){var i,a,o,s,l,c=0,u=t.length;for(null==n?n=1/0:n*=n,c=0;c1?(c.on(t,r),e):c.on(t)}}}function $(){var t,e,r,n,o=i(-30),s=1,l=1/0,c=.81;function h(n){var i,a=t.length,o=u(t,G,Z).visitAfter(p);for(r=n,i=0;i=l)){(t.data!==e||t.next)&&(0===h&&(d+=(h=a())*h),0===f&&(d+=(f=a())*f),d1?n[0]+n.slice(2):n,+t.slice(r+1)]}r.d(e,{GP:function(){return f},OE:function(){return m}});var i,a=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(t){if(!(e=a.exec(t)))throw new Error("invalid format: "+t);var e;return new s({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}function s(t){this.fill=void 0===t.fill?" ":t.fill+"",this.align=void 0===t.align?">":t.align+"",this.sign=void 0===t.sign?"-":t.sign+"",this.symbol=void 0===t.symbol?"":t.symbol+"",this.zero=!!t.zero,this.width=void 0===t.width?void 0:+t.width,this.comma=!!t.comma,this.precision=void 0===t.precision?void 0:+t.precision,this.trim=!!t.trim,this.type=void 0===t.type?"":t.type+""}function l(t,e){var r=n(t,e);if(!r)return t+"";var i=r[0],a=r[1];return a<0?"0."+new Array(-a).join("0")+i:i.length>a+1?i.slice(0,a+1)+"."+i.slice(a+1):i+new Array(a-i.length+2).join("0")}o.prototype=s.prototype,s.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(void 0===this.width?"":Math.max(1,0|this.width))+(this.comma?",":"")+(void 0===this.precision?"":"."+Math.max(0,0|this.precision))+(this.trim?"~":"")+this.type};var c={"%":function(t,e){return(100*t).toFixed(e)},b:function(t){return Math.round(t).toString(2)},c:function(t){return t+""},d:function(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)},e:function(t,e){return t.toExponential(e)},f:function(t,e){return t.toFixed(e)},g:function(t,e){return t.toPrecision(e)},o:function(t){return Math.round(t).toString(8)},p:function(t,e){return l(100*t,e)},r:l,s:function(t,e){var r=n(t,e);if(!r)return t+"";var a=r[0],o=r[1],s=o-(i=3*Math.max(-8,Math.min(8,Math.floor(o/3))))+1,l=a.length;return s===l?a:s>l?a+new Array(s-l+1).join("0"):s>0?a.slice(0,s)+"."+a.slice(s):"0."+new Array(1-s).join("0")+n(t,Math.max(0,e+s-1))[0]},X:function(t){return Math.round(t).toString(16).toUpperCase()},x:function(t){return Math.round(t).toString(16)}};function u(t){return t}var h,f,p=Array.prototype.map,d=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function m(t){var e,r,a=void 0===t.grouping||void 0===t.thousands?u:(e=p.call(t.grouping,Number),r=t.thousands+"",function(t,n){for(var i=t.length,a=[],o=0,s=e[0],l=0;i>0&&s>0&&(l+s+1>n&&(s=Math.max(1,n-l)),a.push(t.substring(i-=s,i+s)),!((l+=s+1)>n));)s=e[o=(o+1)%e.length];return a.reverse().join(r)}),s=void 0===t.currency?"":t.currency[0]+"",l=void 0===t.currency?"":t.currency[1]+"",h=void 0===t.decimal?".":t.decimal+"",f=void 0===t.numerals?u:function(t){return function(e){return e.replace(/[0-9]/g,(function(e){return t[+e]}))}}(p.call(t.numerals,String)),m=void 0===t.percent?"%":t.percent+"",g=void 0===t.minus?"-":t.minus+"",y=void 0===t.nan?"NaN":t.nan+"";function v(t){var e=(t=o(t)).fill,r=t.align,n=t.sign,u=t.symbol,p=t.zero,v=t.width,x=t.comma,_=t.precision,b=t.trim,w=t.type;"n"===w?(x=!0,w="g"):c[w]||(void 0===_&&(_=12),b=!0,w="g"),(p||"0"===e&&"="===r)&&(p=!0,e="0",r="=");var T="$"===u?s:"#"===u&&/[boxX]/.test(w)?"0"+w.toLowerCase():"",k="$"===u?l:/[%p]/.test(w)?m:"",A=c[w],M=/[defgprs%]/.test(w);function S(t){var o,s,l,c=T,u=k;if("c"===w)u=A(t)+u,t="";else{var m=(t=+t)<0||1/t<0;if(t=isNaN(t)?y:A(Math.abs(t),_),b&&(t=function(t){t:for(var e,r=t.length,n=1,i=-1;n0&&(i=0)}return i>0?t.slice(0,i)+t.slice(e+1):t}(t)),m&&0==+t&&"+"!==n&&(m=!1),c=(m?"("===n?n:g:"-"===n||"("===n?"":n)+c,u=("s"===w?d[8+i/3]:"")+u+(m&&"("===n?")":""),M)for(o=-1,s=t.length;++o(l=t.charCodeAt(o))||l>57){u=(46===l?h+t.slice(o+1):t.slice(o))+u,t=t.slice(0,o);break}}x&&!p&&(t=a(t,1/0));var S=c.length+t.length+u.length,E=S>1)+c+t+u+E.slice(S);break;default:t=E+c+t+u}return f(t)}return _=void 0===_?6:/[gprs]/.test(w)?Math.max(1,Math.min(21,_)):Math.max(0,Math.min(20,_)),S.toString=function(){return t+""},S}return{format:v,formatPrefix:function(t,e){var r,i=v(((t=o(t)).type="f",t)),a=3*Math.max(-8,Math.min(8,Math.floor((r=e,((r=n(Math.abs(r)))?r[1]:NaN)/3)))),s=Math.pow(10,-a),l=d[8+a/3];return function(t){return i(s*t)+l}}}}h=m({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"}),f=h.format,h.formatPrefix},75987:function(t,e,r){"use strict";r.r(e),r.d(e,{geoAiry:function(){return D},geoAiryRaw:function(){return O},geoAitoff:function(){return F},geoAitoffRaw:function(){return R},geoArmadillo:function(){return N},geoArmadilloRaw:function(){return B},geoAugust:function(){return U},geoAugustRaw:function(){return j},geoBaker:function(){return G},geoBakerRaw:function(){return H},geoBerghaus:function(){return Y},geoBerghausRaw:function(){return W},geoBertin1953:function(){return rt},geoBertin1953Raw:function(){return et},geoBoggs:function(){return ut},geoBoggsRaw:function(){return ct},geoBonne:function(){return mt},geoBonneRaw:function(){return dt},geoBottomley:function(){return yt},geoBottomleyRaw:function(){return gt},geoBromley:function(){return xt},geoBromleyRaw:function(){return vt},geoChamberlin:function(){return Et},geoChamberlinAfrica:function(){return St},geoChamberlinRaw:function(){return At},geoCollignon:function(){return Lt},geoCollignonRaw:function(){return Ct},geoCraig:function(){return Pt},geoCraigRaw:function(){return It},geoCraster:function(){return Dt},geoCrasterRaw:function(){return Ot},geoCylindricalEqualArea:function(){return Ft},geoCylindricalEqualAreaRaw:function(){return Rt},geoCylindricalStereographic:function(){return Nt},geoCylindricalStereographicRaw:function(){return Bt},geoEckert1:function(){return Ut},geoEckert1Raw:function(){return jt},geoEckert2:function(){return qt},geoEckert2Raw:function(){return Vt},geoEckert3:function(){return Gt},geoEckert3Raw:function(){return Ht},geoEckert4:function(){return Wt},geoEckert4Raw:function(){return Zt},geoEckert5:function(){return Xt},geoEckert5Raw:function(){return Yt},geoEckert6:function(){return Jt},geoEckert6Raw:function(){return $t},geoEisenlohr:function(){return te},geoEisenlohrRaw:function(){return Qt},geoFahey:function(){return ne},geoFaheyRaw:function(){return re},geoFoucaut:function(){return ae},geoFoucautRaw:function(){return ie},geoFoucautSinusoidal:function(){return se},geoFoucautSinusoidalRaw:function(){return oe},geoGilbert:function(){return fe},geoGingery:function(){return ge},geoGingeryRaw:function(){return pe},geoGinzburg4:function(){return xe},geoGinzburg4Raw:function(){return ve},geoGinzburg5:function(){return be},geoGinzburg5Raw:function(){return _e},geoGinzburg6:function(){return Te},geoGinzburg6Raw:function(){return we},geoGinzburg8:function(){return Ae},geoGinzburg8Raw:function(){return ke},geoGinzburg9:function(){return Se},geoGinzburg9Raw:function(){return Me},geoGringorten:function(){return Le},geoGringortenQuincuncial:function(){return ii},geoGringortenRaw:function(){return Ce},geoGuyou:function(){return Oe},geoGuyouRaw:function(){return ze},geoHammer:function(){return K},geoHammerRaw:function(){return $},geoHammerRetroazimuthal:function(){return Be},geoHammerRetroazimuthalRaw:function(){return Re},geoHealpix:function(){return We},geoHealpixRaw:function(){return qe},geoHill:function(){return Xe},geoHillRaw:function(){return Ye},geoHomolosine:function(){return er},geoHomolosineRaw:function(){return tr},geoHufnagel:function(){return nr},geoHufnagelRaw:function(){return rr},geoHyperelliptical:function(){return sr},geoHyperellipticalRaw:function(){return or},geoInterrupt:function(){return ur},geoInterruptedBoggs:function(){return fr},geoInterruptedHomolosine:function(){return dr},geoInterruptedMollweide:function(){return gr},geoInterruptedMollweideHemispheres:function(){return vr},geoInterruptedQuarticAuthalic:function(){return hn},geoInterruptedSinuMollweide:function(){return _r},geoInterruptedSinusoidal:function(){return wr},geoKavrayskiy7:function(){return kr},geoKavrayskiy7Raw:function(){return Tr},geoLagrange:function(){return Mr},geoLagrangeRaw:function(){return Ar},geoLarrivee:function(){return Cr},geoLarriveeRaw:function(){return Er},geoLaskowski:function(){return Ir},geoLaskowskiRaw:function(){return Lr},geoLittrow:function(){return zr},geoLittrowRaw:function(){return Pr},geoLoximuthal:function(){return Dr},geoLoximuthalRaw:function(){return Or},geoMiller:function(){return Fr},geoMillerRaw:function(){return Rr},geoModifiedStereographic:function(){return Xr},geoModifiedStereographicAlaska:function(){return Hr},geoModifiedStereographicGs48:function(){return Gr},geoModifiedStereographicGs50:function(){return Zr},geoModifiedStereographicLee:function(){return Yr},geoModifiedStereographicMiller:function(){return Wr},geoModifiedStereographicRaw:function(){return Br},geoMollweide:function(){return ot},geoMollweideRaw:function(){return at},geoMtFlatPolarParabolic:function(){return Qr},geoMtFlatPolarParabolicRaw:function(){return Kr},geoMtFlatPolarQuartic:function(){return en},geoMtFlatPolarQuarticRaw:function(){return tn},geoMtFlatPolarSinusoidal:function(){return nn},geoMtFlatPolarSinusoidalRaw:function(){return rn},geoNaturalEarth:function(){return an.A},geoNaturalEarth2:function(){return sn},geoNaturalEarth2Raw:function(){return on},geoNaturalEarthRaw:function(){return an.P},geoNellHammer:function(){return cn},geoNellHammerRaw:function(){return ln},geoNicolosi:function(){return pn},geoNicolosiRaw:function(){return fn},geoPatterson:function(){return kn},geoPattersonRaw:function(){return Tn},geoPeirceQuincuncial:function(){return ai},geoPierceQuincuncial:function(){return ai},geoPolyconic:function(){return Mn},geoPolyconicRaw:function(){return An},geoPolyhedral:function(){return Pn},geoPolyhedralButterfly:function(){return Nn},geoPolyhedralCollignon:function(){return Vn},geoPolyhedralWaterman:function(){return qn},geoProject:function(){return Yn},geoQuantize:function(){return oi},geoQuincuncial:function(){return ni},geoRectangularPolyconic:function(){return li},geoRectangularPolyconicRaw:function(){return si},geoRobinson:function(){return hi},geoRobinsonRaw:function(){return ui},geoSatellite:function(){return pi},geoSatelliteRaw:function(){return fi},geoSinuMollweide:function(){return Qe},geoSinuMollweideRaw:function(){return Ke},geoSinusoidal:function(){return pt},geoSinusoidalRaw:function(){return ft},geoStitch:function(){return Pi},geoTimes:function(){return Oi},geoTimesRaw:function(){return zi},geoTwoPointAzimuthal:function(){return Bi},geoTwoPointAzimuthalRaw:function(){return Ri},geoTwoPointAzimuthalUsa:function(){return Fi},geoTwoPointEquidistant:function(){return Ui},geoTwoPointEquidistantRaw:function(){return Ni},geoTwoPointEquidistantUsa:function(){return ji},geoVanDerGrinten:function(){return qi},geoVanDerGrinten2:function(){return Gi},geoVanDerGrinten2Raw:function(){return Hi},geoVanDerGrinten3:function(){return Wi},geoVanDerGrinten3Raw:function(){return Zi},geoVanDerGrinten4:function(){return Xi},geoVanDerGrinten4Raw:function(){return Yi},geoVanDerGrintenRaw:function(){return Vi},geoWagner:function(){return Ji},geoWagner4:function(){return ra},geoWagner4Raw:function(){return ea},geoWagner6:function(){return ia},geoWagner6Raw:function(){return na},geoWagner7:function(){return Ki},geoWagnerRaw:function(){return $i},geoWiechel:function(){return oa},geoWiechelRaw:function(){return aa},geoWinkel3:function(){return la},geoWinkel3Raw:function(){return sa}});var n=r(94684),i=Math.abs,a=Math.atan,o=Math.atan2,s=(Math.ceil,Math.cos),l=Math.exp,c=Math.floor,u=Math.log,h=Math.max,f=Math.min,p=Math.pow,d=Math.round,m=Math.sign||function(t){return t>0?1:t<0?-1:0},g=Math.sin,y=Math.tan,v=1e-6,x=1e-12,_=Math.PI,b=_/2,w=_/4,T=Math.SQRT1_2,k=I(2),A=I(_),M=2*_,S=180/_,E=_/180;function C(t){return t>1?b:t<-1?-b:Math.asin(t)}function L(t){return t>1?0:t<-1?_:Math.acos(t)}function I(t){return t>0?Math.sqrt(t):0}function P(t){return(l(t)-l(-t))/2}function z(t){return(l(t)+l(-t))/2}function O(t){var e=y(t/2),r=2*u(s(t/2))/(e*e);function n(t,e){var n=s(t),i=s(e),a=g(e),o=i*n,l=-((1-o?u((1+o)/2)/(1-o):-.5)+r/(1+o));return[l*i*g(t),l*a]}return n.invert=function(e,n){var a,l=I(e*e+n*n),c=-t/2,h=50;if(!l)return[0,0];do{var f=c/2,p=s(f),d=g(f),m=d/p,y=-u(i(p));c-=a=(2/m*y-r*m-l)/(-y/(d*d)+1-r/(2*p*p))*(p<0?.7:1)}while(i(a)>v&&--h>0);var x=g(c);return[o(e*x,l*s(c)),C(n*x/l)]},n}function D(){var t=b,e=(0,n.U)(O),r=e(t);return r.radius=function(r){return arguments.length?e(t=r*E):t*S},r.scale(179.976).clipAngle(147)}function R(t,e){var r=s(e),n=function(t){return t?t/Math.sin(t):1}(L(r*s(t/=2)));return[2*r*g(t)*n,g(e)*n]}function F(){return(0,n.A)(R).scale(152.63)}function B(t){var e=g(t),r=s(t),n=t>=0?1:-1,a=y(n*t),l=(1+e-r)/2;function c(t,i){var c=s(i),u=s(t/=2);return[(1+c)*g(t),(n*i>-o(u,a)-.001?0:10*-n)+l+g(i)*r-(1+c)*e*u]}return c.invert=function(t,c){var u=0,h=0,f=50;do{var p=s(u),d=g(u),m=s(h),y=g(h),x=1+m,_=x*d-t,b=l+y*r-x*e*p-c,w=x*p/2,T=-d*y,k=e*x*d/2,A=r*m+e*p*y,M=T*k-A*w,S=(b*T-_*A)/M/2,E=(_*k-b*w)/M;i(E)>2&&(E/=2),u-=S,h-=E}while((i(S)>v||i(E)>v)&&--f>0);return n*h>-o(s(u),a)-.001?[2*u,h]:null},c}function N(){var t=20*E,e=t>=0?1:-1,r=y(e*t),i=(0,n.U)(B),a=i(t),l=a.stream;return a.parallel=function(n){return arguments.length?(r=y((e=(t=n*E)>=0?1:-1)*t),i(t)):t*S},a.stream=function(n){var i=a.rotate(),c=l(n),u=(a.rotate([0,0]),l(n)),h=a.precision();return a.rotate(i),c.sphere=function(){u.polygonStart(),u.lineStart();for(var n=-180*e;e*n<180;n+=90*e)u.point(n,90*e);if(t)for(;e*(n-=3*e*h)>=-180;)u.point(n,e*-o(s(n*E/2),r)*S);u.lineEnd(),u.polygonEnd()},c},a.scale(218.695).center([0,28.0974])}function j(t,e){var r=y(e/2),n=I(1-r*r),i=1+n*s(t/=2),a=g(t)*n/i,o=r/i,l=a*a,c=o*o;return[4/3*a*(3+l-3*c),4/3*o*(3+3*l-c)]}function U(){return(0,n.A)(j).scale(66.1603)}R.invert=function(t,e){if(!(t*t+4*e*e>_*_+v)){var r=t,n=e,a=25;do{var o,l=g(r),c=g(r/2),u=s(r/2),h=g(n),f=s(n),p=g(2*n),d=h*h,m=f*f,y=c*c,x=1-m*u*u,b=x?L(f*u)*I(o=1/x):o=0,w=2*b*f*c-t,T=b*h-e,k=o*(m*y+b*f*u*d),A=o*(.5*l*p-2*b*h*c),M=.25*o*(p*c-b*h*m*l),S=o*(d*u+b*y*f),E=A*M-S*k;if(!E)break;var C=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=C,n-=P}while((i(C)>v||i(P)>v)&&--a>0);return[r,n]}},j.invert=function(t,e){if(e*=3/8,!(t*=3/8)&&i(e)>1)return null;var r=1+t*t+e*e,n=I((r-I(r*r-4*e*e))/2),a=C(n)/3,l=n?function(t){return u(t+I(t*t-1))}(i(e/n))/3:function(t){return u(t+I(t*t+1))}(i(t))/3,c=s(a),h=z(l),f=h*h-c*c;return[2*m(t)*o(P(l)*c,.25-f),2*m(e)*o(h*g(a),.25+f)]};var V=I(8),q=u(1+k);function H(t,e){var r=i(e);return rx&&--c>0);return[t/(s(o)*(V-1/g(o))),m(e)*o]};var Z=r(61957);function W(t){var e=2*_/t;function r(t,r){var n=(0,Z.j)(t,r);if(i(t)>b){var a=o(n[1],n[0]),l=I(n[0]*n[0]+n[1]*n[1]),c=e*d((a-b)/e)+b,u=o(g(a-=c),2-s(a));a=c+C(_/l*g(u))-u,n[0]=l*s(a),n[1]=l*g(a)}return n}return r.invert=function(t,r){var n=I(t*t+r*r);if(n>b){var i=o(r,t),l=e*d((i-b)/e)+b,c=i>l?-1:1,u=n*s(l-i),h=1/y(c*L((u-_)/I(_*(_-2*u)+n*n)));i=l+2*a((h+c*I(h*h-3))/3),t=n*s(i),r=n*g(i)}return Z.j.invert(t,r)},r}function Y(){var t=5,e=(0,n.U)(W),r=e(t),i=r.stream,a=.01,l=-s(a*E),c=g(a*E);return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),u=i(e),h=(r.rotate([0,0]),i(e));return r.rotate(n),u.sphere=function(){h.polygonStart(),h.lineStart();for(var e=0,r=360/t,n=2*_/t,i=90-180/t,u=b;e0&&i(n)>v);return s<0?NaN:r}function tt(t,e,r){return void 0===e&&(e=40),void 0===r&&(r=x),function(n,a,o,s){var l,c,u;o=void 0===o?0:+o,s=void 0===s?0:+s;for(var h=0;hl)o-=c/=2,s-=u/=2;else{l=m;var g=(o>0?-1:1)*r,y=(s>0?-1:1)*r,v=t(o+g,s),x=t(o,s+y),_=(v[0]-f[0])/g,b=(v[1]-f[1])/g,w=(x[0]-f[0])/y,T=(x[1]-f[1])/y,k=T*_-b*w,A=(i(k)<.5?.5:1)/k;if(o+=c=(d*w-p*T)*A,s+=u=(p*b-d*_)*A,i(c)0&&(i[1]*=1+a/1.5*i[0]*i[0]),i}return e.invert=tt(e),e}function rt(){return(0,n.A)(et()).rotate([-16.5,-42]).scale(176.57).center([7.93,.09])}function nt(t,e){var r,n=t*g(e),a=30;do{e-=r=(e+g(e)-n)/(1+s(e))}while(i(r)>v&&--a>0);return e/2}function it(t,e,r){function n(n,i){return[t*n*s(i=nt(r,i)),e*g(i)]}return n.invert=function(n,i){return i=C(i/e),[n/(t*s(i)),C((2*i+g(2*i))/r)]},n}J.invert=function(t,e){var r=2*C(e/2);return[t*s(r/2)/s(r),r]};var at=it(k/b,k,_);function ot(){return(0,n.A)(at).scale(169.529)}var st=2.00276,lt=1.11072;function ct(t,e){var r=nt(_,e);return[st*t/(1/s(e)+lt/s(r)),(e+k*g(r))/st]}function ut(){return(0,n.A)(ct).scale(160.857)}function ht(t){var e=0,r=(0,n.U)(t),i=r(e);return i.parallel=function(t){return arguments.length?r(e=t*E):e*S},i}function ft(t,e){return[t*s(e),e]}function pt(){return(0,n.A)(ft).scale(152.63)}function dt(t){if(!t)return ft;var e=1/y(t);function r(r,n){var i=e+t-n,a=i?r*s(n)/i:i;return[i*g(a),e-i*s(a)]}return r.invert=function(r,n){var i=I(r*r+(n=e-n)*n),a=e+t-i;return[i/s(a)*o(r,n),a]},r}function mt(){return ht(dt).scale(123.082).center([0,26.1441]).parallel(45)}function gt(t){function e(e,r){var n=b-r,i=n?e*t*g(n)/n:n;return[n*g(i)/t,b-n*s(i)]}return e.invert=function(e,r){var n=e*t,i=b-r,a=I(n*n+i*i),s=o(n,i);return[(a?a/g(a):1)*s/t,b-a]},e}function yt(){var t=.5,e=(0,n.U)(gt),r=e(t);return r.fraction=function(r){return arguments.length?e(t=+r):t},r.scale(158.837)}ct.invert=function(t,e){var r,n,a=st*e,o=e<0?-w:w,l=25;do{n=a-k*g(o),o-=r=(g(2*o)+2*o-_*g(n))/(2*s(2*o)+2+_*s(n)*k*s(o))}while(i(r)>v&&--l>0);return n=a-k*g(o),[t*(1/s(n)+lt/s(o))/st,n]},ft.invert=function(t,e){return[t/s(e),e]};var vt=it(1,4/_,_);function xt(){return(0,n.A)(vt).scale(152.63)}var _t=r(30021),bt=r(30915);function wt(t,e,r,n,a,l){var c,u=s(l);if(i(t)>1||i(l)>1)c=L(r*a+e*n*u);else{var h=g(t/2),f=g(l/2);c=2*C(I(h*h+e*n*f*f))}return i(c)>v?[c,o(n*g(l),e*a-r*n*u)]:[0,0]}function Tt(t,e,r){return L((t*t+e*e-r*r)/(2*t*e))}function kt(t){return t-2*_*c((t+_)/(2*_))}function At(t,e,r){for(var n,i=[[t[0],t[1],g(t[1]),s(t[1])],[e[0],e[1],g(e[1]),s(e[1])],[r[0],r[1],g(r[1]),s(r[1])]],a=i[2],o=0;o<3;++o,a=n)n=i[o],a.v=wt(n[1]-a[1],a[3],a[2],n[3],n[2],n[0]-a[0]),a.point=[0,0];var l=Tt(i[0].v[0],i[2].v[0],i[1].v[0]),c=Tt(i[0].v[0],i[1].v[0],i[2].v[0]),u=_-l;i[2].point[1]=0,i[0].point[0]=-(i[1].point[0]=i[0].v[0]/2);var h=[i[2].point[0]=i[0].point[0]+i[2].v[0]*s(l),2*(i[0].point[1]=i[1].point[1]=i[2].v[0]*g(l))];return function(t,e){var r,n=g(e),a=s(e),o=new Array(3);for(r=0;r<3;++r){var l=i[r];if(o[r]=wt(e-l[1],l[3],l[2],a,n,t-l[0]),!o[r][0])return l.point;o[r][1]=kt(o[r][1]-l.v[1])}var f=h.slice();for(r=0;r<3;++r){var p=2==r?0:r+1,d=Tt(i[r].v[0],o[r][0],o[p][0]);o[r][1]<0&&(d=-d),r?1==r?(d=c-d,f[0]-=o[r][0]*s(d),f[1]-=o[r][0]*g(d)):(d=u-d,f[0]+=o[r][0]*s(d),f[1]+=o[r][0]*g(d)):(f[0]+=o[r][0]*s(d),f[1]-=o[r][0]*g(d))}return f[0]/=3,f[1]/=3,f}}function Mt(t){return t[0]*=E,t[1]*=E,t}function St(){return Et([0,22],[45,22],[22.5,-22]).scale(380).center([22.5,2])}function Et(t,e,r){var i=(0,_t.A)({type:"MultiPoint",coordinates:[t,e,r]}),a=[-i[0],-i[1]],o=(0,bt.A)(a),s=At(Mt(o(t)),Mt(o(e)),Mt(o(r)));s.invert=tt(s);var l=(0,n.A)(s).rotate(a),c=l.center;return delete l.rotate,l.center=function(t){return arguments.length?c(o(t)):o.invert(c())},l.clipAngle(90)}function Ct(t,e){var r=I(1-g(e));return[2/A*t*r,A*(1-r)]}function Lt(){return(0,n.A)(Ct).scale(95.6464).center([0,30])}function It(t){var e=y(t);function r(t,r){return[t,(t?t/g(t):1)*(g(r)*s(t)-e*s(r))]}return r.invert=e?function(t,r){t&&(r*=g(t)/t);var n=s(t);return[t,2*o(I(n*n+e*e-r*r)-n,e-r)]}:function(t,e){return[t,C(t?e*y(t)/t:e)]},r}function Pt(){return ht(It).scale(249.828).clipAngle(90)}Ct.invert=function(t,e){var r=(r=e/A-1)*r;return[r>0?t*I(_/r)/2:0,C(1-r)]};var zt=I(3);function Ot(t,e){return[zt*t*(2*s(2*e/3)-1)/A,zt*A*g(e/3)]}function Dt(){return(0,n.A)(Ot).scale(156.19)}function Rt(t){var e=s(t);function r(t,r){return[t*e,g(r)/e]}return r.invert=function(t,r){return[t/e,C(r*e)]},r}function Ft(){return ht(Rt).parallel(38.58).scale(195.044)}function Bt(t){var e=s(t);function r(t,r){return[t*e,(1+e)*y(r/2)]}return r.invert=function(t,r){return[t/e,2*a(r/(1+e))]},r}function Nt(){return ht(Bt).scale(124.75)}function jt(t,e){var r=I(8/(3*_));return[r*t*(1-i(e)/_),r*e]}function Ut(){return(0,n.A)(jt).scale(165.664)}function Vt(t,e){var r=I(4-3*g(i(e)));return[2/I(6*_)*t*r,m(e)*I(2*_/3)*(2-r)]}function qt(){return(0,n.A)(Vt).scale(165.664)}function Ht(t,e){var r=I(_*(4+_));return[2/r*t*(1+I(1-4*e*e/(_*_))),4/r*e]}function Gt(){return(0,n.A)(Ht).scale(180.739)}function Zt(t,e){var r=(2+b)*g(e);e/=2;for(var n=0,a=1/0;n<10&&i(a)>v;n++){var o=s(e);e-=a=(e+g(e)*(o+2)-r)/(2*o*(1+o))}return[2/I(_*(4+_))*t*(1+s(e)),2*I(_/(4+_))*g(e)]}function Wt(){return(0,n.A)(Zt).scale(180.739)}function Yt(t,e){return[t*(1+s(e))/I(2+_),2*e/I(2+_)]}function Xt(){return(0,n.A)(Yt).scale(173.044)}function $t(t,e){for(var r=(1+b)*g(e),n=0,a=1/0;n<10&&i(a)>v;n++)e-=a=(e+g(e)-r)/(1+s(e));return r=I(2+_),[t*(1+s(e))/r,2*e/r]}function Jt(){return(0,n.A)($t).scale(173.044)}Ot.invert=function(t,e){var r=3*C(e/(zt*A));return[A*t/(zt*(2*s(2*r/3)-1)),r]},jt.invert=function(t,e){var r=I(8/(3*_)),n=e/r;return[t/(r*(1-i(n)/_)),n]},Vt.invert=function(t,e){var r=2-i(e)/I(2*_/3);return[t*I(6*_)/(2*r),m(e)*C((4-r*r)/3)]},Ht.invert=function(t,e){var r=I(_*(4+_))/2;return[t*r/(1+I(1-e*e*(4+_)/(4*_))),e*r/2]},Zt.invert=function(t,e){var r=e*I((4+_)/_)/2,n=C(r),i=s(n);return[t/(2/I(_*(4+_))*(1+i)),C((n+r*(i+2))/(2+b))]},Yt.invert=function(t,e){var r=I(2+_),n=e*r/2;return[r*t/(1+s(n)),n]},$t.invert=function(t,e){var r=1+b,n=I(r/2);return[2*t*n/(1+s(e*=n)),C((e+g(e))/r)]};var Kt=3+2*k;function Qt(t,e){var r=g(t/=2),n=s(t),i=I(s(e)),o=s(e/=2),l=g(e)/(o+k*n*i),c=I(2/(1+l*l)),h=I((k*o+(n+r)*i)/(k*o+(n-r)*i));return[Kt*(c*(h-1/h)-2*u(h)),Kt*(c*l*(h+1/h)-2*a(l))]}function te(){return(0,n.A)(Qt).scale(62.5271)}Qt.invert=function(t,e){if(!(r=j.invert(t/1.2,1.065*e)))return null;var r,n=r[0],o=r[1],l=20;t/=Kt,e/=Kt;do{var c=n/2,p=o/2,d=g(c),m=s(c),y=g(p),x=s(p),_=s(o),w=I(_),A=y/(x+k*m*w),M=A*A,S=I(2/(1+M)),E=(k*x+(m+d)*w)/(k*x+(m-d)*w),C=I(E),L=C-1/C,P=C+1/C,z=S*L-2*u(C)-t,O=S*A*P-2*a(A)-e,D=y&&T*w*d*M/y,R=(k*m*x+w)/(2*(x+k*m*w)*(x+k*m*w)*w),F=-.5*A*S*S*S,B=F*D,N=F*R,U=(U=2*x+k*w*(m-d))*U*C,V=(k*m*x*w+_)/U,q=-k*d*y/(w*U),H=L*B-2*V/C+S*(V+V/E),G=L*N-2*q/C+S*(q+q/E),Z=A*P*B-2*D/(1+M)+S*P*D+S*A*(V-V/E),W=A*P*N-2*R/(1+M)+S*P*R+S*A*(q-q/E),Y=G*Z-W*H;if(!Y)break;var X=(O*G-z*W)/Y,$=(z*Z-O*H)/Y;n-=X,o=h(-b,f(b,o-$))}while((i(X)>v||i($)>v)&&--l>0);return i(i(o)-b)n){var f=I(h),p=o(u,c),m=r*d(p/r),y=p-m,x=t*s(y),w=(t*g(y)-y*g(x))/(b-x),T=de(y,w),k=(_-t)/me(T,x,_);c=f;var A,M=50;do{c-=A=(t+me(T,x,c)*k-f)/(T(c)*k)}while(i(A)>v&&--M>0);u=y*g(c),cn){var c=I(l),u=o(a,e),h=r*d(u/r),f=u-h;e=c*s(f),a=c*g(f);for(var p=e-b,m=g(e),y=a/m,v=ev||i(p)>v)&&--y>0);return[d,m]},u}var ve=ye(2.8284,-1.6988,.75432,-.18071,1.76003,-.38914,.042555);function xe(){return(0,n.A)(ve).scale(149.995)}var _e=ye(2.583819,-.835827,.170354,-.038094,1.543313,-.411435,.082742);function be(){return(0,n.A)(_e).scale(153.93)}var we=ye(5/6*_,-.62636,-.0344,0,1.3493,-.05524,0,.045);function Te(){return(0,n.A)(we).scale(130.945)}function ke(t,e){var r=t*t,n=e*e;return[t*(1-.162388*n)*(.87-952426e-9*r*r),e*(1+n/12)]}function Ae(){return(0,n.A)(ke).scale(131.747)}ke.invert=function(t,e){var r,n=t,a=e,o=50;do{var s=a*a;a-=r=(a*(1+s/12)-e)/(1+s/4)}while(i(r)>v&&--o>0);o=50,t/=1-.162388*s;do{var l=(l=n*n)*l;n-=r=(n*(.87-952426e-9*l)-t)/(.87-.00476213*l)}while(i(r)>v&&--o>0);return[n,a]};var Me=ye(2.6516,-.76534,.19123,-.047094,1.36289,-.13965,.031762);function Se(){return(0,n.A)(Me).scale(131.087)}function Ee(t){var e=t(b,0)[0]-t(-b,0)[0];function r(r,n){var i=r>0?-.5:.5,a=t(r+i*_,n);return a[0]-=i*e,a}return t.invert&&(r.invert=function(r,n){var i=r>0?-.5:.5,a=t.invert(r+i*e,n),o=a[0]-i*_;return o<-_?o+=2*_:o>_&&(o-=2*_),a[0]=o,a}),r}function Ce(t,e){var r=m(t),n=m(e),a=s(e),l=s(t)*a,c=g(t)*a,u=g(n*e);t=i(o(c,u)),e=C(l),i(t-b)>v&&(t%=b);var h=function(t,e){if(e===b)return[0,0];var r,n,a=g(e),o=a*a,l=o*o,c=1+l,u=1+3*l,h=1-l,f=C(1/I(c)),p=h+o*c*f,d=(1-a)/p,m=I(d),y=d*c,x=I(y),w=m*h;if(0===t)return[0,-(w+o*x)];var T,k=s(e),A=1/k,M=2*a*k,S=(-p*k-(1-a)*((-3*o+f*u)*M))/(p*p),E=-A*M,L=-A*(o*c*S+d*u*M),P=-2*A*(h*(.5*S/m)-2*o*m*M),z=4*t/_;if(t>.222*_||e<_/4&&t>.175*_){if(r=(w+o*I(y*(1+l)-w*w))/(1+l),t>_/4)return[r,r];var O=r,D=.5*r;r=.5*(D+O),n=50;do{var R=r*(P+E*I(y-r*r))+L*C(r/x)-z;if(!R)break;R<0?D=r:O=r,r=.5*(D+O)}while(i(O-D)>v&&--n>0)}else{r=v,n=25;do{var F=r*r,B=I(y-F),N=P+E*B,j=r*N+L*C(r/x)-z;r-=T=B?j/(N+(L-E*F)/B):0}while(i(T)>v&&--n>0)}return[r,-w-o*I(y-r*r)]}(t>_/4?b-t:t,e);return t>_/4&&(u=h[0],h[0]=-h[1],h[1]=-u),h[0]*=r,h[1]*=-n,h}function Le(){return(0,n.A)(Ee(Ce)).scale(239.75)}function Ie(t,e){var r,n,o,c,u,h;if(e=1-v)return r=(1-e)/4,o=1/(n=z(t)),[(c=((h=l(2*(h=t)))-1)/(h+1))+r*((u=n*P(t))-t)/(n*n),o-r*c*o*(u-t),o+r*c*o*(u+t),2*a(l(t))-b+r*(u-t)/n];var f=[1,0,0,0,0,0,0,0,0],p=[I(e),0,0,0,0,0,0,0,0],d=0;for(n=I(1-e),u=1;i(p[d]/f[d])>v&&d<8;)r=f[d++],p[d]=(r-n)/2,f[d]=(r+n)/2,n=I(r*n),u*=2;o=u*f[d]*t;do{o=(C(c=p[d]*g(n=o)/f[d])+o)/2}while(--d);return[g(o),c=s(o),c/s(o-n),o]}function Pe(t,e){if(!e)return t;if(1===e)return u(y(t/2+w));for(var r=1,n=I(1-e),o=I(e),s=0;i(o)>v;s++){if(t%_){var l=a(n*y(t)/r);l<0&&(l+=_),t+=l+~~(t/_)*_}else t+=t;o=(r+n)/2,n=I(r*n),o=((r=o)-n)/2}return t/(p(2,s)*r)}function ze(t,e){var r=(k-1)/(k+1),n=I(1-r*r),c=Pe(b,n*n),h=u(y(_/4+i(e)/2)),f=l(-1*h)/I(r),p=function(t,e){var r=t*t,n=e+1,i=1-r-e*e;return[.5*((t>=0?b:-b)-o(i,2*t)),-.25*u(i*i+4*r)+.5*u(n*n+r)]}(f*s(-1*t),f*g(-1*t)),d=function(t,e,r){var n=i(t),o=P(i(e));if(n){var s=1/g(n),l=1/(y(n)*y(n)),c=-(l+r*(o*o*s*s)-1+r),u=(-c+I(c*c-(r-1)*l*4))/2;return[Pe(a(1/I(u)),r)*m(t),Pe(a(I((u/l-1)/r)),1-r)*m(e)]}return[0,Pe(a(o),1-r)*m(e)]}(p[0],p[1],n*n);return[-d[1],(e>=0?1:-1)*(.5*c-d[0])]}function Oe(){return(0,n.A)(Ee(ze)).scale(151.496)}Ce.invert=function(t,e){i(t)>1&&(t=2*m(t)-t),i(e)>1&&(e=2*m(e)-e);var r=m(t),n=m(e),a=-r*t,l=-n*e,c=l/a<1,u=function(t,e){for(var r=0,n=1,a=.5,o=50;;){var l=a*a,c=I(a),u=C(1/I(1+l)),h=1-l+a*(1+l)*u,f=(1-c)/h,p=I(f),d=f*(1+l),m=p*(1-l),g=I(d-t*t),y=e+m+a*g;if(i(n-r)0?r=a:n=a,a=.5*(r+n)}if(!o)return null;var v=C(c),b=s(v),w=1/b,T=2*c*b,k=(-h*b-(-3*a+u*(1+3*l))*T*(1-c))/(h*h);return[_/4*(t*(-2*w*((1-l)*(.5*k/p)-2*a*p*T)+-w*T*g)+-w*(a*(1+l)*k+f*(1+3*l)*T)*C(t/I(d))),v]}(c?l:a,c?a:l),h=u[0],f=u[1],p=s(f);return c&&(h=-b-h),[r*(o(g(h)*p,-g(f))+_),n*C(s(h)*p)]},ze.invert=function(t,e){var r,n,i,s,c,h,f=(k-1)/(k+1),p=I(1-f*f),d=(n=-t,i=p*p,(r=.5*Pe(b,p*p)-e)?(s=Ie(r,i),n?(h=(c=Ie(n,1-i))[1]*c[1]+i*s[0]*s[0]*c[0]*c[0],[[s[0]*c[2]/h,s[1]*s[2]*c[0]*c[1]/h],[s[1]*c[1]/h,-s[0]*s[2]*c[0]*c[2]/h],[s[2]*c[1]*c[2]/h,-i*s[0]*s[1]*c[0]/h]]):[[s[0],0],[s[1],0],[s[2],0]]):[[0,(c=Ie(n,1-i))[0]/c[1]],[1/c[1],0],[c[2]/c[1],0]]),m=function(t,e){var r=e[0]*e[0]+e[1]*e[1];return[(t[0]*e[0]+t[1]*e[1])/r,(t[1]*e[0]-t[0]*e[1])/r]}(d[0],d[1]);return[o(m[1],m[0])/-1,2*a(l(-.5*u(f*m[0]*m[0]+f*m[1]*m[1])))-b]};var De=r(39127);function Re(t){var e=g(t),r=s(t),n=Fe(t);function a(t,a){var o=n(t,a);t=o[0],a=o[1];var l=g(a),c=s(a),u=s(t),h=L(e*l+r*c*u),f=g(h),p=i(f)>v?h/f:1;return[p*r*g(t),(i(t)>b?p:-p)*(e*c-r*l*u)]}return n.invert=Fe(-t),a.invert=function(t,r){var i=I(t*t+r*r),a=-g(i),l=s(i),c=i*l,u=-r*a,h=i*e,f=I(c*c+u*u-h*h),p=o(c*h+u*f,u*h-c*f),d=(i>b?-1:1)*o(t*a,i*s(p)*l+r*g(p)*a);return n.invert(d,p)},a}function Fe(t){var e=g(t),r=s(t);return function(t,n){var i=s(n),a=s(t)*i,l=g(t)*i,c=g(n);return[o(l,a*r-c*e),C(c*r+a*e)]}}function Be(){var t=0,e=(0,n.U)(Re),r=e(t),i=r.rotate,a=r.stream,o=(0,De.A)();return r.parallel=function(n){if(!arguments.length)return t*S;var i=r.rotate();return e(t=n*E).rotate(i)},r.rotate=function(e){return arguments.length?(i.call(r,[e[0],e[1]-t*S]),o.center([-e[0],-e[1]]),r):((e=i.call(r))[1]+=t*S,e)},r.stream=function(t){return(t=a(t)).sphere=function(){t.polygonStart();var e,r=o.radius(89.99)().coordinates[0],n=r.length-1,i=-1;for(t.lineStart();++i=0;)t.point((e=r[i])[0],e[1]);t.lineEnd(),t.polygonEnd()},t},r.scale(79.4187).parallel(45).clipAngle(179.999)}var Ne=r(29725),je=r(20465),Ue=C(1-1/3)*S,Ve=Rt(0);function qe(t){var e=Ue*E,r=Ct(_,e)[0]-Ct(-_,e)[0],n=Ve(0,e)[1],a=Ct(0,e)[1],o=A-a,s=M/t,l=4/M,u=n+o*o*4/M;function p(p,d){var m,g=i(d);if(g>e){var y=f(t-1,h(0,c((p+_)/s)));(m=Ct(p+=_*(t-1)/t-y*s,g))[0]=m[0]*M/r-M*(t-1)/(2*t)+y*M/t,m[1]=n+4*(m[1]-a)*o/M,d<0&&(m[1]=-m[1])}else m=Ve(p,d);return m[0]*=l,m[1]/=u,m}return p.invert=function(e,p){e/=l;var d=i(p*=u);if(d>n){var m=f(t-1,h(0,c((e+_)/s)));e=(e+_*(t-1)/t-m*s)*r/M;var g=Ct.invert(e,.25*(d-n)*M/o+a);return g[0]-=_*(t-1)/t-m*s,p<0&&(g[1]=-g[1]),g}return Ve.invert(e,p)},p}function He(t,e){return[t,1&e?90-v:Ue]}function Ge(t,e){return[t,1&e?-90+v:-Ue]}function Ze(t){return[t[0]*(1-v),t[1]]}function We(){var t=4,e=(0,n.U)(qe),r=e(t),i=r.stream;return r.lobes=function(r){return arguments.length?e(t=+r):t},r.stream=function(e){var n=r.rotate(),a=i(e),o=(r.rotate([0,0]),i(e));return r.rotate(n),a.sphere=function(){var e,r;(0,je.A)((e=180/t,r=[].concat((0,Ne.y1)(-180,180+e/2,e).map(He),(0,Ne.y1)(180,-180-e/2,-e).map(Ge)),{type:"Polygon",coordinates:[180===e?r.map(Ze):r]}),o)},a},r.scale(239.75)}function Ye(t){var e,r=1+t,n=C(g(1/r)),a=2*I(_/(e=_+4*n*r)),l=.5*a*(r+I(t*(2+t))),c=t*t,u=r*r;function h(h,f){var p,d,m=1-g(f);if(m&&m<2){var y,v=b-f,w=25;do{var T=g(v),k=s(v),A=n+o(T,r-k),M=1+u-2*r*k;v-=y=(v-c*n-r*T+M*A-.5*m*e)/(2*r*T*A)}while(i(y)>x&&--w>0);p=a*I(M),d=h*A/_}else p=a*(t+m),d=h*n/_;return[p*g(d),l-p*s(d)]}return h.invert=function(t,i){var s=t*t+(i-=l)*i,h=(1+u-s/(a*a))/(2*r),f=L(h),p=g(f),d=n+o(p,r-h);return[C(t/I(s))*_/d,C(1-2*(f-c*n-r*p+(1+u-2*r*h)*d)/e)]},h}function Xe(){var t=1,e=(0,n.U)(Ye),r=e(t);return r.ratio=function(r){return arguments.length?e(t=+r):t},r.scale(167.774).center([0,18.67])}var $e=.7109889596207567,Je=.0528035274542;function Ke(t,e){return e>-$e?((t=at(t,e))[1]+=Je,t):ft(t,e)}function Qe(){return(0,n.A)(Ke).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}function tr(t,e){return i(e)>$e?((t=at(t,e))[1]-=e>0?Je:-Je,t):ft(t,e)}function er(){return(0,n.A)(tr).scale(152.63)}function rr(t,e,r,n){var i=I(4*_/(2*r+(1+t-e/2)*g(2*r)+(t+e)/2*g(4*r)+e/2*g(6*r))),a=I(n*g(r)*I((1+t*s(2*r)+e*s(4*r))/(1+t+e))),o=r*c(1);function l(r){return I(1+t*s(2*r)+e*s(4*r))}function c(n){var i=n*r;return(2*i+(1+t-e/2)*g(2*i)+(t+e)/2*g(4*i)+e/2*g(6*i))/r}function u(t){return l(t)*g(t)}var h=function(t,e){var n=r*Q(c,o*g(e)/r,e/_);isNaN(n)&&(n=r*m(e));var u=i*l(n);return[u*a*t/_*s(n),u/a*g(n)]};return h.invert=function(t,e){var n=Q(u,e*a/i);return[t*_/(s(n)*i*a*l(n)),C(r*c(n/r)/o)]},0===r&&(i=I(n/_),(h=function(t,e){return[t*i,g(e)/i]}).invert=function(t,e){return[t/i,C(e*i)]}),h}function nr(){var t=1,e=0,r=45*E,i=2,a=(0,n.U)(rr),o=a(t,e,r,i);return o.a=function(n){return arguments.length?a(t=+n,e,r,i):t},o.b=function(n){return arguments.length?a(t,e=+n,r,i):e},o.psiMax=function(n){return arguments.length?a(t,e,r=+n*E,i):r*S},o.ratio=function(n){return arguments.length?a(t,e,r,i=+n):i},o.scale(180.739)}function ir(t,e,r,n,i,a,o,s,l,c,u){if(u.nanEncountered)return NaN;var h,f,p,d,m,g,y,v,x,_;if(f=t(e+.25*(h=r-e)),p=t(r-.25*h),isNaN(f))u.nanEncountered=!0;else{if(!isNaN(p))return _=((g=(d=h*(n+4*f+i)/12)+(m=h*(i+4*p+a)/12))-o)/15,c>l?(u.maxDepthCount++,g+_):Math.abs(_)t?r=n:e=n,n=e+r>>1}while(n>e);var i=c[n+1]-c[n];return i&&(i=(t-c[n+1])/i),(n+1+i)/s}var f=2*h(1)/_*o/r,d=function(t,e){var r=h(i(g(e))),a=n(r)*t;return r/=f,[a,e>=0?r:-r]};return d.invert=function(t,e){var r;return i(e*=f)<1&&(r=m(e)*C(a(i(e))*o)),[t/n(i(e)),r]},d}function sr(){var t=0,e=2.5,r=1.183136,i=(0,n.U)(or),a=i(t,e,r);return a.alpha=function(n){return arguments.length?i(t=+n,e,r):t},a.k=function(n){return arguments.length?i(t,e=+n,r):e},a.gamma=function(n){return arguments.length?i(t,e,r=+n):r},a.scale(152.63)}function lr(t,e){return i(t[0]-e[0])a[o][2][0];++o);var l=t(r-a[o][1][0],n);return l[0]+=t(a[o][1][0],i*n>i*a[o][0][1]?a[o][0][1]:n)[0],l}r?o.invert=r(o):t.invert&&(o.invert=function(r,n){for(var i=a[+(n<0)],s=e[+(n<0)],l=0,c=i.length;l=0;--s)r=(e=t[1][s])[0][0],n=e[0][1],i=e[1][1],a=e[2][0],o=e[2][1],l.push(cr([[a-v,o-v],[a-v,i+v],[r+v,i+v],[r+v,n-v]],30));return{type:"Polygon",coordinates:[(0,Ne.Am)(l)]}}(r),e=r.map((function(t){return t.map((function(t){return[[t[0][0]*E,t[0][1]*E],[t[1][0]*E,t[1][1]*E],[t[2][0]*E,t[2][1]*E]]}))})),a=e.map((function(e){return e.map((function(e){var r,n=t(e[0][0],e[0][1])[0],i=t(e[2][0],e[2][1])[0],a=t(e[1][0],e[0][1])[1],o=t(e[1][0],e[1][1])[1];return a>o&&(r=a,a=o,o=r),[[n,a],[i,o]]}))})),s):e.map((function(t){return t.map((function(t){return[[t[0][0]*S,t[0][1]*S],[t[1][0]*S,t[1][1]*S],[t[2][0]*S,t[2][1]*S]]}))}))},null!=e&&s.lobes(e),s}Ke.invert=function(t,e){return e>-$e?at.invert(t,e-Je):ft.invert(t,e)},tr.invert=function(t,e){return i(e)>$e?at.invert(t,e+(e>0?Je:-Je)):ft.invert(t,e)};var hr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function fr(){return ur(ct,hr).scale(160.857)}var pr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function dr(){return ur(tr,pr).scale(152.63)}var mr=[[[[-180,0],[-100,90],[-40,0]],[[-40,0],[30,90],[180,0]]],[[[-180,0],[-160,-90],[-100,0]],[[-100,0],[-60,-90],[-20,0]],[[-20,0],[20,-90],[80,0]],[[80,0],[140,-90],[180,0]]]];function gr(){return ur(at,mr).scale(169.529)}var yr=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function vr(){return ur(at,yr).scale(169.529).rotate([20,0])}var xr=[[[[-180,35],[-30,90],[0,35]],[[0,35],[30,90],[180,35]]],[[[-180,-10],[-102,-90],[-65,-10]],[[-65,-10],[5,-90],[77,-10]],[[77,-10],[103,-90],[180,-10]]]];function _r(){return ur(Ke,xr,tt).rotate([-20,-55]).scale(164.263).center([0,-5.4036])}var br=[[[[-180,0],[-110,90],[-40,0]],[[-40,0],[0,90],[40,0]],[[40,0],[110,90],[180,0]]],[[[-180,0],[-110,-90],[-40,0]],[[-40,0],[0,-90],[40,0]],[[40,0],[110,-90],[180,0]]]];function wr(){return ur(ft,br).scale(152.63).rotate([-20,0])}function Tr(t,e){return[3/M*t*I(_*_/3-e*e),e]}function kr(){return(0,n.A)(Tr).scale(158.837)}function Ar(t){function e(e,r){if(i(i(r)-b)2)return null;var a=(e/=2)*e,s=(r/=2)*r,l=2*r/(1+a+s);return l=p((1+l)/(1-l),1/t),[o(2*e,1-a-s)/t,C((l-1)/(l+1))]},e}function Mr(){var t=.5,e=(0,n.U)(Ar),r=e(t);return r.spacing=function(r){return arguments.length?e(t=+r):t},r.scale(124.75)}Tr.invert=function(t,e){return[M/3*t/I(_*_/3-e*e),e]};var Sr=_/k;function Er(t,e){return[t*(1+I(s(e)))/2,e/(s(e/2)*s(t/6))]}function Cr(){return(0,n.A)(Er).scale(97.2672)}function Lr(t,e){var r=t*t,n=e*e;return[t*(.975534+n*(-.0143059*r-.119161+-.0547009*n)),e*(1.00384+r*(.0802894+-.02855*n+199025e-9*r)+n*(.0998909+-.0491032*n))]}function Ir(){return(0,n.A)(Lr).scale(139.98)}function Pr(t,e){return[g(t)/s(e),y(e)*s(t)]}function zr(){return(0,n.A)(Pr).scale(144.049).clipAngle(89.999)}function Or(t){var e=s(t),r=y(w+t/2);function n(n,a){var o=a-t,s=i(o)=0;)f=(h=t[u])[0]+l*(i=f)-c*p,p=h[1]+l*p+c*i;return[f=l*(i=f)-c*p,p=l*p+c*i]}return r.invert=function(r,n){var l=20,c=r,u=n;do{for(var h,f=e,p=t[f],d=p[0],m=p[1],y=0,x=0;--f>=0;)y=d+c*(h=y)-u*x,x=m+c*x+u*h,d=(p=t[f])[0]+c*(h=d)-u*m,m=p[1]+c*m+u*h;var _,b,w=(y=d+c*(h=y)-u*x)*y+(x=m+c*x+u*h)*x;c-=_=((d=c*(h=d)-u*m-r)*y+(m=c*m+u*h-n)*x)/w,u-=b=(m*y-d*x)/w}while(i(_)+i(b)>v*v&&--l>0);if(l){var T=I(c*c+u*u),k=2*a(.5*T),A=g(k);return[o(c*A,T*s(k)),T?C(u*A/T):0]}},r}Er.invert=function(t,e){var r=i(t),n=i(e),a=v,o=b;nv||i(x)>v)&&--a>0);return a&&[r,n]},Pr.invert=function(t,e){var r=t*t,n=e*e+1,i=r+n,a=t?T*I((i-I(i*i-4*r))/r):1/I(n);return[C(t*a),m(e)*L(a)]},Rr.invert=function(t,e){return[t,2.5*a(l(.8*e))-.625*_]};var Nr=[[.9972523,0],[.0052513,-.0041175],[.0074606,.0048125],[-.0153783,-.1968253],[.0636871,-.1408027],[.3660976,-.2937382]],jr=[[.98879,0],[0,0],[-.050909,0],[0,0],[.075528,0]],Ur=[[.984299,0],[.0211642,.0037608],[-.1036018,-.0575102],[-.0329095,-.0320119],[.0499471,.1223335],[.026046,.0899805],[7388e-7,-.1435792],[.0075848,-.1334108],[-.0216473,.0776645],[-.0225161,.0853673]],Vr=[[.9245,0],[0,0],[.01943,0]],qr=[[.721316,0],[0,0],[-.00881625,-.00617325]];function Hr(){return Xr(Nr,[152,-64]).scale(1400).center([-160.908,62.4864]).clipAngle(30).angle(7.8)}function Gr(){return Xr(jr,[95,-38]).scale(1e3).clipAngle(55).center([-96.5563,38.8675])}function Zr(){return Xr(Ur,[120,-45]).scale(359.513).clipAngle(55).center([-117.474,53.0628])}function Wr(){return Xr(Vr,[-20,-18]).scale(209.091).center([20,16.7214]).clipAngle(82)}function Yr(){return Xr(qr,[165,10]).scale(250).clipAngle(130).center([-165,-10])}function Xr(t,e){var r=(0,n.A)(Br(t)).rotate(e).clipAngle(90),i=(0,bt.A)(e),a=r.center;return delete r.rotate,r.center=function(t){return arguments.length?a(i(t)):i.invert(a())},r}var $r=I(6),Jr=I(7);function Kr(t,e){var r=C(7*g(e)/(3*$r));return[$r*t*(2*s(2*r/3)-1)/Jr,9*g(r/3)/Jr]}function Qr(){return(0,n.A)(Kr).scale(164.859)}function tn(t,e){for(var r,n=(1+T)*g(e),a=e,o=0;o<25&&(a-=r=(g(a/2)+g(a)-n)/(.5*s(a/2)+s(a)),!(i(r)x&&--l>0);return[t/(.84719-.13063*(n=s*s)+(o=n*(a=n*n))*o*(.05494*n-.04515-.02326*a+.00331*o)),s]},ln.invert=function(t,e){for(var r=e/2,n=0,a=1/0;n<10&&i(a)>v;++n){var o=s(e/2);e-=a=(e-y(e/2)-r)/(1-.5/(o*o))}return[2*t/(1+s(e)),e]};var un=[[[[-180,0],[-90,90],[0,0]],[[0,0],[90,90],[180,0]]],[[[-180,0],[-90,-90],[0,0]],[[0,0],[90,-90],[180,0]]]];function hn(){return ur($(1/0),un).rotate([20,0]).scale(152.63)}function fn(t,e){var r=g(e),n=s(e),a=m(t);if(0===t||i(e)===b)return[0,e];if(0===e)return[t,0];if(i(t)===b)return[t*n,b*r];var o=_/(2*t)-2*t/_,l=2*e/_,c=(1-l*l)/(r-l),u=o*o,h=c*c,f=1+u/h,p=1+h/u,d=(o*r/c-o/2)/f,y=(h*r/u+c/2)/p,v=y*y-(h*r*r/u+c*r-1)/p;return[b*(d+I(d*d+n*n/f)*a),b*(y+I(v<0?0:v)*m(-e*o)*a)]}function pn(){return(0,n.A)(fn).scale(127.267)}fn.invert=function(t,e){var r=(t/=b)*t,n=r+(e/=b)*e,i=_*_;return[t?(n-1+I((1-n)*(1-n)+4*r))/(2*t)*b:0,Q((function(t){return n*(_*g(t)-2*t)*_+4*t*t*(e-g(t))+2*_*t-i*e}),0)]};var dn=1.0148,mn=.23185,gn=-.14499,yn=.02406,vn=dn,xn=5*mn,_n=7*gn,bn=9*yn,wn=1.790857183;function Tn(t,e){var r=e*e;return[t,e*(dn+r*r*(mn+r*(gn+yn*r)))]}function kn(){return(0,n.A)(Tn).scale(139.319)}function An(t,e){if(i(e)wn?e=wn:e<-1.790857183&&(e=-1.790857183);var r,n=e;do{var a=n*n;n-=r=(n*(dn+a*a*(mn+a*(gn+yn*a)))-e)/(vn+a*a*(xn+a*(_n+bn*a)))}while(i(r)>v);return[t,n]},An.invert=function(t,e){if(i(e)v&&--o>0);return l=y(a),[(i(e)=0;)if(n=e[s],r[0]===n[0]&&r[1]===n[1]){if(a)return[a,r];a=r}}}(e.face,r.face),i=(u=n.map(r.project),h=n.map(e.project),f=Ln(u[1],u[0]),p=Ln(h[1],h[0]),d=function(t,e){return o(t[0]*e[1]-t[1]*e[0],t[0]*e[0]+t[1]*e[1])}(f,p),m=In(f)/In(p),Cn([1,0,u[0][0],0,1,u[0][1]],Cn([m,0,0,0,m,0],Cn([s(d),g(d),0,-g(d),s(d),0],[1,0,-h[0][0],0,1,-h[0][1]]))));e.transform=r.transform?Cn(r.transform,i):i;for(var a=r.edges,l=0,c=a.length;l0?[-e[0],0]:[180-e[0],180])};var e=Bn.map((function(e){return{face:e,project:t(e)}}));return[-1,0,0,1,0,1,4,5].forEach((function(t,r){var n=e[t];n&&(n.children||(n.children=[])).push(e[r])})),Pn(e[0],(function(t,r){return e[t<-_/2?r<0?6:4:t<0?r<0?2:0:t<_/2?r<0?3:1:r<0?7:5]})).angle(-30).scale(121.906).center([0,48.5904])}function qn(t){t=t||function(t){var e=6===t.length?(0,_t.A)({type:"MultiPoint",coordinates:t}):t[0];return(0,Rn.A)().scale(1).translate([0,0]).rotate([-e[0],-e[1]])};var e=Bn.map((function(t){for(var e,r=t.map(Zn),n=r.length,i=r[n-1],a=[],o=0;on^p>n&&r<(f-c)*(n-u)/(p-u)+c&&(i=!i)}return i}(t[0],r))return t.push(e),!0}))||t.push([e])})),Qn=[],t.length?t.length>1?{type:"MultiPolygon",coordinates:t}:{type:"Polygon",coordinates:t[0]}:null}};function ni(t){var e=t(b,0)[0]-t(-b,0)[0];function r(r,n){var a=i(r)0?r-_:r+_,n),s=(o[0]-o[1])*T,l=(o[0]+o[1])*T;if(a)return[s,l];var c=e*T,u=s>0^l>0?-1:1;return[u*s-m(l)*c,u*l-m(s)*c]}return t.invert&&(r.invert=function(r,n){var a=(r+n)*T,o=(n-r)*T,s=i(a)<.5*e&&i(o)<.5*e;if(!s){var l=e*T,c=a>0^o>0?-1:1,u=-c*r+(o>0?1:-1)*l,h=-c*n+(a>0?1:-1)*l;a=(-u-h)*T,o=(u-h)*T}var f=t.invert(a,o);return s||(f[0]+=a>0?_:-_),f}),(0,n.A)(r).rotate([-90,-90,45]).clipAngle(179.999)}function ii(){return ni(Ce).scale(176.423)}function ai(){return ni(ze).scale(111.48)}function oi(t,e){if(!(0<=(e=+e)&&e<=20))throw new Error("invalid digits");function r(t){var r=t.length,n=2,i=new Array(r);for(i[0]=+t[0].toFixed(e),i[1]=+t[1].toFixed(e);n2||a[0]!=e[0]||a[1]!=e[1])&&(n.push(a),e=a)}return 1===n.length&&t.length>1&&n.push(r(t[t.length-1])),n}function a(t){return t.map(i)}function o(t){if(null==t)return t;var e;switch(t.type){case"GeometryCollection":e={type:"GeometryCollection",geometries:t.geometries.map(o)};break;case"Point":e={type:"Point",coordinates:r(t.coordinates)};break;case"MultiPoint":e={type:t.type,coordinates:n(t.coordinates)};break;case"LineString":e={type:t.type,coordinates:i(t.coordinates)};break;case"MultiLineString":case"Polygon":e={type:t.type,coordinates:a(t.coordinates)};break;case"MultiPolygon":e={type:"MultiPolygon",coordinates:t.coordinates.map(a)};break;default:return t}return null!=t.bbox&&(e.bbox=t.bbox),e}function s(t){var e={type:"Feature",properties:t.properties,geometry:o(t.geometry)};return null!=t.id&&(e.id=t.id),null!=t.bbox&&(e.bbox=t.bbox),e}if(null!=t)switch(t.type){case"Feature":return s(t);case"FeatureCollection":var l={type:"FeatureCollection",features:t.features.map(s)};return null!=t.bbox&&(l.bbox=t.bbox),l;default:return o(t)}return t}function si(t){var e=g(t);function r(r,n){var i=e?y(r*e/2)/e:r/2;if(!n)return[2*i,-t];var o=2*a(i*g(n)),l=1/y(n);return[g(o)*l,n+(1-s(o))*l-t]}return r.invert=function(r,n){if(i(n+=t)v&&--u>0);var d=r*(h=y(c)),m=y(i(n)0?b:-b)*(h+o*(d-l)/2+o*o*(d-2*h+l)/2)]}function hi(){return(0,n.A)(ui).scale(152.63)}function fi(t,e){var r=function(t){function e(e,r){var n=s(r),i=(t-1)/(t-n*s(e));return[i*n*g(e),i*g(r)]}return e.invert=function(e,r){var n=e*e+r*r,i=I(n),a=(t-I(1-n*(t+1)/(t-1)))/((t-1)/i+i/(t-1));return[o(e*a,i*I(1-a*a)),i?C(r*a/i):0]},e}(t);if(!e)return r;var n=s(e),i=g(e);function a(e,a){var o=r(e,a),s=o[1],l=s*i/(t-1)+n;return[o[0]*n/l,s/l]}return a.invert=function(e,a){var o=(t-1)/(t-1-a*i);return r.invert(o*e,o*a*n)},a}function pi(){var t=2,e=0,r=(0,n.U)(fi),i=r(t,e);return i.distance=function(n){return arguments.length?r(t=+n,e):t},i.tilt=function(n){return arguments.length?r(t,e=n*E):e*S},i.scale(432.147).clipAngle(L(1/t)*S-1e-6)}ci.forEach((function(t){t[1]*=1.0144})),ui.invert=function(t,e){var r=e/b,n=90*r,a=f(18,i(n/5)),o=h(0,c(a));do{var s=ci[o][1],l=ci[o+1][1],u=ci[f(19,o+2)][1],p=u-s,d=u-2*l+s,m=2*(i(r)-l)/p,g=d/p,y=m*(1-g*m*(1-2*g*m));if(y>=0||1===o){n=(e>=0?5:-5)*(y+a);var v,_=50;do{y=(a=f(18,i(n)/5))-(o=c(a)),s=ci[o][1],l=ci[o+1][1],u=ci[f(19,o+2)][1],n-=(v=(e>=0?b:-b)*(l+y*(u-s)/2+y*y*(u-2*l+s)/2)-e)*S}while(i(v)>x&&--_>0);break}}while(--o>=0);var w=ci[o][0],T=ci[o+1][0],k=ci[f(19,o+2)][0];return[t/(T+y*(k-w)/2+y*y*(k-2*T+w)/2),n*E]};var di=1e-4,mi=1e4,gi=-180,yi=gi+di,vi=180,xi=vi-di,_i=-90,bi=_i+di,wi=90,Ti=wi-di;function ki(t){return t.length>0}function Ai(t){return t===_i||t===wi?[0,t]:[gi,(e=t,Math.floor(e*mi)/mi)];var e}function Mi(t){var e=t[0],r=t[1],n=!1;return e<=yi?(e=gi,n=!0):e>=xi&&(e=vi,n=!0),r<=bi?(r=_i,n=!0):r>=Ti&&(r=wi,n=!0),n?[e,r]:t}function Si(t){return t.map(Mi)}function Ei(t,e,r){for(var n=0,i=t.length;n=xi||u<=bi||u>=Ti){a[o]=Mi(l);for(var h=o+1;hyi&&pbi&&d=s)break;r.push({index:-1,polygon:e,ring:a=a.slice(h-1)}),a[0]=Ai(a[0][1]),o=-1,s=a.length}}}}function Ci(t){var e,r,n,i,a,o,s=t.length,l={},c={};for(e=0;e0?_-l:l)*S],u=(0,n.A)(t(s)).rotate(c),h=(0,bt.A)(c),f=u.center;return delete u.rotate,u.center=function(t){return arguments.length?f(h(t)):h.invert(f())},u.clipAngle(90)}function Ri(t){var e=s(t);function r(t,r){var n=(0,Rn.T)(t,r);return n[0]*=e,n}return r.invert=function(t,r){return Rn.T.invert(t/e,r)},r}function Fi(){return Bi([-158,21.5],[-77,39]).clipAngle(60).scale(400)}function Bi(t,e){return Di(Ri,t,e)}function Ni(t){if(!(t*=2))return Z.j;var e=-t/2,r=-e,n=t*t,i=y(r),a=.5/g(r);function l(i,a){var o=L(s(a)*s(i-e)),l=L(s(a)*s(i-r));return[((o*=o)-(l*=l))/(2*t),(a<0?-1:1)*I(4*n*l-(n-o+l)*(n-o+l))/(2*t)]}return l.invert=function(t,n){var l,c,u=n*n,h=s(I(u+(l=t+e)*l)),f=s(I(u+(l=t+r)*l));return[o(c=h-f,l=(h+f)*i),(n<0?-1:1)*L(I(l*l+c*c)*a)]},l}function ji(){return Ui([-158,21.5],[-77,39]).clipAngle(130).scale(122.571)}function Ui(t,e){return Di(Ni,t,e)}function Vi(t,e){if(i(e)v&&--l>0);return[m(t)*(I(a*a+4)+a)*_/4,b*s]};var Qi=4*_+3*I(3),ta=2*I(2*_*I(3)/Qi),ea=it(ta*I(3)/_,ta,Qi/6);function ra(){return(0,n.A)(ea).scale(176.84)}function na(t,e){return[t*I(1-3*e*e/(_*_)),e]}function ia(){return(0,n.A)(na).scale(152.63)}function aa(t,e){var r=s(e),n=s(t)*r,i=1-n,a=s(t=o(g(t)*r,-g(e))),l=g(t);return[l*(r=I(1-n*n))-a*i,-a*r-l*i]}function oa(){return(0,n.A)(aa).rotate([0,-90,45]).scale(124.75).clipAngle(179.999)}function sa(t,e){var r=R(t,e);return[(r[0]+t/b)/2,(r[1]+e)/2]}function la(){return(0,n.A)(sa).scale(158.837)}na.invert=function(t,e){return[t/I(1-3*e*e/(_*_)),e]},aa.invert=function(t,e){var r=(t*t+e*e)/-2,n=I(-r*(2+r)),i=e*r+t*n,a=t*r-e*n,s=I(a*a+i*i);return[o(n*i,s*(1+r)),s?-C(n*a/s):0]},sa.invert=function(t,e){var r=t,n=e,a=25;do{var o,l=s(n),c=g(n),u=g(2*n),h=c*c,f=l*l,p=g(r),d=s(r/2),m=g(r/2),y=m*m,x=1-f*d*d,_=x?L(l*d)*I(o=1/x):o=0,w=.5*(2*_*l*m+r/b)-t,T=.5*(_*c+n)-e,k=.5*o*(f*y+_*l*d*h)+.5/b,A=o*(p*u/4-_*c*m),M=.125*o*(u*m-_*c*f*p),S=.5*o*(h*d+_*y*l)+.5,E=A*M-S*k,C=(T*A-w*S)/E,P=(w*M-T*k)/E;r-=C,n-=P}while((i(C)>v||i(P)>v)&&--a>0);return[r,n]}},49353:function(t,e,r){"use strict";function n(){return new i}function i(){this.reset()}r.d(e,{A:function(){return n}}),i.prototype={constructor:i,reset:function(){this.s=this.t=0},add:function(t){o(a,t,this.t),o(this,a.s,this.s),this.s?this.t+=a.t:this.s=a.t},valueOf:function(){return this.s}};var a=new i;function o(t,e,r){var n=t.s=e+r,i=n-e,a=n-i;t.t=e-a+(r-i)}},43976:function(t,e,r){"use strict";r.d(e,{Ay:function(){return x},B0:function(){return f},Y7:function(){return d}});var n,i,a,o,s,l=r(49353),c=r(61323),u=r(53341),h=r(20465),f=(0,l.A)(),p=(0,l.A)(),d={point:u.A,lineStart:u.A,lineEnd:u.A,polygonStart:function(){f.reset(),d.lineStart=m,d.lineEnd=g},polygonEnd:function(){var t=+f;p.add(t<0?c.FA+t:t),this.lineStart=this.lineEnd=this.point=u.A},sphere:function(){p.add(c.FA)}};function m(){d.point=y}function g(){v(n,i)}function y(t,e){d.point=v,n=t,i=e,t*=c.F2,e*=c.F2,a=t,o=(0,c.gn)(e=e/2+c.gz),s=(0,c.F8)(e)}function v(t,e){t*=c.F2,e=(e*=c.F2)/2+c.gz;var r=t-a,n=r>=0?1:-1,i=n*r,l=(0,c.gn)(e),u=(0,c.F8)(e),h=s*u,p=o*l+h*(0,c.gn)(i),d=h*n*(0,c.F8)(i);f.add((0,c.FP)(d,p)),a=t,o=l,s=u}function x(t){return p.reset(),(0,h.A)(t,d),2*p}},43212:function(t,e,r){"use strict";r.d(e,{A:function(){return L}});var n,i,a,o,s,l,c,u,h,f,p=r(49353),d=r(43976),m=r(20375),g=r(61323),y=r(20465),v=(0,p.A)(),x={point:_,lineStart:w,lineEnd:T,polygonStart:function(){x.point=k,x.lineStart=A,x.lineEnd=M,v.reset(),d.Y7.polygonStart()},polygonEnd:function(){d.Y7.polygonEnd(),x.point=_,x.lineStart=w,x.lineEnd=T,d.B0<0?(n=-(a=180),i=-(o=90)):v>g.Ni?o=90:v<-g.Ni&&(i=-90),f[0]=n,f[1]=a},sphere:function(){n=-(a=180),i=-(o=90)}};function _(t,e){h.push(f=[n=t,a=t]),eo&&(o=e)}function b(t,e){var r=(0,m.jf)([t*g.F2,e*g.F2]);if(u){var l=(0,m.r8)(u,r),c=[l[1],-l[0],0],p=(0,m.r8)(c,l);(0,m.Cx)(p),p=(0,m.EV)(p);var d,y=t-s,v=y>0?1:-1,x=p[0]*g.uj*v,_=(0,g.tn)(y)>180;_^(v*so&&(o=d):_^(v*s<(x=(x+360)%360-180)&&xo&&(o=e)),_?tS(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t):a>=n?(ta&&(a=t)):t>s?S(n,t)>S(n,a)&&(a=t):S(t,a)>S(n,a)&&(n=t)}else h.push(f=[n=t,a=t]);eo&&(o=e),u=r,s=t}function w(){x.point=b}function T(){f[0]=n,f[1]=a,x.point=_,u=null}function k(t,e){if(u){var r=t-s;v.add((0,g.tn)(r)>180?r+(r>0?360:-360):r)}else l=t,c=e;d.Y7.point(t,e),b(t,e)}function A(){d.Y7.lineStart()}function M(){k(l,c),d.Y7.lineEnd(),(0,g.tn)(v)>g.Ni&&(n=-(a=180)),f[0]=n,f[1]=a,u=null}function S(t,e){return(e-=t)<0?e+360:e}function E(t,e){return t[0]-e[0]}function C(t,e){return t[0]<=t[1]?t[0]<=e&&e<=t[1]:eS(s[0],s[1])&&(s[1]=l[1]),S(l[0],s[1])>S(s[0],s[1])&&(s[0]=l[0])):c.push(s=l);for(u=-1/0,e=0,s=c[r=c.length-1];e<=r;s=l,++e)l=c[e],(p=S(s[1],l[0]))>u&&(u=p,n=l[0],a=s[1])}return h=f=null,n===1/0||i===1/0?[[NaN,NaN],[NaN,NaN]]:[[n,i],[a,o]]}},20375:function(t,e,r){"use strict";r.d(e,{Cx:function(){return u},EV:function(){return i},W8:function(){return o},ep:function(){return l},jf:function(){return a},ly:function(){return c},r8:function(){return s}});var n=r(61323);function i(t){return[(0,n.FP)(t[1],t[0]),(0,n.qR)(t[2])]}function a(t){var e=t[0],r=t[1],i=(0,n.gn)(r);return[i*(0,n.gn)(e),i*(0,n.F8)(e),(0,n.F8)(r)]}function o(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]}function s(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]}function l(t,e){t[0]+=e[0],t[1]+=e[1],t[2]+=e[2]}function c(t,e){return[t[0]*e,t[1]*e,t[2]*e]}function u(t){var e=(0,n.RZ)(t[0]*t[0]+t[1]*t[1]+t[2]*t[2]);t[0]/=e,t[1]/=e,t[2]/=e}},30021:function(t,e,r){"use strict";r.d(e,{A:function(){return z}});var n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x=r(61323),_=r(53341),b=r(20465),w={sphere:_.A,point:T,lineStart:A,lineEnd:E,polygonStart:function(){w.lineStart=C,w.lineEnd=L},polygonEnd:function(){w.lineStart=A,w.lineEnd=E}};function T(t,e){t*=x.F2,e*=x.F2;var r=(0,x.gn)(e);k(r*(0,x.gn)(t),r*(0,x.F8)(t),(0,x.F8)(e))}function k(t,e,r){++n,a+=(t-a)/n,o+=(e-o)/n,s+=(r-s)/n}function A(){w.point=M}function M(t,e){t*=x.F2,e*=x.F2;var r=(0,x.gn)(e);g=r*(0,x.gn)(t),y=r*(0,x.F8)(t),v=(0,x.F8)(e),w.point=S,k(g,y,v)}function S(t,e){t*=x.F2,e*=x.F2;var r=(0,x.gn)(e),n=r*(0,x.gn)(t),a=r*(0,x.F8)(t),o=(0,x.F8)(e),s=(0,x.FP)((0,x.RZ)((s=y*o-v*a)*s+(s=v*n-g*o)*s+(s=g*a-y*n)*s),g*n+y*a+v*o);i+=s,l+=s*(g+(g=n)),c+=s*(y+(y=a)),u+=s*(v+(v=o)),k(g,y,v)}function E(){w.point=T}function C(){w.point=I}function L(){P(d,m),w.point=T}function I(t,e){d=t,m=e,t*=x.F2,e*=x.F2,w.point=P;var r=(0,x.gn)(e);g=r*(0,x.gn)(t),y=r*(0,x.F8)(t),v=(0,x.F8)(e),k(g,y,v)}function P(t,e){t*=x.F2,e*=x.F2;var r=(0,x.gn)(e),n=r*(0,x.gn)(t),a=r*(0,x.F8)(t),o=(0,x.F8)(e),s=y*o-v*a,d=v*n-g*o,m=g*a-y*n,_=(0,x.RZ)(s*s+d*d+m*m),b=(0,x.qR)(_),w=_&&-b/_;h+=w*s,f+=w*d,p+=w*m,i+=b,l+=b*(g+(g=n)),c+=b*(y+(y=a)),u+=b*(v+(v=o)),k(g,y,v)}function z(t){n=i=a=o=s=l=c=u=h=f=p=0,(0,b.A)(t,w);var e=h,r=f,d=p,m=e*e+r*r+d*d;return m0?os)&&(o+=i*a.FA));for(var f,p=o;i>0?p>s:p0?i.pi:-i.pi,c=(0,i.tn)(o-r);(0,i.tn)(c-i.pi)0?i.TW:-i.TW),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),t.point(o,n),e=0):a!==l&&c>=i.pi&&((0,i.tn)(r-a)i.Ni?(0,i.rY)(((0,i.F8)(e)*(o=(0,i.gn)(n))*(0,i.F8)(r)-(0,i.F8)(n)*(a=(0,i.gn)(e))*(0,i.F8)(t))/(a*o*s)):(e+n)/2}(r,n,o,s),t.point(a,n),t.lineEnd(),t.lineStart(),t.point(l,n),e=0),t.point(r=o,n=s),a=l},lineEnd:function(){t.lineEnd(),r=n=NaN},clean:function(){return 2-e}}}),(function(t,e,r,n){var a;if(null==t)a=r*i.TW,n.point(-i.pi,a),n.point(0,a),n.point(i.pi,a),n.point(i.pi,0),n.point(i.pi,-a),n.point(0,-a),n.point(-i.pi,-a),n.point(-i.pi,0),n.point(-i.pi,a);else if((0,i.tn)(t[0]-e[0])>i.Ni){var o=t[0]1&&e.push(e.pop().concat(e.shift()))},result:function(){var r=e;return e=[],t=null,r}}}},47402:function(t,e,r){"use strict";r.d(e,{A:function(){return l}});var n=r(20375),i=r(39127),a=r(61323),o=r(28759),s=r(13720);function l(t){var e=(0,a.gn)(t),r=6*a.F2,l=e>0,c=(0,a.tn)(e)>a.Ni;function u(t,r){return(0,a.gn)(t)*(0,a.gn)(r)>e}function h(t,r,i){var o=(0,n.jf)(t),s=(0,n.jf)(r),l=[1,0,0],c=(0,n.r8)(o,s),u=(0,n.W8)(c,c),h=c[0],f=u-h*h;if(!f)return!i&&t;var p=e*u/f,d=-e*h/f,m=(0,n.r8)(l,c),g=(0,n.ly)(l,p),y=(0,n.ly)(c,d);(0,n.ep)(g,y);var v=m,x=(0,n.W8)(g,v),_=(0,n.W8)(v,v),b=x*x-_*((0,n.W8)(g,g)-1);if(!(b<0)){var w=(0,a.RZ)(b),T=(0,n.ly)(v,(-x-w)/_);if((0,n.ep)(T,g),T=(0,n.EV)(T),!i)return T;var k,A=t[0],M=r[0],S=t[1],E=r[1];M0^T[1]<((0,a.tn)(T[0]-A)a.pi^(A<=T[0]&&T[0]<=M)){var I=(0,n.ly)(v,(-x+w)/_);return(0,n.ep)(I,g),[T,(0,n.EV)(I)]}}}function f(e,r){var n=l?t:a.pi-t,i=0;return e<-n?i|=1:e>n&&(i|=2),r<-n?i|=4:r>n&&(i|=8),i}return(0,s.A)(u,(function(t){var e,r,n,i,s;return{lineStart:function(){i=n=!1,s=1},point:function(p,d){var m,g=[p,d],y=u(p,d),v=l?y?0:f(p,d):y?f(p+(p<0?a.pi:-a.pi),d):0;if(!e&&(i=n=y)&&t.lineStart(),y!==n&&(!(m=h(e,g))||(0,o.A)(e,m)||(0,o.A)(g,m))&&(g[2]=1),y!==n)s=0,y?(t.lineStart(),m=h(g,e),t.point(m[0],m[1])):(m=h(e,g),t.point(m[0],m[1],2),t.lineEnd()),e=m;else if(c&&e&&l^y){var x;v&r||!(x=h(g,e,!0))||(s=0,l?(t.lineStart(),t.point(x[0][0],x[0][1]),t.point(x[1][0],x[1][1]),t.lineEnd()):(t.point(x[1][0],x[1][1]),t.lineEnd(),t.lineStart(),t.point(x[0][0],x[0][1],3)))}!y||e&&(0,o.A)(e,g)||t.point(g[0],g[1]),e=g,n=y,r=v},lineEnd:function(){n&&t.lineEnd(),e=null},clean:function(){return s|(i&&n)<<1}}}),(function(e,n,a,o){(0,i.J)(o,t,r,a,e,n)}),l?[0,-t]:[-a.pi,t-a.pi])}},13720:function(t,e,r){"use strict";r.d(e,{A:function(){return l}});var n=r(39608),i=r(19119),a=r(61323),o=r(2274),s=r(29725);function l(t,e,r,a){return function(l){var h,f,p,d=e(l),m=(0,n.A)(),g=e(m),y=!1,v={point:x,lineStart:b,lineEnd:w,polygonStart:function(){v.point=T,v.lineStart=k,v.lineEnd=A,f=[],h=[]},polygonEnd:function(){v.point=x,v.lineStart=b,v.lineEnd=w,f=(0,s.Am)(f);var t=(0,o.A)(h,a);f.length?(y||(l.polygonStart(),y=!0),(0,i.A)(f,u,t,r,l)):t&&(y||(l.polygonStart(),y=!0),l.lineStart(),r(null,null,1,l),l.lineEnd()),y&&(l.polygonEnd(),y=!1),f=h=null},sphere:function(){l.polygonStart(),l.lineStart(),r(null,null,1,l),l.lineEnd(),l.polygonEnd()}};function x(e,r){t(e,r)&&l.point(e,r)}function _(t,e){d.point(t,e)}function b(){v.point=_,d.lineStart()}function w(){v.point=x,d.lineEnd()}function T(t,e){p.push([t,e]),g.point(t,e)}function k(){g.lineStart(),p=[]}function A(){T(p[0][0],p[0][1]),g.lineEnd();var t,e,r,n,i=g.clean(),a=m.result(),o=a.length;if(p.pop(),h.push(p),p=null,o)if(1&i){if((e=(r=a[0]).length-1)>0){for(y||(l.polygonStart(),y=!0),l.lineStart(),t=0;t1&&2&i&&a.push(a.pop().concat(a.shift())),f.push(a.filter(c))}return v}}function c(t){return t.length>1}function u(t,e){return((t=t.x)[0]<0?t[1]-a.TW-a.Ni:a.TW-t[1])-((e=e.x)[0]<0?e[1]-a.TW-a.Ni:a.TW-e[1])}},21503:function(t,e,r){"use strict";r.d(e,{A:function(){return c}});var n=r(61323),i=r(39608),a=r(19119),o=r(29725),s=1e9,l=-s;function c(t,e,r,c){function u(n,i){return t<=n&&n<=r&&e<=i&&i<=c}function h(n,i,a,o){var s=0,l=0;if(null==n||(s=f(n,a))!==(l=f(i,a))||d(n,i)<0^a>0)do{o.point(0===s||3===s?t:r,s>1?c:e)}while((s=(s+a+4)%4)!==l);else o.point(i[0],i[1])}function f(i,a){return(0,n.tn)(i[0]-t)0?0:3:(0,n.tn)(i[0]-r)0?2:1:(0,n.tn)(i[1]-e)0?1:0:a>0?3:2}function p(t,e){return d(t.x,e.x)}function d(t,e){var r=f(t,1),n=f(e,1);return r!==n?r-n:0===r?e[1]-t[1]:1===r?t[0]-e[0]:2===r?t[1]-e[1]:e[0]-t[0]}return function(n){var f,d,m,g,y,v,x,_,b,w,T,k=n,A=(0,i.A)(),M={point:S,lineStart:function(){M.point=E,d&&d.push(m=[]),w=!0,b=!1,x=_=NaN},lineEnd:function(){f&&(E(g,y),v&&b&&A.rejoin(),f.push(A.result())),M.point=S,b&&k.lineEnd()},polygonStart:function(){k=A,f=[],d=[],T=!0},polygonEnd:function(){var e=function(){for(var e=0,r=0,n=d.length;rc&&(h-i)*(c-a)>(f-a)*(t-i)&&++e:f<=c&&(h-i)*(c-a)<(f-a)*(t-i)&&--e;return e}(),r=T&&e,i=(f=(0,o.Am)(f)).length;(r||i)&&(n.polygonStart(),r&&(n.lineStart(),h(null,null,1,n),n.lineEnd()),i&&(0,a.A)(f,p,e,h,n),n.polygonEnd()),k=n,f=d=m=null}};function S(t,e){u(t,e)&&k.point(t,e)}function E(n,i){var a=u(n,i);if(d&&m.push([n,i]),w)g=n,y=i,v=a,w=!1,a&&(k.lineStart(),k.point(n,i));else if(a&&b)k.point(n,i);else{var o=[x=Math.max(l,Math.min(s,x)),_=Math.max(l,Math.min(s,_))],h=[n=Math.max(l,Math.min(s,n)),i=Math.max(l,Math.min(s,i))];!function(t,e,r,n,i,a){var o,s=t[0],l=t[1],c=0,u=1,h=e[0]-s,f=e[1]-l;if(o=r-s,h||!(o>0)){if(o/=h,h<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=i-s,h||!(o<0)){if(o/=h,h<0){if(o>u)return;o>c&&(c=o)}else if(h>0){if(o0)){if(o/=f,f<0){if(o0){if(o>u)return;o>c&&(c=o)}if(o=a-l,f||!(o<0)){if(o/=f,f<0){if(o>u)return;o>c&&(c=o)}else if(f>0){if(o0&&(t[0]=s+c*h,t[1]=l+c*f),u<1&&(e[0]=s+u*h,e[1]=l+u*f),!0}}}}}(o,h,t,e,r,c)?a&&(k.lineStart(),k.point(n,i),T=!1):(b||(k.lineStart(),k.point(o[0],o[1])),k.point(h[0],h[1]),a||k.lineEnd(),T=!1)}x=n,_=i,b=a}return M}}},19119:function(t,e,r){"use strict";r.d(e,{A:function(){return o}});var n=r(28759),i=r(61323);function a(t,e,r,n){this.x=t,this.z=e,this.o=r,this.e=n,this.v=!1,this.n=this.p=null}function o(t,e,r,o,l){var c,u,h=[],f=[];if(t.forEach((function(t){if(!((e=t.length-1)<=0)){var e,r,o=t[0],s=t[e];if((0,n.A)(o,s)){if(!o[2]&&!s[2]){for(l.lineStart(),c=0;c=0;--c)l.point((d=p[c])[0],d[1]);else o(g.x,g.p.x,-1,l);g=g.p}p=(g=g.o).z,y=!y}while(!g.v);l.lineEnd()}}}function s(t){if(e=t.length){for(var e,r,n=0,i=t[0];++n0&&(i=S(t[a],t[a-1]))>0&&r<=i&&n<=i&&(r+n-i)*(1-Math.pow((r-n)/i,2))g.Ni})).map(l)).concat((0,F.y1)((0,g.mk)(a/p)*p,i,p).filter((function(t){return(0,g.tn)(t%m)>g.Ni})).map(c))}return v.lines=function(){return x().map((function(t){return{type:"LineString",coordinates:t}}))},v.outline=function(){return{type:"Polygon",coordinates:[u(n).concat(h(o).slice(1),u(r).reverse().slice(1),h(s).reverse().slice(1))]}},v.extent=function(t){return arguments.length?v.extentMajor(t).extentMinor(t):v.extentMinor()},v.extentMajor=function(t){return arguments.length?(n=+t[0][0],r=+t[1][0],s=+t[0][1],o=+t[1][1],n>r&&(t=n,n=r,r=t),s>o&&(t=s,s=o,o=t),v.precision(y)):[[n,s],[r,o]]},v.extentMinor=function(r){return arguments.length?(e=+r[0][0],t=+r[1][0],a=+r[0][1],i=+r[1][1],e>t&&(r=e,e=t,t=r),a>i&&(r=a,a=i,i=r),v.precision(y)):[[e,a],[t,i]]},v.step=function(t){return arguments.length?v.stepMajor(t).stepMinor(t):v.stepMinor()},v.stepMajor=function(t){return arguments.length?(d=+t[0],m=+t[1],v):[d,m]},v.stepMinor=function(t){return arguments.length?(f=+t[0],p=+t[1],v):[f,p]},v.precision=function(f){return arguments.length?(y=+f,l=B(a,i,90),c=N(e,t,y),u=B(s,o,90),h=N(n,r,y),v):y},v.extentMajor([[-180,-90+g.Ni],[180,90-g.Ni]]).extentMinor([[-180,-80-g.Ni],[180,80+g.Ni]])}function U(){return j()()}var V,q,H,G,Z=r(81758),W=r(26827),Y=(0,m.A)(),X=(0,m.A)(),$={point:y.A,lineStart:y.A,lineEnd:y.A,polygonStart:function(){$.lineStart=J,$.lineEnd=tt},polygonEnd:function(){$.lineStart=$.lineEnd=$.point=y.A,Y.add((0,g.tn)(X)),X.reset()},result:function(){var t=Y/2;return Y.reset(),t}};function J(){$.point=K}function K(t,e){$.point=Q,V=H=t,q=G=e}function Q(t,e){X.add(G*t-H*e),H=t,G=e}function tt(){Q(V,q)}var et,rt,nt,it,at=$,ot=r(33028),st=0,lt=0,ct=0,ut=0,ht=0,ft=0,pt=0,dt=0,mt=0,gt={point:yt,lineStart:vt,lineEnd:bt,polygonStart:function(){gt.lineStart=wt,gt.lineEnd=Tt},polygonEnd:function(){gt.point=yt,gt.lineStart=vt,gt.lineEnd=bt},result:function(){var t=mt?[pt/mt,dt/mt]:ft?[ut/ft,ht/ft]:ct?[st/ct,lt/ct]:[NaN,NaN];return st=lt=ct=ut=ht=ft=pt=dt=mt=0,t}};function yt(t,e){st+=t,lt+=e,++ct}function vt(){gt.point=xt}function xt(t,e){gt.point=_t,yt(nt=t,it=e)}function _t(t,e){var r=t-nt,n=e-it,i=(0,g.RZ)(r*r+n*n);ut+=i*(nt+t)/2,ht+=i*(it+e)/2,ft+=i,yt(nt=t,it=e)}function bt(){gt.point=yt}function wt(){gt.point=kt}function Tt(){At(et,rt)}function kt(t,e){gt.point=At,yt(et=nt=t,rt=it=e)}function At(t,e){var r=t-nt,n=e-it,i=(0,g.RZ)(r*r+n*n);ut+=i*(nt+t)/2,ht+=i*(it+e)/2,ft+=i,pt+=(i=it*t-nt*e)*(nt+t),dt+=i*(it+e),mt+=3*i,yt(nt=t,it=e)}var Mt=gt;function St(t){this._context=t}St.prototype={_radius:4.5,pointRadius:function(t){return this._radius=t,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._context.closePath(),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._context.moveTo(t,e),this._point=1;break;case 1:this._context.lineTo(t,e);break;default:this._context.moveTo(t+this._radius,e),this._context.arc(t,e,this._radius,0,g.FA)}},result:y.A};var Et,Ct,Lt,It,Pt,zt=(0,m.A)(),Ot={point:y.A,lineStart:function(){Ot.point=Dt},lineEnd:function(){Et&&Rt(Ct,Lt),Ot.point=y.A},polygonStart:function(){Et=!0},polygonEnd:function(){Et=null},result:function(){var t=+zt;return zt.reset(),t}};function Dt(t,e){Ot.point=Rt,Ct=It=t,Lt=Pt=e}function Rt(t,e){It-=t,Pt-=e,zt.add((0,g.RZ)(It*It+Pt*Pt)),It=t,Pt=e}var Ft=Ot;function Bt(){this._string=[]}function Nt(t){return"m0,"+t+"a"+t+","+t+" 0 1,1 0,"+-2*t+"a"+t+","+t+" 0 1,1 0,"+2*t+"z"}function jt(t,e){var r,n,i=4.5;function a(t){return t&&("function"==typeof i&&n.pointRadius(+i.apply(this,arguments)),(0,v.A)(t,r(n))),n.result()}return a.area=function(t){return(0,v.A)(t,r(at)),at.result()},a.measure=function(t){return(0,v.A)(t,r(Ft)),Ft.result()},a.bounds=function(t){return(0,v.A)(t,r(ot.A)),ot.A.result()},a.centroid=function(t){return(0,v.A)(t,r(Mt)),Mt.result()},a.projection=function(e){return arguments.length?(r=null==e?(t=null,W.A):(t=e).stream,a):t},a.context=function(t){return arguments.length?(n=null==t?(e=null,new Bt):new St(e=t),"function"!=typeof i&&n.pointRadius(i),a):e},a.pointRadius=function(t){return arguments.length?(i="function"==typeof t?t:(n.pointRadius(+t),+t),a):i},a.projection(t).context(e)}Bt.prototype={_radius:4.5,_circle:Nt(4.5),pointRadius:function(t){return(t=+t)!==this._radius&&(this._radius=t,this._circle=null),this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){0===this._line&&this._string.push("Z"),this._point=NaN},point:function(t,e){switch(this._point){case 0:this._string.push("M",t,",",e),this._point=1;break;case 1:this._string.push("L",t,",",e);break;default:null==this._circle&&(this._circle=Nt(this._radius)),this._string.push("M",t,",",e,this._circle)}},result:function(){if(this._string.length){var t=this._string.join("");return this._string=[],t}return null}};var Ut=r(94684);function Vt(t){var e=0,r=g.pi/3,n=(0,Ut.U)(t),i=n(e,r);return i.parallels=function(t){return arguments.length?n(e=t[0]*g.F2,r=t[1]*g.F2):[e*g.uj,r*g.uj]},i}function qt(t,e){var r=(0,g.F8)(t),n=(r+(0,g.F8)(e))/2;if((0,g.tn)(n)=.12&&i<.234&&n>=-.425&&n<-.214?s:i>=.166&&i<.234&&n>=-.214&&n<-.115?l:o).invert(t)},u.stream=function(r){return t&&e===r?t:(n=[o.stream(e=r),s.stream(r),l.stream(r)],i=n.length,t={point:function(t,e){for(var r=-1;++r0?e<-g.TW+g.Ni&&(e=-g.TW+g.Ni):e>g.TW-g.Ni&&(e=g.TW-g.Ni);var r=i/(0,g.n7)(te(e),n);return[r*(0,g.F8)(n*t),i-r*(0,g.gn)(n*t)]}return a.invert=function(t,e){var r=i-e,a=(0,g._S)(n)*(0,g.RZ)(t*t+r*r),o=(0,g.FP)(t,(0,g.tn)(r))*(0,g._S)(r);return r*n<0&&(o-=g.pi*(0,g._S)(t)*(0,g._S)(r)),[o/n,2*(0,g.rY)((0,g.n7)(i/a,1/n))-g.TW]},a}function re(){return Vt(ee).scale(109.5).parallels([30,30])}Jt.invert=function(t,e){return[t,2*(0,g.rY)((0,g.oN)(e))-g.TW]};var ne=r(18139);function ie(t,e){var r=(0,g.gn)(t),n=t===e?(0,g.F8)(t):(r-(0,g.gn)(e))/(e-t),i=r/n+t;if((0,g.tn)(n)2?t[2]+90:90]):[(t=r())[0],t[1],t[2]-90]},r([0,0,90]).scale(159.155)}xe.invert=(0,ve.I)((function(t){return 2*(0,g.rY)(t)})),be.invert=function(t,e){return[-e,2*(0,g.rY)((0,g.oN)(t))-g.TW]}},81758:function(t,e,r){"use strict";r.d(e,{A:function(){return i}});var n=r(61323);function i(t,e){var r=t[0]*n.F2,i=t[1]*n.F2,a=e[0]*n.F2,o=e[1]*n.F2,s=(0,n.gn)(i),l=(0,n.F8)(i),c=(0,n.gn)(o),u=(0,n.F8)(o),h=s*(0,n.gn)(r),f=s*(0,n.F8)(r),p=c*(0,n.gn)(a),d=c*(0,n.F8)(a),m=2*(0,n.qR)((0,n.RZ)((0,n.bo)(o-i)+s*c*(0,n.bo)(a-r))),g=(0,n.F8)(m),y=m?function(t){var e=(0,n.F8)(t*=m)/g,r=(0,n.F8)(m-t)/g,i=r*h+e*p,a=r*f+e*d,o=r*l+e*u;return[(0,n.FP)(a,i)*n.uj,(0,n.FP)(o,(0,n.RZ)(i*i+a*a))*n.uj]}:function(){return[r*n.uj,i*n.uj]};return y.distance=m,y}},61323:function(t,e,r){"use strict";r.d(e,{$t:function(){return i},F2:function(){return u},F8:function(){return x},FA:function(){return l},FP:function(){return p},HQ:function(){return T},Ml:function(){return w},Ni:function(){return n},RZ:function(){return b},Rm:function(){return y},TW:function(){return o},_S:function(){return _},bo:function(){return A},gn:function(){return d},gz:function(){return s},mk:function(){return m},n7:function(){return v},oN:function(){return g},pi:function(){return a},qR:function(){return k},rY:function(){return f},tn:function(){return h},uj:function(){return c}});var n=1e-6,i=1e-12,a=Math.PI,o=a/2,s=a/4,l=2*a,c=180/a,u=a/180,h=Math.abs,f=Math.atan,p=Math.atan2,d=Math.cos,m=Math.ceil,g=Math.exp,y=(Math.floor,Math.log),v=Math.pow,x=Math.sin,_=Math.sign||function(t){return t>0?1:t<0?-1:0},b=Math.sqrt,w=Math.tan;function T(t){return t>1?0:t<-1?a:Math.acos(t)}function k(t){return t>1?o:t<-1?-o:Math.asin(t)}function A(t){return(t=x(t/2))*t}},53341:function(t,e,r){"use strict";function n(){}r.d(e,{A:function(){return n}})},33028:function(t,e,r){"use strict";var n=r(53341),i=1/0,a=i,o=-i,s=o,l={point:function(t,e){to&&(o=t),es&&(s=e)},lineStart:n.A,lineEnd:n.A,polygonStart:n.A,polygonEnd:n.A,result:function(){var t=[[i,a],[o,s]];return o=s=-(a=i=1/0),t}};e.A=l},28759:function(t,e,r){"use strict";r.d(e,{A:function(){return i}});var n=r(61323);function i(t,e){return(0,n.tn)(t[0]-e[0])=0?1:-1,C=E*S,L=C>a.pi,I=x*A;if(o.add((0,a.FP)(I*E*(0,a.F8)(C),_*M+I*(0,a.gn)(C))),u+=L?S+E*a.FA:S,L^y>=r^T>=r){var P=(0,i.r8)((0,i.jf)(g),(0,i.jf)(w));(0,i.Cx)(P);var z=(0,i.r8)(c,P);(0,i.Cx)(z);var O=(L^S>=0?-1:1)*(0,a.qR)(z[2]);(n>O||n===O&&(P[0]||P[1]))&&(h+=L^S>=0?1:-1)}}return(u<-a.Ni||u4*e&&y--){var w=o+p,T=s+m,k=c+g,A=(0,l.RZ)(w*w+T*T+k*k),M=(0,l.qR)(k/=A),S=(0,l.tn)((0,l.tn)(k)-1)e||(0,l.tn)((x*I+_*P)/b-.5)>.3||o*p+s*m+c*g2?t[2]%360*l.F2:0,V()):[C*l.uj,L*l.uj,I*l.uj]},j.angle=function(t){return arguments.length?(P=t%360*l.F2,V()):P*l.uj},j.reflectX=function(t){return arguments.length?(z=t?-1:1,V()):z<0},j.reflectY=function(t){return arguments.length?(O=t?-1:1,V()):O<0},j.precision=function(t){return arguments.length?(x=m(_,N=t*t),q()):(0,l.RZ)(N)},j.fitExtent=function(t,e){return(0,h.sp)(j,t,e)},j.fitSize=function(t,e){return(0,h.Hv)(j,t,e)},j.fitWidth=function(t,e){return(0,h.G0)(j,t,e)},j.fitHeight=function(t,e){return(0,h.FL)(j,t,e)},function(){return e=t.apply(this,arguments),j.invert=e.invert&&U,V()}}},57949:function(t,e,r){"use strict";r.d(e,{A:function(){return o},P:function(){return a}});var n=r(94684),i=r(61323);function a(t,e){var r=e*e,n=r*r;return[t*(.8707-.131979*r+n*(n*(.003971*r-.001529*n)-.013791)),e*(1.007226+r*(.015085+n*(.028874*r-.044475-.005916*n)))]}function o(){return(0,n.A)(a).scale(175.295)}a.invert=function(t,e){var r,n=e,a=25;do{var o=n*n,s=o*o;n-=r=(n*(1.007226+o*(.015085+s*(.028874*o-.044475-.005916*s)))-e)/(1.007226+o*(.045255+s*(.259866*o-.311325-.005916*11*s)))}while((0,i.tn)(r)>i.Ni&&--a>0);return[t/(.8707+(o=n*n)*(o*(o*o*o*(.003971-.001529*o)-.013791)-.131979)),n]}},53253:function(t,e,r){"use strict";r.d(e,{A:function(){return s},x:function(){return o}});var n=r(61323),i=r(57738),a=r(94684);function o(t,e){return[(0,n.gn)(e)*(0,n.F8)(t),(0,n.F8)(e)]}function s(){return(0,a.A)(o).scale(249.5).clipAngle(90+n.Ni)}o.invert=(0,i.I)(n.qR)},30915:function(t,e,r){"use strict";r.d(e,{A:function(){return u},y:function(){return o}});var n=r(19057),i=r(61323);function a(t,e){return[(0,i.tn)(t)>i.pi?t+Math.round(-t/i.FA)*i.FA:t,e]}function o(t,e,r){return(t%=i.FA)?e||r?(0,n.A)(l(t),c(e,r)):l(t):e||r?c(e,r):a}function s(t){return function(e,r){return[(e+=t)>i.pi?e-i.FA:e<-i.pi?e+i.FA:e,r]}}function l(t){var e=s(t);return e.invert=s(-t),e}function c(t,e){var r=(0,i.gn)(t),n=(0,i.F8)(t),a=(0,i.gn)(e),o=(0,i.F8)(e);function s(t,e){var s=(0,i.gn)(e),l=(0,i.gn)(t)*s,c=(0,i.F8)(t)*s,u=(0,i.F8)(e),h=u*r+l*n;return[(0,i.FP)(c*a-h*o,l*r-u*n),(0,i.qR)(h*a+c*o)]}return s.invert=function(t,e){var s=(0,i.gn)(e),l=(0,i.gn)(t)*s,c=(0,i.F8)(t)*s,u=(0,i.F8)(e),h=u*a-c*o;return[(0,i.FP)(c*a+u*o,l*r+h*n),(0,i.qR)(h*r-l*n)]},s}function u(t){function e(e){return(e=t(e[0]*i.F2,e[1]*i.F2))[0]*=i.uj,e[1]*=i.uj,e}return t=o(t[0]*i.F2,t[1]*i.F2,t.length>2?t[2]*i.F2:0),e.invert=function(e){return(e=t.invert(e[0]*i.F2,e[1]*i.F2))[0]*=i.uj,e[1]*=i.uj,e},e}a.invert=a},20465:function(t,e,r){"use strict";function n(t,e){t&&a.hasOwnProperty(t.type)&&a[t.type](t,e)}r.d(e,{A:function(){return l}});var i={Feature:function(t,e){n(t.geometry,e)},FeatureCollection:function(t,e){for(var r=t.features,i=-1,a=r.length;++i=0;)e+=r[n].value;else e=1;t.value=e}function l(t,e){var r,n,i,a,o,s=new f(t),l=+t.value&&(s.value=t.value),u=[s];for(null==e&&(e=c);r=u.pop();)if(l&&(r.value=+r.data.value),(i=e(r.data))&&(o=i.length))for(r.children=new Array(o),a=o-1;a>=0;--a)u.push(n=r.children[a]=new f(i[a])),n.parent=r,n.depth=r.depth+1;return s.eachBefore(h)}function c(t){return t.children}function u(t){t.data=t.data.data}function h(t){var e=0;do{t.height=e}while((t=t.parent)&&t.height<++e)}function f(t){this.data=t,this.depth=this.height=0,this.parent=null}r.r(e),r.d(e,{cluster:function(){return o},hierarchy:function(){return l},pack:function(){return P},packEnclose:function(){return d},packSiblings:function(){return S},partition:function(){return B},stratify:function(){return H},tree:function(){return J},treemap:function(){return rt},treemapBinary:function(){return nt},treemapDice:function(){return F},treemapResquarify:function(){return at},treemapSlice:function(){return K},treemapSliceDice:function(){return it},treemapSquarify:function(){return et}}),f.prototype=l.prototype={constructor:f,count:function(){return this.eachAfter(s)},each:function(t){var e,r,n,i,a=this,o=[a];do{for(e=o.reverse(),o=[];a=e.pop();)if(t(a),r=a.children)for(n=0,i=r.length;n=0;--r)i.push(e[r]);return this},sum:function(t){return this.eachAfter((function(e){for(var r=+t(e.data)||0,n=e.children,i=n&&n.length;--i>=0;)r+=n[i].value;e.value=r}))},sort:function(t){return this.eachBefore((function(e){e.children&&e.children.sort(t)}))},path:function(t){for(var e=this,r=function(t,e){if(t===e)return t;var r=t.ancestors(),n=e.ancestors(),i=null;for(t=r.pop(),e=n.pop();t===e;)i=t,t=r.pop(),e=n.pop();return i}(e,t),n=[e];e!==r;)e=e.parent,n.push(e);for(var i=n.length;t!==r;)n.splice(i,0,t),t=t.parent;return n},ancestors:function(){for(var t=this,e=[t];t=t.parent;)e.push(t);return e},descendants:function(){var t=[];return this.each((function(e){t.push(e)})),t},leaves:function(){var t=[];return this.eachBefore((function(e){e.children||t.push(e)})),t},links:function(){var t=this,e=[];return t.each((function(r){r!==t&&e.push({source:r.parent,target:r})})),e},copy:function(){return l(this).eachBefore(u)}};var p=Array.prototype.slice;function d(t){for(var e,r,n=0,i=(t=function(t){for(var e,r,n=t.length;n;)r=Math.random()*n--|0,e=t[n],t[n]=t[r],t[r]=e;return t}(p.call(t))).length,a=[];n0&&r*r>n*n+i*i}function v(t,e){for(var r=0;r(o*=o)?(n=(c+o-i)/(2*c),a=Math.sqrt(Math.max(0,o/c-n*n)),r.x=t.x-n*s-a*l,r.y=t.y-n*l+a*s):(n=(c+i-o)/(2*c),a=Math.sqrt(Math.max(0,i/c-n*n)),r.x=e.x+n*s-a*l,r.y=e.y+n*l+a*s)):(r.x=e.x+r.r,r.y=e.y)}function T(t,e){var r=t.r+e.r-1e-6,n=e.x-t.x,i=e.y-t.y;return r>0&&r*r>n*n+i*i}function k(t){var e=t._,r=t.next._,n=e.r+r.r,i=(e.x*r.r+r.x*e.r)/n,a=(e.y*r.r+r.y*e.r)/n;return i*i+a*a}function A(t){this._=t,this.next=null,this.previous=null}function M(t){if(!(i=t.length))return 0;var e,r,n,i,a,o,s,l,c,u,h;if((e=t[0]).x=0,e.y=0,!(i>1))return e.r;if(r=t[1],e.x=-r.r,r.x=e.r,r.y=0,!(i>2))return e.r+r.r;w(r,e,n=t[2]),e=new A(e),r=new A(r),n=new A(n),e.next=n.previous=r,r.next=e.previous=n,n.next=r.previous=e;t:for(s=3;s0)throw new Error("cycle");return a}return r.id=function(e){return arguments.length?(t=E(e),r):t},r.parentId=function(t){return arguments.length?(e=E(t),r):e},r}function G(t,e){return t.parent===e.parent?1:2}function Z(t){var e=t.children;return e?e[0]:t.t}function W(t){var e=t.children;return e?e[e.length-1]:t.t}function Y(t,e,r){var n=r/(e.i-t.i);e.c-=n,e.s+=r,t.c+=n,e.z+=r,e.m+=r}function X(t,e,r){return t.a.parent===e.parent?t.a:r}function $(t,e){this._=t,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=e}function J(){var t=G,e=1,r=1,n=null;function i(i){var l=function(t){for(var e,r,n,i,a,o=new $(t,0),s=[o];e=s.pop();)if(n=e._.children)for(e.children=new Array(a=n.length),i=a-1;i>=0;--i)s.push(r=e.children[i]=new $(n[i],i)),r.parent=e;return(o.parent=new $(null,0)).children=[o],o}(i);if(l.eachAfter(a),l.parent.m=-l.z,l.eachBefore(o),n)i.eachBefore(s);else{var c=i,u=i,h=i;i.eachBefore((function(t){t.xu.x&&(u=t),t.depth>h.depth&&(h=t)}));var f=c===u?1:t(c,u)/2,p=f-c.x,d=e/(u.x+f+p),m=r/(h.depth||1);i.eachBefore((function(t){t.x=(t.x+p)*d,t.y=t.depth*m}))}return i}function a(e){var r=e.children,n=e.parent.children,i=e.i?n[e.i-1]:null;if(r){!function(t){for(var e,r=0,n=0,i=t.children,a=i.length;--a>=0;)(e=i[a]).z+=r,e.m+=r,r+=e.s+(n+=e.c)}(e);var a=(r[0].z+r[r.length-1].z)/2;i?(e.z=i.z+t(e._,i._),e.m=e.z-a):e.z=a}else i&&(e.z=i.z+t(e._,i._));e.parent.A=function(e,r,n){if(r){for(var i,a=e,o=e,s=r,l=a.parent.children[0],c=a.m,u=o.m,h=s.m,f=l.m;s=W(s),a=Z(a),s&&a;)l=Z(l),(o=W(o)).a=e,(i=s.z+h-a.z-c+t(s._,a._))>0&&(Y(X(s,e,n),e,i),c+=i,u+=i),h+=s.m,c+=a.m,f+=l.m,u+=o.m;s&&!W(o)&&(o.t=s,o.m+=h-u),a&&!Z(l)&&(l.t=a,l.m+=c-f,n=e)}return n}(e,i,e.parent.A||n[0])}function o(t){t._.x=t.z+t.parent.m,t.m+=t.parent.m}function s(t){t.x*=e,t.y=t.depth*r}return i.separation=function(e){return arguments.length?(t=e,i):t},i.size=function(t){return arguments.length?(n=!1,e=+t[0],r=+t[1],i):n?null:[e,r]},i.nodeSize=function(t){return arguments.length?(n=!0,e=+t[0],r=+t[1],i):n?[e,r]:null},i}function K(t,e,r,n,i){for(var a,o=t.children,s=-1,l=o.length,c=t.value&&(i-r)/t.value;++sf&&(f=s),g=u*u*m,(p=Math.max(f/g,g/h))>d){u-=s;break}d=p}y.push(o={value:u,dice:l1?e:1)},r}(Q);function rt(){var t=et,e=!1,r=1,n=1,i=[0],a=C,o=C,s=C,l=C,c=C;function u(t){return t.x0=t.y0=0,t.x1=r,t.y1=n,t.eachBefore(h),i=[0],e&&t.eachBefore(R),t}function h(e){var r=i[e.depth],n=e.x0+r,u=e.y0+r,h=e.x1-r,f=e.y1-r;h=r-1){var u=s[e];return u.x0=i,u.y0=a,u.x1=o,void(u.y1=l)}for(var h=c[e],f=n/2+h,p=e+1,d=r-1;p>>1;c[m]l-a){var v=(i*y+o*g)/n;t(e,p,g,i,a,v,l),t(p,r,y,v,a,o,l)}else{var x=(a*y+l*g)/n;t(e,p,g,i,a,o,x),t(p,r,y,i,x,o,l)}}(0,l,t.value,e,r,n,i)}function it(t,e,r,n,i){(1&t.depth?K:F)(t,e,r,n,i)}var at=function t(e){function r(t,r,n,i,a){if((o=t._squarify)&&o.ratio===e)for(var o,s,l,c,u,h=-1,f=o.length,p=t.value;++h1?e:1)},r}(Q)},48544:function(t,e,r){"use strict";r.d(e,{pq:function(){return y}});var n=Math.PI,i=2*n,a=1e-6,o=i-a;function s(){this._x0=this._y0=this._x1=this._y1=null,this._=""}function l(){return new s}s.prototype=l.prototype={constructor:s,moveTo:function(t,e){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")},lineTo:function(t,e){this._+="L"+(this._x1=+t)+","+(this._y1=+e)},quadraticCurveTo:function(t,e,r,n){this._+="Q"+ +t+","+ +e+","+(this._x1=+r)+","+(this._y1=+n)},bezierCurveTo:function(t,e,r,n,i,a){this._+="C"+ +t+","+ +e+","+ +r+","+ +n+","+(this._x1=+i)+","+(this._y1=+a)},arcTo:function(t,e,r,i,o){t=+t,e=+e,r=+r,i=+i,o=+o;var s=this._x1,l=this._y1,c=r-t,u=i-e,h=s-t,f=l-e,p=h*h+f*f;if(o<0)throw new Error("negative radius: "+o);if(null===this._x1)this._+="M"+(this._x1=t)+","+(this._y1=e);else if(p>a)if(Math.abs(f*c-u*h)>a&&o){var d=r-s,m=i-l,g=c*c+u*u,y=d*d+m*m,v=Math.sqrt(g),x=Math.sqrt(p),_=o*Math.tan((n-Math.acos((g+p-y)/(2*v*x)))/2),b=_/x,w=_/v;Math.abs(b-1)>a&&(this._+="L"+(t+b*h)+","+(e+b*f)),this._+="A"+o+","+o+",0,0,"+ +(f*d>h*m)+","+(this._x1=t+w*c)+","+(this._y1=e+w*u)}else this._+="L"+(this._x1=t)+","+(this._y1=e)},arc:function(t,e,r,s,l,c){t=+t,e=+e,c=!!c;var u=(r=+r)*Math.cos(s),h=r*Math.sin(s),f=t+u,p=e+h,d=1^c,m=c?s-l:l-s;if(r<0)throw new Error("negative radius: "+r);null===this._x1?this._+="M"+f+","+p:(Math.abs(this._x1-f)>a||Math.abs(this._y1-p)>a)&&(this._+="L"+f+","+p),r&&(m<0&&(m=m%i+i),m>o?this._+="A"+r+","+r+",0,1,"+d+","+(t-u)+","+(e-h)+"A"+r+","+r+",0,1,"+d+","+(this._x1=f)+","+(this._y1=p):m>a&&(this._+="A"+r+","+r+",0,"+ +(m>=n)+","+d+","+(this._x1=t+r*Math.cos(l))+","+(this._y1=e+r*Math.sin(l))))},rect:function(t,e,r,n){this._+="M"+(this._x0=this._x1=+t)+","+(this._y0=this._y1=+e)+"h"+ +r+"v"+ +n+"h"+-r+"Z"},toString:function(){return this._}};var c=l,u=Array.prototype.slice;function h(t){return function(){return t}}function f(t){return t[0]}function p(t){return t[1]}function d(t){return t.source}function m(t){return t.target}function g(t,e,r,n,i){t.moveTo(e,r),t.bezierCurveTo(e=(e+n)/2,r,e,i,n,i)}function y(){return function(t){var e=d,r=m,n=f,i=p,a=null;function o(){var o,s=u.call(arguments),l=e.apply(this,s),h=r.apply(this,s);if(a||(a=o=c()),t(a,+n.apply(this,(s[0]=l,s)),+i.apply(this,s),+n.apply(this,(s[0]=h,s)),+i.apply(this,s)),o)return a=null,o+""||null}return o.source=function(t){return arguments.length?(e=t,o):e},o.target=function(t){return arguments.length?(r=t,o):r},o.x=function(t){return arguments.length?(n="function"==typeof t?t:h(+t),o):n},o.y=function(t){return arguments.length?(i="function"==typeof t?t:h(+t),o):i},o.context=function(t){return arguments.length?(a=null==t?null:t,o):a},o}(g)}},42696:function(t,e,r){"use strict";r.d(e,{DC:function(){return d},de:function(){return f},aL:function(){return m}});var n=r(1681),i=r(72543),a=r(55735),o=r(47265),s=r(9830),l=r(59764);function c(t){if(0<=t.y&&t.y<100){var e=new Date(-1,t.m,t.d,t.H,t.M,t.S,t.L);return e.setFullYear(t.y),e}return new Date(t.y,t.m,t.d,t.H,t.M,t.S,t.L)}function u(t){if(0<=t.y&&t.y<100){var e=new Date(Date.UTC(-1,t.m,t.d,t.H,t.M,t.S,t.L));return e.setUTCFullYear(t.y),e}return new Date(Date.UTC(t.y,t.m,t.d,t.H,t.M,t.S,t.L))}function h(t,e,r){return{y:t,m:e,d:r,H:0,M:0,S:0,L:0}}function f(t){var e=t.dateTime,r=t.date,s=t.time,l=t.periods,f=t.days,p=t.shortDays,d=t.months,m=t.shortMonths,y=w(l),v=T(l),x=w(f),_=T(f),b=w(p),St=T(p),Et=w(d),Ct=T(d),Lt=w(m),It=T(m),Pt={a:function(t){return p[t.getDay()]},A:function(t){return f[t.getDay()]},b:function(t){return m[t.getMonth()]},B:function(t){return d[t.getMonth()]},c:null,d:H,e:H,f:X,H:G,I:Z,j:W,L:Y,m:$,M:J,p:function(t){return l[+(t.getHours()>=12)]},q:function(t){return 1+~~(t.getMonth()/3)},Q:At,s:Mt,S:K,u:Q,U:tt,V:et,w:rt,W:nt,x:null,X:null,y:it,Y:at,Z:ot,"%":kt},zt={a:function(t){return p[t.getUTCDay()]},A:function(t){return f[t.getUTCDay()]},b:function(t){return m[t.getUTCMonth()]},B:function(t){return d[t.getUTCMonth()]},c:null,d:st,e:st,f:ft,H:lt,I:ct,j:ut,L:ht,m:pt,M:dt,p:function(t){return l[+(t.getUTCHours()>=12)]},q:function(t){return 1+~~(t.getUTCMonth()/3)},Q:At,s:Mt,S:mt,u:gt,U:yt,V:vt,w:xt,W:_t,x:null,X:null,y:bt,Y:wt,Z:Tt,"%":kt},Ot={a:function(t,e,r){var n=b.exec(e.slice(r));return n?(t.w=St[n[0].toLowerCase()],r+n[0].length):-1},A:function(t,e,r){var n=x.exec(e.slice(r));return n?(t.w=_[n[0].toLowerCase()],r+n[0].length):-1},b:function(t,e,r){var n=Lt.exec(e.slice(r));return n?(t.m=It[n[0].toLowerCase()],r+n[0].length):-1},B:function(t,e,r){var n=Et.exec(e.slice(r));return n?(t.m=Ct[n[0].toLowerCase()],r+n[0].length):-1},c:function(t,r,n){return Ft(t,e,r,n)},d:O,e:O,f:j,H:R,I:R,j:D,L:N,m:z,M:F,p:function(t,e,r){var n=y.exec(e.slice(r));return n?(t.p=v[n[0].toLowerCase()],r+n[0].length):-1},q:P,Q:V,s:q,S:B,u:A,U:M,V:S,w:k,W:E,x:function(t,e,n){return Ft(t,r,e,n)},X:function(t,e,r){return Ft(t,s,e,r)},y:L,Y:C,Z:I,"%":U};function Dt(t,e){return function(r){var n,i,a,o=[],s=-1,l=0,c=t.length;for(r instanceof Date||(r=new Date(+r));++s53)return null;"w"in f||(f.w=1),"Z"in f?(l=(s=u(h(f.y,0,1))).getUTCDay(),s=l>4||0===l?n.rt.ceil(s):(0,n.rt)(s),s=i.A.offset(s,7*(f.V-1)),f.y=s.getUTCFullYear(),f.m=s.getUTCMonth(),f.d=s.getUTCDate()+(f.w+6)%7):(l=(s=c(h(f.y,0,1))).getDay(),s=l>4||0===l?a.By.ceil(s):(0,a.By)(s),s=o.A.offset(s,7*(f.V-1)),f.y=s.getFullYear(),f.m=s.getMonth(),f.d=s.getDate()+(f.w+6)%7)}else("W"in f||"U"in f)&&("w"in f||(f.w="u"in f?f.u%7:"W"in f?1:0),l="Z"in f?u(h(f.y,0,1)).getUTCDay():c(h(f.y,0,1)).getDay(),f.m=0,f.d="W"in f?(f.w+6)%7+7*f.W-(l+5)%7:f.w+7*f.U-(l+6)%7);return"Z"in f?(f.H+=f.Z/100|0,f.M+=f.Z%100,u(f)):c(f)}}function Ft(t,e,r,n){for(var i,a,o=0,s=e.length,l=r.length;o=l)return-1;if(37===(i=e.charCodeAt(o++))){if(i=e.charAt(o++),!(a=Ot[i in g?e.charAt(o++):i])||(n=a(t,r,n))<0)return-1}else if(i!=r.charCodeAt(n++))return-1}return n}return Pt.x=Dt(r,Pt),Pt.X=Dt(s,Pt),Pt.c=Dt(e,Pt),zt.x=Dt(r,zt),zt.X=Dt(s,zt),zt.c=Dt(e,zt),{format:function(t){var e=Dt(t+="",Pt);return e.toString=function(){return t},e},parse:function(t){var e=Rt(t+="",!1);return e.toString=function(){return t},e},utcFormat:function(t){var e=Dt(t+="",zt);return e.toString=function(){return t},e},utcParse:function(t){var e=Rt(t+="",!0);return e.toString=function(){return t},e}}}var p,d,m,g={"-":"",_:" ",0:"0"},y=/^\s*\d+/,v=/^%/,x=/[\\^$*+?|[\]().{}]/g;function _(t,e,r){var n=t<0?"-":"",i=(n?-t:t)+"",a=i.length;return n+(a68?1900:2e3),r+n[0].length):-1}function I(t,e,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(e.slice(r,r+6));return n?(t.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function P(t,e,r){var n=y.exec(e.slice(r,r+1));return n?(t.q=3*n[0]-3,r+n[0].length):-1}function z(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.m=n[0]-1,r+n[0].length):-1}function O(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.d=+n[0],r+n[0].length):-1}function D(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.m=0,t.d=+n[0],r+n[0].length):-1}function R(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.H=+n[0],r+n[0].length):-1}function F(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.M=+n[0],r+n[0].length):-1}function B(t,e,r){var n=y.exec(e.slice(r,r+2));return n?(t.S=+n[0],r+n[0].length):-1}function N(t,e,r){var n=y.exec(e.slice(r,r+3));return n?(t.L=+n[0],r+n[0].length):-1}function j(t,e,r){var n=y.exec(e.slice(r,r+6));return n?(t.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function U(t,e,r){var n=v.exec(e.slice(r,r+1));return n?r+n[0].length:-1}function V(t,e,r){var n=y.exec(e.slice(r));return n?(t.Q=+n[0],r+n[0].length):-1}function q(t,e,r){var n=y.exec(e.slice(r));return n?(t.s=+n[0],r+n[0].length):-1}function H(t,e){return _(t.getDate(),e,2)}function G(t,e){return _(t.getHours(),e,2)}function Z(t,e){return _(t.getHours()%12||12,e,2)}function W(t,e){return _(1+o.A.count((0,s.A)(t),t),e,3)}function Y(t,e){return _(t.getMilliseconds(),e,3)}function X(t,e){return Y(t,e)+"000"}function $(t,e){return _(t.getMonth()+1,e,2)}function J(t,e){return _(t.getMinutes(),e,2)}function K(t,e){return _(t.getSeconds(),e,2)}function Q(t){var e=t.getDay();return 0===e?7:e}function tt(t,e){return _(a.fz.count((0,s.A)(t)-1,t),e,2)}function et(t,e){var r=t.getDay();return t=r>=4||0===r?(0,a.dt)(t):a.dt.ceil(t),_(a.dt.count((0,s.A)(t),t)+(4===(0,s.A)(t).getDay()),e,2)}function rt(t){return t.getDay()}function nt(t,e){return _(a.By.count((0,s.A)(t)-1,t),e,2)}function it(t,e){return _(t.getFullYear()%100,e,2)}function at(t,e){return _(t.getFullYear()%1e4,e,4)}function ot(t){var e=t.getTimezoneOffset();return(e>0?"-":(e*=-1,"+"))+_(e/60|0,"0",2)+_(e%60,"0",2)}function st(t,e){return _(t.getUTCDate(),e,2)}function lt(t,e){return _(t.getUTCHours(),e,2)}function ct(t,e){return _(t.getUTCHours()%12||12,e,2)}function ut(t,e){return _(1+i.A.count((0,l.A)(t),t),e,3)}function ht(t,e){return _(t.getUTCMilliseconds(),e,3)}function ft(t,e){return ht(t,e)+"000"}function pt(t,e){return _(t.getUTCMonth()+1,e,2)}function dt(t,e){return _(t.getUTCMinutes(),e,2)}function mt(t,e){return _(t.getUTCSeconds(),e,2)}function gt(t){var e=t.getUTCDay();return 0===e?7:e}function yt(t,e){return _(n.Hl.count((0,l.A)(t)-1,t),e,2)}function vt(t,e){var r=t.getUTCDay();return t=r>=4||0===r?(0,n.pT)(t):n.pT.ceil(t),_(n.pT.count((0,l.A)(t),t)+(4===(0,l.A)(t).getUTCDay()),e,2)}function xt(t){return t.getUTCDay()}function _t(t,e){return _(n.rt.count((0,l.A)(t)-1,t),e,2)}function bt(t,e){return _(t.getUTCFullYear()%100,e,2)}function wt(t,e){return _(t.getUTCFullYear()%1e4,e,4)}function Tt(){return"+0000"}function kt(){return"%"}function At(t){return+t}function Mt(t){return Math.floor(+t/1e3)}p=f({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]}),d=p.format,p.parse,m=p.utcFormat,p.utcParse},47265:function(t,e,r){"use strict";r.d(e,{_:function(){return o}});var n=r(53398),i=r(66291),a=(0,n.A)((function(t){t.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.rR)/i.Nm}),(function(t){return t.getDate()-1}));e.A=a;var o=a.range},66291:function(t,e,r){"use strict";r.d(e,{Fq:function(){return s},JJ:function(){return a},Nm:function(){return o},Tt:function(){return n},rR:function(){return i}});var n=1e3,i=6e4,a=36e5,o=864e5,s=6048e5},50936:function(t,e,r){"use strict";r.r(e),r.d(e,{timeDay:function(){return y.A},timeDays:function(){return y._},timeFriday:function(){return v.Sh},timeFridays:function(){return v.tz},timeHour:function(){return m},timeHours:function(){return g},timeInterval:function(){return n.A},timeMillisecond:function(){return a},timeMilliseconds:function(){return o},timeMinute:function(){return f},timeMinutes:function(){return p},timeMonday:function(){return v.By},timeMondays:function(){return v.KP},timeMonth:function(){return _},timeMonths:function(){return b},timeSaturday:function(){return v.kS},timeSaturdays:function(){return v.t$},timeSecond:function(){return c},timeSeconds:function(){return u},timeSunday:function(){return v.fz},timeSundays:function(){return v.se},timeThursday:function(){return v.dt},timeThursdays:function(){return v.Q$},timeTuesday:function(){return v.eQ},timeTuesdays:function(){return v.yW},timeWednesday:function(){return v.l3},timeWednesdays:function(){return v.gf},timeWeek:function(){return v.fz},timeWeeks:function(){return v.se},timeYear:function(){return w.A},timeYears:function(){return w.V},utcDay:function(){return C.A},utcDays:function(){return C.o},utcFriday:function(){return L.a1},utcFridays:function(){return L.Zn},utcHour:function(){return S},utcHours:function(){return E},utcMillisecond:function(){return a},utcMilliseconds:function(){return o},utcMinute:function(){return k},utcMinutes:function(){return A},utcMonday:function(){return L.rt},utcMondays:function(){return L.ON},utcMonth:function(){return P},utcMonths:function(){return z},utcSaturday:function(){return L.c8},utcSaturdays:function(){return L.Xo},utcSecond:function(){return c},utcSeconds:function(){return u},utcSunday:function(){return L.Hl},utcSundays:function(){return L.aZ},utcThursday:function(){return L.pT},utcThursdays:function(){return L.wr},utcTuesday:function(){return L.sr},utcTuesdays:function(){return L.jN},utcWednesday:function(){return L.z2},utcWednesdays:function(){return L.G6},utcWeek:function(){return L.Hl},utcWeeks:function(){return L.aZ},utcYear:function(){return O.A},utcYears:function(){return O.j}});var n=r(53398),i=(0,n.A)((function(){}),(function(t,e){t.setTime(+t+e)}),(function(t,e){return e-t}));i.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?(0,n.A)((function(e){e.setTime(Math.floor(e/t)*t)}),(function(e,r){e.setTime(+e+r*t)}),(function(e,r){return(r-e)/t})):i:null};var a=i,o=i.range,s=r(66291),l=(0,n.A)((function(t){t.setTime(t-t.getMilliseconds())}),(function(t,e){t.setTime(+t+e*s.Tt)}),(function(t,e){return(e-t)/s.Tt}),(function(t){return t.getUTCSeconds()})),c=l,u=l.range,h=(0,n.A)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.Tt)}),(function(t,e){t.setTime(+t+e*s.rR)}),(function(t,e){return(e-t)/s.rR}),(function(t){return t.getMinutes()})),f=h,p=h.range,d=(0,n.A)((function(t){t.setTime(t-t.getMilliseconds()-t.getSeconds()*s.Tt-t.getMinutes()*s.rR)}),(function(t,e){t.setTime(+t+e*s.JJ)}),(function(t,e){return(e-t)/s.JJ}),(function(t){return t.getHours()})),m=d,g=d.range,y=r(47265),v=r(55735),x=(0,n.A)((function(t){t.setDate(1),t.setHours(0,0,0,0)}),(function(t,e){t.setMonth(t.getMonth()+e)}),(function(t,e){return e.getMonth()-t.getMonth()+12*(e.getFullYear()-t.getFullYear())}),(function(t){return t.getMonth()})),_=x,b=x.range,w=r(9830),T=(0,n.A)((function(t){t.setUTCSeconds(0,0)}),(function(t,e){t.setTime(+t+e*s.rR)}),(function(t,e){return(e-t)/s.rR}),(function(t){return t.getUTCMinutes()})),k=T,A=T.range,M=(0,n.A)((function(t){t.setUTCMinutes(0,0,0)}),(function(t,e){t.setTime(+t+e*s.JJ)}),(function(t,e){return(e-t)/s.JJ}),(function(t){return t.getUTCHours()})),S=M,E=M.range,C=r(72543),L=r(1681),I=(0,n.A)((function(t){t.setUTCDate(1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCMonth(t.getUTCMonth()+e)}),(function(t,e){return e.getUTCMonth()-t.getUTCMonth()+12*(e.getUTCFullYear()-t.getUTCFullYear())}),(function(t){return t.getUTCMonth()})),P=I,z=I.range,O=r(59764)},53398:function(t,e,r){"use strict";r.d(e,{A:function(){return a}});var n=new Date,i=new Date;function a(t,e,r,o){function s(e){return t(e=0===arguments.length?new Date:new Date(+e)),e}return s.floor=function(e){return t(e=new Date(+e)),e},s.ceil=function(r){return t(r=new Date(r-1)),e(r,1),t(r),r},s.round=function(t){var e=s(t),r=s.ceil(t);return t-e0))return o;do{o.push(a=new Date(+r)),e(r,i),t(r)}while(a=e)for(;t(e),!r(e);)e.setTime(e-1)}),(function(t,n){if(t>=t)if(n<0)for(;++n<=0;)for(;e(t,-1),!r(t););else for(;--n>=0;)for(;e(t,1),!r(t););}))},r&&(s.count=function(e,a){return n.setTime(+e),i.setTime(+a),t(n),t(i),Math.floor(r(n,i))},s.every=function(t){return t=Math.floor(t),isFinite(t)&&t>0?t>1?s.filter(o?function(e){return o(e)%t==0}:function(e){return s.count(0,e)%t==0}):s:null}),s}},72543:function(t,e,r){"use strict";r.d(e,{o:function(){return o}});var n=r(53398),i=r(66291),a=(0,n.A)((function(t){t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+e)}),(function(t,e){return(e-t)/i.Nm}),(function(t){return t.getUTCDate()-1}));e.A=a;var o=a.range},1681:function(t,e,r){"use strict";r.d(e,{G6:function(){return g},Hl:function(){return o},ON:function(){return d},Xo:function(){return x},Zn:function(){return v},a1:function(){return h},aZ:function(){return p},c8:function(){return f},jN:function(){return m},pT:function(){return u},rt:function(){return s},sr:function(){return l},wr:function(){return y},z2:function(){return c}});var n=r(53398),i=r(66291);function a(t){return(0,n.A)((function(e){e.setUTCDate(e.getUTCDate()-(e.getUTCDay()+7-t)%7),e.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCDate(t.getUTCDate()+7*e)}),(function(t,e){return(e-t)/i.Fq}))}var o=a(0),s=a(1),l=a(2),c=a(3),u=a(4),h=a(5),f=a(6),p=o.range,d=s.range,m=l.range,g=c.range,y=u.range,v=h.range,x=f.range},59764:function(t,e,r){"use strict";r.d(e,{j:function(){return a}});var n=r(53398),i=(0,n.A)((function(t){t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)}),(function(t,e){t.setUTCFullYear(t.getUTCFullYear()+e)}),(function(t,e){return e.getUTCFullYear()-t.getUTCFullYear()}),(function(t){return t.getUTCFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.A)((function(e){e.setUTCFullYear(Math.floor(e.getUTCFullYear()/t)*t),e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)}),(function(e,r){e.setUTCFullYear(e.getUTCFullYear()+r*t)})):null},e.A=i;var a=i.range},55735:function(t,e,r){"use strict";r.d(e,{By:function(){return s},KP:function(){return d},Q$:function(){return y},Sh:function(){return h},dt:function(){return u},eQ:function(){return l},fz:function(){return o},gf:function(){return g},kS:function(){return f},l3:function(){return c},se:function(){return p},t$:function(){return x},tz:function(){return v},yW:function(){return m}});var n=r(53398),i=r(66291);function a(t){return(0,n.A)((function(e){e.setDate(e.getDate()-(e.getDay()+7-t)%7),e.setHours(0,0,0,0)}),(function(t,e){t.setDate(t.getDate()+7*e)}),(function(t,e){return(e-t-(e.getTimezoneOffset()-t.getTimezoneOffset())*i.rR)/i.Fq}))}var o=a(0),s=a(1),l=a(2),c=a(3),u=a(4),h=a(5),f=a(6),p=o.range,d=s.range,m=l.range,g=c.range,y=u.range,v=h.range,x=f.range},9830:function(t,e,r){"use strict";r.d(e,{V:function(){return a}});var n=r(53398),i=(0,n.A)((function(t){t.setMonth(0,1),t.setHours(0,0,0,0)}),(function(t,e){t.setFullYear(t.getFullYear()+e)}),(function(t,e){return e.getFullYear()-t.getFullYear()}),(function(t){return t.getFullYear()}));i.every=function(t){return isFinite(t=Math.floor(t))&&t>0?(0,n.A)((function(e){e.setFullYear(Math.floor(e.getFullYear()/t)*t),e.setMonth(0,1),e.setHours(0,0,0,0)}),(function(e,r){e.setFullYear(e.getFullYear()+r*t)})):null},e.A=i;var a=i.range},70973:function(t,e,r){"use strict";var n=r(40891),i=r(98800),a=r(48631),o=r(52991);t.exports=function(t,e,r){if(!t||"object"!=typeof t&&"function"!=typeof t)throw new a("`obj` must be an object or a function`");if("string"!=typeof e&&"symbol"!=typeof e)throw new a("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new a("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new a("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new a("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new a("`loose`, if provided, must be a boolean");var s=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,c=arguments.length>5?arguments[5]:null,u=arguments.length>6&&arguments[6],h=!!o&&o(t,e);if(n)n(t,e,{configurable:null===c&&h?h.configurable:!c,enumerable:null===s&&h?h.enumerable:!s,value:r,writable:null===l&&h?h.writable:!l});else{if(!u&&(s||l||c))throw new i("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");t[e]=r}}},97936:function(t,e,r){"use strict";var n=r(99433),i="function"==typeof Symbol&&"symbol"==typeof Symbol("foo"),a=Object.prototype.toString,o=Array.prototype.concat,s=Object.defineProperty,l=r(74268)(),c=s&&l,u=function(t,e,r,n){if(e in t)if(!0===n){if(t[e]===r)return}else if("function"!=typeof(i=n)||"[object Function]"!==a.call(i)||!n())return;var i;c?s(t,e,{configurable:!0,enumerable:!1,value:r,writable:!0}):t[e]=r},h=function(t,e){var r=arguments.length>2?arguments[2]:{},a=n(e);i&&(a=o.call(a,Object.getOwnPropertySymbols(e)));for(var s=0;ss*l){var p=(f-h)/s;o[u]=1e3*p}}return o}function i(t){for(var e=[],r=t[0];r<=t[1];r++)for(var n=String.fromCharCode(r),i=t[0];i0)return function(t,e){var r,n;for(r=new Array(t),n=0;n80*n){a=s=t[0],o=l=t[1];for(var x=n;xs&&(s=h),f>l&&(l=f);d=0!==(d=Math.max(s-a,l-o))?32767/d:0}return i(y,v,n,a,o,d,0),v}function r(t,e,r,n,i){var a,o;if(i===M(t,e,r,n)>0)for(a=e;a=e;a-=n)o=T(a,t[a],t[a+1],o);return o&&y(o,o.next)&&(k(o),o=o.next),o}function n(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!y(n,n.next)&&0!==g(n.prev,n,n.next))n=n.next;else{if(k(n),(n=e=n.prev)===n.next)break;r=!0}}while(r||n!==e);return e}function i(t,e,r,c,u,h,p){if(t){!p&&h&&function(t,e,r,n){var i=t;do{0===i.z&&(i.z=f(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,a,o,s,l,c=1;do{for(r=t,t=null,a=null,o=0;r;){for(o++,n=r,s=0,e=0;e0||l>0&&n;)0!==s&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,s--):(i=n,n=n.nextZ,l--),a?a.nextZ=i:t=i,i.prevZ=a,a=i;r=n}a.nextZ=null,c*=2}while(o>1)}(i)}(t,c,u,h);for(var d,m,g=t;t.prev!==t.next;)if(d=t.prev,m=t.next,h?o(t,c,u,h):a(t))e.push(d.i/r|0),e.push(t.i/r|0),e.push(m.i/r|0),k(t),t=m.next,g=m.next;else if((t=m)===g){p?1===p?i(t=s(n(t),e,r),e,r,c,u,h,2):2===p&&l(t,e,r,c,u,h):i(n(t),e,r,c,u,h,1);break}}}function a(t){var e=t.prev,r=t,n=t.next;if(g(e,r,n)>=0)return!1;for(var i=e.x,a=r.x,o=n.x,s=e.y,l=r.y,c=n.y,u=ia?i>o?i:o:a>o?a:o,p=s>l?s>c?s:c:l>c?l:c,m=n.next;m!==e;){if(m.x>=u&&m.x<=f&&m.y>=h&&m.y<=p&&d(i,s,a,l,o,c,m.x,m.y)&&g(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function o(t,e,r,n){var i=t.prev,a=t,o=t.next;if(g(i,a,o)>=0)return!1;for(var s=i.x,l=a.x,c=o.x,u=i.y,h=a.y,p=o.y,m=sl?s>c?s:c:l>c?l:c,x=u>h?u>p?u:p:h>p?h:p,_=f(m,y,e,r,n),b=f(v,x,e,r,n),w=t.prevZ,T=t.nextZ;w&&w.z>=_&&T&&T.z<=b;){if(w.x>=m&&w.x<=v&&w.y>=y&&w.y<=x&&w!==i&&w!==o&&d(s,u,l,h,c,p,w.x,w.y)&&g(w.prev,w,w.next)>=0)return!1;if(w=w.prevZ,T.x>=m&&T.x<=v&&T.y>=y&&T.y<=x&&T!==i&&T!==o&&d(s,u,l,h,c,p,T.x,T.y)&&g(T.prev,T,T.next)>=0)return!1;T=T.nextZ}for(;w&&w.z>=_;){if(w.x>=m&&w.x<=v&&w.y>=y&&w.y<=x&&w!==i&&w!==o&&d(s,u,l,h,c,p,w.x,w.y)&&g(w.prev,w,w.next)>=0)return!1;w=w.prevZ}for(;T&&T.z<=b;){if(T.x>=m&&T.x<=v&&T.y>=y&&T.y<=x&&T!==i&&T!==o&&d(s,u,l,h,c,p,T.x,T.y)&&g(T.prev,T,T.next)>=0)return!1;T=T.nextZ}return!0}function s(t,e,r){var i=t;do{var a=i.prev,o=i.next.next;!y(a,o)&&v(a,i,i.next,o)&&b(a,o)&&b(o,a)&&(e.push(a.i/r|0),e.push(i.i/r|0),e.push(o.i/r|0),k(i),k(i.next),i=t=o),i=i.next}while(i!==t);return n(i)}function l(t,e,r,a,o,s){var l=t;do{for(var c=l.next.next;c!==l.prev;){if(l.i!==c.i&&m(l,c)){var u=w(l,c);return l=n(l,l.next),u=n(u,u.next),i(l,e,r,a,o,s,0),void i(u,e,r,a,o,s,0)}c=c.next}l=l.next}while(l!==t)}function c(t,e){return t.x-e.x}function u(t,e){var r=function(t,e){var r,n=e,i=t.x,a=t.y,o=-1/0;do{if(a<=n.y&&a>=n.next.y&&n.next.y!==n.y){var s=n.x+(a-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(s<=i&&s>o&&(o=s,r=n.x=n.x&&n.x>=u&&i!==n.x&&d(ar.x||n.x===r.x&&h(r,n)))&&(r=n,p=l)),n=n.next}while(n!==c);return r}(t,e);if(!r)return e;var i=w(r,t);return n(i,i.next),n(r,r.next)}function h(t,e){return g(t.prev,t,e.prev)<0&&g(e.next,t,t.next)<0}function f(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function p(t){var e=t,r=t;do{(e.x=(t-o)*(a-s)&&(t-o)*(n-s)>=(r-o)*(e-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function m(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&v(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(b(t,e)&&b(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(g(t.prev,t,e.prev)||g(t,e.prev,e))||y(t,e)&&g(t.prev,t,t.next)>0&&g(e.prev,e,e.next)>0)}function g(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function y(t,e){return t.x===e.x&&t.y===e.y}function v(t,e,r,n){var i=_(g(t,e,r)),a=_(g(t,e,n)),o=_(g(r,n,t)),s=_(g(r,n,e));return i!==a&&o!==s||!(0!==i||!x(t,r,e))||!(0!==a||!x(t,n,e))||!(0!==o||!x(r,t,n))||!(0!==s||!x(r,e,n))}function x(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function _(t){return t>0?1:t<0?-1:0}function b(t,e){return g(t.prev,t,t.next)<0?g(t,e,t.next)>=0&&g(t,t.prev,e)>=0:g(t,e,t.prev)<0||g(t,t.next,e)<0}function w(t,e){var r=new A(t.i,t.x,t.y),n=new A(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function T(t,e,r,n){var i=new A(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function k(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function A(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function M(t,e,r,n){for(var i=0,a=e,o=r-n;a0&&(n+=t[i-1].length,r.holes.push(n))}return r}},96143:function(t,e,r){var n=r(26381);t.exports=function(t,e){var r,i=[],a=[],o=[],s={},l=[];function c(t){o[t]=!1,s.hasOwnProperty(t)&&Object.keys(s[t]).forEach((function(e){delete s[t][e],o[e]&&c(e)}))}function u(t){var e,n,i=!1;for(a.push(t),o[t]=!0,e=0;e=e}))}(e);for(var r,i=n(t).components.filter((function(t){return t.length>1})),a=1/0,o=0;o=55296&&v<=56319&&(w+=t[++r]),w=T?f.call(T,k,w,m):w,e?(p.value=w,d(g,m,p)):g[m]=w,++m;y=m}if(void 0===y)for(y=o(t.length),e&&(g=new e(y)),r=0;r0?1:-1}},10226:function(t,e,r){"use strict";var n=r(53579),i=Math.abs,a=Math.floor;t.exports=function(t){return isNaN(t)?0:0!==(t=Number(t))&&isFinite(t)?n(t)*a(i(t)):t}},54653:function(t,e,r){"use strict";var n=r(10226),i=Math.max;t.exports=function(t){return i(0,n(t))}},39395:function(t,e,r){"use strict";var n=r(52359),i=r(69746),a=Function.prototype.bind,o=Function.prototype.call,s=Object.keys,l=Object.prototype.propertyIsEnumerable;t.exports=function(t,e){return function(r,c){var u,h=arguments[2],f=arguments[3];return r=Object(i(r)),n(c),u=s(r),f&&u.sort("function"==typeof f?a.call(f,r):void 0),"function"!=typeof t&&(t=u[t]),o.call(t,u,(function(t,n){return l.call(r,t)?o.call(c,h,r[t],t,r,n):e}))}}},1920:function(t,e,r){"use strict";t.exports=r(41271)()?Object.assign:r(26399)},41271:function(t){"use strict";t.exports=function(){var t,e=Object.assign;return"function"==typeof e&&(e(t={foo:"raz"},{bar:"dwa"},{trzy:"trzy"}),t.foo+t.bar+t.trzy==="razdwatrzy")}},26399:function(t,e,r){"use strict";var n=r(36353),i=r(69746),a=Math.max;t.exports=function(t,e){var r,o,s,l=a(arguments.length,2);for(t=Object(i(t)),s=function(n){try{t[n]=e[n]}catch(t){r||(r=t)}},o=1;o-1}},48488:function(t){"use strict";var e=Object.prototype.toString,r=e.call("");t.exports=function(t){return"string"==typeof t||t&&"object"==typeof t&&(t instanceof String||e.call(t)===r)||!1}},43497:function(t){"use strict";var e=Object.create(null),r=Math.random;t.exports=function(){var t;do{t=r().toString(36).slice(2)}while(e[t]);return t}},71343:function(t,e,r){"use strict";var n,i=r(22834),a=r(2338),o=r(91819),s=r(63008),l=r(85490),c=Object.defineProperty;n=t.exports=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");l.call(this,t),e=e?a.call(e,"key+value")?"key+value":a.call(e,"key")?"key":"value":"value",c(this,"__kind__",o("",e))},i&&i(n,l),delete n.prototype.constructor,n.prototype=Object.create(l.prototype,{_resolve:o((function(t){return"value"===this.__kind__?this.__list__[t]:"key+value"===this.__kind__?[t,this.__list__[t]]:t}))}),c(n.prototype,s.toStringTag,o("c","Array Iterator"))},58755:function(t,e,r){"use strict";var n=r(82262),i=r(52359),a=r(48488),o=r(34494),s=Array.isArray,l=Function.prototype.call,c=Array.prototype.some;t.exports=function(t,e){var r,u,h,f,p,d,m,g,y=arguments[2];if(s(t)||n(t)?r="array":a(t)?r="string":t=o(t),i(e),h=function(){f=!0},"array"!==r)if("string"!==r)for(u=t.next();!u.done;){if(l.call(e,y,u.value,h),f)return;u=t.next()}else for(d=t.length,p=0;p=55296&&g<=56319&&(m+=t[++p]),l.call(e,y,m,h),!f);++p);else c.call(t,(function(t){return l.call(e,y,t,h),f}))}},34494:function(t,e,r){"use strict";var n=r(82262),i=r(48488),a=r(71343),o=r(23417),s=r(82831),l=r(63008).iterator;t.exports=function(t){return"function"==typeof s(t)[l]?t[l]():n(t)?new a(t):i(t)?new o(t):new a(t)}},85490:function(t,e,r){"use strict";var n,i=r(91445),a=r(1920),o=r(52359),s=r(69746),l=r(91819),c=r(84510),u=r(63008),h=Object.defineProperty,f=Object.defineProperties;t.exports=n=function(t,e){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");f(this,{__list__:l("w",s(t)),__context__:l("w",e),__nextIndex__:l("w",0)}),e&&(o(e.on),e.on("_add",this._onAdd),e.on("_delete",this._onDelete),e.on("_clear",this._onClear))},delete n.prototype.constructor,f(n.prototype,a({_next:l((function(){var t;if(this.__list__)return this.__redo__&&void 0!==(t=this.__redo__.shift())?t:this.__nextIndex__=this.__nextIndex__||(++this.__nextIndex__,this.__redo__?(this.__redo__.forEach((function(e,r){e>=t&&(this.__redo__[r]=++e)}),this),this.__redo__.push(t)):h(this,"__redo__",l("c",[t])))})),_onDelete:l((function(t){var e;t>=this.__nextIndex__||(--this.__nextIndex__,this.__redo__&&(-1!==(e=this.__redo__.indexOf(t))&&this.__redo__.splice(e,1),this.__redo__.forEach((function(e,r){e>t&&(this.__redo__[r]=--e)}),this)))})),_onClear:l((function(){this.__redo__&&i.call(this.__redo__),this.__nextIndex__=0}))}))),h(n.prototype,u.iterator,l((function(){return this})))},50567:function(t,e,r){"use strict";var n=r(82262),i=r(1974),a=r(48488),o=r(63008).iterator,s=Array.isArray;t.exports=function(t){return!(!i(t)||!s(t)&&!a(t)&&!n(t)&&"function"!=typeof t[o])}},23417:function(t,e,r){"use strict";var n,i=r(22834),a=r(91819),o=r(63008),s=r(85490),l=Object.defineProperty;n=t.exports=function(t){if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");t=String(t),s.call(this,t),l(this,"__length__",a("",t.length))},i&&i(n,s),delete n.prototype.constructor,n.prototype=Object.create(s.prototype,{_next:a((function(){if(this.__list__)return this.__nextIndex__=55296&&e<=56319?r+this.__list__[this.__nextIndex__++]:r}))}),l(n.prototype,o.toStringTag,a("c","String Iterator"))},82831:function(t,e,r){"use strict";var n=r(50567);t.exports=function(t){if(!n(t))throw new TypeError(t+" is not iterable");return t}},63008:function(t,e,r){"use strict";t.exports=r(25143)()?r(64725).Symbol:r(81905)},25143:function(t,e,r){"use strict";var n=r(64725),i={object:!0,symbol:!0};t.exports=function(){var t,e=n.Symbol;if("function"!=typeof e)return!1;t=e("test symbol");try{String(t)}catch(t){return!1}return!!i[typeof e.iterator]&&!!i[typeof e.toPrimitive]&&!!i[typeof e.toStringTag]}},41707:function(t){"use strict";t.exports=function(t){return!!t&&("symbol"==typeof t||!!t.constructor&&"Symbol"===t.constructor.name&&"Symbol"===t[t.constructor.toStringTag])}},74009:function(t,e,r){"use strict";var n=r(91819),i=Object.create,a=Object.defineProperty,o=Object.prototype,s=i(null);t.exports=function(t){for(var e,r,i=0;s[t+(i||"")];)++i;return s[t+=i||""]=!0,a(o,e="@@"+t,n.gs(null,(function(t){r||(r=!0,a(this,e,n(t)),r=!1)}))),e}},40313:function(t,e,r){"use strict";var n=r(91819),i=r(64725).Symbol;t.exports=function(t){return Object.defineProperties(t,{hasInstance:n("",i&&i.hasInstance||t("hasInstance")),isConcatSpreadable:n("",i&&i.isConcatSpreadable||t("isConcatSpreadable")),iterator:n("",i&&i.iterator||t("iterator")),match:n("",i&&i.match||t("match")),replace:n("",i&&i.replace||t("replace")),search:n("",i&&i.search||t("search")),species:n("",i&&i.species||t("species")),split:n("",i&&i.split||t("split")),toPrimitive:n("",i&&i.toPrimitive||t("toPrimitive")),toStringTag:n("",i&&i.toStringTag||t("toStringTag")),unscopables:n("",i&&i.unscopables||t("unscopables"))})}},21290:function(t,e,r){"use strict";var n=r(91819),i=r(91765),a=Object.create(null);t.exports=function(t){return Object.defineProperties(t,{for:n((function(e){return a[e]?a[e]:a[e]=t(String(e))})),keyFor:n((function(t){var e;for(e in i(t),a)if(a[e]===t)return e}))})}},81905:function(t,e,r){"use strict";var n,i,a,o=r(91819),s=r(91765),l=r(64725).Symbol,c=r(74009),u=r(40313),h=r(21290),f=Object.create,p=Object.defineProperties,d=Object.defineProperty;if("function"==typeof l)try{String(l()),a=!0}catch(t){}else l=null;i=function(t){if(this instanceof i)throw new TypeError("Symbol is not a constructor");return n(t)},t.exports=n=function t(e){var r;if(this instanceof t)throw new TypeError("Symbol is not a constructor");return a?l(e):(r=f(i.prototype),e=void 0===e?"":String(e),p(r,{__description__:o("",e),__name__:o("",c(e))}))},u(n),h(n),p(i.prototype,{constructor:o(n),toString:o("",(function(){return this.__name__}))}),p(n.prototype,{toString:o((function(){return"Symbol ("+s(this).__description__+")"})),valueOf:o((function(){return s(this)}))}),d(n.prototype,n.toPrimitive,o("",(function(){var t=s(this);return"symbol"==typeof t?t:t.toString()}))),d(n.prototype,n.toStringTag,o("c","Symbol")),d(i.prototype,n.toStringTag,o("c",n.prototype[n.toStringTag])),d(i.prototype,n.toPrimitive,o("c",n.prototype[n.toPrimitive]))},91765:function(t,e,r){"use strict";var n=r(41707);t.exports=function(t){if(!n(t))throw new TypeError(t+" is not a symbol");return t}},93103:function(t,e,r){"use strict";t.exports=r(22742)()?WeakMap:r(21780)},22742:function(t){"use strict";t.exports=function(){var t,e;if("function"!=typeof WeakMap)return!1;try{t=new WeakMap([[e={},"one"],[{},"two"],[{},"three"]])}catch(t){return!1}return"[object WeakMap]"===String(t)&&"function"==typeof t.set&&t.set({},1)===t&&"function"==typeof t.delete&&"function"==typeof t.has&&"one"===t.get(e)}},81810:function(t){"use strict";t.exports="function"==typeof WeakMap&&"[object WeakMap]"===Object.prototype.toString.call(new WeakMap)},21780:function(t,e,r){"use strict";var n,i=r(1974),a=r(22834),o=r(11004),s=r(69746),l=r(43497),c=r(91819),u=r(34494),h=r(58755),f=r(63008).toStringTag,p=r(81810),d=Array.isArray,m=Object.defineProperty,g=Object.prototype.hasOwnProperty,y=Object.getPrototypeOf;t.exports=n=function(){var t,e=arguments[0];if(!(this instanceof n))throw new TypeError("Constructor requires 'new'");return t=p&&a&&WeakMap!==n?a(new WeakMap,y(this)):this,i(e)&&(d(e)||(e=u(e))),m(t,"__weakMapData__",c("c","$weakMap$"+l())),e?(h(e,(function(e){s(e),t.set(e[0],e[1])})),t):t},p&&(a&&a(n,WeakMap),n.prototype=Object.create(WeakMap.prototype,{constructor:c(n)})),Object.defineProperties(n.prototype,{delete:c((function(t){return!!g.call(o(t),this.__weakMapData__)&&(delete t[this.__weakMapData__],!0)})),get:c((function(t){if(g.call(o(t),this.__weakMapData__))return t[this.__weakMapData__]})),has:c((function(t){return g.call(o(t),this.__weakMapData__)})),set:c((function(t,e){return m(o(t),this.__weakMapData__,c("c",e)),this})),toString:c((function(){return"[object WeakMap]"}))}),m(n.prototype,f,c("c","WeakMap"))},7683:function(t){"use strict";var e,r="object"==typeof Reflect?Reflect:null,n=r&&"function"==typeof r.apply?r.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};e=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var i=Number.isNaN||function(t){return t!=t};function a(){a.init.call(this)}t.exports=a,t.exports.once=function(t,e){return new Promise((function(r,n){function i(r){t.removeListener(e,a),n(r)}function a(){"function"==typeof t.removeListener&&t.removeListener("error",i),r([].slice.call(arguments))}m(t,e,a,{once:!0}),"error"!==e&&function(t,e,r){"function"==typeof t.on&&m(t,"error",e,{once:!0})}(t,i)}))},a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var o=10;function s(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function l(t){return void 0===t._maxListeners?a.defaultMaxListeners:t._maxListeners}function c(t,e,r,n){var i,a,o,c;if(s(r),void 0===(a=t._events)?(a=t._events=Object.create(null),t._eventsCount=0):(void 0!==a.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),a=t._events),o=a[e]),void 0===o)o=a[e]=r,++t._eventsCount;else if("function"==typeof o?o=a[e]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),(i=l(t))>0&&o.length>i&&!o.warned){o.warned=!0;var u=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");u.name="MaxListenersExceededWarning",u.emitter=t,u.type=e,u.count=o.length,c=u,console&&console.warn&&console.warn(c)}return t}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function h(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=u.bind(n);return i.listener=r,n.wrapFn=i,i}function f(t,e,r){var n=t._events;if(void 0===n)return[];var i=n[e];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(t){for(var e=new Array(t.length),r=0;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var l=a[t];if(void 0===l)return!1;if("function"==typeof l)n(l,this,e);else{var c=l.length,u=d(l,c);for(r=0;r=0;a--)if(r[a]===e||r[a].listener===e){o=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(t,e){for(;e+1=0;n--)this.removeListener(t,e[n]);return this},a.prototype.listeners=function(t){return f(this,t,!0)},a.prototype.rawListeners=function(t){return f(this,t,!1)},a.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):p.call(t,e)},a.prototype.listenerCount=p,a.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},77083:function(t){var e=function(){if("object"==typeof self&&self)return self;if("object"==typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};t.exports=function(){if(this)return this;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(t){return e()}try{return __global__||e()}finally{delete Object.prototype.__global__}}()},64725:function(t,e,r){"use strict";t.exports=r(17804)()?globalThis:r(77083)},17804:function(t){"use strict";t.exports=function(){return"object"==typeof globalThis&&!!globalThis&&globalThis.Array===Array}},10721:function(t,e,r){"use strict";var n=r(9914);t.exports=function(t){var e=typeof t;if("string"===e){var r=t;if(0==(t=+t)&&n(r))return!1}else if("number"!==e)return!1;return t-t<1}},83473:function(t,e,r){var n=r(10275);t.exports=function(t,e,r){if(!t)throw new TypeError("must specify data as first parameter");if(r=0|+(r||0),Array.isArray(t)&&t[0]&&"number"==typeof t[0][0]){var i,a,o,s,l=t[0].length,c=t.length*l;e&&"string"!=typeof e||(e=new(n(e||"float32"))(c+r));var u=e.length-r;if(c!==u)throw new Error("source length "+c+" ("+l+"x"+t.length+") does not match destination length "+u);for(i=0,o=r;ie[0]-o[0]/2&&(f=o[0]/2,p+=o[1]);return r}},12673:function(t){"use strict";function e(t,a){a||(a={}),("string"==typeof t||Array.isArray(t))&&(a.family=t);var o=Array.isArray(a.family)?a.family.join(", "):a.family;if(!o)throw Error("`family` must be defined");var s=a.size||a.fontSize||a.em||48,l=a.weight||a.fontWeight||"",c=(t=[a.style||a.fontStyle||"",l,s].join(" ")+"px "+o,a.origin||"top");if(e.cache[o]&&s<=e.cache[o].em)return r(e.cache[o],c);var u=a.canvas||e.canvas,h=u.getContext("2d"),f={upper:void 0!==a.upper?a.upper:"H",lower:void 0!==a.lower?a.lower:"x",descent:void 0!==a.descent?a.descent:"p",ascent:void 0!==a.ascent?a.ascent:"h",tittle:void 0!==a.tittle?a.tittle:"i",overshoot:void 0!==a.overshoot?a.overshoot:"O"},p=Math.ceil(1.5*s);u.height=p,u.width=.5*p,h.font=t;var d="H",m={top:0};h.clearRect(0,0,p,p),h.textBaseline="top",h.fillStyle="black",h.fillText(d,0,0);var g=n(h.getImageData(0,0,p,p));h.clearRect(0,0,p,p),h.textBaseline="bottom",h.fillText(d,0,p);var y=n(h.getImageData(0,0,p,p));m.lineHeight=m.bottom=p-y+g,h.clearRect(0,0,p,p),h.textBaseline="alphabetic",h.fillText(d,0,p);var v=p-n(h.getImageData(0,0,p,p))-1+g;m.baseline=m.alphabetic=v,h.clearRect(0,0,p,p),h.textBaseline="middle",h.fillText(d,0,.5*p);var x=n(h.getImageData(0,0,p,p));m.median=m.middle=p-x-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline="hanging",h.fillText(d,0,.5*p);var _=n(h.getImageData(0,0,p,p));m.hanging=p-_-1+g-.5*p,h.clearRect(0,0,p,p),h.textBaseline="ideographic",h.fillText(d,0,p);var b=n(h.getImageData(0,0,p,p));if(m.ideographic=p-b-1+g,f.upper&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.upper,0,0),m.upper=n(h.getImageData(0,0,p,p)),m.capHeight=m.baseline-m.upper),f.lower&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.lower,0,0),m.lower=n(h.getImageData(0,0,p,p)),m.xHeight=m.baseline-m.lower),f.tittle&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.tittle,0,0),m.tittle=n(h.getImageData(0,0,p,p))),f.ascent&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.ascent,0,0),m.ascent=n(h.getImageData(0,0,p,p))),f.descent&&(h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.descent,0,0),m.descent=i(h.getImageData(0,0,p,p))),f.overshoot){h.clearRect(0,0,p,p),h.textBaseline="top",h.fillText(f.overshoot,0,0);var w=i(h.getImageData(0,0,p,p));m.overshoot=w-v}for(var T in m)m[T]/=s;return m.em=s,e.cache[o]=m,r(m,c)}function r(t,e){var r={};for(var n in"string"==typeof e&&(e=t[e]),t)"em"!==n&&(r[n]=t[n]-e);return r}function n(t){for(var e=t.height,r=t.data,n=3;n0;n-=4)if(0!==r[n])return Math.floor(.25*(n-3)/e)}t.exports=e,e.canvas=document.createElement("canvas"),e.cache={}},61262:function(t,e,r){"use strict";var n=r(82756),i=Object.prototype.toString,a=Object.prototype.hasOwnProperty;t.exports=function(t,e,r){if(!n(e))throw new TypeError("iterator must be a function");var o;arguments.length>=3&&(o=r),"[object Array]"===i.call(t)?function(t,e,r){for(var n=0,i=t.length;n1&&"boolean"!=typeof e)throw new c('"allowMissing" argument must be a boolean');if(null===I(/^%?[^%]*%?$/,t))throw new l("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=function(t){var e=L(t,0,1),r=L(t,-1);if("%"===e&&"%"!==r)throw new l("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==e)throw new l("invalid intrinsic syntax, expected opening `%`");var n=[];return C(t,P,(function(t,e,r,i){n[n.length]=r?C(i,z,"$1"):e||t})),n}(t),n=r.length>0?r[0]:"",i=O("%"+n+"%",e),a=i.name,o=i.value,s=!1,u=i.alias;u&&(n=u[0],E(r,S([0,1],u)));for(var h=1,f=!0;h=r.length){var y=p(o,d);o=(f=!!y)&&"get"in y&&!("originalValue"in y.get)?y.get:o[d]}else f=M(o,d),o=o[d];f&&!s&&(b[a]=o)}}return o}},84840:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],m=e[13],g=e[14],y=e[15];return t[0]=s*(f*y-p*g)-h*(l*y-c*g)+m*(l*p-c*f),t[1]=-(n*(f*y-p*g)-h*(i*y-a*g)+m*(i*p-a*f)),t[2]=n*(l*y-c*g)-s*(i*y-a*g)+m*(i*c-a*l),t[3]=-(n*(l*p-c*f)-s*(i*p-a*f)+h*(i*c-a*l)),t[4]=-(o*(f*y-p*g)-u*(l*y-c*g)+d*(l*p-c*f)),t[5]=r*(f*y-p*g)-u*(i*y-a*g)+d*(i*p-a*f),t[6]=-(r*(l*y-c*g)-o*(i*y-a*g)+d*(i*c-a*l)),t[7]=r*(l*p-c*f)-o*(i*p-a*f)+u*(i*c-a*l),t[8]=o*(h*y-p*m)-u*(s*y-c*m)+d*(s*p-c*h),t[9]=-(r*(h*y-p*m)-u*(n*y-a*m)+d*(n*p-a*h)),t[10]=r*(s*y-c*m)-o*(n*y-a*m)+d*(n*c-a*s),t[11]=-(r*(s*p-c*h)-o*(n*p-a*h)+u*(n*c-a*s)),t[12]=-(o*(h*g-f*m)-u*(s*g-l*m)+d*(s*f-l*h)),t[13]=r*(h*g-f*m)-u*(n*g-i*m)+d*(n*f-i*h),t[14]=-(r*(s*g-l*m)-o*(n*g-i*m)+d*(n*l-i*s)),t[15]=r*(s*f-l*h)-o*(n*f-i*h)+u*(n*l-i*s),t}},99698:function(t){t.exports=function(t){var e=new Float32Array(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e}},57938:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},87519:function(t){t.exports=function(){var t=new Float32Array(16);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},6900:function(t){t.exports=function(t){var e=t[0],r=t[1],n=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7],c=t[8],u=t[9],h=t[10],f=t[11],p=t[12],d=t[13],m=t[14],g=t[15];return(e*o-r*a)*(h*g-f*m)-(e*s-n*a)*(u*g-f*d)+(e*l-i*a)*(u*m-h*d)+(r*s-n*o)*(c*g-f*p)-(r*l-i*o)*(c*m-h*p)+(n*l-i*s)*(c*d-u*p)}},36472:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=r+r,s=n+n,l=i+i,c=r*o,u=n*o,h=n*s,f=i*o,p=i*s,d=i*l,m=a*o,g=a*s,y=a*l;return t[0]=1-h-d,t[1]=u+y,t[2]=f-g,t[3]=0,t[4]=u-y,t[5]=1-c-d,t[6]=p+m,t[7]=0,t[8]=f+g,t[9]=p-m,t[10]=1-c-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},43061:function(t){t.exports=function(t,e,r){var n,i,a,o=r[0],s=r[1],l=r[2],c=Math.sqrt(o*o+s*s+l*l);return Math.abs(c)<1e-6?null:(o*=c=1/c,s*=c,l*=c,n=Math.sin(e),a=1-(i=Math.cos(e)),t[0]=o*o*a+i,t[1]=s*o*a+l*n,t[2]=l*o*a-s*n,t[3]=0,t[4]=o*s*a-l*n,t[5]=s*s*a+i,t[6]=l*s*a+o*n,t[7]=0,t[8]=o*l*a+s*n,t[9]=s*l*a-o*n,t[10]=l*l*a+i,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t)}},33606:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=n+n,l=i+i,c=a+a,u=n*s,h=n*l,f=n*c,p=i*l,d=i*c,m=a*c,g=o*s,y=o*l,v=o*c;return t[0]=1-(p+m),t[1]=h+v,t[2]=f-y,t[3]=0,t[4]=h-v,t[5]=1-(u+m),t[6]=d+g,t[7]=0,t[8]=f+y,t[9]=d-g,t[10]=1-(u+p),t[11]=0,t[12]=r[0],t[13]=r[1],t[14]=r[2],t[15]=1,t}},98698:function(t){t.exports=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},6924:function(t){t.exports=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e[0],t[13]=e[1],t[14]=e[2],t[15]=1,t}},81181:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=n,t[6]=r,t[7]=0,t[8]=0,t[9]=-r,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},95258:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=0,t[2]=-r,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=r,t[9]=0,t[10]=n,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},94815:function(t){t.exports=function(t,e){var r=Math.sin(e),n=Math.cos(e);return t[0]=n,t[1]=r,t[2]=0,t[3]=0,t[4]=-r,t[5]=n,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},87301:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(r-e),l=1/(i-n),c=1/(a-o);return t[0]=2*a*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*a*l,t[6]=0,t[7]=0,t[8]=(r+e)*s,t[9]=(i+n)*l,t[10]=(o+a)*c,t[11]=-1,t[12]=0,t[13]=0,t[14]=o*a*2*c,t[15]=0,t}},87193:function(t){t.exports=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}},11191:function(t,e,r){t.exports={create:r(87519),clone:r(99698),copy:r(57938),identity:r(87193),transpose:r(10256),invert:r(96559),adjoint:r(84840),determinant:r(6900),multiply:r(14787),translate:r(4165),scale:r(8697),rotate:r(32416),rotateX:r(81066),rotateY:r(54201),rotateZ:r(33920),fromRotation:r(43061),fromRotationTranslation:r(33606),fromScaling:r(98698),fromTranslation:r(6924),fromXRotation:r(81181),fromYRotation:r(95258),fromZRotation:r(94815),fromQuat:r(36472),frustum:r(87301),perspective:r(5313),perspectiveFromFieldOfView:r(22253),ortho:r(4633),lookAt:r(26645),str:r(66992)}},96559:function(t){t.exports=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],m=e[13],g=e[14],y=e[15],v=r*s-n*o,x=r*l-i*o,_=r*c-a*o,b=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*m-h*d,A=u*g-f*d,M=u*y-p*d,S=h*g-f*m,E=h*y-p*m,C=f*y-p*g,L=v*C-x*E+_*S+b*M-w*A+T*k;return L?(L=1/L,t[0]=(s*C-l*E+c*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(m*T-g*w+y*b)*L,t[3]=(f*w-h*T-p*b)*L,t[4]=(l*M-o*C-c*A)*L,t[5]=(r*C-i*M+a*A)*L,t[6]=(g*_-d*T-y*x)*L,t[7]=(u*T-f*_+p*x)*L,t[8]=(o*E-s*M+c*k)*L,t[9]=(n*M-r*E-a*k)*L,t[10]=(d*w-m*_+y*v)*L,t[11]=(h*_-u*w-p*v)*L,t[12]=(s*A-o*S-l*k)*L,t[13]=(r*S-n*A+i*k)*L,t[14]=(m*x-d*b-g*v)*L,t[15]=(u*b-h*x+f*v)*L,t):null}},26645:function(t,e,r){var n=r(87193);t.exports=function(t,e,r,i){var a,o,s,l,c,u,h,f,p,d,m=e[0],g=e[1],y=e[2],v=i[0],x=i[1],_=i[2],b=r[0],w=r[1],T=r[2];return Math.abs(m-b)<1e-6&&Math.abs(g-w)<1e-6&&Math.abs(y-T)<1e-6?n(t):(h=m-b,f=g-w,p=y-T,a=x*(p*=d=1/Math.sqrt(h*h+f*f+p*p))-_*(f*=d),o=_*(h*=d)-v*p,s=v*f-x*h,(d=Math.sqrt(a*a+o*o+s*s))?(a*=d=1/d,o*=d,s*=d):(a=0,o=0,s=0),l=f*s-p*o,c=p*a-h*s,u=h*o-f*a,(d=Math.sqrt(l*l+c*c+u*u))?(l*=d=1/d,c*=d,u*=d):(l=0,c=0,u=0),t[0]=a,t[1]=l,t[2]=h,t[3]=0,t[4]=o,t[5]=c,t[6]=f,t[7]=0,t[8]=s,t[9]=u,t[10]=p,t[11]=0,t[12]=-(a*m+o*g+s*y),t[13]=-(l*m+c*g+u*y),t[14]=-(h*m+f*g+p*y),t[15]=1,t)}},14787:function(t){t.exports=function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],m=e[12],g=e[13],y=e[14],v=e[15],x=r[0],_=r[1],b=r[2],w=r[3];return t[0]=x*n+_*s+b*h+w*m,t[1]=x*i+_*l+b*f+w*g,t[2]=x*a+_*c+b*p+w*y,t[3]=x*o+_*u+b*d+w*v,x=r[4],_=r[5],b=r[6],w=r[7],t[4]=x*n+_*s+b*h+w*m,t[5]=x*i+_*l+b*f+w*g,t[6]=x*a+_*c+b*p+w*y,t[7]=x*o+_*u+b*d+w*v,x=r[8],_=r[9],b=r[10],w=r[11],t[8]=x*n+_*s+b*h+w*m,t[9]=x*i+_*l+b*f+w*g,t[10]=x*a+_*c+b*p+w*y,t[11]=x*o+_*u+b*d+w*v,x=r[12],_=r[13],b=r[14],w=r[15],t[12]=x*n+_*s+b*h+w*m,t[13]=x*i+_*l+b*f+w*g,t[14]=x*a+_*c+b*p+w*y,t[15]=x*o+_*u+b*d+w*v,t}},4633:function(t){t.exports=function(t,e,r,n,i,a,o){var s=1/(e-r),l=1/(n-i),c=1/(a-o);return t[0]=-2*s,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+r)*s,t[13]=(i+n)*l,t[14]=(o+a)*c,t[15]=1,t}},5313:function(t){t.exports=function(t,e,r,n,i){var a=1/Math.tan(e/2),o=1/(n-i);return t[0]=a/r,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=a,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(i+n)*o,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*i*n*o,t[15]=0,t}},22253:function(t){t.exports=function(t,e,r,n){var i=Math.tan(e.upDegrees*Math.PI/180),a=Math.tan(e.downDegrees*Math.PI/180),o=Math.tan(e.leftDegrees*Math.PI/180),s=Math.tan(e.rightDegrees*Math.PI/180),l=2/(o+s),c=2/(i+a);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=c,t[6]=0,t[7]=0,t[8]=-(o-s)*l*.5,t[9]=(i-a)*c*.5,t[10]=n/(r-n),t[11]=-1,t[12]=0,t[13]=0,t[14]=n*r/(r-n),t[15]=0,t}},32416:function(t){t.exports=function(t,e,r,n){var i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E=n[0],C=n[1],L=n[2],I=Math.sqrt(E*E+C*C+L*L);return Math.abs(I)<1e-6?null:(E*=I=1/I,C*=I,L*=I,i=Math.sin(r),o=1-(a=Math.cos(r)),s=e[0],l=e[1],c=e[2],u=e[3],h=e[4],f=e[5],p=e[6],d=e[7],m=e[8],g=e[9],y=e[10],v=e[11],x=E*E*o+a,_=C*E*o+L*i,b=L*E*o-C*i,w=E*C*o-L*i,T=C*C*o+a,k=L*C*o+E*i,A=E*L*o+C*i,M=C*L*o-E*i,S=L*L*o+a,t[0]=s*x+h*_+m*b,t[1]=l*x+f*_+g*b,t[2]=c*x+p*_+y*b,t[3]=u*x+d*_+v*b,t[4]=s*w+h*T+m*k,t[5]=l*w+f*T+g*k,t[6]=c*w+p*T+y*k,t[7]=u*w+d*T+v*k,t[8]=s*A+h*M+m*S,t[9]=l*A+f*M+g*S,t[10]=c*A+p*M+y*S,t[11]=u*A+d*M+v*S,e!==t&&(t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t)}},81066:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t}},54201:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[8],u=e[9],h=e[10],f=e[11];return e!==t&&(t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i-c*n,t[1]=o*i-u*n,t[2]=s*i-h*n,t[3]=l*i-f*n,t[8]=a*n+c*i,t[9]=o*n+u*i,t[10]=s*n+h*i,t[11]=l*n+f*i,t}},33920:function(t){t.exports=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t}},8697:function(t){t.exports=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}},66992:function(t){t.exports=function(t){return"mat4("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+", "+t[9]+", "+t[10]+", "+t[11]+", "+t[12]+", "+t[13]+", "+t[14]+", "+t[15]+")"}},4165:function(t){t.exports=function(t,e,r){var n,i,a,o,s,l,c,u,h,f,p,d,m=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*m+e[4]*g+e[8]*y+e[12],t[13]=e[1]*m+e[5]*g+e[9]*y+e[13],t[14]=e[2]*m+e[6]*g+e[10]*y+e[14],t[15]=e[3]*m+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*m+s*g+h*y+e[12],t[13]=i*m+l*g+f*y+e[13],t[14]=a*m+c*g+p*y+e[14],t[15]=o*m+u*g+d*y+e[15]),t}},10256:function(t){t.exports=function(t,e){if(t===e){var r=e[1],n=e[2],i=e[3],a=e[6],o=e[7],s=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=r,t[6]=e[9],t[7]=e[13],t[8]=n,t[9]=a,t[11]=e[14],t[12]=i,t[13]=o,t[14]=s}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t}},74024:function(t,e,r){"use strict";var n=r(59518),i=r(6807),a=r(81330),o=r(38862),s=r(93103),l=r(162),c=r(68950),u=r(66127),h=r(5137),f=r(29388),p=r(4957),d=r(44626),m=r(44431),g=r(27976),y=r(12673),v=r(83473),x=r(54689).nextPow2,_=new s,b=!1;if(document.body){var w=document.body.appendChild(document.createElement("div"));w.style.font="italic small-caps bold condensed 16px/2 cursive",getComputedStyle(w).fontStretch&&(b=!0),document.body.removeChild(w)}var T=function(t){!function(t){return"function"==typeof t&&t._gl&&t.prop&&t.texture&&t.buffer}(t)?this.gl=o(t):(t={regl:t},this.gl=t.regl._gl),this.shader=_.get(this.gl),this.shader?this.regl=this.shader.regl:this.regl=t.regl||a({gl:this.gl}),this.charBuffer=this.regl.buffer({type:"uint8",usage:"stream"}),this.sizeBuffer=this.regl.buffer({type:"float",usage:"stream"}),this.shader||(this.shader=this.createShader(),_.set(this.gl,this.shader)),this.batch=[],this.fontSize=[],this.font=[],this.fontAtlas=[],this.draw=this.shader.draw.bind(this),this.render=function(){this.regl._refresh(),this.draw(this.batch)},this.canvas=this.gl.canvas,this.update(f(t)?t:{})};T.prototype.createShader=function(){var t=this.regl,e=t({blend:{enable:!0,color:[0,0,0,1],func:{srcRGB:"src alpha",dstRGB:"one minus src alpha",srcAlpha:"one minus dst alpha",dstAlpha:"one"}},stencil:{enable:!1},depth:{enable:!1},count:t.prop("count"),offset:t.prop("offset"),attributes:{charOffset:{offset:4,stride:8,buffer:t.this("sizeBuffer")},width:{offset:0,stride:8,buffer:t.this("sizeBuffer")},char:t.this("charBuffer"),position:t.this("position")},uniforms:{atlasSize:function(t,e){return[e.atlas.width,e.atlas.height]},atlasDim:function(t,e){return[e.atlas.cols,e.atlas.rows]},atlas:function(t,e){return e.atlas.texture},charStep:function(t,e){return e.atlas.step},em:function(t,e){return e.atlas.em},color:t.prop("color"),opacity:t.prop("opacity"),viewport:t.this("viewportArray"),scale:t.this("scale"),align:t.prop("align"),baseline:t.prop("baseline"),translate:t.this("translate"),positionOffset:t.prop("positionOffset")},primitive:"points",viewport:t.this("viewport"),vert:"\n\t\t\tprecision highp float;\n\t\t\tattribute float width, charOffset, char;\n\t\t\tattribute vec2 position;\n\t\t\tuniform float fontSize, charStep, em, align, baseline;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform vec4 color;\n\t\t\tuniform vec2 atlasSize, atlasDim, scale, translate, positionOffset;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvoid main () {\n\t\t\t\tvec2 offset = floor(em * (vec2(align + charOffset, baseline)\n\t\t\t\t\t+ vec2(positionOffset.x, -positionOffset.y)))\n\t\t\t\t\t/ (viewport.zw * scale.xy);\n\n\t\t\t\tvec2 position = (position + translate) * scale;\n\t\t\t\tposition += offset * scale;\n\n\t\t\t\tcharCoord = position * viewport.zw + viewport.xy;\n\n\t\t\t\tgl_Position = vec4(position * 2. - 1., 0, 1);\n\n\t\t\t\tgl_PointSize = charStep;\n\n\t\t\t\tcharId.x = mod(char, atlasDim.x);\n\t\t\t\tcharId.y = floor(char / atlasDim.x);\n\n\t\t\t\tcharWidth = width * em;\n\n\t\t\t\tfontColor = color / 255.;\n\t\t\t}",frag:"\n\t\t\tprecision highp float;\n\t\t\tuniform float fontSize, charStep, opacity;\n\t\t\tuniform vec2 atlasSize;\n\t\t\tuniform vec4 viewport;\n\t\t\tuniform sampler2D atlas;\n\t\t\tvarying vec4 fontColor;\n\t\t\tvarying vec2 charCoord, charId;\n\t\t\tvarying float charWidth;\n\n\t\t\tfloat lightness(vec4 color) {\n\t\t\t\treturn color.r * 0.299 + color.g * 0.587 + color.b * 0.114;\n\t\t\t}\n\n\t\t\tvoid main () {\n\t\t\t\tvec2 uv = gl_FragCoord.xy - charCoord + charStep * .5;\n\t\t\t\tfloat halfCharStep = floor(charStep * .5 + .5);\n\n\t\t\t\t// invert y and shift by 1px (FF expecially needs that)\n\t\t\t\tuv.y = charStep - uv.y;\n\n\t\t\t\t// ignore points outside of character bounding box\n\t\t\t\tfloat halfCharWidth = ceil(charWidth * .5);\n\t\t\t\tif (floor(uv.x) > halfCharStep + halfCharWidth ||\n\t\t\t\t\tfloor(uv.x) < halfCharStep - halfCharWidth) return;\n\n\t\t\t\tuv += charId * charStep;\n\t\t\t\tuv = uv / atlasSize;\n\n\t\t\t\tvec4 color = fontColor;\n\t\t\t\tvec4 mask = texture2D(atlas, uv);\n\n\t\t\t\tfloat maskY = lightness(mask);\n\t\t\t\t// float colorY = lightness(color);\n\t\t\t\tcolor.a *= maskY;\n\t\t\t\tcolor.a *= opacity;\n\n\t\t\t\t// color.a += .1;\n\n\t\t\t\t// antialiasing, see yiq color space y-channel formula\n\t\t\t\t// color.rgb += (1. - color.rgb) * (1. - mask.rgb);\n\n\t\t\t\tgl_FragColor = color;\n\t\t\t}"});return{regl:t,draw:e,atlas:{}}},T.prototype.update=function(t){var e=this;if("string"==typeof t)t={text:t};else if(!t)return;null!=(t=i(t,{position:"position positions coord coords coordinates",font:"font fontFace fontface typeface cssFont css-font family fontFamily",fontSize:"fontSize fontsize size font-size",text:"text texts chars characters value values symbols",align:"align alignment textAlign textbaseline",baseline:"baseline textBaseline textbaseline",direction:"dir direction textDirection",color:"color colour fill fill-color fillColor textColor textcolor",kerning:"kerning kern",range:"range dataBox",viewport:"vp viewport viewBox viewbox viewPort",opacity:"opacity alpha transparency visible visibility opaque",offset:"offset positionOffset padding shift indent indentation"},!0)).opacity&&(Array.isArray(t.opacity)?this.opacity=t.opacity.map((function(t){return parseFloat(t)})):this.opacity=parseFloat(t.opacity)),null!=t.viewport&&(this.viewport=h(t.viewport),this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null==this.viewport&&(this.viewport={x:0,y:0,width:this.gl.drawingBufferWidth,height:this.gl.drawingBufferHeight},this.viewportArray=[this.viewport.x,this.viewport.y,this.viewport.width,this.viewport.height]),null!=t.kerning&&(this.kerning=t.kerning),null!=t.offset&&("number"==typeof t.offset&&(t.offset=[t.offset,0]),this.positionOffset=v(t.offset)),t.direction&&(this.direction=t.direction),t.range&&(this.range=t.range,this.scale=[1/(t.range[2]-t.range[0]),1/(t.range[3]-t.range[1])],this.translate=[-t.range[0],-t.range[1]]),t.scale&&(this.scale=t.scale),t.translate&&(this.translate=t.translate),this.scale||(this.scale=[1/this.viewport.width,1/this.viewport.height]),this.translate||(this.translate=[0,0]),this.font.length||t.font||(t.font=T.baseFontSize+"px sans-serif");var r,a=!1,o=!1;if(t.font&&(Array.isArray(t.font)?t.font:[t.font]).forEach((function(t,r){if("string"==typeof t)try{t=n.parse(t)}catch(e){t=n.parse(T.baseFontSize+"px "+t)}else{var i=t.style,s=t.weight,l=t.stretch,c=t.variant;t=n.parse(n.stringify(t)),i&&(t.style=i),s&&(t.weight=s),l&&(t.stretch=l),c&&(t.variant=c)}var u=n.stringify({size:T.baseFontSize,family:t.family,stretch:b?t.stretch:void 0,variant:t.variant,weight:t.weight,style:t.style}),h=p(t.size),f=Math.round(h[0]*d(h[1]));if(f!==e.fontSize[r]&&(o=!0,e.fontSize[r]=f),!(e.font[r]&&u==e.font[r].baseString||(a=!0,e.font[r]=T.fonts[u],e.font[r]))){var m=t.family.join(", "),g=[t.style];t.style!=t.variant&&g.push(t.variant),t.variant!=t.weight&&g.push(t.weight),b&&t.weight!=t.stretch&&g.push(t.stretch),e.font[r]={baseString:u,family:m,weight:t.weight,stretch:t.stretch,style:t.style,variant:t.variant,width:{},kerning:{},metrics:y(m,{origin:"top",fontSize:T.baseFontSize,fontStyle:g.join(" ")})},T.fonts[u]=e.font[r]}})),(a||o)&&this.font.forEach((function(r,i){var a=n.stringify({size:e.fontSize[i],family:r.family,stretch:b?r.stretch:void 0,variant:r.variant,weight:r.weight,style:r.style});if(e.fontAtlas[i]=e.shader.atlas[a],!e.fontAtlas[i]){var o=r.metrics;e.shader.atlas[a]=e.fontAtlas[i]={fontString:a,step:2*Math.ceil(e.fontSize[i]*o.bottom*.5),em:e.fontSize[i],cols:0,rows:0,height:0,width:0,chars:[],ids:{},texture:e.regl.texture()}}null==t.text&&(t.text=e.text)})),"string"==typeof t.text&&t.position&&t.position.length>2){for(var s=Array(.5*t.position.length),f=0;f2){for(var w=!t.position[0].length,k=u.mallocFloat(2*this.count),A=0,M=0;A1?e.align[r]:e.align[0]:e.align;if("number"==typeof n)return n;switch(n){case"right":case"end":return-t;case"center":case"centre":case"middle":return.5*-t}return 0}))),null==this.baseline&&null==t.baseline&&(t.baseline=0),null!=t.baseline&&(this.baseline=t.baseline,Array.isArray(this.baseline)||(this.baseline=[this.baseline]),this.baselineOffset=this.baseline.map((function(t,r){var n=(e.font[r]||e.font[0]).metrics,i=0;return i+=.5*n.bottom,-1*(i+="number"==typeof t?t-n.baseline:-n[t])}))),null!=t.color)if(t.color||(t.color="transparent"),"string"!=typeof t.color&&isNaN(t.color)){var H;if("number"==typeof t.color[0]&&t.color.length>this.counts.length){var G=t.color.length;H=u.mallocUint8(G);for(var Z=(t.color.subarray||t.color.slice).bind(t.color),W=0;W4||this.baselineOffset.length>1||this.align&&this.align.length>1||this.fontAtlas.length>1||this.positionOffset.length>2){var $=Math.max(.5*this.position.length||0,.25*this.color.length||0,this.baselineOffset.length||0,this.alignOffset.length||0,this.font.length||0,this.opacity.length||0,.5*this.positionOffset.length||0);this.batch=Array($);for(var J=0;J1?this.counts[J]:this.counts[0],offset:this.textOffsets.length>1?this.textOffsets[J]:this.textOffsets[0],color:this.color?this.color.length<=4?this.color:this.color.subarray(4*J,4*J+4):[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[J]:this.opacity,baseline:null!=this.baselineOffset[J]?this.baselineOffset[J]:this.baselineOffset[0],align:this.align?null!=this.alignOffset[J]?this.alignOffset[J]:this.alignOffset[0]:0,atlas:this.fontAtlas[J]||this.fontAtlas[0],positionOffset:this.positionOffset.length>2?this.positionOffset.subarray(2*J,2*J+2):this.positionOffset}}else this.count?this.batch=[{count:this.count,offset:0,color:this.color||[0,0,0,255],opacity:Array.isArray(this.opacity)?this.opacity[0]:this.opacity,baseline:this.baselineOffset[0],align:this.alignOffset?this.alignOffset[0]:0,atlas:this.fontAtlas[0],positionOffset:this.positionOffset}]:this.batch=[]},T.prototype.destroy=function(){},T.prototype.kerning=!0,T.prototype.position={constant:new Float32Array(2)},T.prototype.translate=null,T.prototype.scale=null,T.prototype.font=null,T.prototype.text="",T.prototype.positionOffset=[0,0],T.prototype.opacity=1,T.prototype.color=new Uint8Array([0,0,0,255]),T.prototype.alignOffset=[0,0],T.maxAtlasSize=1024,T.atlasCanvas=document.createElement("canvas"),T.atlasContext=T.atlasCanvas.getContext("2d",{alpha:!1}),T.baseFontSize=64,T.fonts={},t.exports=T},38862:function(t,e,r){"use strict";var n=r(6807);function i(t){if(t.container)if(t.container==document.body)document.body.style.width||(t.canvas.width=t.width||t.pixelRatio*r.g.innerWidth),document.body.style.height||(t.canvas.height=t.height||t.pixelRatio*r.g.innerHeight);else{var e=t.container.getBoundingClientRect();t.canvas.width=t.width||e.right-e.left,t.canvas.height=t.height||e.bottom-e.top}}function a(t){return"function"==typeof t.getContext&&"width"in t&&"height"in t}function o(){var t=document.createElement("canvas");return t.style.position="absolute",t.style.top=0,t.style.left=0,t}t.exports=function(t){var e;if(t?"string"==typeof t&&(t={container:t}):t={},(t=a(t)||"string"==typeof(e=t).nodeName&&"function"==typeof e.appendChild&&"function"==typeof e.getBoundingClientRect?{container:t}:function(t){return"function"==typeof t.drawArrays||"function"==typeof t.drawElements}(t)?{gl:t}:n(t,{container:"container target element el canvas holder parent parentNode wrapper use ref root node",gl:"gl context webgl glContext",attrs:"attributes attrs contextAttributes",pixelRatio:"pixelRatio pxRatio px ratio pxratio pixelratio",width:"w width",height:"h height"},!0)).pixelRatio||(t.pixelRatio=r.g.pixelRatio||1),t.gl)return t.gl;if(t.canvas&&(t.container=t.canvas.parentNode),t.container){if("string"==typeof t.container){var s=document.querySelector(t.container);if(!s)throw Error("Element "+t.container+" is not found");t.container=s}a(t.container)?(t.canvas=t.container,t.container=t.canvas.parentNode):t.canvas||(t.canvas=o(),t.container.appendChild(t.canvas),i(t))}else if(!t.canvas){if("undefined"==typeof document)throw Error("Not DOM environment. Use headless-gl.");t.container=document.body||document.documentElement,t.canvas=o(),t.container.appendChild(t.canvas),i(t)}return t.gl||["webgl","experimental-webgl","webgl-experimental"].some((function(e){try{t.gl=t.canvas.getContext(e,t.attrs)}catch(t){}return t.gl})),t.gl}},76765:function(t){t.exports=function(t){"string"==typeof t&&(t=[t]);for(var e=[].slice.call(arguments,1),r=[],n=0;n>1,u=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},e.write=function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m}},28062:function(t){"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},40280:function(t,e,r){"use strict";var n=r(36912)(),i=r(63063)("Object.prototype.toString"),a=function(t){return!(n&&t&&"object"==typeof t&&Symbol.toStringTag in t)&&"[object Arguments]"===i(t)},o=function(t){return!!a(t)||null!==t&&"object"==typeof t&&"number"==typeof t.length&&t.length>=0&&"[object Array]"!==i(t)&&"[object Function]"===i(t.callee)},s=function(){return a(arguments)}();a.isLegacyArguments=o,t.exports=s?a:o},78253:function(t){t.exports=!0},82756:function(t){"use strict";var e,r,n=Function.prototype.toString,i="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof i&&"function"==typeof Object.defineProperty)try{e=Object.defineProperty({},"length",{get:function(){throw r}}),r={},i((function(){throw 42}),null,e)}catch(t){t!==r&&(i=null)}else i=null;var a=/^\s*class\b/,o=function(t){try{var e=n.call(t);return a.test(e)}catch(t){return!1}},s=function(t){try{return!o(t)&&(n.call(t),!0)}catch(t){return!1}},l=Object.prototype.toString,c="function"==typeof Symbol&&!!Symbol.toStringTag,u=!(0 in[,]),h=function(){return!1};if("object"==typeof document){var f=document.all;l.call(f)===l.call(document.all)&&(h=function(t){if((u||!t)&&(void 0===t||"object"==typeof t))try{var e=l.call(t);return("[object HTMLAllCollection]"===e||"[object HTML document.all class]"===e||"[object HTMLCollection]"===e||"[object Object]"===e)&&null==t("")}catch(t){}return!1})}t.exports=i?function(t){if(h(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;try{i(t,null,e)}catch(t){if(t!==r)return!1}return!o(t)&&s(t)}:function(t){if(h(t))return!0;if(!t)return!1;if("function"!=typeof t&&"object"!=typeof t)return!1;if(c)return s(t);if(o(t))return!1;var e=l.call(t);return!("[object Function]"!==e&&"[object GeneratorFunction]"!==e&&!/^\[object HTML/.test(e))&&s(t)}},80340:function(t,e,r){"use strict";var n,i=Object.prototype.toString,a=Function.prototype.toString,o=/^\s*(?:function)?\*/,s=r(36912)(),l=Object.getPrototypeOf;t.exports=function(t){if("function"!=typeof t)return!1;if(o.test(a.call(t)))return!0;if(!s)return"[object GeneratorFunction]"===i.call(t);if(!l)return!1;if(void 0===n){var e=function(){if(!s)return!1;try{return Function("return function*() {}")()}catch(t){}}();n=!!e&&l(e)}return l(t)===n}},39488:function(t){"use strict";t.exports="undefined"!=typeof navigator&&(/MSIE/.test(navigator.userAgent)||/Trident\//.test(navigator.appVersion))},73287:function(t){"use strict";t.exports=function(t){return t!=t}},63057:function(t,e,r){"use strict";var n=r(87227),i=r(97936),a=r(73287),o=r(60758),s=r(85684),l=n(o(),Number);i(l,{getPolyfill:o,implementation:a,shim:s}),t.exports=l},60758:function(t,e,r){"use strict";var n=r(73287);t.exports=function(){return Number.isNaN&&Number.isNaN(NaN)&&!Number.isNaN("a")?Number.isNaN:n}},85684:function(t,e,r){"use strict";var n=r(97936),i=r(60758);t.exports=function(){var t=i();return n(Number,{isNaN:t},{isNaN:function(){return Number.isNaN!==t}}),t}},60201:function(t){"use strict";t.exports=function(t){var e=typeof t;return null!==t&&("object"===e||"function"===e)}},29388:function(t){"use strict";var e=Object.prototype.toString;t.exports=function(t){var r;return"[object Object]"===e.call(t)&&(null===(r=Object.getPrototypeOf(t))||r===Object.getPrototypeOf({}))}},9914:function(t){"use strict";t.exports=function(t){for(var e,r=t.length,n=0;n13)&&32!==e&&133!==e&&160!==e&&5760!==e&&6158!==e&&(e<8192||e>8205)&&8232!==e&&8233!==e&&8239!==e&&8287!==e&&8288!==e&&12288!==e&&65279!==e)return!1;return!0}},13986:function(t){"use strict";t.exports=function(t){return"string"==typeof t&&(t=t.trim(),!!(/^[mzlhvcsqta]\s*[-+.0-9][^mlhvzcsqta]+/i.test(t)&&/[\dz]$/i.test(t)&&t.length>4))}},15628:function(t,e,r){"use strict";var n=r(61262),i=r(70085),a=r(63063),o=a("Object.prototype.toString"),s=r(36912)(),l=r(52991),c="undefined"==typeof globalThis?r.g:globalThis,u=i(),h=a("Array.prototype.indexOf",!0)||function(t,e){for(var r=0;r-1}return!!l&&function(t){var e=!1;return n(p,(function(r,n){if(!e)try{e=r.call(t)===n}catch(t){}})),e}(t)}},62914:function(t){"use strict";t.exports=Math.log2||function(t){return Math.log(t)*Math.LOG2E}},99978:function(t,e,r){"use strict";t.exports=function(t,e){e||(e=t,t=window);var r=0,i=0,a=0,o={shift:!1,alt:!1,control:!1,meta:!1},s=!1;function l(t){var e=!1;return"altKey"in t&&(e=e||t.altKey!==o.alt,o.alt=!!t.altKey),"shiftKey"in t&&(e=e||t.shiftKey!==o.shift,o.shift=!!t.shiftKey),"ctrlKey"in t&&(e=e||t.ctrlKey!==o.control,o.control=!!t.ctrlKey),"metaKey"in t&&(e=e||t.metaKey!==o.meta,o.meta=!!t.metaKey),e}function c(t,s){var c=n.x(s),u=n.y(s);"buttons"in s&&(t=0|s.buttons),(t!==r||c!==i||u!==a||l(s))&&(r=0|t,i=c||0,a=u||0,e&&e(r,i,a,o))}function u(t){c(0,t)}function h(){(r||i||a||o.shift||o.alt||o.meta||o.control)&&(i=a=0,r=0,o.shift=o.alt=o.control=o.meta=!1,e&&e(0,0,0,o))}function f(t){l(t)&&e&&e(r,i,a,o)}function p(t){0===n.buttons(t)?c(0,t):c(r,t)}function d(t){c(r|n.buttons(t),t)}function m(t){c(r&~n.buttons(t),t)}function g(){s||(s=!0,t.addEventListener("mousemove",p),t.addEventListener("mousedown",d),t.addEventListener("mouseup",m),t.addEventListener("mouseleave",u),t.addEventListener("mouseenter",u),t.addEventListener("mouseout",u),t.addEventListener("mouseover",u),t.addEventListener("blur",h),t.addEventListener("keyup",f),t.addEventListener("keydown",f),t.addEventListener("keypress",f),t!==window&&(window.addEventListener("blur",h),window.addEventListener("keyup",f),window.addEventListener("keydown",f),window.addEventListener("keypress",f)))}g();var y={element:t};return Object.defineProperties(y,{enabled:{get:function(){return s},set:function(e){e?g():s&&(s=!1,t.removeEventListener("mousemove",p),t.removeEventListener("mousedown",d),t.removeEventListener("mouseup",m),t.removeEventListener("mouseleave",u),t.removeEventListener("mouseenter",u),t.removeEventListener("mouseout",u),t.removeEventListener("mouseover",u),t.removeEventListener("blur",h),t.removeEventListener("keyup",f),t.removeEventListener("keydown",f),t.removeEventListener("keypress",f),t!==window&&(window.removeEventListener("blur",h),window.removeEventListener("keyup",f),window.removeEventListener("keydown",f),window.removeEventListener("keypress",f)))},enumerable:!0},buttons:{get:function(){return r},enumerable:!0},x:{get:function(){return i},enumerable:!0},y:{get:function(){return a},enumerable:!0},mods:{get:function(){return o},enumerable:!0}}),y};var n=r(41926)},44039:function(t){var e={left:0,top:0};t.exports=function(t,r,n){r=r||t.currentTarget||t.srcElement,Array.isArray(n)||(n=[0,0]);var i,a=t.clientX||0,o=t.clientY||0,s=(i=r)===window||i===document||i===document.body?e:i.getBoundingClientRect();return n[0]=a-s.left,n[1]=o-s.top,n}},41926:function(t,e){"use strict";function r(t){return t.target||t.srcElement||window}e.buttons=function(t){if("object"==typeof t){if("buttons"in t)return t.buttons;if("which"in t){if(2===(e=t.which))return 4;if(3===e)return 2;if(e>0)return 1<=0)return 1<0&&a(s,r))}catch(t){u.call(new f(r),t)}}}function u(t){var e=this;e.triggered||(e.triggered=!0,e.def&&(e=e.def),e.msg=t,e.state=2,e.chain.length>0&&a(s,e))}function h(t,e,r,n){for(var i=0;i1&&(i*=y=Math.sqrt(y),s*=y);var v=i*i,x=s*s,_=(c==u?-1:1)*Math.sqrt(Math.abs((v*x-v*g*g-x*m*m)/(v*g*g+x*m*m)));_==1/0&&(_=1);var b=_*i*g/s+(t+h)/2,w=_*-s*m/i+(n+f)/2,T=Math.asin(((n-w)/s).toFixed(9)),k=Math.asin(((f-w)/s).toFixed(9));(T=tk&&(T-=2*e),!u&&k>T&&(k-=2*e)}if(Math.abs(k-T)>r){var A=k,M=h,S=f;k=T+r*(u&&k>T?1:-1);var E=a(h=b+i*Math.cos(k),f=w+s*Math.sin(k),i,s,l,0,u,M,S,[k,A,b,w])}var C=Math.tan((k-T)/4),L=4/3*i*C,I=4/3*s*C,P=[2*t-(t+L*Math.sin(T)),2*n-(n-I*Math.cos(T)),h+L*Math.sin(k),f-I*Math.cos(k),h,f];if(p)return P;E&&(P=P.concat(E));for(var z=0;z7&&(r.push(y.splice(0,7)),y.unshift("C"));break;case"S":var x=p,_=d;"C"!=e&&"S"!=e||(x+=x-o,_+=_-l),y=["C",x,_,y[1],y[2],y[3],y[4]];break;case"T":"Q"==e||"T"==e?(h=2*p-h,f=2*d-f):(h=p,f=d),y=i(p,d,h,f,y[1],y[2]);break;case"Q":h=y[1],f=y[2],y=i(p,d,y[1],y[2],y[3],y[4]);break;case"L":y=n(p,d,y[1],y[2]);break;case"H":y=n(p,d,y[1],d);break;case"V":y=n(p,d,p,y[1]);break;case"Z":y=n(p,d,c,u)}e=v,p=y[y.length-2],d=y[y.length-1],y.length>4?(o=y[y.length-4],l=y[y.length-3]):(o=p,l=d),r.push(y)}return r}},27976:function(t){"use strict";var e=Object.getOwnPropertySymbols,r=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map((function(t){return e[t]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(t){n[t]=t})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,i){for(var a,o,s=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),l=1;l0&&!i.call(t,0))for(var m=0;m0)for(var g=0;g=0&&"[object Function]"===e.call(t.callee)),n}},96927:function(t,e,r){"use strict";var n=r(99433),i=r(59457)(),a=r(63063),o=Object,s=a("Array.prototype.push"),l=a("Object.prototype.propertyIsEnumerable"),c=i?Object.getOwnPropertySymbols:null;t.exports=function(t,e){if(null==t)throw new TypeError("target must be an object");var r=o(t);if(1===arguments.length)return r;for(var a=1;a1e4)throw Error("References have circular dependency. Please, check them.");r[n]=t})),n=n.reverse(),r=r.map((function(e){return n.forEach((function(r){e=e.replace(new RegExp("(\\"+i+r+"\\"+i+")","g"),t[0]+"$1"+t[1])})),e}))}));var o=new RegExp("\\"+i+"([0-9]+)\\"+i);return a?r:function t(e,r,n){for(var i,a=[],s=0;i=o.exec(e);){if(s++>1e4)throw Error("Circular references in parenthesis");a.push(e.slice(0,i.index)),a.push(t(r[i[1]],r)),e=e.slice(i.index+i[0].length)}return a.push(e),a}(r[0],r)}function r(t,e){if(e&&e.flat){var r,n=e&&e.escape||"___",i=t[0];if(!i)return"";for(var a=new RegExp("\\"+n+"([0-9]+)\\"+n),o=0;i!=r;){if(o++>1e4)throw Error("Circular references in "+t);r=i,i=i.replace(a,s)}return i}return t.reduce((function t(e,r){return Array.isArray(r)&&(r=r.reduce(t,"")),e+r}),"");function s(e,r){if(null==t[r])throw Error("Reference "+r+"is undefined");return t[r]}}function n(t,n){return Array.isArray(t)?r(t,n):e(t,n)}n.parse=e,n.stringify=r,t.exports=n},5137:function(t,e,r){"use strict";var n=r(6807);t.exports=function(t){var e;return arguments.length>1&&(t=arguments),"string"==typeof t?t=t.split(/\s/).map(parseFloat):"number"==typeof t&&(t=[t]),t.length&&"number"==typeof t[0]?e=1===t.length?{width:t[0],height:t[0],x:0,y:0}:2===t.length?{width:t[0],height:t[1],x:0,y:0}:{x:t[0],y:t[1],width:t[2]-t[0]||0,height:t[3]-t[1]||0}:t&&(e={x:(t=n(t,{left:"x l left Left",top:"y t top Top",width:"w width W Width",height:"h height W Width",bottom:"b bottom Bottom",right:"r right Right"})).left||0,y:t.top||0},null==t.width?t.right?e.width=t.right-e.x:e.width=0:e.width=t.width,null==t.height?t.bottom?e.height=t.bottom-e.y:e.height=0:e.height=t.height),e}},26953:function(t){t.exports=function(t){var i=[];return t.replace(r,(function(t,r,a){var o=r.toLowerCase();for(a=function(t){var e=t.match(n);return e?e.map(Number):[]}(a),"m"==o&&a.length>2&&(i.push([r].concat(a.splice(0,2))),o="l",r="m"==r?"l":"L");;){if(a.length==e[o])return a.unshift(r),i.push(a);if(a.lengtha!=p>a&&i<(f-u)*(a-h)/(p-h)+u&&(o=!o)}return o}},11516:function(t,e,r){var n,i=r(42391),a=r(92990),o=r(26202),s=r(22222),l=r(17527),c=r(24491),u=!1,h=a();function f(t,e,r){var i=n.segments(t),a=n.segments(e),o=r(n.combine(i,a));return n.polygon(o)}n={buildLog:function(t){return!0===t?u=i():!1===t&&(u=!1),!1!==u&&u.list},epsilon:function(t){return h.epsilon(t)},segments:function(t){var e=o(!0,h,u);return t.regions.forEach(e.addRegion),{segments:e.calculate(t.inverted),inverted:t.inverted}},combine:function(t,e){return{combined:o(!1,h,u).calculate(t.segments,t.inverted,e.segments,e.inverted),inverted1:t.inverted,inverted2:e.inverted}},selectUnion:function(t){return{segments:l.union(t.combined,u),inverted:t.inverted1||t.inverted2}},selectIntersect:function(t){return{segments:l.intersect(t.combined,u),inverted:t.inverted1&&t.inverted2}},selectDifference:function(t){return{segments:l.difference(t.combined,u),inverted:t.inverted1&&!t.inverted2}},selectDifferenceRev:function(t){return{segments:l.differenceRev(t.combined,u),inverted:!t.inverted1&&t.inverted2}},selectXor:function(t){return{segments:l.xor(t.combined,u),inverted:t.inverted1!==t.inverted2}},polygon:function(t){return{regions:s(t.segments,h,u),inverted:t.inverted}},polygonFromGeoJSON:function(t){return c.toPolygon(n,t)},polygonToGeoJSON:function(t){return c.fromPolygon(n,h,t)},union:function(t,e){return f(t,e,n.selectUnion)},intersect:function(t,e){return f(t,e,n.selectIntersect)},difference:function(t,e){return f(t,e,n.selectDifference)},differenceRev:function(t,e){return f(t,e,n.selectDifferenceRev)},xor:function(t,e){return f(t,e,n.selectXor)}},"object"==typeof window&&(window.PolyBool=n),t.exports=n},42391:function(t){t.exports=function(){var t,e=0,r=!1;function n(e,r){return t.list.push({type:e,data:r?JSON.parse(JSON.stringify(r)):void 0}),t}return t={list:[],segmentId:function(){return e++},checkIntersection:function(t,e){return n("check",{seg1:t,seg2:e})},segmentChop:function(t,e){return n("div_seg",{seg:t,pt:e}),n("chop",{seg:t,pt:e})},statusRemove:function(t){return n("pop_seg",{seg:t})},segmentUpdate:function(t){return n("seg_update",{seg:t})},segmentNew:function(t,e){return n("new_seg",{seg:t,primary:e})},segmentRemove:function(t){return n("rem_seg",{seg:t})},tempStatus:function(t,e,r){return n("temp_status",{seg:t,above:e,below:r})},rewind:function(t){return n("rewind",{seg:t})},status:function(t,e,r){return n("status",{seg:t,above:e,below:r})},vert:function(e){return e===r?t:(r=e,n("vert",{x:e}))},log:function(t){return"string"!=typeof t&&(t=JSON.stringify(t,!1," ")),n("log",{txt:t})},reset:function(){return n("reset")},selected:function(t){return n("selected",{segs:t})},chainStart:function(t){return n("chain_start",{seg:t})},chainRemoveHead:function(t,e){return n("chain_rem_head",{index:t,pt:e})},chainRemoveTail:function(t,e){return n("chain_rem_tail",{index:t,pt:e})},chainNew:function(t,e){return n("chain_new",{pt1:t,pt2:e})},chainMatch:function(t){return n("chain_match",{index:t})},chainClose:function(t){return n("chain_close",{index:t})},chainAddHead:function(t,e){return n("chain_add_head",{index:t,pt:e})},chainAddTail:function(t,e){return n("chain_add_tail",{index:t,pt:e})},chainConnect:function(t,e){return n("chain_con",{index1:t,index2:e})},chainReverse:function(t){return n("chain_rev",{index:t})},chainJoin:function(t,e){return n("chain_join",{index1:t,index2:e})},done:function(){return n("done")}}}},92990:function(t){t.exports=function(t){"number"!=typeof t&&(t=1e-10);var e={epsilon:function(e){return"number"==typeof e&&(t=e),t},pointAboveOrOnLine:function(e,r,n){var i=r[0],a=r[1],o=n[0],s=n[1],l=e[0];return(o-i)*(e[1]-a)-(s-a)*(l-i)>=-t},pointBetween:function(e,r,n){var i=e[1]-r[1],a=n[0]-r[0],o=e[0]-r[0],s=n[1]-r[1],l=o*a+i*s;return!(l-t)},pointsSameX:function(e,r){return Math.abs(e[0]-r[0])t!=o-i>t&&(a-c)*(i-u)/(o-u)+c-n>t&&(s=!s),a=c,o=u}return s}};return e}},24491:function(t){var e={toPolygon:function(t,e){function r(e){if(e.length<=0)return t.segments({inverted:!1,regions:[]});function r(e){var r=e.slice(0,e.length-1);return t.segments({inverted:!1,regions:[r]})}for(var n=r(e[0]),i=1;i0}))}function u(t,n){var i=t.seg,a=n.seg,o=i.start,s=i.end,c=a.start,u=a.end;r&&r.checkIntersection(i,a);var h=e.linesIntersect(o,s,c,u);if(!1===h){if(!e.pointsCollinear(o,s,c))return!1;if(e.pointsSame(o,u)||e.pointsSame(s,c))return!1;var f=e.pointsSame(o,c),p=e.pointsSame(s,u);if(f&&p)return n;var d=!f&&e.pointBetween(o,c,u),m=!p&&e.pointBetween(s,c,u);if(f)return m?l(n,s):l(t,u),n;d&&(p||(m?l(n,s):l(t,u)),l(n,o))}else 0===h.alongA&&(-1===h.alongB?l(t,c):0===h.alongB?l(t,h.pt):1===h.alongB&&l(t,u)),0===h.alongB&&(-1===h.alongA?l(n,o):0===h.alongA?l(n,h.pt):1===h.alongA&&l(n,s));return!1}for(var h=[];!a.isEmpty();){var f=a.getHead();if(r&&r.vert(f.pt[0]),f.isStart){r&&r.segmentNew(f.seg,f.primary);var p=c(f),d=p.before?p.before.ev:null,m=p.after?p.after.ev:null;function g(){if(d){var t=u(f,d);if(t)return t}return!!m&&u(f,m)}r&&r.tempStatus(f.seg,!!d&&d.seg,!!m&&m.seg);var y,v,x=g();if(x)t?(v=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below)&&(x.seg.myFill.above=!x.seg.myFill.above):x.seg.otherFill=f.seg.myFill,r&&r.segmentUpdate(x.seg),f.other.remove(),f.remove();if(a.getHead()!==f){r&&r.rewind(f.seg);continue}t?(v=null===f.seg.myFill.below||f.seg.myFill.above!==f.seg.myFill.below,f.seg.myFill.below=m?m.seg.myFill.above:i,f.seg.myFill.above=v?!f.seg.myFill.below:f.seg.myFill.below):null===f.seg.otherFill&&(y=m?f.primary===m.primary?m.seg.otherFill.above:m.seg.myFill.above:f.primary?o:i,f.seg.otherFill={above:y,below:y}),r&&r.status(f.seg,!!d&&d.seg,!!m&&m.seg),f.other.status=p.insert(n.node({ev:f}))}else{var _=f.status;if(null===_)throw new Error("PolyBool: Zero-length segment detected; your epsilon is probably too small or too large");if(s.exists(_.prev)&&s.exists(_.next)&&u(_.prev.ev,_.next.ev),r&&r.statusRemove(_.ev.seg),_.remove(),!f.primary){var b=f.seg.myFill;f.seg.myFill=f.seg.otherFill,f.seg.otherFill=b}h.push(f.seg)}a.getHead().remove()}return r&&r.done(),h}return t?{addRegion:function(t){for(var n,i,a,o=t[t.length-1],l=0;l0&&!this.aborted;){var r=this.ifds_to_read.shift();r.offset&&this.scan_ifd(r.id,r.offset,t)}},n.prototype.read_uint16=function(t){var r=this.input;if(t+2>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?256*r[t]+r[t+1]:r[t]+256*r[t+1]},n.prototype.read_uint32=function(t){var r=this.input;if(t+4>r.length)throw e("unexpected EOF","EBADDATA");return this.big_endian?16777216*r[t]+65536*r[t+1]+256*r[t+2]+r[t+3]:r[t]+256*r[t+1]+65536*r[t+2]+16777216*r[t+3]},n.prototype.is_subifd_link=function(t,e){return 0===t&&34665===e||0===t&&34853===e||34665===t&&40965===e},n.prototype.exif_format_length=function(t){switch(t){case 1:case 2:case 6:case 7:return 1;case 3:case 8:return 2;case 4:case 9:case 11:return 4;case 5:case 10:case 12:return 8;default:return 0}},n.prototype.exif_format_read=function(t,e){var r;switch(t){case 1:case 2:return this.input[e];case 6:return(r=this.input[e])|33554430*(128&r);case 3:return this.read_uint16(e);case 8:return(r=this.read_uint16(e))|131070*(32768&r);case 4:return this.read_uint32(e);case 9:return 0|this.read_uint32(e);default:return null}},n.prototype.scan_ifd=function(t,n,i){var a=this.read_uint16(n);n+=2;for(var o=0;othis.input.length)throw e("unexpected EOF","EBADDATA");for(var d=[],m=f,g=0;g0&&(this.ifds_to_read.push({id:s,offset:d[0]}),p=!0),!1===i({is_big_endian:this.big_endian,ifd:t,tag:s,format:l,count:c,entry_offset:n+this.start,data_length:h,data_offset:f+this.start,value:d,is_subifd_link:p}))return void(this.aborted=!0);n+=12}0===t&&this.ifds_to_read.push({id:1,offset:this.read_uint32(n)})},t.exports.ExifParser=n,t.exports.get_orientation=function(t){var e=0;try{return new n(t,0,t.length).each((function(t){if(0===t.ifd&&274===t.tag&&Array.isArray(t.value))return e=t.value[0],!1})),e}catch(t){return-1}}},20186:function(t,e,r){"use strict";var n=r(3944).bc,i=r(3944).bb;function a(t,e){if(t.length<4+e)return null;var r=i(t,e);return t.length>4&15,i=15&t[4],a=t[5]>>4&15,o=n(t,6),l=8,c=0;ce.width||t.width===e.width&&t.height>e.height?t:e})),i=r.reduce((function(t,e){return t.height>e.height||t.height===e.height&&t.width>e.width?t:e})),n.width>i.height||n.width===i.height&&n.height>i.width?n:i),s=1;e.transforms.forEach((function(t){var e={1:6,2:5,3:8,4:7,5:4,6:3,7:2,8:1},r={1:4,2:3,3:2,4:1,5:6,6:5,7:8,8:7};if("imir"===t.type&&(s=0===t.value?r[s]:e[s=e[s=r[s]]]),"irot"===t.type)for(var n=0;n1&&(f.variants=h.variants),h.orientation&&(f.orientation=h.orientation),h.exif_location&&h.exif_location.offset+h.exif_location.length<=t.length){var p=a(t,h.exif_location.offset),d=t.slice(h.exif_location.offset+p+4,h.exif_location.offset+h.exif_location.length),m=s.get_orientation(d);m>0&&(f.orientation=m)}return f}}}}}}},78218:function(t,e,r){"use strict";var n=r(3944).VG,i=r(3944).rU,a=r(3944).$l,o=n("BM");t.exports=function(t){if(!(t.length<26)&&i(t,0,o))return{width:a(t,18),height:a(t,22),type:"bmp",mime:"image/bmp",wUnits:"px",hUnits:"px"}}},37495:function(t,e,r){"use strict";var n=r(3944).VG,i=r(3944).rU,a=r(3944).$l,o=n("GIF87a"),s=n("GIF89a");t.exports=function(t){if(!(t.length<10)&&(i(t,0,o)||i(t,0,s)))return{width:a(t,6),height:a(t,8),type:"gif",mime:"image/gif",wUnits:"px",hUnits:"px"}}},88708:function(t,e,r){"use strict";var n=r(3944).$l;t.exports=function(t){var e=n(t,0),r=n(t,2),i=n(t,4);if(0===e&&1===r&&i){for(var a=[],o={width:0,height:0},s=0;so.width||c>o.height)&&(o=u)}return{width:o.width,height:o.height,variants:a,type:"ico",mime:"image/x-icon",wUnits:"px",hUnits:"px"}}}},13827:function(t,e,r){"use strict";var n=r(3944).bc,i=r(3944).VG,a=r(3944).rU,o=r(19789),s=i("Exif\0\0");t.exports=function(t){if(!(t.length<2)&&255===t[0]&&216===t[1]&&255===t[2])for(var e=2;;){for(;;){if(t.length-e<2)return;if(255===t[e++])break}for(var r,i,l=t[e++];255===l;)l=t[e++];if(208<=l&&l<=217||1===l)r=0;else{if(!(192<=l&&l<=254))return;if(t.length-e<2)return;r=n(t,e)-2,e+=2}if(217===l||218===l)return;if(225===l&&r>=10&&a(t,e,s)&&(i=o.get_orientation(t.slice(e+6,e+r))),r>=5&&192<=l&&l<=207&&196!==l&&200!==l&&204!==l){if(t.length-e0&&(c.orientation=i),c}e+=r}}},46594:function(t,e,r){"use strict";var n=r(3944).VG,i=r(3944).rU,a=r(3944).bb,o=n("‰PNG\r\n\n"),s=n("IHDR");t.exports=function(t){if(!(t.length<24)&&i(t,0,o)&&i(t,12,s))return{width:a(t,16),height:a(t,20),type:"png",mime:"image/png",wUnits:"px",hUnits:"px"}}},13198:function(t,e,r){"use strict";var n=r(3944).VG,i=r(3944).rU,a=r(3944).bb,o=n("8BPS\0");t.exports=function(t){if(!(t.length<22)&&i(t,0,o))return{width:a(t,18),height:a(t,14),type:"psd",mime:"image/vnd.adobe.photoshop",wUnits:"px",hUnits:"px"}}},94203:function(t){"use strict";function e(t){return"number"==typeof t&&isFinite(t)&&t>0}var r=/<[-_.:a-zA-Z0-9][^>]*>/,n=/^<([-_.:a-zA-Z0-9]+:)?svg\s/,i=/[^-]\bwidth="([^%]+?)"|[^-]\bwidth='([^%]+?)'/,a=/\bheight="([^%]+?)"|\bheight='([^%]+?)'/,o=/\bview[bB]ox="(.+?)"|\bview[bB]ox='(.+?)'/,s=/in$|mm$|cm$|pt$|pc$|px$|em$|ex$/;function l(t){return s.test(t)?t.match(s)[0]:"px"}t.exports=function(t){if(function(t){var e,r=0,n=t.length;for(239===t[0]&&187===t[1]&&191===t[2]&&(r=3);r>14&16383),type:"webp",mime:"image/webp",wUnits:"px",hUnits:"px"}}}function f(t,e){return{width:1+(t[e+6]<<16|t[e+5]<<8|t[e+4]),height:1+(t[e+9]<t.length)){for(;e+8=10?r=r||u(t,e+8):"VP8L"===p&&d>=9?r=r||h(t,e+8):"VP8X"===p&&d>=10?r=r||f(t,e+8):"EXIF"===p&&(n=s.get_orientation(t.slice(e+8,e+8+d)),e=1/0),e+=8+d}else e++;if(r)return n>0&&(r.orientation=n),r}}}},43751:function(t,e,r){"use strict";t.exports={avif:r(31149),bmp:r(78218),gif:r(37495),ico:r(88708),jpeg:r(13827),png:r(46594),psd:r(13198),svg:r(94203),tiff:r(46966),webp:r(88023)}},19490:function(t,e,r){"use strict";var n=r(43751);t.exports=function(t){return function(t){for(var e=Object.keys(n),r=0;r1)for(var r=1;r1&&(t.scaleRatio=[t.scale[0]*t.viewport.width,t.scale[1]*t.viewport.height],r(t),t.after&&t.after(t))}function T(t){if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var e=0,r=0;if(_.groups=x=t.map((function(t,c){var u=x[c];return t?("function"==typeof t?t={after:t}:"number"==typeof t[0]&&(t={positions:t}),t=o(t,{color:"color colors fill",capSize:"capSize cap capsize cap-size",lineWidth:"lineWidth line-width width line thickness",opacity:"opacity alpha",range:"range dataBox",viewport:"viewport viewBox",errors:"errors error",positions:"positions position data points"}),u||(x[c]=u={id:c,scale:null,translate:null,scaleFract:null,translateFract:null,draw:!0},t=s({},v,t)),a(u,t,[{lineWidth:function(t){return.5*+t},capSize:function(t){return.5*+t},opacity:parseFloat,errors:function(t){return t=l(t),r+=t.length,t},positions:function(t,r){return t=l(t,"float64"),r.count=Math.floor(t.length/2),r.bounds=n(t,2),r.offset=e,e+=r.count,t}},{color:function(t,e){var r=e.count;if(t||(t="transparent"),!Array.isArray(t)||"number"==typeof t[0]){var n=t;t=Array(r);for(var a=0;a 0. && baClipping < length(normalWidth * endBotJoin)) {\n\t\t//handle miter clipping\n\t\tbTopCoord -= normalWidth * endTopJoin;\n\t\tbTopCoord += normalize(endTopJoin * normalWidth) * baClipping;\n\t}\n\n\tif (nextReverse) {\n\t\t//make join rectangular\n\t\tvec2 miterShift = normalWidth * endJoinDirection * miterLimit * .5;\n\t\tfloat normalAdjust = 1. - min(miterLimit / endMiterRatio, 1.);\n\t\tbBotCoord = bCoord + miterShift - normalAdjust * normalWidth * currNormal * .5;\n\t\tbTopCoord = bCoord + miterShift + normalAdjust * normalWidth * currNormal * .5;\n\t}\n\telse if (!prevReverse && abClipping > 0. && abClipping < length(normalWidth * startBotJoin)) {\n\t\t//handle miter clipping\n\t\taBotCoord -= normalWidth * startBotJoin;\n\t\taBotCoord += normalize(startBotJoin * normalWidth) * abClipping;\n\t}\n\n\tvec2 aTopPosition = (aTopCoord) * adjustedScale + translate;\n\tvec2 aBotPosition = (aBotCoord) * adjustedScale + translate;\n\n\tvec2 bTopPosition = (bTopCoord) * adjustedScale + translate;\n\tvec2 bBotPosition = (bBotCoord) * adjustedScale + translate;\n\n\t//position is normalized 0..1 coord on the screen\n\tvec2 position = (aTopPosition * lineTop + aBotPosition * lineBot) * lineStart + (bTopPosition * lineTop + bBotPosition * lineBot) * lineEnd;\n\n\tstartCoord = aCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\tendCoord = bCoord * scaleRatio + translate * viewport.zw + viewport.xy;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tenableStartMiter = step(dot(currTangent, prevTangent), .5);\n\tenableEndMiter = step(dot(currTangent, nextTangent), .5);\n\n\t//bevel miter cutoffs\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * miterLimit * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * miterLimit * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n\n\t//round miter cutoffs\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tvec2 startMiterWidth = vec2(startJoinDirection) * thickness * abs(dot(startJoinDirection, currNormal)) * .5;\n\t\t\tstartCutoff = vec4(aCoord, aCoord);\n\t\t\tstartCutoff.zw += vec2(-startJoinDirection.y, startJoinDirection.x) / scaleRatio;\n\t\t\tstartCutoff = startCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tstartCutoff += viewport.xyxy;\n\t\t\tstartCutoff += startMiterWidth.xyxy;\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tvec2 endMiterWidth = vec2(endJoinDirection) * thickness * abs(dot(endJoinDirection, currNormal)) * .5;\n\t\t\tendCutoff = vec4(bCoord, bCoord);\n\t\t\tendCutoff.zw += vec2(-endJoinDirection.y, endJoinDirection.x) / scaleRatio;\n\t\t\tendCutoff = endCutoff * scaleRatio.xyxy + translate.xyxy * viewport.zwzw;\n\t\t\tendCutoff += viewport.xyxy;\n\t\t\tendCutoff += endMiterWidth.xyxy;\n\t\t}\n\t}\n}\n",frag:"\nprecision highp float;\n\nuniform float dashLength, pixelRatio, thickness, opacity, id, miterMode;\nuniform sampler2D dashTexture;\n\nvarying vec4 fragColor;\nvarying vec2 tangent;\nvarying vec4 startCutoff, endCutoff;\nvarying vec2 startCoord, endCoord;\nvarying float enableStartMiter, enableEndMiter;\n\nfloat distToLine(vec2 p, vec2 a, vec2 b) {\n\tvec2 diff = b - a;\n\tvec2 perp = normalize(vec2(-diff.y, diff.x));\n\treturn dot(p - a, perp);\n}\n\nvoid main() {\n\tfloat alpha = 1., distToStart, distToEnd;\n\tfloat cutoff = thickness * .5;\n\n\t//bevel miter\n\tif (miterMode == 1.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToStart + 1., 0.), 1.);\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < -1.) {\n\t\t\t\tdiscard;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\talpha *= min(max(distToEnd + 1., 0.), 1.);\n\t\t}\n\t}\n\n\t// round miter\n\telse if (miterMode == 2.) {\n\t\tif (enableStartMiter == 1.) {\n\t\t\tdistToStart = distToLine(gl_FragCoord.xy, startCutoff.xy, startCutoff.zw);\n\t\t\tif (distToStart < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - startCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\n\t\tif (enableEndMiter == 1.) {\n\t\t\tdistToEnd = distToLine(gl_FragCoord.xy, endCutoff.xy, endCutoff.zw);\n\t\t\tif (distToEnd < 0.) {\n\t\t\t\tfloat radius = length(gl_FragCoord.xy - endCoord);\n\n\t\t\t\tif(radius > cutoff + .5) {\n\t\t\t\t\tdiscard;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\talpha -= smoothstep(cutoff - .5, cutoff + .5, radius);\n\t\t\t}\n\t\t}\n\t}\n\n\tfloat t = fract(dot(tangent, gl_FragCoord.xy) / dashLength) * .5 + .25;\n\tfloat dash = texture2D(dashTexture, vec2(t, .5)).r;\n\n\tgl_FragColor = fragColor;\n\tgl_FragColor.a *= alpha * opacity * dash;\n}\n",attributes:{lineEnd:{buffer:r,divisor:0,stride:8,offset:0},lineTop:{buffer:r,divisor:0,stride:8,offset:4},aColor:{buffer:t.prop("colorBuffer"),stride:4,offset:0,divisor:1},bColor:{buffer:t.prop("colorBuffer"),stride:4,offset:4,divisor:1},prevCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:0,divisor:1},aCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:8,divisor:1},bCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:16,divisor:1},nextCoord:{buffer:t.prop("positionBuffer"),stride:8,offset:24,divisor:1}}},n))}catch(t){e=i}return{fill:t({primitive:"triangle",elements:function(t,e){return e.triangles},offset:0,vert:"\nprecision highp float;\n\nattribute vec2 position, positionFract;\n\nuniform vec4 color;\nuniform vec2 scale, scaleFract, translate, translateFract;\nuniform float pixelRatio, id;\nuniform vec4 viewport;\nuniform float opacity;\n\nvarying vec4 fragColor;\n\nconst float MAX_LINES = 256.;\n\nvoid main() {\n\tfloat depth = (MAX_LINES - 4. - id) / (MAX_LINES);\n\n\tvec2 position = position * scale + translate\n + positionFract * scale + translateFract\n + position * scaleFract\n + positionFract * scaleFract;\n\n\tgl_Position = vec4(position * 2.0 - 1.0, depth, 1);\n\n\tfragColor = color / 255.;\n\tfragColor.a *= opacity;\n}\n",frag:"\nprecision highp float;\nvarying vec4 fragColor;\n\nvoid main() {\n\tgl_FragColor = fragColor;\n}\n",uniforms:{scale:t.prop("scale"),color:t.prop("fill"),scaleFract:t.prop("scaleFract"),translateFract:t.prop("translateFract"),translate:t.prop("translate"),opacity:t.prop("opacity"),pixelRatio:t.context("pixelRatio"),id:t.prop("id"),viewport:function(t,e){return[e.viewport.x,e.viewport.y,t.viewportWidth,t.viewportHeight]}},attributes:{position:{buffer:t.prop("positionBuffer"),stride:8,offset:8},positionFract:{buffer:t.prop("positionFractBuffer"),stride:8,offset:8}},blend:n.blend,depth:{enable:!1},scissor:n.scissor,stencil:n.stencil,viewport:n.viewport}),rect:i,miter:e}},g.defaults={dashes:null,join:"miter",miterLimit:1,thickness:10,cap:"square",color:"black",opacity:1,overlay:!1,viewport:null,range:null,close:!1,fill:null},g.prototype.render=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];e.length&&(t=this).update.apply(t,e),this.draw()},g.prototype.draw=function(){for(var t=this,e=[],r=arguments.length;r--;)e[r]=arguments[r];return(e.length?e:this.passes).forEach((function(e,r){var n;if(e&&Array.isArray(e))return(n=t).draw.apply(n,e);"number"==typeof e&&(e=t.passes[e]),e&&e.count>1&&e.opacity&&(t.regl._refresh(),e.fill&&e.triangles&&e.triangles.length>2&&t.shaders.fill(e),e.thickness&&(e.scale[0]*e.viewport.width>g.precisionThreshold||e.scale[1]*e.viewport.height>g.precisionThreshold||"rect"===e.join||!e.join&&(e.thickness<=2||e.count>=g.maxPoints)?t.shaders.rect(e):t.shaders.miter(e)))})),this},g.prototype.update=function(t){var e=this;if(t){null!=t.length?"number"==typeof t[0]&&(t=[{positions:t}]):Array.isArray(t)||(t=[t]);var r=this.regl,u=this.gl;if(t.forEach((function(t,p){var y=e.passes[p];if(void 0!==t)if(null!==t){if("number"==typeof t[0]&&(t={positions:t}),t=o(t,{positions:"positions points data coords",thickness:"thickness lineWidth lineWidths line-width linewidth width stroke-width strokewidth strokeWidth",join:"lineJoin linejoin join type mode",miterLimit:"miterlimit miterLimit",dashes:"dash dashes dasharray dash-array dashArray",color:"color colour stroke colors colours stroke-color strokeColor",fill:"fill fill-color fillColor",opacity:"alpha opacity",overlay:"overlay crease overlap intersect",close:"closed close closed-path closePath",range:"range dataBox",viewport:"viewport viewBox",hole:"holes hole hollow",splitNull:"splitNull"}),y||(e.passes[p]=y={id:p,scale:null,scaleFract:null,translate:null,translateFract:null,count:0,hole:[],depth:0,dashLength:1,dashTexture:r.texture({channels:1,data:new Uint8Array([255]),width:1,height:1,mag:"linear",min:"linear"}),colorBuffer:r.buffer({usage:"dynamic",type:"uint8",data:new Uint8Array}),positionBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array}),positionFractBuffer:r.buffer({usage:"dynamic",type:"float",data:new Uint8Array})},t=a({},g.defaults,t)),null!=t.thickness&&(y.thickness=parseFloat(t.thickness)),null!=t.opacity&&(y.opacity=parseFloat(t.opacity)),null!=t.miterLimit&&(y.miterLimit=parseFloat(t.miterLimit)),null!=t.overlay&&(y.overlay=!!t.overlay,p=D}));(P=P.slice(0,R)).push(D)}for(var F=function(t){var e=k.slice(2*O,2*P[t]).concat(D?k.slice(2*D):[]),r=(y.hole||[]).map((function(e){return e-D+(P[t]-O)})),n=l(e,r);n=n.map((function(e){return e+O+(e+Ot.length)&&(e=t.length);for(var r=0,n=new Array(e);r 1.0 + delta) {\n\t\tdiscard;\n\t}\n\n\talpha -= smoothstep(1.0 - delta, 1.0 + delta, radius);\n\n\tfloat borderRadius = fragBorderRadius;\n\tfloat ratio = smoothstep(borderRadius - delta, borderRadius + delta, radius);\n\tvec4 color = mix(fragColor, fragBorderColor, ratio);\n\tcolor.a *= alpha * opacity;\n\tgl_FragColor = color;\n}\n"]),l.vert=h(["precision highp float;\n#define GLSLIFY 1\n\nattribute float x, y, xFract, yFract;\nattribute float size, borderSize;\nattribute vec4 colorId, borderColorId;\nattribute float isActive;\n\n// `invariant` effectively turns off optimizations for the position.\n// We need this because -fast-math on M1 Macs is re-ordering\n// floating point operations in a way that causes floating point\n// precision limits to put points in the wrong locations.\ninvariant gl_Position;\n\nuniform bool constPointSize;\nuniform float pixelRatio;\nuniform vec2 paletteSize, scale, scaleFract, translate, translateFract;\nuniform sampler2D paletteTexture;\n\nconst float maxSize = 100.;\n\nvarying vec4 fragColor, fragBorderColor;\nvarying float fragBorderRadius, fragWidth;\n\nfloat pointSizeScale = (constPointSize) ? 2. : pixelRatio;\n\nbool isDirect = (paletteSize.x < 1.);\n\nvec4 getColor(vec4 id) {\n return isDirect ? id / 255. : texture2D(paletteTexture,\n vec2(\n (id.x + .5) / paletteSize.x,\n (id.y + .5) / paletteSize.y\n )\n );\n}\n\nvoid main() {\n // ignore inactive points\n if (isActive == 0.) return;\n\n vec2 position = vec2(x, y);\n vec2 positionFract = vec2(xFract, yFract);\n\n vec4 color = getColor(colorId);\n vec4 borderColor = getColor(borderColorId);\n\n float size = size * maxSize / 255.;\n float borderSize = borderSize * maxSize / 255.;\n\n gl_PointSize = (size + borderSize) * pointSizeScale;\n\n vec2 pos = (position + translate) * scale\n + (positionFract + translateFract) * scale\n + (position + translate) * scaleFract\n + (positionFract + translateFract) * scaleFract;\n\n gl_Position = vec4(pos * 2. - 1., 0., 1.);\n\n fragBorderRadius = 1. - 2. * borderSize / (size + borderSize);\n fragColor = color;\n fragBorderColor = borderColor.a == 0. || borderSize == 0. ? vec4(color.rgb, 0.) : borderColor;\n fragWidth = 1. / gl_PointSize;\n}\n"]),m&&(l.frag=l.frag.replace("smoothstep","smoothStep"),s.frag=s.frag.replace("smoothstep","smoothStep")),this.drawCircle=t(l)}x.defaults={color:"black",borderColor:"transparent",borderSize:0,size:12,opacity:1,marker:void 0,viewport:null,range:null,pixelSize:null,count:0,offset:0,bounds:null,positions:[],snap:1e4},x.prototype.render=function(){return arguments.length&&this.update.apply(this,arguments),this.draw(),this},x.prototype.draw=function(){for(var t=this,e=arguments.length,r=new Array(e),n=0;nn)?e.tree=c(t,{bounds:h}):n&&n.length&&(e.tree=n),e.tree){var f={primitive:"points",usage:"static",data:e.tree,type:"uint32"};e.elements?e.elements(f):e.elements=o.elements(f)}var p=g.float32(t);return i({data:p,usage:"dynamic"}),a({data:g.fract32(t,p),usage:"dynamic"}),l({data:new Uint8Array(u),type:"uint8",usage:"stream"}),t}},{marker:function(e,r,n){var i=r.activation;if(i.forEach((function(t){return t&&t.destroy&&t.destroy()})),i.length=0,e&&"number"!=typeof e[0]){for(var a=[],s=0,l=Math.min(e.length,r.count);s=0)return a;if(t instanceof Uint8Array||t instanceof Uint8ClampedArray)e=t;else{e=new Uint8Array(t.length);for(var o=0,s=t.length;o4*n&&(this.tooManyColors=!0),this.updatePalette(r),1===i.length?i[0]:i},x.prototype.updatePalette=function(t){if(!this.tooManyColors){var e=this.maxColors,r=this.paletteTexture,n=Math.ceil(.25*t.length/e);if(n>1)for(var i=.25*(t=t.slice()).length%e;i2?(s[0],s[2],n=s[1],i=s[3]):s.length?(n=s[0],i=s[1]):(s.x,n=s.y,s.x,s.width,i=s.y+s.height),l.length>2?(a=l[0],o=l[2],l[1],l[3]):l.length?(a=l[0],o=l[1]):(a=l.x,l.y,o=l.x+l.width,l.y,l.height),[a,n,o,i]}function p(t){if("number"==typeof t)return[t,t,t,t];if(2===t.length)return[t[0],t[1],t[0],t[1]];var e=l(t);return[e.x,e.y,e.x+e.width,e.y+e.height]}t.exports=u,u.prototype.render=function(){for(var t,e=this,r=[],n=arguments.length;n--;)r[n]=arguments[n];return r.length&&(t=this).update.apply(t,r),this.regl.attributes.preserveDrawingBuffer?this.draw():(this.dirty?null==this.planned&&(this.planned=o((function(){e.draw(),e.dirty=!0,e.planned=null}))):(this.draw(),this.dirty=!0,o((function(){e.dirty=!1}))),this)},u.prototype.update=function(){for(var t,e=[],r=arguments.length;r--;)e[r]=arguments[r];if(e.length){for(var n=0;nk))&&(s.lower||!(T>>=e))<<3,(e|=r=(15<(t>>>=r))<<2)|(r=(3<(t>>>=r))<<1)|t>>>r>>1}function l(){function t(t){t:{for(var e=16;268435456>=e;e*=16)if(t<=e){t=e;break t}t=0}return 0<(e=r[s(t)>>2]).length?e.pop():new ArrayBuffer(t)}function e(t){r[s(t.byteLength)>>2].push(t)}var r=o(8,(function(){return[]}));return{alloc:t,free:e,allocType:function(e,r){var n=null;switch(e){case 5120:n=new Int8Array(t(r),0,r);break;case 5121:n=new Uint8Array(t(r),0,r);break;case 5122:n=new Int16Array(t(2*r),0,r);break;case 5123:n=new Uint16Array(t(2*r),0,r);break;case 5124:n=new Int32Array(t(4*r),0,r);break;case 5125:n=new Uint32Array(t(4*r),0,r);break;case 5126:n=new Float32Array(t(4*r),0,r);break;default:return null}return n.length!==r?n.subarray(0,r):n},freeType:function(t){e(t.buffer)}}}function c(t){return!!t&&"object"==typeof t&&Array.isArray(t.shape)&&Array.isArray(t.stride)&&"number"==typeof t.offset&&t.shape.length===t.stride.length&&(Array.isArray(t.data)||K(t.data))}function u(t,e,r,n,i,a){for(var o=0;o(i=s)&&(i=n.buffer.byteLength,5123===h?i>>=1:5125===h&&(i>>=2)),n.vertCount=i,i=o,0>o&&(i=4,1===(o=n.buffer.dimension)&&(i=0),2===o&&(i=1),3===o&&(i=4)),n.primType=i}function o(t){n.elementsCount--,delete s[t.id],t.buffer.destroy(),t.buffer=null}var s={},l=0,u={uint8:5121,uint16:5123};e.oes_element_index_uint&&(u.uint32=5125),i.prototype.bind=function(){this.buffer.bind()};var h=[];return{create:function(t,e){function s(t){if(t)if("number"==typeof t)l(t),h.primType=4,h.vertCount=0|t,h.type=5121;else{var e=null,r=35044,n=-1,i=-1,o=0,f=0;Array.isArray(t)||K(t)||c(t)?e=t:("data"in t&&(e=t.data),"usage"in t&&(r=nt[t.usage]),"primitive"in t&&(n=st[t.primitive]),"count"in t&&(i=0|t.count),"type"in t&&(f=u[t.type]),"length"in t?o=0|t.length:(o=i,5123===f||5122===f?o*=2:5125!==f&&5124!==f||(o*=4))),a(h,e,r,n,i,o,f)}else l(),h.primType=4,h.vertCount=0,h.type=5121;return s}var l=r.create(null,34963,!0),h=new i(l._buffer);return n.elementsCount++,s(t),s._reglType="elements",s._elements=h,s.subdata=function(t,e){return l.subdata(t,e),s},s.destroy=function(){o(h)},s},createStream:function(t){var e=h.pop();return e||(e=new i(r.create(null,34963,!0,!1)._buffer)),a(e,t,35040,-1,-1,0,0),e},destroyStream:function(t){h.push(t)},getElements:function(t){return"function"==typeof t&&t._elements instanceof i?t._elements:null},clear:function(){Q(s).forEach(o)}}}function y(t){for(var e=$.allocType(5123,t.length),r=0;r>>31<<15,i=(a<<1>>>24)-127,a=a>>13&1023;e[r]=-24>i?n:-14>i?n+(a+1024>>-14-i):15>=i,r.height>>=i,p(r,n[i]),t.mipmask|=1<e;++e)t.images[e]=null;return t}function L(t){for(var e=t.images,r=0;re){for(var r=0;r=--this.refCount&&F(this)}}),o.profile&&(a.getTotalTextureSize=function(){var t=0;return Object.keys(ct).forEach((function(e){t+=ct[e].stats.size})),t}),{create2D:function(e,r){function n(t,e){var r=i.texInfo;I.call(r);var a=C();return"number"==typeof t?M(a,0|t,"number"==typeof e?0|e:0|t):t?(P(r,t),S(a,t)):M(a,1,1),r.genMipmaps&&(a.mipmask=(a.width<<1)-1),i.mipmask=a.mipmask,l(i,a),i.internalformat=a.internalformat,n.width=a.width,n.height=a.height,D(i),E(a,3553),z(r,3553),R(),L(a),o.profile&&(i.stats.size=A(i.internalformat,i.type,a.width,a.height,r.genMipmaps,!1)),n.format=X[i.internalformat],n.type=J[i.type],n.mag=rt[r.magFilter],n.min=nt[r.minFilter],n.wrapS=it[r.wrapS],n.wrapT=it[r.wrapT],n}var i=new O(3553);return ct[i.id]=i,a.textureCount++,n(e,r),n.subimage=function(t,e,r,a){e|=0,r|=0,a|=0;var o=m();return l(o,i),o.width=0,o.height=0,p(o,t),o.width=o.width||(i.width>>a)-e,o.height=o.height||(i.height>>a)-r,D(i),d(o,3553,e,r,a),R(),g(o),n},n.resize=function(e,r){var a=0|e,s=0|r||a;if(a===i.width&&s===i.height)return n;n.width=i.width=a,n.height=i.height=s,D(i);for(var l=0;i.mipmask>>l;++l){var c=a>>l,u=s>>l;if(!c||!u)break;t.texImage2D(3553,l,i.format,c,u,0,i.format,i.type,null)}return R(),o.profile&&(i.stats.size=A(i.internalformat,i.type,a,s,!1,!1)),n},n._reglType="texture2d",n._texture=i,o.profile&&(n.stats=i.stats),n.destroy=function(){i.decRef()},n},createCube:function(e,r,n,i,s,c){function h(t,e,r,n,i,a){var s,c=f.texInfo;for(I.call(c),s=0;6>s;++s)y[s]=C();if("number"!=typeof t&&t){if("object"==typeof t)if(e)S(y[0],t),S(y[1],e),S(y[2],r),S(y[3],n),S(y[4],i),S(y[5],a);else if(P(c,t),u(f,t),"faces"in t)for(t=t.faces,s=0;6>s;++s)l(y[s],f),S(y[s],t[s]);else for(s=0;6>s;++s)S(y[s],t)}else for(t=0|t||1,s=0;6>s;++s)M(y[s],t,t);for(l(f,y[0]),f.mipmask=c.genMipmaps?(y[0].width<<1)-1:y[0].mipmask,f.internalformat=y[0].internalformat,h.width=y[0].width,h.height=y[0].height,D(f),s=0;6>s;++s)E(y[s],34069+s);for(z(c,34067),R(),o.profile&&(f.stats.size=A(f.internalformat,f.type,h.width,h.height,c.genMipmaps,!0)),h.format=X[f.internalformat],h.type=J[f.type],h.mag=rt[c.magFilter],h.min=nt[c.minFilter],h.wrapS=it[c.wrapS],h.wrapT=it[c.wrapT],s=0;6>s;++s)L(y[s]);return h}var f=new O(34067);ct[f.id]=f,a.cubeCount++;var y=Array(6);return h(e,r,n,i,s,c),h.subimage=function(t,e,r,n,i){r|=0,n|=0,i|=0;var a=m();return l(a,f),a.width=0,a.height=0,p(a,e),a.width=a.width||(f.width>>i)-r,a.height=a.height||(f.height>>i)-n,D(f),d(a,34069+t,r,n,i),R(),g(a),h},h.resize=function(e){if((e|=0)!==f.width){h.width=f.width=e,h.height=f.height=e,D(f);for(var r=0;6>r;++r)for(var n=0;f.mipmask>>n;++n)t.texImage2D(34069+r,n,f.format,e>>n,e>>n,0,f.format,f.type,null);return R(),o.profile&&(f.stats.size=A(f.internalformat,f.type,h.width,h.height,!1,!0)),h}},h._reglType="textureCube",h._texture=f,o.profile&&(h.stats=f.stats),h.destroy=function(){f.decRef()},h},clear:function(){for(var e=0;er;++r)if(0!=(e.mipmask&1<>r,e.height>>r,0,e.internalformat,e.type,null);else for(var n=0;6>n;++n)t.texImage2D(34069+n,r,e.internalformat,e.width>>r,e.height>>r,0,e.internalformat,e.type,null);z(e.texInfo,e.target)}))},refresh:function(){for(var e=0;ei;++i){for(c=0;ct;++t)r[t].resize(n);return e.width=e.height=n,e},_reglType:"framebufferCube",destroy:function(){r.forEach((function(t){t.destroy()}))}})},clear:function(){Q(k).forEach(g)},restore:function(){x.cur=null,x.next=null,x.dirty=!0,Q(k).forEach((function(e){e.framebuffer=t.createFramebuffer(),y(e)}))}})}function E(){this.w=this.z=this.y=this.x=this.state=0,this.buffer=null,this.size=0,this.normalized=!1,this.type=5126,this.divisor=this.stride=this.offset=0}function C(t,e,r,n,i,a,o){function s(){this.id=++h,this.attributes=[],this.elements=null,this.ownsElements=!1,this.offset=this.count=0,this.instances=-1,this.primitive=4;var t=e.oes_vertex_array_object;this.vao=t?t.createVertexArrayOES():null,f[this.id]=this,this.buffers=[]}var l=r.maxAttributes,u=Array(l);for(r=0;r=f.byteLength?l.subdata(f):(l.destroy(),r.buffers[s]=null)),r.buffers[s]||(l=r.buffers[s]=i.create(u,34962,!1,!0)),h.buffer=i.getBuffer(l),h.size=0|h.buffer.dimension,h.normalized=!1,h.type=h.buffer.dtype,h.offset=0,h.stride=0,h.divisor=0,h.state=1,t[s]=1):i.getBuffer(u)?(h.buffer=i.getBuffer(u),h.size=0|h.buffer.dimension,h.normalized=!1,h.type=h.buffer.dtype,h.offset=0,h.stride=0,h.divisor=0,h.state=1):i.getBuffer(u.buffer)?(h.buffer=i.getBuffer(u.buffer),h.size=0|(+u.size||h.buffer.dimension),h.normalized=!!u.normalized||!1,h.type="type"in u?rt[u.type]:h.buffer.dtype,h.offset=0|(u.offset||0),h.stride=0|(u.stride||0),h.divisor=0|(u.divisor||0),h.state=1):"x"in u&&(h.x=+u.x||0,h.y=+u.y||0,h.z=+u.z||0,h.w=+u.w||0,h.state=2)}for(l=0;lt&&(t=e.stats.uniformsCount)})),t},r.getMaxAttributesCount=function(){var t=0;return f.forEach((function(e){e.stats.attributesCount>t&&(t=e.stats.attributesCount)})),t}),{clear:function(){var e=t.deleteShader.bind(t);Q(c).forEach(e),c={},Q(u).forEach(e),u={},f.forEach((function(e){t.deleteProgram(e.program)})),f.length=0,h={},r.shaderCount=0},program:function(e,n,i,a){var o=h[n];o||(o=h[n]={});var p=o[e];if(p&&(p.refCount++,!a))return p;var d=new s(n,e);return r.shaderCount++,l(d,i,a),p||(o[e]=d),f.push(d),G(d,{destroy:function(){if(d.refCount--,0>=d.refCount){t.deleteProgram(d.program);var e=f.indexOf(d);f.splice(e,1),r.shaderCount--}0>=o[d.vertId].refCount&&(t.deleteShader(u[d.vertId]),delete u[d.vertId],delete h[d.fragId][d.vertId]),Object.keys(h[d.fragId]).length||(t.deleteShader(c[d.fragId]),delete c[d.fragId],delete h[d.fragId])}})},restore:function(){c={},u={};for(var t=0;t>>e|t<<32-e}function z(t,e){var r=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(r>>16)<<16|65535&r}function O(t){return Array.prototype.slice.call(t)}function D(t){return O(t).join("")}function R(t){function e(){var t=[],e=[];return G((function(){t.push.apply(t,O(arguments))}),{def:function(){var r="v"+i++;return e.push(r),0>>4&15)+"0123456789abcdef".charAt(15&e);return r}(function(t){for(var e=Array(t.length>>2),r=0;r>5]|=(255&t.charCodeAt(r/8))<<24-r%32;var n,i,a,o,s,l,c,u,h,f,p,d=8*t.length;for(t=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],r=Array(64),e[d>>5]|=128<<24-d%32,e[15+(d+64>>9<<4)]=d,u=0;uh;h++){var m;16>h?r[h]=e[h+u]:(f=h,p=z(p=P(p=r[h-2],17)^P(p,19)^p>>>10,r[h-7]),m=P(m=r[h-15],7)^P(m,18)^m>>>3,r[f]=z(z(p,m),r[h-16])),f=z(z(z(z(c,f=P(f=o,6)^P(f,11)^P(f,25)),o&s^~o&l),Mt[h]),r[h]),p=z(c=P(c=d,2)^P(c,13)^P(c,22),d&n^d&i^n&i),c=l,l=s,s=o,o=z(a,f),a=i,i=n,n=d,d=z(f,p)}t[0]=z(d,t[0]),t[1]=z(n,t[1]),t[2]=z(i,t[2]),t[3]=z(a,t[3]),t[4]=z(o,t[4]),t[5]=z(s,t[5]),t[6]=z(l,t[6]),t[7]=z(c,t[7])}for(e="",r=0;r<32*t.length;r+=8)e+=String.fromCharCode(t[r>>5]>>>24-r%32&255);return e}(function(t){for(var e,r,n="",i=-1;++i=e&&56320<=r&&57343>=r&&(e=65536+((1023&e)<<10)+(1023&r),i++),127>=e?n+=String.fromCharCode(e):2047>=e?n+=String.fromCharCode(192|e>>>6&31,128|63&e):65535>=e?n+=String.fromCharCode(224|e>>>12&15,128|e>>>6&63,128|63&e):2097151>=e&&(n+=String.fromCharCode(240|e>>>18&7,128|e>>>12&63,128|e>>>6&63,128|63&e));return n}(r))),n[e])?n[e].apply(null,o):(r=Function.apply(null,a.concat(r)),n&&(n[e]=r),r.apply(null,o))}}}function F(t){return Array.isArray(t)||K(t)||c(t)}function B(t){return t.sort((function(t,e){return"viewport"===t?-1:"viewport"===e?1:t"+e+"?"+i+".constant["+e+"]:0;"})).join(""),"}}else{","if(",s,"(",i,".buffer)){",u,"=",a,".createStream(",34962,",",i,".buffer);","}else{",u,"=",a,".getBuffer(",i,".buffer);","}",h,'="type" in ',i,"?",o.glTypes,"[",i,".type]:",u,".dtype;",l.normalized,"=!!",i,".normalized;"),n("size"),n("offset"),n("stride"),n("divisor"),r("}}"),r.exit("if(",l.isStream,"){",a,".destroyStream(",u,");","}"),l}))})),o}function M(t,e,n,i,a){function s(t){var e=c[t];e&&(f[t]=e)}var l=function(t,e){if("string"==typeof(r=t.static).frag&&"string"==typeof r.vert){if(0>1)",s],");")}function e(){r(l,".drawArraysInstancedANGLE(",[d,m,g,s],");")}p&&"null"!==p?v?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}function o(){function t(){r(u+".drawElements("+[d,g,y,m+"<<(("+y+"-5121)>>1)"]+");")}function e(){r(u+".drawArrays("+[d,m,g]+");")}p&&"null"!==p?v?t():(r("if(",p,"){"),t(),r("}else{"),e(),r("}")):e()}var s,l,c=t.shared,u=c.gl,h=c.draw,f=n.draw,p=function(){var i=f.elements,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a),f.elementsActive&&a("if("+i+")"+u+".bindBuffer(34963,"+i+".buffer.buffer);")):(i=a.def(),a(i,"=",h,".","elements",";","if(",i,"){",u,".bindBuffer(",34963,",",i,".buffer.buffer);}","else if(",c.vao,".currentVAO){",i,"=",t.shared.elements+".getElements("+c.vao,".currentVAO.elements);",et?"":"if("+i+")"+u+".bindBuffer(34963,"+i+".buffer.buffer);","}")),i}(),d=i("primitive"),m=i("offset"),g=function(){var i=f.count,a=e;return i?((i.contextDep&&n.contextDynamic||i.propDep)&&(a=r),i=i.append(t,a)):i=a.def(h,".","count"),i}();if("number"==typeof g){if(0===g)return}else r("if(",g,"){"),r.exit("}");Q&&(s=i("instances"),l=t.instancing);var y=p+".type",v=f.elements&&j(f.elements)&&!f.vaoActive;Q&&("number"!=typeof s||0<=s)?"string"==typeof s?(r("if(",s,">0){"),a(),r("}else if(",s,"<0){"),o(),r("}")):a():o()}function q(t,e,r,n,i){return i=(e=b()).proc("body",i),Q&&(e.instancing=i.def(e.shared.extensions,".angle_instanced_arrays")),t(e,i,r,n),e.compile().body}function H(t,e,r,n){I(t,e),r.useVAO?r.drawVAO?e(t.shared.vao,".setVAO(",r.drawVAO.append(t,e),");"):e(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(e(t.shared.vao,".setVAO(null);"),z(t,e,r,n.attributes,(function(){return!0}))),O(t,e,r,n.uniforms,(function(){return!0}),!1),D(t,e,e,r)}function Z(t,e,r,n){function i(){return!0}t.batchId="a1",I(t,e),z(t,e,r,n.attributes,i),O(t,e,r,n.uniforms,i,!1),D(t,e,e,r)}function Y(t,e,r,n){function i(t){return t.contextDep&&o||t.propDep}function a(t){return!i(t)}I(t,e);var o=r.contextDep,s=e.def(),l=e.def();t.shared.props=l,t.batchId=s;var c=t.scope(),u=t.scope();e(c.entry,"for(",s,"=0;",s,"<","a1",";++",s,"){",l,"=","a0","[",s,"];",u,"}",c.exit),r.needsContext&&S(t,u,r.context),r.needsFramebuffer&&E(t,u,r.framebuffer),L(t,u,r.state,i),r.profile&&i(r.profile)&&P(t,u,r,!1,!0),n?(r.useVAO?r.drawVAO?i(r.drawVAO)?u(t.shared.vao,".setVAO(",r.drawVAO.append(t,u),");"):c(t.shared.vao,".setVAO(",r.drawVAO.append(t,c),");"):c(t.shared.vao,".setVAO(",t.shared.vao,".targetVAO);"):(c(t.shared.vao,".setVAO(null);"),z(t,c,r,n.attributes,a),z(t,u,r,n.attributes,i)),O(t,c,r,n.uniforms,a,!1),O(t,u,r,n.uniforms,i,!0),D(t,c,u,r)):(e=t.global.def("{}"),n=r.shader.progVar.append(t,u),l=u.def(n,".id"),c=u.def(e,"[",l,"]"),u(t.shared.gl,".useProgram(",n,".program);","if(!",c,"){",c,"=",e,"[",l,"]=",t.link((function(e){return q(Z,t,r,e,2)})),"(",n,");}",c,".call(this,a0[",s,"],",s,");"))}function X(t,r){function n(e){var n=r.shader[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.shader,"."+e,n):i.set(a.shader,"."+e,t.link(n,{stable:!0})))}var i=t.proc("scope",3);t.batchId="a2";var a=t.shared,o=a.current;if(S(t,i,r.context),r.framebuffer&&r.framebuffer.append(t,i),B(Object.keys(r.state)).forEach((function(e){var n=r.state[e],o=n.append(t,i);v(o)?o.forEach((function(r,n){isNaN(r)?i.set(t.next[e],"["+n+"]",r):i.set(t.next[e],"["+n+"]",t.link(r,{stable:!0}))})):j(n)?i.set(a.next,"."+e,t.link(o,{stable:!0})):i.set(a.next,"."+e,o)})),P(t,i,r,!0,!0),["elements","offset","count","instances","primitive"].forEach((function(e){var n=r.draw[e];n&&(n=n.append(t,i),isNaN(n)?i.set(a.draw,"."+e,n):i.set(a.draw,"."+e,t.link(n),{stable:!0}))})),Object.keys(r.uniforms).forEach((function(n){var o=r.uniforms[n].append(t,i);Array.isArray(o)&&(o="["+o.map((function(e){return isNaN(e)?e:t.link(e,{stable:!0})}))+"]"),i.set(a.uniforms,"["+t.link(e.id(n),{stable:!0})+"]",o)})),Object.keys(r.attributes).forEach((function(e){var n=r.attributes[e].append(t,i),a=t.scopeAttrib(e);Object.keys(new J).forEach((function(t){i.set(a,"."+t,n[t])}))})),r.scopeVAO){var s=r.scopeVAO.append(t,i);isNaN(s)?i.set(a.vao,".targetVAO",s):i.set(a.vao,".targetVAO",t.link(s,{stable:!0}))}n("vert"),n("frag"),0=--this.refCount&&o(this)},i.profile&&(n.getTotalRenderbufferSize=function(){var t=0;return Object.keys(u).forEach((function(e){t+=u[e].stats.size})),t}),{create:function(e,r){function o(e,r){var n=0,a=0,u=32854;if("object"==typeof e&&e?("shape"in e?(n=0|(a=e.shape)[0],a=0|a[1]):("radius"in e&&(n=a=0|e.radius),"width"in e&&(n=0|e.width),"height"in e&&(a=0|e.height)),"format"in e&&(u=s[e.format])):"number"==typeof e?(n=0|e,a="number"==typeof r?0|r:n):e||(n=a=1),n!==c.width||a!==c.height||u!==c.format)return o.width=c.width=n,o.height=c.height=a,c.format=u,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,u,n,a),i.profile&&(c.stats.size=wt[c.format]*c.width*c.height),o.format=l[c.format],o}var c=new a(t.createRenderbuffer());return u[c.id]=c,n.renderbufferCount++,o(e,r),o.resize=function(e,r){var n=0|e,a=0|r||n;return n===c.width&&a===c.height||(o.width=c.width=n,o.height=c.height=a,t.bindRenderbuffer(36161,c.renderbuffer),t.renderbufferStorage(36161,c.format,n,a),i.profile&&(c.stats.size=wt[c.format]*c.width*c.height)),o},o._reglType="renderbuffer",o._renderbuffer=c,i.profile&&(o.stats=c.stats),o.destroy=function(){c.decRef()},o},clear:function(){Q(u).forEach(o)},restore:function(){Q(u).forEach((function(e){e.renderbuffer=t.createRenderbuffer(),t.bindRenderbuffer(36161,e.renderbuffer),t.renderbufferStorage(36161,e.format,e.width,e.height)})),t.bindRenderbuffer(36161,null)}}},kt=[];kt[6408]=4,kt[6407]=3;var At=[];At[5121]=1,At[5126]=4,At[36193]=2;var Mt=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],St=["x","y","z","w"],Et="blend.func blend.equation stencil.func stencil.opFront stencil.opBack sample.coverage viewport scissor.box polygonOffset.offset".split(" "),Ct={0:0,1:1,zero:0,one:1,"src color":768,"one minus src color":769,"src alpha":770,"one minus src alpha":771,"dst color":774,"one minus dst color":775,"dst alpha":772,"one minus dst alpha":773,"constant color":32769,"one minus constant color":32770,"constant alpha":32771,"one minus constant alpha":32772,"src alpha saturate":776},Lt={never:512,less:513,"<":513,equal:514,"=":514,"==":514,"===":514,lequal:515,"<=":515,greater:516,">":516,notequal:517,"!=":517,"!==":517,gequal:518,">=":518,always:519},It={0:0,zero:0,keep:7680,replace:7681,increment:7682,decrement:7683,"increment wrap":34055,"decrement wrap":34056,invert:5386},Pt={cw:2304,ccw:2305},zt=new N(!1,!1,!1,(function(){}));return function(t){function e(){if(0===$.length)T&&T.update(),et=null;else{et=Y.next(e),h();for(var t=$.length-1;0<=t;--t){var r=$[t];r&&r(P,null,0)}d.flush(),T&&T.update()}}function r(){!et&&0<$.length&&(et=Y.next(e))}function n(){et&&(Y.cancel(e),et=null)}function i(t){t.preventDefault(),n(),K.forEach((function(t){t()}))}function o(t){d.getError(),v.restore(),F.restore(),O.restore(),B.restore(),N.restore(),j.restore(),R.restore(),T&&T.restore(),U.procs.refresh(),r(),Q.forEach((function(t){t()}))}function s(t){function e(t,e){var r={},n={};return Object.keys(t).forEach((function(i){var a=t[i];if(W.isDynamic(a))n[i]=W.unbox(a,i);else{if(e&&Array.isArray(a))for(var o=0;o=$.length&&n()}}}}function u(){var t=V.viewport,e=V.scissor_box;t[0]=t[1]=e[0]=e[1]=0,P.viewportWidth=P.framebufferWidth=P.drawingBufferWidth=t[2]=e[2]=d.drawingBufferWidth,P.viewportHeight=P.framebufferHeight=P.drawingBufferHeight=t[3]=e[3]=d.drawingBufferHeight}function h(){P.tick+=1,P.time=p(),u(),U.procs.poll()}function f(){B.refresh(),u(),U.procs.refresh(),T&&T.update()}function p(){return(X()-k)/1e3}if(!(t=a(t)))return null;var d=t.gl,y=d.getContextAttributes();d.isContextLost();var v=function(t,e){function r(e){var r;e=e.toLowerCase();try{r=n[e]=t.getExtension(e)}catch(t){}return!!r}for(var n={},i=0;ie;++e)rt(G({framebuffer:t.framebuffer.faces[e]},t),l);else rt(t,l);else l(0,t)},prop:W.define.bind(null,1),context:W.define.bind(null,2),this:W.define.bind(null,3),draw:s({}),buffer:function(t){return O.create(t,34962,!1,!1)},elements:function(t){return D.create(t,!1)},texture:B.create2D,cube:B.createCube,renderbuffer:N.create,framebuffer:j.create,framebufferCube:j.createCube,vao:R.createVAO,attributes:y,frame:c,on:function(t,e){var r;switch(t){case"frame":return c(e);case"lost":r=K;break;case"restore":r=Q;break;case"destroy":r=tt}return r.push(e),{cancel:function(){for(var t=0;t4294967295||l(e)!==e)throw new s("`length` must be a positive 32-bit integer");var r=arguments.length>2&&!!arguments[2],n=!0,c=!0;if("length"in t&&o){var u=o(t,"length");u&&!u.configurable&&(n=!1),u&&!u.writable&&(c=!1)}return(n||c||!r)&&(a?i(t,"length",e,!0,!0):i(t,"length",e)),t}},90386:function(t,e,r){t.exports=i;var n=r(7683).EventEmitter;function i(){n.call(this)}r(28062)(i,n),i.Readable=r(44639),i.Writable=r(84627),i.Duplex=r(71977),i.Transform=r(40255),i.PassThrough=r(28765),i.finished=r(37165),i.pipeline=r(6772),i.Stream=i,i.prototype.pipe=function(t,e){var r=this;function i(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function a(){r.readable&&r.resume&&r.resume()}r.on("data",i),t.on("drain",a),t._isStdio||e&&!1===e.end||(r.on("end",s),r.on("close",l));var o=!1;function s(){o||(o=!0,t.end())}function l(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function c(t){if(u(),0===n.listenerCount(this,"error"))throw t}function u(){r.removeListener("data",i),t.removeListener("drain",a),r.removeListener("end",s),r.removeListener("close",l),r.removeListener("error",c),t.removeListener("error",c),r.removeListener("end",u),r.removeListener("close",u),t.removeListener("close",u)}return r.on("error",c),t.on("error",c),r.on("end",u),r.on("close",u),t.on("close",u),t.emit("pipe",r),t}},44059:function(t){"use strict";var e={};function r(t,r,n){n||(n=Error);var i=function(t){var e,n;function i(e,n,i){return t.call(this,function(t,e,n){return"string"==typeof r?r:r(t,e,n)}(e,n,i))||this}return n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n,i}(n);i.prototype.name=n.name,i.prototype.code=t,e[t]=i}function n(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),r("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,a,o,s,l;if("string"==typeof e&&(a="not ",e.substr(0,4)===a)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-9,r)===e}(t," argument"))o="The ".concat(t," ").concat(i," ").concat(n(e,"type"));else{var c=("number"!=typeof l&&(l=0),l+1>(s=t).length||-1===s.indexOf(".",l)?"argument":"property");o='The "'.concat(t,'" ').concat(c," ").concat(i," ").concat(n(e,"type"))}return o+". Received type ".concat(typeof r)}),TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.F=e},71977:function(t,e,r){"use strict";var n=r(33282),i=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=u;var a=r(44639),o=r(84627);r(28062)(u,a);for(var s=i(o.prototype),l=0;l0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===l.prototype||(e=function(t){return l.from(t)}(e)),n)s.endEmitted?w(t,new b):S(t,s,e,!0);else if(s.ended)w(t,new x);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?S(t,s,e,!1):P(t,s)):S(t,s,e,!1)}else n||(s.reading=!1,P(t,s));return!s.ended&&(s.lengthe.highWaterMark&&(e.highWaterMark=function(t){return t>=E?t=E:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function L(t){var e=t._readableState;a("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(a("emitReadable",e.flowing),e.emittedReadable=!0,i.nextTick(I,t))}function I(t){var e=t._readableState;a("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,F(t)}function P(t,e){e.readingMore||(e.readingMore=!0,i.nextTick(z,t,e))}function z(t,e){for(;!e.reading&&!e.ended&&(e.length0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function D(t){a("readable nexttick read 0"),t.read(0)}function R(t,e){a("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),F(t),e.flowing&&!e.reading&&t.read(0)}function F(t){var e=t._readableState;for(a("flow",e.flowing);e.flowing&&null!==t.read(););}function B(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function N(t){var e=t._readableState;a("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,i.nextTick(j,e,t))}function j(t,e){if(a("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function U(t,e){for(var r=0,n=t.length;r=e.highWaterMark:e.length>0)||e.ended))return a("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?N(this):L(this),null;if(0===(t=C(t,e))&&e.ended)return 0===e.length&&N(this),null;var n,i=e.needReadable;return a("need readable",i),(0===e.length||e.length-t0?B(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&N(this)),null!==n&&this.emit("data",n),n},A.prototype._read=function(t){w(this,new _("_read()"))},A.prototype.pipe=function(t,e){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=t;break;case 1:n.pipes=[n.pipes,t];break;default:n.pipes.push(t)}n.pipesCount+=1,a("pipe count=%d opts=%j",n.pipesCount,e);var s=e&&!1===e.end||t===i.stdout||t===i.stderr?m:l;function l(){a("onend"),t.end()}n.endEmitted?i.nextTick(s):r.once("end",s),t.on("unpipe",(function e(i,o){a("onunpipe"),i===r&&o&&!1===o.hasUnpiped&&(o.hasUnpiped=!0,a("cleanup"),t.removeListener("close",p),t.removeListener("finish",d),t.removeListener("drain",c),t.removeListener("error",f),t.removeListener("unpipe",e),r.removeListener("end",l),r.removeListener("end",m),r.removeListener("data",h),u=!0,!n.awaitDrain||t._writableState&&!t._writableState.needDrain||c())}));var c=function(t){return function(){var e=t._readableState;a("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&o(t,"data")&&(e.flowing=!0,F(t))}}(r);t.on("drain",c);var u=!1;function h(e){a("ondata");var i=t.write(e);a("dest.write",i),!1===i&&((1===n.pipesCount&&n.pipes===t||n.pipesCount>1&&-1!==U(n.pipes,t))&&!u&&(a("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function f(e){a("onerror",e),m(),t.removeListener("error",f),0===o(t,"error")&&w(t,e)}function p(){t.removeListener("finish",d),m()}function d(){a("onfinish"),t.removeListener("close",p),m()}function m(){a("unpipe"),r.unpipe(t)}return r.on("data",h),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",f),t.once("close",p),t.once("finish",d),t.emit("pipe",r),n.flowing||(a("pipe resume"),r.resume()),t},A.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var n=e.pipes,i=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var a=0;a0,!1!==n.flowing&&this.resume()):"readable"===t&&(n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,a("on readable",n.length,n.reading),n.length?L(this):n.reading||i.nextTick(D,this))),r},A.prototype.addListener=A.prototype.on,A.prototype.removeListener=function(t,e){var r=s.prototype.removeListener.call(this,t,e);return"readable"===t&&i.nextTick(O,this),r},A.prototype.removeAllListeners=function(t){var e=s.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||i.nextTick(O,this),e},A.prototype.resume=function(){var t=this._readableState;return t.flowing||(a("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,i.nextTick(R,t,e))}(this,t)),t.paused=!1,this},A.prototype.pause=function(){return a("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(a("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},A.prototype.wrap=function(t){var e=this,r=this._readableState,n=!1;for(var i in t.on("end",(function(){if(a("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(i){a("wrapped data"),r.decoder&&(i=r.decoder.write(i)),r.objectMode&&null==i||(r.objectMode||i&&i.length)&&(e.push(i)||(n=!0,t.pause()))})),t)void 0===this[i]&&"function"==typeof t[i]&&(this[i]=function(e){return function(){return t[e].apply(t,arguments)}}(i));for(var o=0;o-1))throw new b(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(A.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(A.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),A.prototype._write=function(t,e,r){r(new m("_write()"))},A.prototype._writev=null,A.prototype.end=function(t,e,r){var n=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),n.corked&&(n.corked=1,this.uncork()),n.ending||function(t,e,r){e.ending=!0,I(t,e),r&&(e.finished?i.nextTick(r):t.once("finish",r)),e.ended=!0,t.writable=!1}(this,n,r),this},Object.defineProperty(A.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(A.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),A.prototype.destroy=h.destroy,A.prototype._undestroy=h.undestroy,A.prototype._destroy=function(t,e){e(t)}},73726:function(t,e,r){"use strict";var n,i=r(33282);function a(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(37165),s=Symbol("lastResolve"),l=Symbol("lastReject"),c=Symbol("error"),u=Symbol("ended"),h=Symbol("lastPromise"),f=Symbol("handlePromise"),p=Symbol("stream");function d(t,e){return{value:t,done:e}}function m(t){var e=t[s];if(null!==e){var r=t[p].read();null!==r&&(t[h]=null,t[s]=null,t[l]=null,e(d(r,!1)))}}function g(t){i.nextTick(m,t)}var y=Object.getPrototypeOf((function(){})),v=Object.setPrototypeOf((a(n={get stream(){return this[p]},next:function(){var t=this,e=this[c];if(null!==e)return Promise.reject(e);if(this[u])return Promise.resolve(d(void 0,!0));if(this[p].destroyed)return new Promise((function(e,r){i.nextTick((function(){t[c]?r(t[c]):e(d(void 0,!0))}))}));var r,n=this[h];if(n)r=new Promise(function(t,e){return function(r,n){t.then((function(){e[u]?r(d(void 0,!0)):e[f](r,n)}),n)}}(n,this));else{var a=this[p].read();if(null!==a)return Promise.resolve(d(a,!1));r=new Promise(this[f])}return this[h]=r,r}},Symbol.asyncIterator,(function(){return this})),a(n,"return",(function(){var t=this;return new Promise((function(e,r){t[p].destroy(null,(function(t){t?r(t):e(d(void 0,!0))}))}))})),n),y);t.exports=function(t){var e,r=Object.create(v,(a(e={},p,{value:t,writable:!0}),a(e,s,{value:null,writable:!0}),a(e,l,{value:null,writable:!0}),a(e,c,{value:null,writable:!0}),a(e,u,{value:t._readableState.endEmitted,writable:!0}),a(e,f,{value:function(t,e){var n=r[p].read();n?(r[h]=null,r[s]=null,r[l]=null,t(d(n,!1))):(r[s]=t,r[l]=e)},writable:!0}),e));return r[h]=null,o(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[l];return null!==e&&(r[h]=null,r[s]=null,r[l]=null,e(t)),void(r[c]=t)}var n=r[s];null!==n&&(r[h]=null,r[s]=null,r[l]=null,n(d(void 0,!0))),r[u]=!0})),t.on("readable",g.bind(null,r)),r}},29930:function(t,e,r){"use strict";function n(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function a(t,e){for(var r=0;r0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e,r,n,i=o.allocUnsafe(t>>>0),a=this.head,s=0;a;)e=a.data,r=i,n=s,o.prototype.copy.call(e,r,n),s+=a.data.length,a=a.next;return i}},{key:"consume",value:function(t,e){var r;return ti.length?i.length:t;if(a===i.length?n+=i:n+=i.slice(0,t),0==(t-=a)){a===i.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),r=this.head,n=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var i=r.data,a=t>i.length?i.length:t;if(i.copy(e,e.length-t,0,a),0==(t-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,e}},{key:l,value:function(t,e){return s(this,function(t){for(var e=1;e0,(function(t){u||(u=t),t&&f.forEach(l),a||(f.forEach(l),h(u))}))}));return e.reduce(c)}},31976:function(t,e,r){"use strict";var n=r(44059).F.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,i){var a=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=a){if(!isFinite(a)||Math.floor(a)!==a||a<0)throw new n(i?r:"highWaterMark",a);return Math.floor(a)}return t.objectMode?16:16384}}},60032:function(t,e,r){t.exports=r(7683).EventEmitter},54304:function(t,e,r){"use strict";var n=r(41041).Buffer,i=n.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function a(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(n.isEncoding===i||!i(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=l,this.end=c,e=4;break;case"utf8":this.fillLast=s,e=4;break;case"base64":this.text=u,this.end=h,e=3;break;default:return this.write=f,void(this.end=p)}this.lastNeed=0,this.lastTotal=0,this.lastChar=n.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function s(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function l(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function c(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function u(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function h(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function f(t){return t.toString(this.encoding)}function p(t){return t&&t.length?this.write(t):""}e.I=a,a.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(t.lastNeed=i-1),i):--n=0?(i>0&&(t.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:t.lastNeed=i-3),i):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},a.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},79743:function(t,e,r){var n=r(45708).Buffer,i=r(85672),a=r(79399)("stream-parser");t.exports=function(t){var e=t&&"function"==typeof t._transform,r=t&&"function"==typeof t._write;if(!e&&!r)throw new Error("must pass a Writable or Transform stream in");a("extending Parser into stream"),t._bytes=h,t._skipBytes=f,e&&(t._passthrough=p),e?t._transform=m:t._write=d};var o=-1,s=0,l=1,c=2;function u(t){a("initializing parser stream"),t._parserBytesLeft=0,t._parserBuffers=[],t._parserBuffered=0,t._parserState=o,t._parserCallback=null,"function"==typeof t.push&&(t._parserOutput=t.push.bind(t)),t._parserInit=!0}function h(t,e){i(!this._parserCallback,'there is already a "callback" set!'),i(isFinite(t)&&t>0,'can only buffer a finite number of bytes > 0, got "'+t+'"'),this._parserInit||u(this),a("buffering %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=s}function f(t,e){i(!this._parserCallback,'there is already a "callback" set!'),i(t>0,'can only skip > 0 bytes, got "'+t+'"'),this._parserInit||u(this),a("skipping %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=l}function p(t,e){i(!this._parserCallback,'There is already a "callback" set!'),i(t>0,'can only pass through > 0 bytes, got "'+t+'"'),this._parserInit||u(this),a("passing through %o bytes",t),this._parserBytesLeft=t,this._parserCallback=e,this._parserState=c}function d(t,e,r){this._parserInit||u(this),a("write(%o bytes)",t.length),"function"==typeof e&&(r=e),y(this,t,null,r)}function m(t,e,r){this._parserInit||u(this),a("transform(%o bytes)",t.length),"function"!=typeof e&&(e=this._parserOutput),y(this,t,e,r)}function g(t,e,r,i){if(t._parserBytesLeft-=e.length,a("%o bytes left for stream piece",t._parserBytesLeft),t._parserState===s?(t._parserBuffers.push(e),t._parserBuffered+=e.length):t._parserState===c&&r(e),0!==t._parserBytesLeft)return i;var l=t._parserCallback;if(l&&t._parserState===s&&t._parserBuffers.length>1&&(e=n.concat(t._parserBuffers,t._parserBuffered)),t._parserState!==s&&(e=null),t._parserCallback=null,t._parserBuffered=0,t._parserState=o,t._parserBuffers.splice(0),l){var u=[];e&&u.push(e),r&&u.push(r);var h=l.length>u.length;h&&u.push(v(i));var f=l.apply(t,u);if(!h||i===f)return i}}var y=v((function t(e,r,n,i){return e._parserBytesLeft<=0?i(new Error("got data but not currently parsing anything")):r.length<=e._parserBytesLeft?function(){return g(e,r,n,i)}:function(){var a=r.slice(0,e._parserBytesLeft);return g(e,a,n,(function(o){return o?i(o):r.length>a.length?function(){return t(e,r.slice(a.length),n,i)}:void 0}))}}));function v(t){return function(){for(var e=t.apply(this,arguments);"function"==typeof e;)e=e();return e}}},79399:function(t,e,r){var n=r(33282);function i(){var t;try{t=e.storage.debug}catch(t){}return!t&&void 0!==n&&"env"in n&&(t=n.env.DEBUG),t}(e=t.exports=r(43228)).log=function(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},e.formatArgs=function(t){var r=this.useColors;if(t[0]=(r?"%c":"")+this.namespace+(r?" %c":" ")+t[0]+(r?"%c ":" ")+"+"+e.humanize(this.diff),r){var n="color: "+this.color;t.splice(1,0,n,"color: inherit");var i=0,a=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){"%%"!==t&&(i++,"%c"===t&&(a=i))})),t.splice(a,0,n)}},e.save=function(t){try{null==t?e.storage.removeItem("debug"):e.storage.debug=t}catch(t){}},e.load=i,e.useColors=function(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},e.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function(){try{return window.localStorage}catch(t){}}(),e.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],e.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},e.enable(i())},43228:function(t,e,r){var n;function i(t){function r(){if(r.enabled){var t=r,i=+new Date,a=i-(n||i);t.diff=a,t.prev=n,t.curr=i,n=i;for(var o=new Array(arguments.length),s=0;s0)return function(t){if(!((t=String(t)).length>100)){var a=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(a){var o=parseFloat(a[1]);switch((a[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*o;case"days":case"day":case"d":return o*i;case"hours":case"hour":case"hrs":case"hr":case"h":return o*n;case"minutes":case"minute":case"mins":case"min":case"m":return o*r;case"seconds":case"second":case"secs":case"sec":case"s":return o*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return}}}}(t);if("number"===l&&!1===isNaN(t))return o.long?a(s=t,i,"day")||a(s,n,"hour")||a(s,r,"minute")||a(s,e,"second")||s+" ms":function(t){return t>=i?Math.round(t/i)+"d":t>=n?Math.round(t/n)+"h":t>=r?Math.round(t/r)+"m":t>=e?Math.round(t/e)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))}},28089:function(t,e,r){"use strict";var n=r(59811);t.exports=function(t,e,r){if(null==t)throw Error("First argument should be a string");if(null==e)throw Error("Separator should be a string or a RegExp");r?("string"==typeof r||Array.isArray(r))&&(r={ignore:r}):r={},null==r.escape&&(r.escape=!0),null==r.ignore?r.ignore=["[]","()","{}","<>",'""',"''","``","“”","«»"]:("string"==typeof r.ignore&&(r.ignore=[r.ignore]),r.ignore=r.ignore.map((function(t){return 1===t.length&&(t+=t),t})));var i=n.parse(t,{flat:!0,brackets:r.ignore}),a=i[0].split(e);if(r.escape){for(var o=[],s=0;s0;){e=c[c.length-1];var p=t[e];if(a[e]=0&&s[e].push(o[m])}a[e]=d}else{if(n[e]===r[e]){var g=[],y=[],v=0;for(d=l.length-1;d>=0;--d){var x=l[d];if(i[x]=!1,g.push(x),y.push(s[x]),v+=s[x].length,o[x]=h.length,x===e){l.length=d;break}}h.push(g);var _=new Array(v);for(d=0;d1&&(i=1),i<-1&&(i=-1),(t*n-e*r<0?-1:1)*Math.acos(i)};e.default=function(t){var e=t.px,r=t.py,s=t.cx,l=t.cy,c=t.rx,u=t.ry,h=t.xAxisRotation,f=void 0===h?0:h,p=t.largeArcFlag,d=void 0===p?0:p,m=t.sweepFlag,g=void 0===m?0:m,y=[];if(0===c||0===u)return[];var v=Math.sin(f*n/360),x=Math.cos(f*n/360),_=x*(e-s)/2+v*(r-l)/2,b=-v*(e-s)/2+x*(r-l)/2;if(0===_&&0===b)return[];c=Math.abs(c),u=Math.abs(u);var w=Math.pow(_,2)/Math.pow(c,2)+Math.pow(b,2)/Math.pow(u,2);w>1&&(c*=Math.sqrt(w),u*=Math.sqrt(w));var T=function(t,e,r,i,a,s,l,c,u,h,f,p){var d=Math.pow(a,2),m=Math.pow(s,2),g=Math.pow(f,2),y=Math.pow(p,2),v=d*m-d*y-m*g;v<0&&(v=0),v/=d*y+m*g;var x=(v=Math.sqrt(v)*(l===c?-1:1))*a/s*p,_=v*-s/a*f,b=h*x-u*_+(t+r)/2,w=u*x+h*_+(e+i)/2,T=(f-x)/a,k=(p-_)/s,A=(-f-x)/a,M=(-p-_)/s,S=o(1,0,T,k),E=o(T,k,A,M);return 0===c&&E>0&&(E-=n),1===c&&E<0&&(E+=n),[b,w,S,E]}(e,r,s,l,c,u,d,g,v,x,_,b),k=function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return function(t,e){var r=[],n=!0,i=!1,a=void 0;try{for(var o,s=t[Symbol.iterator]();!(n=(o=s.next()).done)&&(r.push(o.value),!e||r.length!==e);n=!0);}catch(t){i=!0,a=t}finally{try{!n&&s.return&&s.return()}finally{if(i)throw a}}return r}(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}(T,4),A=k[0],M=k[1],S=k[2],E=k[3],C=Math.abs(E)/(n/4);Math.abs(1-C)<1e-7&&(C=1);var L=Math.max(Math.ceil(C),1);E/=L;for(var I=0;Ie[2]&&(e[2]=c[u+0]),c[u+1]>e[3]&&(e[3]=c[u+1]);return e}},41883:function(t,e,r){"use strict";t.exports=function(t){for(var e,r=[],o=0,s=0,l=0,c=0,u=null,h=null,f=0,p=0,d=0,m=t.length;d4?(o=g[g.length-4],s=g[g.length-3]):(o=f,s=p),r.push(g)}return r};var n=r(13193);function i(t,e,r,n){return["C",t,e,r,n,r,n]}function a(t,e,r,n,i,a){return["C",t/3+2/3*r,e/3+2/3*n,i/3+2/3*r,a/3+2/3*n,i,a]}},96021:function(t,e,r){"use strict";var n,i=r(97251),a=r(26953),o=r(95620),s=r(13986),l=r(88772),c=document.createElement("canvas"),u=c.getContext("2d");t.exports=function(t,e){if(!s(t))throw Error("Argument should be valid svg path string");var r,h;e||(e={}),e.shape?(r=e.shape[0],h=e.shape[1]):(r=c.width=e.w||e.width||200,h=c.height=e.h||e.height||200);var f=Math.min(r,h),p=e.stroke||0,d=e.viewbox||e.viewBox||i(t),m=[r/(d[2]-d[0]),h/(d[3]-d[1])],g=Math.min(m[0]||0,m[1]||0)/2;if(u.fillStyle="black",u.fillRect(0,0,r,h),u.fillStyle="white",p&&("number"!=typeof p&&(p=1),u.strokeStyle=p>0?"white":"black",u.lineWidth=Math.abs(p)),u.translate(.5*r,.5*h),u.scale(g,g),function(){if(null!=n)return n;var t=document.createElement("canvas").getContext("2d");if(t.canvas.width=t.canvas.height=1,!window.Path2D)return n=!1;var e=new Path2D("M0,0h1v1h-1v-1Z");t.fillStyle="black",t.fill(e);var r=t.getImageData(0,0,1,1);return n=r&&r.data&&255===r.data[3]}()){var y=new Path2D(t);u.fill(y),p&&u.stroke(y)}else{var v=a(t);o(u,v),u.fill(),p&&u.stroke()}return u.setTransform(1,0,0,1,0,0),l(u,{cutoff:null!=e.cutoff?e.cutoff:.5,radius:null!=e.radius?e.radius:.5*f})}},65657:function(t,e,r){var n;!function(i){var a=/^\s+/,o=/\s+$/,s=0,l=i.round,c=i.min,u=i.max,h=i.random;function f(t,e){if(e=e||{},(t=t||"")instanceof f)return t;if(!(this instanceof f))return new f(t,e);var r=function(t){var e,r,n,s={r:0,g:0,b:0},l=1,h=null,f=null,p=null,d=!1,m=!1;return"string"==typeof t&&(t=function(t){t=t.replace(a,"").replace(o,"").toLowerCase();var e,r=!1;if(L[t])t=L[t],r=!0;else if("transparent"==t)return{r:0,g:0,b:0,a:0,format:"name"};return(e=q.rgb.exec(t))?{r:e[1],g:e[2],b:e[3]}:(e=q.rgba.exec(t))?{r:e[1],g:e[2],b:e[3],a:e[4]}:(e=q.hsl.exec(t))?{h:e[1],s:e[2],l:e[3]}:(e=q.hsla.exec(t))?{h:e[1],s:e[2],l:e[3],a:e[4]}:(e=q.hsv.exec(t))?{h:e[1],s:e[2],v:e[3]}:(e=q.hsva.exec(t))?{h:e[1],s:e[2],v:e[3],a:e[4]}:(e=q.hex8.exec(t))?{r:D(e[1]),g:D(e[2]),b:D(e[3]),a:N(e[4]),format:r?"name":"hex8"}:(e=q.hex6.exec(t))?{r:D(e[1]),g:D(e[2]),b:D(e[3]),format:r?"name":"hex"}:(e=q.hex4.exec(t))?{r:D(e[1]+""+e[1]),g:D(e[2]+""+e[2]),b:D(e[3]+""+e[3]),a:N(e[4]+""+e[4]),format:r?"name":"hex8"}:!!(e=q.hex3.exec(t))&&{r:D(e[1]+""+e[1]),g:D(e[2]+""+e[2]),b:D(e[3]+""+e[3]),format:r?"name":"hex"}}(t)),"object"==typeof t&&(H(t.r)&&H(t.g)&&H(t.b)?(e=t.r,r=t.g,n=t.b,s={r:255*z(e,255),g:255*z(r,255),b:255*z(n,255)},d=!0,m="%"===String(t.r).substr(-1)?"prgb":"rgb"):H(t.h)&&H(t.s)&&H(t.v)?(h=F(t.s),f=F(t.v),s=function(t,e,r){t=6*z(t,360),e=z(e,100),r=z(r,100);var n=i.floor(t),a=t-n,o=r*(1-e),s=r*(1-a*e),l=r*(1-(1-a)*e),c=n%6;return{r:255*[r,s,o,o,l,r][c],g:255*[l,r,r,s,o,o][c],b:255*[o,o,l,r,r,s][c]}}(t.h,h,f),d=!0,m="hsv"):H(t.h)&&H(t.s)&&H(t.l)&&(h=F(t.s),p=F(t.l),s=function(t,e,r){var n,i,a;function o(t,e,r){return r<0&&(r+=1),r>1&&(r-=1),r<1/6?t+6*(e-t)*r:r<.5?e:r<2/3?t+(e-t)*(2/3-r)*6:t}if(t=z(t,360),e=z(e,100),r=z(r,100),0===e)n=i=a=r;else{var s=r<.5?r*(1+e):r+e-r*e,l=2*r-s;n=o(l,s,t+1/3),i=o(l,s,t),a=o(l,s,t-1/3)}return{r:255*n,g:255*i,b:255*a}}(t.h,h,p),d=!0,m="hsl"),t.hasOwnProperty("a")&&(l=t.a)),l=P(l),{ok:d,format:t.format||m,r:c(255,u(s.r,0)),g:c(255,u(s.g,0)),b:c(255,u(s.b,0)),a:l}}(t);this._originalInput=t,this._r=r.r,this._g=r.g,this._b=r.b,this._a=r.a,this._roundA=l(100*this._a)/100,this._format=e.format||r.format,this._gradientType=e.gradientType,this._r<1&&(this._r=l(this._r)),this._g<1&&(this._g=l(this._g)),this._b<1&&(this._b=l(this._b)),this._ok=r.ok,this._tc_id=s++}function p(t,e,r){t=z(t,255),e=z(e,255),r=z(r,255);var n,i,a=u(t,e,r),o=c(t,e,r),s=(a+o)/2;if(a==o)n=i=0;else{var l=a-o;switch(i=s>.5?l/(2-a-o):l/(a+o),a){case t:n=(e-r)/l+(e>1)+720)%360;--e;)n.h=(n.h+i)%360,a.push(f(n));return a}function C(t,e){e=e||6;for(var r=f(t).toHsv(),n=r.h,i=r.s,a=r.v,o=[],s=1/e;e--;)o.push(f({h:n,s:i,v:a})),a=(a+s)%1;return o}f.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var t=this.toRgb();return(299*t.r+587*t.g+114*t.b)/1e3},getLuminance:function(){var t,e,r,n=this.toRgb();return t=n.r/255,e=n.g/255,r=n.b/255,.2126*(t<=.03928?t/12.92:i.pow((t+.055)/1.055,2.4))+.7152*(e<=.03928?e/12.92:i.pow((e+.055)/1.055,2.4))+.0722*(r<=.03928?r/12.92:i.pow((r+.055)/1.055,2.4))},setAlpha:function(t){return this._a=P(t),this._roundA=l(100*this._a)/100,this},toHsv:function(){var t=d(this._r,this._g,this._b);return{h:360*t.h,s:t.s,v:t.v,a:this._a}},toHsvString:function(){var t=d(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.v);return 1==this._a?"hsv("+e+", "+r+"%, "+n+"%)":"hsva("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var t=p(this._r,this._g,this._b);return{h:360*t.h,s:t.s,l:t.l,a:this._a}},toHslString:function(){var t=p(this._r,this._g,this._b),e=l(360*t.h),r=l(100*t.s),n=l(100*t.l);return 1==this._a?"hsl("+e+", "+r+"%, "+n+"%)":"hsla("+e+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(t){return m(this._r,this._g,this._b,t)},toHexString:function(t){return"#"+this.toHex(t)},toHex8:function(t){return function(t,e,r,n,i){var a=[R(l(t).toString(16)),R(l(e).toString(16)),R(l(r).toString(16)),R(B(n))];return i&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")}(this._r,this._g,this._b,this._a,t)},toHex8String:function(t){return"#"+this.toHex8(t)},toRgb:function(){return{r:l(this._r),g:l(this._g),b:l(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+l(this._r)+", "+l(this._g)+", "+l(this._b)+")":"rgba("+l(this._r)+", "+l(this._g)+", "+l(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:l(100*z(this._r,255))+"%",g:l(100*z(this._g,255))+"%",b:l(100*z(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+l(100*z(this._r,255))+"%, "+l(100*z(this._g,255))+"%, "+l(100*z(this._b,255))+"%)":"rgba("+l(100*z(this._r,255))+"%, "+l(100*z(this._g,255))+"%, "+l(100*z(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(I[m(this._r,this._g,this._b,!0)]||!1)},toFilter:function(t){var e="#"+g(this._r,this._g,this._b,this._a),r=e,n=this._gradientType?"GradientType = 1, ":"";if(t){var i=f(t);r="#"+g(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+e+",endColorstr="+r+")"},toString:function(t){var e=!!t;t=t||this._format;var r=!1,n=this._a<1&&this._a>=0;return e||!n||"hex"!==t&&"hex6"!==t&&"hex3"!==t&&"hex4"!==t&&"hex8"!==t&&"name"!==t?("rgb"===t&&(r=this.toRgbString()),"prgb"===t&&(r=this.toPercentageRgbString()),"hex"!==t&&"hex6"!==t||(r=this.toHexString()),"hex3"===t&&(r=this.toHexString(!0)),"hex4"===t&&(r=this.toHex8String(!0)),"hex8"===t&&(r=this.toHex8String()),"name"===t&&(r=this.toName()),"hsl"===t&&(r=this.toHslString()),"hsv"===t&&(r=this.toHsvString()),r||this.toHexString()):"name"===t&&0===this._a?this.toName():this.toRgbString()},clone:function(){return f(this.toString())},_applyModification:function(t,e){var r=t.apply(null,[this].concat([].slice.call(e)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(_,arguments)},brighten:function(){return this._applyModification(b,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(y,arguments)},saturate:function(){return this._applyModification(v,arguments)},greyscale:function(){return this._applyModification(x,arguments)},spin:function(){return this._applyModification(T,arguments)},_applyCombination:function(t,e){return t.apply(null,[this].concat([].slice.call(e)))},analogous:function(){return this._applyCombination(E,arguments)},complement:function(){return this._applyCombination(k,arguments)},monochromatic:function(){return this._applyCombination(C,arguments)},splitcomplement:function(){return this._applyCombination(S,arguments)},triad:function(){return this._applyCombination(A,arguments)},tetrad:function(){return this._applyCombination(M,arguments)}},f.fromRatio=function(t,e){if("object"==typeof t){var r={};for(var n in t)t.hasOwnProperty(n)&&(r[n]="a"===n?t[n]:F(t[n]));t=r}return f(t,e)},f.equals=function(t,e){return!(!t||!e)&&f(t).toRgbString()==f(e).toRgbString()},f.random=function(){return f.fromRatio({r:h(),g:h(),b:h()})},f.mix=function(t,e,r){r=0===r?0:r||50;var n=f(t).toRgb(),i=f(e).toRgb(),a=r/100;return f({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},f.readability=function(t,e){var r=f(t),n=f(e);return(i.max(r.getLuminance(),n.getLuminance())+.05)/(i.min(r.getLuminance(),n.getLuminance())+.05)},f.isReadable=function(t,e,r){var n,i,a,o,s,l=f.readability(t,e);switch(i=!1,(a=r,"AA"!==(o=((a=a||{level:"AA",size:"small"}).level||"AA").toUpperCase())&&"AAA"!==o&&(o="AA"),"small"!==(s=(a.size||"small").toLowerCase())&&"large"!==s&&(s="small"),n={level:o,size:s}).level+n.size){case"AAsmall":case"AAAlarge":i=l>=4.5;break;case"AAlarge":i=l>=3;break;case"AAAsmall":i=l>=7}return i},f.mostReadable=function(t,e,r){var n,i,a,o,s=null,l=0;i=(r=r||{}).includeFallbackColors,a=r.level,o=r.size;for(var c=0;cl&&(l=n,s=f(e[c]));return f.isReadable(t,s,{level:a,size:o})||!i?s:(r.includeFallbackColors=!1,f.mostReadable(t,["#fff","#000"],r))};var L=f.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},I=f.hexNames=function(t){var e={};for(var r in t)t.hasOwnProperty(r)&&(e[t[r]]=r);return e}(L);function P(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function z(t,e){(function(t){return"string"==typeof t&&-1!=t.indexOf(".")&&1===parseFloat(t)})(t)&&(t="100%");var r=function(t){return"string"==typeof t&&-1!=t.indexOf("%")}(t);return t=c(e,u(0,parseFloat(t))),r&&(t=parseInt(t*e,10)/100),i.abs(t-e)<1e-6?1:t%e/parseFloat(e)}function O(t){return c(1,u(0,t))}function D(t){return parseInt(t,16)}function R(t){return 1==t.length?"0"+t:""+t}function F(t){return t<=1&&(t=100*t+"%"),t}function B(t){return i.round(255*parseFloat(t)).toString(16)}function N(t){return D(t)/255}var j,U,V,q=(U="[\\s|\\(]+("+(j="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",V="[\\s|\\(]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")[,|\\s]+("+j+")\\s*\\)?",{CSS_UNIT:new RegExp(j),rgb:new RegExp("rgb"+U),rgba:new RegExp("rgba"+V),hsl:new RegExp("hsl"+U),hsla:new RegExp("hsla"+V),hsv:new RegExp("hsv"+U),hsva:new RegExp("hsva"+V),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function H(t){return!!q.CSS_UNIT.exec(t)}t.exports?t.exports=f:void 0===(n=function(){return f}.call(e,r,e,t))||(t.exports=n)}(Math)},51498:function(t){"use strict";t.exports=r,t.exports.float32=t.exports.float=r,t.exports.fract32=t.exports.fract=function(t,e){if(t.length){if(t instanceof Float32Array)return new Float32Array(t.length);e instanceof Float32Array||(e=r(t));for(var n=0,i=e.length;n":(e.length>100&&(e=e.slice(0,99)+"…"),e=e.replace(i,(function(t){switch(t){case"\n":return"\\n";case"\r":return"\\r";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:throw new Error("Unexpected character")}})))}},76481:function(t,e,r){"use strict";var n=r(80299),i={object:!0,function:!0,undefined:!0};t.exports=function(t){return!!n(t)&&hasOwnProperty.call(i,typeof t)}},6887:function(t,e,r){"use strict";var n=r(99497),i=r(63461);t.exports=function(t){return i(t)?t:n(t,"%v is not a plain function",arguments[1])}},63461:function(t,e,r){"use strict";var n=r(64276),i=/^\s*class[\s{/}]/,a=Function.prototype.toString;t.exports=function(t){return!!n(t)&&!i.test(a.call(t))}},31350:function(t,e,r){"use strict";var n=r(76481);t.exports=function(t){if(!n(t))return!1;try{return!!t.constructor&&t.constructor.prototype===t}catch(t){return!1}}},58698:function(t,e,r){"use strict";var n=r(80299),i=r(76481),a=Object.prototype.toString;t.exports=function(t){if(!n(t))return null;if(i(t)){var e=t.toString;if("function"!=typeof e)return null;if(e===a)return null}try{return""+t}catch(t){return null}}},9557:function(t,e,r){"use strict";var n=r(99497),i=r(80299);t.exports=function(t){return i(t)?t:n(t,"Cannot use %v",arguments[1])}},80299:function(t){"use strict";t.exports=function(t){return null!=t}},66127:function(t,e,r){"use strict";var n=r(54689),i=r(49523),a=r(45708).Buffer;r.g.__TYPEDARRAY_POOL||(r.g.__TYPEDARRAY_POOL={UINT8:i([32,0]),UINT16:i([32,0]),UINT32:i([32,0]),BIGUINT64:i([32,0]),INT8:i([32,0]),INT16:i([32,0]),INT32:i([32,0]),BIGINT64:i([32,0]),FLOAT:i([32,0]),DOUBLE:i([32,0]),DATA:i([32,0]),UINT8C:i([32,0]),BUFFER:i([32,0])});var o="undefined"!=typeof Uint8ClampedArray,s="undefined"!=typeof BigUint64Array,l="undefined"!=typeof BigInt64Array,c=r.g.__TYPEDARRAY_POOL;c.UINT8C||(c.UINT8C=i([32,0])),c.BIGUINT64||(c.BIGUINT64=i([32,0])),c.BIGINT64||(c.BIGINT64=i([32,0])),c.BUFFER||(c.BUFFER=i([32,0]));var u=c.DATA,h=c.BUFFER;function f(t){if(t){var e=t.length||t.byteLength,r=n.log2(e);u[r].push(t)}}function p(t){t=n.nextPow2(t);var e=n.log2(t),r=u[e];return r.length>0?r.pop():new ArrayBuffer(t)}function d(t){return new Uint8Array(p(t),0,t)}function m(t){return new Uint16Array(p(2*t),0,t)}function g(t){return new Uint32Array(p(4*t),0,t)}function y(t){return new Int8Array(p(t),0,t)}function v(t){return new Int16Array(p(2*t),0,t)}function x(t){return new Int32Array(p(4*t),0,t)}function _(t){return new Float32Array(p(4*t),0,t)}function b(t){return new Float64Array(p(8*t),0,t)}function w(t){return o?new Uint8ClampedArray(p(t),0,t):d(t)}function T(t){return s?new BigUint64Array(p(8*t),0,t):null}function k(t){return l?new BigInt64Array(p(8*t),0,t):null}function A(t){return new DataView(p(t),0,t)}function M(t){t=n.nextPow2(t);var e=n.log2(t),r=h[e];return r.length>0?r.pop():new a(t)}e.free=function(t){if(a.isBuffer(t))h[n.log2(t.length)].push(t);else{if("[object ArrayBuffer]"!==Object.prototype.toString.call(t)&&(t=t.buffer),!t)return;var e=t.length||t.byteLength,r=0|n.log2(e);u[r].push(t)}},e.freeUint8=e.freeUint16=e.freeUint32=e.freeBigUint64=e.freeInt8=e.freeInt16=e.freeInt32=e.freeBigInt64=e.freeFloat32=e.freeFloat=e.freeFloat64=e.freeDouble=e.freeUint8Clamped=e.freeDataView=function(t){f(t.buffer)},e.freeArrayBuffer=f,e.freeBuffer=function(t){h[n.log2(t.length)].push(t)},e.malloc=function(t,e){if(void 0===e||"arraybuffer"===e)return p(t);switch(e){case"uint8":return d(t);case"uint16":return m(t);case"uint32":return g(t);case"int8":return y(t);case"int16":return v(t);case"int32":return x(t);case"float":case"float32":return _(t);case"double":case"float64":return b(t);case"uint8_clamped":return w(t);case"bigint64":return k(t);case"biguint64":return T(t);case"buffer":return M(t);case"data":case"dataview":return A(t);default:return null}return null},e.mallocArrayBuffer=p,e.mallocUint8=d,e.mallocUint16=m,e.mallocUint32=g,e.mallocInt8=y,e.mallocInt16=v,e.mallocInt32=x,e.mallocFloat32=e.mallocFloat=_,e.mallocFloat64=e.mallocDouble=b,e.mallocUint8Clamped=w,e.mallocBigUint64=T,e.mallocBigInt64=k,e.mallocDataView=A,e.mallocBuffer=M,e.clearCache=function(){for(var t=0;t<32;++t)c.UINT8[t].length=0,c.UINT16[t].length=0,c.UINT32[t].length=0,c.INT8[t].length=0,c.INT16[t].length=0,c.INT32[t].length=0,c.FLOAT[t].length=0,c.DOUBLE[t].length=0,c.BIGUINT64[t].length=0,c.BIGINT64[t].length=0,c.UINT8C[t].length=0,u[t].length=0,h[t].length=0}},80886:function(t){var e=/[\'\"]/;t.exports=function(t){return t?(e.test(t.charAt(0))&&(t=t.substr(1)),e.test(t.charAt(t.length-1))&&(t=t.substr(0,t.length-1)),t):""}},79788:function(t){"use strict";t.exports=function(t,e,r){Array.isArray(r)||(r=[].slice.call(arguments,2));for(var n=0,i=r.length;n=i)return t;switch(t){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return t}})),s=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),g(r)?n.showHidden=r:r&&e._extend(n,r),_(n.showHidden)&&(n.showHidden=!1),_(n.depth)&&(n.depth=2),_(n.colors)&&(n.colors=!1),_(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=u),f(n,t,n.depth)}function u(t,e){var r=c.styles[e];return r?"["+c.colors[r][0]+"m"+t+"["+c.colors[r][1]+"m":t}function h(t,e){return t}function f(t,r,n){if(t.customInspect&&r&&A(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(n,t);return x(i)||(i=f(t,i,n)),i}var a=function(t,e){if(_(e))return t.stylize("undefined","undefined");if(x(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}return v(e)?t.stylize(""+e,"number"):g(e)?t.stylize(""+e,"boolean"):y(e)?t.stylize("null","null"):void 0}(t,r);if(a)return a;var o=Object.keys(r),s=function(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}(o);if(t.showHidden&&(o=Object.getOwnPropertyNames(r)),k(r)&&(o.indexOf("message")>=0||o.indexOf("description")>=0))return p(r);if(0===o.length){if(A(r)){var l=r.name?": "+r.name:"";return t.stylize("[Function"+l+"]","special")}if(b(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(T(r))return t.stylize(Date.prototype.toString.call(r),"date");if(k(r))return p(r)}var c,u="",h=!1,w=["{","}"];return m(r)&&(h=!0,w=["[","]"]),A(r)&&(u=" [Function"+(r.name?": "+r.name:"")+"]"),b(r)&&(u=" "+RegExp.prototype.toString.call(r)),T(r)&&(u=" "+Date.prototype.toUTCString.call(r)),k(r)&&(u=" "+p(r)),0!==o.length||h&&0!=r.length?n<0?b(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),c=h?function(t,e,r,n,i){for(var a=[],o=0,s=e.length;o60?r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}(c,u,w)):w[0]+u+w[1]}function p(t){return"["+Error.prototype.toString.call(t)+"]"}function d(t,e,r,n,i,a){var o,s,l;if((l=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]}).get?s=l.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):l.set&&(s=t.stylize("[Setter]","special")),C(n,i)||(o="["+i+"]"),s||(t.seen.indexOf(l.value)<0?(s=y(r)?f(t,l.value,null):f(t,l.value,r-1)).indexOf("\n")>-1&&(s=a?s.split("\n").map((function(t){return" "+t})).join("\n").slice(2):"\n"+s.split("\n").map((function(t){return" "+t})).join("\n")):s=t.stylize("[Circular]","special")),_(o)){if(a&&i.match(/^\d+$/))return s;(o=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(o=o.slice(1,-1),o=t.stylize(o,"name")):(o=o.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),o=t.stylize(o,"string"))}return o+": "+s}function m(t){return Array.isArray(t)}function g(t){return"boolean"==typeof t}function y(t){return null===t}function v(t){return"number"==typeof t}function x(t){return"string"==typeof t}function _(t){return void 0===t}function b(t){return w(t)&&"[object RegExp]"===M(t)}function w(t){return"object"==typeof t&&null!==t}function T(t){return w(t)&&"[object Date]"===M(t)}function k(t){return w(t)&&("[object Error]"===M(t)||t instanceof Error)}function A(t){return"function"==typeof t}function M(t){return Object.prototype.toString.call(t)}function S(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(t){if(t=t.toUpperCase(),!o[t])if(s.test(t)){var r=n.pid;o[t]=function(){var n=e.format.apply(e,arguments);console.error("%s %d: %s",t,r,n)}}else o[t]=function(){};return o[t]},e.inspect=c,c.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},c.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.types=r(15724),e.isArray=m,e.isBoolean=g,e.isNull=y,e.isNullOrUndefined=function(t){return null==t},e.isNumber=v,e.isString=x,e.isSymbol=function(t){return"symbol"==typeof t},e.isUndefined=_,e.isRegExp=b,e.types.isRegExp=b,e.isObject=w,e.isDate=T,e.types.isDate=T,e.isError=k,e.types.isNativeError=k,e.isFunction=A,e.isPrimitive=function(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||void 0===t},e.isBuffer=r(44123);var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function C(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){var t,r;console.log("%s - %s",(r=[S((t=new Date).getHours()),S(t.getMinutes()),S(t.getSeconds())].join(":"),[t.getDate(),E[t.getMonth()],r].join(" ")),e.format.apply(e,arguments))},e.inherits=r(28062),e._extend=function(t,e){if(!e||!w(e))return t;for(var r=Object.keys(e),n=r.length;n--;)t[r[n]]=e[r[n]];return t};var L="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function I(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}e.promisify=function(t){if("function"!=typeof t)throw new TypeError('The "original" argument must be of type Function');if(L&&t[L]){var e;if("function"!=typeof(e=t[L]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(e,L,{value:e,enumerable:!1,writable:!1,configurable:!0}),e}function e(){for(var e,r,n=new Promise((function(t,n){e=t,r=n})),i=[],a=0;a-1?e:"Object"===e&&function(t){var e=!1;return n(m,(function(r,n){if(!e)try{r(t),e=f(n,1)}catch(t){}})),e}(t)}return s?function(t){var e=!1;return n(m,(function(r,n){if(!e)try{"$"+r(t)===n&&(e=f(n,1))}catch(t){}})),e}(t):null}},1401:function(t,e,r){var n=r(24453),i=r(27976),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Chinese",jdEpoch:1721425.5,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(t,e){if("string"==typeof t){var r=t.match(l);return r?r[0]:""}var n=this._validateYear(t),i=t.month(),a=""+this.toChineseMonth(n,i);return e&&a.length<2&&(a="0"+a),this.isIntercalaryMonth(n,i)&&(a+="i"),a},monthNames:function(t){if("string"==typeof t){var e=t.match(c);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},monthNamesShort:function(t){if("string"==typeof t){var e=t.match(u);return e?e[0]:""}var r=this._validateYear(t),n=t.month(),i=["一","二","三","四","五","六","七","八","九","十","十一","十二"][this.toChineseMonth(r,n)-1];return this.isIntercalaryMonth(r,n)&&(i="闰"+i),i},parseMonth:function(t,e){t=this._validateYear(t);var r,n=parseInt(e);if(isNaN(n))"闰"===e[0]&&(r=!0,e=e.substring(1)),"月"===e[e.length-1]&&(e=e.substring(0,e.length-1)),n=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(e);else{var i=e[e.length-1];r="i"===i||"I"===i}return this.toMonthIndex(t,n,r)},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(t,e){if(t.year&&(t=t.year()),"number"!=typeof t||t<1888||t>2111)throw e.replace(/\{0\}/,this.local.name);return t},toMonthIndex:function(t,e,r){var i=this.intercalaryMonth(t);if(r&&e!==i||e<1||e>12)throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return i?!r&&e<=i?e-1:e:e-1},toChineseMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);if(e<0||e>(r?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r?e>13},isIntercalaryMonth:function(t,e){t.year&&(e=(t=t.year()).month());var r=this.intercalaryMonth(t);return!!r&&r===e},leapYear:function(t){return 0!==this.intercalaryMonth(t)},weekOfYear:function(t,e,r){var i,o=this._validateYear(t,n.local.invalidyear),s=f[o-f[0]],l=s>>9&4095,c=s>>5&15,u=31&s;(i=a.newDate(l,c,u)).add(4-(i.dayOfWeek()||7),"d");var h=this.toJD(t,e,r)-i.toJD();return 1+Math.floor(h/7)},monthsInYear:function(t){return this.leapYear(t)?13:12},daysInMonth:function(t,e){t.year&&(e=t.month(),t=t.year()),t=this._validateYear(t);var r=h[t-h[0]];if(e>(r>>13?12:11))throw n.local.invalidMonth.replace(/\{0\}/,this.local.name);return r&1<<12-e?30:29},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,s,r,n.local.invalidDate);t=this._validateYear(i.year()),e=i.month(),r=i.day();var o=this.isIntercalaryMonth(t,e),s=this.toChineseMonth(t,e),l=function(t,e,r,n,i){var a,o,s;if("object"==typeof t)o=t,a=e||{};else{var l;if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Lunar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Lunar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=30))throw new Error("Lunar day outside range 1 - 30");"object"==typeof n?(l=!1,a=n):(l=!!n,a={}),o={year:t,month:e,day:r,isIntercalary:l}}s=o.day-1;var c,u=h[o.year-h[0]],p=u>>13;c=p&&(o.month>p||o.isIntercalary)?o.month:o.month-1;for(var d=0;d>9&4095,(m>>5&15)-1,(31&m)+s);return a.year=g.getFullYear(),a.month=1+g.getMonth(),a.day=g.getDate(),a}(t,s,r,o);return a.toJD(l.year,l.month,l.day)},fromJD:function(t){var e=a.fromJD(t),r=function(t,e,r,n){var i,a;if("object"==typeof t)i=t,a=e||{};else{if(!("number"==typeof t&&t>=1888&&t<=2111))throw new Error("Solar year outside range 1888-2111");if(!("number"==typeof e&&e>=1&&e<=12))throw new Error("Solar month outside range 1 - 12");if(!("number"==typeof r&&r>=1&&r<=31))throw new Error("Solar day outside range 1 - 31");i={year:t,month:e,day:r},a={}}var o=f[i.year-f[0]],s=i.year<<9|i.month<<5|i.day;a.year=s>=o?i.year:i.year-1,o=f[a.year-f[0]];var l,c=new Date(o>>9&4095,(o>>5&15)-1,31&o),u=new Date(i.year,i.month-1,i.day);l=Math.round((u-c)/864e5);var p,d=h[a.year-h[0]];for(p=0;p<13;p++){var m=d&1<<12-p?30:29;if(l>13;return!g||p=2&&n<=6},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{century:o[Math.floor((i.year()-1)/100)+1]||""}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year()+(i.year()<0?1:0),e=i.month(),(r=i.day())+(e>1?16:0)+(e>2?32*(e-2):0)+400*(t-1)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t+.5)-Math.floor(this.jdEpoch)-1;var e=Math.floor(t/400)+1;t-=400*(e-1),t+=t>15?16:0;var r=Math.floor(t/32)+1,n=t-32*(r-1)+1;return this.newDate(e<=0?e-1:e,r,n)}});var o={20:"Fruitbat",21:"Anchovy"};n.calendars.discworld=a},81133:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Ethiopian",jdEpoch:1724220.5,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()+(e.year()<0?1:0))%4==3||t%4==-1},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear),13},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(13===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return(t=i.year())<0&&t++,i.day()+30*(i.month()-1)+365*(t-1)+Math.floor(t/4)+this.jdEpoch-1},fromJD:function(t){var e=Math.floor(t)+.5-this.jdEpoch,r=Math.floor((e-Math.floor((e+366)/1461))/365)+1;r<=0&&r--,e=Math.floor(t)+.5-this.newDate(r,1,1).toJD();var n=Math.floor(e/30)+1,i=e-30*(n-1)+1;return this.newDate(r,n,i)}}),n.calendars.ethiopian=a},78295:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return this._leapYear(e.year())},_leapYear:function(t){return o(7*(t=t<0?t+1:t)+1,19)<7},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),this._leapYear(t.year?t.year():t)?13:12},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),this.toJD(-1===t?1:t+1,7,1)-this.toJD(t,7,1)},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),12===e&&this.leapYear(t)||8===e&&5===o(this.daysInYear(t),10)?30:9===e&&3===o(this.daysInYear(t),10)?29:this.daysPerMonth[e-1]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return{yearType:(this.leapYear(i)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(i)%10-3]}},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t<=0?t+1:t,o=this.jdEpoch+this._delay1(a)+this._delay2(a)+r+1;if(e<7){for(var s=7;s<=this.monthsInYear(t);s++)o+=this.daysInMonth(t,s);for(s=1;s=this.toJD(-1===e?1:e+1,7,1);)e++;for(var r=tthis.toJD(e,r,this.daysInMonth(e,r));)r++;var n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.hebrew=a},25512:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Islamic",jdEpoch:1948439.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-khamīs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(t){return(11*this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year()+14)%30<11},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){return this.leapYear(t)?355:354},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),t=t<=0?t+1:t,(r=i.day())+Math.ceil(29.5*(e-1))+354*(t-1)+Math.floor((3+11*t)/30)+this.jdEpoch-1},fromJD:function(t){t=Math.floor(t)+.5;var e=Math.floor((30*(t-this.jdEpoch)+10646)/10631);e=e<=0?e-1:e;var r=Math.min(12,Math.ceil((t-29-this.toJD(e,1,1))/29.5)+1),n=t-this.toJD(e,r,1)+1;return this.newDate(e,r,n)}}),n.calendars.islamic=a},42645:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Julian",jdEpoch:1721423.5,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return(t=e.year()<0?e.year()+1:e.year())%4==0},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(4-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=i.year(),e=i.month(),r=i.day(),t<0&&t++,e<=2&&(t--,e+=12),Math.floor(365.25*(t+4716))+Math.floor(30.6001*(e+1))+r-1524.5},fromJD:function(t){var e=Math.floor(t+.5)+1524,r=Math.floor((e-122.1)/365.25),n=Math.floor(365.25*r),i=Math.floor((e-n)/30.6001),a=i-Math.floor(i<14?1:13),o=r-Math.floor(a>2?4716:4715),s=e-n-Math.floor(30.6001*i);return o<=0&&o--,this.newDate(o,a,s)}}),n.calendars.julian=a},62324:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}function o(t,e){return t-e*Math.floor(t/e)}function s(t,e){return o(t-1,e)+1}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),!1},formatYear:function(t){t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year();var e=Math.floor(t/400);return t%=400,t+=t<0?400:0,e+"."+Math.floor(t/20)+"."+t%20},forYear:function(t){if((t=t.split(".")).length<3)throw"Invalid Mayan year";for(var e=0,r=0;r19||r>0&&n<0)throw"Invalid Mayan year";e=20*e+n}return e},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),18},weekOfYear:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),0},daysInYear:function(t){return this._validate(t,this.minMonth,this.minDay,n.local.invalidYear),360},daysInMonth:function(t,e){return this._validate(t,e,this.minDay,n.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate).day()},weekDay:function(t,e,r){return this._validate(t,e,r,n.local.invalidDate),!0},extraInfo:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate).toJD(),a=this._toHaab(i),o=this._toTzolkin(i);return{haabMonthName:this.local.haabMonths[a[0]-1],haabMonth:a[0],haabDay:a[1],tzolkinDayName:this.local.tzolkinMonths[o[0]-1],tzolkinDay:o[0],tzolkinTrecena:o[1]}},_toHaab:function(t){var e=o(8+(t-=this.jdEpoch)+340,365);return[Math.floor(e/20)+1,o(e,20)]},_toTzolkin:function(t){return[s(20+(t-=this.jdEpoch),20),s(t+4,13)]},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return i.day()+20*i.month()+360*i.year()+this.jdEpoch},fromJD:function(t){t=Math.floor(t)+.5-this.jdEpoch;var e=Math.floor(t/360);t%=360,t+=t<0?360:0;var r=Math.floor(t/20),n=t%20;return this.newDate(e,r,n)}}),n.calendars.mayan=a},91662:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar;var o=n.instance("gregorian");i(a.prototype,{name:"Nanakshahi",jdEpoch:2257673.5,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear||n.regionalOptions[""].invalidYear);return o.leapYear(e.year()+(e.year()<1?1:0)+1469)},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(1-(n.dayOfWeek()||7),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidMonth);(t=i.year())<0&&t++;for(var a=i.day(),s=1;s=this.toJD(e+1,1,1);)e++;for(var r=t-Math.floor(this.toJD(e,1,1)+.5)+1,n=1;r>this.daysInMonth(e,n);)r-=this.daysInMonth(e,n),n++;return this.newDate(e,n,r)}}),n.calendars.nanakshahi=a},66445:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"Nepali",jdEpoch:1700709.5,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(t){return this.daysInYear(t)!==this.daysPerYear},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){if(t=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear).year(),void 0===this.NEPALI_CALENDAR_DATA[t])return this.daysPerYear;for(var e=0,r=this.minMonth;r<=12;r++)e+=this.NEPALI_CALENDAR_DATA[t][r];return e},daysInMonth:function(t,e){return t.year&&(e=t.month(),t=t.year()),this._validate(t,e,this.minDay,n.local.invalidMonth),void 0===this.NEPALI_CALENDAR_DATA[t]?this.daysPerMonth[e-1]:this.NEPALI_CALENDAR_DATA[t][e]},weekDay:function(t,e,r){return 6!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=n.instance(),o=0,s=e,l=t;this._createMissingCalendarData(t);var c=t-(s>9||9===s&&r>=this.NEPALI_CALENDAR_DATA[l][0]?56:57);for(9!==e&&(o=r,s--);9!==s;)s<=0&&(s=12,l--),o+=this.NEPALI_CALENDAR_DATA[l][s],s--;return 9===e?(o+=r-this.NEPALI_CALENDAR_DATA[l][0])<0&&(o+=a.daysInYear(c)):o+=this.NEPALI_CALENDAR_DATA[l][9]-this.NEPALI_CALENDAR_DATA[l][0],a.newDate(c,1,1).add(o,"d").toJD()},fromJD:function(t){var e=n.instance().fromJD(t),r=e.year(),i=e.dayOfYear(),a=r+56;this._createMissingCalendarData(a);for(var o=9,s=this.NEPALI_CALENDAR_DATA[a][0],l=this.NEPALI_CALENDAR_DATA[a][o]-s+1;i>l;)++o>12&&(o=1,a++),l+=this.NEPALI_CALENDAR_DATA[a][o];var c=this.NEPALI_CALENDAR_DATA[a][o]-(l-i);return this.newDate(a,o,c)},_createMissingCalendarData:function(t){var e=this.daysPerMonth.slice(0);e.unshift(17);for(var r=t-1;r0?474:473))%2820+474+38)%2816<682},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-(n.dayOfWeek()+1)%7,"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(12===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);t=i.year(),e=i.month(),r=i.day();var a=t-(t>=0?474:473),s=474+o(a,2820);return r+(e<=7?31*(e-1):30*(e-1)+6)+Math.floor((682*s-110)/2816)+365*(s-1)+1029983*Math.floor(a/2820)+this.jdEpoch-1},fromJD:function(t){var e=(t=Math.floor(t)+.5)-this.toJD(475,1,1),r=Math.floor(e/1029983),n=o(e,1029983),i=2820;if(1029982!==n){var a=Math.floor(n/366),s=o(n,366);i=Math.floor((2134*a+2816*s+2815)/1028522)+a+1}var l=i+2820*r+474;l=l<=0?l-1:l;var c=t-this.toJD(l,1,1)+1,u=c<=186?Math.ceil(c/31):Math.ceil((c-6)/30),h=t-this.toJD(l,u,1)+1;return this.newDate(l,u,h)}}),n.calendars.persian=a,n.calendars.jalali=a},84756:function(t,e,r){var n=r(24453),i=r(27976),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Taiwan",jdEpoch:2419402.5,yearsOffset:1911,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Taiwan",epochs:["BROC","ROC"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)},_g2tYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)}}),n.calendars.taiwan=o},41858:function(t,e,r){var n=r(24453),i=r(27976),a=n.instance();function o(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}o.prototype=new n.baseCalendar,i(o.prototype,{name:"Thai",jdEpoch:1523098.5,yearsOffset:543,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Thai",epochs:["BBE","BE"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(e.year()),a.leapYear(t)},weekOfYear:function(t,e,r){var i=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return t=this._t2gYear(i.year()),a.weekOfYear(t,i.month(),i.day())},daysInMonth:function(t,e){var r=this._validate(t,e,this.minDay,n.local.invalidMonth);return this.daysPerMonth[r.month()-1]+(2===r.month()&&this.leapYear(r.year())?1:0)},weekDay:function(t,e,r){return(this.dayOfWeek(t,e,r)||7)<6},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate);return t=this._t2gYear(i.year()),a.toJD(t,i.month(),i.day())},fromJD:function(t){var e=a.fromJD(t),r=this._g2tYear(e.year());return this.newDate(r,e.month(),e.day())},_t2gYear:function(t){return t-this.yearsOffset-(t>=1&&t<=this.yearsOffset?1:0)},_g2tYear:function(t){return t+this.yearsOffset+(t>=-this.yearsOffset&&t<=-1?1:0)}}),n.calendars.thai=o},57985:function(t,e,r){var n=r(24453),i=r(27976);function a(t){this.local=this.regionalOptions[t||""]||this.regionalOptions[""]}a.prototype=new n.baseCalendar,i(a.prototype,{name:"UmmAlQura",hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Umm al-Qura",epochs:["BH","AH"],monthNames:["Al-Muharram","Safar","Rabi' al-awwal","Rabi' Al-Thani","Jumada Al-Awwal","Jumada Al-Thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-Ahad","Yawm al-Ithnain","Yawm al-Thalāthā’","Yawm al-Arba‘ā’","Yawm al-Khamīs","Yawm al-Jum‘a","Yawm al-Sabt"],dayNamesMin:["Ah","Ith","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!0}},leapYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,n.local.invalidYear);return 355===this.daysInYear(e.year())},weekOfYear:function(t,e,r){var n=this.newDate(t,e,r);return n.add(-n.dayOfWeek(),"d"),Math.floor((n.dayOfYear()-1)/7)+1},daysInYear:function(t){for(var e=0,r=1;r<=12;r++)e+=this.daysInMonth(t,r);return e},daysInMonth:function(t,e){for(var r=this._validate(t,e,this.minDay,n.local.invalidMonth).toJD()-24e5+.5,i=0,a=0;ar)return o[i]-o[i-1];i++}return 30},weekDay:function(t,e,r){return 5!==this.dayOfWeek(t,e,r)},toJD:function(t,e,r){var i=this._validate(t,e,r,n.local.invalidDate),a=12*(i.year()-1)+i.month()-15292;return i.day()+o[a-1]-1+24e5-.5},fromJD:function(t){for(var e=t-24e5+.5,r=0,n=0;ne);n++)r++;var i=r+15292,a=Math.floor((i-1)/12),s=a+1,l=i-12*a,c=e-o[r-1]+1;return this.newDate(s,l,c)},isValid:function(t,e,r){var i=n.baseCalendar.prototype.isValid.apply(this,arguments);return i&&(i=(t=null!=t.year?t.year:t)>=1276&&t<=1500),i},_validate:function(t,e,r,i){var a=n.baseCalendar.prototype._validate.apply(this,arguments);if(a.year<1276||a.year>1500)throw i.replace(/\{0\}/,this.local.name);return a}}),n.calendars.ummalqura=a;var o=[20,50,79,109,138,168,197,227,256,286,315,345,374,404,433,463,492,522,551,581,611,641,670,700,729,759,788,818,847,877,906,936,965,995,1024,1054,1083,1113,1142,1172,1201,1231,1260,1290,1320,1350,1379,1409,1438,1468,1497,1527,1556,1586,1615,1645,1674,1704,1733,1763,1792,1822,1851,1881,1910,1940,1969,1999,2028,2058,2087,2117,2146,2176,2205,2235,2264,2294,2323,2353,2383,2413,2442,2472,2501,2531,2560,2590,2619,2649,2678,2708,2737,2767,2796,2826,2855,2885,2914,2944,2973,3003,3032,3062,3091,3121,3150,3180,3209,3239,3268,3298,3327,3357,3386,3416,3446,3476,3505,3535,3564,3594,3623,3653,3682,3712,3741,3771,3800,3830,3859,3889,3918,3948,3977,4007,4036,4066,4095,4125,4155,4185,4214,4244,4273,4303,4332,4362,4391,4421,4450,4480,4509,4539,4568,4598,4627,4657,4686,4716,4745,4775,4804,4834,4863,4893,4922,4952,4981,5011,5040,5070,5099,5129,5158,5188,5218,5248,5277,5307,5336,5366,5395,5425,5454,5484,5513,5543,5572,5602,5631,5661,5690,5720,5749,5779,5808,5838,5867,5897,5926,5956,5985,6015,6044,6074,6103,6133,6162,6192,6221,6251,6281,6311,6340,6370,6399,6429,6458,6488,6517,6547,6576,6606,6635,6665,6694,6724,6753,6783,6812,6842,6871,6901,6930,6960,6989,7019,7048,7078,7107,7137,7166,7196,7225,7255,7284,7314,7344,7374,7403,7433,7462,7492,7521,7551,7580,7610,7639,7669,7698,7728,7757,7787,7816,7846,7875,7905,7934,7964,7993,8023,8053,8083,8112,8142,8171,8201,8230,8260,8289,8319,8348,8378,8407,8437,8466,8496,8525,8555,8584,8614,8643,8673,8702,8732,8761,8791,8821,8850,8880,8909,8938,8968,8997,9027,9056,9086,9115,9145,9175,9205,9234,9264,9293,9322,9352,9381,9410,9440,9470,9499,9529,9559,9589,9618,9648,9677,9706,9736,9765,9794,9824,9853,9883,9913,9943,9972,10002,10032,10061,10090,10120,10149,10178,10208,10237,10267,10297,10326,10356,10386,10415,10445,10474,10504,10533,10562,10592,10621,10651,10680,10710,10740,10770,10799,10829,10858,10888,10917,10947,10976,11005,11035,11064,11094,11124,11153,11183,11213,11242,11272,11301,11331,11360,11389,11419,11448,11478,11507,11537,11567,11596,11626,11655,11685,11715,11744,11774,11803,11832,11862,11891,11921,11950,11980,12010,12039,12069,12099,12128,12158,12187,12216,12246,12275,12304,12334,12364,12393,12423,12453,12483,12512,12542,12571,12600,12630,12659,12688,12718,12747,12777,12807,12837,12866,12896,12926,12955,12984,13014,13043,13072,13102,13131,13161,13191,13220,13250,13280,13310,13339,13368,13398,13427,13456,13486,13515,13545,13574,13604,13634,13664,13693,13723,13752,13782,13811,13840,13870,13899,13929,13958,13988,14018,14047,14077,14107,14136,14166,14195,14224,14254,14283,14313,14342,14372,14401,14431,14461,14490,14520,14550,14579,14609,14638,14667,14697,14726,14756,14785,14815,14844,14874,14904,14933,14963,14993,15021,15051,15081,15110,15140,15169,15199,15228,15258,15287,15317,15347,15377,15406,15436,15465,15494,15524,15553,15582,15612,15641,15671,15701,15731,15760,15790,15820,15849,15878,15908,15937,15966,15996,16025,16055,16085,16114,16144,16174,16204,16233,16262,16292,16321,16350,16380,16409,16439,16468,16498,16528,16558,16587,16617,16646,16676,16705,16734,16764,16793,16823,16852,16882,16912,16941,16971,17001,17030,17060,17089,17118,17148,17177,17207,17236,17266,17295,17325,17355,17384,17414,17444,17473,17502,17532,17561,17591,17620,17650,17679,17709,17738,17768,17798,17827,17857,17886,17916,17945,17975,18004,18034,18063,18093,18122,18152,18181,18211,18241,18270,18300,18330,18359,18388,18418,18447,18476,18506,18535,18565,18595,18625,18654,18684,18714,18743,18772,18802,18831,18860,18890,18919,18949,18979,19008,19038,19068,19098,19127,19156,19186,19215,19244,19274,19303,19333,19362,19392,19422,19452,19481,19511,19540,19570,19599,19628,19658,19687,19717,19746,19776,19806,19836,19865,19895,19924,19954,19983,20012,20042,20071,20101,20130,20160,20190,20219,20249,20279,20308,20338,20367,20396,20426,20455,20485,20514,20544,20573,20603,20633,20662,20692,20721,20751,20780,20810,20839,20869,20898,20928,20957,20987,21016,21046,21076,21105,21135,21164,21194,21223,21253,21282,21312,21341,21371,21400,21430,21459,21489,21519,21548,21578,21607,21637,21666,21696,21725,21754,21784,21813,21843,21873,21902,21932,21962,21991,22021,22050,22080,22109,22138,22168,22197,22227,22256,22286,22316,22346,22375,22405,22434,22464,22493,22522,22552,22581,22611,22640,22670,22700,22730,22759,22789,22818,22848,22877,22906,22936,22965,22994,23024,23054,23083,23113,23143,23173,23202,23232,23261,23290,23320,23349,23379,23408,23438,23467,23497,23527,23556,23586,23616,23645,23674,23704,23733,23763,23792,23822,23851,23881,23910,23940,23970,23999,24029,24058,24088,24117,24147,24176,24206,24235,24265,24294,24324,24353,24383,24413,24442,24472,24501,24531,24560,24590,24619,24648,24678,24707,24737,24767,24796,24826,24856,24885,24915,24944,24974,25003,25032,25062,25091,25121,25150,25180,25210,25240,25269,25299,25328,25358,25387,25416,25446,25475,25505,25534,25564,25594,25624,25653,25683,25712,25742,25771,25800,25830,25859,25888,25918,25948,25977,26007,26037,26067,26096,26126,26155,26184,26214,26243,26272,26302,26332,26361,26391,26421,26451,26480,26510,26539,26568,26598,26627,26656,26686,26715,26745,26775,26805,26834,26864,26893,26923,26952,26982,27011,27041,27070,27099,27129,27159,27188,27218,27248,27277,27307,27336,27366,27395,27425,27454,27484,27513,27542,27572,27602,27631,27661,27691,27720,27750,27779,27809,27838,27868,27897,27926,27956,27985,28015,28045,28074,28104,28134,28163,28193,28222,28252,28281,28310,28340,28369,28399,28428,28458,28488,28517,28547,28577,28607,28636,28665,28695,28724,28754,28783,28813,28843,28872,28901,28931,28960,28990,29019,29049,29078,29108,29137,29167,29196,29226,29255,29285,29315,29345,29375,29404,29434,29463,29492,29522,29551,29580,29610,29640,29669,29699,29729,29759,29788,29818,29847,29876,29906,29935,29964,29994,30023,30053,30082,30112,30141,30171,30200,30230,30259,30289,30318,30348,30378,30408,30437,30467,30496,30526,30555,30585,30614,30644,30673,30703,30732,30762,30791,30821,30850,30880,30909,30939,30968,30998,31027,31057,31086,31116,31145,31175,31204,31234,31263,31293,31322,31352,31381,31411,31441,31471,31500,31530,31559,31589,31618,31648,31676,31706,31736,31766,31795,31825,31854,31884,31913,31943,31972,32002,32031,32061,32090,32120,32150,32180,32209,32239,32268,32298,32327,32357,32386,32416,32445,32475,32504,32534,32563,32593,32622,32652,32681,32711,32740,32770,32799,32829,32858,32888,32917,32947,32976,33006,33035,33065,33094,33124,33153,33183,33213,33243,33272,33302,33331,33361,33390,33420,33450,33479,33509,33539,33568,33598,33627,33657,33686,33716,33745,33775,33804,33834,33863,33893,33922,33952,33981,34011,34040,34069,34099,34128,34158,34187,34217,34247,34277,34306,34336,34365,34395,34424,34454,34483,34512,34542,34571,34601,34631,34660,34690,34719,34749,34778,34808,34837,34867,34896,34926,34955,34985,35015,35044,35074,35103,35133,35162,35192,35222,35251,35280,35310,35340,35370,35399,35429,35458,35488,35517,35547,35576,35605,35635,35665,35694,35723,35753,35782,35811,35841,35871,35901,35930,35960,35989,36019,36048,36078,36107,36136,36166,36195,36225,36254,36284,36314,36343,36373,36403,36433,36462,36492,36521,36551,36580,36610,36639,36669,36698,36728,36757,36786,36816,36845,36875,36904,36934,36963,36993,37022,37052,37081,37111,37141,37170,37200,37229,37259,37288,37318,37347,37377,37406,37436,37465,37495,37524,37554,37584,37613,37643,37672,37701,37731,37760,37790,37819,37849,37878,37908,37938,37967,37997,38027,38056,38085,38115,38144,38174,38203,38233,38262,38292,38322,38351,38381,38410,38440,38469,38499,38528,38558,38587,38617,38646,38676,38705,38735,38764,38794,38823,38853,38882,38912,38941,38971,39001,39030,39059,39089,39118,39148,39178,39208,39237,39267,39297,39326,39355,39385,39414,39444,39473,39503,39532,39562,39592,39621,39650,39680,39709,39739,39768,39798,39827,39857,39886,39916,39946,39975,40005,40035,40064,40094,40123,40153,40182,40212,40241,40271,40300,40330,40359,40389,40418,40448,40477,40507,40536,40566,40595,40625,40655,40685,40714,40744,40773,40803,40832,40862,40892,40921,40951,40980,41009,41039,41068,41098,41127,41157,41186,41216,41245,41275,41304,41334,41364,41393,41422,41452,41481,41511,41540,41570,41599,41629,41658,41688,41718,41748,41777,41807,41836,41865,41894,41924,41953,41983,42012,42042,42072,42102,42131,42161,42190,42220,42249,42279,42308,42337,42367,42397,42426,42456,42485,42515,42545,42574,42604,42633,42662,42692,42721,42751,42780,42810,42839,42869,42899,42929,42958,42988,43017,43046,43076,43105,43135,43164,43194,43223,43253,43283,43312,43342,43371,43401,43430,43460,43489,43519,43548,43578,43607,43637,43666,43696,43726,43755,43785,43814,43844,43873,43903,43932,43962,43991,44021,44050,44080,44109,44139,44169,44198,44228,44258,44287,44317,44346,44375,44405,44434,44464,44493,44523,44553,44582,44612,44641,44671,44700,44730,44759,44788,44818,44847,44877,44906,44936,44966,44996,45025,45055,45084,45114,45143,45172,45202,45231,45261,45290,45320,45350,45380,45409,45439,45468,45498,45527,45556,45586,45615,45644,45674,45704,45733,45763,45793,45823,45852,45882,45911,45940,45970,45999,46028,46058,46088,46117,46147,46177,46206,46236,46265,46295,46324,46354,46383,46413,46442,46472,46501,46531,46560,46590,46620,46649,46679,46708,46738,46767,46797,46826,46856,46885,46915,46944,46974,47003,47033,47063,47092,47122,47151,47181,47210,47240,47269,47298,47328,47357,47387,47417,47446,47476,47506,47535,47565,47594,47624,47653,47682,47712,47741,47771,47800,47830,47860,47890,47919,47949,47978,48008,48037,48066,48096,48125,48155,48184,48214,48244,48273,48303,48333,48362,48392,48421,48450,48480,48509,48538,48568,48598,48627,48657,48687,48717,48746,48776,48805,48834,48864,48893,48922,48952,48982,49011,49041,49071,49100,49130,49160,49189,49218,49248,49277,49306,49336,49365,49395,49425,49455,49484,49514,49543,49573,49602,49632,49661,49690,49720,49749,49779,49809,49838,49868,49898,49927,49957,49986,50016,50045,50075,50104,50133,50163,50192,50222,50252,50281,50311,50340,50370,50400,50429,50459,50488,50518,50547,50576,50606,50635,50665,50694,50724,50754,50784,50813,50843,50872,50902,50931,50960,50990,51019,51049,51078,51108,51138,51167,51197,51227,51256,51286,51315,51345,51374,51403,51433,51462,51492,51522,51552,51582,51611,51641,51670,51699,51729,51758,51787,51816,51846,51876,51906,51936,51965,51995,52025,52054,52083,52113,52142,52171,52200,52230,52260,52290,52319,52349,52379,52408,52438,52467,52497,52526,52555,52585,52614,52644,52673,52703,52733,52762,52792,52822,52851,52881,52910,52939,52969,52998,53028,53057,53087,53116,53146,53176,53205,53235,53264,53294,53324,53353,53383,53412,53441,53471,53500,53530,53559,53589,53619,53648,53678,53708,53737,53767,53796,53825,53855,53884,53913,53943,53973,54003,54032,54062,54092,54121,54151,54180,54209,54239,54268,54297,54327,54357,54387,54416,54446,54476,54505,54535,54564,54593,54623,54652,54681,54711,54741,54770,54800,54830,54859,54889,54919,54948,54977,55007,55036,55066,55095,55125,55154,55184,55213,55243,55273,55302,55332,55361,55391,55420,55450,55479,55508,55538,55567,55597,55627,55657,55686,55716,55745,55775,55804,55834,55863,55892,55922,55951,55981,56011,56040,56070,56100,56129,56159,56188,56218,56247,56276,56306,56335,56365,56394,56424,56454,56483,56513,56543,56572,56601,56631,56660,56690,56719,56749,56778,56808,56837,56867,56897,56926,56956,56985,57015,57044,57074,57103,57133,57162,57192,57221,57251,57280,57310,57340,57369,57399,57429,57458,57487,57517,57546,57576,57605,57634,57664,57694,57723,57753,57783,57813,57842,57871,57901,57930,57959,57989,58018,58048,58077,58107,58137,58167,58196,58226,58255,58285,58314,58343,58373,58402,58432,58461,58491,58521,58551,58580,58610,58639,58669,58698,58727,58757,58786,58816,58845,58875,58905,58934,58964,58994,59023,59053,59082,59111,59141,59170,59200,59229,59259,59288,59318,59348,59377,59407,59436,59466,59495,59525,59554,59584,59613,59643,59672,59702,59731,59761,59791,59820,59850,59879,59909,59939,59968,59997,60027,60056,60086,60115,60145,60174,60204,60234,60264,60293,60323,60352,60381,60411,60440,60469,60499,60528,60558,60588,60618,60648,60677,60707,60736,60765,60795,60824,60853,60883,60912,60942,60972,61002,61031,61061,61090,61120,61149,61179,61208,61237,61267,61296,61326,61356,61385,61415,61445,61474,61504,61533,61563,61592,61621,61651,61680,61710,61739,61769,61799,61828,61858,61888,61917,61947,61976,62006,62035,62064,62094,62123,62153,62182,62212,62242,62271,62301,62331,62360,62390,62419,62448,62478,62507,62537,62566,62596,62625,62655,62685,62715,62744,62774,62803,62832,62862,62891,62921,62950,62980,63009,63039,63069,63099,63128,63157,63187,63216,63246,63275,63305,63334,63363,63393,63423,63453,63482,63512,63541,63571,63600,63630,63659,63689,63718,63747,63777,63807,63836,63866,63895,63925,63955,63984,64014,64043,64073,64102,64131,64161,64190,64220,64249,64279,64309,64339,64368,64398,64427,64457,64486,64515,64545,64574,64603,64633,64663,64692,64722,64752,64782,64811,64841,64870,64899,64929,64958,64987,65017,65047,65076,65106,65136,65166,65195,65225,65254,65283,65313,65342,65371,65401,65431,65460,65490,65520,65549,65579,65608,65638,65667,65697,65726,65755,65785,65815,65844,65874,65903,65933,65963,65992,66022,66051,66081,66110,66140,66169,66199,66228,66258,66287,66317,66346,66376,66405,66435,66465,66494,66524,66553,66583,66612,66641,66671,66700,66730,66760,66789,66819,66849,66878,66908,66937,66967,66996,67025,67055,67084,67114,67143,67173,67203,67233,67262,67292,67321,67351,67380,67409,67439,67468,67497,67527,67557,67587,67617,67646,67676,67705,67735,67764,67793,67823,67852,67882,67911,67941,67971,68e3,68030,68060,68089,68119,68148,68177,68207,68236,68266,68295,68325,68354,68384,68414,68443,68473,68502,68532,68561,68591,68620,68650,68679,68708,68738,68768,68797,68827,68857,68886,68916,68946,68975,69004,69034,69063,69092,69122,69152,69181,69211,69240,69270,69300,69330,69359,69388,69418,69447,69476,69506,69535,69565,69595,69624,69654,69684,69713,69743,69772,69802,69831,69861,69890,69919,69949,69978,70008,70038,70067,70097,70126,70156,70186,70215,70245,70274,70303,70333,70362,70392,70421,70451,70481,70510,70540,70570,70599,70629,70658,70687,70717,70746,70776,70805,70835,70864,70894,70924,70954,70983,71013,71042,71071,71101,71130,71159,71189,71218,71248,71278,71308,71337,71367,71397,71426,71455,71485,71514,71543,71573,71602,71632,71662,71691,71721,71751,71781,71810,71839,71869,71898,71927,71957,71986,72016,72046,72075,72105,72135,72164,72194,72223,72253,72282,72311,72341,72370,72400,72429,72459,72489,72518,72548,72577,72607,72637,72666,72695,72725,72754,72784,72813,72843,72872,72902,72931,72961,72991,73020,73050,73080,73109,73139,73168,73197,73227,73256,73286,73315,73345,73375,73404,73434,73464,73493,73523,73552,73581,73611,73640,73669,73699,73729,73758,73788,73818,73848,73877,73907,73936,73965,73995,74024,74053,74083,74113,74142,74172,74202,74231,74261,74291,74320,74349,74379,74408,74437,74467,74497,74526,74556,74586,74615,74645,74675,74704,74733,74763,74792,74822,74851,74881,74910,74940,74969,74999,75029,75058,75088,75117,75147,75176,75206,75235,75264,75294,75323,75353,75383,75412,75442,75472,75501,75531,75560,75590,75619,75648,75678,75707,75737,75766,75796,75826,75856,75885,75915,75944,75974,76003,76032,76062,76091,76121,76150,76180,76210,76239,76269,76299,76328,76358,76387,76416,76446,76475,76505,76534,76564,76593,76623,76653,76682,76712,76741,76771,76801,76830,76859,76889,76918,76948,76977,77007,77036,77066,77096,77125,77155,77185,77214,77243,77273,77302,77332,77361,77390,77420,77450,77479,77509,77539,77569,77598,77627,77657,77686,77715,77745,77774,77804,77833,77863,77893,77923,77952,77982,78011,78041,78070,78099,78129,78158,78188,78217,78247,78277,78307,78336,78366,78395,78425,78454,78483,78513,78542,78572,78601,78631,78661,78690,78720,78750,78779,78808,78838,78867,78897,78926,78956,78985,79015,79044,79074,79104,79133,79163,79192,79222,79251,79281,79310,79340,79369,79399,79428,79458,79487,79517,79546,79576,79606,79635,79665,79695,79724,79753,79783,79812,79841,79871,79900,79930,79960,79990]},24453:function(t,e,r){var n=r(27976);function i(){this.regionalOptions=[],this.regionalOptions[""]={invalidCalendar:"Calendar {0} not found",invalidDate:"Invalid {0} date",invalidMonth:"Invalid {0} month",invalidYear:"Invalid {0} year",differentCalendars:"Cannot mix {0} and {1} dates"},this.local=this.regionalOptions[""],this.calendars={},this._localCals={}}function a(t,e,r,n){if(this._calendar=t,this._year=e,this._month=r,this._day=n,0===this._calendar._validateLevel&&!this._calendar.isValid(this._year,this._month,this._day))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name)}function o(t,e){return"000000".substring(0,e-(t=""+t).length)+t}function s(){this.shortYearCutoff="+10"}function l(t){this.local=this.regionalOptions[t]||this.regionalOptions[""]}n(i.prototype,{instance:function(t,e){t=(t||"gregorian").toLowerCase(),e=e||"";var r=this._localCals[t+"-"+e];if(!r&&this.calendars[t]&&(r=new this.calendars[t](e),this._localCals[t+"-"+e]=r),!r)throw(this.local.invalidCalendar||this.regionalOptions[""].invalidCalendar).replace(/\{0\}/,t);return r},newDate:function(t,e,r,n,i){return(n=(null!=t&&t.year?t.calendar():"string"==typeof n?this.instance(n,i):n)||this.instance()).newDate(t,e,r)},substituteDigits:function(t){return function(e){return(e+"").replace(/[0-9]/g,(function(e){return t[e]}))}},substituteChineseDigits:function(t,e){return function(r){for(var n="",i=0;r>0;){var a=r%10;n=(0===a?"":t[a]+e[i])+n,i++,r=Math.floor(r/10)}return 0===n.indexOf(t[1]+e[1])&&(n=n.substr(1)),n||t[0]}}}),n(a.prototype,{newDate:function(t,e,r){return this._calendar.newDate(null==t?this:t,e,r)},year:function(t){return 0===arguments.length?this._year:this.set(t,"y")},month:function(t){return 0===arguments.length?this._month:this.set(t,"m")},day:function(t){return 0===arguments.length?this._day:this.set(t,"d")},date:function(t,e,r){if(!this._calendar.isValid(t,e,r))throw(c.local.invalidDate||c.regionalOptions[""].invalidDate).replace(/\{0\}/,this._calendar.local.name);return this._year=t,this._month=e,this._day=r,this},leapYear:function(){return this._calendar.leapYear(this)},epoch:function(){return this._calendar.epoch(this)},formatYear:function(){return this._calendar.formatYear(this)},monthOfYear:function(){return this._calendar.monthOfYear(this)},weekOfYear:function(){return this._calendar.weekOfYear(this)},daysInYear:function(){return this._calendar.daysInYear(this)},dayOfYear:function(){return this._calendar.dayOfYear(this)},daysInMonth:function(){return this._calendar.daysInMonth(this)},dayOfWeek:function(){return this._calendar.dayOfWeek(this)},weekDay:function(){return this._calendar.weekDay(this)},extraInfo:function(){return this._calendar.extraInfo(this)},add:function(t,e){return this._calendar.add(this,t,e)},set:function(t,e){return this._calendar.set(this,t,e)},compareTo:function(t){if(this._calendar.name!==t._calendar.name)throw(c.local.differentCalendars||c.regionalOptions[""].differentCalendars).replace(/\{0\}/,this._calendar.local.name).replace(/\{1\}/,t._calendar.local.name);var e=this._year!==t._year?this._year-t._year:this._month!==t._month?this.monthOfYear()-t.monthOfYear():this._day-t._day;return 0===e?0:e<0?-1:1},calendar:function(){return this._calendar},toJD:function(){return this._calendar.toJD(this)},fromJD:function(t){return this._calendar.fromJD(t)},toJSDate:function(){return this._calendar.toJSDate(this)},fromJSDate:function(t){return this._calendar.fromJSDate(t)},toString:function(){return(this.year()<0?"-":"")+o(Math.abs(this.year()),4)+"-"+o(this.month(),2)+"-"+o(this.day(),2)}}),n(s.prototype,{_validateLevel:0,newDate:function(t,e,r){return null==t?this.today():(t.year&&(this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),r=t.day(),e=t.month(),t=t.year()),new a(this,t,e,r))},today:function(){return this.fromJSDate(new Date)},epoch:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear).year()<0?this.local.epochs[0]:this.local.epochs[1]},formatYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return(e.year()<0?"-":"")+o(Math.abs(e.year()),4)},monthsInYear:function(t){return this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear),12},monthOfYear:function(t,e){var r=this._validate(t,e,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth);return(r.month()+this.monthsInYear(r)-this.firstMonth)%this.monthsInYear(r)+this.minMonth},fromMonthOfYear:function(t,e){var r=(e+this.firstMonth-2*this.minMonth)%this.monthsInYear(t)+this.minMonth;return this._validate(t,r,this.minDay,c.local.invalidMonth||c.regionalOptions[""].invalidMonth),r},daysInYear:function(t){var e=this._validate(t,this.minMonth,this.minDay,c.local.invalidYear||c.regionalOptions[""].invalidYear);return this.leapYear(e)?366:365},dayOfYear:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return n.toJD()-this.newDate(n.year(),this.fromMonthOfYear(n.year(),this.minMonth),this.minDay).toJD()+1},daysInWeek:function(){return 7},dayOfWeek:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate);return(Math.floor(this.toJD(n))+2)%this.daysInWeek()},extraInfo:function(t,e,r){return this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),{}},add:function(t,e,r){return this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate),this._correctAdd(t,this._add(t,e,r),e,r)},_add:function(t,e,r){if(this._validateLevel++,"d"===r||"w"===r){var n=t.toJD()+e*("w"===r?this.daysInWeek():1),i=t.calendar().fromJD(n);return this._validateLevel--,[i.year(),i.month(),i.day()]}try{var a=t.year()+("y"===r?e:0),o=t.monthOfYear()+("m"===r?e:0);i=t.day(),"y"===r?(t.month()!==this.fromMonthOfYear(a,o)&&(o=this.newDate(a,t.month(),this.minDay).monthOfYear()),o=Math.min(o,this.monthsInYear(a)),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o)))):"m"===r&&(function(t){for(;oe-1+t.minMonth;)a++,o-=e,e=t.monthsInYear(a)}(this),i=Math.min(i,this.daysInMonth(a,this.fromMonthOfYear(a,o))));var s=[a,this.fromMonthOfYear(a,o),i];return this._validateLevel--,s}catch(t){throw this._validateLevel--,t}},_correctAdd:function(t,e,r,n){if(!(this.hasYearZero||"y"!==n&&"m"!==n||0!==e[0]&&t.year()>0==e[0]>0)){var i={y:[1,1,"y"],m:[1,this.monthsInYear(-1),"m"],w:[this.daysInWeek(),this.daysInYear(-1),"d"],d:[1,this.daysInYear(-1),"d"]}[n],a=r<0?-1:1;e=this._add(t,r*i[0]+a*i[1],i[2])}return t.date(e[0],e[1],e[2])},set:function(t,e,r){this._validate(t,this.minMonth,this.minDay,c.local.invalidDate||c.regionalOptions[""].invalidDate);var n="y"===r?e:t.year(),i="m"===r?e:t.month(),a="d"===r?e:t.day();return"y"!==r&&"m"!==r||(a=Math.min(a,this.daysInMonth(n,i))),t.date(n,i,a)},isValid:function(t,e,r){this._validateLevel++;var n=this.hasYearZero||0!==t;if(n){var i=this.newDate(t,e,this.minDay);n=e>=this.minMonth&&e-this.minMonth=this.minDay&&r-this.minDay13.5?13:1),c=i-(l>2.5?4716:4715);return c<=0&&c--,this.newDate(c,l,s)},toJSDate:function(t,e,r){var n=this._validate(t,e,r,c.local.invalidDate||c.regionalOptions[""].invalidDate),i=new Date(n.year(),n.month()-1,n.day());return i.setHours(0),i.setMinutes(0),i.setSeconds(0),i.setMilliseconds(0),i.setHours(i.getHours()>12?i.getHours()+2:0),i},fromJSDate:function(t){return this.newDate(t.getFullYear(),t.getMonth()+1,t.getDate())}});var c=t.exports=new i;c.cdate=a,c.baseCalendar=s,c.calendars.gregorian=l},23428:function(t,e,r){var n=r(27976),i=r(24453);n(i.regionalOptions[""],{invalidArguments:"Invalid arguments",invalidFormat:"Cannot format a date from another calendar",missingNumberAt:"Missing number at position {0}",unknownNameAt:"Unknown name at position {0}",unexpectedLiteralAt:"Unexpected literal at position {0}",unexpectedText:"Additional text found at end"}),i.local=i.regionalOptions[""],n(i.cdate.prototype,{formatDate:function(t,e){return"string"!=typeof t&&(e=t,t=""),this._calendar.formatDate(t||"",this,e)}}),n(i.baseCalendar.prototype,{UNIX_EPOCH:i.instance().newDate(1970,1,1).toJD(),SECS_PER_DAY:86400,TICKS_EPOCH:i.instance().jdEpoch,TICKS_PER_DAY:864e9,ATOM:"yyyy-mm-dd",COOKIE:"D, dd M yyyy",FULL:"DD, MM d, yyyy",ISO_8601:"yyyy-mm-dd",JULIAN:"J",RFC_822:"D, d M yy",RFC_850:"DD, dd-M-yy",RFC_1036:"D, d M yy",RFC_1123:"D, d M yyyy",RFC_2822:"D, d M yyyy",RSS:"D, d M yy",TICKS:"!",TIMESTAMP:"@",W3C:"yyyy-mm-dd",formatDate:function(t,e,r){if("string"!=typeof t&&(r=e,e=t,t=""),!e)return"";if(e.calendar()!==this)throw i.local.invalidFormat||i.regionalOptions[""].invalidFormat;t=t||this.local.dateFormat;for(var n,a,o,s=(r=r||{}).dayNamesShort||this.local.dayNamesShort,l=r.dayNames||this.local.dayNames,c=r.monthNumbers||this.local.monthNumbers,u=r.monthNamesShort||this.local.monthNamesShort,h=r.monthNames||this.local.monthNames,f=(r.calculateWeek||this.local.calculateWeek,function(e,r){for(var n=1;b+n1}),p=function(t,e,r,n){var i=""+e;if(f(t,n))for(;i.length1},x=function(t,r){var n=v(t,r),a=[2,3,n?4:2,n?4:2,10,11,20]["oyYJ@!".indexOf(t)+1],o=new RegExp("^-?\\d{1,"+a+"}"),s=e.substring(A).match(o);if(!s)throw(i.local.missingNumberAt||i.regionalOptions[""].missingNumberAt).replace(/\{0\}/,A);return A+=s[0].length,parseInt(s[0],10)},_=this,b=function(){if("function"==typeof l){v("m");var t=l.call(_,e.substring(A));return A+=t.length,t}return x("m")},w=function(t,r,n,a){for(var o=v(t,a)?n:r,s=0;s-1){p=1,d=m;for(var E=this.daysInMonth(f,p);d>E;E=this.daysInMonth(f,p))p++,d-=E}return h>-1?this.fromJD(h):this.newDate(f,p,d)},determineDate:function(t,e,r,n,i){r&&"object"!=typeof r&&(i=n,n=r,r=null),"string"!=typeof n&&(i=n,n="");var a=this;return e=e?e.newDate():null,null==t?e:"string"==typeof t?function(t){try{return a.parseDate(n,t,i)}catch(t){}for(var e=((t=t.toLowerCase()).match(/^c/)&&r?r.newDate():null)||a.today(),o=/([+-]?[0-9]+)\s*(d|w|m|y)?/g,s=o.exec(t);s;)e.add(parseInt(s[1],10),s[2]||"d"),s=o.exec(t);return e}(t):"number"==typeof t?isNaN(t)||t===1/0||t===-1/0?e:a.today().add(t,"d"):a.newDate(t)}})},96144:function(t,e,r){"use strict";r.r(e);var n=r(85072),i=r.n(n),a=r(97825),o=r.n(a),s=r(77659),l=r.n(s),c=r(55056),u=r.n(c),h=r(10540),f=r.n(h),p=r(41113),d=r.n(p),m=r(5955),g={};g.styleTagTransform=d(),g.setAttributes=u(),g.insert=l().bind(null,"head"),g.domAPI=o(),g.insertStyleElement=f(),i()(m.A,g),e.default=m.A&&m.A.locals?m.A.locals:void 0},85072:function(t){"use strict";var e=[];function r(t){for(var r=-1,n=0;n0?" ".concat(r.layer):""," {")),n+=r.css,i&&(n+="}"),r.media&&(n+="}"),r.supports&&(n+="}");var a=r.sourceMap;a&&"undefined"!=typeof btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleTagTransform(n,t,e.options)}(e,t,r)},remove:function(){!function(t){if(null===t.parentNode)return!1;t.parentNode.removeChild(t)}(e)}}}},41113:function(t){"use strict";t.exports=function(t,e){if(e.styleSheet)e.styleSheet.cssText=t;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(t))}}},25446:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2722%27 height=%2722%27 fill=%27%23333%27 viewBox=%270 0 22 22%27%3E%3Cpath d=%27m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0%27/%3E%3C/svg%3E"},56694:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2722%27 height=%2722%27 fill=%27%2333b5e5%27 viewBox=%270 0 22 22%27%3E%3Cpath d=%27m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0%27/%3E%3C/svg%3E"},26117:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 fill-rule=%27evenodd%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0%27/%3E%3C/svg%3E"},66311:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27 fill=%27%23fff%27 fill-rule=%27evenodd%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0%27/%3E%3C/svg%3E"},24420:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23333%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E"},77035:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z%27/%3E%3C/svg%3E"},43470:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5%27/%3E%3C/svg%3E"},13490:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z%27/%3E%3C/svg%3E"},80216:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23333%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27m10.5 14 4-8 4 8z%27/%3E%3Cpath fill=%27%23ccc%27 d=%27m10.5 16 4 8 4-8z%27/%3E%3C/svg%3E"},47695:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%2333b5e5%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3C/svg%3E"},92228:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%2333b5e5%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E"},43737:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23666%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath fill=%27red%27 d=%27m14 5 1 1-9 9-1-1z%27/%3E%3C/svg%3E"},48460:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23999%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath fill=%27red%27 d=%27m14 5 1 1-9 9-1-1z%27/%3E%3C/svg%3E"},75796:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23aaa%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3Cpath fill=%27red%27 d=%27m14 5 1 1-9 9-1-1z%27/%3E%3C/svg%3E"},28869:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23e54e33%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3C/svg%3E"},9819:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23e58978%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E"},30557:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E"},68164:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z%27/%3E%3C/svg%3E"},64665:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5%27/%3E%3C/svg%3E"},91413:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z%27/%3E%3C/svg%3E"},13913:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z%27/%3E%3C/svg%3E"},61907:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 fill=%27%23fff%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27m10.5 14 4-8 4 8z%27/%3E%3Cpath fill=%27%23ccc%27 d=%27m10.5 16 4 8 4-8z%27/%3E%3C/svg%3E"},56539:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 20 20%27%3E%3Cpath d=%27M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7%27/%3E%3Ccircle cx=%2710%27 cy=%2710%27 r=%272%27/%3E%3C/svg%3E"},4890:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z%27/%3E%3C/svg%3E"},13363:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5%27/%3E%3C/svg%3E"},47603:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z%27/%3E%3C/svg%3E"},64643:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z%27/%3E%3C/svg%3E"},68605:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2729%27 height=%2729%27 viewBox=%270 0 29 29%27%3E%3Cpath d=%27m10.5 14 4-8 4 8z%27/%3E%3Cpath fill=%27%23ccc%27 d=%27m10.5 16 4 8 4-8z%27/%3E%3C/svg%3E"},47914:function(t){"use strict";t.exports="data:image/svg+xml;charset=utf-8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2788%27 height=%2723%27 fill=%27none%27%3E%3Cpath fill=%27%23000%27 fill-opacity=%27.4%27 fill-rule=%27evenodd%27 d=%27M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z%27/%3E%3Cpath fill=%27%23fff%27 d=%27m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z%27/%3E%3Cpath fill=%27%23e1e3e9%27 d=%27M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z%27/%3E%3Cpath d=%27M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z%27 style=%27fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001%27/%3E%3Cg style=%27stroke-width:1.12603545%27%3E%3Cpath d=%27M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668%27 style=%27color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto%27 transform=%27translate%2815.553 2.85%29scale%28.88807%29%27/%3E%3Cpath d=%27M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3%27 style=%27clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4%27 transform=%27translate%2815.553 2.85%29scale%28.88807%29%27/%3E%3Cpath d=%27M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z%27 style=%27clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4%27 transform=%27translate%2815.553 2.85%29scale%28.88807%29%27/%3E%3C/g%3E%3C/svg%3E"},63779:function(){},77199:function(){},61990:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(85846),i=r(66030);function a(t){return i.geomReduce.call(void 0,t,((t,e)=>t+function(t){let e,r=0;switch(t.type){case"Polygon":return o(t.coordinates);case"MultiPolygon":for(e=0;e0){e+=Math.abs(c(t[0]));for(let r=1;r=e?(n+2)%e:n+2],s=i[0]*l,c=a[1]*l;r+=(o[0]*l-s)*Math.sin(c),n++}return r*s}var u=a;e.area=a,e.default=u},25368:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(66030);function i(t,e={}){if(null!=t.bbox&&!0!==e.recompute)return t.bbox;const r=[1/0,1/0,-1/0,-1/0];return n.coordEach.call(void 0,t,(t=>{r[0]>t[0]&&(r[0]=t[0]),r[1]>t[1]&&(r[1]=t[1]),r[2]0?t>180?t-360:t:t<-180?t+360:t},e.bearingToAzimuth=function(t){let e=t%360;return e<0&&(e+=360),e},e.convertArea=function(t,e="meters",r="kilometers"){if(!(t>=0))throw new Error("area must be a positive number");const n=i[e];if(!n)throw new Error("invalid original units");const a=i[r];if(!a)throw new Error("invalid final units");return t/n*a},e.convertLength=function(t,e="kilometers",r="kilometers"){if(!(t>=0))throw new Error("length must be a positive number");return p(d(t,e),r)},e.degreesToRadians=function(t){return t%360*Math.PI/180},e.earthRadius=r,e.factors=n,e.feature=a,e.featureCollection=c,e.geometry=function(t,e,r={}){switch(t){case"Point":return o(e).geometry;case"LineString":return l(e).geometry;case"Polygon":return s(e).geometry;case"MultiPoint":return h(e).geometry;case"MultiLineString":return u(e).geometry;case"MultiPolygon":return f(e).geometry;default:throw new Error(t+" is invalid")}},e.geometryCollection=function(t,e,r={}){return a({type:"GeometryCollection",geometries:t},e,r)},e.isNumber=g,e.isObject=function(t){return null!==t&&"object"==typeof t&&!Array.isArray(t)},e.lengthToDegrees=function(t,e){return m(d(t,e))},e.lengthToRadians=d,e.lineString=l,e.lineStrings=function(t,e,r={}){return c(t.map((t=>l(t,e))),r)},e.multiLineString=u,e.multiPoint=h,e.multiPolygon=f,e.point=o,e.points=function(t,e,r={}){return c(t.map((t=>o(t,e))),r)},e.polygon=s,e.polygons=function(t,e,r={}){return c(t.map((t=>s(t,e))),r)},e.radiansToDegrees=m,e.radiansToLength=p,e.round=function(t,e=0){if(e&&!(e>=0))throw new Error("precision must be a positive number");const r=Math.pow(10,e||0);return Math.round(t*r)/r},e.validateBBox=function(t){if(!t)throw new Error("bbox is required");if(!Array.isArray(t))throw new Error("bbox must be an Array");if(4!==t.length&&6!==t.length)throw new Error("bbox must be an Array of 4 or 6 numbers");t.forEach((t=>{if(!g(t))throw new Error("bbox must only contain numbers")}))},e.validateId=function(t){if(!t)throw new Error("id is required");if(-1===["string","number"].indexOf(typeof t))throw new Error("id must be a number or a string")}},66030:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=r(85846);function i(t,e,r){if(null!==t)for(var n,a,o,s,l,c,u,h,f=0,p=0,d=t.type,m="FeatureCollection"===d,g="Feature"===d,y=m?t.features.length:1,v=0;vc||p>u||d>h)return l=i,c=r,u=p,h=d,void(o=0);var m=n.lineString.call(void 0,[l,i],t.properties);if(!1===e(m,r,a,d,o))return!1;o++,l=i}))&&void 0}}}))}function u(t,e){if(!t)throw new Error("geojson is required");l(t,(function(t,r,i){if(null!==t.geometry){var a=t.geometry.type,o=t.geometry.coordinates;switch(a){case"LineString":if(!1===e(t,r,i,0,0))return!1;break;case"Polygon":for(var s=0;s1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?o=r:s=r,r=.5*(s-o)+o;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var l=r(o);let c,u;function h(){return null==c&&(c="undefined"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext("2d")&&"function"==typeof createImageBitmap),c}function f(){if(null==u&&(u=!1,h())){const t=5,e=new OffscreenCanvas(t,t).getContext("2d",{willReadFrequently:!0});if(e){for(let r=0;ri.solve(t)}const d=p(.25,.1,.25,1);function m(t,e,r){return Math.min(r,Math.max(e,t))}function g(t,e,r){const n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function y(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}let v=1;function x(t,e,r){const n={};for(const r in t)n[r]=e.call(this,t[r],r,t);return n}function _(t,e,r){const n={};for(const r in t)e.call(this,t[r],r,t)&&(n[r]=t[r]);return n}function b(t){return Array.isArray(t)?t.map(b):"object"==typeof t&&t?x(t,b):t}const w={};function T(t){w[t]||("undefined"!=typeof console&&console.warn(t),w[t]=!0)}function k(t,e,r){return(r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function A(t){return"undefined"!=typeof WorkerGlobalScope&&void 0!==t&&t instanceof WorkerGlobalScope}let M=null;function S(t){return"undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap}const E="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function C(t,r,n,i,a){return e(this,void 0,void 0,(function*(){if("undefined"==typeof VideoFrame)throw new Error("VideoFrame not supported");const e=new VideoFrame(t,{timestamp:0});try{const o=null==e?void 0:e.format;if(!o||!o.startsWith("BGR")&&!o.startsWith("RGB"))throw new Error(`Unrecognized format ${o}`);const s=o.startsWith("BGR"),l=new Uint8ClampedArray(i*a*4);if(yield e.copyTo(l,function(t,e,r,n,i){const a=4*Math.max(-e,0),o=(Math.max(0,r)-r)*n*4+a,s=4*n,l=Math.max(0,e),c=Math.max(0,r);return{rect:{x:l,y:c,width:Math.min(t.width,e+n)-l,height:Math.min(t.height,r+i)-c},layout:[{offset:o,stride:s}]}}(t,r,n,i,a)),s)for(let t=0;tA(self)?self.worker&&self.worker.referrer:("blob:"===window.location.protocol?window.parent:window).location.href;const N=function(t,r){if(/:\/\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){const e=D(t.url);if(e)return e(t,r);if(A(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:t,targetMapId:R},r)}if(n=t.url,!(/^file:/.test(n)||/^file:/.test(B())&&!/^\w+:/.test(n))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(t,r){return e(this,void 0,void 0,(function*(){const e=new Request(t.url,{method:t.method||"GET",body:t.body,credentials:t.credentials,headers:t.headers,cache:t.cache,referrer:B(),signal:r.signal});"json"!==t.type||e.headers.has("Accept")||e.headers.set("Accept","application/json");const n=yield fetch(e);if(!n.ok){const e=yield n.blob();throw new F(n.status,n.statusText,t.url,e)}let i;i="arrayBuffer"===t.type||"image"===t.type?n.arrayBuffer():"json"===t.type?n.json():n.text();const a=yield i;if(r.signal.aborted)throw z();return{data:a,cacheControl:n.headers.get("Cache-Control"),expires:n.headers.get("Expires")}}))}(t,r);if(A(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:t,mustQueue:!0,targetMapId:R},r)}var n;return function(t,e){return new Promise(((r,n)=>{var i;const a=new XMLHttpRequest;a.open(t.method||"GET",t.url,!0),"arrayBuffer"!==t.type&&"image"!==t.type||(a.responseType="arraybuffer");for(const e in t.headers)a.setRequestHeader(e,t.headers[e]);"json"===t.type&&(a.responseType="text",(null===(i=t.headers)||void 0===i?void 0:i.Accept)||a.setRequestHeader("Accept","application/json")),a.withCredentials="include"===t.credentials,a.onerror=()=>{n(new Error(a.statusText))},a.onload=()=>{if(!e.signal.aborted)if((a.status>=200&&a.status<300||0===a.status)&&null!==a.response){let e=a.response;if("json"===t.type)try{e=JSON.parse(a.response)}catch(t){return void n(t)}r({data:e,cacheControl:a.getResponseHeader("Cache-Control"),expires:a.getResponseHeader("Expires")})}else{const e=new Blob([a.response],{type:a.getResponseHeader("Content-Type")});n(new F(a.status,a.statusText,t.url,e))}},e.signal.addEventListener("abort",(()=>{a.abort(),n(z())})),a.send(t.body)}))}(t,r)};function j(t){if(!t||t.indexOf("://")<=0||0===t.indexOf("data:image/")||0===t.indexOf("blob:"))return!0;const e=new URL(t),r=window.location;return e.protocol===r.protocol&&e.host===r.host}function U(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e))}function V(t,e,r){if(r&&r[t]){const n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1)}}class q{constructor(t,e={}){y(this,e),this.type=t}}class H extends q{constructor(t,e={}){super("error",y({error:t},e))}}class G{on(t,e){return this._listeners=this._listeners||{},U(t,e,this._listeners),this}off(t,e){return V(t,e,this._listeners),V(t,e,this._oneTimeListeners),this}once(t,e){return e?(this._oneTimeListeners=this._oneTimeListeners||{},U(t,e,this._oneTimeListeners),this):new Promise((e=>this.once(t,e)))}fire(t,e){"string"==typeof t&&(t=new q(t,e||{}));const r=t.type;if(this.listens(r)){t.target=this;const e=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];for(const r of e)r.call(this,t);const n=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];for(const e of n)V(r,e,this._oneTimeListeners),e.call(this,t);const i=this._eventedParent;i&&(y(t,"function"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),i.fire(t))}else t instanceof H&&console.error(t.error);return this}listens(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var Z={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"enum",default:"mercator",values:{mercator:{},globe:{}}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};const W=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function Y(t,e){const r={};for(const e in t)"ref"!==e&&(r[e]=t[e]);return W.forEach((t=>{t in e&&(r[t]=e[t])})),r}function X(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return!1;for(let r=0;r`:"value"===t.itemType.kind?"array":`array<${e}>`}return t.kind}const wt=[lt,ct,ut,ht,ft,gt,pt,_t(dt),yt,vt,xt];function Tt(t,e){if("error"===e.kind)return null;if("array"===t.kind){if("array"===e.kind&&(0===e.N&&"value"===e.itemType.kind||!Tt(t.itemType,e.itemType))&&("number"!=typeof t.N||t.N===e.N))return null}else{if(t.kind===e.kind)return null;if("value"===t.kind)for(const t of wt)if(!Tt(t,e))return null}return`Expected ${bt(t)} but found ${bt(e)} instead.`}function kt(t,e){return e.some((e=>e.kind===t.kind))}function At(t,e){return e.some((e=>"null"===e?null===t:"array"===e?Array.isArray(t):"object"===e?t&&!Array.isArray(t)&&"object"==typeof t:e===typeof t))}function Mt(t,e){return"array"===t.kind&&"array"===e.kind?t.itemType.kind===e.itemType.kind&&"number"==typeof t.N:t.kind===e.kind}const St=.96422,Et=1,Ct=.82521,Lt=4/29,It=6/29,Pt=3*It*It,zt=It*It*It,Ot=Math.PI/180,Dt=180/Math.PI;function Rt(t){return(t%=360)<0&&(t+=360),t}function Ft([t,e,r,n]){let i,a;const o=Nt((.2225045*(t=Bt(t))+.7168786*(e=Bt(e))+.0606169*(r=Bt(r)))/Et);t===e&&e===r?i=a=o:(i=Nt((.4360747*t+.3850649*e+.1430804*r)/St),a=Nt((.0139322*t+.0971045*e+.7141733*r)/Ct));const s=116*o-16;return[s<0?0:s,500*(i-o),200*(o-a),n]}function Bt(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Nt(t){return t>zt?Math.pow(t,1/3):t/Pt+Lt}function jt([t,e,r,n]){let i=(t+16)/116,a=isNaN(e)?i:i+e/500,o=isNaN(r)?i:i-r/200;return i=Et*Vt(i),a=St*Vt(a),o=Ct*Vt(o),[Ut(3.1338561*a-1.6168667*i-.4906146*o),Ut(-.9787684*a+1.9161415*i+.033454*o),Ut(.0719453*a-.2289914*i+1.4052427*o),n]}function Ut(t){return(t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function Vt(t){return t>It?t*t*t:Pt*(t-Lt)}function qt(t){if("transparent"===(t=t.toLowerCase().trim()))return[0,0,0,0];const e=Yt[t];if(e){const[t,r,n]=e;return[t/255,r/255,n/255,1]}if(t.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(t)){const e=t.length<6?1:2;let r=1;return[Ht(t.slice(r,r+=e)),Ht(t.slice(r,r+=e)),Ht(t.slice(r,r+=e)),Ht(t.slice(r,r+e)||"ff")]}if(t.startsWith("rgb")){const e=/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/,r=t.match(e);if(r){const[t,e,n,i,a,o,s,l,c,u,h,f]=r,p=[i||" ",s||" ",u].join("");if(" "===p||" /"===p||",,"===p||",,,"===p){const t=[n,o,c].join(""),r="%%%"===t?100:""===t?255:0;if(r){const t=[Zt(+e/r,0,1),Zt(+a/r,0,1),Zt(+l/r,0,1),h?Gt(+h,f):1];if(Wt(t))return t}}return}}const r=t.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(r){const[t,e,n,i,a,o,s,l,c]=r,u=[n||" ",a||" ",s].join("");if(" "===u||" /"===u||",,"===u||",,,"===u){const t=[+e,Zt(+i,0,100),Zt(+o,0,100),l?Gt(+l,c):1];if(Wt(t))return function([t,e,r,n]){function i(n){const i=(n+t/30)%12,a=e*Math.min(r,1-r);return r-a*Math.max(-1,Math.min(i-3,9-i,1))}return t=Rt(t),e/=100,r/=100,[i(0),i(8),i(4),n]}(t)}}}function Ht(t){return parseInt(t.padEnd(2,t),16)/255}function Gt(t,e){return Zt(e?t/100:t,0,1)}function Zt(t,e,r){return Math.min(Math.max(e,t),r)}function Wt(t){return!t.some(Number.isNaN)}const Yt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class Xt{constructor(t,e,r,n=1,i=!0){this.r=t,this.g=e,this.b=r,this.a=n,i||(this.r*=n,this.g*=n,this.b*=n,n||this.overwriteGetter("rgb",[t,e,r,n]))}static parse(t){if(t instanceof Xt)return t;if("string"!=typeof t)return;const e=qt(t);return e?new Xt(...e,!1):void 0}get rgb(){const{r:t,g:e,b:r,a:n}=this,i=n||1/0;return this.overwriteGetter("rgb",[t/i,e/i,r/i,n])}get hcl(){return this.overwriteGetter("hcl",function(t){const[e,r,n,i]=Ft(t),a=Math.sqrt(r*r+n*n);return[Math.round(1e4*a)?Rt(Math.atan2(n,r)*Dt):NaN,a,e,i]}(this.rgb))}get lab(){return this.overwriteGetter("lab",Ft(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,r,n]=this.rgb;return`rgba(${[t,e,r].map((t=>Math.round(255*t))).join(",")},${n})`}}Xt.black=new Xt(0,0,0,1),Xt.white=new Xt(1,1,1,1),Xt.transparent=new Xt(0,0,0,0),Xt.red=new Xt(1,0,0,1);class $t{constructor(t,e,r){this.sensitivity=t?e?"variant":"case":e?"accent":"base",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Jt{constructor(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i}}class Kt{constructor(t){this.sections=t}static fromString(t){return new Kt([new Jt(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof Kt?t:Kt.fromString(t)}toString(){return 0===this.sections.length?"":this.sections.map((t=>t.text)).join("")}}class Qt{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Qt)return t;if("number"==typeof t)return new Qt([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if("number"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new Qt(t)}}toString(){return JSON.stringify(this.values)}}const te=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class ee{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof ee)return t;if(Array.isArray(t)&&!(t.length<1)&&t.length%2==0){for(let e=0;e=0&&t<=255&&"number"==typeof e&&e>=0&&e<=255&&"number"==typeof r&&r>=0&&r<=255?void 0===n||"number"==typeof n&&n>=0&&n<=1?null:`Invalid rgba value [${[t,e,r,n].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof n?[t,e,r,n]:[t,e,r]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function ie(t){if(null===t||"string"==typeof t||"boolean"==typeof t||"number"==typeof t||t instanceof Xt||t instanceof $t||t instanceof Kt||t instanceof Qt||t instanceof ee||t instanceof re)return!0;if(Array.isArray(t)){for(const e of t)if(!ie(e))return!1;return!0}if("object"==typeof t){for(const e in t)if(!ie(t[e]))return!1;return!0}return!1}function ae(t){if(null===t)return lt;if("string"==typeof t)return ut;if("boolean"==typeof t)return ht;if("number"==typeof t)return ct;if(t instanceof Xt)return ft;if(t instanceof $t)return mt;if(t instanceof Kt)return gt;if(t instanceof Qt)return yt;if(t instanceof ee)return xt;if(t instanceof re)return vt;if(Array.isArray(t)){const e=t.length;let r;for(const e of t){const t=ae(e);if(r){if(r===t)continue;r=dt;break}r=t}return _t(r||dt,e)}return pt}function oe(t){const e=typeof t;return null===t?"":"string"===e||"number"===e||"boolean"===e?String(t):t instanceof Xt||t instanceof Kt||t instanceof Qt||t instanceof ee||t instanceof re?t.toString():JSON.stringify(t)}class se{constructor(t,e){this.type=t,this.value=e}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!ie(t[1]))return e.error("invalid value");const r=t[1];let n=ae(r);const i=e.expectedType;return"array"!==n.kind||0!==n.N||!i||"array"!==i.kind||"number"==typeof i.N&&0!==i.N||(n=i),new se(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class le{constructor(t){this.name="ExpressionEvaluationError",this.message=t}toJSON(){return this.message}}const ce={string:ut,number:ct,boolean:ht,object:pt};class ue{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");let r,n=1;const i=t[0];if("array"===i){let i,a;if(t.length>2){const r=t[1];if("string"!=typeof r||!(r in ce)||"object"===r)return e.error('The item type argument of "array" must be one of string, number, boolean',1);i=ce[r],n++}else i=dt;if(t.length>3){if(null!==t[2]&&("number"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to "array" must be a positive integer literal',2);a=t[2],n++}r=_t(i,a)}else{if(!ce[i])throw new Error(`Types doesn't contain name = ${i}`);r=ce[i]}const a=[];for(;nt.outputDefined()))}}const he={"to-boolean":ht,"to-color":ft,"to-number":ct,"to-string":ut};class fe{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const r=t[0];if(!he[r])throw new Error(`Can't parse ${r} as it is not part of the known types`);if(("to-boolean"===r||"to-string"===r)&&2!==t.length)return e.error("Expected one argument.");const n=he[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:ne(e[0],e[1],e[2],e[3]),!r))return new Xt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new le(r||`Could not parse color from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"padding":{let e;for(const r of this.args){e=r.evaluate(t);const n=Qt.parse(e);if(n)return n}throw new le(`Could not parse padding from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"variableAnchorOffsetCollection":{let e;for(const r of this.args){e=r.evaluate(t);const n=ee.parse(e);if(n)return n}throw new le(`Could not parse variableAnchorOffsetCollection from value '${"string"==typeof e?e:JSON.stringify(e)}'`)}case"number":{let e=null;for(const r of this.args){if(e=r.evaluate(t),null===e)return 0;const n=Number(e);if(!isNaN(n))return n}throw new le(`Could not convert ${JSON.stringify(e)} to number.`)}case"formatted":return Kt.fromString(oe(this.args[0].evaluate(t)));case"resolvedImage":return re.fromString(oe(this.args[0].evaluate(t)));default:return oe(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const pe=["Unknown","Point","LineString","Polygon"];class de{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?pe[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Xt.parse(t)),e}}class me{constructor(t,e,r=[],n,i=new st,a=[]){this.registry=t,this.path=r,this.key=r.map((t=>`[${t}]`)).join(""),this.scope=i,this.errors=a,this.expectedType=n,this._isConstant=e}parse(t,e,r,n,i={}){return e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)}_parse(t,e){function r(t,e,r){return"assert"===r?new ue(e,[t]):"coerce"===r?new fe(e,[t]):t}if(null!==t&&"string"!=typeof t&&"boolean"!=typeof t&&"number"!=typeof t||(t=["literal",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const n=t[0];if("string"!=typeof n)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const i=this.registry[n];if(i){let n=i.parse(t,this);if(!n)return null;if(this.expectedType){const t=this.expectedType,i=n.type;if("string"!==t.kind&&"number"!==t.kind&&"boolean"!==t.kind&&"object"!==t.kind&&"array"!==t.kind||"value"!==i.kind)if("color"!==t.kind&&"formatted"!==t.kind&&"resolvedImage"!==t.kind||"value"!==i.kind&&"string"!==i.kind)if("padding"!==t.kind||"value"!==i.kind&&"number"!==i.kind&&"array"!==i.kind)if("variableAnchorOffsetCollection"!==t.kind||"value"!==i.kind&&"array"!==i.kind){if(this.checkSubtype(t,i))return null}else n=r(n,t,e.typeAnnotation||"coerce");else n=r(n,t,e.typeAnnotation||"coerce");else n=r(n,t,e.typeAnnotation||"coerce");else n=r(n,t,e.typeAnnotation||"assert")}if(!(n instanceof se)&&"resolvedImage"!==n.type.kind&&this._isConstant(n)){const t=new de;try{n=new se(n.type,n.evaluate(t))}catch(t){return this.error(t.message),null}}return n}return this.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0)}return void 0===t?this.error("'undefined' value invalid. Use null instead."):"object"==typeof t?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error(`Expected an array, but found ${typeof t} instead.`)}concat(t,e,r){const n="number"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new me(this.registry,this._isConstant,n,e||null,i,this.errors)}error(t,...e){const r=`${this.key}${e.map((t=>`[${t}]`)).join("")}`;this.errors.push(new ot(r,t))}checkSubtype(t,e){const r=Tt(t,e);return r&&this.error(r),r}}class ge{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result)}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const r=[];for(let n=1;n=r.length)throw new le(`Array index out of bounds: ${e} > ${r.length-1}.`);if(e!==Math.floor(e))throw new le(`Array index must be an integer, but found ${e} instead.`);return r[e]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}}class xe{constructor(t,e){this.type=ht,this.needle=t,this.haystack=e}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,dt);return r&&n?kt(r.type,[ht,ut,ct,lt,dt])?new xe(r,n):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${bt(r.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return!1;if(!At(e,["boolean","string","number","null"]))throw new le(`Expected first argument to be of type boolean, string, number or null, but found ${bt(ae(e))} instead.`);if(!At(r,["string","array"]))throw new le(`Expected second argument to be of type array or string, but found ${bt(ae(r))} instead.`);return r.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class _e{constructor(t,e,r){this.type=ct,this.needle=t,this.haystack=e,this.fromIndex=r}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,dt);if(!r||!n)return null;if(!kt(r.type,[ht,ut,ct,lt,dt]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${bt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ct);return i?new _e(r,n,i):null}return new _e(r,n)}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!At(e,["boolean","string","number","null"]))throw new le(`Expected first argument to be of type boolean, string, number or null, but found ${bt(ae(e))} instead.`);if(!At(r,["string","array"]))throw new le(`Expected second argument to be of type array or string, but found ${bt(ae(r))} instead.`);if(this.fromIndex){const n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class be{constructor(t,e,r,n,i,a){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=a}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error("Expected an even number of arguments.");let r,n;e.expectedType&&"value"!==e.expectedType.kind&&(n=e.expectedType);const i={},a=[];for(let o=2;oNumber.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof t&&Math.floor(t)!==t)return c.error("Numeric branch labels must be integer values.");if(r){if(c.checkSubtype(r,ae(t)))return null}else r=ae(t);if(void 0!==i[String(t)])return c.error("Branch labels must be unique.");i[String(t)]=a.length}const u=e.parse(l,o,n);if(!u)return null;n=n||u.type,a.push(u)}const o=e.parse(t[1],1,dt);if(!o)return null;const s=e.parse(t[t.length-1],t.length-1,n);return s?"value"!==o.type.kind&&e.concat(1).checkSubtype(r,o.type)?null:new be(r,n,o,i,a,s):null}evaluate(t){const e=this.input.evaluate(t);return(ae(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}}class we{constructor(t,e,r){this.type=t,this.branches=e,this.otherwise=r}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error("Expected an odd number of arguments.");let r;e.expectedType&&"value"!==e.expectedType.kind&&(r=e.expectedType);const n=[];for(let i=1;ie.outputDefined()))&&this.otherwise.outputDefined()}}class Te{constructor(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,ct);if(!r||!n)return null;if(!kt(r.type,[_t(dt),ut,dt]))return e.error(`Expected first argument to be of type array or string, but found ${bt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ct);return i?new Te(r.type,r,n,i):null}return new Te(r.type,r,n)}evaluate(t){const e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!At(e,["string","array"]))throw new le(`Expected first argument to be of type array or string, but found ${bt(ae(e))} instead.`);if(this.endIndex){const n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function ke(t,e){const r=t.length-1;let n,i,a=0,o=r,s=0;for(;a<=o;)if(s=Math.floor((a+o)/2),n=t[s],i=t[s+1],n<=e){if(s===r||ee))throw new le("Input is not a number.");o=s-1}return 0}class Ae{constructor(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[t,e]of r)this.labels.push(t),this.outputs.push(e)}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");const r=e.parse(t[1],1,ct);if(!r)return null;const n=[];let i=null;e.expectedType&&"value"!==e.expectedType.kind&&(i=e.expectedType);for(let r=1;r=a)return e.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',s);const c=e.parse(o,l,i);if(!c)return null;i=i||c.type,n.push([a,c])}return new Ae(i,r,n)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[ke(e,n)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Me(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Se=Ee;function Ee(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=r,this.p2y=n}Ee.prototype={sampleCurveX:function(t){return((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?o=r:s=r,r=.5*(s-o)+o;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var Ce=Me(Se);function Le(t,e,r){return t+r*(e-t)}function Ie(t,e,r){return t.map(((t,n)=>Le(t,e[n],r)))}const Pe={number:Le,color:function(t,e,r,n="rgb"){switch(n){case"rgb":{const[n,i,a,o]=Ie(t.rgb,e.rgb,r);return new Xt(n,i,a,o,!1)}case"hcl":{const[n,i,a,o]=t.hcl,[s,l,c,u]=e.hcl;let h,f;if(isNaN(n)||isNaN(s))isNaN(n)?isNaN(s)?h=NaN:(h=s,1!==a&&0!==a||(f=l)):(h=n,1!==c&&0!==c||(f=i));else{let t=s-n;s>n&&t>180?t-=360:s180&&(t+=360),h=n+r*t}const[p,d,m,g]=function([t,e,r,n]){return t=isNaN(t)?0:t*Ot,jt([r,Math.cos(t)*e,Math.sin(t)*e,n])}([h,null!=f?f:Le(i,l,r),Le(a,c,r),Le(o,u,r)]);return new Xt(p,d,m,g,!1)}case"lab":{const[n,i,a,o]=jt(Ie(t.lab,e.lab,r));return new Xt(n,i,a,o,!1)}}},array:Ie,padding:function(t,e,r){return new Qt(Ie(t.values,e.values,r))},variableAnchorOffsetCollection:function(t,e,r){const n=t.values,i=e.values;if(n.length!==i.length)throw new le(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${e.toString()}`);const a=[];for(let t=0;t"number"!=typeof t||t<0||t>1)))return e.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);n={name:"cubic-bezier",controlPoints:t}}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error("Expected an even number of arguments.");if(i=e.parse(i,2,ct),!i)return null;const o=[];let s=null;"interpolate-hcl"===r||"interpolate-lab"===r?s=ft:e.expectedType&&"value"!==e.expectedType.kind&&(s=e.expectedType);for(let t=0;t=r)return e.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',i);const c=e.parse(n,l,s);if(!c)return null;s=s||c.type,o.push([r,c])}return Mt(s,ct)||Mt(s,ft)||Mt(s,yt)||Mt(s,xt)||Mt(s,_t(ct))?new ze(s,r,n,i,o):e.error(`Type ${bt(s)} is not interpolatable.`)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);const a=ke(e,n),o=e[a],s=e[a+1],l=ze.interpolationFactor(this.interpolation,n,o,s),c=r[a].evaluate(t),u=r[a+1].evaluate(t);switch(this.operator){case"interpolate":return Pe[this.type.kind](c,u,l);case"interpolate-hcl":return Pe.color(c,u,l,"hcl");case"interpolate-lab":return Pe.color(c,u,l,"lab")}}eachChild(t){t(this.input);for(const e of this.outputs)t(e)}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Oe(t,e,r,n){const i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}class De{constructor(t,e){this.type=t,this.args=e}static parse(t,e){if(t.length<2)return e.error("Expectected at least one argument.");let r=null;const n=e.expectedType;n&&"value"!==n.kind&&(r=n);const i=[];for(const n of t.slice(1)){const t=e.parse(n,1+i.length,r,void 0,{typeAnnotation:"omit"});if(!t)return null;r=r||t.type,i.push(t)}if(!r)throw new Error("No output type");const a=n&&i.some((t=>Tt(n,t.type)));return new De(a?dt:r,i)}evaluate(t){let e,r=null,n=0;for(const i of this.args)if(n++,r=i.evaluate(t),r&&r instanceof re&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null!==r)break;return r}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every((t=>t.outputDefined()))}}function Re(t,e){return"=="===t||"!="===t?"boolean"===e.kind||"string"===e.kind||"number"===e.kind||"null"===e.kind||"value"===e.kind:"string"===e.kind||"number"===e.kind||"value"===e.kind}function Fe(t,e,r,n){return 0===n.compare(e,r)}function Be(t,e,r){const n="=="!==t&&"!="!==t;return class i{constructor(t,e,r){this.type=ht,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument="value"===t.type.kind||"value"===e.type.kind}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error("Expected two or three arguments.");const r=t[0];let a=e.parse(t[1],1,dt);if(!a)return null;if(!Re(r,a.type))return e.concat(1).error(`"${r}" comparisons are not supported for type '${bt(a.type)}'.`);let o=e.parse(t[2],2,dt);if(!o)return null;if(!Re(r,o.type))return e.concat(2).error(`"${r}" comparisons are not supported for type '${bt(o.type)}'.`);if(a.type.kind!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error(`Cannot compare types '${bt(a.type)}' and '${bt(o.type)}'.`);n&&("value"===a.type.kind&&"value"!==o.type.kind?a=new ue(o.type,[a]):"value"!==a.type.kind&&"value"===o.type.kind&&(o=new ue(a.type,[o])));let s=null;if(4===t.length){if("string"!==a.type.kind&&"string"!==o.type.kind&&"value"!==a.type.kind&&"value"!==o.type.kind)return e.error("Cannot use collator to compare non-string types.");if(s=e.parse(t[3],3,mt),!s)return null}return new i(a,o,s)}evaluate(i){const a=this.lhs.evaluate(i),o=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){const e=ae(a),r=ae(o);if(e.kind!==r.kind||"string"!==e.kind&&"number"!==e.kind)throw new le(`Expected arguments for "${t}" to be (string, string) or (number, number), but found (${e.kind}, ${r.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){const t=ae(a),r=ae(o);if("string"!==t.kind||"string"!==r.kind)return e(i,a,o)}return this.collator?r(i,a,o,this.collator.evaluate(i)):e(i,a,o)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator)}outputDefined(){return!0}}}const Ne=Be("==",(function(t,e,r){return e===r}),Fe),je=Be("!=",(function(t,e,r){return e!==r}),(function(t,e,r,n){return!Fe(0,e,r,n)})),Ue=Be("<",(function(t,e,r){return e",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),qe=Be("<=",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),He=Be(">=",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0}));class Ge{constructor(t,e,r){this.type=mt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e}static parse(t,e){if(2!==t.length)return e.error("Expected one argument.");const r=t[1];if("object"!=typeof r||Array.isArray(r))return e.error("Collator options argument must be an object.");const n=e.parse(void 0!==r["case-sensitive"]&&r["case-sensitive"],1,ht);if(!n)return null;const i=e.parse(void 0!==r["diacritic-sensitive"]&&r["diacritic-sensitive"],1,ht);if(!i)return null;let a=null;return r.locale&&(a=e.parse(r.locale,1,ut),!a)?null:new Ge(n,i,a)}evaluate(t){return new $t(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}}class Ze{constructor(t,e,r,n,i){this.type=ut,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i}static parse(t,e){if(3!==t.length)return e.error("Expected two arguments.");const r=e.parse(t[1],1,ct);if(!r)return null;const n=t[2];if("object"!=typeof n||Array.isArray(n))return e.error("NumberFormat options argument must be an object.");let i=null;if(n.locale&&(i=e.parse(n.locale,1,ut),!i))return null;let a=null;if(n.currency&&(a=e.parse(n.currency,1,ut),!a))return null;let o=null;if(n["min-fraction-digits"]&&(o=e.parse(n["min-fraction-digits"],1,ct),!o))return null;let s=null;return n["max-fraction-digits"]&&(s=e.parse(n["max-fraction-digits"],1,ct),!s)?null:new Ze(r,i,a,o,s)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}}class We{constructor(t){this.type=gt,this.sections=t}static parse(t,e){if(t.length<2)return e.error("Expected at least one argument.");const r=t[1];if(!Array.isArray(r)&&"object"==typeof r)return e.error("First argument must be an image or text section.");const n=[];let i=!1;for(let r=1;r<=t.length-1;++r){const a=t[r];if(i&&"object"==typeof a&&!Array.isArray(a)){i=!1;let t=null;if(a["font-scale"]&&(t=e.parse(a["font-scale"],1,ct),!t))return null;let r=null;if(a["text-font"]&&(r=e.parse(a["text-font"],1,_t(ut)),!r))return null;let o=null;if(a["text-color"]&&(o=e.parse(a["text-color"],1,ft),!o))return null;const s=n[n.length-1];s.scale=t,s.font=r,s.textColor=o}else{const a=e.parse(t[r],1,dt);if(!a)return null;const o=a.type.kind;if("string"!==o&&"value"!==o&&"null"!==o&&"resolvedImage"!==o)return e.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");i=!0,n.push({content:a,scale:null,font:null,textColor:null})}}return new We(n)}evaluate(t){return new Kt(this.sections.map((e=>{const r=e.content.evaluate(t);return ae(r)===vt?new Jt("",r,null,null,null):new Jt(oe(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(","):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor)}outputDefined(){return!1}}class Ye{constructor(t){this.type=vt,this.input=t}static parse(t,e){if(2!==t.length)return e.error("Expected two arguments.");const r=e.parse(t[1],1,ut);return r?new Ye(r):e.error("No image name provided.")}evaluate(t){const e=this.input.evaluate(t),r=re.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r}eachChild(t){t(this.input)}outputDefined(){return!1}}class Xe{constructor(t){this.type=ct,this.input=t}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const r=e.parse(t[1],1);return r?"array"!==r.type.kind&&"string"!==r.type.kind&&"value"!==r.type.kind?e.error(`Expected argument of type string or array, but found ${bt(r.type)} instead.`):new Xe(r):null}evaluate(t){const e=this.input.evaluate(t);if("string"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new le(`Expected value to be of type string or array, but found ${bt(ae(e))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const $e=8192;function Je(t,e){const r=(180+t[0])/360,n=(a=t[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+a*Math.PI/360)))/360),i=Math.pow(2,e.z);var a;return[Math.round(r*i*$e),Math.round(n*i*$e)]}function Ke(t,e){const r=Math.pow(2,e.z),n=(t[0]/$e+e.x)/r,i=(t[1]/$e+e.y)/r;return[(o=n,360*o-180),(a=i,360/Math.PI*Math.atan(Math.exp((180-360*a)*Math.PI/180))-90)];var a,o}function Qe(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1])}function tr(t,e){return!(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function er(t,e,r){const n=t[0]-e[0],i=t[1]-e[1],a=t[0]-r[0],o=t[1]-r[1];return n*o-a*i==0&&n*a<=0&&i*o<=0}function rr(t,e,r,n){const i=[e[0]-t[0],e[1]-t[1]];return 0!=(a=[n[0]-r[0],n[1]-r[1]],o=i,a[0]*o[1]-a[1]*o[0])&&!(!lr(t,e,r,n)||!lr(r,n,t,e));var a,o}function nr(t,e,r){for(const n of r)for(let r=0;ri[1]!=o[1]>i[1]&&i[0]<(o[0]-a[0])*(i[1]-a[1])/(o[1]-a[1])+a[0]&&(n=!n)}var i,a,o;return n}function ar(t,e){for(const r of e)if(ir(t,r))return!0;return!1}function or(t,e){for(const r of t)if(!ir(r,e))return!1;for(let r=0;r0&&h<0||u<0&&h>0}function cr(t,e,r){const n=[];for(let i=0;ir[2]){const e=.5*n;let i=t[0]-r[0]>e?-n:r[0]-t[0]>e?n:0;0===i&&(i=t[0]-r[2]>e?-n:r[2]-t[0]>e?n:0),t[0]+=i}Qe(e,t)}function fr(t,e,r,n){const i=Math.pow(2,n.z)*$e,a=[n.x*$e,n.y*$e],o=[];for(const n of t)for(const t of n){const n=[t.x+a[0],t.y+a[1]];hr(n,e,r,i),o.push(n)}return o}function pr(t,e,r,n){const i=Math.pow(2,n.z)*$e,a=[n.x*$e,n.y*$e],o=[];for(const r of t){const t=[];for(const n of r){const r=[n.x+a[0],n.y+a[1]];Qe(e,r),t.push(r)}o.push(t)}if(e[2]-e[0]<=i/2){(s=e)[0]=s[1]=1/0,s[2]=s[3]=-1/0;for(const t of o)for(const n of t)hr(n,e,r,i)}var s;return o}class dr{constructor(t,e){this.type=ht,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(ie(t[1])){const e=t[1];if("FeatureCollection"===e.type){const t=[];for(const r of e.features){const{type:e,coordinates:n}=r.geometry;"Polygon"===e&&t.push(n),"MultiPolygon"===e&&t.push(...n)}if(t.length)return new dr(e,{type:"MultiPolygon",coordinates:t})}else if("Feature"===e.type){const t=e.geometry.type;if("Polygon"===t||"MultiPolygon"===t)return new dr(e,e.geometry)}else if("Polygon"===e.type||"MultiPolygon"===e.type)return new dr(e,e)}return e.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if("Polygon"===e.type){const a=cr(e.coordinates,n,i),o=fr(t.geometry(),r,n,i);if(!tr(r,n))return!1;for(const t of o)if(!ir(t,a))return!1}if("MultiPolygon"===e.type){const a=ur(e.coordinates,n,i),o=fr(t.geometry(),r,n,i);if(!tr(r,n))return!1;for(const t of o)if(!ar(t,a))return!1}return!0}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if("Polygon"===e.type){const a=cr(e.coordinates,n,i),o=pr(t.geometry(),r,n,i);if(!tr(r,n))return!1;for(const t of o)if(!or(t,a))return!1}if("MultiPolygon"===e.type){const a=ur(e.coordinates,n,i),o=pr(t.geometry(),r,n,i);if(!tr(r,n))return!1;for(const t of o)if(!sr(t,a))return!1}return!0}(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let mr=class{constructor(t=[],e=gr){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=a,t=n}e[t]=i}};function gr(t,e){return te?1:0}function yr(t,e,r,n,i){vr(t,e,r,n||t.length-1,i||_r)}function vr(t,e,r,n,i){for(;n>r;){if(n-r>600){var a=n-r+1,o=e-r+1,s=Math.log(a),l=.5*Math.exp(2*s/3),c=.5*Math.sqrt(s*l*(a-l)/a)*(o-a/2<0?-1:1);vr(t,e,Math.max(r,Math.floor(e-o*l/a+c)),Math.min(n,Math.floor(e+(a-o)*l/a+c)),i)}var u=t[e],h=r,f=n;for(xr(t,r,e),i(t[n],u)>0&&xr(t,r,n);h0;)f--}0===i(t[r],u)?xr(t,r,f):xr(t,++f,n),f<=e&&(r=f+1),e<=f&&(n=f-1)}}function xr(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function _r(t,e){return te?1:0}function br(t,e){if(t.length<=1)return[t];const r=[];let n,i;for(const e of t){const t=Tr(e);0!==t&&(e.area=Math.abs(t),void 0===i&&(i=t<0),i===t<0?(n&&r.push(n),n=[e]):n.push(e))}if(n&&r.push(n),e>1)for(let t=0;t1?(l=t[s+1][0],c=t[s+1][1]):f>0&&(l+=u/this.kx*f,c+=h/this.ky*f)),u=this.wrap(e[0]-l)*this.kx,h=(e[1]-c)*this.ky;const p=u*u+h*h;p180;)t-=360;return t}}const Er=100,Cr=50;function Lr(t,e){return e[0]-t[0]}function Ir(t){return t[1]-t[0]+1}function Pr(t,e){return t[1]>=t[0]&&t[1]t[1])return[null,null];const r=Ir(t);if(e){if(2===r)return[t,null];const e=Math.floor(r/2);return[[t[0],t[0]+e],[t[0]+e,t[1]]]}if(1===r)return[t,null];const n=Math.floor(r/2)-1;return[[t[0],t[0]+n],[t[0]+n+1,t[1]]]}function Or(t,e){if(!Pr(e,t.length))return[1/0,1/0,-1/0,-1/0];const r=[1/0,1/0,-1/0,-1/0];for(let n=e[0];n<=e[1];++n)Qe(r,t[n]);return r}function Dr(t){const e=[1/0,1/0,-1/0,-1/0];for(const r of t)for(const t of r)Qe(e,t);return e}function Rr(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function Fr(t,e,r){if(!Rr(t)||!Rr(e))return NaN;let n=0,i=0;return t[2]e[2]&&(n=t[0]-e[2]),t[1]>e[3]&&(i=t[1]-e[3]),t[3]=n)return n;if(tr(i,a)){if(Hr(t,e))return 0}else if(Hr(e,t))return 0;let o=1/0;for(const n of t)for(let t=0,i=n.length,a=i-1;t0;){const i=o.pop();if(i[0]>=a)continue;const l=i[1],c=e?Cr:Er;if(Ir(l)<=c){if(!Pr(l,t.length))return NaN;if(e){const e=qr(t,l,r,n);if(isNaN(e)||0===e)return e;a=Math.min(a,e)}else for(let e=l[0];e<=l[1];++e){const i=Vr(t[e],r,n);if(a=Math.min(a,i),0===a)return 0}}else{const r=zr(l,e);Zr(o,a,n,t,s,r[0]),Zr(o,a,n,t,s,r[1])}}return a}function Xr(t,e,r,n,i,a=1/0){let o=Math.min(a,i.distance(t[0],r[0]));if(0===o)return o;const s=new mr([[0,[0,t.length-1],[0,r.length-1]]],Lr);for(;s.length>0;){const a=s.pop();if(a[0]>=o)continue;const l=a[1],c=a[2],u=e?Cr:Er,h=n?Cr:Er;if(Ir(l)<=u&&Ir(c)<=h){if(!Pr(l,t.length)&&Pr(c,r.length))return NaN;let a;if(e&&n)a=jr(t,l,r,c,i),o=Math.min(o,a);else if(e&&!n){const e=t.slice(l[0],l[1]+1);for(let t=c[0];t<=c[1];++t)if(a=Br(r[t],e,i),o=Math.min(o,a),0===o)return o}else if(!e&&n){const e=r.slice(c[0],c[1]+1);for(let r=l[0];r<=l[1];++r)if(a=Br(t[r],e,i),o=Math.min(o,a),0===o)return o}else a=Ur(t,l,r,c,i),o=Math.min(o,a)}else{const a=zr(l,e),u=zr(c,n);Wr(s,o,i,t,r,a[0],u[0]),Wr(s,o,i,t,r,a[0],u[1]),Wr(s,o,i,t,r,a[1],u[0]),Wr(s,o,i,t,r,a[1],u[1])}}return o}function $r(t){return"MultiPolygon"===t.type?t.coordinates.map((t=>({type:"Polygon",coordinates:t}))):"MultiLineString"===t.type?t.coordinates.map((t=>({type:"LineString",coordinates:t}))):"MultiPoint"===t.type?t.coordinates.map((t=>({type:"Point",coordinates:t}))):[t]}class Jr{constructor(t,e){this.type=ct,this.geojson=t,this.geometries=e}static parse(t,e){if(2!==t.length)return e.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(ie(t[1])){const e=t[1];if("FeatureCollection"===e.type)return new Jr(e,e.features.map((t=>$r(t.geometry))).flat());if("Feature"===e.type)return new Jr(e,$r(e.geometry));if("type"in e&&"coordinates"in e)return new Jr(e,$r(e))}return e.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if("Point"===t.geometryType())return function(t,e){const r=t.geometry(),n=r.flat().map((e=>Ke([e.x,e.y],t.canonical)));if(0===r.length)return NaN;const i=new Sr(n[0][1]);let a=1/0;for(const t of e){switch(t.type){case"Point":a=Math.min(a,Xr(n,!1,[t.coordinates],!1,i,a));break;case"LineString":a=Math.min(a,Xr(n,!1,t.coordinates,!0,i,a));break;case"Polygon":a=Math.min(a,Yr(n,!1,t.coordinates,i,a))}if(0===a)return a}return a}(t,this.geometries);if("LineString"===t.geometryType())return function(t,e){const r=t.geometry(),n=r.flat().map((e=>Ke([e.x,e.y],t.canonical)));if(0===r.length)return NaN;const i=new Sr(n[0][1]);let a=1/0;for(const t of e){switch(t.type){case"Point":a=Math.min(a,Xr(n,!0,[t.coordinates],!1,i,a));break;case"LineString":a=Math.min(a,Xr(n,!0,t.coordinates,!0,i,a));break;case"Polygon":a=Math.min(a,Yr(n,!0,t.coordinates,i,a))}if(0===a)return a}return a}(t,this.geometries);if("Polygon"===t.geometryType())return function(t,e){const r=t.geometry();if(0===r.length||0===r[0].length)return NaN;const n=br(r,0).map((e=>e.map((e=>e.map((e=>Ke([e.x,e.y],t.canonical))))))),i=new Sr(n[0][0][0][1]);let a=1/0;for(const t of e)for(const e of n){switch(t.type){case"Point":a=Math.min(a,Yr([t.coordinates],!1,e,i,a));break;case"LineString":a=Math.min(a,Yr(t.coordinates,!0,e,i,a));break;case"Polygon":a=Math.min(a,Gr(e,t.coordinates,i,a))}if(0===a)return a}return a}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}const Kr={"==":Ne,"!=":je,">":Ve,"<":Ue,">=":He,"<=":qe,array:ue,at:ve,boolean:ue,case:we,coalesce:De,collator:Ge,format:We,image:Ye,in:xe,"index-of":_e,interpolate:ze,"interpolate-hcl":ze,"interpolate-lab":ze,length:Xe,let:ge,literal:se,match:be,number:ue,"number-format":Ze,object:ue,slice:Te,step:Ae,string:ue,"to-boolean":fe,"to-color":fe,"to-number":fe,"to-string":fe,var:ye,within:dr,distance:Jr};class Qr{constructor(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,e){const r=t[0],n=Qr.definitions[r];if(!n)return e.error(`Unknown expression "${r}". If you wanted a literal array, use ["literal", [...]].`,0);const i=Array.isArray(n)?n[0]:n.type,a=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,o=a.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let s=null;for(const[n,a]of o){s=new me(e.registry,an,e.path,null,e.scope);const o=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(bt).join(", ")})`:`(${bt(e.type)}...)`;var e})).join(" | "),n=[];for(let r=1;r{r=e?r&&an(t):r&&t instanceof se})),!!r&&on(t)&&ln(t,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function on(t){if(t instanceof Qr){if("get"===t.name&&1===t.args.length)return!1;if("feature-state"===t.name)return!1;if("has"===t.name&&1===t.args.length)return!1;if("properties"===t.name||"geometry-type"===t.name||"id"===t.name)return!1;if(/^filter-/.test(t.name))return!1}if(t instanceof dr)return!1;if(t instanceof Jr)return!1;let e=!0;return t.eachChild((t=>{e&&!on(t)&&(e=!1)})),e}function sn(t){if(t instanceof Qr&&"feature-state"===t.name)return!1;let e=!0;return t.eachChild((t=>{e&&!sn(t)&&(e=!1)})),e}function ln(t,e){if(t instanceof Qr&&e.indexOf(t.name)>=0)return!1;let r=!0;return t.eachChild((t=>{r&&!ln(t,e)&&(r=!1)})),r}function cn(t){return{result:"success",value:t}}function un(t){return{result:"error",value:t}}function hn(t){return"data-driven"===t["property-type"]||"cross-faded-data-driven"===t["property-type"]}function fn(t){return!!t.expression&&t.expression.parameters.indexOf("zoom")>-1}function pn(t){return!!t.expression&&t.expression.interpolated}function dn(t){return t instanceof Number?"number":t instanceof String?"string":t instanceof Boolean?"boolean":Array.isArray(t)?"array":null===t?"null":typeof t}function mn(t){return"object"==typeof t&&null!==t&&!Array.isArray(t)}function gn(t){return t}function yn(t,e){const r="color"===e.type,n=t.stops&&"object"==typeof t.stops[0][0],i=n||void 0!==t.property,a=n||!i,o=t.type||(pn(e)?"exponential":"interval");if(r||"padding"===e.type){const n=r?Xt.parse:Qt.parse;(t=at({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],n(t[1])]))),t.default?t.default=n(t.default):t.default=n(e.default)}if(t.colorSpace&&("rgb"!==(s=t.colorSpace)&&"hcl"!==s&&"lab"!==s))throw new Error(`Unknown color space: "${t.colorSpace}"`);var s;let l,c,u;if("exponential"===o)l=bn;else if("interval"===o)l=_n;else if("categorical"===o){l=xn,c=Object.create(null);for(const e of t.stops)c[e[0]]=e[1];u=typeof t.stops[0][0]}else{if("identity"!==o)throw new Error(`Unknown function type "${o}"`);l=wn}if(n){const r={},n=[];for(let e=0;et[0])),evaluate({zoom:r},n){return bn({stops:i,base:t.base},e,r).evaluate(r,n)}}}if(a){const r="exponential"===o?{name:"exponential",base:void 0!==t.base?t.base:1}:null;return{kind:"camera",interpolationType:r,interpolationFactor:ze.interpolationFactor.bind(void 0,r),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:r})=>l(t,e,r,c,u)}}return{kind:"source",evaluate(r,n){const i=n&&n.properties?n.properties[t.property]:void 0;return void 0===i?vn(t.default,e.default):l(t,e,i,c,u)}}}function vn(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function xn(t,e,r,n,i){return vn(typeof r===i?n[r]:void 0,t.default,e.default)}function _n(t,e,r){if("number"!==dn(r))return vn(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];const i=ke(t.stops.map((t=>t[0])),r);return t.stops[i][1]}function bn(t,e,r){const n=void 0!==t.base?t.base:1;if("number"!==dn(r))return vn(t.default,e.default);const i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];const a=ke(t.stops.map((t=>t[0])),r),o=function(t,e,r,n){const i=n-r,a=t-r;return 0===i?0:1===e?a/i:(Math.pow(e,a)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[a][0],t.stops[a+1][0]),s=t.stops[a][1],l=t.stops[a+1][1],c=Pe[e.type]||gn;return"function"==typeof s.evaluate?{evaluate(...e){const r=s.evaluate.apply(void 0,e),n=l.evaluate.apply(void 0,e);if(void 0!==r&&void 0!==n)return c(r,n,o,t.colorSpace)}}:c(s,l,o,t.colorSpace)}function wn(t,e,r){switch(e.type){case"color":r=Xt.parse(r);break;case"formatted":r=Kt.fromString(r.toString());break;case"resolvedImage":r=re.fromString(r.toString());break;case"padding":r=Qt.parse(r);break;default:dn(r)===e.type||"enum"===e.type&&e.values[r]||(r=void 0)}return vn(r,t.default,e.default)}Qr.register(Kr,{error:[{kind:"error"},[ut],(t,[e])=>{throw new le(e.evaluate(t))}],typeof:[ut,[dt],(t,[e])=>bt(ae(e.evaluate(t)))],"to-rgba":[_t(ct,4),[ft],(t,[e])=>{const[r,n,i,a]=e.evaluate(t).rgb;return[255*r,255*n,255*i,a]}],rgb:[ft,[ct,ct,ct],tn],rgba:[ft,[ct,ct,ct,ct],tn],has:{type:ht,overloads:[[[ut],(t,[e])=>en(e.evaluate(t),t.properties())],[[ut,pt],(t,[e,r])=>en(e.evaluate(t),r.evaluate(t))]]},get:{type:dt,overloads:[[[ut],(t,[e])=>rn(e.evaluate(t),t.properties())],[[ut,pt],(t,[e,r])=>rn(e.evaluate(t),r.evaluate(t))]]},"feature-state":[dt,[ut],(t,[e])=>rn(e.evaluate(t),t.featureState||{})],properties:[pt,[],t=>t.properties()],"geometry-type":[ut,[],t=>t.geometryType()],id:[dt,[],t=>t.id()],zoom:[ct,[],t=>t.globals.zoom],"heatmap-density":[ct,[],t=>t.globals.heatmapDensity||0],"line-progress":[ct,[],t=>t.globals.lineProgress||0],accumulated:[dt,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],"+":[ct,nn(ct),(t,e)=>{let r=0;for(const n of e)r+=n.evaluate(t);return r}],"*":[ct,nn(ct),(t,e)=>{let r=1;for(const n of e)r*=n.evaluate(t);return r}],"-":{type:ct,overloads:[[[ct,ct],(t,[e,r])=>e.evaluate(t)-r.evaluate(t)],[[ct],(t,[e])=>-e.evaluate(t)]]},"/":[ct,[ct,ct],(t,[e,r])=>e.evaluate(t)/r.evaluate(t)],"%":[ct,[ct,ct],(t,[e,r])=>e.evaluate(t)%r.evaluate(t)],ln2:[ct,[],()=>Math.LN2],pi:[ct,[],()=>Math.PI],e:[ct,[],()=>Math.E],"^":[ct,[ct,ct],(t,[e,r])=>Math.pow(e.evaluate(t),r.evaluate(t))],sqrt:[ct,[ct],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[ct,[ct],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[ct,[ct],(t,[e])=>Math.log(e.evaluate(t))],log2:[ct,[ct],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[ct,[ct],(t,[e])=>Math.sin(e.evaluate(t))],cos:[ct,[ct],(t,[e])=>Math.cos(e.evaluate(t))],tan:[ct,[ct],(t,[e])=>Math.tan(e.evaluate(t))],asin:[ct,[ct],(t,[e])=>Math.asin(e.evaluate(t))],acos:[ct,[ct],(t,[e])=>Math.acos(e.evaluate(t))],atan:[ct,[ct],(t,[e])=>Math.atan(e.evaluate(t))],min:[ct,nn(ct),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[ct,nn(ct),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[ct,[ct],(t,[e])=>Math.abs(e.evaluate(t))],round:[ct,[ct],(t,[e])=>{const r=e.evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[ct,[ct],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[ct,[ct],(t,[e])=>Math.ceil(e.evaluate(t))],"filter-==":[ht,[ut,dt],(t,[e,r])=>t.properties()[e.value]===r.value],"filter-id-==":[ht,[dt],(t,[e])=>t.id()===e.value],"filter-type-==":[ht,[ut],(t,[e])=>t.geometryType()===e.value],"filter-<":[ht,[ut,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n{const r=t.id(),n=e.value;return typeof r==typeof n&&r":[ht,[ut,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>i}],"filter-id->":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>n}],"filter-<=":[ht,[ut,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n<=i}],"filter-id-<=":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r<=n}],"filter->=":[ht,[ut,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>=i}],"filter-id->=":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>=n}],"filter-has":[ht,[dt],(t,[e])=>e.value in t.properties()],"filter-has-id":[ht,[],t=>null!==t.id()&&void 0!==t.id()],"filter-type-in":[ht,[_t(ut)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],"filter-id-in":[ht,[_t(dt)],(t,[e])=>e.value.indexOf(t.id())>=0],"filter-in-small":[ht,[ut,_t(dt)],(t,[e,r])=>r.value.indexOf(t.properties()[e.value])>=0],"filter-in-large":[ht,[ut,_t(dt)],(t,[e,r])=>function(t,e,r,n){for(;r<=n;){const i=r+n>>1;if(e[i]===t)return!0;e[i]>t?n=i-1:r=i+1}return!1}(t.properties()[e.value],r.value,0,r.value.length-1)],all:{type:ht,overloads:[[[ht,ht],(t,[e,r])=>e.evaluate(t)&&r.evaluate(t)],[nn(ht),(t,e)=>{for(const r of e)if(!r.evaluate(t))return!1;return!0}]]},any:{type:ht,overloads:[[[ht,ht],(t,[e,r])=>e.evaluate(t)||r.evaluate(t)],[nn(ht),(t,e)=>{for(const r of e)if(r.evaluate(t))return!0;return!1}]]},"!":[ht,[ht],(t,[e])=>!e.evaluate(t)],"is-supported-script":[ht,[ut],(t,[e])=>{const r=t.globals&&t.globals.isSupportedScript;return!r||r(e.evaluate(t))}],upcase:[ut,[ut],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[ut,[ut],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[ut,nn(dt),(t,e)=>e.map((e=>oe(e.evaluate(t)))).join("")],"resolved-locale":[ut,[mt],(t,[e])=>e.evaluate(t).resolvedLocale()]});class Tn{constructor(t,e){var r;this.expression=t,this._warningHistory={},this._evaluator=new de,this._defaultValue=e?"color"===(r=e).type&&mn(r.default)?new Xt(0,0,0,0):"color"===r.type?Xt.parse(r.default)||null:"padding"===r.type?Qt.parse(r.default)||null:"variableAnchorOffsetCollection"===r.type?ee.parse(r.default)||null:void 0===r.default?null:r.default:null,this._enumValues=e&&"enum"===e.type?e.values:null}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a,this.expression.evaluate(this._evaluator)}evaluate(t,e,r,n,i,a){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=a||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||"number"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new le(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(", ")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,"undefined"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function kn(t){return Array.isArray(t)&&t.length>0&&"string"==typeof t[0]&&t[0]in Kr}function An(t,e){const r=new me(Kr,an,[],e?function(t){const e={color:ft,string:ut,number:ct,enum:ut,boolean:ht,formatted:gt,padding:yt,resolvedImage:vt,variableAnchorOffsetCollection:xt};return"array"===t.type?_t(e[t.value]||dt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&"string"===e.type?{typeAnnotation:"coerce"}:void 0);return n?cn(new Tn(n,e)):un(r.errors)}class Mn{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent="constant"!==t&&!sn(e.expression)}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)}evaluate(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)}}class Sn{constructor(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent="camera"!==t&&!sn(e.expression),this.interpolationType=n}evaluateWithoutErrorHandling(t,e,r,n,i,a){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,a)}evaluate(t,e,r,n,i,a){return this._styleExpression.evaluate(t,e,r,n,i,a)}interpolationFactor(t,e,r){return this.interpolationType?ze.interpolationFactor(this.interpolationType,t,e,r):0}}function En(t,e){const r=An(t,e);if("error"===r.result)return r;const n=r.value.expression,i=on(n);if(!i&&!hn(e))return un([new ot("","data expressions not supported")]);const a=ln(n,["zoom"]);if(!a&&!fn(e))return un([new ot("","zoom expressions not supported")]);const o=Ln(n);if(!o&&!a)return un([new ot("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(o instanceof ot)return un([o]);if(o instanceof ze&&!pn(e))return un([new ot("",'"interpolate" expressions cannot be used with this property')]);if(!o)return cn(new Mn(i?"constant":"source",r.value));const s=o instanceof ze?o.interpolation:void 0;return cn(new Sn(i?"camera":"composite",r.value,o.labels,s))}class Cn{constructor(t,e){this._parameters=t,this._specification=e,at(this,yn(this._parameters,this._specification))}static deserialize(t){return new Cn(t._parameters,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification}}}function Ln(t){let e=null;if(t instanceof ge)e=Ln(t.result);else if(t instanceof De){for(const r of t.args)if(e=Ln(r),e)break}else(t instanceof Ae||t instanceof ze)&&t.input instanceof Qr&&"zoom"===t.input.name&&(e=t);return e instanceof ot||t.eachChild((t=>{const r=Ln(t);r instanceof ot?e=r:!e&&r?e=new ot("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&r&&e!==r&&(e=new ot("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))})),e}function In(t){if(!0===t||!1===t)return!0;if(!Array.isArray(t)||0===t.length)return!1;switch(t[0]){case"has":return t.length>=2&&"$id"!==t[1]&&"$type"!==t[1];case"in":return t.length>=3&&("string"!=typeof t[1]||Array.isArray(t[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case"any":case"all":for(const e of t.slice(1))if(!In(e)&&"boolean"!=typeof e)return!1;return!0;default:return!0}}const Pn={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function zn(t){if(null==t)return{filter:()=>!0,needGeometry:!1};In(t)||(t=Rn(t));const e=An(t,Pn);if("error"===e.result)throw new Error(e.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return{filter:(t,r,n)=>e.value.evaluate(t,r,{},n),needGeometry:Dn(t)}}function On(t,e){return te?1:0}function Dn(t){if(!Array.isArray(t))return!1;if("within"===t[0]||"distance"===t[0])return!0;for(let e=1;e"===e||"<="===e||">="===e?Fn(t[1],t[2],e):"any"===e?(r=t.slice(1),["any"].concat(r.map(Rn))):"all"===e?["all"].concat(t.slice(1).map(Rn)):"none"===e?["all"].concat(t.slice(1).map(Rn).map(jn)):"in"===e?Bn(t[1],t.slice(2)):"!in"===e?jn(Bn(t[1],t.slice(2))):"has"===e?Nn(t[1]):"!has"!==e||jn(Nn(t[1]));var r}function Fn(t,e,r){switch(t){case"$type":return[`filter-type-${r}`,e];case"$id":return[`filter-id-${r}`,e];default:return[`filter-${r}`,t,e]}}function Bn(t,e){if(0===e.length)return!1;switch(t){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?["filter-in-large",t,["literal",e.sort(On)]]:["filter-in-small",t,["literal",e]]}}function Nn(t){switch(t){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",t]}}function jn(t){return["!",t]}function Un(t){const e=typeof t;if("number"===e||"boolean"===e||"string"===e||null==t)return JSON.stringify(t);if(Array.isArray(t)){let e="[";for(const r of t)e+=`${Un(r)},`;return`${e}]`}const r=Object.keys(t).sort();let n="{";for(let e=0;en.maximum?[new it(e,r,`${r} is greater than the maximum value ${n.maximum}`)]:[]}function Xn(t){const e=t.valueSpec,r=Hn(t.value.type);let n,i,a,o={};const s="categorical"!==r&&void 0===t.value.property,l=!s,c="array"===dn(t.value.stops)&&"array"===dn(t.value.stops[0])&&"object"===dn(t.value.stops[0][0]),u=Zn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if("identity"===r)return[new it(t.key,t.value,'identity function may not have a "stops" property')];let e=[];const n=t.value;return e=e.concat(Wn({key:t.key,value:n,valueSpec:t.valueSpec,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),"array"===dn(n)&&0===n.length&&e.push(new it(t.key,n,"array must have at least one stop")),e},default:function(t){return t.validateSpec({key:t.key,value:t.value,valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec})}}});return"identity"===r&&s&&u.push(new it(t.key,t.value,'missing required property "property"')),"identity"===r||t.value.stops||u.push(new it(t.key,t.value,'missing required property "stops"')),"exponential"===r&&t.valueSpec.expression&&!pn(t.valueSpec)&&u.push(new it(t.key,t.value,"exponential functions not supported")),t.styleSpec.$version>=8&&(l&&!hn(t.valueSpec)?u.push(new it(t.key,t.value,"property functions not supported")):s&&!fn(t.valueSpec)&&u.push(new it(t.key,t.value,"zoom functions not supported"))),"categorical"!==r&&!c||void 0!==t.value.property||u.push(new it(t.key,t.value,'"property" property is required')),u;function h(t){let r=[];const n=t.value,s=t.key;if("array"!==dn(n))return[new it(s,n,`array expected, ${dn(n)} found`)];if(2!==n.length)return[new it(s,n,`array length 2 expected, length ${n.length} found`)];if(c){if("object"!==dn(n[0]))return[new it(s,n,`object expected, ${dn(n[0])} found`)];if(void 0===n[0].zoom)return[new it(s,n,"object stop key must have zoom")];if(void 0===n[0].value)return[new it(s,n,"object stop key must have value")];if(a&&a>Hn(n[0].zoom))return[new it(s,n[0].zoom,"stop zoom values must appear in ascending order")];Hn(n[0].zoom)!==a&&(a=Hn(n[0].zoom),i=void 0,o={}),r=r.concat(Zn({key:`${s}[0]`,value:n[0],valueSpec:{zoom:{}},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Yn,value:f}}))}else r=r.concat(f({key:`${s}[0]`,value:n[0],valueSpec:{},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec},n));return kn(Gn(n[1]))?r.concat([new it(`${s}[1]`,n[1],"expressions are not allowed in function stops.")]):r.concat(t.validateSpec({key:`${s}[1]`,value:n[1],valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec}))}function f(t,a){const s=dn(t.value),l=Hn(t.value),c=null!==t.value?t.value:a;if(n){if(s!==n)return[new it(t.key,c,`${s} stop domain type must match previous stop domain type ${n}`)]}else n=s;if("number"!==s&&"string"!==s&&"boolean"!==s)return[new it(t.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==s&&"categorical"!==r){let n=`number expected, ${s} found`;return hn(e)&&void 0===r&&(n+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new it(t.key,c,n)]}return"categorical"!==r||"number"!==s||isFinite(l)&&Math.floor(l)===l?"categorical"!==r&&"number"===s&&void 0!==i&&lnew it(`${t.key}${e.key}`,t.value,e.message)));const r=e.value.expression||e.value._styleExpression.expression;if("property"===t.expressionContext&&"text-font"===t.propertyKey&&!r.outputDefined())return[new it(t.key,t.value,`Invalid data expression for "${t.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===t.expressionContext&&"layout"===t.propertyType&&!sn(r))return[new it(t.key,t.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===t.expressionContext&&!sn(r))return[new it(t.key,t.value,'"feature-state" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf("cluster")){if(!ln(r,["zoom","feature-state"]))return[new it(t.key,t.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===t.expressionContext&&!on(r))return[new it(t.key,t.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Jn(t){const e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Hn(r))&&i.push(new it(e,r,`expected one of [${n.values.join(", ")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(Hn(r))&&i.push(new it(e,r,`expected one of [${Object.keys(n.values).join(", ")}], ${JSON.stringify(r)} found`)),i}function Kn(t){return In(Gn(t.value))?$n(at({},t,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Qn(t)}function Qn(t){const e=t.value,r=t.key;if("array"!==dn(e))return[new it(r,e,`array expected, ${dn(e)} found`)];const n=t.styleSpec;let i,a=[];if(e.length<1)return[new it(r,e,"filter array must have at least 1 element")];switch(a=a.concat(Jn({key:`${r}[0]`,value:e[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),Hn(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&"$type"===Hn(e[1])&&a.push(new it(r,e,`"$type" cannot be use with operator "${e[0]}"`));case"==":case"!=":3!==e.length&&a.push(new it(r,e,`filter array for operator "${e[0]}" must have 3 elements`));case"in":case"!in":e.length>=2&&(i=dn(e[1]),"string"!==i&&a.push(new it(`${r}[1]`,e[1],`string expected, ${i} found`)));for(let o=2;o{t in r&&e.push(new it(n,r[t],`"${t}" is prohibited for ref layers`))})),i.layers.forEach((e=>{Hn(e.id)===s&&(t=e)})),t?t.ref?e.push(new it(n,r.ref,"ref cannot reference another ref layer")):o=Hn(t.type):e.push(new it(n,r.ref,`ref layer "${s}" not found`))}else if("background"!==o)if(r.source){const t=i.sources&&i.sources[r.source],a=t&&Hn(t.type);t?"vector"===a&&"raster"===o?e.push(new it(n,r.source,`layer "${r.id}" requires a raster source`)):"raster-dem"!==a&&"hillshade"===o?e.push(new it(n,r.source,`layer "${r.id}" requires a raster-dem source`)):"raster"===a&&"raster"!==o?e.push(new it(n,r.source,`layer "${r.id}" requires a vector source`)):"vector"!==a||r["source-layer"]?"raster-dem"===a&&"hillshade"!==o?e.push(new it(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):"line"!==o||!r.paint||!r.paint["line-gradient"]||"geojson"===a&&t.lineMetrics||e.push(new it(n,r,`layer "${r.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):e.push(new it(n,r,`layer "${r.id}" must specify a "source-layer"`)):e.push(new it(n,r.source,`source "${r.source}" not found`))}else e.push(new it(n,r,'missing required property "source"'));return e=e.concat(Zn({key:n,value:r,valueSpec:a.layer,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*"(){return[]},type(){return t.validateSpec({key:`${n}.type`,value:r.type,valueSpec:a.layer.type,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,object:r,objectKey:"type"})},filter:Kn,layout(t){return Zn({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*"(t){return ri(at({layerType:o},t))}}})},paint(t){return Zn({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{"*"(t){return ei(at({layerType:o},t))}}})}}})),e}function ii(t){const e=t.value,r=t.key,n=dn(e);return"string"!==n?[new it(r,e,`string expected, ${n} found`)]:[]}const ai={promoteId:function({key:t,value:e}){if("string"===dn(e))return ii({key:t,value:e});{const r=[];for(const n in e)r.push(...ii({key:`${t}.${n}`,value:e[n]}));return r}}};function oi(t){const e=t.value,r=t.key,n=t.styleSpec,i=t.style,a=t.validateSpec;if(!e.type)return[new it(r,e,'"type" is required')];const o=Hn(e.type);let s;switch(o){case"vector":case"raster":return s=Zn({key:r,value:e,valueSpec:n[`source_${o.replace("-","_")}`],style:t.style,styleSpec:n,objectElementValidators:ai,validateSpec:a}),s;case"raster-dem":return s=function(t){var e;const r=null!==(e=t.sourceName)&&void 0!==e?e:"",n=t.value,i=t.styleSpec,a=i.source_raster_dem,o=t.style;let s=[];const l=dn(n);if(void 0===n)return s;if("object"!==l)return s.push(new it("source_raster_dem",n,`object expected, ${l} found`)),s;const c="custom"===Hn(n.encoding),u=["redFactor","greenFactor","blueFactor","baseShift"],h=t.value.encoding?`"${t.value.encoding}"`:"Default";for(const e in n)!c&&u.includes(e)?s.push(new it(e,n[e],`In "${r}": "${e}" is only valid when "encoding" is set to "custom". ${h} encoding found`)):a[e]?s=s.concat(t.validateSpec({key:e,value:n[e],valueSpec:a[e],validateSpec:t.validateSpec,style:o,styleSpec:i})):s.push(new it(e,n[e],`unknown property "${e}"`));return s}({sourceName:r,value:e,style:t.style,styleSpec:n,validateSpec:a}),s;case"geojson":if(s=Zn({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,validateSpec:a,objectElementValidators:ai}),e.cluster)for(const t in e.clusterProperties){const[n,i]=e.clusterProperties[t],o="string"==typeof n?[n,["accumulated"],["get",t]]:n;s.push(...$n({key:`${r}.${t}.map`,value:i,validateSpec:a,expressionContext:"cluster-map"})),s.push(...$n({key:`${r}.${t}.reduce`,value:o,validateSpec:a,expressionContext:"cluster-reduce"}))}return s;case"video":return Zn({key:r,value:e,valueSpec:n.source_video,style:i,validateSpec:a,styleSpec:n});case"image":return Zn({key:r,value:e,valueSpec:n.source_image,style:i,validateSpec:a,styleSpec:n});case"canvas":return[new it(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Jn({key:`${r}.type`,value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:i,validateSpec:a,styleSpec:n})}}function si(t){const e=t.value,r=t.styleSpec,n=r.light,i=t.style;let a=[];const o=dn(e);if(void 0===e)return a;if("object"!==o)return a=a.concat([new it("light",e,`object expected, ${o} found`)]),a;for(const o in e){const s=o.match(/^(.*)-transition$/);a=s&&n[s[1]]&&n[s[1]].transition?a.concat(t.validateSpec({key:o,value:e[o],valueSpec:r.transition,validateSpec:t.validateSpec,style:i,styleSpec:r})):n[o]?a.concat(t.validateSpec({key:o,value:e[o],valueSpec:n[o],validateSpec:t.validateSpec,style:i,styleSpec:r})):a.concat([new it(o,e[o],`unknown property "${o}"`)])}return a}function li(t){const e=t.value,r=t.styleSpec,n=r.sky,i=t.style,a=dn(e);if(void 0===e)return[];if("object"!==a)return[new it("sky",e,`object expected, ${a} found`)];let o=[];for(const a in e)o=n[a]?o.concat(t.validateSpec({key:a,value:e[a],valueSpec:n[a],style:i,styleSpec:r})):o.concat([new it(a,e[a],`unknown property "${a}"`)]);return o}function ci(t){const e=t.value,r=t.styleSpec,n=r.terrain,i=t.style;let a=[];const o=dn(e);if(void 0===e)return a;if("object"!==o)return a=a.concat([new it("terrain",e,`object expected, ${o} found`)]),a;for(const o in e)a=n[o]?a.concat(t.validateSpec({key:o,value:e[o],valueSpec:n[o],validateSpec:t.validateSpec,style:i,styleSpec:r})):a.concat([new it(o,e[o],`unknown property "${o}"`)]);return a}function ui(t){let e=[];const r=t.value,n=t.key;if(Array.isArray(r)){const i=[],a=[];for(const o in r){r[o].id&&i.includes(r[o].id)&&e.push(new it(n,r,`all the sprites' ids must be unique, but ${r[o].id} is duplicated`)),i.push(r[o].id),r[o].url&&a.includes(r[o].url)&&e.push(new it(n,r,`all the sprites' URLs must be unique, but ${r[o].url} is duplicated`)),a.push(r[o].url);const s={id:{type:"string",required:!0},url:{type:"string",required:!0}};e=e.concat(Zn({key:`${n}[${o}]`,value:r[o],valueSpec:s,validateSpec:t.validateSpec}))}return e}return ii({key:n,value:r})}const hi={"*"(){return[]},array:Wn,boolean:function(t){const e=t.value,r=t.key,n=dn(e);return"boolean"!==n?[new it(r,e,`boolean expected, ${n} found`)]:[]},number:Yn,color:function(t){const e=t.key,r=t.value,n=dn(r);return"string"!==n?[new it(e,r,`color expected, ${n} found`)]:Xt.parse(String(r))?[]:[new it(e,r,`color expected, "${r}" found`)]},constants:qn,enum:Jn,filter:Kn,function:Xn,layer:ni,object:Zn,source:oi,light:si,sky:li,terrain:ci,projection:function(t){const e=t.value,r=t.styleSpec,n=r.projection,i=t.style,a=dn(e);if(void 0===e)return[];if("object"!==a)return[new it("projection",e,`object expected, ${a} found`)];let o=[];for(const a in e)o=n[a]?o.concat(t.validateSpec({key:a,value:e[a],valueSpec:n[a],style:i,styleSpec:r})):o.concat([new it(a,e[a],`unknown property "${a}"`)]);return o},string:ii,formatted:function(t){return 0===ii(t).length?[]:$n(t)},resolvedImage:function(t){return 0===ii(t).length?[]:$n(t)},padding:function(t){const e=t.key,r=t.value;if("array"===dn(r)){if(r.length<1||r.length>4)return[new it(e,r,`padding requires 1 to 4 values; ${r.length} values found`)];const n={type:"number"};let i=[];for(let a=0;at.line-e.line))}function yi(t){return function(...e){return gi(t.apply(this,e))}}di.source=yi(mi(oi)),di.sprite=yi(mi(ui)),di.glyphs=yi(mi(pi)),di.light=yi(mi(si)),di.sky=yi(mi(li)),di.terrain=yi(mi(ci)),di.layer=yi(mi(ni)),di.filter=yi(mi(Kn)),di.paintProperty=yi(mi(ei)),di.layoutProperty=yi(mi(ri));const vi=di;vi.source;const xi=vi.light,_i=vi.sky;vi.terrain,vi.filter;const bi=vi.paintProperty,wi=vi.layoutProperty;function Ti(t,e){let r=!1;if(e&&e.length)for(const n of e)t.fire(new H(new Error(n.message))),r=!0;return r}class ki{constructor(t,e,r){const n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;const i=new Int32Array(this.arrayBuffer);t=i[0],e=i[1],r=i[2],this.d=e+2*r;for(let t=0;t=c[l+0]&&n>=c[l+1])?(o[h]=!0,a.push(i[h])):o[h]=!1}}}}_forEachCell(t,e,r,n,i,a,o,s){const l=this._convertToCellCoord(t),c=this._convertToCellCoord(e),u=this._convertToCellCoord(r),h=this._convertToCellCoord(n);for(let f=l;f<=u;f++)for(let l=c;l<=h;l++){const c=this.d*l+f;if((!s||s(this._convertFromCellCoord(f),this._convertFromCellCoord(l),this._convertFromCellCoord(f+1),this._convertFromCellCoord(l+1)))&&i.call(this,t,e,r,n,c,a,o,s))return}}_convertFromCellCoord(t){return(t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const t=this.cells,e=3+this.cells.length+1+1;let r=0;for(let t=0;t=0)continue;const a=t[n];i[n]=Ai[r].shallow.indexOf(n)>=0?a:Li(a,e)}t instanceof Error&&(i.message=t.message)}if(i.$name)throw new Error("$name property is reserved for worker serialization logic.");return"Object"!==r&&(i.$name=r),i}function Ii(t){if(Ci(t))return t;if(Array.isArray(t))return t.map(Ii);if("object"!=typeof t)throw new Error("can't deserialize object of type "+typeof t);const e=Ei(t)||"Object";if(!Ai[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:r}=Ai[e];if(!r)throw new Error(`can't deserialize unregistered class ${e}`);if(r.deserialize)return r.deserialize(t);const n=Object.create(r.prototype);for(const r of Object.keys(t)){if("$name"===r)continue;const i=t[r];n[r]=Ai[e].shallow.indexOf(r)>=0?i:Ii(i)}return n}class Pi{constructor(){this.first=!0}update(t,e){const r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoomt>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,"Arabic Supplement":t=>t>=1872&&t<=1919,"Arabic Extended-A":t=>t>=2208&&t<=2303,"Hangul Jamo":t=>t>=4352&&t<=4607,"Unified Canadian Aboriginal Syllabics":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,"Unified Canadian Aboriginal Syllabics Extended":t=>t>=6320&&t<=6399,"General Punctuation":t=>t>=8192&&t<=8303,"Letterlike Symbols":t=>t>=8448&&t<=8527,"Number Forms":t=>t>=8528&&t<=8591,"Miscellaneous Technical":t=>t>=8960&&t<=9215,"Control Pictures":t=>t>=9216&&t<=9279,"Optical Character Recognition":t=>t>=9280&&t<=9311,"Enclosed Alphanumerics":t=>t>=9312&&t<=9471,"Geometric Shapes":t=>t>=9632&&t<=9727,"Miscellaneous Symbols":t=>t>=9728&&t<=9983,"Miscellaneous Symbols and Arrows":t=>t>=11008&&t<=11263,"CJK Radicals Supplement":t=>t>=11904&&t<=12031,"Kangxi Radicals":t=>t>=12032&&t<=12255,"Ideographic Description Characters":t=>t>=12272&&t<=12287,"CJK Symbols and Punctuation":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,"Hangul Compatibility Jamo":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,"Bopomofo Extended":t=>t>=12704&&t<=12735,"CJK Strokes":t=>t>=12736&&t<=12783,"Katakana Phonetic Extensions":t=>t>=12784&&t<=12799,"Enclosed CJK Letters and Months":t=>t>=12800&&t<=13055,"CJK Compatibility":t=>t>=13056&&t<=13311,"CJK Unified Ideographs Extension A":t=>t>=13312&&t<=19903,"Yijing Hexagram Symbols":t=>t>=19904&&t<=19967,"CJK Unified Ideographs":t=>t>=19968&&t<=40959,"Yi Syllables":t=>t>=40960&&t<=42127,"Yi Radicals":t=>t>=42128&&t<=42191,"Hangul Jamo Extended-A":t=>t>=43360&&t<=43391,"Hangul Syllables":t=>t>=44032&&t<=55215,"Hangul Jamo Extended-B":t=>t>=55216&&t<=55295,"Private Use Area":t=>t>=57344&&t<=63743,"CJK Compatibility Ideographs":t=>t>=63744&&t<=64255,"Arabic Presentation Forms-A":t=>t>=64336&&t<=65023,"Vertical Forms":t=>t>=65040&&t<=65055,"CJK Compatibility Forms":t=>t>=65072&&t<=65103,"Small Form Variants":t=>t>=65104&&t<=65135,"Arabic Presentation Forms-B":t=>t>=65136&&t<=65279,"Halfwidth and Fullwidth Forms":t=>t>=65280&&t<=65519};function Oi(t){for(const e of t)if(Fi(e.charCodeAt(0)))return!0;return!1}function Di(t){for(const e of t)if(!Ri(e.charCodeAt(0)))return!1;return!0}function Ri(t){return!(zi.Arabic(t)||zi["Arabic Supplement"](t)||zi["Arabic Extended-A"](t)||zi["Arabic Presentation Forms-A"](t)||zi["Arabic Presentation Forms-B"](t))}function Fi(t){return!(746!==t&&747!==t&&(t<4352||!(zi["Bopomofo Extended"](t)||zi.Bopomofo(t)||zi["CJK Compatibility Forms"](t)&&!(t>=65097&&t<=65103)||zi["CJK Compatibility Ideographs"](t)||zi["CJK Compatibility"](t)||zi["CJK Radicals Supplement"](t)||zi["CJK Strokes"](t)||!(!zi["CJK Symbols and Punctuation"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||zi["CJK Unified Ideographs Extension A"](t)||zi["CJK Unified Ideographs"](t)||zi["Enclosed CJK Letters and Months"](t)||zi["Hangul Compatibility Jamo"](t)||zi["Hangul Jamo Extended-A"](t)||zi["Hangul Jamo Extended-B"](t)||zi["Hangul Jamo"](t)||zi["Hangul Syllables"](t)||zi.Hiragana(t)||zi["Ideographic Description Characters"](t)||zi.Kanbun(t)||zi["Kangxi Radicals"](t)||zi["Katakana Phonetic Extensions"](t)||zi.Katakana(t)&&12540!==t||!(!zi["Halfwidth and Fullwidth Forms"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!zi["Small Form Variants"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||zi["Unified Canadian Aboriginal Syllabics"](t)||zi["Unified Canadian Aboriginal Syllabics Extended"](t)||zi["Vertical Forms"](t)||zi["Yijing Hexagram Symbols"](t)||zi["Yi Syllables"](t)||zi["Yi Radicals"](t))))}function Bi(t){return!(Fi(t)||function(t){return!!(zi["Latin-1 Supplement"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||zi["General Punctuation"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||zi["Letterlike Symbols"](t)||zi["Number Forms"](t)||zi["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||zi["Control Pictures"](t)&&9251!==t||zi["Optical Character Recognition"](t)||zi["Enclosed Alphanumerics"](t)||zi["Geometric Shapes"](t)||zi["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||zi["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||zi["CJK Symbols and Punctuation"](t)||zi.Katakana(t)||zi["Private Use Area"](t)||zi["CJK Compatibility Forms"](t)||zi["Small Form Variants"](t)||zi["Halfwidth and Fullwidth Forms"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function Ni(t){return zi.Arabic(t)||zi["Arabic Supplement"](t)||zi["Arabic Extended-A"](t)||zi["Arabic Presentation Forms-A"](t)||zi["Arabic Presentation Forms-B"](t)}function ji(t){return t>=1424&&t<=2303||zi["Arabic Presentation Forms-A"](t)||zi["Arabic Presentation Forms-B"](t)}function Ui(t,e){return!(!e&&ji(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||zi.Khmer(t))}function Vi(t){for(const e of t)if(ji(e.charCodeAt(0)))return!0;return!1}const qi=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(t){this.pluginStatus=t.pluginStatus,this.pluginURL=t.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(t){this.applyArabicShaping=t.applyArabicShaping,this.processBidirectionalText=t.processBidirectionalText,this.processStyledBidirectionalText=t.processStyledBidirectionalText}isParsed(){return null!=this.applyArabicShaping&&null!=this.processBidirectionalText&&null!=this.processStyledBidirectionalText}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Hi{constructor(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Pi,this.transition={})}isSupportedScript(t){return function(t,e){for(const r of t)if(!Ui(r.charCodeAt(0),e))return!1;return!0}(t,"loaded"===qi.getRTLTextPluginStatus())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}}}class Gi{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(mn(t))return new Cn(t,e);if(kn(t)){const r=En(t,e);if("error"===r.result)throw new Error(r.value.map((t=>`${t.key}: ${t.message}`)).join(", "));return r.value}{let r=t;return"color"===e.type&&"string"==typeof t?r=Xt.parse(t):"padding"!==e.type||"number"!=typeof t&&!Array.isArray(t)?"variableAnchorOffsetCollection"===e.type&&Array.isArray(t)&&(r=ee.parse(t)):r=Qt.parse(t),{kind:"constant",evaluate:()=>r}}}(void 0===e?t.specification.default:e,t.specification)}isDataDriven(){return"source"===this.expression.kind||"composite"===this.expression.kind}possiblyEvaluate(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)}}class Zi{constructor(t){this.property=t,this.value=new Gi(t,void 0)}transitioned(t,e){return new Yi(this.property,this.value,e,y({},t.transition,this.transition),t.now)}untransitioned(){return new Yi(this.property,this.value,null,{},0)}}class Wi{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)}getValue(t){return b(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Zi(this._values[t].property)),this._values[t].value=new Gi(this._values[t].property,null===e?void 0:b(e))}getTransition(t){return b(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Zi(this._values[t].property)),this._values[t].transition=b(e)||void 0}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r);const n=this.getTransition(e);void 0!==n&&(t[`${e}-transition`]=n)}return t}transitioned(t,e){const r=new Xi(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].transitioned(t,e._values[n]);return r}untransitioned(){const t=new Xi(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class Yi{constructor(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r)}possiblyEvaluate(t,e,r){const n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),a=this.prior;if(a){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;const e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(o))}}return i}}class Xi{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)}possiblyEvaluate(t,e,r){const n=new Ki(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}hasTransition(){for(const t of Object.keys(this._values))if(this._values[t].prior)return!0;return!1}}class $i{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)}hasValue(t){return void 0!==this._values[t].value}getValue(t){return b(this._values[t].value)}setValue(t,e){this._values[t]=new Gi(this._values[t].property,null===e?void 0:b(e))}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r)}return t}possiblyEvaluate(t,e,r){const n=new Ki(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}}class Ji{constructor(t,e,r){this.property=t,this.value=e,this.parameters=r}isConstant(){return"constant"===this.value.kind}constantOr(t){return"constant"===this.value.kind?this.value.value:t}evaluate(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)}}class Ki{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)}get(t){return this._values[t]}}class Qi{constructor(t){this.specification=t}possiblyEvaluate(t,e){if(t.isDataDriven())throw new Error("Value should not be data driven");return t.expression.evaluate(e)}interpolate(t,e,r){const n=this.specification.type,i=Pe[n];return i?i(t,e,r):t}}class ta{constructor(t,e){this.specification=t,this.overrides=e}possiblyEvaluate(t,e,r,n){return"constant"===t.expression.kind||"camera"===t.expression.kind?new Ji(this,{kind:"constant",value:t.expression.evaluate(e,null,{},r,n)},e):new Ji(this,t.expression,e)}interpolate(t,e,r){if("constant"!==t.value.kind||"constant"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new Ji(this,{kind:"constant",value:void 0},t.parameters);const n=this.specification.type,i=Pe[n];if(i){const n=i(t.value.value,e.value.value,r);return new Ji(this,{kind:"constant",value:n},t.parameters)}return t}evaluate(t,e,r,n,i,a){return"constant"===t.kind?t.value:t.evaluate(e,r,n,i,a)}}class ea extends ta{possiblyEvaluate(t,e,r,n){if(void 0===t.value)return new Ji(this,{kind:"constant",value:void 0},e);if("constant"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n),a="resolvedImage"===t.property.specification.type&&"string"!=typeof i?i.name:i,o=this._calculate(a,a,a,e);return new Ji(this,{kind:"constant",value:o},e)}if("camera"===t.expression.kind){const r=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new Ji(this,{kind:"constant",value:r},e)}return new Ji(this,t.expression,e)}evaluate(t,e,r,n,i,a){if("source"===t.kind){const o=t.evaluate(e,r,n,i,a);return this._calculate(o,o,o,e)}return"composite"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class ra{constructor(t){this.specification=t}possiblyEvaluate(t,e,r,n){if(void 0!==t.value){if("constant"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Hi(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Hi(Math.floor(e.zoom),e)),t.expression.evaluate(new Hi(Math.floor(e.zoom+1),e)),e)}}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class na{constructor(t){this.specification=t}possiblyEvaluate(t,e,r,n){return!!t.expression.evaluate(e,null,{},r,n)}interpolate(){return!1}}class ia{constructor(t){this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const e in t){const r=t[e];r.specification.overridable&&this.overridableProperties.push(e);const n=this.defaultPropertyValues[e]=new Gi(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Zi(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({})}}}Mi("DataDrivenProperty",ta),Mi("DataConstantProperty",Qi),Mi("CrossFadedDataDrivenProperty",ea),Mi("CrossFadedProperty",ra),Mi("ColorRampProperty",na);const aa="-transition";class oa extends G{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1},"custom"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,"background"!==t.type&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new $i(e.layout)),e.paint)){this._transitionablePaint=new Wi(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ki(e.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(t){return"visibility"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,r={}){if(null!=e){const n=`layers.${this.id}.layout.${t}`;if(this._validate(wi,n,t,e,r))return}"visibility"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e}getPaintProperty(t){return t.endsWith(aa)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,r={}){if(null!=e){const n=`layers.${this.id}.paint.${t}`;if(this._validate(bi,n,t,e,r))return!1}if(t.endsWith(aa))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;{const r=this._transitionablePaint._values[t],n="cross-faded-data-driven"===r.property.specification["property-type"],i=r.value.isDataDriven(),a=r.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const o=this._transitionablePaint._values[t].value;return o.isDataDriven()||i||n||this._handleOverridablePaintPropertyUpdate(t,a,o)}}_handleSpecialPaintPropertyUpdate(t){}_handleOverridablePaintPropertyUpdate(t,e,r){return!1}isHidden(t){return!!(this.minzoom&&t=this.maxzoom)||"none"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e)}serialize(){const t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),_(t,((t,e)=>!(void 0===t||"layout"===e&&!Object.keys(t).length||"paint"===e&&!Object.keys(t).length)))}_validate(t,e,r,n,i={}){return(!i||!1!==i.validate)&&Ti(this,t.call(vi,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:Z,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof Ji&&hn(e.property.specification)&&("source"===e.value.kind||"composite"===e.value.kind)&&e.value.isStateDependent)return!0}return!1}}const sa={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class la{constructor(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class ca{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}}static deserialize(t){const e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(t){this.reserve(t),this.length=t}reserve(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function ua(t,e=1){let r=0,n=0;return{members:t.map((t=>{const i=(s=t.type,sa[s].BYTES_PER_ELEMENT),a=r=ha(r,Math.max(e,i)),o=t.components||1;var s;return n=Math.max(n,i),r+=i*o,{name:t.name,type:t.type,components:o,offset:a}})),size:ha(r,Math.max(n,e)),alignment:e}}function ha(t,e){return Math.ceil(t/e)*e}class fa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t}}fa.prototype.bytesPerElement=4,Mi("StructArrayLayout2i4",fa);class pa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t}}pa.prototype.bytesPerElement=6,Mi("StructArrayLayout3i6",pa);class da extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const a=4*t;return this.int16[a+0]=e,this.int16[a+1]=r,this.int16[a+2]=n,this.int16[a+3]=i,t}}da.prototype.bytesPerElement=8,Mi("StructArrayLayout4i8",da);class ma extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,o){const s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t}}ma.prototype.bytesPerElement=12,Mi("StructArrayLayout2i4i12",ma);class ga extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,o){const s=4*t,l=8*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=a,this.uint8[l+7]=o,t}}ga.prototype.bytesPerElement=8,Mi("StructArrayLayout2i4ub8",ga);class ya extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t}}ya.prototype.bytesPerElement=8,Mi("StructArrayLayout2f8",ya);class va extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a,o,s,l,c){const u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,a,o,s,l,c)}emplace(t,e,r,n,i,a,o,s,l,c,u){const h=10*t;return this.uint16[h+0]=e,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=a,this.uint16[h+5]=o,this.uint16[h+6]=s,this.uint16[h+7]=l,this.uint16[h+8]=c,this.uint16[h+9]=u,t}}va.prototype.bytesPerElement=20,Mi("StructArrayLayout10ui20",va);class xa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a,o,s,l,c,u,h){const f=this.length;return this.resize(f+1),this.emplace(f,t,e,r,n,i,a,o,s,l,c,u,h)}emplace(t,e,r,n,i,a,o,s,l,c,u,h,f){const p=12*t;return this.int16[p+0]=e,this.int16[p+1]=r,this.int16[p+2]=n,this.int16[p+3]=i,this.uint16[p+4]=a,this.uint16[p+5]=o,this.uint16[p+6]=s,this.uint16[p+7]=l,this.int16[p+8]=c,this.int16[p+9]=u,this.int16[p+10]=h,this.int16[p+11]=f,t}}xa.prototype.bytesPerElement=24,Mi("StructArrayLayout4i4ui4i24",xa);class _a extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t}}_a.prototype.bytesPerElement=12,Mi("StructArrayLayout3f12",_a);class ba extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){const r=1*t;return this.uint32[r+0]=e,t}}ba.prototype.bytesPerElement=4,Mi("StructArrayLayout1ul4",ba);class wa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a,o,s,l){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,a,o,s,l)}emplace(t,e,r,n,i,a,o,s,l,c){const u=10*t,h=5*t;return this.int16[u+0]=e,this.int16[u+1]=r,this.int16[u+2]=n,this.int16[u+3]=i,this.int16[u+4]=a,this.int16[u+5]=o,this.uint32[h+3]=s,this.uint16[u+8]=l,this.uint16[u+9]=c,t}}wa.prototype.bytesPerElement=20,Mi("StructArrayLayout6i1ul2ui20",wa);class Ta extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,o){const s=6*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,this.int16[s+4]=a,this.int16[s+5]=o,t}}Ta.prototype.bytesPerElement=12,Mi("StructArrayLayout2i2i2i12",Ta);class ka extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i)}emplace(t,e,r,n,i,a){const o=4*t,s=8*t;return this.float32[o+0]=e,this.float32[o+1]=r,this.float32[o+2]=n,this.int16[s+6]=i,this.int16[s+7]=a,t}}ka.prototype.bytesPerElement=16,Mi("StructArrayLayout2f1f2i16",ka);class Aa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a){const o=this.length;return this.resize(o+1),this.emplace(o,t,e,r,n,i,a)}emplace(t,e,r,n,i,a,o){const s=16*t,l=4*t,c=8*t;return this.uint8[s+0]=e,this.uint8[s+1]=r,this.float32[l+1]=n,this.float32[l+2]=i,this.int16[c+6]=a,this.int16[c+7]=o,t}}Aa.prototype.bytesPerElement=16,Mi("StructArrayLayout2ub2f2i16",Aa);class Ma extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t}}Ma.prototype.bytesPerElement=6,Mi("StructArrayLayout3ui6",Ma);class Sa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g){const y=this.length;return this.resize(y+1),this.emplace(y,t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g)}emplace(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y){const v=24*t,x=12*t,_=48*t;return this.int16[v+0]=e,this.int16[v+1]=r,this.uint16[v+2]=n,this.uint16[v+3]=i,this.uint32[x+2]=a,this.uint32[x+3]=o,this.uint32[x+4]=s,this.uint16[v+10]=l,this.uint16[v+11]=c,this.uint16[v+12]=u,this.float32[x+7]=h,this.float32[x+8]=f,this.uint8[_+36]=p,this.uint8[_+37]=d,this.uint8[_+38]=m,this.uint32[x+10]=g,this.int16[v+22]=y,t}}Sa.prototype.bytesPerElement=48,Mi("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Sa);class Ea extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S){const E=this.length;return this.resize(E+1),this.emplace(E,t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S)}emplace(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,T,k,A,M,S,E){const C=32*t,L=16*t;return this.int16[C+0]=e,this.int16[C+1]=r,this.int16[C+2]=n,this.int16[C+3]=i,this.int16[C+4]=a,this.int16[C+5]=o,this.int16[C+6]=s,this.int16[C+7]=l,this.uint16[C+8]=c,this.uint16[C+9]=u,this.uint16[C+10]=h,this.uint16[C+11]=f,this.uint16[C+12]=p,this.uint16[C+13]=d,this.uint16[C+14]=m,this.uint16[C+15]=g,this.uint16[C+16]=y,this.uint16[C+17]=v,this.uint16[C+18]=x,this.uint16[C+19]=_,this.uint16[C+20]=b,this.uint16[C+21]=w,this.uint16[C+22]=T,this.uint32[L+12]=k,this.float32[L+13]=A,this.float32[L+14]=M,this.uint16[C+30]=S,this.uint16[C+31]=E,t}}Ea.prototype.bytesPerElement=64,Mi("StructArrayLayout8i15ui1ul2f2ui64",Ea);class Ca extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){const r=1*t;return this.float32[r+0]=e,t}}Ca.prototype.bytesPerElement=4,Mi("StructArrayLayout1f4",Ca);class La extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=6*t,a=3*t;return this.uint16[i+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,t}}La.prototype.bytesPerElement=12,Mi("StructArrayLayout1ui2f12",La);class Ia extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=2*t,a=4*t;return this.uint32[i+0]=e,this.uint16[a+2]=r,this.uint16[a+3]=n,t}}Ia.prototype.bytesPerElement=8,Mi("StructArrayLayout1ul2ui8",Ia);class Pa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t}}Pa.prototype.bytesPerElement=4,Mi("StructArrayLayout2ui4",Pa);class za extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){const r=1*t;return this.uint16[r+0]=e,t}}za.prototype.bytesPerElement=2,Mi("StructArrayLayout1ui2",za);class Oa extends ca{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const a=4*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.float32[a+3]=i,t}}Oa.prototype.bytesPerElement=16,Mi("StructArrayLayout4f16",Oa);class Da extends la{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new a(this.anchorPointX,this.anchorPointY)}}Da.prototype.size=20;class Ra extends wa{get(t){return new Da(this,t)}}Mi("CollisionBoxArray",Ra);class Fa extends la{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(t){this._structArray.uint8[this._pos1+37]=t}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(t){this._structArray.uint8[this._pos1+38]=t}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(t){this._structArray.uint32[this._pos4+10]=t}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Fa.prototype.size=48;class Ba extends Sa{get(t){return new Fa(this,t)}}Mi("PlacedSymbolArray",Ba);class Na extends la{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(t){this._structArray.uint32[this._pos4+12]=t}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Na.prototype.size=64;class ja extends Ea{get(t){return new Na(this,t)}}Mi("SymbolInstanceArray",ja);class Ua extends Ca{getoffsetX(t){return this.float32[1*t+0]}}Mi("GlyphOffsetArray",Ua);class Va extends pa{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}Mi("SymbolLineVertexArray",Va);class qa extends la{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}qa.prototype.size=12;class Ha extends La{get(t){return new qa(this,t)}}Mi("TextAnchorOffsetArray",Ha);class Ga extends la{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}Ga.prototype.size=8;class Za extends Ia{get(t){return new Ga(this,t)}}Mi("FeatureIndexArray",Za);class Wa extends fa{}class Ya extends fa{}class Xa extends fa{}class $a extends ma{}class Ja extends ga{}class Ka extends ya{}class Qa extends va{}class to extends xa{}class eo extends _a{}class ro extends ba{}class no extends Ta{}class io extends Aa{}class ao extends Ma{}class oo extends Pa{}const so=ua([{name:"a_pos",components:2,type:"Int16"}],4),{members:lo,size:co,alignment:uo}=so;class ho{constructor(t=[]){this.segments=t}prepareSegment(t,e,r,n){let i=this.segments[this.segments.length-1];return t>ho.MAX_VERTEX_ARRAY_LENGTH&&T(`Max vertices per segment is ${ho.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!i||i.vertexLength+t>ho.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i}get(){return this.segments}destroy(){for(const t of this.segments)for(const e in t.vaos)t.vaos[e].destroy()}static simpleSegment(t,e,r,n){return new ho([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}function fo(t,e){return 256*(t=m(Math.floor(t),0,255))+m(Math.floor(e),0,255)}ho.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Mi("SegmentVector",ho);const po=ua([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]);var mo={exports:{}},go={exports:{}};!function(t){t.exports=function(t,e){var r,n,i,a,o,s,l,c;for(r=3&t.length,n=t.length-r,i=e,o=3432918353,s=461845907,c=0;c>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(a>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(c+2))<<16;case 2:l^=(255&t.charCodeAt(c+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(c)))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<15|l>>>17))*s+(((l>>>16)*s&65535)<<16)&4294967295}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0}}(go);var yo=go.exports,vo={exports:{}};!function(t){t.exports=function(t,e){for(var r,n=t.length,i=e^n,a=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(a)|(255&t.charCodeAt(++a))<<8|(255&t.charCodeAt(++a))<<16|(255&t.charCodeAt(++a))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++a;switch(n){case 3:i^=(255&t.charCodeAt(a+2))<<16;case 2:i^=(255&t.charCodeAt(a+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(a)))+((1540483477*(i>>>16)&65535)<<16)}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0}}(vo);var xo=yo,_o=vo.exports;mo.exports=xo,mo.exports.murmur3=xo,mo.exports.murmur2=_o;var bo=r(mo.exports);class wo{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,e,r,n){this.ids.push(To(t)),this.positions.push(e,r,n)}getPositions(t){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");const e=To(t);let r=0,n=this.ids.length-1;for(;r>1;this.ids[t]>=e?n=t:r=t+1}const i=[];for(;this.ids[r]===e;){const t=this.positions[3*r],e=this.positions[3*r+1],n=this.positions[3*r+2];i.push({index:t,start:e,end:n}),r++}return i}static serialize(t,e){const r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return ko(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}}static deserialize(t){const e=new wo;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function To(t){const e=+t;return!isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:bo(String(t))}function ko(t,e,r,n){for(;r>1];let a=r-1,o=n+1;for(;;){do{a++}while(t[a]i);if(a>=o)break;Ao(t,a,o),Ao(e,3*a,3*o),Ao(e,3*a+1,3*o+1),Ao(e,3*a+2,3*o+2)}o-r`u_${t}`)),this.type=r}setUniform(t,e,r){t.set(r.constantOr(this.value))}getBinding(t,e,r){return"color"===this.type?new Co(t,e):new So(t,e)}}class zo{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr}setUniform(t,e,r,n){const i="u_pattern_to"===n?this.patternTo:"u_pattern_from"===n?this.patternFrom:"u_pixel_ratio_to"===n?this.pixelRatioTo:"u_pixel_ratio_from"===n?this.pixelRatioFrom:null;i&&t.set(i)}getBinding(t,e,r){return"u_pattern"===r.substr(0,9)?new Eo(t,e):new So(t,e)}}class Oo{constructor(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===r?2:1,offset:0}))),this.paintVertexArray=new n}populatePaintArray(t,e,r,n,i){const a=this.paintVertexArray.length,o=this.expression.evaluate(new Hi(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(a,t,o)}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i)}_setPaintValue(t,e,r){if("color"===this.type){const n=Io(r);for(let r=t;r`u_${t}_t`)),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:"Float32",components:"color"===r?4:2,offset:0}))),this.paintVertexArray=new a}populatePaintArray(t,e,r,n,i){const a=this.expression.evaluate(new Hi(this.zoom),e,{},n,[],i),o=this.expression.evaluate(new Hi(this.zoom+1),e,{},n,[],i),s=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(s,t,a,o)}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:this.zoom},r,n),a=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,a)}_setPaintValue(t,e,r,n){if("color"===this.type){const i=Io(r),a=Io(n);for(let r=t;r`#define HAS_UNIFORM_${t}`)))}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const r=this.binders[e];if(r instanceof Oo||r instanceof Do)for(let e=0;e!0)){this.programConfigurations={};for(const n of t)this.programConfigurations[n.id]=new Fo(n,e,r);this.needsUpload=!1,this._featureMap=new wo,this._bufferOffset=0}populatePaintArrays(t,e,r,n,i,a){for(const r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e,n,i,a);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0}updatePaintArrays(t,e,r,n){for(const i of r)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(t,this._featureMap,e,i,n)||this.needsUpload}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy()}}function No(t,e){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[t]||[t.replace(`${e}-`,"").replace(/-/g,"_")]}function jo(t,e,r){const n={color:{source:ya,composite:Oa},number:{source:Ca,composite:ya}},i=function(t){return{"line-pattern":{source:Qa,composite:Qa},"fill-pattern":{source:Qa,composite:Qa},"fill-extrusion-pattern":{source:Qa,composite:Qa}}[t]}(t);return i&&i[r]||n[e][r]}Mi("ConstantBinder",Po),Mi("CrossFadedConstantBinder",zo),Mi("SourceExpressionBinder",Oo),Mi("CrossFadedCompositeBinder",Ro),Mi("CompositeExpressionBinder",Do),Mi("ProgramConfiguration",Fo,{omit:["_buffers"]}),Mi("ProgramConfigurationSet",Bo);const Uo=8192,Vo=Math.pow(2,14)-1,qo=-Vo-1;function Ho(t){const e=Uo/t.extent,r=t.loadGeometry();for(let t=0;tr.x+1||ar.y+1)&&T("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return r}function Go(t,e){return{type:t.type,id:t.id,properties:t.properties,geometry:e?Ho(t):[]}}function Zo(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2)}class Wo{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Ya,this.indexArray=new ao,this.segments=new ho,this.programConfigurations=new Bo(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,r){const n=this.layers[0],i=[];let a=null,o=!1;"circle"===n.type&&(a=n.layout.get("circle-sort-key"),o=!a.isConstant());for(const{feature:e,id:n,index:s,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Go(e,t);if(!this.layers[0]._featureFilter.filter(new Hi(this.zoom),c,r))continue;const u=o?a.evaluate(c,{},r):void 0,h={id:n,properties:e.properties,type:e.type,sourceLayerIndex:l,index:s,geometry:t?c.geometry:Ho(e),patterns:{},sortKey:u};i.push(h)}o&&i.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of i){const{geometry:i,index:a,sourceLayerIndex:o}=n,s=t[a].feature;this.addFeature(n,i,a,r),e.featureIndex.insert(s,i,a,o,this.index)}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,lo),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(t,e,r,n){for(const r of e)for(const e of r){const r=e.x,n=e.y;if(r<0||r>=Uo||n<0||n>=Uo)continue;const i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),a=i.vertexLength;Zo(this.layoutVertexArray,r,n,-1,-1),Zo(this.layoutVertexArray,r,n,1,-1),Zo(this.layoutVertexArray,r,n,1,1),Zo(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(a,a+1,a+2),this.indexArray.emplaceBack(a,a+3,a+2),i.vertexLength+=4,i.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n)}}function Yo(t,e){for(let r=0;r1){if(Ko(t,e))return!0;for(let n=0;n1?t.distSqr(r):t.distSqr(r.sub(e)._mult(i)._add(e))}function rs(t,e){let r,n,i,a=!1;for(let o=0;oe.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(a=!a)}return a}function ns(t,e){let r=!1;for(let n=0,i=t.length-1;ne.y!=o.y>e.y&&e.x<(o.x-a.x)*(e.y-a.y)/(o.y-a.y)+a.x&&(r=!r)}return r}function is(t,e,r){const n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return!1;const a=k(t,e,r[0]);return a!==k(t,e,r[1])||a!==k(t,e,r[2])||a!==k(t,e,r[3])}function as(t,e,r){const n=e.paint.get(t).value;return"constant"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function os(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function ss(t,e,r,n,i){if(!e[0]&&!e[1])return t;const o=a.convert(e)._mult(i);"viewport"===r&&o._rotate(-n);const s=[];for(let e=0;ews(t,e)))}(l,s),f=u?c*o:c;for(const t of n)for(const e of t){const t=u?e:ws(e,s);let r=f;const n=vs([],[e.x,e.y,0,1],s);if("viewport"===this.paint.get("circle-pitch-scale")&&"map"===this.paint.get("circle-pitch-alignment")?r*=n[3]/a.cameraToCenterDistance:"map"===this.paint.get("circle-pitch-scale")&&"viewport"===this.paint.get("circle-pitch-alignment")&&(r*=a.cameraToCenterDistance/n[3]),Xo(h,t,r))return!0}return!1}}function ws(t,e){const r=vs([],[t.x,t.y,0,1],e);return new a(r[0]/r[3],r[1]/r[3])}class Ts extends Wo{}let ks;Mi("HeatmapBucket",Ts,{omit:["layers"]});var As={get paint(){return ks=ks||new ia({"heatmap-radius":new ta(Z.paint_heatmap["heatmap-radius"]),"heatmap-weight":new ta(Z.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Qi(Z.paint_heatmap["heatmap-intensity"]),"heatmap-color":new na(Z.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Qi(Z.paint_heatmap["heatmap-opacity"])})}};function Ms(t,{width:e,height:r},n,i){if(i){if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==e*r*n)throw new RangeError(`mismatched image size. expected: ${i.length} but got: ${e*r*n}`)}else i=new Uint8Array(e*r*n);return t.width=e,t.height=r,t.data=i,t}function Ss(t,{width:e,height:r},n){if(e===t.width&&r===t.height)return;const i=Ms({},{width:e,height:r},n);Es(t,i,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,e),height:Math.min(t.height,r)},n),t.width=e,t.height=r,t.data=i.data}function Es(t,e,r,n,i,a){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError("out of range source coordinates for image copy");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError("out of range destination coordinates for image copy");const o=t.data,s=e.data;if(o===s)throw new Error("srcData equals dstData, so image is already copied");for(let l=0;l{e[t.evaluationKey]=a;const o=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*o.r/o.a),i.data[r+n+1]=Math.floor(255*o.g/o.a),i.data[r+n+2]=Math.floor(255*o.b/o.a),i.data[r+n+3]=Math.floor(255*o.a)};if(t.clips)for(let e=0,i=0;e80*r){s=1/0,l=1/0;let e=-1/0,n=-1/0;for(let a=r;ae&&(e=r),i>n&&(n=i)}c=Math.max(e-s,n-l),c=0!==c?32767/c:0}return qs(a,o,r,s,l,c,0),o}function Us(t,e,r,n,i){let a;if(i===function(t,e,r,n){let i=0;for(let a=e,o=r-n;a0)for(let i=e;i=e;i-=n)a=ll(i/n|0,t[i],t[i+1],a);return a&&rl(a,a.next)&&(cl(a),a=a.next),a}function Vs(t,e){if(!t)return t;e||(e=t);let r,n=t;do{if(r=!1,n.steiner||!rl(n,n.next)&&0!==el(n.prev,n,n.next))n=n.next;else{if(cl(n),n=e=n.prev,n===n.next)break;r=!0}}while(r||n!==e);return e}function qs(t,e,r,n,i,a,o){if(!t)return;!o&&a&&function(t,e,r,n){let i=t;do{0===i.z&&(i.z=Js(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){let e,r=1;do{let n,i=t;t=null;let a=null;for(e=0;i;){e++;let o=i,s=0;for(let t=0;t0||l>0&&o;)0!==s&&(0===l||!o||i.z<=o.z)?(n=i,i=i.nextZ,s--):(n=o,o=o.nextZ,l--),a?a.nextZ=n:t=n,n.prevZ=a,a=n;i=o}a.nextZ=null,r*=2}while(e>1)}(i)}(t,n,i,a);let s=t;for(;t.prev!==t.next;){const l=t.prev,c=t.next;if(a?Gs(t,n,i,a):Hs(t))e.push(l.i,t.i,c.i),cl(t),t=c.next,s=c.next;else if((t=c)===s){o?1===o?qs(t=Zs(Vs(t),e),e,r,n,i,a,2):2===o&&Ws(t,e,r,n,i,a):qs(Vs(t),e,r,n,i,a,1);break}}}function Hs(t){const e=t.prev,r=t,n=t.next;if(el(e,r,n)>=0)return!1;const i=e.x,a=r.x,o=n.x,s=e.y,l=r.y,c=n.y,u=ia?i>o?i:o:a>o?a:o,p=s>l?s>c?s:c:l>c?l:c;let d=n.next;for(;d!==e;){if(d.x>=u&&d.x<=f&&d.y>=h&&d.y<=p&&Qs(i,s,a,l,o,c,d.x,d.y)&&el(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function Gs(t,e,r,n){const i=t.prev,a=t,o=t.next;if(el(i,a,o)>=0)return!1;const s=i.x,l=a.x,c=o.x,u=i.y,h=a.y,f=o.y,p=sl?s>c?s:c:l>c?l:c,g=u>h?u>f?u:f:h>f?h:f,y=Js(p,d,e,r,n),v=Js(m,g,e,r,n);let x=t.prevZ,_=t.nextZ;for(;x&&x.z>=y&&_&&_.z<=v;){if(x.x>=p&&x.x<=m&&x.y>=d&&x.y<=g&&x!==i&&x!==o&&Qs(s,u,l,h,c,f,x.x,x.y)&&el(x.prev,x,x.next)>=0)return!1;if(x=x.prevZ,_.x>=p&&_.x<=m&&_.y>=d&&_.y<=g&&_!==i&&_!==o&&Qs(s,u,l,h,c,f,_.x,_.y)&&el(_.prev,_,_.next)>=0)return!1;_=_.nextZ}for(;x&&x.z>=y;){if(x.x>=p&&x.x<=m&&x.y>=d&&x.y<=g&&x!==i&&x!==o&&Qs(s,u,l,h,c,f,x.x,x.y)&&el(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;_&&_.z<=v;){if(_.x>=p&&_.x<=m&&_.y>=d&&_.y<=g&&_!==i&&_!==o&&Qs(s,u,l,h,c,f,_.x,_.y)&&el(_.prev,_,_.next)>=0)return!1;_=_.nextZ}return!0}function Zs(t,e){let r=t;do{const n=r.prev,i=r.next.next;!rl(n,i)&&nl(n,r,r.next,i)&&ol(n,i)&&ol(i,n)&&(e.push(n.i,r.i,i.i),cl(r),cl(r.next),r=t=i),r=r.next}while(r!==t);return Vs(r)}function Ws(t,e,r,n,i,a){let o=t;do{let t=o.next.next;for(;t!==o.prev;){if(o.i!==t.i&&tl(o,t)){let s=sl(o,t);return o=Vs(o,o.next),s=Vs(s,s.next),qs(o,e,r,n,i,a,0),void qs(s,e,r,n,i,a,0)}t=t.next}o=o.next}while(o!==t)}function Ys(t,e){return t.x-e.x}function Xs(t,e){const r=function(t,e){let r=e;const n=t.x,i=t.y;let a,o=-1/0;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){const t=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(t<=n&&t>o&&(o=t,a=r.x=r.x&&r.x>=l&&n!==r.x&&Qs(ia.x||r.x===a.x&&$s(a,r)))&&(a=r,u=e)}r=r.next}while(r!==s);return a}(t,e);if(!r)return e;const n=sl(r,t);return Vs(n,n.next),Vs(r,r.next)}function $s(t,e){return el(t.prev,t,e.prev)<0&&el(e.next,t,t.next)<0}function Js(t,e,r,n,i){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Ks(t){let e=t,r=t;do{(e.x=(t-o)*(a-s)&&(t-o)*(n-s)>=(r-o)*(e-s)&&(r-o)*(a-s)>=(i-o)*(n-s)}function tl(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&nl(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(ol(t,e)&&ol(e,t)&&function(t,e){let r=t,n=!1;const i=(t.x+e.x)/2,a=(t.y+e.y)/2;do{r.y>a!=r.next.y>a&&r.next.y!==r.y&&i<(r.next.x-r.x)*(a-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next}while(r!==t);return n}(t,e)&&(el(t.prev,t,e.prev)||el(t,e.prev,e))||rl(t,e)&&el(t.prev,t,t.next)>0&&el(e.prev,e,e.next)>0)}function el(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function rl(t,e){return t.x===e.x&&t.y===e.y}function nl(t,e,r,n){const i=al(el(t,e,r)),a=al(el(t,e,n)),o=al(el(r,n,t)),s=al(el(r,n,e));return i!==a&&o!==s||!(0!==i||!il(t,r,e))||!(0!==a||!il(t,n,e))||!(0!==o||!il(r,t,n))||!(0!==s||!il(r,e,n))}function il(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function al(t){return t>0?1:t<0?-1:0}function ol(t,e){return el(t.prev,t,t.next)<0?el(t,e,t.next)>=0&&el(t,t.prev,e)>=0:el(t,e,t.prev)<0||el(t,t.next,e)<0}function sl(t,e){const r=ul(t.i,t.x,t.y),n=ul(e.i,e.x,e.y),i=t.next,a=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,a.next=n,n.prev=a,n}function ll(t,e,r,n){const i=ul(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function cl(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function ul(t,e,r){return{i:t,x:e,y:r,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function hl(t,e,r){const n=r.patternDependencies;let i=!1;for(const r of e){const e=r.paint.get(`${t}-pattern`);e.isConstant()||(i=!0);const a=e.constantOr(null);a&&(i=!0,n[a.to]=!0,n[a.from]=!0)}return i}function fl(t,e,r,n,i){const a=i.patternDependencies;for(const o of e){const e=o.paint.get(`${t}-pattern`).value;if("constant"!==e.kind){let t=e.evaluate({zoom:n-1},r,{},i.availableImages),s=e.evaluate({zoom:n},r,{},i.availableImages),l=e.evaluate({zoom:n+1},r,{},i.availableImages);t=t&&t.name?t.name:t,s=s&&s.name?s.name:s,l=l&&l.name?l.name:l,a[t]=!0,a[s]=!0,a[l]=!0,r.patterns[o.id]={min:t,mid:s,max:l}}}return r}class pl{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Xa,this.indexArray=new ao,this.indexArray2=new oo,this.programConfigurations=new Bo(t.layers,t.zoom),this.segments=new ho,this.segments2=new ho,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,r){this.hasPattern=hl("fill",this.layers,e);const n=this.layers[0].layout.get("fill-sort-key"),i=!n.isConstant(),a=[];for(const{feature:o,id:s,index:l,sourceLayerIndex:c}of t){const t=this.layers[0]._featureFilter.needGeometry,u=Go(o,t);if(!this.layers[0]._featureFilter.filter(new Hi(this.zoom),u,r))continue;const h=i?n.evaluate(u,{},r,e.availableImages):void 0,f={id:s,properties:o.properties,type:o.type,sourceLayerIndex:c,index:l,geometry:t?u.geometry:Ho(o),patterns:{},sortKey:h};a.push(f)}i&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of a){const{geometry:i,index:a,sourceLayerIndex:o}=n;if(this.hasPattern){const t=fl("fill",this.layers,n,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(n,i,a,r,{});const s=t[a].feature;e.featureIndex.insert(s,i,a,o,this.index)}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Fs),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(t,e,r,n,i){for(const t of br(e,500)){let e=0;for(const r of t)e+=r.length;const r=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),n=r.vertexLength,i=[],a=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&a.push(i.length/2);const r=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),n=r.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(n+e.length-1,n),i.push(e[0].x),i.push(e[0].y);for(let t=1;t>3}if(i--,1===n||2===n)a+=t.readSVarint(),o+=t.readSVarint(),1===n&&(e&&s.push(e),e=[]),e.push(new kl(a,o));else{if(7!==n)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&s.push(e),s},Ml.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,a=0,o=1/0,s=-1/0,l=1/0,c=-1/0;t.pos>3}if(n--,1===r||2===r)(i+=t.readSVarint())s&&(s=i),(a+=t.readSVarint())c&&(c=a);else if(7!==r)throw new Error("unknown command "+r)}return[o,l,s,c]},Ml.prototype.toGeoJSON=function(t,e,r){var n,i,a=this.extent*Math.pow(2,r),o=this.extent*t,s=this.extent*e,l=this.loadGeometry(),c=Ml.types[this.type];function u(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null}return e}(r))}Il.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new Cl(this._pbf,e,this.extent,this._keys,this._values)};var zl=Ll,Ol=function(t,e){this.layers=t.readFields(Dl,{},e)};function Dl(t,e,r){if(3===t){var n=new zl(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}Tl.VectorTile=Ol,Tl.VectorTileFeature=Al,Tl.VectorTileLayer=Ll;const Rl=Tl.VectorTileFeature.types,Fl=Math.pow(2,13);function Bl(t,e,r,n,i,a,o,s){t.emplaceBack(e,r,2*Math.floor(n*Fl)+o,i*Fl*2,a*Fl*2,Math.round(s))}class Nl{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new $a,this.centroidVertexArray=new Wa,this.indexArray=new ao,this.programConfigurations=new Bo(t.layers,t.zoom),this.segments=new ho,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,r){this.features=[],this.hasPattern=hl("fill-extrusion",this.layers,e);for(const{feature:n,id:i,index:a,sourceLayerIndex:o}of t){const t=this.layers[0]._featureFilter.needGeometry,s=Go(n,t);if(!this.layers[0]._featureFilter.filter(new Hi(this.zoom),s,r))continue;const l={id:i,sourceLayerIndex:o,index:a,geometry:t?s.geometry:Ho(n),properties:n.properties,type:n.type,patterns:{}};this.hasPattern?this.features.push(fl("fill-extrusion",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,a,r,{}),e.featureIndex.insert(n,l.geometry,a,o,this.index,!0)}}addFeatures(t,e,r){for(const t of this.features){const{geometry:n}=t;this.addFeature(t,n,t.index,e,r)}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,_l),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,xl.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(t,e,r,n,i){for(const r of br(e,500)){const e={x:0,y:0,vertexCount:0};let n=0;for(const t of r)n+=t.length;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of r){if(0===t.length)continue;if(Ul(t))continue;let r=0;for(let n=0;n=1){const o=t[n-1];if(!jl(a,o)){i.vertexLength+4>ho.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=a.sub(o)._perp()._unit(),n=o.dist(a);r+n>32768&&(r=0),Bl(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,0,r),Bl(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,1,r),e.x+=2*a.x,e.y+=2*a.y,e.vertexCount+=2,r+=n,Bl(this.layoutVertexArray,o.x,o.y,t.x,t.y,0,0,r),Bl(this.layoutVertexArray,o.x,o.y,t.x,t.y,0,1,r),e.x+=2*o.x,e.y+=2*o.y,e.vertexCount+=2;const s=i.vertexLength;this.indexArray.emplaceBack(s,s+2,s+1),this.indexArray.emplaceBack(s+1,s+2,s+3),i.vertexLength+=4,i.primitiveLength+=2}}}}if(i.vertexLength+n>ho.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(n,this.layoutVertexArray,this.indexArray)),"Polygon"!==Rl[t.type])continue;const a=[],o=[],s=i.vertexLength;for(const t of r)if(0!==t.length){t!==r[0]&&o.push(a.length/2);for(let r=0;rUo)||t.y===e.y&&(t.y<0||t.y>Uo)}function Ul(t){return t.every((t=>t.x<0))||t.every((t=>t.x>Uo))||t.every((t=>t.y<0))||t.every((t=>t.y>Uo))}let Vl;Mi("FillExtrusionBucket",Nl,{omit:["layers","features"]});var ql={get paint(){return Vl=Vl||new ia({"fill-extrusion-opacity":new Qi(Z["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new ta(Z["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Qi(Z["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Qi(Z["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new ea(Z["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new ta(Z["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new ta(Z["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Qi(Z["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class Hl extends oa{constructor(t){super(t,ql)}createBucket(t){return new Nl(t)}queryRadius(){return os(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(t,e,r,n,i,o,s,l){const c=ss(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),o.angle,s),u=this.paint.get("fill-extrusion-height").evaluate(e,r),h=this.paint.get("fill-extrusion-base").evaluate(e,r),f=function(t,e,r,n){const i=[];for(const r of t){const t=[r.x,r.y,n,1];vs(t,t,e),i.push(new a(t[0]/t[3],t[1]/t[3]))}return i}(c,l,0,0),p=function(t,e,r,n){const i=[],o=[],s=n[8]*e,l=n[9]*e,c=n[10]*e,u=n[11]*e,h=n[8]*r,f=n[9]*r,p=n[10]*r,d=n[11]*r;for(const e of t){const t=[],r=[];for(const i of e){const e=i.x,o=i.y,m=n[0]*e+n[4]*o+n[12],g=n[1]*e+n[5]*o+n[13],y=n[2]*e+n[6]*o+n[14],v=n[3]*e+n[7]*o+n[15],x=y+c,_=v+u,b=m+h,w=g+f,T=y+p,k=v+d,A=new a((m+s)/_,(g+l)/_);A.z=x/_,t.push(A);const M=new a(b/k,w/k);M.z=T/k,r.push(M)}i.push(t),o.push(r)}return[i,o]}(n,h,u,l);return function(t,e,r){let n=1/0;$o(r,e)&&(n=Zl(r,e[0]));for(let i=0;it.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={}})),this.layoutVertexArray=new Ja,this.layoutVertexArray2=new Ka,this.indexArray=new ao,this.programConfigurations=new Bo(t.layers,t.zoom),this.segments=new ho,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id))}populate(t,e,r){this.hasPattern=hl("line",this.layers,e);const n=this.layers[0].layout.get("line-sort-key"),i=!n.isConstant(),a=[];for(const{feature:e,id:o,index:s,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Go(e,t);if(!this.layers[0]._featureFilter.filter(new Hi(this.zoom),c,r))continue;const u=i?n.evaluate(c,{},r):void 0,h={id:o,properties:e.properties,type:e.type,sourceLayerIndex:l,index:s,geometry:t?c.geometry:Ho(e),patterns:{},sortKey:u};a.push(h)}i&&a.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of a){const{geometry:i,index:a,sourceLayerIndex:o}=n;if(this.hasPattern){const t=fl("line",this.layers,n,this.zoom,e);this.patternFeatures.push(t)}else this.addFeature(n,i,a,r,{});const s=t[a].feature;e.featureIndex.insert(s,i,a,o,this.index)}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r)}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r)}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Kl)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Yl),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_end"))return{start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,r,n,i){const a=this.layers[0].layout,o=a.get("line-join").evaluate(t,{}),s=a.get("line-cap"),l=a.get("line-miter-limit"),c=a.get("line-round-limit");this.lineClips=this.lineFeatureClips(t);for(const r of e)this.addLine(r,t,o,s,l,c);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n)}addLine(t,e,r,n,i,a){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[s-1].equals(t[s-2]);)s--;let l=0;for(;l0;if(b&&e>l){const t=h.dist(f);if(t>2*c){const e=h.sub(h.sub(f)._mult(c/t)._round());this.updateDistance(f,e),this.addCurrentVertex(e,d,0,0,u),f=e}}const T=f&&p;let k=T?r:o?"butt":n;if(T&&"round"===k&&(xi&&(k="bevel"),"bevel"===k&&(x>2&&(k="flipbevel"),x100)g=m.mult(-1);else{const t=x*d.add(m).mag()/d.sub(m).mag();g._perp()._mult(t*(w?-1:1))}this.addCurrentVertex(h,g,0,0,u),this.addCurrentVertex(h,g.mult(-1),0,0,u)}else if("bevel"===k||"fakeround"===k){const t=-Math.sqrt(x*x-1),e=w?t:0,r=w?0:t;if(f&&this.addCurrentVertex(h,d,e,r,u),"fakeround"===k){const t=Math.round(180*_/Math.PI/20);for(let e=1;e2*c){const e=h.add(p.sub(h)._mult(c/t)._round());this.updateDistance(h,e),this.addCurrentVertex(e,m,0,0,u),h=e}}}}addCurrentVertex(t,e,r,n,i,a=!1){const o=e.x+e.y*r,s=e.y-e.x*r,l=-e.x+e.y*n,c=-e.y-e.x*n;this.addHalfVertex(t,o,s,a,!1,r,i),this.addHalfVertex(t,l,c,a,!0,-n,i),this.distance>nc/2&&0===this.totalDistance&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(t,e,r,n,i,a))}addHalfVertex({x:t,y:e},r,n,i,a,o,s){const l=.5*(this.lineClips?this.scaledDistance*(nc-1):this.scaledDistance);if(this.layoutVertexArray.emplaceBack((t<<1)+(i?1:0),(e<<1)+(a?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===o?0:o<0?-1:1)|(63&l)<<2,l>>6),this.lineClips){const t=(this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start);this.layoutVertexArray2.emplaceBack(t,this.lineClipsArray.length)}const c=s.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,c),s.primitiveLength++),a?this.e2=c:this.e1=c}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance()}}let ac;Mi("LineBucket",ic,{omit:["layers","patternFeatures"]});let oc;var sc={get paint(){return oc=oc||new ia({"line-opacity":new ta(Z.paint_line["line-opacity"]),"line-color":new ta(Z.paint_line["line-color"]),"line-translate":new Qi(Z.paint_line["line-translate"]),"line-translate-anchor":new Qi(Z.paint_line["line-translate-anchor"]),"line-width":new ta(Z.paint_line["line-width"]),"line-gap-width":new ta(Z.paint_line["line-gap-width"]),"line-offset":new ta(Z.paint_line["line-offset"]),"line-blur":new ta(Z.paint_line["line-blur"]),"line-dasharray":new ra(Z.paint_line["line-dasharray"]),"line-pattern":new ea(Z.paint_line["line-pattern"]),"line-gradient":new na(Z.paint_line["line-gradient"])})},get layout(){return ac=ac||new ia({"line-cap":new Qi(Z.layout_line["line-cap"]),"line-join":new ta(Z.layout_line["line-join"]),"line-miter-limit":new Qi(Z.layout_line["line-miter-limit"]),"line-round-limit":new Qi(Z.layout_line["line-round-limit"]),"line-sort-key":new ta(Z.layout_line["line-sort-key"])})}};class lc extends ta{possiblyEvaluate(t,e){return e=new Hi(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,zoomHistory:e.zoomHistory,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,r,n){return e=y({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,r,n)}}let cc;class uc extends oa{constructor(t){super(t,sc),this.gradientVersion=0,cc||(cc=new lc(sc.paint.properties["line-width"].specification),cc.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(t){if("line-gradient"===t){const t=this.gradientExpression();!function(t){return void 0!==t._styleExpression}(t)?this.stepInterpolant=!1:this.stepInterpolant=t._styleExpression.expression instanceof Ae,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(t,e){super.recalculate(t,e),this.paint._values["line-floorwidth"]=cc.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,t)}createBucket(t){return new ic(t)}queryRadius(t){const e=t,r=hc(as("line-width",this,e),as("line-gap-width",this,e)),n=as("line-offset",this,e);return r/2+Math.abs(n)+os(this.paint.get("line-translate"))}queryIntersectsFeature(t,e,r,n,i,o,s){const l=ss(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),o.angle,s),c=s/2*hc(this.paint.get("line-width").evaluate(e,r),this.paint.get("line-gap-width").evaluate(e,r)),u=this.paint.get("line-offset").evaluate(e,r);return u&&(n=function(t,e){const r=[];for(let n=0;n=3)for(let e=0;e0?e+2*t:t}const fc=ua([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),pc=ua([{name:"a_projected_pos",components:3,type:"Float32"}],4);ua([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const dc=ua([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);ua([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const mc=ua([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),gc=ua([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function yc(t,e,r){return t.sections.forEach((t=>{t.text=function(t,e,r){const n=e.layout.get("text-transform").evaluate(r,{});return"uppercase"===n?t=t.toLocaleUpperCase():"lowercase"===n&&(t=t.toLocaleLowerCase()),qi.applyArabicShaping&&(t=qi.applyArabicShaping(t)),t}(t.text,e,r)})),t}ua([{name:"triangle",components:3,type:"Uint16"}]),ua([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),ua([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"collisionCircleDiameter"},{type:"Uint16",name:"textAnchorOffsetStartIndex"},{type:"Uint16",name:"textAnchorOffsetEndIndex"}]),ua([{type:"Float32",name:"offsetX"}]),ua([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),ua([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);const vc={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var xc=24,_c=wc,bc={read:function(t,e,r,n,i){var a,o,s=8*i-n-1,l=(1<>1,u=-7,h=r?i-1:0,f=r?-1:1,p=t[e+h];for(h+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=256*a+t[e+h],h+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=n;u>0;o=256*o+t[e+h],h+=f,u-=8);if(0===a)a=1-c;else{if(a===l)return o?NaN:1/0*(p?-1:1);o+=Math.pow(2,n),a-=c}return(p?-1:1)*o*Math.pow(2,a-n)},write:function(t,e,r,n,i,a){var o,s,l,c=8*a-i-1,u=(1<>1,f=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:a-1,d=n?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(s=isNaN(e)?1:0,o=u):(o=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-o))<1&&(o--,l*=2),(e+=o+h>=1?f/l:f*Math.pow(2,1-h))*l>=2&&(o++,l/=2),o+h>=u?(s=0,o=u):o+h>=1?(s=(e*l-1)*Math.pow(2,i),o+=h):(s=e*Math.pow(2,h-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=255&s,p+=d,s/=256,i-=8);for(o=o<0;t[r+p]=255&o,p+=d,o/=256,c-=8);t[r+p-d]|=128*m}};function wc(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length}wc.Varint=0,wc.Fixed64=1,wc.Bytes=2,wc.Fixed32=5;var Tc=4294967296,kc=1/Tc,Ac="undefined"==typeof TextDecoder?null:new TextDecoder("utf-8");function Mc(t){return t.type===wc.Bytes?t.readVarint()+t.pos:t.pos+1}function Sc(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function Ec(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i]}function Cc(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24}function jc(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}wc.prototype={destroy:function(){this.buf=null},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,a=this.pos;this.type=7&n,t(i,e,this),this.pos===a&&this.skip(n)}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Bc(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=jc(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Bc(this.buf,this.pos)+Bc(this.buf,this.pos+4)*Tc;return this.pos+=8,t},readSFixed64:function(){var t=Bc(this.buf,this.pos)+jc(this.buf,this.pos+4)*Tc;return this.pos+=8,t},readFloat:function(){var t=bc.read(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=bc.read(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,a=r.buf;if(n=(112&(i=a[r.pos++]))>>4,i<128)return Sc(t,n,e);if(n|=(127&(i=a[r.pos++]))<<3,i<128)return Sc(t,n,e);if(n|=(127&(i=a[r.pos++]))<<10,i<128)return Sc(t,n,e);if(n|=(127&(i=a[r.pos++]))<<17,i<128)return Sc(t,n,e);if(n|=(127&(i=a[r.pos++]))<<24,i<128)return Sc(t,n,e);if(n|=(1&(i=a[r.pos++]))<<31,i<128)return Sc(t,n,e);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&Ac?function(t,e,r){return Ac.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n="",i=e;i239?4:l>223?3:l>191?2:1;if(i+u>r)break;1===u?l<128&&(c=l):2===u?128==(192&(a=t[i+1]))&&(c=(31&l)<<6|63&a)<=127&&(c=null):3===u?(a=t[i+1],o=t[i+2],128==(192&a)&&128==(192&o)&&((c=(15&l)<<12|(63&a)<<6|63&o)<=2047||c>=55296&&c<=57343)&&(c=null)):4===u&&(a=t[i+1],o=t[i+2],s=t[i+3],128==(192&a)&&128==(192&o)&&128==(192&s)&&((c=(15&l)<<18|(63&a)<<12|(63&o)<<6|63&s)<=65535||c>=1114112)&&(c=null)),null===c?(c=65533,u=1):c>65535&&(c-=65536,n+=String.fromCharCode(c>>>10&1023|55296),c=56320|1023&c),n+=String.fromCharCode(c),i+=u}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==wc.Bytes)return t.push(this.readVarint(e));var r=Mc(this);for(t=t||[];this.pos127;);else if(e===wc.Bytes)this.pos=this.readVarint()+this.pos;else if(e===wc.Fixed32)this.pos+=4;else{if(e!==wc.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(t,e){this.writeVarint(t<<3|e)},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos]=127&t}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))))}(n,e)}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))))},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t)},writeBoolean:function(t){this.writeVarint(Boolean(t))},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,a=0;a55295&&n<57344){if(!i){n>56319||a+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128)}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&Ec(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(t){this.realloc(4),bc.write(this.buf,t,this.pos,!0,23,4),this.pos+=4},writeDouble:function(t){this.realloc(8),bc.write(this.buf,t,this.pos,!0,52,8),this.pos+=8},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&Ec(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(t,e,r){this.writeTag(t,wc.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,Cc,e)},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,Lc,e)},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,zc,e)},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,Ic,e)},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,Pc,e)},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,Oc,e)},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,Dc,e)},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,Rc,e)},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Fc,e)},writeBytesField:function(t,e){this.writeTag(t,wc.Bytes),this.writeBytes(e)},writeFixed32Field:function(t,e){this.writeTag(t,wc.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(t,e){this.writeTag(t,wc.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(t,e){this.writeTag(t,wc.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(t,e){this.writeTag(t,wc.Fixed64),this.writeSFixed64(e)},writeVarintField:function(t,e){this.writeTag(t,wc.Varint),this.writeVarint(e)},writeSVarintField:function(t,e){this.writeTag(t,wc.Varint),this.writeSVarint(e)},writeStringField:function(t,e){this.writeTag(t,wc.Bytes),this.writeString(e)},writeFloatField:function(t,e){this.writeTag(t,wc.Fixed32),this.writeFloat(e)},writeDoubleField:function(t,e){this.writeTag(t,wc.Fixed64),this.writeDouble(e)},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e))}};var Uc=r(_c);const Vc=3;function qc(t,e,r){1===t&&r.readMessage(Hc,e)}function Hc(t,e,r){if(3===t){const{id:t,bitmap:n,width:i,height:a,left:o,top:s,advance:l}=r.readMessage(Gc,{});e.push({id:t,bitmap:new Cs({width:i+2*Vc,height:a+2*Vc},n),metrics:{width:i,height:a,left:o,top:s,advance:l}})}}function Gc(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint())}const Zc=Vc;function Wc(t){let e=0,r=0;for(const n of t)e+=n.w*n.h,r=Math.max(r,n.w);t.sort(((t,e)=>e.h-t.h));const n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}];let i=0,a=0;for(const e of t)for(let t=n.length-1;t>=0;t--){const r=n[t];if(!(e.w>r.w||e.h>r.h)){if(e.x=r.x,e.y=r.y,a=Math.max(a,e.y+e.h),i=Math.max(i,e.x+e.w),e.w===r.w&&e.h===r.h){const e=n.pop();t=0&&r>=t&&ru[this.text.charCodeAt(r)];r--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e)}substring(t,e){const r=new tu;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Qc.forText(t.scale,t.fontStack||e));const r=this.sections.length-1;for(let e=0;e=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function eu(e,r,n,i,a,o,s,l,c,u,h,f,p,d,m){const g=tu.fromFeature(e,a);let y;f===t.ai.vertical&&g.verticalizePunctuation();const{processBidirectionalText:v,processStyledBidirectionalText:x}=qi;if(v&&1===g.sections.length){y=[];const t=v(g.toString(),uu(g,u,o,r,i,d));for(const e of t){const t=new tu;t.text=e,t.sections=g.sections;for(let r=0;r0&&n>b&&(b=n)}else{const t=n[m.fontStack],e=t&&t[y];if(e&&e.rect)w=e.rect,x=e.metrics;else{const t=r[m.fontStack],e=t&&t[y];if(!e)continue;x=e.metrics}v=(a-m.scale)*xc}A?(e.verticalizable=!0,_.push({glyph:y,imageName:T,x:p,y:d+v,vertical:A,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:x,rect:w}),p+=k*m.scale+u):(_.push({glyph:y,imageName:T,x:p,y:d+v,vertical:A,scale:m.scale,fontStack:m.fontStack,sectionIndex:g,metrics:x,rect:w}),p+=x.advance*m.scale+u)}if(0!==_.length){const t=p-u;m=Math.max(t,m),fu(_,0,_.length-1,y,b)}p=0;const w=o*a+b;x.lineOffset=Math.max(b,l),d+=w,g=Math.max(w,g),++v}const x=d-Kc,{horizontalAlign:_,verticalAlign:b}=hu(s);(function(t,e,r,n,i,a,o,s,l){const c=(e-r)*i;let u=0;u=a!==o?-s*n-Kc:(-n*l+.5)*o;for(const e of t)for(const t of e.positionedGlyphs)t.x+=c,t.y+=u})(e.positionedLines,y,_,b,m,g,o,x,a.length),e.top+=-b*x,e.bottom=e.top+x,e.left+=-_*m,e.right=e.left+m}(b,r,n,i,y,s,l,c,f,u,p,m),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return!1;return!0}(_)&&b}const ru={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},nu={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},iu={40:!0};function au(t,e,r,n,i,a){if(e.imageName){const t=n[e.imageName];return t?t.displaySize[0]*e.scale*xc/a+i:0}{const n=r[e.fontStack],a=n&&n[t];return a?a.metrics.advance*e.scale+i:0}}function ou(t,e,r,n){const i=Math.pow(t-e,2);return n?t=0;let c=0;for(let r=0;rh){const t=Math.ceil(a/h);i*=t/o,o=t}return{x1:n,y1:i,x2:n+a,y2:i+o}}function mu(t,e,r,n,i,a){const o=t.image;let s;if(o.content){const t=o.content,e=o.pixelRatio||1;s=[t[0]/e,t[1]/e,o.displaySize[0]-t[2]/e,o.displaySize[1]-t[3]/e]}const l=e.left*a,c=e.right*a;let u,h,f,p;"width"===r||"both"===r?(p=i[0]+l-n[3],h=i[0]+c+n[1]):(p=i[0]+(l+c-o.displaySize[0])/2,h=p+o.displaySize[0]);const d=e.top*a,m=e.bottom*a;return"height"===r||"both"===r?(u=i[1]+d-n[0],f=i[1]+m+n[2]):(u=i[1]+(d+m-o.displaySize[1])/2,f=u+o.displaySize[1]),{image:o,top:u,right:h,bottom:f,left:p,collisionPadding:s}}const gu=255,yu=128,vu=gu*yu;function xu(t,e){const{expression:r}=e;if("constant"===r.kind)return{kind:"constant",layoutSize:r.evaluate(new Hi(t+1))};if("source"===r.kind)return{kind:"source"};{const{zoomStops:e,interpolationType:n}=r;let i=0;for(;it.id)),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=ps([]),this.placementViewportMatrix=ps([]);const r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=xu(this.zoom,r["text-size"]),this.iconSizeData=xu(this.zoom,r["icon-size"]);const n=this.layers[0].layout,i=n.get("symbol-sort-key"),a=n.get("symbol-z-order");this.canOverlap="never"!==_u(n,"text-overlap","text-allow-overlap")||"never"!==_u(n,"icon-overlap","icon-allow-overlap")||n.get("text-ignore-placement")||n.get("icon-ignore-placement"),this.sortFeaturesByKey="viewport-y"!==a&&!i.isConstant();const o="viewport-y"===a||"auto"===a&&!this.sortFeaturesByKey;this.sortFeaturesByY=o&&this.canOverlap,"point"===n.get("symbol-placement")&&(this.writingModes=n.get("text-writing-mode").map((e=>t.ai[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID}createArrays(){this.text=new Mu(new Bo(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new Mu(new Bo(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Ua,this.lineVertexArray=new Va,this.symbolInstances=new ja,this.textAnchorOffsets=new Ha}calculateGlyphDependencies(t,e,r,n,i){for(let a=0;a0)&&("constant"!==o.value.kind||o.value.value.length>0),u="constant"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,h=a.get("symbol-sort-key");if(this.features=[],!c&&!u)return;const f=r.iconDependencies,p=r.glyphDependencies,d=r.availableImages,m=new Hi(this.zoom);for(const{feature:r,id:s,index:l,sourceLayerIndex:g}of e){const e=i._featureFilter.needGeometry,y=Go(r,e);if(!i._featureFilter.filter(m,y,n))continue;let v,x;if(e||(y.geometry=Ho(r)),c){const t=i.getValueAndResolveTokens("text-field",y,n,d),e=Kt.factory(t),r=this.hasRTLText=this.hasRTLText||Au(e);(!r||"unavailable"===qi.getRTLTextPluginStatus()||r&&qi.isParsed())&&(v=yc(e,i,y))}if(u){const t=i.getValueAndResolveTokens("icon-image",y,n,d);x=t instanceof re?t:re.fromString(t)}if(!v&&!x)continue;const _=this.sortFeaturesByKey?h.evaluate(y,{},n):void 0,b={id:s,text:v,icon:x,index:l,sourceLayerIndex:g,geometry:y.geometry,properties:r.properties,type:bu[r.type],sortKey:_};if(this.features.push(b),x&&(f[x.name]=!0),v){const e=o.evaluate(y,{},n).join(","),r="viewport"!==a.get("text-rotation-alignment")&&"point"!==a.get("symbol-placement");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.ai.vertical)>=0;for(const t of v.sections)if(t.image)f[t.image.name]=!0;else{const n=Oi(v.toString()),i=t.fontStack||e,a=p[i]=p[i]||{};this.calculateGlyphDependencies(t.text,a,r,this.allowVerticalPlacement,n)}}}"line"===a.get("symbol-placement")&&(this.features=function(t){const e={},r={},n=[];let i=0;function a(e){n.push(t[e]),i++}function o(t,e,i){const a=r[t];return delete r[t],r[e]=a,n[a].geometry[0].pop(),n[a].geometry[0]=n[a].geometry[0].concat(i[0]),a}function s(t,r,i){const a=e[r];return delete e[r],e[t]=a,n[a].geometry[0].shift(),n[a].geometry[0]=i[0].concat(n[a].geometry[0]),a}function l(t,e,r){const n=r?e[0][e[0].length-1]:e[0][0];return`${t}:${n.x}:${n.y}`}for(let c=0;ct.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey))}update(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r))}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(t,e){const r=this.lineVertexArray.length;if(void 0!==t.segment){let r=t.dist(e[t.segment+1]),n=t.dist(e[t.segment]);const i={};for(let n=t.segment+1;n=0;r--)i[r]={x:e[r].x,y:e[r].y,tileUnitDistanceFromAnchor:n},r>0&&(n+=e[r-1].dist(e[r]));for(let t=0;t0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(t,e){const r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs;for(let e=r.vertexStartIndex;en[t]-n[e]||i[e]-i[t])),a}addToSortKeyRanges(t,e){const r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1})}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex),[e.rightJustifiedTextSymbolIndex,e.centerJustifiedTextSymbolIndex,e.leftJustifiedTextSymbolIndex].forEach(((t,e,r)=>{t>=0&&r.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t)})),e.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,e.verticalPlacedTextSymbolIndex),e.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.placedIconSymbolIndex),e.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let Cu;Mi("SymbolBucket",Eu,{omit:["layers","collisionBoxArray","features","compareText"]}),Eu.MAX_GLYPHS=65535,Eu.addDynamicAttributes=ku;let Lu;var Iu={get paint(){return Lu=Lu||new ia({"icon-opacity":new ta(Z.paint_symbol["icon-opacity"]),"icon-color":new ta(Z.paint_symbol["icon-color"]),"icon-halo-color":new ta(Z.paint_symbol["icon-halo-color"]),"icon-halo-width":new ta(Z.paint_symbol["icon-halo-width"]),"icon-halo-blur":new ta(Z.paint_symbol["icon-halo-blur"]),"icon-translate":new Qi(Z.paint_symbol["icon-translate"]),"icon-translate-anchor":new Qi(Z.paint_symbol["icon-translate-anchor"]),"text-opacity":new ta(Z.paint_symbol["text-opacity"]),"text-color":new ta(Z.paint_symbol["text-color"],{runtimeType:ft,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),"text-halo-color":new ta(Z.paint_symbol["text-halo-color"]),"text-halo-width":new ta(Z.paint_symbol["text-halo-width"]),"text-halo-blur":new ta(Z.paint_symbol["text-halo-blur"]),"text-translate":new Qi(Z.paint_symbol["text-translate"]),"text-translate-anchor":new Qi(Z.paint_symbol["text-translate-anchor"])})},get layout(){return Cu=Cu||new ia({"symbol-placement":new Qi(Z.layout_symbol["symbol-placement"]),"symbol-spacing":new Qi(Z.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Qi(Z.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new ta(Z.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Qi(Z.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Qi(Z.layout_symbol["icon-allow-overlap"]),"icon-overlap":new Qi(Z.layout_symbol["icon-overlap"]),"icon-ignore-placement":new Qi(Z.layout_symbol["icon-ignore-placement"]),"icon-optional":new Qi(Z.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Qi(Z.layout_symbol["icon-rotation-alignment"]),"icon-size":new ta(Z.layout_symbol["icon-size"]),"icon-text-fit":new Qi(Z.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Qi(Z.layout_symbol["icon-text-fit-padding"]),"icon-image":new ta(Z.layout_symbol["icon-image"]),"icon-rotate":new ta(Z.layout_symbol["icon-rotate"]),"icon-padding":new ta(Z.layout_symbol["icon-padding"]),"icon-keep-upright":new Qi(Z.layout_symbol["icon-keep-upright"]),"icon-offset":new ta(Z.layout_symbol["icon-offset"]),"icon-anchor":new ta(Z.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Qi(Z.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Qi(Z.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Qi(Z.layout_symbol["text-rotation-alignment"]),"text-field":new ta(Z.layout_symbol["text-field"]),"text-font":new ta(Z.layout_symbol["text-font"]),"text-size":new ta(Z.layout_symbol["text-size"]),"text-max-width":new ta(Z.layout_symbol["text-max-width"]),"text-line-height":new Qi(Z.layout_symbol["text-line-height"]),"text-letter-spacing":new ta(Z.layout_symbol["text-letter-spacing"]),"text-justify":new ta(Z.layout_symbol["text-justify"]),"text-radial-offset":new ta(Z.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Qi(Z.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new ta(Z.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new ta(Z.layout_symbol["text-anchor"]),"text-max-angle":new Qi(Z.layout_symbol["text-max-angle"]),"text-writing-mode":new Qi(Z.layout_symbol["text-writing-mode"]),"text-rotate":new ta(Z.layout_symbol["text-rotate"]),"text-padding":new Qi(Z.layout_symbol["text-padding"]),"text-keep-upright":new Qi(Z.layout_symbol["text-keep-upright"]),"text-transform":new ta(Z.layout_symbol["text-transform"]),"text-offset":new ta(Z.layout_symbol["text-offset"]),"text-allow-overlap":new Qi(Z.layout_symbol["text-allow-overlap"]),"text-overlap":new Qi(Z.layout_symbol["text-overlap"]),"text-ignore-placement":new Qi(Z.layout_symbol["text-ignore-placement"]),"text-optional":new Qi(Z.layout_symbol["text-optional"])})}};class Pu{constructor(t){if(void 0===t.property.overrides)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=t.property.overrides?t.property.overrides.runtimeType:lt,this.defaultValue=t}evaluate(t){if(t.formattedSection){const e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Mi("FormatSectionOverride",Pu,{omit:["defaultValue"]});class zu extends oa{constructor(t){super(t,Iu)}recalculate(t,e){if(super.recalculate(t,e),"auto"===this.layout.get("icon-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["icon-rotation-alignment"]="map":this.layout._values["icon-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-rotation-alignment")&&("point"!==this.layout.get("symbol-placement")?this.layout._values["text-rotation-alignment"]="map":this.layout._values["text-rotation-alignment"]="viewport"),"auto"===this.layout.get("text-pitch-alignment")&&(this.layout._values["text-pitch-alignment"]="map"===this.layout.get("text-rotation-alignment")?"map":"viewport"),"auto"===this.layout.get("icon-pitch-alignment")&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),"point"===this.layout.get("symbol-placement")){const t=this.layout.get("text-writing-mode");if(t){const e=[];for(const r of t)e.indexOf(r)<0&&e.push(r);this.layout._values["text-writing-mode"]=e}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(t,e,r,n){const i=this.layout.get(t).evaluate(e,{},r,n),a=this._unevaluatedLayout._values[t];return a.isDataDriven()||kn(a.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,((e,r)=>t&&r in t?String(t[r]):""))}(e.properties,i)}createBucket(t){return new Eu(t)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(const t of Iu.paint.overridableProperties){if(!zu.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),r=new Pu(e),n=new Tn(r,e.property.specification);let i=null;i="constant"===e.value.kind||"source"===e.value.kind?new Mn("source",n):new Sn("composite",n,e.value.zoomStops),this.paint._values[t]=new Ji(e.property,i,e.parameters)}}_handleOverridablePaintPropertyUpdate(t,e,r){return!(!this.layout||e.isDataDriven()||r.isDataDriven())&&zu.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const r=t.get("text-field"),n=Iu.paint.properties[e];let i=!1;const a=t=>{for(const e of t)if(n.overrides&&n.overrides.hasOverride(e))return void(i=!0)};if("constant"===r.value.kind&&r.value.value instanceof Kt)a(r.value.value.sections);else if("source"===r.value.kind){const t=e=>{if(!i)if(e instanceof se&&ae(e.value)===gt){const t=e.value;a(t.sections)}else e instanceof We?a(e.sections):e.eachChild(t)},e=r.value;e._styleExpression&&t(e._styleExpression.expression)}return i}}let Ou;var Du={get paint(){return Ou=Ou||new ia({"background-color":new Qi(Z.paint_background["background-color"]),"background-pattern":new ra(Z.paint_background["background-pattern"]),"background-opacity":new Qi(Z.paint_background["background-opacity"])})}};class Ru extends oa{constructor(t){super(t,Du)}}let Fu;var Bu={get paint(){return Fu=Fu||new ia({"raster-opacity":new Qi(Z.paint_raster["raster-opacity"]),"raster-hue-rotate":new Qi(Z.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Qi(Z.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Qi(Z.paint_raster["raster-brightness-max"]),"raster-saturation":new Qi(Z.paint_raster["raster-saturation"]),"raster-contrast":new Qi(Z.paint_raster["raster-contrast"]),"raster-resampling":new Qi(Z.paint_raster["raster-resampling"]),"raster-fade-duration":new Qi(Z.paint_raster["raster-fade-duration"])})}};class Nu extends oa{constructor(t){super(t,Bu)}}class ju extends oa{constructor(t){super(t,{}),this.onAdd=t=>{this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl)},this.onRemove=t=>{this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl)},this.implementation=t}is3D(){return"3d"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}class Uu{constructor(t){this._methodToThrottle=t,this._triggered=!1,"undefined"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._methodToThrottle()}),0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}const Vu=6371008.8;class qu{constructor(t,e){if(isNaN(t)||isNaN(e))throw new Error(`Invalid LngLat object: (${t}, ${e})`);if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new qu(g(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Vu*Math.acos(Math.min(i,1))}static convert(t){if(t instanceof qu)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new qu(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&"object"==typeof t&&null!==t)return new qu(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}const Hu=2*Math.PI*Vu;function Gu(t){return Hu*Math.cos(t*Math.PI/180)}function Zu(t){return(180+t)/360}function Wu(t){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Yu(t,e){return t/Gu(e)}function Xu(t){const e=180-360*t;return 360/Math.PI*Math.atan(Math.exp(e*Math.PI/180))-90}class $u{constructor(t,e,r=0){this.x=+t,this.y=+e,this.z=+r}static fromLngLat(t,e=0){const r=qu.convert(t);return new $u(Zu(r.lng),Wu(r.lat),Yu(e,r.lat))}toLngLat(){return new qu(360*this.x-180,Xu(this.y))}toAltitude(){return t=this.z,e=this.y,t*Gu(Xu(e));var t,e}meterInMercatorCoordinateUnits(){return 1/Hu*(t=Xu(this.y),1/Math.cos(t*Math.PI/180));var t}}function Ju(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}class Ku{constructor(t,e,r){if(t<0||t>25||r<0||r>=Math.pow(2,t)||e<0||e>=Math.pow(2,t))throw new Error(`x=${e}, y=${r}, z=${t} outside of bounds. 0<=x<${Math.pow(2,t)}, 0<=y<${Math.pow(2,t)} 0<=z<=25 `);this.z=t,this.x=e,this.y=r,this.key=eh(0,t,t,e,r)}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e,r){const n=(a=this.x,o=this.y,s=this.z,l=Ju(256*a,256*(o=Math.pow(2,s)-o-1),s),c=Ju(256*(a+1),256*(o+1),s),l[0]+","+l[1]+","+c[0]+","+c[1]),i=function(t,e,r){let n,i="";for(let a=t;a>0;a--)n=1<1?"@2x":"").replace(/{quadkey}/g,i).replace(/{bbox-epsg-3857}/g,n)}isChildOf(t){const e=this.z-t.z;return e>0&&t.x===this.x>>e&&t.y===this.y>>e}getTilePoint(t){const e=Math.pow(2,this.z);return new a((t.x*e-this.x)*Uo,(t.y*e-this.y)*Uo)}toString(){return`${this.z}/${this.x}/${this.y}`}}class Qu{constructor(t,e){this.wrap=t,this.canonical=e,this.key=eh(t,e.z,e.z,e.x,e.y)}}class th{constructor(t,e,r,n,i){if(t= z; overscaledZ = ${t}; z = ${r}`);this.overscaledZ=t,this.wrap=e,this.canonical=new Ku(r,+n,+i),this.key=eh(e,t,r,n,i)}clone(){return new th(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const e=this.canonical.z-t;return t>this.canonical.z?new th(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new th(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const r=this.canonical.z-t;return t>this.canonical.z?eh(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):eh(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)}isChildOf(t){if(t.wrap!==this.wrap)return!1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return[new th(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return[new th(e,this.wrap,e,r,n),new th(e,this.wrap,e,r+1,n),new th(e,this.wrap,e,r,n+1),new th(e,this.wrap,e,r+1,n+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=r),r=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(e+1)*this.stride+(t+1)}unpack(t,e,r){return t*this.redFactor+e*this.greenFactor+r*this.blueFactor-this.baseShift}getPixels(){return new Ls({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(t,e,r){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");let n=e*this.dim,i=e*this.dim+this.dim,a=r*this.dim,o=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1}switch(r){case-1:a=o-1;break;case 1:o=a+1}const s=-e*this.dim,l=-r*this.dim;for(let e=a;e=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${t} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[t]}}class ih{constructor(t,e,r,n,i){this.type="Feature",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,this.id=i}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(t){this._geometry=t}toJSON(){const t={geometry:this.geometry};for(const e in this)"_geometry"!==e&&"_vectorTileFeature"!==e&&(t[e]=this[e]);return t}}class ah{constructor(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new ki(Uo,16,0),this.grid3D=new ki(Uo,16,0),this.featureIndexArray=new Za,this.promoteId=e}insert(t,e,r,n,i,a){const o=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);const s=a?this.grid3D:this.grid;for(let t=0;t=0&&n[3]>=0&&s.insert(o,n[0],n[1],n[2],n[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new Tl.VectorTile(new Uc(this.rawTileData)).layers,this.sourceLayerCoder=new nh(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(t,e,r,n){this.loadVTLayers();const i=t.params||{},o=Uo/t.tileSize/t.scale,s=zn(i.filter),l=t.queryGeometry,c=t.queryPadding*o,u=sh(l),h=this.grid.query(u.minX-c,u.minY-c,u.maxX+c,u.maxY+c),f=sh(t.cameraQueryGeometry),p=this.grid3D.query(f.minX-c,f.minY-c,f.maxX+c,f.maxY+c,((e,r,n,i)=>function(t,e,r,n,i){for(const a of t)if(e<=a.x&&r<=a.y&&n>=a.x&&i>=a.y)return!0;const o=[new a(e,r),new a(e,i),new a(n,i),new a(n,r)];if(t.length>2)for(const e of o)if(ns(t,e))return!0;for(let e=0;e(f||(f=Ho(e)),r.queryIntersectsFeature(l,e,n,f,this.z,t.transform,o,t.pixelPosMatrix))))}return d}loadMatchingFeature(t,e,r,n,i,a,o,s,l,c,u){const h=this.bucketLayerIDs[e];if(a&&!function(t,e){for(let r=0;r=0)return!0;return!1}(a,h))return;const f=this.sourceLayerCoder.decode(r),p=this.vtLayers[f].feature(n);if(i.needGeometry){const t=Go(p,!0);if(!i.filter(new Hi(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!i.filter(new Hi(this.tileID.overscaledZ),p))return;const d=this.getId(p,f);for(let e=0;e{const o=e instanceof Ki?e.get(a):null;return o&&o.evaluate?o.evaluate(r,n,i):o}))}function sh(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const a of t)e=Math.min(e,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return{minX:e,minY:r,maxX:n,maxY:i}}function lh(t,e){return e-t}function ch(t,e,r,n,i){const o=[];for(let s=0;s=n&&u.x>=n||(s.x>=n?s=new a(n,s.y+(u.y-s.y)*((n-s.x)/(u.x-s.x)))._round():u.x>=n&&(u=new a(n,s.y+(u.y-s.y)*((n-s.x)/(u.x-s.x)))._round()),s.y>=i&&u.y>=i||(s.y>=i?s=new a(s.x+(u.x-s.x)*((i-s.y)/(u.y-s.y)),i)._round():u.y>=i&&(u=new a(s.x+(u.x-s.x)*((i-s.y)/(u.y-s.y)),i)._round()),c&&s.equals(c[c.length-1])||(c=[s],o.push(c)),c.push(u)))))}}return o}Mi("FeatureIndex",ah,{omit:["rawTileData","sourceLayerCoder"]});class uh extends a{constructor(t,e,r,n){super(t,e),this.angle=r,void 0!==n&&(this.segment=n)}clone(){return new uh(this.x,this.y,this.angle,this.segment)}}function hh(t,e,r,n,i){if(void 0===e.segment||0===r)return!0;let a=e,o=e.segment+1,s=0;for(;s>-r/2;){if(o--,o<0)return!1;s-=t[o].dist(a),a=t[o]}s+=t[o].dist(t[o+1]),o++;const l=[];let c=0;for(;sn;)c-=l.shift().angleDelta;if(c>i)return!1;o++,s+=r.dist(a)}return!0}function fh(t){let e=0;for(let r=0;rc){const u=(c-l)/a,h=Pe.number(n.x,i.x,u),f=Pe.number(n.y,i.y,u),p=new uh(h,f,i.angleTo(n),r);return p._round(),!o||hh(t,p,s,o,e)?p:void 0}l+=a}}function gh(t,e,r,n,i,a,o,s,l){const c=ph(n,a,o),u=dh(n,i),h=u*o,f=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&y=0&&v=0&&f+c<=u){const r=new uh(y,v,m,e);r._round(),n&&!hh(t,r,a,n,i)||p.push(r)}}h+=d}return s||p.length||o||(p=yh(t,h/2,r,n,i,a,o,!0,l)),p}Mi("Anchor",uh);const vh=Yc;function xh(t,e,r,n){const i=[],o=t.image,s=o.pixelRatio,l=o.paddedRect.w-2*vh,c=o.paddedRect.h-2*vh;let u={x1:t.left,y1:t.top,x2:t.right,y2:t.bottom};const h=o.stretchX||[[0,l]],f=o.stretchY||[[0,c]],p=(t,e)=>t+e[1]-e[0],d=h.reduce(p,0),m=f.reduce(p,0),g=l-d,y=c-m;let v=0,x=d,_=0,b=m,w=0,T=g,k=0,A=y;if(o.content&&n){const e=o.content,r=e[2]-e[0],n=e[3]-e[1];(o.textFitWidth||o.textFitHeight)&&(u=du(t)),v=_h(h,0,e[0]),_=_h(f,0,e[1]),x=_h(h,e[0],e[2]),b=_h(f,e[1],e[3]),w=e[0]-v,k=e[1]-_,T=r-x,A=n-b}const M=u.x1,S=u.y1,E=u.x2-M,C=u.y2-S,L=(t,n,i,l)=>{const c=wh(t.stretch-v,x,E,M),u=Th(t.fixed-w,T,t.stretch,d),h=wh(n.stretch-_,b,C,S),f=Th(n.fixed-k,A,n.stretch,m),p=wh(i.stretch-v,x,E,M),g=Th(i.fixed-w,T,i.stretch,d),y=wh(l.stretch-_,b,C,S),L=Th(l.fixed-k,A,l.stretch,m),I=new a(c,h),P=new a(p,h),z=new a(p,y),O=new a(c,y),D=new a(u/s,f/s),R=new a(g/s,L/s),F=e*Math.PI/180;if(F){const t=Math.sin(F),e=Math.cos(F),r=[e,-t,t,e];I._matMult(r),P._matMult(r),O._matMult(r),z._matMult(r)}const B=t.stretch+t.fixed,N=i.stretch+i.fixed,j=n.stretch+n.fixed,U=l.stretch+l.fixed;return{tl:I,tr:P,bl:O,br:z,tex:{x:o.paddedRect.x+vh+B,y:o.paddedRect.y+vh+j,w:N-B,h:U-j},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:D,pixelOffsetBR:R,minFontScaleX:T/s/E,minFontScaleY:A/s/C,isSDF:r}};if(n&&(o.stretchX||o.stretchY)){const t=bh(h,g,d),e=bh(f,y,m);for(let r=0;r0&&(n=Math.max(10,n),this.circleDiameter=n)}else{const c=(null===(h=o.image)||void 0===h?void 0:h.content)&&(o.image.textFitWidth||o.image.textFitHeight)?du(o):{x1:o.left,y1:o.top,x2:o.right,y2:o.bottom};c.y1=c.y1*s-l[0],c.y2=c.y2*s+l[2],c.x1=c.x1*s-l[3],c.x2=c.x2*s+l[1];const f=o.collisionPadding;if(f&&(c.x1-=f[0]*s,c.y1-=f[1]*s,c.x2+=f[2]*s,c.y2+=f[3]*s),u){const t=new a(c.x1,c.y1),e=new a(c.x2,c.y1),r=new a(c.x1,c.y2),n=new a(c.x2,c.y2),i=u*Math.PI/180;t._rotate(i),e._rotate(i),r._rotate(i),n._rotate(i),c.x1=Math.min(t.x,e.x,r.x,n.x),c.x2=Math.max(t.x,e.x,r.x,n.x),c.y1=Math.min(t.y,e.y,r.y,n.y),c.y2=Math.max(t.y,e.y,r.y,n.y)}t.emplaceBack(e.x,e.y,c.x1,c.y1,c.x2,c.y2,r,n,i)}this.boxEndIndex=t.length}}class Ah{constructor(t=[],e=((t,e)=>te?1:0)){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t)}push(t){this.data.push(t),this._up(this.length++)}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return--this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,a=e[i];if(r(n,a)>=0)break;e[t]=a,t=i}e[t]=n}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=e[n],t=n}e[t]=i}}function Mh(t,e=1,r=!1){let n=1/0,i=1/0,o=-1/0,s=-1/0;const l=t[0];for(let t=0;to)&&(o=e.x),(!t||e.y>s)&&(s=e.y)}const c=o-n,u=s-i,h=Math.min(c,u);let f=h/2;const p=new Ah([],Sh);if(0===h)return new a(n,i);for(let e=n;ed.d||!d.d)&&(d=n,r&&console.log("found best %d after %d probes",Math.round(1e4*n.d)/1e4,m)),n.max-d.d<=e||(f=n.h/2,p.push(new Eh(n.p.x-f,n.p.y-f,f,t)),p.push(new Eh(n.p.x+f,n.p.y-f,f,t)),p.push(new Eh(n.p.x-f,n.p.y+f,f,t)),p.push(new Eh(n.p.x+f,n.p.y+f,f,t)),m+=4)}return r&&(console.log(`num probes: ${m}`),console.log(`best distance: ${d.d}`)),d.p}function Sh(t,e){return e.max-t.max}function Eh(t,e,r,n){this.p=new a(t,e),this.h=r,this.d=function(t,e){let r=!1,n=1/0;for(let i=0;it.y!=s.y>t.y&&t.x<(s.x-i.x)*(t.y-i.y)/(s.y-i.y)+i.x&&(r=!r),n=Math.min(n,es(t,i,s))}}return(r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}var Ch;t.ar=void 0,(Ch=t.ar||(t.ar={}))[Ch.center=1]="center",Ch[Ch.left=2]="left",Ch[Ch.right=3]="right",Ch[Ch.top=4]="top",Ch[Ch.bottom=5]="bottom",Ch[Ch["top-left"]=6]="top-left",Ch[Ch["top-right"]=7]="top-right",Ch[Ch["bottom-left"]=8]="bottom-left",Ch[Ch["bottom-right"]=9]="bottom-right";const Lh=7,Ih=Number.POSITIVE_INFINITY;function Ph(t,e){return e[1]!==Ih?function(t,e,r){let n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case"top-right":case"top-left":case"top":i=r-Lh;break;case"bottom-right":case"bottom-left":case"bottom":i=-r+Lh}switch(t){case"top-right":case"bottom-right":case"right":n=-e;break;case"top-left":case"bottom-left":case"left":n=e}return[n,i]}(t,e[0],e[1]):function(t,e){let r=0,n=0;e<0&&(e=0);const i=e/Math.SQRT2;switch(t){case"top-right":case"top-left":n=i-Lh;break;case"bottom-right":case"bottom-left":n=-i+Lh;break;case"bottom":n=-e+Lh;break;case"top":n=e-Lh}switch(t){case"top-right":case"bottom-right":r=-i;break;case"top-left":case"bottom-left":r=i;break;case"left":r=e;break;case"right":r=-e}return[r,n]}(t,e[0])}function zh(t,e,r){var n;const i=t.layout,a=null===(n=i.get("text-variable-anchor-offset"))||void 0===n?void 0:n.evaluate(e,{},r);if(a){const t=a.values,e=[];for(let r=0;rt*xc));n.startsWith("top")?i[1]-=Lh:n.startsWith("bottom")&&(i[1]+=Lh),e[r+1]=i}return new ee(e)}const o=i.get("text-variable-anchor");if(o){let n;n=void 0!==t._unevaluatedLayout.getValue("text-radial-offset")?[i.get("text-radial-offset").evaluate(e,{},r)*xc,Ih]:i.get("text-offset").evaluate(e,{},r).map((t=>t*xc));const a=[];for(const t of o)a.push(t,Ph(t,n));return new ee(a)}return null}function Oh(t){switch(t){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function Dh(e,r,n,i,a,o,s,l,c,u,h){let f=o.textMaxSize.evaluate(r,{});void 0===f&&(f=s);const p=e.layers[0].layout,d=p.get("icon-offset").evaluate(r,{},h),m=Fh(n.horizontal),g=s/24,y=e.tilePixelRatio*g,v=e.tilePixelRatio*f/24,x=e.tilePixelRatio*l,_=e.tilePixelRatio*p.get("symbol-spacing"),b=p.get("text-padding")*e.tilePixelRatio,w=function(t,e,r,n=1){const i=t.get("icon-padding").evaluate(e,{},r),a=i&&i.values;return[a[0]*n,a[1]*n,a[2]*n,a[3]*n]}(p,r,h,e.tilePixelRatio),k=p.get("text-max-angle")/180*Math.PI,A="viewport"!==p.get("text-rotation-alignment")&&"point"!==p.get("symbol-placement"),M="map"===p.get("icon-rotation-alignment")&&"point"!==p.get("symbol-placement"),S=p.get("symbol-placement"),E=_/2,C=p.get("icon-text-fit");let L;i&&"none"!==C&&(e.allowVerticalPlacement&&n.vertical&&(L=mu(i,n.vertical,C,p.get("icon-text-fit-padding"),d,g)),m&&(i=mu(i,m,C,p.get("icon-text-fit-padding"),d,g)));const I=(l,f)=>{f.x<0||f.x>=Uo||f.y<0||f.y>=Uo||function(e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x,_,b,w,k,A,M){const S=e.addToLineVertexArray(r,n);let E,C,L,I,P=0,z=0,O=0,D=0,R=-1,F=-1;const B={};let N=bo("");if(e.allowVerticalPlacement&&i.vertical){const t=l.layout.get("text-rotate").evaluate(b,{},A)+90,e=i.vertical;L=new kh(c,r,u,h,f,e,p,d,m,t),s&&(I=new kh(c,r,u,h,f,s,y,v,m,t))}if(a){const n=l.layout.get("icon-rotate").evaluate(b,{}),i="none"!==l.layout.get("icon-text-fit"),o=xh(a,n,k,i),p=s?xh(s,n,k,i):void 0;C=new kh(c,r,u,h,f,a,y,v,!1,n),P=4*o.length;const d=e.iconSizeData;let m=null;"source"===d.kind?(m=[yu*l.layout.get("icon-size").evaluate(b,{})],m[0]>vu&&T(`${e.layerIds[0]}: Value for "icon-size" is >= ${gu}. Reduce your "icon-size".`)):"composite"===d.kind&&(m=[yu*w.compositeIconSizes[0].evaluate(b,{},A),yu*w.compositeIconSizes[1].evaluate(b,{},A)],(m[0]>vu||m[1]>vu)&&T(`${e.layerIds[0]}: Value for "icon-size" is >= ${gu}. Reduce your "icon-size".`)),e.addSymbols(e.icon,o,m,_,x,b,t.ai.none,r,S.lineStartIndex,S.lineLength,-1,A),R=e.icon.placedSymbolArray.length-1,p&&(z=4*p.length,e.addSymbols(e.icon,p,m,_,x,b,t.ai.vertical,r,S.lineStartIndex,S.lineLength,-1,A),F=e.icon.placedSymbolArray.length-1)}const j=Object.keys(i.horizontal);for(const n of j){const a=i.horizontal[n];if(!E){N=bo(a.text);const t=l.layout.get("text-rotate").evaluate(b,{},A);E=new kh(c,r,u,h,f,a,p,d,m,t)}const s=1===a.positionedLines.length;if(O+=Rh(e,r,a,o,l,m,b,g,S,i.vertical?t.ai.horizontal:t.ai.horizontalOnly,s?j:[n],B,R,w,A),s)break}i.vertical&&(D+=Rh(e,r,i.vertical,o,l,m,b,g,S,t.ai.vertical,["vertical"],B,F,w,A));const U=E?E.boxStartIndex:e.collisionBoxArray.length,V=E?E.boxEndIndex:e.collisionBoxArray.length,q=L?L.boxStartIndex:e.collisionBoxArray.length,H=L?L.boxEndIndex:e.collisionBoxArray.length,G=C?C.boxStartIndex:e.collisionBoxArray.length,Z=C?C.boxEndIndex:e.collisionBoxArray.length,W=I?I.boxStartIndex:e.collisionBoxArray.length,Y=I?I.boxEndIndex:e.collisionBoxArray.length;let X=-1;const $=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;X=$(E,X),X=$(L,X),X=$(C,X),X=$(I,X);const J=X>-1?1:0;J&&(X*=M/xc),e.glyphOffsetArray.length>=Eu.MAX_GLYPHS&&T("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),void 0!==b.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,b.sortKey);const K=zh(l,b,A),[Q,tt]=function(e,r){const n=e.length,i=null==r?void 0:r.values;if((null==i?void 0:i.length)>0)for(let r=0;r=0?B.right:-1,B.center>=0?B.center:-1,B.left>=0?B.left:-1,B.vertical||-1,R,F,N,U,V,q,H,G,Z,W,Y,u,O,D,P,z,J,0,p,X,Q,tt)}(e,f,l,n,i,a,L,e.layers[0],e.collisionBoxArray,r.index,r.sourceLayerIndex,e.index,y,[b,b,b,b],A,c,x,w,M,d,r,o,u,h,s)};if("line"===S)for(const t of ch(r.geometry,0,0,Uo,Uo)){const r=gh(t,_,k,n.vertical||m,i,24,v,e.overscaling,Uo);for(const n of r)m&&Bh(e,m.text,E,n)||I(t,n)}else if("line-center"===S){for(const t of r.geometry)if(t.length>1){const e=mh(t,k,n.vertical||m,i,24,v);e&&I(t,e)}}else if("Polygon"===r.type)for(const t of br(r.geometry,0)){const e=Mh(t,16);I(t[0],new uh(e.x,e.y,0))}else if("LineString"===r.type)for(const t of r.geometry)I(t,new uh(t[0].x,t[0].y,0));else if("Point"===r.type)for(const t of r.geometry)for(const e of t)I([e],new uh(e.x,e.y,0))}function Rh(t,e,r,n,i,o,s,l,c,u,h,f,p,d,m){const g=function(t,e,r,n,i,o,s,l){const c=n.layout.get("text-rotate").evaluate(o,{})*Math.PI/180,u=[];for(const t of e.positionedLines)for(const n of t.positionedGlyphs){if(!n.rect)continue;const o=n.rect||{};let h=Zc+1,f=!0,p=1,d=0;const m=(i||l)&&n.vertical,g=n.metrics.advance*n.scale/2;if(l&&e.verticalizable){const e=(n.scale-1)*xc,r=(xc-n.metrics.width*n.scale)/2;d=t.lineOffset/2-(n.imageName?-r:e)}if(n.imageName){const t=s[n.imageName];f=t.sdf,p=t.pixelRatio,h=Yc/p}const y=i?[n.x+g,n.y]:[0,0];let v=i?[0,0]:[n.x+g+r[0],n.y+r[1]-d],x=[0,0];m&&(x=v,v=[0,0]);const _=n.metrics.isDoubleResolution?2:1,b=(n.metrics.left-h)*n.scale-g+v[0],w=(-n.metrics.top-h)*n.scale+v[1],T=b+o.w/_*n.scale/p,k=w+o.h/_*n.scale/p,A=new a(b,w),M=new a(T,w),S=new a(b,k),E=new a(T,k);if(m){const t=new a(-g,g-Kc),e=-Math.PI/2,r=xc/2-g,i=n.imageName?r:0,o=new a(5-Kc-r,-i),s=new a(...x);A._rotateAround(e,t)._add(o)._add(s),M._rotateAround(e,t)._add(o)._add(s),S._rotateAround(e,t)._add(o)._add(s),E._rotateAround(e,t)._add(o)._add(s)}if(c){const t=Math.sin(c),e=Math.cos(c),r=[e,-t,t,e];A._matMult(r),M._matMult(r),S._matMult(r),E._matMult(r)}const C=new a(0,0),L=new a(0,0),I=0,P=0;u.push({tl:A,tr:M,bl:S,br:E,tex:o,writingMode:e.writingMode,glyphOffset:y,sectionIndex:n.sectionIndex,isSDF:f,pixelOffsetTL:C,pixelOffsetBR:L,minFontScaleX:I,minFontScaleY:P})}return u}(0,r,l,i,o,s,n,t.allowVerticalPlacement),y=t.textSizeData;let v=null;"source"===y.kind?(v=[yu*i.layout.get("text-size").evaluate(s,{})],v[0]>vu&&T(`${t.layerIds[0]}: Value for "text-size" is >= ${gu}. Reduce your "text-size".`)):"composite"===y.kind&&(v=[yu*d.compositeTextSizes[0].evaluate(s,{},m),yu*d.compositeTextSizes[1].evaluate(s,{},m)],(v[0]>vu||v[1]>vu)&&T(`${t.layerIds[0]}: Value for "text-size" is >= ${gu}. Reduce your "text-size".`)),t.addSymbols(t.text,g,v,l,o,s,u,e,c.lineStartIndex,c.lineLength,p,m);for(const e of h)f[e]=t.text.placedSymbolArray.length-1;return 4*g.length}function Fh(t){for(const e in t)return t[e];return null}function Bh(t,e,r,n){const i=t.compareText;if(e in i){const t=i[e];for(let e=t.length-1;e>=0;e--)if(n.dist(t[e])>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);const i=Nh[15&r];if(!i)throw new Error("Unrecognized array type.");const[a]=new Uint16Array(t,2,1),[o]=new Uint32Array(t,4,1);return new jh(o,a,i,t)}constructor(t,e=64,r=Float64Array,n){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+e,2),65535),this.ArrayType=r,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const i=Nh.indexOf(this.ArrayType),a=2*t*this.ArrayType.BYTES_PER_ELEMENT,o=t*this.IndexArrayType.BYTES_PER_ELEMENT,s=(8-o%8)%8;if(i<0)throw new Error(`Unexpected typed array class: ${r}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+o+s,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+a+o+s),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+o+s,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=e,new Uint32Array(this.data,4,1)[0]=t)}add(t,e){const r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=t,this.coords[this._pos++]=e,r}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return Uh(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,e,r,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:i,coords:a,nodeSize:o}=this,s=[0,i.length-1,0],l=[];for(;s.length;){const c=s.pop()||0,u=s.pop()||0,h=s.pop()||0;if(u-h<=o){for(let o=h;o<=u;o++){const s=a[2*o],c=a[2*o+1];s>=t&&s<=r&&c>=e&&c<=n&&l.push(i[o])}continue}const f=h+u>>1,p=a[2*f],d=a[2*f+1];p>=t&&p<=r&&d>=e&&d<=n&&l.push(i[f]),(0===c?t<=p:e<=d)&&(s.push(h),s.push(f-1),s.push(1-c)),(0===c?r>=p:n>=d)&&(s.push(f+1),s.push(u),s.push(1-c))}return l}within(t,e,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:n,coords:i,nodeSize:a}=this,o=[0,n.length-1,0],s=[],l=r*r;for(;o.length;){const c=o.pop()||0,u=o.pop()||0,h=o.pop()||0;if(u-h<=a){for(let r=h;r<=u;r++)Gh(i[2*r],i[2*r+1],t,e)<=l&&s.push(n[r]);continue}const f=h+u>>1,p=i[2*f],d=i[2*f+1];Gh(p,d,t,e)<=l&&s.push(n[f]),(0===c?t-r<=p:e-r<=d)&&(o.push(h),o.push(f-1),o.push(1-c)),(0===c?t+r>=p:e+r>=d)&&(o.push(f+1),o.push(u),o.push(1-c))}return s}}function Uh(t,e,r,n,i,a){if(i-n<=r)return;const o=n+i>>1;Vh(t,e,o,n,i,a),Uh(t,e,r,n,o-1,1-a),Uh(t,e,r,o+1,i,1-a)}function Vh(t,e,r,n,i,a){for(;i>n;){if(i-n>600){const o=i-n+1,s=r-n+1,l=Math.log(o),c=.5*Math.exp(2*l/3),u=.5*Math.sqrt(l*c*(o-c)/o)*(s-o/2<0?-1:1);Vh(t,e,r,Math.max(n,Math.floor(r-s*c/o+u)),Math.min(i,Math.floor(r+(o-s)*c/o+u)),a)}const o=e[2*r+a];let s=n,l=i;for(qh(t,e,n,r),e[2*i+a]>o&&qh(t,e,n,i);so;)l--}e[2*n+a]===o?qh(t,e,n,l):(l++,qh(t,e,l,i)),l<=r&&(n=l+1),r<=l&&(i=l-1)}}function qh(t,e,r,n){Hh(t,r,n),Hh(e,2*r,2*n),Hh(e,2*r+1,2*n+1)}function Hh(t,e,r){const n=t[e];t[e]=t[r],t[r]=n}function Gh(t,e,r,n){const i=t-r,a=e-n;return i*i+a*a}var Zh;t.bf=void 0,(Zh=t.bf||(t.bf={})).create="create",Zh.load="load",Zh.fullLoad="fullLoad";let Wh=null,Yh=[];const Xh=1e3/60,$h="loadTime",Jh="fullLoadTime",Kh={mark(t){performance.mark(t)},frame(t){const e=t;if(null!=Wh){const t=e-Wh;Yh.push(t)}Wh=e},clearMetrics(){Wh=null,Yh=[],performance.clearMeasures($h),performance.clearMeasures(Jh);for(const e in t.bf)performance.clearMarks(t.bf[e])},getPerformanceMetrics(){performance.measure($h,t.bf.create,t.bf.load),performance.measure(Jh,t.bf.create,t.bf.fullLoad);const e=performance.getEntriesByName($h)[0].duration,r=performance.getEntriesByName(Jh)[0].duration,n=Yh.length,i=1/(Yh.reduce(((t,e)=>t+e),0)/n/1e3),a=Yh.filter((t=>t>Xh)).reduce(((t,e)=>t+(e-Xh)/Xh),0);return{loadTime:e,fullLoadTime:r,fps:i,percentDroppedFrames:a/(n+a)*100,totalFrames:n}}};t.$=class extends da{},t.A=fs,t.B=_i,t.C=function(t){if(null==M){const e=t.navigator?t.navigator.userAgent:null;M=!!t.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return M},t.D=Qi,t.E=G,t.F=class{constructor(t,e){this.target=t,this.mapId=e,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Uu((()=>this.process())),this.subscription=function(t,e,r,n){return t.addEventListener(e,r,n),{unsubscribe:()=>{t.removeEventListener(e,r,n)}}}(this.target,"message",(t=>this.receive(t)),!1),this.globalScope=A(self)?t:window}registerMessageHandler(t,e){this.messageHandlers[t]=e}sendAsync(t,e){return new Promise(((r,n)=>{const i=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[i]={resolve:r,reject:n},e&&e.signal.addEventListener("abort",(()=>{delete this.resolveRejects[i];const e={id:i,type:"",origin:location.origin,targetMapId:t.targetMapId,sourceMapId:this.mapId};this.target.postMessage(e)}),{once:!0});const a=[],o=Object.assign(Object.assign({},t),{id:i,sourceMapId:this.mapId,origin:location.origin,data:Li(t.data,a)});this.target.postMessage(o,{transfer:a})}))}receive(t){const e=t.data,r=e.id;if(!("file://"!==e.origin&&"file://"!==location.origin&&"resource://android"!==e.origin&&"resource://android"!==location.origin&&e.origin!==location.origin||e.targetMapId&&this.mapId!==e.targetMapId)){if(""===e.type){delete this.tasks[r];const t=this.abortControllers[r];return delete this.abortControllers[r],void(t&&t.abort())}if(A(self)||e.mustQueue)return this.tasks[r]=e,this.taskQueue.push(r),void this.invoker.trigger();this.processTask(r,e)}}process(){if(0===this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length>0&&this.invoker.trigger(),e&&this.processTask(t,e)}processTask(t,r){return e(this,void 0,void 0,(function*(){if(""===r.type){const e=this.resolveRejects[t];if(delete this.resolveRejects[t],!e)return;return void(r.error?e.reject(Ii(r.error)):e.resolve(Ii(r.data)))}if(!this.messageHandlers[r.type])return void this.completeTask(t,new Error(`Could not find a registered handler for ${r.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));const e=Ii(r.data),n=new AbortController;this.abortControllers[t]=n;try{const i=yield this.messageHandlers[r.type](r.sourceMapId,e,n);this.completeTask(t,null,i)}catch(e){this.completeTask(t,e)}}))}completeTask(t,e,r){const n=[];delete this.abortControllers[t];const i={id:t,type:"",sourceMapId:this.mapId,origin:location.origin,error:e?Li(e):null,data:Li(r,n)};this.target.postMessage(i,{transfer:n})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},t.G=R,t.H=function(){var t=new fs(16);return fs!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.I=Xc,t.J=function(t,e,r){var n,i,a,o,s,l,c,u,h,f,p,d,m=r[0],g=r[1],y=r[2];return e===t?(t[12]=e[0]*m+e[4]*g+e[8]*y+e[12],t[13]=e[1]*m+e[5]*g+e[9]*y+e[13],t[14]=e[2]*m+e[6]*g+e[10]*y+e[14],t[15]=e[3]*m+e[7]*g+e[11]*y+e[15]):(n=e[0],i=e[1],a=e[2],o=e[3],s=e[4],l=e[5],c=e[6],u=e[7],h=e[8],f=e[9],p=e[10],d=e[11],t[0]=n,t[1]=i,t[2]=a,t[3]=o,t[4]=s,t[5]=l,t[6]=c,t[7]=u,t[8]=h,t[9]=f,t[10]=p,t[11]=d,t[12]=n*m+s*g+h*y+e[12],t[13]=i*m+l*g+f*y+e[13],t[14]=a*m+c*g+p*y+e[14],t[15]=o*m+u*g+d*y+e[15]),t},t.K=function(t,e,r){var n=r[0],i=r[1],a=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*a,t[9]=e[9]*a,t[10]=e[10]*a,t[11]=e[11]*a,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.L=ds,t.M=function(t,e){const r={};for(let n=0;n{const e=window.document.createElement("video");return e.muted=!0,new Promise((r=>{e.onloadstart=()=>{r(e)};for(const r of t){const t=window.document.createElement("source");j(r)||(e.crossOrigin="Anonymous"),t.src=r,e.appendChild(t)}}))},t.a4=function(){return v++},t.a5=Ra,t.a6=Eu,t.a7=zn,t.a8=Go,t.a9=Hi,t.aA=function(t){t=t.slice();const e=Object.create(null);for(let r=0;r{"source"in t&&n[t.source]?r.push({command:"removeLayer",args:[t.id]}):a.push(t)})),r=r.concat(i),function(t,e,r){e=e||[];const n=(t=t||[]).map(rt),i=e.map(rt),a=t.reduce(nt,{}),o=e.reduce(nt,{}),s=n.slice(),l=Object.create(null);let c,u,h,f,p;for(let t=0,e=0;t@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,((t,r,n,i)=>{const a=n||i;return e[r]=!a||a.toLowerCase(),""})),e["max-age"]){const t=parseInt(e["max-age"],10);isNaN(t)?delete e["max-age"]:e["max-age"]=t}return e},t.ac=function(t,e){const r=[];for(const n in t)n in e||r.push(n);return r},t.ad=m,t.ae=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[0],o=e[1],s=e[2],l=e[3],c=e[4],u=e[5],h=e[6],f=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=a*i+c*n,t[1]=o*i+u*n,t[2]=s*i+h*n,t[3]=l*i+f*n,t[4]=c*i-a*n,t[5]=u*i-o*n,t[6]=h*i-s*n,t[7]=f*i-l*n,t},t.af=function(t){var e=new fs(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.ag=vs,t.ah=function(t,e){let r=0,n=0;if("constant"===t.kind)n=t.layoutSize;else if("source"!==t.kind){const{interpolationType:i,minZoom:a,maxZoom:o}=t,s=i?m(ze.interpolationFactor(i,e,a,o),0,1):0;"camera"===t.kind?n=Pe.number(t.minSize,t.maxSize,s):r=s}return{uSizeT:r,uSize:n}},t.aj=function(t,{uSize:e,uSizeT:r},{lowerSize:n,upperSize:i}){return"source"===t.kind?n/yu:"composite"===t.kind?Pe.number(n/yu,i/yu,r):e},t.ak=ku,t.al=function(t,e,r,n){const i=e.y-t.y,o=e.x-t.x,s=n.y-r.y,l=n.x-r.x,c=s*o-l*i;if(0===c)return null;const u=(l*(t.y-r.y)-s*(t.x-r.x))/c;return new a(t.x+u*o,t.y+u*i)},t.am=ch,t.an=Yo,t.ao=ps,t.ap=function(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const a of t)e=Math.min(e,a.x),r=Math.min(r,a.y),n=Math.max(n,a.x),i=Math.max(i,a.y);return[e,r,n,i]},t.aq=xc,t.as=_u,t.at=function(t,e){var r=e[0],n=e[1],i=e[2],a=e[3],o=e[4],s=e[5],l=e[6],c=e[7],u=e[8],h=e[9],f=e[10],p=e[11],d=e[12],m=e[13],g=e[14],y=e[15],v=r*s-n*o,x=r*l-i*o,_=r*c-a*o,b=n*l-i*s,w=n*c-a*s,T=i*c-a*l,k=u*m-h*d,A=u*g-f*d,M=u*y-p*d,S=h*g-f*m,E=h*y-p*m,C=f*y-p*g,L=v*C-x*E+_*S+b*M-w*A+T*k;return L?(L=1/L,t[0]=(s*C-l*E+c*S)*L,t[1]=(i*E-n*C-a*S)*L,t[2]=(m*T-g*w+y*b)*L,t[3]=(f*w-h*T-p*b)*L,t[4]=(l*M-o*C-c*A)*L,t[5]=(r*C-i*M+a*A)*L,t[6]=(g*_-d*T-y*x)*L,t[7]=(u*T-f*_+p*x)*L,t[8]=(o*E-s*M+c*k)*L,t[9]=(n*M-r*E-a*k)*L,t[10]=(d*w-m*_+y*v)*L,t[11]=(h*_-u*w-p*v)*L,t[12]=(s*A-o*S-l*k)*L,t[13]=(r*S-n*A+i*k)*L,t[14]=(m*x-d*b-g*v)*L,t[15]=(u*b-h*x+f*v)*L,t):null},t.au=Oh,t.av=hu,t.aw=jh,t.ax=function(){const t={},e=Z.$version;for(const r in Z.$root){const n=Z.$root[r];if(n.required){let i=null;i="version"===r?e:"array"===n.type?[]:{},null!=i&&(t[r]=i)}}return t},t.ay=Pi,t.az=B,t.b=S,t.b0=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.b1=_s,t.b2=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},t.b3=g,t.b4=Qu,t.b5=Yu,t.b6=ms,t.b7=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),a=e[4],o=e[5],s=e[6],l=e[7],c=e[8],u=e[9],h=e[10],f=e[11];return e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[4]=a*i+c*n,t[5]=o*i+u*n,t[6]=s*i+h*n,t[7]=l*i+f*n,t[8]=c*i-a*n,t[9]=u*i-o*n,t[10]=h*i-s*n,t[11]=f*i-l*n,t},t.b8=p,t.b9=d,t.bA=function(t){return t.message===P},t.bB=An,t.bC=qi,t.ba=function(t){return t*Math.PI/180},t.bb=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.bc=class extends pa{},t.bd=Vu,t.be=Kh,t.bg=F,t.bh=function(t,e){O.REGISTERED_PROTOCOLS[t]=e},t.bi=function(t){delete O.REGISTERED_PROTOCOLS[t]},t.bj=function(t,e){const r={};for(let n=0;nt*xc))}let x=l?"center":i.get("text-justify").evaluate(r,{},e.canonical);const _="point"===i.get("symbol-placement")?i.get("text-max-width").evaluate(r,{},e.canonical)*xc:1/0,b=()=>{e.bucket.allowVerticalPlacement&&Oi(o)&&(d.vertical=eu(m,e.glyphMap,e.glyphPositions,e.imagePositions,a,_,s,g,"left",p,y,t.ai.vertical,!0,f,h))};if(!l&&v){const r=new Set;if("auto"===x)for(let t=0;te(void 0,void 0,void 0,(function*(){if(0===t.byteLength)return createImageBitmap(new ImageData(1,1));const e=new Blob([new Uint8Array(t)],{type:"image/png"});try{return createImageBitmap(e)}catch(t){throw new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}})),t.e=y,t.f=t=>new Promise(((e,r)=>{const n=new Image;n.onload=()=>{e(n),URL.revokeObjectURL(n.src),n.onload=null,window.requestAnimationFrame((()=>{n.src=E}))},n.onerror=()=>r(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));const i=new Blob([new Uint8Array(t)],{type:"image/png"});n.src=t.byteLength?URL.createObjectURL(i):E})),t.g=D,t.h=(t,e)=>N(y(t,{type:"json"}),e),t.i=A,t.j=H,t.k=q,t.l=(t,e)=>N(y(t,{type:"arrayBuffer"}),e),t.m=N,t.n=function(t){return new Uc(t).readFields(qc,[])},t.o=Cs,t.p=Wc,t.q=ia,t.r=xi,t.s=j,t.t=Ti,t.u=zi,t.v=Z,t.w=T,t.x=vi,t.y=function([t,e,r]){return e+=90,e*=Math.PI/180,r*=Math.PI/180,{x:t*Math.cos(e)*Math.sin(r),y:t*Math.sin(e)*Math.sin(r),z:t*Math.cos(r)}},t.z=Pe})),r("worker",0,(function(t){class e{constructor(t){this.keyCache={},t&&this.replace(t)}replace(t){this._layerConfigs={},this._layers={},this.update(t,[])}update(e,r){for(const r of e){this._layerConfigs[r.id]=r;const e=this._layers[r.id]=t.aB(r);e._featureFilter=t.a7(e.filter),this.keyCache[r.id]&&delete this.keyCache[r.id]}for(const t of r)delete this.keyCache[t],delete this._layerConfigs[t],delete this._layers[t];this.familiesBySource={};const n=t.bj(Object.values(this._layerConfigs),this.keyCache);for(const t of n){const e=t.map((t=>this._layers[t.id])),r=e[0];if("none"===r.visibility)continue;const n=r.source||"";let i=this.familiesBySource[n];i||(i=this.familiesBySource[n]={});const a=r.sourceLayer||"_geojsonTileLayer";let o=i[a];o||(o=i[a]=[]),o.push(e)}}}class r{constructor(e){const r={},n=[];for(const t in e){const i=e[t],a=r[t]={};for(const t in i){const e=i[+t];if(!e||0===e.bitmap.width||0===e.bitmap.height)continue;const r={x:0,y:0,w:e.bitmap.width+2,h:e.bitmap.height+2};n.push(r),a[t]={rect:r,metrics:e.metrics}}}const{w:i,h:a}=t.p(n),o=new t.o({width:i||1,height:a||1});for(const n in e){const i=e[n];for(const e in i){const a=i[+e];if(!a||0===a.bitmap.width||0===a.bitmap.height)continue;const s=r[n][e].rect;t.o.copy(a.bitmap,o,{x:0,y:0},{x:s.x+1,y:s.y+1},a.bitmap)}}this.image=o,this.positions=r}}t.bk("GlyphAtlas",r);class n{constructor(e){this.tileID=new t.S(e.tileID.overscaledZ,e.tileID.wrap,e.tileID.canonical.z,e.tileID.canonical.x,e.tileID.canonical.y),this.uid=e.uid,this.zoom=e.zoom,this.pixelRatio=e.pixelRatio,this.tileSize=e.tileSize,this.source=e.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=e.showCollisionBoxes,this.collectResourceTiming=!!e.collectResourceTiming,this.returnDependencies=!!e.returnDependencies,this.promoteId=e.promoteId,this.inFlightDependencies=[]}parse(e,n,a,o){return t._(this,void 0,void 0,(function*(){this.status="parsing",this.data=e,this.collisionBoxArray=new t.a5;const s=new t.bl(Object.keys(e.layers).sort()),l=new t.bm(this.tileID,this.promoteId);l.bucketLayerIDs=[];const c={},u={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:a},h=n.familiesBySource[this.source];for(const r in h){const n=e.layers[r];if(!n)continue;1===n.version&&t.w(`Vector tile source "${this.source}" layer "${r}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const o=s.encode(r),f=[];for(let t=0;t=r.maxzoom||"none"!==r.visibility&&(i(e,this.zoom,a),(c[r.id]=r.createBucket({index:l.bucketLayerIDs.length,layers:e,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:o,sourceID:this.source})).populate(f,u,this.tileID.canonical),l.bucketLayerIDs.push(e.map((t=>t.id))))}}const f=t.aG(u.glyphDependencies,(t=>Object.keys(t).map(Number)));this.inFlightDependencies.forEach((t=>null==t?void 0:t.abort())),this.inFlightDependencies=[];let p=Promise.resolve({});if(Object.keys(f).length){const t=new AbortController;this.inFlightDependencies.push(t),p=o.sendAsync({type:"GG",data:{stacks:f,source:this.source,tileID:this.tileID,type:"glyphs"}},t)}const d=Object.keys(u.iconDependencies);let m=Promise.resolve({});if(d.length){const t=new AbortController;this.inFlightDependencies.push(t),m=o.sendAsync({type:"GI",data:{icons:d,source:this.source,tileID:this.tileID,type:"icons"}},t)}const g=Object.keys(u.patternDependencies);let y=Promise.resolve({});if(g.length){const t=new AbortController;this.inFlightDependencies.push(t),y=o.sendAsync({type:"GI",data:{icons:g,source:this.source,tileID:this.tileID,type:"patterns"}},t)}const[v,x,_]=yield Promise.all([p,m,y]),b=new r(v),w=new t.bn(x,_);for(const e in c){const r=c[e];r instanceof t.a6?(i(r.layers,this.zoom,a),t.bo({bucket:r,glyphMap:v,glyphPositions:b.positions,imageMap:x,imagePositions:w.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):r.hasPattern&&(r instanceof t.bp||r instanceof t.bq||r instanceof t.br)&&(i(r.layers,this.zoom,a),r.addFeatures(u,this.tileID.canonical,w.patternPositions))}return this.status="done",{buckets:Object.values(c).filter((t=>!t.isEmpty())),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:b.image,imageAtlas:w,glyphMap:this.returnDependencies?v:null,iconMap:this.returnDependencies?x:null,glyphPositions:this.returnDependencies?b.positions:null}}))}}function i(e,r,n){const i=new t.a9(r);for(const t of e)t.recalculate(i,n)}class a{constructor(t,e,r){this.actor=t,this.layerIndex=e,this.availableImages=r,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(e,r){return t._(this,void 0,void 0,(function*(){const n=yield t.l(e.request,r);try{return{vectorTile:new t.bs.VectorTile(new t.bt(n.data)),rawData:n.data,cacheControl:n.cacheControl,expires:n.expires}}catch(t){const r=new Uint8Array(n.data),i=31===r[0]&&139===r[1];let a=`Unable to parse the tile at ${e.request.url}, `;throw a+=i?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${t.message}`,new Error(a)}}))}loadTile(e){return t._(this,void 0,void 0,(function*(){const r=e.uid,i=!!(e&&e.request&&e.request.collectResourceTiming)&&new t.bu(e.request),a=new n(e);this.loading[r]=a;const o=new AbortController;a.abort=o;try{const n=yield this.loadVectorTile(e,o);if(delete this.loading[r],!n)return null;const s=n.rawData,l={};n.expires&&(l.expires=n.expires),n.cacheControl&&(l.cacheControl=n.cacheControl);const c={};if(i){const t=i.finish();t&&(c.resourceTiming=JSON.parse(JSON.stringify(t)))}a.vectorTile=n.vectorTile;const u=a.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[r]=a,this.fetching[r]={rawTileData:s,cacheControl:l,resourceTiming:c};try{const e=yield u;return t.e({rawTileData:s.slice(0)},e,l,c)}finally{delete this.fetching[r]}}catch(t){throw delete this.loading[r],a.status="done",this.loaded[r]=a,t}}))}reloadTile(e){return t._(this,void 0,void 0,(function*(){const r=e.uid;if(!this.loaded||!this.loaded[r])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");const n=this.loaded[r];if(n.showCollisionBoxes=e.showCollisionBoxes,"parsing"===n.status){const e=yield n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor);let i;if(this.fetching[r]){const{rawTileData:n,cacheControl:a,resourceTiming:o}=this.fetching[r];delete this.fetching[r],i=t.e({rawTileData:n.slice(0)},e,a,o)}else i=e;return i}if("done"===n.status&&n.vectorTile)return n.parse(n.vectorTile,this.layerIndex,this.availableImages,this.actor)}))}abortTile(e){return t._(this,void 0,void 0,(function*(){const t=this.loading,r=e.uid;t&&t[r]&&t[r].abort&&(t[r].abort.abort(),delete t[r])}))}removeTile(e){return t._(this,void 0,void 0,(function*(){this.loaded&&this.loaded[e.uid]&&delete this.loaded[e.uid]}))}}class o{constructor(){this.loaded={}}loadTile(e){return t._(this,void 0,void 0,(function*(){const{uid:r,encoding:n,rawImageData:i,redFactor:a,greenFactor:o,blueFactor:s,baseShift:l}=e,c=i.width+2,u=i.height+2,h=t.b(i)?new t.R({width:c,height:u},yield t.bv(i,-1,-1,c,u)):i,f=new t.bw(r,h,n,a,o,s,l);return this.loaded=this.loaded||{},this.loaded[r]=f,f}))}removeTile(t){const e=this.loaded,r=t.uid;e&&e[r]&&delete e[r]}}var s=function t(e,r){var n,i=e&&e.type;if("FeatureCollection"===i)for(n=0;n=Math.abs(s)?r-l+s:s-l+r,r=l}r+n>=0!=!!e&&t.reverse()}var u=t.bx(s);const h=t.bs.VectorTileFeature.prototype.toGeoJSON;let f=class{constructor(e){this._feature=e,this.extent=t.X,this.type=e.type,this.properties=e.tags,"id"in e&&!isNaN(e.id)&&(this.id=parseInt(e.id,10))}loadGeometry(){if(1===this._feature.type){const e=[];for(const r of this._feature.geometry)e.push([new t.P(r[0],r[1])]);return e}{const e=[];for(const r of this._feature.geometry){const n=[];for(const e of r)n.push(new t.P(e[0],e[1]));e.push(n)}return e}}toGeoJSON(t,e,r){return h.call(this,t,e,r)}},p=class{constructor(e){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=t.X,this.length=e.length,this._features=e}feature(t){return new f(this._features[t])}};var d={exports:{}},m=t.by,g=t.bs.VectorTileFeature,y=v;function v(t,e){this.options=e||{},this.features=t,this.length=t.length}function x(t,e){this.id="number"==typeof t.id?t.id:void 0,this.type=t.type,this.rawGeometry=1===t.type?[t.geometry]:t.geometry,this.properties=t.tags,this.extent=e||4096}v.prototype.feature=function(t){return new x(this.features[t],this.options.extent)},x.prototype.loadGeometry=function(){var t=this.rawGeometry;this.geometry=[];for(var e=0;e>31}function E(t,e){for(var r=t.loadGeometry(),n=t.type,i=0,a=0,o=r.length,s=0;st},z=Math.fround||(O=new Float32Array(1),t=>(O[0]=+t,O[0]));var O;const D=3,R=5,F=6;class B{constructor(t){this.options=Object.assign(Object.create(P),t),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(t){const{log:e,minZoom:r,maxZoom:n}=this.options;e&&console.time("total time");const i=`prepare ${t.length} points`;e&&console.time(i),this.points=t;const a=[];for(let e=0;e=r;t--){const r=+Date.now();o=this.trees[t]=this._createTree(this._cluster(o,t)),e&&console.log("z%d: %d clusters in %dms",t,o.numItems,+Date.now()-r)}return e&&console.timeEnd("total time"),this}getClusters(t,e){let r=((t[0]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,t[1]));let i=180===t[2]?180:((t[2]+180)%360+360)%360-180;const a=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,i=180;else if(r>i){const t=this.getClusters([r,n,180,a],e),o=this.getClusters([-180,n,i,a],e);return t.concat(o)}const o=this.trees[this._limitZoom(e)],s=o.range(U(r),V(a),U(i),V(n)),l=o.data,c=[];for(const t of s){const e=this.stride*t;c.push(l[e+R]>1?N(l,e,this.clusterProps):this.points[l[e+D]])}return c}getChildren(t){const e=this._getOriginId(t),r=this._getOriginZoom(t),n="No cluster with the specified id.",i=this.trees[r];if(!i)throw new Error(n);const a=i.data;if(e*this.stride>=a.length)throw new Error(n);const o=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=a[e*this.stride],l=a[e*this.stride+1],c=i.within(s,l,o),u=[];for(const e of c){const r=e*this.stride;a[r+4]===t&&u.push(a[r+R]>1?N(a,r,this.clusterProps):this.points[a[r+D]])}if(0===u.length)throw new Error(n);return u}getLeaves(t,e,r){e=e||10,r=r||0;const n=[];return this._appendLeaves(n,t,e,r,0),n}getTile(t,e,r){const n=this.trees[this._limitZoom(t)],i=Math.pow(2,t),{extent:a,radius:o}=this.options,s=o/a,l=(r-s)/i,c=(r+1+s)/i,u={features:[]};return this._addTileFeatures(n.range((e-s)/i,l,(e+1+s)/i,c),n.data,e,r,i,u),0===e&&this._addTileFeatures(n.range(1-s/i,l,1,c),n.data,i,r,i,u),e===i-1&&this._addTileFeatures(n.range(0,l,s/i,c),n.data,-1,r,i,u),u.features.length?u:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e}_appendLeaves(t,e,r,n,i){const a=this.getChildren(e);for(const e of a){const a=e.properties;if(a&&a.cluster?i+a.point_count<=n?i+=a.point_count:i=this._appendLeaves(t,a.cluster_id,r,n,i):i1;let l,c,u;if(s)l=j(e,t,this.clusterProps),c=e[t],u=e[t+1];else{const r=this.points[e[t+D]];l=r.properties;const[n,i]=r.geometry.coordinates;c=U(n),u=V(i)}const h={type:1,geometry:[[Math.round(this.options.extent*(c*i-r)),Math.round(this.options.extent*(u*i-n))]],tags:l};let f;f=s||this.options.generateId?e[t+D]:this.points[e[t+D]].id,void 0!==f&&(h.id=f),a.features.push(h)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,e){const{radius:r,extent:n,reduce:i,minPoints:a}=this.options,o=r/(n*Math.pow(2,e)),s=t.data,l=[],c=this.stride;for(let r=0;re&&(p+=s[r+R])}if(p>f&&p>=a){let t,a=n*f,o=u*f,d=-1;const m=((r/c|0)<<5)+(e+1)+this.points.length;for(const n of h){const l=n*c;if(s[l+2]<=e)continue;s[l+2]=e;const u=s[l+R];a+=s[l]*u,o+=s[l+1]*u,s[l+4]=m,i&&(t||(t=this._map(s,r,!0),d=this.clusterProps.length,this.clusterProps.push(t)),i(t,this._map(s,l)))}s[r+4]=m,l.push(a/p,o/p,1/0,m,-1,p),i&&l.push(d)}else{for(let t=0;t1)for(const t of h){const r=t*c;if(!(s[r+2]<=e)){s[r+2]=e;for(let t=0;t>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e,r){if(t[e+R]>1){const n=this.clusterProps[t[e+F]];return r?Object.assign({},n):n}const n=this.points[t[e+D]].properties,i=this.options.map(n);return r&&i===n?Object.assign({},i):i}}function N(t,e,r){return{type:"Feature",id:t[e+D],properties:j(t,e,r),geometry:{type:"Point",coordinates:[(n=t[e],360*(n-.5)),q(t[e+1])]}};var n}function j(t,e,r){const n=t[e+R],i=n>=1e4?`${Math.round(n/1e3)}k`:n>=1e3?Math.round(n/100)/10+"k":n,a=t[e+F],o=-1===a?{}:Object.assign({},r[a]);return Object.assign(o,{cluster:!0,cluster_id:t[e+D],point_count:n,point_count_abbreviated:i})}function U(t){return t/360+.5}function V(t){const e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function q(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function H(t,e,r,n){let i=n;const a=e+(r-e>>1);let o,s=r-e;const l=t[e],c=t[e+1],u=t[r],h=t[r+1];for(let n=e+3;ni)o=n,i=e;else if(e===i){const t=Math.abs(n-a);tn&&(o-e>3&&H(t,e,o,n),t[o+2]=i,r-o>3&&H(t,o,r,n))}function G(t,e,r,n,i,a){let o=i-r,s=a-n;if(0!==o||0!==s){const l=((t-r)*o+(e-n)*s)/(o*o+s*s);l>1?(r=i,n=a):l>0&&(r+=o*l,n+=s*l)}return o=t-r,s=e-n,o*o+s*s}function Z(t,e,r,n){const i={id:null==t?null:t,type:e,geometry:r,tags:n,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if("Point"===e||"MultiPoint"===e||"LineString"===e)W(i,r);else if("Polygon"===e)W(i,r[0]);else if("MultiLineString"===e)for(const t of r)W(i,t);else if("MultiPolygon"===e)for(const t of r)W(i,t[0]);return i}function W(t,e){for(let r=0;r0&&(o+=n?(i*l-s*a)/2:Math.sqrt(Math.pow(s-i,2)+Math.pow(l-a,2))),i=s,a=l}const s=e.length-3;e[2]=1,H(e,0,s,r),e[s+2]=1,e.size=Math.abs(o),e.start=0,e.end=e.size}function J(t,e,r,n){for(let i=0;i1?1:r}function tt(t,e,r,n,i,a,o,s){if(n/=e,a>=(r/=e)&&o=n)return null;const l=[];for(const e of t){const t=e.geometry;let a=e.type;const o=0===i?e.minX:e.minY,c=0===i?e.maxX:e.maxY;if(o>=r&&c=n)continue;let u=[];if("Point"===a||"MultiPoint"===a)et(t,u,r,n,i);else if("LineString"===a)rt(t,u,r,n,i,!1,s.lineMetrics);else if("MultiLineString"===a)it(t,u,r,n,i,!1);else if("Polygon"===a)it(t,u,r,n,i,!0);else if("MultiPolygon"===a)for(const e of t){const t=[];it(e,t,r,n,i,!0),t.length&&u.push(t)}if(u.length){if(s.lineMetrics&&"LineString"===a){for(const t of u)l.push(Z(e.id,a,t,e.tags));continue}"LineString"!==a&&"MultiLineString"!==a||(1===u.length?(a="LineString",u=u[0]):a="MultiLineString"),"Point"!==a&&"MultiPoint"!==a||(a=3===u.length?"Point":"MultiPoint"),l.push(Z(e.id,a,u,e.tags))}}return l.length?l:null}function et(t,e,r,n,i){for(let a=0;a=r&&o<=n&&at(e,t[a],t[a+1],t[a+2])}}function rt(t,e,r,n,i,a,o){let s=nt(t);const l=0===i?ot:st;let c,u,h=t.start;for(let f=0;fr&&(u=l(s,p,d,g,y,r),o&&(s.start=h+c*u)):v>n?x=r&&(u=l(s,p,d,g,y,r),_=!0),x>n&&v<=n&&(u=l(s,p,d,g,y,n),_=!0),!a&&_&&(o&&(s.end=h+c*u),e.push(s),s=nt(t)),o&&(h+=c)}let f=t.length-3;const p=t[f],d=t[f+1],m=t[f+2],g=0===i?p:d;g>=r&&g<=n&&at(s,p,d,m),f=s.length-3,a&&f>=3&&(s[f]!==s[0]||s[f+1]!==s[1])&&at(s,s[0],s[1],s[2]),s.length&&e.push(s)}function nt(t){const e=[];return e.size=t.size,e.start=t.start,e.end=t.end,e}function it(t,e,r,n,i,a){for(const o of t)rt(o,e,r,n,i,a,!1)}function at(t,e,r,n){t.push(e,r,n)}function ot(t,e,r,n,i,a){const o=(a-e)/(n-e);return at(t,a,r+(i-r)*o,1),o}function st(t,e,r,n,i,a){const o=(a-r)/(i-r);return at(t,e+(n-e)*o,a,1),o}function lt(t,e){const r=[];for(let n=0;n0&&e.size<(i?o:n))return void(r.numPoints+=e.length/3);const s=[];for(let t=0;to)&&(r.numSimplified++,s.push(e[t],e[t+1])),r.numPoints++;i&&function(t,e){let r=0;for(let e=0,n=t.length,i=n-2;e0===e)for(let e=0,r=t.length;e24)throw new Error("maxZoom should be in the 0-24 range");if(e.promoteId&&e.generateId)throw new Error("promoteId and generateId cannot be used together.");let n=function(t,e){const r=[];if("FeatureCollection"===t.type)for(let n=0;n1&&console.time("creation"),f=this.tiles[h]=ft(t,e,r,n,l),this.tileCoords.push({z:e,x:r,y:n}),c)){c>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",e,r,n,f.numFeatures,f.numPoints,f.numSimplified),console.timeEnd("creation"));const t=`z${e}`;this.stats[t]=(this.stats[t]||0)+1,this.total++}if(f.source=t,null==i){if(e===l.indexMaxZoom||f.numPoints<=l.indexMaxPoints)continue}else{if(e===l.maxZoom||e===i)continue;if(null!=i){const t=i-e;if(r!==a>>t||n!==o>>t)continue}}if(f.source=null,0===t.length)continue;c>1&&console.time("clipping");const p=.5*l.buffer/l.extent,d=.5-p,m=.5+p,g=1+p;let y=null,v=null,x=null,_=null,b=tt(t,u,r-p,r+m,0,f.minX,f.maxX,l),w=tt(t,u,r+d,r+g,0,f.minX,f.maxX,l);t=null,b&&(y=tt(b,u,n-p,n+m,1,f.minY,f.maxY,l),v=tt(b,u,n+d,n+g,1,f.minY,f.maxY,l),b=null),w&&(x=tt(w,u,n-p,n+m,1,f.minY,f.maxY,l),_=tt(w,u,n+d,n+g,1,f.minY,f.maxY,l),w=null),c>1&&console.timeEnd("clipping"),s.push(y||[],e+1,2*r,2*n),s.push(v||[],e+1,2*r,2*n+1),s.push(x||[],e+1,2*r+1,2*n),s.push(_||[],e+1,2*r+1,2*n+1)}}getTile(t,e,r){t=+t,e=+e,r=+r;const n=this.options,{extent:i,debug:a}=n;if(t<0||t>24)return null;const o=1<1&&console.log("drilling down to z%d-%d-%d",t,e,r);let l,c=t,u=e,h=r;for(;!l&&c>0;)c--,u>>=1,h>>=1,l=this.tiles[yt(c,u,h)];return l&&l.source?(a>1&&(console.log("found parent tile z%d-%d-%d",c,u,h),console.time("drilling down")),this.splitTile(l.source,c,u,h,t,e,r),a>1&&console.timeEnd("drilling down"),this.tiles[s]?ut(this.tiles[s],i):null):null}}function yt(t,e,r){return 32*((1<{o.properties=t;const e={};for(const t of s)e[t]=n[t].evaluate(a,o);return e},e.reduce=(t,e)=>{o.properties=e;for(const e of s)a.accumulated=t[e],t[e]=i[e].evaluate(a,o)},e}(e)).load((yield this._pendingData).features):(i=yield this._pendingData,a=e.geojsonVtOptions,new gt(i,a)),this.loaded={};const r={};if(n){const t=n.finish();t&&(r.resourceTiming={},r.resourceTiming[e.source]=JSON.parse(JSON.stringify(t)))}return r}catch(e){if(delete this._pendingRequest,t.bA(e))return{abandoned:!0};throw e}var i,a}))}getData(){return t._(this,void 0,void 0,(function*(){return this._pendingData}))}reloadTile(t){const e=this.loaded,r=t.uid;return e&&e[r]?super.reloadTile(t):this.loadTile(t)}loadAndProcessGeoJSON(e,r){return t._(this,void 0,void 0,(function*(){let n=yield this.loadGeoJSON(e,r);if(delete this._pendingRequest,"object"!=typeof n)throw new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`);if(u(n,!0),e.filter){const r=t.bB(e.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if("error"===r.result)throw new Error(r.value.map((t=>`${t.key}: ${t.message}`)).join(", "));const i=n.features.filter((t=>r.value.evaluate({zoom:0},t)));n={type:"FeatureCollection",features:i}}return n}))}loadGeoJSON(e,r){return t._(this,void 0,void 0,(function*(){const{promoteId:n}=e;if(e.request){const i=yield t.h(e.request,r);return this._dataUpdateable=xt(i.data,n)?_t(i.data,n):void 0,i.data}if("string"==typeof e.data)try{const t=JSON.parse(e.data);return this._dataUpdateable=xt(t,n)?_t(t,n):void 0,t}catch(t){throw new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`)}if(!e.dataDiff)throw new Error(`Input data given to '${e.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${e.source}`);return function(t,e,r){var n,i,a,o;if(e.removeAll&&t.clear(),e.remove)for(const r of e.remove)t.delete(r);if(e.add)for(const n of e.add){const e=vt(n,r);null!=e&&t.set(e,n)}if(e.update)for(const r of e.update){let e=t.get(r.id);if(null==e)continue;const s=r.newGeometry||r.removeAllProperties,l=!r.removeAllProperties&&((null===(n=r.removeProperties)||void 0===n?void 0:n.length)>0||(null===(i=r.addOrUpdateProperties)||void 0===i?void 0:i.length)>0);if((s||l)&&(e=Object.assign({},e),t.set(r.id,e),l&&(e.properties=Object.assign({},e.properties))),r.newGeometry&&(e.geometry=r.newGeometry),r.removeAllProperties)e.properties={};else if((null===(a=r.removeProperties)||void 0===a?void 0:a.length)>0)for(const t of r.removeProperties)Object.prototype.hasOwnProperty.call(e.properties,t)&&delete e.properties[t];if((null===(o=r.addOrUpdateProperties)||void 0===o?void 0:o.length)>0)for(const{key:t,value:n}of r.addOrUpdateProperties)e.properties[t]=n}}(this._dataUpdateable,e.dataDiff,n),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}}))}removeSource(e){return t._(this,void 0,void 0,(function*(){this._pendingRequest&&this._pendingRequest.abort()}))}getClusterExpansionZoom(t){return this._geoJSONIndex.getClusterExpansionZoom(t.clusterId)}getClusterChildren(t){return this._geoJSONIndex.getChildren(t.clusterId)}getClusterLeaves(t){return this._geoJSONIndex.getLeaves(t.clusterId,t.limit,t.offset)}}class wt{constructor(e){this.self=e,this.actor=new t.F(e),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(t,e)=>{if(this.externalWorkerSourceTypes[t])throw new Error(`Worker source with name "${t}" already registered.`);this.externalWorkerSourceTypes[t]=e},this.self.addProtocol=t.bh,this.self.removeProtocol=t.bi,this.self.registerRTLTextPlugin=e=>{if(t.bC.isParsed())throw new Error("RTL text plugin already registered.");t.bC.setMethods(e)},this.actor.registerMessageHandler("LDT",((t,e)=>this._getDEMWorkerSource(t,e.source).loadTile(e))),this.actor.registerMessageHandler("RDT",((e,r)=>t._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(e,r.source).removeTile(r)})))),this.actor.registerMessageHandler("GCEZ",((e,r)=>t._(this,void 0,void 0,(function*(){return this._getWorkerSource(e,r.type,r.source).getClusterExpansionZoom(r)})))),this.actor.registerMessageHandler("GCC",((e,r)=>t._(this,void 0,void 0,(function*(){return this._getWorkerSource(e,r.type,r.source).getClusterChildren(r)})))),this.actor.registerMessageHandler("GCL",((e,r)=>t._(this,void 0,void 0,(function*(){return this._getWorkerSource(e,r.type,r.source).getClusterLeaves(r)})))),this.actor.registerMessageHandler("LD",((t,e)=>this._getWorkerSource(t,e.type,e.source).loadData(e))),this.actor.registerMessageHandler("GD",((t,e)=>this._getWorkerSource(t,e.type,e.source).getData())),this.actor.registerMessageHandler("LT",((t,e)=>this._getWorkerSource(t,e.type,e.source).loadTile(e))),this.actor.registerMessageHandler("RT",((t,e)=>this._getWorkerSource(t,e.type,e.source).reloadTile(e))),this.actor.registerMessageHandler("AT",((t,e)=>this._getWorkerSource(t,e.type,e.source).abortTile(e))),this.actor.registerMessageHandler("RMT",((t,e)=>this._getWorkerSource(t,e.type,e.source).removeTile(e))),this.actor.registerMessageHandler("RS",((e,r)=>t._(this,void 0,void 0,(function*(){if(!this.workerSources[e]||!this.workerSources[e][r.type]||!this.workerSources[e][r.type][r.source])return;const t=this.workerSources[e][r.type][r.source];delete this.workerSources[e][r.type][r.source],void 0!==t.removeSource&&t.removeSource(r)})))),this.actor.registerMessageHandler("RM",(e=>t._(this,void 0,void 0,(function*(){delete this.layerIndexes[e],delete this.availableImages[e],delete this.workerSources[e],delete this.demWorkerSources[e]})))),this.actor.registerMessageHandler("SR",((e,r)=>t._(this,void 0,void 0,(function*(){this.referrer=r})))),this.actor.registerMessageHandler("SRPS",((t,e)=>this._syncRTLPluginState(t,e))),this.actor.registerMessageHandler("IS",((e,r)=>t._(this,void 0,void 0,(function*(){this.self.importScripts(r)})))),this.actor.registerMessageHandler("SI",((t,e)=>this._setImages(t,e))),this.actor.registerMessageHandler("UL",((e,r)=>t._(this,void 0,void 0,(function*(){this._getLayerIndex(e).update(r.layers,r.removedIds)})))),this.actor.registerMessageHandler("SL",((e,r)=>t._(this,void 0,void 0,(function*(){this._getLayerIndex(e).replace(r)}))))}_setImages(e,r){return t._(this,void 0,void 0,(function*(){this.availableImages[e]=r;for(const t in this.workerSources[e]){const n=this.workerSources[e][t];for(const t in n)n[t].availableImages=r}}))}_syncRTLPluginState(e,r){return t._(this,void 0,void 0,(function*(){if(t.bC.isParsed())return t.bC.getState();if("loading"!==r.pluginStatus)return t.bC.setState(r),r;const e=r.pluginURL;if(this.self.importScripts(e),t.bC.isParsed()){const r={pluginStatus:"loaded",pluginURL:e};return t.bC.setState(r),r}throw t.bC.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${e}`)}))}_getAvailableImages(t){let e=this.availableImages[t];return e||(e=[]),e}_getLayerIndex(t){let r=this.layerIndexes[t];return r||(r=this.layerIndexes[t]=new e),r}_getWorkerSource(t,e,r){if(this.workerSources[t]||(this.workerSources[t]={}),this.workerSources[t][e]||(this.workerSources[t][e]={}),!this.workerSources[t][e][r]){const n={sendAsync:(e,r)=>(e.targetMapId=t,this.actor.sendAsync(e,r))};switch(e){case"vector":this.workerSources[t][e][r]=new a(n,this._getLayerIndex(t),this._getAvailableImages(t));break;case"geojson":this.workerSources[t][e][r]=new bt(n,this._getLayerIndex(t),this._getAvailableImages(t));break;default:this.workerSources[t][e][r]=new this.externalWorkerSourceTypes[e](n,this._getLayerIndex(t),this._getAvailableImages(t))}}return this.workerSources[t][e][r]}_getDEMWorkerSource(t,e){return this.demWorkerSources[t]||(this.demWorkerSources[t]={}),this.demWorkerSources[t][e]||(this.demWorkerSources[t][e]=new o),this.demWorkerSources[t][e]}}return t.i(self)&&(self.worker=new wt(self)),wt})),r("index",0,(function(t,e){var r="4.5.2";let n,i;const a={now:"undefined"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync(t){return new Promise(((r,n)=>{const i=requestAnimationFrame(r);t.signal.addEventListener("abort",(()=>{cancelAnimationFrame(i),n(e.c())}))}))},getImageData(t,e=0){return this.getImageCanvasContext(t).getImageData(-e,-e,t.width+2*e,t.height+2*e)},getImageCanvasContext(t){const e=window.document.createElement("canvas"),r=e.getContext("2d",{willReadFrequently:!0});if(!r)throw new Error("failed to create canvas 2d context");return e.width=t.width,e.height=t.height,r.drawImage(t,0,0,t.width,t.height),r},resolveURL(t){return n||(n=document.createElement("a")),n.href=t,n.href},hardwareConcurrency:"undefined"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(null==i&&(i=matchMedia("(prefers-reduced-motion: reduce)")),i.matches)}};class o{static testProp(t){if(!o.docStyle)return t[0];for(let e=0;e{window.removeEventListener("click",o.suppressClickInternal,!0)}),0)}static getScale(t){const e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}static getPoint(t,r,n){const i=r.boundingClientRect;return new e.P((n.clientX-i.left)/r.x-t.clientLeft,(n.clientY-i.top)/r.y-t.clientTop)}static mousePos(t,e){const r=o.getScale(t);return o.getPoint(t,r,e)}static touchPos(t,e){const r=[],n=o.getScale(t);for(let i=0;i{l&&f(l),l=null,h=!0},c.onerror=()=>{u=!0,l=null},c.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(t){let r,n,i,a;t.resetRequestQueue=()=>{r=[],n=0,i=0,a={}},t.addThrottleControl=t=>{const e=i++;return a[e]=t,e},t.removeThrottleControl=t=>{delete a[t],l()};t.getImage=(t,n,i=!0)=>new Promise(((a,o)=>{s.supported&&(t.headers||(t.headers={}),t.headers.accept="image/webp,*/*"),e.e(t,{type:"image"});const c={abortController:n,requestParameters:t,supportImageRefresh:i,state:"queued",onError:t=>{o(t)},onSuccess:t=>{a(t)}};r.push(c),l()}));const o=t=>e._(this,void 0,void 0,(function*(){t.state="running";const{requestParameters:r,supportImageRefresh:i,onError:a,onSuccess:o,abortController:s}=t,u=!1===i&&!e.i(self)&&!e.g(r.url)&&(!r.headers||Object.keys(r.headers).reduce(((t,e)=>t&&"accept"===e),!0));n++;const h=u?c(r,s):e.m(r,s);try{const r=yield h;delete t.abortController,t.state="completed",r.data instanceof HTMLImageElement||e.b(r.data)?o(r):r.data&&o({data:yield(f=r.data,"function"==typeof createImageBitmap?e.d(f):e.f(f)),cacheControl:r.cacheControl,expires:r.expires})}catch(e){delete t.abortController,a(e)}finally{n--,l()}var f})),l=()=>{const t=(()=>{for(const t of Object.keys(a))if(a[t]())return!0;return!1})()?e.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:e.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let e=n;e0;e++){const t=r.shift();t.abortController.signal.aborted?e--:o(t)}},c=(t,r)=>new Promise(((n,i)=>{const a=new Image,o=t.url,s=t.credentials;s&&"include"===s?a.crossOrigin="use-credentials":(s&&"same-origin"===s||!e.s(o))&&(a.crossOrigin="anonymous"),r.signal.addEventListener("abort",(()=>{a.src="",i(e.c())})),a.fetchPriority="high",a.onload=()=>{a.onerror=a.onload=null,n({data:a})},a.onerror=()=>{a.onerror=a.onload=null,r.signal.aborted||i(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))},a.src=o}))}(p||(p={})),p.resetRequestQueue();class d{constructor(t){this._transformRequestFn=t}transformRequest(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}}setTransformRequest(t){this._transformRequestFn=t}}function m(t){var r=new e.A(3);return r[0]=t[0],r[1]=t[1],r[2]=t[2],r}var g,y=function(t,e,r){return t[0]=e[0]-r[0],t[1]=e[1]-r[1],t[2]=e[2]-r[2],t};g=new e.A(3),e.A!=Float32Array&&(g[0]=0,g[1]=0,g[2]=0);var v=function(t){var e=t[0],r=t[1];return e*e+r*r};function x(t){const e=[];if("string"==typeof t)e.push({id:"default",url:t});else if(t&&t.length>0){const r=[];for(const{id:n,url:i}of t){const t=`${n}${i}`;-1===r.indexOf(t)&&(r.push(t),e.push({id:n,url:i}))}}return e}function _(t,e,r){const n=t.split("?");return n[0]+=`${e}${r}`,n.join("?")}function b(t,r,n,i){return e._(this,void 0,void 0,(function*(){const o=x(t),s=n>1?"@2x":"",l={},c={};for(const{id:t,url:n}of o){const a=r.transformRequest(_(n,s,".json"),"SpriteJSON");l[t]=e.h(a,i);const o=r.transformRequest(_(n,s,".png"),"SpriteImage");c[t]=p.getImage(o,i)}return yield Promise.all([...Object.values(l),...Object.values(c)]),function(t,r){return e._(this,void 0,void 0,(function*(){const e={};for(const n in t){e[n]={};const i=a.getImageCanvasContext((yield r[n]).data),o=(yield t[n]).data;for(const t in o){const{width:r,height:a,x:s,y:l,sdf:c,pixelRatio:u,stretchX:h,stretchY:f,content:p,textFitWidth:d,textFitHeight:m}=o[t],g={width:r,height:a,x:s,y:l,context:i};e[n][t]={data:null,pixelRatio:u,sdf:c,stretchX:h,stretchY:f,content:p,textFitWidth:d,textFitHeight:m,spriteData:g}}}return e}))}(l,c)}))}!function(){var t=new e.A(2);e.A!=Float32Array&&(t[0]=0,t[1]=0)}();class w{constructor(t,e,r,n){this.context=t,this.format=r,this.texture=t.gl.createTexture(),this.update(e,n)}update(t,r,n){const{width:i,height:a}=t,o=!(this.size&&this.size[0]===i&&this.size[1]===a||n),{context:s}=this,{gl:l}=s;if(this.useMipmap=Boolean(r&&r.useMipmap),l.bindTexture(l.TEXTURE_2D,this.texture),s.pixelStoreUnpackFlipY.set(!1),s.pixelStoreUnpack.set(1),s.pixelStoreUnpackPremultiplyAlpha.set(this.format===l.RGBA&&(!r||!1!==r.premultiply)),o)this.size=[i,a],t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,t):l.texImage2D(l.TEXTURE_2D,0,this.format,i,a,0,this.format,l.UNSIGNED_BYTE,t.data);else{const{x:r,y:o}=n||{x:0,y:0};t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texSubImage2D(l.TEXTURE_2D,0,r,o,l.RGBA,l.UNSIGNED_BYTE,t):l.texSubImage2D(l.TEXTURE_2D,0,r,o,i,a,l.RGBA,l.UNSIGNED_BYTE,t.data)}this.useMipmap&&this.isSizePowerOfTwo()&&l.generateMipmap(l.TEXTURE_2D)}bind(t,e,r){const{context:n}=this,{gl:i}=n;i.bindTexture(i.TEXTURE_2D,this.texture),r!==i.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(r=i.LINEAR),t!==this.filter&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,t),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,r||t),this.filter=t),e!==this.wrap&&(i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,e),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,e),this.wrap=e)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:t}=this.context;t.deleteTexture(this.texture),this.texture=null}}function T(t){const{userImage:e}=t;return!!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}class k extends e.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(t){if(this.loaded!==t&&(this.loaded=t,t)){for(const{ids:t,promiseResolve:e}of this.requestors)e(this._getImagesForIds(t));this.requestors=[]}}getImage(t){const r=this.images[t];if(r&&!r.data&&r.spriteData){const t=r.spriteData;r.data=new e.R({width:t.width,height:t.height},t.context.getImageData(t.x,t.y,t.width,t.height).data),r.spriteData=null}return r}addImage(t,e){if(this.images[t])throw new Error(`Image id ${t} already exist, use updateImage instead`);this._validate(t,e)&&(this.images[t]=e)}_validate(t,r){let n=!0;const i=r.data||r.spriteData;return this._validateStretch(r.stretchX,i&&i.width)||(this.fire(new e.j(new Error(`Image "${t}" has invalid "stretchX" value`))),n=!1),this._validateStretch(r.stretchY,i&&i.height)||(this.fire(new e.j(new Error(`Image "${t}" has invalid "stretchY" value`))),n=!1),this._validateContent(r.content,r)||(this.fire(new e.j(new Error(`Image "${t}" has invalid "content" value`))),n=!1),n}_validateStretch(t,e){if(!t)return!0;let r=0;for(const n of t){if(n[0]{let n=!0;if(!this.isLoaded())for(const e of t)this.images[e]||(n=!1);this.isLoaded()||n?e(this._getImagesForIds(t)):this.requestors.push({ids:t,promiseResolve:e})}))}_getImagesForIds(t){const r={};for(const n of t){let t=this.getImage(n);t||(this.fire(new e.k("styleimagemissing",{id:n})),t=this.getImage(n)),t?r[n]={data:t.data.clone(),pixelRatio:t.pixelRatio,sdf:t.sdf,version:t.version,stretchX:t.stretchX,stretchY:t.stretchY,content:t.content,textFitWidth:t.textFitWidth,textFitHeight:t.textFitHeight,hasRenderCallback:Boolean(t.userImage&&t.userImage.render)}:e.w(`Image "${n}" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.`)}return r}getPixelSize(){const{width:t,height:e}=this.atlasImage;return{width:t,height:e}}getPattern(t){const r=this.patterns[t],n=this.getImage(t);if(!n)return null;if(r&&r.position.version===n.version)return r.position;if(r)r.position.version=n.version;else{const r={w:n.data.width+2,h:n.data.height+2,x:0,y:0},i=new e.I(r,n);this.patterns[t]={bin:r,position:i}}return this._updatePatternAtlas(),this.patterns[t].position}bind(t){const e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new w(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE)}_updatePatternAtlas(){const t=[];for(const e in this.patterns)t.push(this.patterns[e].bin);const{w:r,h:n}=e.p(t),i=this.atlasImage;i.resize({width:r||1,height:n||1});for(const t in this.patterns){const{bin:r}=this.patterns[t],n=r.x+1,a=r.y+1,o=this.getImage(t).data,s=o.width,l=o.height;e.R.copy(o,i,{x:0,y:0},{x:n,y:a},{width:s,height:l}),e.R.copy(o,i,{x:0,y:l-1},{x:n,y:a-1},{width:s,height:1}),e.R.copy(o,i,{x:0,y:0},{x:n,y:a+l},{width:s,height:1}),e.R.copy(o,i,{x:s-1,y:0},{x:n-1,y:a},{width:1,height:l}),e.R.copy(o,i,{x:0,y:0},{x:n+s,y:a},{width:1,height:l})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(t){for(const r of t){if(this.callbackDispatchedThisFrame[r])continue;this.callbackDispatchedThisFrame[r]=!0;const t=this.getImage(r);t||e.w(`Image with ID: "${r}" was not found`),T(t)&&this.updateImage(r,t)}}}const A=1e20;function M(t,e,r,n,i,a,o,s,l){for(let c=e;c-1);l++,a[l]=s,o[l]=c,o[l+1]=A}for(let s=0,l=0;s65535)throw new Error("glyphs > 65535 not supported");if(e.ranges[i])return{stack:t,id:r,glyph:n};if(!this.url)throw new Error("glyphsUrl is not set");if(!e.requests[i]){const r=E.loadGlyphRange(t,i,this.url,this.requestManager);e.requests[i]=r}const a=yield e.requests[i];for(const t in a)this._doesCharSupportLocalGlyph(+t)||(e.glyphs[+t]=a[+t]);return e.ranges[i]=!0,{stack:t,id:r,glyph:a[r]||null}}))}_doesCharSupportLocalGlyph(t){return!!this.localIdeographFontFamily&&(e.u["CJK Unified Ideographs"](t)||e.u["Hangul Syllables"](t)||e.u.Hiragana(t)||e.u.Katakana(t))}_tinySDF(t,r,n){const i=this.localIdeographFontFamily;if(!i)return;if(!this._doesCharSupportLocalGlyph(n))return;let a=t.tinySDF;if(!a){let e="400";/bold/i.test(r)?e="900":/medium/i.test(r)?e="500":/light/i.test(r)&&(e="200"),a=t.tinySDF=new E.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:i,fontWeight:e})}const o=a.draw(String.fromCharCode(n));return{id:n,bitmap:new e.o({width:o.width||60,height:o.height||60},o.data),metrics:{width:o.glyphWidth/2||24,height:o.glyphHeight/2||24,left:o.glyphLeft/2+.5||0,top:o.glyphTop/2-27.5||-8,advance:o.glyphAdvance/2||24,isDoubleResolution:!0}}}}E.loadGlyphRange=function(t,r,n,i){return e._(this,void 0,void 0,(function*(){const a=256*r,o=a+255,s=i.transformRequest(n.replace("{fontstack}",t).replace("{range}",`${a}-${o}`),"Glyphs"),l=yield e.l(s,new AbortController);if(!l||!l.data)throw new Error(`Could not load glyph range. range: ${r}, ${a}-${o}`);const c={};for(const t of e.n(l.data))c[t.id]=t;return c}))},E.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:r=8,cutoff:n=.25,fontFamily:i="sans-serif",fontWeight:a="normal",fontStyle:o="normal"}={}){this.buffer=e,this.cutoff=n,this.radius=r;const s=this.size=t+4*e,l=this._createCanvas(s),c=this.ctx=l.getContext("2d",{willReadFrequently:!0});c.font=`${o} ${a} ${t}px ${i}`,c.textBaseline="alphabetic",c.textAlign="left",c.fillStyle="black",this.gridOuter=new Float64Array(s*s),this.gridInner=new Float64Array(s*s),this.f=new Float64Array(s),this.z=new Float64Array(s+1),this.v=new Uint16Array(s)}_createCanvas(t){const e=document.createElement("canvas");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:r,actualBoundingBoxDescent:n,actualBoundingBoxLeft:i,actualBoundingBoxRight:a}=this.ctx.measureText(t),o=Math.ceil(r),s=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(a-i))),l=Math.min(this.size-this.buffer,o+Math.ceil(n)),c=s+2*this.buffer,u=l+2*this.buffer,h=Math.max(c*u,0),f=new Uint8ClampedArray(h),p={data:f,width:c,height:u,glyphWidth:s,glyphHeight:l,glyphTop:o,glyphLeft:0,glyphAdvance:e};if(0===s||0===l)return p;const{ctx:d,buffer:m,gridInner:g,gridOuter:y}=this;d.clearRect(m,m,s,l),d.fillText(t,m,m+o);const v=d.getImageData(m,m,s,l);y.fill(A,0,h),g.fill(0,0,h);for(let t=0;t0?t*t:0,g[n]=t<0?t*t:0}}M(y,0,0,c,u,c,this.f,this.v,this.z),M(g,m,m,s,l,c,this.f,this.v,this.z);for(let t=0;t1&&(s=t[++o]);const l=Math.abs(i-s.left),c=Math.abs(i-s.right),u=Math.min(l,c);let h;const f=e/r*(n+1);if(s.isDash){const t=n-Math.abs(f);h=Math.sqrt(u*u+t*t)}else h=n-Math.sqrt(u*u+f*f);this.data[a+i]=Math.max(0,Math.min(255,h+128))}}}addRegularDash(t){for(let e=t.length-1;e>=0;--e){const r=t[e],n=t[e+1];r.zeroLength?t.splice(e,1):n&&n.isDash===r.isDash&&(n.left=r.left,t.splice(e,1))}const e=t[0],r=t[t.length-1];e.isDash===r.isDash&&(e.left=r.left-this.width,r.right=e.right+this.width);const n=this.width*this.nextRow;let i=0,a=t[i];for(let e=0;e1&&(a=t[++i]);const r=Math.abs(e-a.left),o=Math.abs(e-a.right),s=Math.min(r,o),l=a.isDash?s:-s;this.data[n+e]=Math.max(0,Math.min(255,l+128))}}addDash(t,r){const n=r?7:0,i=2*n+1;if(this.nextRow+i>this.height)return e.w("LineAtlas out of space"),null;let a=0;for(let e=0;e{t.terminate()})),this.workers=null)}isPreloaded(){return!!this.active[F]}numActive(){return Object.keys(this.active).length}}const N=Math.floor(a.hardwareConcurrency/2);let j,U;function V(){return j||(j=new B),j}B.workerCount=e.C(globalThis)?Math.max(Math.min(N,3),1):1;class q{constructor(t,r){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=r;const n=this.workerPool.acquire(r);for(let t=0;t{t.remove()})),this.actors=[],t&&this.workerPool.release(this.id)}registerMessageHandler(t,e){for(const r of this.actors)r.registerMessageHandler(t,e)}}function H(){return U||(U=new q(V(),e.G),U.registerMessageHandler("GR",((t,r,n)=>e.m(r,n)))),U}function G(t,r){const n=e.H();return e.J(n,n,[1,1,0]),e.K(n,n,[.5*t.width,.5*t.height,1]),e.L(n,n,t.calculatePosMatrix(r.toUnwrapped()))}function Z(t,e,r,n,i,a){const o=function(t,e,r){if(t)for(const n of t){const t=e[n];if(t&&t.source===r&&"fill-extrusion"===t.type)return!0}else for(const t in e){const n=e[t];if(n.source===r&&"fill-extrusion"===n.type)return!0}return!1}(i&&i.layers,e,t.id),s=a.maxPitchScaleFactor(),l=t.tilesIn(n,s,o);l.sort(W);const c=[];for(const n of l)c.push({wrappedTileID:n.tileID.wrapped().key,queryResults:n.tile.queryRenderedFeatures(e,r,t._state,n.queryGeometry,n.cameraQueryGeometry,n.scale,i,a,s,G(t.transform,n.tileID))});const u=function(t){const e={},r={};for(const n of t){const t=n.queryResults,i=n.wrappedTileID,a=r[i]=r[i]||{};for(const r in t){const n=t[r],i=a[r]=a[r]||{},o=e[r]=e[r]||[];for(const t of n)i[t.featureIndex]||(i[t.featureIndex]=!0,o.push(t))}}return e}(c);for(const e in u)u[e].forEach((e=>{const r=e.feature,n=t.getFeatureState(r.layer["source-layer"],r.id);r.source=r.layer.source,r.layer["source-layer"]&&(r.sourceLayer=r.layer["source-layer"]),r.state=n}));return u}function W(t,e){const r=t.tileID,n=e.tileID;return r.overscaledZ-n.overscaledZ||r.canonical.y-n.canonical.y||r.wrap-n.wrap||r.canonical.x-n.canonical.x}function Y(t,r,n){return e._(this,void 0,void 0,(function*(){let i=t;if(t.url?i=(yield e.h(r.transformRequest(t.url,"Source"),n)).data:yield a.frameAsync(n),!i)return null;const o=e.M(e.e(i,t),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in i&&i.vector_layers&&(o.vectorLayerIds=i.vector_layers.map((t=>t.id))),o}))}class X{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):Array.isArray(t)&&(4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1])))}setNorthEast(t){return this._ne=t instanceof e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}setSouthWest(t){return this._sw=t instanceof e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}extend(t){const r=this._sw,n=this._ne;let i,a;if(t instanceof e.N)i=t,a=t;else{if(!(t instanceof X)){if(Array.isArray(t)){if(4===t.length||t.every(Array.isArray)){const e=t;return this.extend(X.convert(e))}{const r=t;return this.extend(e.N.convert(r))}}return t&&("lng"in t||"lon"in t)&&"lat"in t?this.extend(e.N.convert(t)):this}if(i=t._sw,a=t._ne,!i||!a)return this}return r||n?(r.lng=Math.min(i.lng,r.lng),r.lat=Math.min(i.lat,r.lat),n.lng=Math.max(a.lng,n.lng),n.lat=Math.max(a.lat,n.lat)):(this._sw=new e.N(i.lng,i.lat),this._ne=new e.N(a.lng,a.lat)),this}getCenter(){return new e.N((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new e.N(this.getWest(),this.getNorth())}getSouthEast(){return new e.N(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(t){const{lng:r,lat:n}=e.N.convert(t),i=this._sw.lat<=n&&n<=this._ne.lat;let a=this._sw.lng<=r&&r<=this._ne.lng;return this._sw.lng>this._ne.lng&&(a=this._sw.lng>=r&&r>=this._ne.lng),i&&a}static convert(t){return t instanceof X?t:t?new X(t):t}static fromLngLat(t,r=0){const n=360*r/40075017,i=n/Math.cos(Math.PI/180*t.lat);return new X(new e.N(t.lng-i,t.lat-n),new e.N(t.lng+i,t.lat+n))}}class ${constructor(t,e,r){this.bounds=X.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=r||24}validateBounds(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]}contains(t){const r=Math.pow(2,t.z),n=Math.floor(e.O(this.bounds.getWest())*r),i=Math.floor(e.Q(this.bounds.getNorth())*r),a=Math.ceil(e.O(this.bounds.getEast())*r),o=Math.ceil(e.Q(this.bounds.getSouth())*r);return t.x>=n&&t.x=i&&t.y{this._options.tiles=t})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return e.e({},this._options)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),r={request:this.map._requestManager.transformRequest(e,"Tile"),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};r.request.collectResourceTiming=this._collectResourceTiming;let n="RT";if(t.actor&&"expired"!==t.state){if("loading"===t.state)return new Promise(((e,r)=>{t.reloadPromise={resolve:e,reject:r}}))}else t.actor=this.dispatcher.getActor(),n="LT";t.abortController=new AbortController;try{const e=yield t.actor.sendAsync({type:n,data:r},t.abortController);if(delete t.abortController,t.aborted)return;this._afterTileLoadWorkerResponse(t,e)}catch(e){if(delete t.abortController,t.aborted)return;if(e&&404!==e.status)throw e;this._afterTileLoadWorkerResponse(t,null)}}))}_afterTileLoadWorkerResponse(t,e){if(e&&e.resourceTiming&&(t.resourceTiming=e.resourceTiming),e&&this.map._refreshExpiredTiles&&t.setExpiryData(e),t.loadVectorData(e,this.map.painter),t.reloadPromise){const e=t.reloadPromise;t.reloadPromise=null,this.loadTile(t).then(e.resolve).catch(e.reject)}}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.actor&&(yield t.actor.sendAsync({type:"AT",data:{uid:t.uid,type:this.type,source:this.id}}))}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),t.actor&&(yield t.actor.sendAsync({type:"RMT",data:{uid:t.uid,type:this.type,source:this.id}}))}))}hasTransition(){return!1}}class K extends e.E{constructor(t,r,n,i){super(),this.id=t,this.dispatcher=n,this.setEventedParent(i),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=e.e({type:"raster"},r),e.e(this,e.M(r,["url","scheme","tileSize"]))}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{const t=yield Y(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,t&&(e.e(this,t),t.bounds&&(this.tileBounds=new $(t.bounds,this.minzoom,this.maxzoom)),this.fire(new e.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new e.k("data",{dataType:"source",sourceDataType:"content"})))}catch(t){this._tileJSONRequest=null,this.fire(new e.j(t))}}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(t){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),t(),this.load()}setTiles(t){return this.setSourceProperty((()=>{this._options.tiles=t})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t})),this}serialize(){return e.e({},this._options)}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);t.abortController=new AbortController;try{const r=yield p.getImage(this.map._requestManager.transformRequest(e,"Tile"),t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state="unloaded");if(r&&r.data){this.map._refreshExpiredTiles&&r.cacheControl&&r.expires&&t.setExpiryData({cacheControl:r.cacheControl,expires:r.expires});const e=this.map.painter.context,n=e.gl,i=r.data;t.texture=this.map.painter.getTileTexture(i.width),t.texture?t.texture.update(i,{useMipmap:!0}):(t.texture=new w(e,i,n.RGBA,{useMipmap:!0}),t.texture.bind(n.LINEAR,n.CLAMP_TO_EDGE,n.LINEAR_MIPMAP_NEAREST)),t.state="loaded"}}catch(e){if(delete t.abortController,t.aborted)t.state="unloaded";else if(e)throw t.state="errored",e}}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController)}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.texture&&this.map.painter.saveTileTexture(t.texture)}))}hasTransition(){return!1}}class Q extends K{constructor(t,r,n,i){super(t,r,n,i),this.type="raster-dem",this.maxzoom=22,this._options=e.e({type:"raster-dem"},r),this.encoding=r.encoding||"mapbox",this.redFactor=r.redFactor,this.greenFactor=r.greenFactor,this.blueFactor=r.blueFactor,this.baseShift=r.baseShift}loadTile(t){return e._(this,void 0,void 0,(function*(){const r=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),n=this.map._requestManager.transformRequest(r,"Tile");t.neighboringTiles=this._getNeighboringTiles(t.tileID),t.abortController=new AbortController;try{const r=yield p.getImage(n,t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state="unloaded");if(r&&r.data){const n=r.data;this.map._refreshExpiredTiles&&r.cacheControl&&r.expires&&t.setExpiryData({cacheControl:r.cacheControl,expires:r.expires});const i=e.b(n)&&e.U()?n:yield this.readImageNow(n),a={type:this.type,uid:t.uid,source:this.id,rawImageData:i,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!t.actor||"expired"===t.state){t.actor=this.dispatcher.getActor();const e=yield t.actor.sendAsync({type:"LDT",data:a});t.dem=e,t.needsHillshadePrepare=!0,t.needsTerrainPrepare=!0,t.state="loaded"}}}catch(e){if(delete t.abortController,t.aborted)t.state="unloaded";else if(e)throw t.state="errored",e}}))}readImageNow(t){return e._(this,void 0,void 0,(function*(){if("undefined"!=typeof VideoFrame&&e.V()){const r=t.width+2,n=t.height+2;try{return new e.R({width:r,height:n},yield e.W(t,-1,-1,r,n))}catch(t){}}return a.getImageData(t,1)}))}_getNeighboringTiles(t){const r=t.canonical,n=Math.pow(2,r.z),i=(r.x-1+n)%n,a=0===r.x?t.wrap-1:t.wrap,o=(r.x+1+n)%n,s=r.x+1===n?t.wrap+1:t.wrap,l={};return l[new e.S(t.overscaledZ,a,r.z,i,r.y).key]={backfilled:!1},l[new e.S(t.overscaledZ,s,r.z,o,r.y).key]={backfilled:!1},r.y>0&&(l[new e.S(t.overscaledZ,a,r.z,i,r.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,t.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1}),r.y+10&&e.e(i,{resourceTiming:n}),this.fire(new e.k("data",Object.assign(Object.assign({},i),{sourceDataType:"metadata"}))),this.fire(new e.k("data",Object.assign(Object.assign({},i),{sourceDataType:"content"})))}catch(t){if(this._pendingLoads--,this._removed)return void this.fire(new e.k("dataabort",{dataType:"source"}));this.fire(new e.j(t))}}))}loaded(){return 0===this._pendingLoads}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.actor?"RT":"LT";t.actor=this.actor;const r={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.abortController=new AbortController;const n=yield this.actor.sendAsync({type:e,data:r},t.abortController);delete t.abortController,t.unloadVectorData(),t.aborted||t.loadVectorData(n,this.map.painter,"RT"===e)}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.aborted=!0}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:t.uid,type:this.type,source:this.id}})}))}onRemove(){this._removed=!0,this.actor.sendAsync({type:"RS",data:{type:this.type,source:this.id}})}serialize(){return e.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var et=e.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class rt extends e.E{constructor(t,e,r,n){super(),this.id=t,this.dispatcher=r,this.coordinates=e.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(n),this.options=e}load(t){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{const e=yield p.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,e&&e.data&&(this.image=e.data,t&&(this.coordinates=t),this._finishLoading())}catch(t){this._request=null,this._loaded=!0,this.fire(new e.j(t))}}))}loaded(){return this._loaded}updateImage(t){return t.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=t.url,this.load(t.coordinates).finally((()=>{this.texture=null})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(t){this.map=t,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(t){this.coordinates=t;const r=t.map(e.Z.fromLngLat);this.tileID=function(t){let r=1/0,n=1/0,i=-1/0,a=-1/0;for(const e of t)r=Math.min(r,e.x),n=Math.min(n,e.y),i=Math.max(i,e.x),a=Math.max(a,e.y);const o=i-r,s=a-n,l=Math.max(o,s),c=Math.max(0,Math.floor(-Math.log(l)/Math.LN2)),u=Math.pow(2,c);return new e.a1(c,Math.floor((r+i)/2*u),Math.floor((n+a)/2*u))}(r),this.minzoom=this.maxzoom=this.tileID.z;const n=r.map((t=>this.tileID.getTilePoint(t)._round()));return this._boundsArray=new e.$,this._boundsArray.emplaceBack(n[0].x,n[0].y,0,0),this._boundsArray.emplaceBack(n[1].x,n[1].y,e.X,0),this._boundsArray.emplaceBack(n[3].x,n[3].y,0,e.X),this._boundsArray.emplaceBack(n[2].x,n[2].y,e.X,e.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new e.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const t=this.map.painter.context,r=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,et.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new w(t,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let n=!1;for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture,n=!0)}n&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(t){return e._(this,void 0,void 0,(function*(){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={}):t.state="errored"}))}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class nt extends rt{constructor(t,e,r,n){super(t,e,r,n),this.roundZoom=!0,this.type="video",this.options=e}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1;const t=this.options;this.urls=[];for(const e of t.urls)this.urls.push(this.map._requestManager.transformRequest(e,"Source").url);try{const t=yield e.a3(this.urls);if(this._loaded=!0,!t)return;this.video=t,this.video.loop=!0,this.video.addEventListener("playing",(()=>{this.map.triggerRepaint()})),this.map&&this.video.play(),this._finishLoading()}catch(t){this.fire(new e.j(t))}}))}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(t){if(this.video){const r=this.video.seekable;tr.end(0)?this.fire(new e.j(new e.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${r.start(0)} and ${r.end(0)}-second mark.`))):this.video.currentTime=t}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const t=this.map.painter.context,r=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,et.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE),r.texSubImage2D(r.TEXTURE_2D,0,0,0,r.RGBA,r.UNSIGNED_BYTE,this.video)):(this.texture=new w(t,this.video,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let n=!1;for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture,n=!0)}n&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class it extends rt{constructor(t,r,n,i){super(t,r,n,i),r.coordinates?Array.isArray(r.coordinates)&&4===r.coordinates.length&&!r.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>"number"!=typeof t))))||this.fire(new e.j(new e.a2(`sources.${t}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.j(new e.a2(`sources.${t}`,null,'missing required property "coordinates"'))),r.animate&&"boolean"!=typeof r.animate&&this.fire(new e.j(new e.a2(`sources.${t}`,null,'optional "animate" property must be a boolean value'))),r.canvas?"string"==typeof r.canvas||r.canvas instanceof HTMLCanvasElement||this.fire(new e.j(new e.a2(`sources.${t}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new e.j(new e.a2(`sources.${t}`,null,'missing required property "canvas"'))),this.options=r,this.animate=void 0===r.animate||r.animate}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new e.j(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())}))}getCanvas(){return this.canvas}onAdd(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const r=this.map.painter.context,n=r.gl;this.boundsBuffer||(this.boundsBuffer=r.createVertexBuffer(this._boundsArray,et.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new w(r,this.canvas,n.RGBA,{premultiply:!0});let i=!1;for(const t in this.tiles){const e=this.tiles[t];"loaded"!==e.state&&(e.state="loaded",e.texture=this.texture,i=!0)}i&&this.fire(new e.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of[this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return!0;return!1}}const at={},ot=t=>{switch(t){case"geojson":return tt;case"image":return rt;case"raster":return K;case"raster-dem":return Q;case"vector":return J;case"video":return nt;case"canvas":return it}return at[t]};const st="RTLPluginLoaded";class lt extends e.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=H()}_syncState(t){return this.status=t,this.dispatcher.broadcast("SRPS",{pluginStatus:t,pluginURL:this.url}).catch((t=>{throw this.status="error",t}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(t){return e._(this,arguments,void 0,(function*(t,e=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=a.resolveURL(t),!this.url)throw new Error(`requested url ${t} is invalid`);if("unavailable"===this.status){if(!e)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if("requested"===this.status)return this._requestImport()}))}_requestImport(){return e._(this,void 0,void 0,(function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new e.k(st))}))}lazyLoad(){"unavailable"===this.status?this.status="requested":"deferred"===this.status&&this._requestImport()}}let ct=null;function ut(){return ct||(ct=new lt),ct}class ht{constructor(t,r){this.timeAdded=0,this.fadeEndTime=0,this.tileID=t,this.uid=e.a4(),this.uses=0,this.tileSize=r,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(t){const e=t+this.timeAdded;ee.getLayer(t))).filter(Boolean);if(0!==t.length){n.layers=t,n.stateDependentLayerIds&&(n.stateDependentLayers=n.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)r[e.id]=n}}return r}(t.buckets,r.style),this.hasSymbolBuckets=!1;for(const t in this.buckets){const r=this.buckets[t];if(r instanceof e.a6){if(this.hasSymbolBuckets=!0,!n)break;r.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const t in this.buckets){const r=this.buckets[t];if(r instanceof e.a6&&r.hasRTLText){this.hasRTLText=!0,ut().lazyLoad();break}}this.queryPadding=0;for(const t in this.buckets){const e=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,r.style.getLayer(t).queryRadius(e))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new e.a5}unloadVectorData(){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const r=this.buckets[e];r.uploadPending()&&r.upload(t)}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new w(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new w(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null)}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)}queryRenderedFeatures(t,e,r,n,i,a,o,s,l,c){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:n,cameraQueryGeometry:i,scale:a,tileSize:this.tileSize,pixelPosMatrix:c,transform:s,params:o,queryPadding:this.queryPadding*l},t,e,r):{}}querySourceFeatures(t,r){const n=this.latestFeatureIndex;if(!n||!n.rawTileData)return;const i=n.loadVTLayers(),a=r&&r.sourceLayer?r.sourceLayer:"",o=i._geojsonTileLayer||i[a];if(!o)return;const s=e.a7(r&&r.filter),{z:l,x:c,y:u}=this.tileID.canonical,h={z:l,x:c,y:u};for(let r=0;rt)e=!1;else if(r)if(this.expirationTime{this.remove(t,i)}),r)),this.data[n].push(i),this.order.push(n),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const r=t.wrapped().key,n=void 0===e?0:this.data[r].indexOf(e),i=this.data[r][n];return this.data[r].splice(n,1),i.timeout&&clearTimeout(i.timeout),0===this.data[r].length&&delete this.data[r],this.onRemove(i.value),this.order.splice(this.order.indexOf(r),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t)}return this}filter(t){const e=[];for(const r in this.data)for(const n of this.data[r])t(n.value)||e.push(n);for(const t of e)this.remove(t.value.tileID,t)}}class pt{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(t,r,n){const i=String(r);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][i]=this.stateChanges[t][i]||{},e.e(this.stateChanges[t][i],n),null===this.deletedStates[t]){this.deletedStates[t]={};for(const e in this.state[t])e!==i&&(this.deletedStates[t][e]=null)}else if(this.deletedStates[t]&&null===this.deletedStates[t][i]){this.deletedStates[t][i]={};for(const e in this.state[t][i])n[e]||(this.deletedStates[t][i][e]=null)}else for(const e in n)this.deletedStates[t]&&this.deletedStates[t][i]&&null===this.deletedStates[t][i][e]&&delete this.deletedStates[t][i][e]}removeFeatureState(t,e,r){if(null===this.deletedStates[t])return;const n=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},r&&void 0!==e)null!==this.deletedStates[t][n]&&(this.deletedStates[t][n]=this.deletedStates[t][n]||{},this.deletedStates[t][n][r]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][n])for(r in this.deletedStates[t][n]={},this.stateChanges[t][n])this.deletedStates[t][n][r]=null;else this.deletedStates[t][n]=null;else this.deletedStates[t]=null}getState(t,r){const n=String(r),i=this.state[t]||{},a=this.stateChanges[t]||{},o=e.e({},i[n],a[n]);if(null===this.deletedStates[t])return{};if(this.deletedStates[t]){const e=this.deletedStates[t][r];if(null===e)return{};for(const t in e)delete o[t]}return o}initializeTileState(t,e){t.setFeatureState(this.state,e)}coalesceChanges(t,r){const n={};for(const t in this.stateChanges){this.state[t]=this.state[t]||{};const r={};for(const n in this.stateChanges[t])this.state[t][n]||(this.state[t][n]={}),e.e(this.state[t][n],this.stateChanges[t][n]),r[n]=this.state[t][n];n[t]=r}for(const t in this.deletedStates){this.state[t]=this.state[t]||{};const r={};if(null===this.deletedStates[t])for(const e in this.state[t])r[e]={},this.state[t][e]={};else for(const e in this.deletedStates[t]){if(null===this.deletedStates[t][e])this.state[t][e]={};else for(const r of Object.keys(this.deletedStates[t][e]))delete this.state[t][e][r];r[e]=this.state[t][e]}n[t]=n[t]||{},e.e(n[t],r)}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(n).length)for(const e in t)t[e].setFeatureState(n,r)}}class dt extends e.E{constructor(t,e,r){super(),this.id=t,this.dispatcher=r,this.on("data",(t=>this._dataHandler(t))),this.on("dataloading",(()=>{this._sourceErrored=!1})),this.on("error",(()=>{this._sourceErrored=this._source.loaded()})),this._source=((t,e,r,n)=>{const i=new(ot(e.type))(t,e,r,n);if(i.id!==t)throw new Error(`Expected Source id to be ${t} instead of ${i.id}`);return i})(t,e,r,this),this._tiles={},this._cache=new ft(0,(t=>this._unloadTile(t))),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new pt,this._didEmitContent=!1,this._updated=!1}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._maxTileCacheZoomLevels=t?t._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(t)}onRemove(t){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(t)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!this._source.loaded())return!1;if(!(void 0===this.used&&void 0===this.usedForTerrain||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(const t in this._tiles){const e=this._tiles[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(t,r,n){return e._(this,void 0,void 0,(function*(){try{yield this._source.loadTile(t),this._tileLoaded(t,r,n)}catch(r){t.state="errored",404!==r.status?this._source.fire(new e.j(r,{tile:t})):this.update(this.transform,this.terrain)}}))}_unloadTile(t){this._source.unloadTile&&this._source.unloadTile(t)}_abortTile(t){this._source.abortTile&&this._source.abortTile(t),this._source.fire(new e.k("dataabort",{tile:t,coord:t.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const r=this._tiles[e];r.upload(t),r.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map((t=>t.tileID)).sort(mt).map((t=>t.key))}getRenderableIds(t){const r=[];for(const e in this._tiles)this._isIdRenderable(e,t)&&r.push(this._tiles[e]);return t?r.sort(((t,r)=>{const n=t.tileID,i=r.tileID,a=new e.P(n.canonical.x,n.canonical.y)._rotate(this.transform.angle),o=new e.P(i.canonical.x,i.canonical.y)._rotate(this.transform.angle);return n.overscaledZ-i.overscaledZ||o.y-a.y||o.x-a.x})).map((t=>t.tileID.key)):r.map((t=>t.tileID)).sort(mt).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return!!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const t in this._tiles)"errored"!==this._tiles[t].state&&this._reloadTile(t,"reloading")}}_reloadTile(t,r){return e._(this,void 0,void 0,(function*(){const e=this._tiles[t];e&&("loading"!==e.state&&(e.state=r),yield this._loadTile(e,t,r))}))}_tileLoaded(t,r,n){t.timeAdded=a.now(),"expired"===n&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(r,t),"raster-dem"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),t.aborted||this._source.fire(new e.k("data",{dataType:"source",tile:t,coord:t.tileID}))}_backfillDEM(t){const e=this.getRenderableIds();for(let n=0;n1||(Math.abs(r)>1&&(1===Math.abs(r+i)?r+=i:1===Math.abs(r-i)&&(r-=i)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,r,n),t.neighboringTiles&&t.neighboringTiles[a]&&(t.neighboringTiles[a].backfilled=!0)))}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,r,n){for(const i in this._tiles){let a=this._tiles[i];if(n[i]||!a.hasData()||a.tileID.overscaledZ<=e||a.tileID.overscaledZ>r)continue;let o=a.tileID;for(;a&&a.tileID.overscaledZ>e+1;){const t=a.tileID.scaledTo(a.tileID.overscaledZ-1);a=this._tiles[t.key],a&&a.hasData()&&(o=t)}let s=o;for(;s.overscaledZ>e;)if(s=s.scaledTo(s.overscaledZ-1),t[s.key]){n[o.key]=o;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const r=this._loadedParentTiles[t.key];return r&&r.tileID.overscaledZ>=e?r:null}for(let r=t.overscaledZ-1;r>=e;r--){const e=t.scaledTo(r),n=this._getLoadedTile(e);if(n)return n}}findLoadedSibling(t){return this._getLoadedTile(t)}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const r=(Math.ceil(t.width/this._source.tileSize)+1)*(Math.ceil(t.height/this._source.tileSize)+1),n=null===this._maxTileCacheZoomLevels?e.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels,i=Math.floor(r*n),a="number"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,i):i;this._cache.setMaxSize(a)}handleWrapJump(t){const e=(t-(void 0===this._prevLng?t:this._prevLng))/360,r=Math.round(e);if(this._prevLng=t,r){const t={};for(const e in this._tiles){const n=this._tiles[e];n.tileID=n.tileID.unwrapTo(n.tileID.wrap+r),t[n.tileID.key]=n}this._tiles=t;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles){const e=this._tiles[t];this._setTileReloadTimer(t,e)}}}_updateCoveredAndRetainedTiles(t,e,r,n,i,o){const s={},l={},c=Object.keys(t),u=a.now();for(const r of c){const n=t[r],i=this._tiles[r];if(!i||0!==i.fadeEndTime&&i.fadeEndTime<=u)continue;const a=this.findLoadedParent(n,e),o=this.findLoadedSibling(n),c=a||o||null;c&&(this._addTile(c.tileID),s[c.tileID.key]=c.tileID),l[r]=n}this._retainLoadedChildren(l,n,r,t);for(const e in s)t[e]||(this._coveredTiles[e]=!0,t[e]=s[e]);if(o){const e={},r={};for(const t of i)this._tiles[t.key].hasData()?e[t.key]=t:r[t.key]=t;for(const n in r){const i=r[n].children(this._source.maxzoom);this._tiles[i[0].key]&&this._tiles[i[1].key]&&this._tiles[i[2].key]&&this._tiles[i[3].key]&&(e[i[0].key]=t[i[0].key]=i[0],e[i[1].key]=t[i[1].key]=i[1],e[i[2].key]=t[i[2].key]=i[2],e[i[3].key]=t[i[3].key]=i[3],delete r[n])}for(const n in r){const i=r[n],a=this.findLoadedParent(i,this._source.minzoom),o=this.findLoadedSibling(i),s=a||o||null;if(s){e[s.tileID.key]=t[s.tileID.key]=s.tileID;for(const t in e)e[t].isChildOf(s.tileID)&&delete e[t]}}for(const t in this._tiles)e[t]||(this._coveredTiles[t]=!0)}}update(t,r){if(!this._sourceLoaded||this._paused)return;let n;this.transform=t,this.terrain=r,this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?n=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((t=>new e.S(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y))):(n=t.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:r}),this._source.hasTile&&(n=n.filter((t=>this._source.hasTile(t))))):n=[];const i=t.coveringZoomLevel(this._source),a=Math.max(i-dt.maxOverzooming,this._source.minzoom),o=Math.max(i+dt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const t={};for(const e of n)if(e.canonical.z>this._source.minzoom){const r=e.scaledTo(e.canonical.z-1);t[r.key]=r;const n=e.scaledTo(Math.max(this._source.minzoom,Math.min(e.canonical.z,5)));t[n.key]=n}n=n.concat(Object.values(t))}const s=0===n.length&&!this._updated&&this._didEmitContent;this._updated=!0,s&&this.fire(new e.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));const l=this._updateRetainedTiles(n,i);gt(this._source.type)&&this._updateCoveredAndRetainedTiles(l,a,o,i,n,r);for(const t in l)this._tiles[t].clearFadeHold();const c=e.ac(this._tiles,l);for(const t of c){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(t)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)}_updateRetainedTiles(t,e){var r;const n={},i={},a=Math.max(e-dt.maxOverzooming,this._source.minzoom),o=Math.max(e+dt.maxUnderzooming,this._source.minzoom),s={};for(const r of t){const t=this._addTile(r);n[r.key]=r,t.hasData()||ethis._source.maxzoom){const t=o.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){n[t.key]=t;continue}}else{const t=o.children(this._source.maxzoom);if(n[t[0].key]&&n[t[1].key]&&n[t[2].key]&&n[t[3].key])continue}let s=t.wasRequested();for(let e=o.overscaledZ-1;e>=a;--e){const a=o.scaledTo(e);if(i[a.key])break;if(i[a.key]=!0,t=this.getTile(a),!t&&s&&(t=this._addTile(a)),t){const e=t.hasData();if((e||!(null===(r=this.map)||void 0===r?void 0:r.cancelPendingTileRequestsWhileZooming)||s)&&(n[a.key]=a),s=t.wasRequested(),e)break}}}return n}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let r,n=this._tiles[t].tileID;for(;n.overscaledZ>0;){if(n.key in this._loadedParentTiles){r=this._loadedParentTiles[n.key];break}e.push(n.key);const t=n.scaledTo(n.overscaledZ-1);if(r=this._getLoadedTile(t),r)break;n=t}for(const t of e)this._loadedParentTiles[t]=r}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(const t in this._tiles){const e=this._tiles[t].tileID,r=this._getLoadedTile(e);this._loadedSiblingTiles[e.key]=r}}_addTile(t){let r=this._tiles[t.key];if(r)return r;r=this._cache.getAndRemove(t),r&&(this._setTileReloadTimer(t.key,r),r.tileID=t,this._state.initializeTileState(r,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,r)));const n=r;return r||(r=new ht(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(r,t.key,r.state)),r.uses++,this._tiles[t.key]=r,n||this._source.fire(new e.k("dataloading",{tile:r,coord:r.tileID,dataType:"source"})),r}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const r=e.getExpiryTimeout();r&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,"expired"),delete this._timers[t]}),r))}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&"reloading"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))))}_dataHandler(t){const e=t.sourceDataType;"source"===t.dataType&&"metadata"===e&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&"source"===t.dataType&&"content"===e&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset()}tilesIn(t,r,n){const i=[],a=this.transform;if(!a)return i;const o=n?a.getCameraQueryGeometry(t):t,s=t.map((t=>a.pointCoordinate(t,this.terrain))),l=o.map((t=>a.pointCoordinate(t,this.terrain))),c=this.getIds();let u=1/0,h=1/0,f=-1/0,p=-1/0;for(const t of l)u=Math.min(u,t.x),h=Math.min(h,t.y),f=Math.max(f,t.x),p=Math.max(p,t.y);for(let t=0;t=0&&g[1].y+m>=0){const t=s.map((t=>o.getTilePoint(t))),e=l.map((t=>o.getTilePoint(t)));i.push({tile:n,tileID:o,queryGeometry:t,cameraQueryGeometry:e,scale:d})}}return i}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.posMatrix=this.transform.calculatePosMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return!0;if(gt(this._source.type)){const t=a.now();for(const e in this._tiles)if(this._tiles[e].fadeEndTime>=t)return!0}return!1}setFeatureState(t,e,r){t=t||"_geojsonTileLayer",this._state.updateState(t,e,r)}removeFeatureState(t,e,r){t=t||"_geojsonTileLayer",this._state.removeFeatureState(t,e,r)}getFeatureState(t,e){return t=t||"_geojsonTileLayer",this._state.getState(t,e)}setDependencies(t,e,r){const n=this._tiles[t];n&&n.setDependencies(e,r)}reloadTilesForDependencies(t,e){for(const r in this._tiles)this._tiles[r].hasDependency(t,e)&&this._reloadTile(r,"reloading");this._cache.filter((r=>!r.hasDependency(t,e)))}}function mt(t,e){const r=Math.abs(2*t.wrap)-+(t.wrap<0),n=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||n-r||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function gt(t){return"raster"===t||"image"===t||"video"===t}dt.maxOverzooming=10,dt.maxUnderzooming=3;class yt{constructor(t,e){this.reset(t,e)}reset(t,e){this.points=t||[],this._distances=[0];for(let t=1;t0?(i-o)/s:0;return this.points[a].mult(1-l).add(this.points[r].mult(l))}}function vt(t,e){let r=!0;return"always"===t||"never"!==t&&"never"!==e||(r=!1),r}class xt{constructor(t,e,r){const n=this.boxCells=[],i=this.circleCells=[];this.xCellCount=Math.ceil(t/r),this.yCellCount=Math.ceil(e/r);for(let t=0;tthis.width||n<0||e>this.height)return[];const s=[];if(t<=0&&e<=0&&this.width<=r&&this.height<=n){if(i)return[{key:null,x1:t,y1:e,x2:r,y2:n}];for(let t=0;t0}hitTestCircle(t,e,r,n,i){const a=t-r,o=t+r,s=e-r,l=e+r;if(o<0||a>this.width||l<0||s>this.height)return!1;const c=[],u={hitTest:!0,overlapMode:n,circle:{x:t,y:e,radius:r},seenUids:{box:{},circle:{}}};return this._forEachCell(a,s,o,l,this._queryCellCircle,c,u,i),c.length>0}_queryCell(t,e,r,n,i,a,o,s){const{seenUids:l,hitTest:c,overlapMode:u}=o,h=this.boxCells[i];if(null!==h){const i=this.bboxes;for(const o of h)if(!l.box[o]){l.box[o]=!0;const h=4*o,f=this.boxKeys[o];if(t<=i[h+2]&&e<=i[h+3]&&r>=i[h+0]&&n>=i[h+1]&&(!s||s(f))&&(!c||!vt(u,f.overlapMode))&&(a.push({key:f,x1:i[h],y1:i[h+1],x2:i[h+2],y2:i[h+3]}),c))return!0}}const f=this.circleCells[i];if(null!==f){const i=this.circles;for(const o of f)if(!l.circle[o]){l.circle[o]=!0;const h=3*o,f=this.circleKeys[o];if(this._circleAndRectCollide(i[h],i[h+1],i[h+2],t,e,r,n)&&(!s||s(f))&&(!c||!vt(u,f.overlapMode))){const t=i[h],e=i[h+1],r=i[h+2];if(a.push({key:f,x1:t-r,y1:e-r,x2:t+r,y2:e+r}),c)return!0}}}return!1}_queryCellCircle(t,e,r,n,i,a,o,s){const{circle:l,seenUids:c,overlapMode:u}=o,h=this.boxCells[i];if(null!==h){const t=this.bboxes;for(const e of h)if(!c.box[e]){c.box[e]=!0;const r=4*e,n=this.boxKeys[e];if(this._circleAndRectCollide(l.x,l.y,l.radius,t[r+0],t[r+1],t[r+2],t[r+3])&&(!s||s(n))&&!vt(u,n.overlapMode))return a.push(!0),!0}}const f=this.circleCells[i];if(null!==f){const t=this.circles;for(const e of f)if(!c.circle[e]){c.circle[e]=!0;const r=3*e,n=this.circleKeys[e];if(this._circlesCollide(t[r],t[r+1],t[r+2],l.x,l.y,l.radius)&&(!s||s(n))&&!vt(u,n.overlapMode))return a.push(!0),!0}}}_forEachCell(t,e,r,n,i,a,o,s){const l=this._convertToXCellCoord(t),c=this._convertToYCellCoord(e),u=this._convertToXCellCoord(r),h=this._convertToYCellCoord(n);for(let f=l;f<=u;f++)for(let l=c;l<=h;l++){const c=this.xCellCount*l+f;if(i.call(this,t,e,r,n,c,a,o,s))return}}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,e,r,n,i,a){const o=n-t,s=i-e,l=r+a;return l*l>o*o+s*s}_circleAndRectCollide(t,e,r,n,i,a,o){const s=(a-n)/2,l=Math.abs(t-(n+s));if(l>s+r)return!1;const c=(o-i)/2,u=Math.abs(e-(i+c));if(u>c+r)return!1;if(l<=s||u<=c)return!0;const h=l-s,f=u-c;return h*h+f*f<=r*r}}function _t(t,r,n,i,a){const o=e.H();return r?(e.K(o,o,[1/a,1/a,1]),n||e.ae(o,o,i.angle)):e.L(o,i.labelPlaneMatrix,t),o}function bt(t,r,n,i,a){if(r){const r=e.af(t);return e.K(r,r,[a,a,1]),n||e.ae(r,r,-i.angle),r}return i.glCoordMatrix}function wt(t,r,n){let i;n?(i=[t.x,t.y,n(t.x,t.y),1],e.ag(i,i,r)):(i=[t.x,t.y,0,1],function(t,e,r){const n=e[0],i=e[1];t[0]=r[0]*n+r[4]*i+r[12],t[1]=r[1]*n+r[5]*i+r[13],t[3]=r[3]*n+r[7]*i+r[15]}(i,i,r));const a=i[3];return{point:new e.P(i[0]/a,i[1]/a),signedDistanceFromCamera:a,isOccluded:!1}}function Tt(t,e){return.5+t/e*.5}function kt(t,e){return t.x>=-e[0]&&t.x<=e[0]&&t.y>=-e[1]&&t.y<=e[1]}function At(t,r,n,i,a,o,s,l,c,u,h,f,p,d,m){const g=i?t.textSizeData:t.iconSizeData,y=e.ah(g,n.transform.zoom),v=[256/n.width*2+1,256/n.height*2+1],x=i?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;x.clear();const _=t.lineVertexArray,b=i?t.text.placedSymbolArray:t.icon.placedSymbolArray,w=n.transform.width/n.transform.height;let T=!1;for(let i=0;iMath.abs(n.x-r.x)*i?{useVertical:!0}:(t===e.ai.vertical?r.yn.x)?{needsFlipping:!0}:null}function Et(t,r,n,i,a,o,s,l,c,u,h){const f=n/24,p=r.lineOffsetX*f,d=r.lineOffsetY*f;let m;if(r.numGlyphs>1){const e=r.glyphStartIndex+r.numGlyphs,n=r.lineStartIndex,o=r.lineStartIndex+r.lineLength,c=Mt(f,l,p,d,i,r,h,t);if(!c)return{notEnoughRoom:!0};const g=wt(c.first.point,s,t.getElevation).point,y=wt(c.last.point,s,t.getElevation).point;if(a&&!i){const t=St(r.writingMode,g,y,u);if(t)return t}m=[c.first];for(let a=r.glyphStartIndex+1;a0?s.point:function(t,e,r,n,i,a){return Ct(t,e,r,n,i,a)}(t.tileAnchorPoint,a,n,1,o,t),c=St(r.writingMode,n,l,u);if(c)return c}const n=Ot(f*l.getoffsetX(r.glyphStartIndex),p,d,i,r.segment,r.lineStartIndex,r.lineStartIndex+r.lineLength,t,h);if(!n||t.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};m=[n]}for(const t of m)e.ak(c,t.point,t.angle);return{}}function Ct(t,e,r,n,i,a){const o=t.add(t.sub(e)._unit()),s=void 0!==i?wt(o,i,a.getElevation).point:It(o.x,o.y,a).point,l=r.sub(s);return r.add(l._mult(n/l.mag()))}function Lt(t,r,n){const i=r.projectionCache;if(i.projections[t])return i.projections[t];const a=new e.P(r.lineVertexArray.getx(t),r.lineVertexArray.gety(t)),o=It(a.x,a.y,r);if(o.signedDistanceFromCamera>0)return i.projections[t]=o.point,i.anyProjectionOccluded=i.anyProjectionOccluded||o.isOccluded,o.point;const s=t-n.direction,l=0===n.distanceFromAnchor?r.tileAnchorPoint:new e.P(r.lineVertexArray.getx(s),r.lineVertexArray.gety(s)),c=n.absOffsetX-n.distanceFromAnchor+1;return function(t,e,r,n,i){return Ct(t,e,r,n,void 0,i)}(l,a,n.previousVertex,c,r)}function It(t,r,n){const i=t+n.translation[0],a=r+n.translation[1];let o;return!n.pitchWithMap&&n.projection.useSpecialProjectionForSymbols?(o=n.projection.projectTileCoordinates(i,a,n.unwrappedTileID,n.getElevation),o.point.x=(.5*o.point.x+.5)*n.width,o.point.y=(.5*-o.point.y+.5)*n.height):(o=wt(new e.P(i,a),n.labelPlaneMatrix,n.getElevation),o.isOccluded=!1),o}function Pt(t,e,r){return t._unit()._perp()._mult(e*r)}function zt(t,r,n,i,a,o,s,l,c){if(l.projectionCache.offsets[t])return l.projectionCache.offsets[t];const u=n.add(r);if(t+c.direction=a)return l.projectionCache.offsets[t]=u,u;const h=Lt(t+c.direction,l,c),f=Pt(h.sub(n),s,c.direction),p=n.add(f),d=h.add(f);return l.projectionCache.offsets[t]=e.al(o,u,p,d)||u,l.projectionCache.offsets[t]}function Ot(t,e,r,n,i,a,o,s,l){const c=n?t-e:t+e;let u=c>0?1:-1,h=0;n&&(u*=-1,h=Math.PI),u<0&&(h+=Math.PI);let f,p=u>0?a+i:a+i+1;s.projectionCache.cachedAnchorPoint?f=s.projectionCache.cachedAnchorPoint:(f=It(s.tileAnchorPoint.x,s.tileAnchorPoint.y,s).point,s.projectionCache.cachedAnchorPoint=f);let d,m,g=f,y=f,v=0,x=0;const _=Math.abs(c),b=[];let w;for(;v+x<=_;){if(p+=u,p=o)return null;v+=x,y=g,m=d;const t={absOffsetX:_,direction:u,distanceFromAnchor:v,previousVertex:y};if(g=Lt(p,s,t),0===r)b.push(y),w=g.sub(y);else{let e;const n=g.sub(y);e=0===n.mag()?Pt(Lt(p+u,s,t).sub(g),r,u):Pt(n,r,u),m||(m=y.add(e)),d=zt(p,e,g,a,o,m,r,s,t),b.push(m),w=d.sub(m)}x=w.mag()}const T=(_-v)/x,k=w._mult(T)._add(m||y),A=h+Math.atan2(g.y-y.y,g.x-y.x);return b.push(k),{point:k,angle:l?A:0,path:b}}const Dt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Rt(t,e){for(let r=0;r=1;t--)l.push(o.path[t]);for(let t=1;tt.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point))}let m=[];if(l.length>0){const t=l[0].clone(),r=l[0].clone();for(let e=1;e=n.x&&r.x<=i.x&&t.y>=n.y&&r.y<=i.y?[l]:r.xi.x||r.yi.y?[]:e.am([l],n.x,n.y,i.x,i.y)}for(const e of m){a.reset(e,.25*r);let n=0;n=a.length<=.5*r?1:Math.ceil(a.paddedLength/h)+1;for(let e=0;ewt(t,r,e.getElevation)))}queryRenderedSymbols(t){if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return{};const r=[];let n=1/0,i=1/0,a=-1/0,o=-1/0;for(const s of t){const t=new e.P(s.x+Ft,s.y+Ft);n=Math.min(n,t.x),i=Math.min(i,t.y),a=Math.max(a,t.x),o=Math.max(o,t.y),r.push(t)}const s=this.grid.query(n,i,a,o).concat(this.ignoredGrid.query(n,i,a,o)),l={},c={};for(const t of s){const n=t.key;if(void 0===l[n.bucketInstanceId]&&(l[n.bucketInstanceId]={}),l[n.bucketInstanceId][n.featureIndex])continue;const i=[new e.P(t.x1,t.y1),new e.P(t.x2,t.y1),new e.P(t.x2,t.y2),new e.P(t.x1,t.y2)];e.an(r,i)&&(l[n.bucketInstanceId][n.featureIndex]=!0,void 0===c[n.bucketInstanceId]&&(c[n.bucketInstanceId]=[]),c[n.bucketInstanceId].push(n.featureIndex))}return c}insertCollisionBox(t,e,r,n,i,a){const o={bucketInstanceId:n,featureIndex:i,collisionGroupID:a,overlapMode:e};(r?this.ignoredGrid:this.grid).insert(o,t[0],t[1],t[2],t[3])}insertCollisionCircles(t,e,r,n,i,a){const o=r?this.ignoredGrid:this.grid,s={bucketInstanceId:n,featureIndex:i,collisionGroupID:a,overlapMode:e};for(let e=0;e=this.screenRightBoundary||nthis.screenBottomBoundary}isInsideGrid(t,e,r,n){return r>=0&&t=0&&ethis.projectAndGetPerspectiveRatio(n,t.x,t.y,i,c)));A=t.some((t=>!t.isOccluded)),k=t.map((t=>t.point))}else A=!0;return{box:e.ap(k),allPointsOccluded:!A}}}function Nt(t,r,n){return r*(e.X/(t.tileSize*Math.pow(2,n-t.tileID.overscaledZ)))}class jt{constructor(t,e,r,n){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):n&&r?1:0,this.placed=r}isHidden(){return 0===this.opacity&&!this.placed}}class Ut{constructor(t,e,r,n,i){this.text=new jt(t?t.text:null,e,r,i),this.icon=new jt(t?t.icon:null,e,n,i)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Vt{constructor(t,e,r){this.text=t,this.icon=e,this.skipFade=r}}class qt{constructor(){this.invProjMatrix=e.H(),this.viewportMatrix=e.H(),this.circles=[]}}class Ht{constructor(t,e,r,n,i){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=r,this.bucketIndex=n,this.tileID=i}}class Gt{constructor(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={}}get(t){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[t]){const e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:t=>t.collisionGroupID===e}}return this.collisionGroups[t]}}function Zt(t,r,n,i,a){const{horizontalAlign:o,verticalAlign:s}=e.av(t),l=-(o-.5)*r,c=-(s-.5)*n;return new e.P(l+i[0]*a,c+i[1]*a)}class Wt{constructor(t,e,r,n,i,a){this.transform=t.clone(),this.terrain=r,this.collisionIndex=new Bt(this.transform,e),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=n,this.retainedQueryData={},this.collisionGroups=new Gt(i),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=a,a&&(a.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(t){const e=this.terrain;return e?(r,n)=>e.getElevation(t,r,n):null}getBucketParts(t,r,n,i){const a=n.getBucket(r),o=n.latestFeatureIndex;if(!a||!o||r.id!==a.layerIds[0])return;const s=n.collisionBoxArray,l=a.layers[0].layout,c=a.layers[0].paint,u=Math.pow(2,this.transform.zoom-n.tileID.overscaledZ),h=n.tileSize/e.X,f=n.tileID.toUnwrapped(),p=this.transform.calculatePosMatrix(f),d="map"===l.get("text-pitch-alignment"),m="map"===l.get("text-rotation-alignment"),g=Nt(n,1,this.transform.zoom),y=this.collisionIndex.mapProjection.translatePosition(this.transform,n,c.get("text-translate"),c.get("text-translate-anchor")),v=this.collisionIndex.mapProjection.translatePosition(this.transform,n,c.get("icon-translate"),c.get("icon-translate-anchor")),x=_t(p,d,m,this.transform,g);let _=null;if(d){const t=bt(p,d,m,this.transform,g);_=e.L([],this.transform.labelPlaneMatrix,t)}this.retainedQueryData[a.bucketInstanceId]=new Ht(a.bucketInstanceId,o,a.sourceLayerIndex,a.index,n.tileID);const b={bucket:a,layout:l,translationText:y,translationIcon:v,posMatrix:p,unwrappedTileID:f,textLabelPlaneMatrix:x,labelToScreenMatrix:_,scale:u,textPixelRatio:h,holdingForFade:n.holdingForFade(),collisionBoxArray:s,partiallyEvaluatedTextSize:e.ah(a.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(a.sourceID)};if(i)for(const e of a.sortKeyRanges){const{sortKey:r,symbolInstanceStart:n,symbolInstanceEnd:i}=e;t.push({sortKey:r,symbolInstanceStart:n,symbolInstanceEnd:i,parameters:b})}else t.push({symbolInstanceStart:0,symbolInstanceEnd:a.symbolInstances.length,parameters:b})}attemptAnchorPlacement(t,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y,v,x){const _=e.ar[t.textAnchor],b=[t.textOffset0,t.textOffset1],w=Zt(_,n,i,b,a),T=this.collisionIndex.placeCollisionBox(r,f,l,c,u,s,o,g,h.predicate,x,w);if((!v||this.collisionIndex.placeCollisionBox(v,f,l,c,u,s,o,y,h.predicate,x,w).placeable)&&T.placeable){let t;if(this.prevPlacement&&this.prevPlacement.variableOffsets[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID]&&this.prevPlacement.placements[p.crossTileID].text&&(t=this.prevPlacement.variableOffsets[p.crossTileID].anchor),0===p.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[p.crossTileID]={textOffset:b,width:n,height:i,anchor:_,textBoxScale:a,prevAnchor:t},this.markUsedJustification(d,_,p,m),d.allowVerticalPlacement&&(this.markUsedOrientation(d,m,p),this.placedOrientations[p.crossTileID]=m),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(t,r,n){const{bucket:i,layout:a,translationText:o,translationIcon:s,posMatrix:l,unwrappedTileID:c,textLabelPlaneMatrix:u,labelToScreenMatrix:h,textPixelRatio:f,holdingForFade:p,collisionBoxArray:d,partiallyEvaluatedTextSize:m,collisionGroup:g}=t.parameters,y=a.get("text-optional"),v=a.get("icon-optional"),x=e.as(a,"text-overlap","text-allow-overlap"),_="always"===x,b=e.as(a,"icon-overlap","icon-allow-overlap"),w="always"===b,T="map"===a.get("text-rotation-alignment"),k="map"===a.get("text-pitch-alignment"),A="none"!==a.get("icon-text-fit"),M="viewport-y"===a.get("symbol-z-order"),S=_&&(w||!i.hasIconData()||v),E=w&&(_||!i.hasTextData()||y);!i.collisionArrays&&d&&i.deserializeCollisionBoxes(d);const C=this.retainedQueryData[i.bucketInstanceId].tileID,L=this._getTerrainElevationFunc(C),I=(t,d,w)=>{var M,C;if(r[t.crossTileID])return;if(p)return void(this.placements[t.crossTileID]=new Vt(!1,!1,!1));let I=!1,P=!1,z=!0,O=null,D={box:null,placeable:!1,offscreen:null},R={box:null,placeable:!1,offscreen:null},F=null,B=null,N=null,j=0,U=0,V=0;d.textFeatureIndex?j=d.textFeatureIndex:t.useRuntimeCollisionCircles&&(j=t.featureIndex),d.verticalTextFeatureIndex&&(U=d.verticalTextFeatureIndex);const q=d.textBox;if(q){const r=r=>{let n=e.ai.horizontal;if(i.allowVerticalPlacement&&!r&&this.prevPlacement){const e=this.prevPlacement.placedOrientations[t.crossTileID];e&&(this.placedOrientations[t.crossTileID]=e,n=e,this.markUsedOrientation(i,n,t))}return n},a=(r,n)=>{if(i.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&d.verticalTextBox){for(const t of i.writingModes)if(t===e.ai.vertical?(D=n(),R=D):D=r(),D&&D.placeable)break}else D=r()},u=t.textAnchorOffsetStartIndex,h=t.textAnchorOffsetEndIndex;if(h===u){const n=(e,r)=>{const n=this.collisionIndex.placeCollisionBox(e,x,f,l,c,k,T,o,g.predicate,L);return n&&n.placeable&&(this.markUsedOrientation(i,r,t),this.placedOrientations[t.crossTileID]=r),n};a((()=>n(q,e.ai.horizontal)),(()=>{const r=d.verticalTextBox;return i.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&r?n(r,e.ai.vertical):{box:null,offscreen:null}})),r(D&&D.placeable)}else{let p=e.ar[null===(C=null===(M=this.prevPlacement)||void 0===M?void 0:M.variableOffsets[t.crossTileID])||void 0===C?void 0:C.anchor];const m=(r,a,d)=>{const m=r.x2-r.x1,y=r.y2-r.y1,v=t.textBoxScale,_=A&&"never"===b?a:null;let w=null,M="never"===x?1:2,S="never";p&&M++;for(let e=0;em(q,d.iconBox,e.ai.horizontal)),(()=>{const r=d.verticalTextBox,n=D&&D.placeable;return i.allowVerticalPlacement&&!n&&t.numVerticalGlyphVertices>0&&r?m(r,d.verticalIconBox,e.ai.vertical):{box:null,occluded:!0,offscreen:null}})),D&&(I=D.placeable,z=D.offscreen);const y=r(D&&D.placeable);if(!I&&this.prevPlacement){const e=this.prevPlacement.variableOffsets[t.crossTileID];e&&(this.variableOffsets[t.crossTileID]=e,this.markUsedJustification(i,e.anchor,t,y))}}}if(F=D,I=F&&F.placeable,z=F&&F.offscreen,t.useRuntimeCollisionCircles){const r=i.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex),s=e.aj(i.textSizeData,m,r),f=a.get("text-padding"),p=t.collisionCircleDiameter;B=this.collisionIndex.placeCollisionCircles(x,r,i.lineVertexArray,i.glyphOffsetArray,s,l,c,u,h,n,k,g.predicate,p,f,o,L),B.circles.length&&B.collisionDetected&&!n&&e.w("Collisions detected, but collision boxes are not shown"),I=_||B.circles.length>0&&!B.collisionDetected,z=z&&B.offscreen}if(d.iconFeatureIndex&&(V=d.iconFeatureIndex),d.iconBox){const t=t=>this.collisionIndex.placeCollisionBox(t,b,f,l,c,k,T,s,g.predicate,L,A&&O?O:void 0);R&&R.placeable&&d.verticalIconBox?(N=t(d.verticalIconBox),P=N.placeable):(N=t(d.iconBox),P=N.placeable),z=z&&N.offscreen}const H=y||0===t.numHorizontalGlyphVertices&&0===t.numVerticalGlyphVertices,G=v||0===t.numIconVertices;H||G?G?H||(P=P&&I):I=P&&I:P=I=P&&I;const Z=I&&F.placeable,W=P&&N.placeable;if(Z&&(R&&R.placeable&&U?this.collisionIndex.insertCollisionBox(F.box,x,a.get("text-ignore-placement"),i.bucketInstanceId,U,g.ID):this.collisionIndex.insertCollisionBox(F.box,x,a.get("text-ignore-placement"),i.bucketInstanceId,j,g.ID)),W&&this.collisionIndex.insertCollisionBox(N.box,b,a.get("icon-ignore-placement"),i.bucketInstanceId,V,g.ID),B&&I&&this.collisionIndex.insertCollisionCircles(B.circles,x,a.get("text-ignore-placement"),i.bucketInstanceId,j,g.ID),n&&this.storeCollisionData(i.bucketInstanceId,w,d,F,N,B),0===t.crossTileID)throw new Error("symbolInstance.crossTileID can't be 0");if(0===i.bucketInstanceId)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[t.crossTileID]=new Vt(I||S,P||E,z||i.justReloaded),r[t.crossTileID]=!0};if(M){if(0!==t.symbolInstanceStart)throw new Error("bucket.bucketInstanceId should be 0");const e=i.getSortedSymbolIndexes(this.transform.angle);for(let t=e.length-1;t>=0;--t){const r=e[t];I(i.symbolInstances.get(r),i.collisionArrays[r],r)}}else for(let e=t.symbolInstanceStart;e=0&&(t.text.placedSymbolArray.get(e).crossTileID=o>=0&&e!==o?0:n.crossTileID)}markUsedOrientation(t,r,n){const i=r===e.ai.horizontal||r===e.ai.horizontalOnly?r:0,a=r===e.ai.vertical?r:0,o=[n.leftJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.rightJustifiedTextSymbolIndex];for(const e of o)t.text.placedSymbolArray.get(e).placedOrientation=i;n.verticalPlacedTextSymbolIndex&&(t.text.placedSymbolArray.get(n.verticalPlacedTextSymbolIndex).placedOrientation=a)}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let r=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const n=e?e.symbolFadeChange(t):1,i=e?e.opacities:{},a=e?e.variableOffsets:{},o=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],a=i[t];a?(this.opacities[t]=new Ut(a,n,e.text,e.icon),r=r||e.text!==a.text.placed||e.icon!==a.icon.placed):(this.opacities[t]=new Ut(null,n,e.text,e.icon,e.skipFade),r=r||e.text||e.icon)}for(const t in i){const e=i[t];if(!this.opacities[t]){const i=new Ut(e,n,!1,!1);i.isHidden()||(this.opacities[t]=i,r=r||e.text.placed||e.icon.placed)}}for(const t in a)this.variableOffsets[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.variableOffsets[t]=a[t]);for(const t in o)this.placedOrientations[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.placedOrientations[t]=o[t]);if(e&&void 0===e.lastPlacementChangeTime)throw new Error("Last placement time for previous placement is not defined");r?this.lastPlacementChangeTime=t:"number"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t)}updateLayerOpacities(t,e){const r={};for(const n of e){const e=n.getBucket(t);e&&n.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,n.tileID,r,n.collisionBoxArray)}}updateBucketOpacities(t,r,n,i){t.hasTextData()&&(t.text.opacityVertexArray.clear(),t.text.hasVisibleVertices=!1),t.hasIconData()&&(t.icon.opacityVertexArray.clear(),t.icon.hasVisibleVertices=!1),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const a=t.layers[0],o=a.layout,s=new Ut(null,0,!1,!1,!0),l=o.get("text-allow-overlap"),c=o.get("icon-allow-overlap"),u=a._unevaluatedLayout.hasValue("text-variable-anchor")||a._unevaluatedLayout.hasValue("text-variable-anchor-offset"),h="map"===o.get("text-rotation-alignment"),f="map"===o.get("text-pitch-alignment"),p="none"!==o.get("icon-text-fit"),d=new Ut(null,0,l&&(c||!t.hasIconData()||o.get("icon-optional")),c&&(l||!t.hasTextData()||o.get("text-optional")),!0);!t.collisionArrays&&i&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(i);const m=(t,e,r)=>{for(let n=0;n0||o>0,x=i.numIconVertices>0,_=this.placedOrientations[i.crossTileID],b=_===e.ai.vertical,w=_===e.ai.horizontal||_===e.ai.horizontalOnly;if(v){const e=re(y.text),r=b?ne:e;m(t.text,a,r);const n=w?ne:e;m(t.text,o,n);const s=y.text.isHidden();[i.rightJustifiedTextSymbolIndex,i.centerJustifiedTextSymbolIndex,i.leftJustifiedTextSymbolIndex].forEach((e=>{e>=0&&(t.text.placedSymbolArray.get(e).hidden=s||b?1:0)})),i.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get(i.verticalPlacedTextSymbolIndex).hidden=s||w?1:0);const l=this.variableOffsets[i.crossTileID];l&&this.markUsedJustification(t,l.anchor,i,_);const c=this.placedOrientations[i.crossTileID];c&&(this.markUsedJustification(t,"left",i,c),this.markUsedOrientation(t,c,i))}if(x){const e=re(y.icon),r=!(p&&i.verticalPlacedIconSymbolIndex&&b);if(i.placedIconSymbolIndex>=0){const n=r?e:ne;m(t.icon,i.numIconVertices,n),t.icon.placedSymbolArray.get(i.placedIconSymbolIndex).hidden=y.icon.isHidden()}if(i.verticalPlacedIconSymbolIndex>=0){const n=r?ne:e;m(t.icon,i.numVerticalIconVertices,n),t.icon.placedSymbolArray.get(i.verticalPlacedIconSymbolIndex).hidden=y.icon.isHidden()}}const T=g&&g.has(r)?g.get(r):{text:null,icon:null};if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const n=t.collisionArrays[r];if(n){let r=new e.P(0,0);if(n.textBox||n.verticalTextBox){let e=!0;if(u){const t=this.variableOffsets[l];t?(r=Zt(t.anchor,t.width,t.height,t.textOffset,t.textBoxScale),h&&r._rotate(f?this.transform.angle:-this.transform.angle)):e=!1}if(n.textBox||n.verticalTextBox){let i;n.textBox&&(i=b),n.verticalTextBox&&(i=w),Yt(t.textCollisionBox.collisionVertexArray,y.text.placed,!e||i,T.text,r.x,r.y)}}if(n.iconBox||n.verticalIconBox){const e=Boolean(!w&&n.verticalIconBox);let i;n.iconBox&&(i=e),n.verticalIconBox&&(i=!e),Yt(t.iconCollisionBox.collisionVertexArray,y.icon.placed,i,T.icon,p?r.x:0,p?r.y:0)}}}}if(t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.text.opacityVertexArray.length!==t.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${t.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${t.text.layoutVertexArray.length}) / 4`);if(t.icon.opacityVertexArray.length!==t.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${t.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${t.icon.layoutVertexArray.length}) / 4`);if(t.bucketInstanceId in this.collisionCircleArrays){const e=this.collisionCircleArrays[t.bucketInstanceId];t.placementInvProjMatrix=e.invProjMatrix,t.placementViewportMatrix=e.viewportMatrix,t.collisionCircleArray=e.circles,delete this.collisionCircleArrays[t.bucketInstanceId]}}symbolFadeChange(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0}}function Yt(t,e,r,n,i,a){n&&0!==n.length||(n=[0,0,0,0]);const o=n[0]-Ft,s=n[1]-Ft,l=n[2]-Ft,c=n[3]-Ft;t.emplaceBack(e?1:0,r?1:0,i||0,a||0,o,s),t.emplaceBack(e?1:0,r?1:0,i||0,a||0,l,s),t.emplaceBack(e?1:0,r?1:0,i||0,a||0,l,c),t.emplaceBack(e?1:0,r?1:0,i||0,a||0,o,c)}const Xt=Math.pow(2,25),$t=Math.pow(2,24),Jt=Math.pow(2,17),Kt=Math.pow(2,16),Qt=Math.pow(2,9),te=Math.pow(2,8),ee=Math.pow(2,1);function re(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;const e=t.placed?1:0,r=Math.floor(127*t.opacity);return r*Xt+e*$t+r*Jt+e*Kt+r*Qt+e*te+r*ee+e}const ne=0;function ie(){return{isOccluded(t,e,r){return!1},getPitchedTextCorrection(t,e,r){return 1},get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(t,e,r,n){throw new Error("Not implemented.")},translatePosition(t,e,r,n){return function(t,e,r,n,i=!1){if(!r[0]&&!r[1])return[0,0];const a=i?"map"===n?t.angle:0:"viewport"===n?-t.angle:0;if(a){const t=Math.sin(a),e=Math.cos(a);r=[r[0]*e-r[1]*t,r[0]*t+r[1]*e]}return[i?r[0]:Nt(e,r[0],t.zoom),i?r[1]:Nt(e,r[1],t.zoom)]}(t,e,r,n)},getCircleRadiusCorrection(t){return 1}}}class ae{constructor(t){this._sortAcrossTiles="viewport-y"!==t.layout.get("symbol-z-order")&&!t.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(t,e,r,n,i){const a=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex!this._forceFullPlacement&&a.now()-n>2;for(;this._currentPlacementIndex>=0;){const n=e[t[this._currentPlacementIndex]],a=this.placement.collisionIndex.transform.zoom;if("symbol"===n.type&&(!n.minzoom||n.minzoom<=a)&&(!n.maxzoom||n.maxzoom>a)){if(this._inProgressLayer||(this._inProgressLayer=new ae(n)),this._inProgressLayer.continuePlacement(r[n.source],this.placement,this._showCollisionBoxes,n,i))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(t){return this.placement.commit(t),this.placement}}const se=512/e.X/2;class le{constructor(t,r,n){this.tileID=t,this.bucketInstanceId=n,this._symbolsByKey={};const i=new Map;for(let t=0;t({x:Math.floor(t.anchorX*se),y:Math.floor(t.anchorY*se)}))),crossTileIDs:r.map((t=>t.crossTileID))};if(n.positions.length>128){const t=new e.aw(n.positions.length,16,Uint16Array);for(const{x:e,y:r}of n.positions)t.add(e,r);t.finish(),delete n.positions,n.index=t}this._symbolsByKey[t]=n}}getScaledCoordinates(t,r){const{x:n,y:i,z:a}=this.tileID.canonical,{x:o,y:s,z:l}=r.canonical,c=l-a,u=se/Math.pow(2,c),h=(o*e.X+t.anchorX)*u,f=(s*e.X+t.anchorY)*u,p=n*e.X*se,d=i*e.X*se;return{x:Math.floor(h-p),y:Math.floor(f-d)}}findMatches(t,e,r){const n=this.tileID.canonical.zt))}}class ce{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class ue{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(t){const e=Math.round((t-this.lng)/360);if(0!==e)for(const t in this.indexes){const r=this.indexes[t],n={};for(const t in r){const i=r[t];i.tileID=i.tileID.unwrapTo(i.tileID.wrap+e),n[i.tileID.key]=i}this.indexes[t]=n}this.lng=t}addBucket(t,e,r){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(let t=0;tt.overscaledZ)for(const r in i){const a=i[r];a.tileID.isChildOf(t)&&a.findMatches(e.symbolInstances,t,n)}else{const a=i[t.scaledTo(Number(r)).key];a&&a.findMatches(e.symbolInstances,t,n)}}for(let t=0;t{e[t]=!0}));for(const t in this.layerIndexes)e[t]||delete this.layerIndexes[t]}}const fe=(t,r)=>e.t(t,r&&r.filter((t=>"source.canvas"!==t.identifier))),pe=e.ax();class de extends e.E{constructor(t,r={}){super(),this._rtlPluginLoaded=()=>{for(const t in this.sourceCaches){const e=this.sourceCaches[t].getSource().type;"vector"!==e&&"geojson"!==e||this.sourceCaches[t].reload()}},this.map=t,this.dispatcher=new q(V(),t._getMapId()),this.dispatcher.registerMessageHandler("GG",((t,e)=>this.getGlyphs(t,e))),this.dispatcher.registerMessageHandler("GI",((t,e)=>this.getImages(t,e))),this.imageManager=new k,this.imageManager.setEventedParent(this),this.glyphManager=new E(t._requestManager,r.localIdeographFontFamily),this.lineAtlas=new R(256,512),this.crossTileSymbolIndex=new he,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new e.ay,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",e.az()),ut().on(st,this._rtlPluginLoaded),this.on("data",(t=>{if("source"!==t.dataType||"metadata"!==t.sourceDataType)return;const e=this.sourceCaches[t.sourceId];if(!e)return;const r=e.getSource();if(r&&r.vectorLayerIds)for(const t in this._layers){const e=this._layers[t];e.source===r.id&&this._validateLayer(e)}}))}loadURL(t,r={},n){this.fire(new e.k("dataloading",{dataType:"style"})),r.validate="boolean"!=typeof r.validate||r.validate;const i=this.map._requestManager.transformRequest(t,"Style");this._loadStyleRequest=new AbortController;const a=this._loadStyleRequest;e.h(i,this._loadStyleRequest).then((t=>{this._loadStyleRequest=null,this._load(t.data,r,n)})).catch((t=>{this._loadStyleRequest=null,t&&!a.signal.aborted&&this.fire(new e.j(t))}))}loadJSON(t,r={},n){this.fire(new e.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,a.frameAsync(this._frameRequest).then((()=>{this._frameRequest=null,r.validate=!1!==r.validate,this._load(t,r,n)})).catch((()=>{}))}loadEmpty(){this.fire(new e.k("dataloading",{dataType:"style"})),this._load(pe,{validate:!1})}_load(t,r,n){var i;const a=r.transformStyle?r.transformStyle(n,t):t;if(!r.validate||!fe(this,e.x(a))){this._loaded=!0,this.stylesheet=a;for(const t in a.sources)this.addSource(t,a.sources[t],{validate:!1});a.sprite?this._loadSprite(a.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(a.glyphs),this._createLayers(),this.light=new P(this.stylesheet.light),this.sky=new D(this.stylesheet.sky),this.map.setTerrain(null!==(i=this.stylesheet.terrain)&&void 0!==i?i:null),this.fire(new e.k("data",{dataType:"style"})),this.fire(new e.k("style.load"))}}_createLayers(){const t=e.aA(this.stylesheet.layers);this.dispatcher.broadcast("SL",t),this._order=t.map((t=>t.id)),this._layers={},this._serializedLayers=null;for(const r of t){const t=e.aB(r);t.setEventedParent(this,{layer:{id:r.id}}),this._layers[r.id]=t}}_loadSprite(t,r=!1,n=void 0){let i;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,b(t,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((t=>{if(this._spriteRequest=null,t)for(const e in t){this._spritesImagesIds[e]=[];const n=this._spritesImagesIds[e]?this._spritesImagesIds[e].filter((e=>!(e in t))):[];for(const t of n)this.imageManager.removeImage(t),this._changedImages[t]=!0;for(const n in t[e]){const i="default"===e?n:`${e}:${n}`;this._spritesImagesIds[e].push(i),i in this.imageManager.images?this.imageManager.updateImage(i,t[e][n],!1):this.imageManager.addImage(i,t[e][n]),r&&(this._changedImages[i]=!0)}}})).catch((t=>{this._spriteRequest=null,i=t,this.fire(new e.j(i))})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),r&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"})),n&&n(i)}))}_unloadSprite(){for(const t of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(t),this._changedImages[t]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}_validateLayer(t){const r=this.sourceCaches[t.source];if(!r)return;const n=t.sourceLayer;if(!n)return;const i=r.getSource();("geojson"===i.type||i.vectorLayerIds&&-1===i.vectorLayerIds.indexOf(n))&&this.fire(new e.j(new Error(`Source layer "${n}" does not exist on source "${i.id}" as specified by style layer "${t.id}".`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(t){const e=this._serializedAllLayers();if(!t||0===t.length)return Object.values(e);const r=[];for(const n of t)e[n]&&r.push(e[n]);return r}_serializedAllLayers(){let t=this._serializedLayers;if(t)return t;t=this._serializedLayers={};const e=Object.keys(this._layers);for(const r of e){const e=this._layers[r];"custom"!==e.type&&(t[r]=e.serialize())}return t}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;if(this.sky&&this.sky.hasTransition())return!0;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(const t in this._layers)if(this._layers[t].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(t){if(!this._loaded)return;const r=this._changed;if(r){const e=Object.keys(this._updatedLayers),r=Object.keys(this._removedLayers);(e.length||r.length)&&this._updateWorkerLayers(e,r);for(const t in this._updatedSources){const e=this._updatedSources[t];if("reload"===e)this._reloadSource(t);else{if("clear"!==e)throw new Error(`Invalid action ${e}`);this._clearSource(t)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(const e in this._updatedPaintProps)this._layers[e].updateTransitions(t);this.light.updateTransitions(t),this.sky.updateTransitions(t),this._resetUpdates()}const n={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];n[t]=e.used,e.used=!1}for(const e of this._order){const r=this._layers[e];r.recalculate(t,this._availableImages),!r.isHidden(t.zoom)&&r.source&&(this.sourceCaches[r.source].used=!0)}for(const t in n){const r=this.sourceCaches[t];!!n[t]!=!!r.used&&r.fire(new e.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:t}))}this.light.recalculate(t),this.sky.recalculate(t),this.z=t.zoom,r&&this.fire(new e.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(t,e){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(t),removedIds:e})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(t,r={}){var n;this._checkLoaded();const i=this.serialize();if(t=r.transformStyle?r.transformStyle(i,t):t,(null===(n=r.validate)||void 0===n||n)&&fe(this,e.x(t)))return!1;(t=e.aC(t)).layers=e.aA(t.layers);const a=e.aD(i,t),o=this._getOperationsToPerform(a);if(o.unimplemented.length>0)throw new Error(`Unimplemented: ${o.unimplemented.join(", ")}.`);if(0===o.operations.length)return!1;for(const t of o.operations)t();return this.stylesheet=t,this._serializedLayers=null,!0}_getOperationsToPerform(t){const e=[],r=[];for(const n of t)switch(n.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":e.push((()=>this.addLayer.apply(this,n.args)));break;case"removeLayer":e.push((()=>this.removeLayer.apply(this,n.args)));break;case"setPaintProperty":e.push((()=>this.setPaintProperty.apply(this,n.args)));break;case"setLayoutProperty":e.push((()=>this.setLayoutProperty.apply(this,n.args)));break;case"setFilter":e.push((()=>this.setFilter.apply(this,n.args)));break;case"addSource":e.push((()=>this.addSource.apply(this,n.args)));break;case"removeSource":e.push((()=>this.removeSource.apply(this,n.args)));break;case"setLayerZoomRange":e.push((()=>this.setLayerZoomRange.apply(this,n.args)));break;case"setLight":e.push((()=>this.setLight.apply(this,n.args)));break;case"setGeoJSONSourceData":e.push((()=>this.setGeoJSONSourceData.apply(this,n.args)));break;case"setGlyphs":e.push((()=>this.setGlyphs.apply(this,n.args)));break;case"setSprite":e.push((()=>this.setSprite.apply(this,n.args)));break;case"setSky":e.push((()=>this.setSky.apply(this,n.args)));break;case"setTerrain":e.push((()=>this.map.setTerrain.apply(this,n.args)));break;case"setTransition":e.push((()=>{}));break;default:r.push(n.command)}return{operations:e,unimplemented:r}}addImage(t,r){if(this.getImage(t))return this.fire(new e.j(new Error(`An image named "${t}" already exists.`)));this.imageManager.addImage(t,r),this._afterImageUpdated(t)}updateImage(t,e){this.imageManager.updateImage(t,e)}getImage(t){return this.imageManager.getImage(t)}removeImage(t){if(!this.getImage(t))return this.fire(new e.j(new Error(`An image named "${t}" does not exist.`)));this.imageManager.removeImage(t),this._afterImageUpdated(t)}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(t,r,n={}){if(this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error(`Source "${t}" already exists.`);if(!r.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(r).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(r.type)>=0&&this._validate(e.x.source,`sources.${t}`,r,null,n))return;this.map&&this.map._collectResourceTiming&&(r.collectResourceTiming=!0);const i=this.sourceCaches[t]=new dt(t,r,this.dispatcher);i.style=this,i.setEventedParent(this,(()=>({isSourceLoaded:i.loaded(),source:i.serialize(),sourceId:t}))),i.onAdd(this.map),this._changed=!0}removeSource(t){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error("There is no source with this ID");for(const r in this._layers)if(this._layers[r].source===t)return this.fire(new e.j(new Error(`Source "${t}" cannot be removed while layer "${r}" is using it.`)));const r=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],r.fire(new e.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:t})),r.setEventedParent(null),r.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(t,e){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(`There is no source with this ID=${t}`);const r=this.sourceCaches[t].getSource();if("geojson"!==r.type)throw new Error(`geojsonSource.type is ${r.type}, which is !== 'geojson`);r.setData(e),this._changed=!0}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(t,r,n={}){this._checkLoaded();const i=t.id;if(this.getLayer(i))return void this.fire(new e.j(new Error(`Layer "${i}" already exists on this map.`)));let a;if("custom"===t.type){if(fe(this,e.aE(t)))return;a=e.aB(t)}else{if("source"in t&&"object"==typeof t.source&&(this.addSource(i,t.source),t=e.aC(t),t=e.e(t,{source:i})),this._validate(e.x.layer,`layers.${i}`,t,{arrayIndex:-1},n))return;a=e.aB(t),this._validateLayer(a),a.setEventedParent(this,{layer:{id:i}})}const o=r?this._order.indexOf(r):this._order.length;if(r&&-1===o)this.fire(new e.j(new Error(`Cannot add layer "${i}" before non-existing layer "${r}".`)));else{if(this._order.splice(o,0,i),this._layerOrderChanged=!0,this._layers[i]=a,this._removedLayers[i]&&a.source&&"custom"!==a.type){const t=this._removedLayers[i];delete this._removedLayers[i],t.type!==a.type?this._updatedSources[a.source]="clear":(this._updatedSources[a.source]="reload",this.sourceCaches[a.source].pause())}this._updateLayer(a),a.onAdd&&a.onAdd(this.map)}}moveLayer(t,r){if(this._checkLoaded(),this._changed=!0,!this._layers[t])return void this.fire(new e.j(new Error(`The layer '${t}' does not exist in the map's style and cannot be moved.`)));if(t===r)return;const n=this._order.indexOf(t);this._order.splice(n,1);const i=r?this._order.indexOf(r):this._order.length;r&&-1===i?this.fire(new e.j(new Error(`Cannot move layer "${t}" before non-existing layer "${r}".`))):(this._order.splice(i,0,t),this._layerOrderChanged=!0)}removeLayer(t){this._checkLoaded();const r=this._layers[t];if(!r)return void this.fire(new e.j(new Error(`Cannot remove non-existing layer "${t}".`)));r.setEventedParent(null);const n=this._order.indexOf(t);this._order.splice(n,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=r,delete this._layers[t],this._serializedLayers&&delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],r.onRemove&&r.onRemove(this.map)}getLayer(t){return this._layers[t]}getLayersOrder(){return[...this._order]}hasLayer(t){return t in this._layers}setLayerZoomRange(t,r,n){this._checkLoaded();const i=this.getLayer(t);i?i.minzoom===r&&i.maxzoom===n||(null!=r&&(i.minzoom=r),null!=n&&(i.maxzoom=n),this._updateLayer(i)):this.fire(new e.j(new Error(`Cannot set the zoom range of non-existing layer "${t}".`)))}setFilter(t,r,n={}){this._checkLoaded();const i=this.getLayer(t);if(i){if(!e.aF(i.filter,r))return null==r?(i.filter=void 0,void this._updateLayer(i)):void(this._validate(e.x.filter,`layers.${i.id}.filter`,r,null,n)||(i.filter=e.aC(r),this._updateLayer(i)))}else this.fire(new e.j(new Error(`Cannot filter non-existing layer "${t}".`)))}getFilter(t){return e.aC(this.getLayer(t).filter)}setLayoutProperty(t,r,n,i={}){this._checkLoaded();const a=this.getLayer(t);a?e.aF(a.getLayoutProperty(r),n)||(a.setLayoutProperty(r,n,i),this._updateLayer(a)):this.fire(new e.j(new Error(`Cannot style non-existing layer "${t}".`)))}getLayoutProperty(t,r){const n=this.getLayer(t);if(n)return n.getLayoutProperty(r);this.fire(new e.j(new Error(`Cannot get style of non-existing layer "${t}".`)))}setPaintProperty(t,r,n,i={}){this._checkLoaded();const a=this.getLayer(t);a?e.aF(a.getPaintProperty(r),n)||(a.setPaintProperty(r,n,i)&&this._updateLayer(a),this._changed=!0,this._updatedPaintProps[t]=!0,this._serializedLayers=null):this.fire(new e.j(new Error(`Cannot style non-existing layer "${t}".`)))}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(t,r){this._checkLoaded();const n=t.source,i=t.sourceLayer,a=this.sourceCaches[n];if(void 0===a)return void this.fire(new e.j(new Error(`The source '${n}' does not exist in the map's style.`)));const o=a.getSource().type;"geojson"===o&&i?this.fire(new e.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):"vector"!==o||i?(void 0===t.id&&this.fire(new e.j(new Error("The feature id parameter must be provided."))),a.setFeatureState(i,t.id,r)):this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(t,r){this._checkLoaded();const n=t.source,i=this.sourceCaches[n];if(void 0===i)return void this.fire(new e.j(new Error(`The source '${n}' does not exist in the map's style.`)));const a=i.getSource().type,o="vector"===a?t.sourceLayer:void 0;"vector"!==a||o?r&&"string"!=typeof t.id&&"number"!=typeof t.id?this.fire(new e.j(new Error("A feature id is required to remove its specific state property."))):i.removeFeatureState(o,t.id,r):this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(t){this._checkLoaded();const r=t.source,n=t.sourceLayer,i=this.sourceCaches[r];if(void 0!==i)return"vector"!==i.getSource().type||n?(void 0===t.id&&this.fire(new e.j(new Error("The feature id parameter must be provided."))),i.getFeatureState(n,t.id)):void this.fire(new e.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new e.j(new Error(`The source '${r}' does not exist in the map's style.`)))}getTransition(){return e.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const t=e.aG(this.sourceCaches,(t=>t.serialize())),r=this._serializeByIds(this._order),n=this.map.getTerrain()||void 0,i=this.stylesheet;return e.aH({version:i.version,name:i.name,metadata:i.metadata,light:i.light,sky:i.sky,center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch,sprite:i.sprite,glyphs:i.glyphs,transition:i.transition,sources:t,layers:r,terrain:n},(t=>void 0!==t))}_updateLayer(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&"raster"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(t){const e=t=>"fill-extrusion"===this._layers[t].type,r={},n=[];for(let i=this._order.length-1;i>=0;i--){const a=this._order[i];if(e(a)){r[a]=i;for(const e of t){const t=e[a];if(t)for(const e of t)n.push(e)}}}n.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const i=[];for(let a=this._order.length-1;a>=0;a--){const o=this._order[a];if(e(o))for(let t=n.length-1;t>=0;t--){const e=n[t].feature;if(r[e.layer.id]{const n=r.featureSortOrder;if(n){const r=n.indexOf(t.featureIndex);return n.indexOf(e.featureIndex)-r}return e.featureIndex-t.featureIndex}));for(const t of i)e.push(t)}}for(const e in s)s[e].forEach((n=>{const i=n.feature,a=t[e],o=r[a.source].getFeatureState(i.layer["source-layer"],i.id);i.source=i.layer.source,i.layer["source-layer"]&&(i.sourceLayer=i.layer["source-layer"]),i.state=o}));return s}(this._layers,o,this.sourceCaches,t,r,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(a)}querySourceFeatures(t,r){r&&r.filter&&this._validate(e.x.filter,"querySourceFeatures.filter",r.filter,null,r);const n=this.sourceCaches[t];return n?function(t,e){const r=t.getRenderableIds().map((e=>t.getTileByID(e))),n=[],i={};for(let t=0;tt.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)))}const n=this.crossTileSymbolIndex.addLayer(r,l[r.source],t.center.lng);o=o||n}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((i=i||this._layerOrderChanged||0===r)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(a.now(),t.zoom))&&(this.pauseablePlacement=new oe(t,this.map.terrain,this._order,i,e,r,n,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(a.now()),s=!0),o&&this.pauseablePlacement.placement.setStale()),s||o)for(const t of this._order){const e=this._layers[t];"symbol"===e.type&&this.placement.updateLayerOpacities(e,l[e.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(a.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()}getImages(t,r){return e._(this,void 0,void 0,(function*(){const t=yield this.imageManager.getImages(r.icons);this._updateTilesForChangedImages();const e=this.sourceCaches[r.source];return e&&e.setDependencies(r.tileID.key,r.type,r.icons),t}))}getGlyphs(t,r){return e._(this,void 0,void 0,(function*(){const t=yield this.glyphManager.getGlyphs(r.stacks),e=this.sourceCaches[r.source];return e&&e.setDependencies(r.tileID.key,r.type,[""]),t}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(t,r={}){this._checkLoaded(),t&&this._validate(e.x.glyphs,"glyphs",t,null,r)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=t,this.glyphManager.entries={},this.glyphManager.setURL(t))}addSprite(t,r,n={},i){this._checkLoaded();const a=[{id:t,url:r}],o=[...x(this.stylesheet.sprite),...a];this._validate(e.x.sprite,"sprite",o,null,n)||(this.stylesheet.sprite=o,this._loadSprite(a,!0,i))}removeSprite(t){this._checkLoaded();const r=x(this.stylesheet.sprite);if(r.find((e=>e.id===t))){if(this._spritesImagesIds[t])for(const e of this._spritesImagesIds[t])this.imageManager.removeImage(e),this._changedImages[e]=!0;r.splice(r.findIndex((e=>e.id===t)),1),this.stylesheet.sprite=r.length>0?r:void 0,delete this._spritesImagesIds[t],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new e.k("data",{dataType:"style"}))}else this.fire(new e.j(new Error(`Sprite "${t}" doesn't exists on this map.`)))}getSprite(){return x(this.stylesheet.sprite)}setSprite(t,r={},n){this._checkLoaded(),t&&this._validate(e.x.sprite,"sprite",t,null,r)||(this.stylesheet.sprite=t,t?this._loadSprite(t,!0,n):(this._unloadSprite(),n&&n(null)))}}var me=e.Y([{name:"a_pos",type:"Int16",components:2}]);const ge={prelude:ye("#ifdef GL_ES\nprecision mediump float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\n","#ifdef GL_ES\nprecision highp float;\n#else\n#if !defined(lowp)\n#define lowp\n#endif\n#if !defined(mediump)\n#define mediump\n#endif\n#if !defined(highp)\n#define highp\n#endif\n#endif\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\n#ifdef TERRAIN3D\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\n#endif\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\n#ifdef TERRAIN3D\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\n#else\nreturn 1.0;\n#endif\n}float calculate_visibility(vec4 pos) {\n#ifdef TERRAIN3D\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\n#else\nreturn 1.0;\n#endif\n}float ele(vec2 pos) {\n#ifdef TERRAIN3D\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\n#else\nreturn 0.0;\n#endif\n}float get_elevation(vec2 pos) {\n#ifdef TERRAIN3D\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\n#else\nreturn 0.0;\n#endif\n}"),background:ye("uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:ye("uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:ye("varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define mediump float radius\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define highp vec4 stroke_color\n#pragma mapbox: define mediump float stroke_width\n#pragma mapbox: define lowp float stroke_opacity\nvoid main(void) {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize mediump float radius\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize highp vec4 stroke_color\n#pragma mapbox: initialize mediump float stroke_width\n#pragma mapbox: initialize lowp float stroke_opacity\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}"),clippingMask:ye("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:ye("uniform highp float u_intensity;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#define GAUSS_COEF 0.3989422804014327\nvoid main() {\n#pragma mapbox: initialize highp float weight\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\n#pragma mapbox: define highp float weight\n#pragma mapbox: define mediump float radius\nconst highp float ZERO=1.0/255.0/16.0;\n#define GAUSS_COEF 0.3989422804014327\nvoid main(void) {\n#pragma mapbox: initialize highp float weight\n#pragma mapbox: initialize mediump float radius\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}"),heatmapTexture:ye("uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(0.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:ye("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:ye("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:ye("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}"),fill:ye("#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_FragColor=color*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);}"),fillOutline:ye("varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\n#pragma mapbox: define highp vec4 outline_color\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 outline_color\n#pragma mapbox: initialize lowp float opacity\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),fillOutlinePattern:ye("uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}"),fillPattern:ye("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}"),fillExtrusion:ye("varying vec4 v_color;void main() {gl_FragColor=v_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec4 v_color;\n#pragma mapbox: define highp float base\n#pragma mapbox: define highp float height\n#pragma mapbox: define highp vec4 color\nvoid main() {\n#pragma mapbox: initialize highp float base\n#pragma mapbox: initialize highp float height\n#pragma mapbox: initialize highp vec4 color\nvec3 normal=a_normal_ed.xyz;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}"),fillExtrusionPattern:ye("uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\n#ifdef TERRAIN3D\nattribute vec2 a_centroid;\n#endif\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\n#pragma mapbox: define lowp float base\n#pragma mapbox: define lowp float height\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float base\n#pragma mapbox: initialize lowp float height\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\n#ifdef TERRAIN3D\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\n#else\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\n#endif\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\n? a_pos\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}"),hillshadePrepare:ye("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:ye("uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\n#define PI 3.141592653589793\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),line:ye("uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}"),lineGradient:ye("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_width2=vec2(outset,inset);}"),linePattern:ye("#ifdef GL_ES\nprecision highp float;\n#endif\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\n#pragma mapbox: define lowp vec4 pattern_from\n#pragma mapbox: define lowp vec4 pattern_to\n#pragma mapbox: define lowp float pixel_ratio_from\n#pragma mapbox: define lowp float pixel_ratio_to\nvoid main() {\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\n#pragma mapbox: initialize mediump vec4 pattern_from\n#pragma mapbox: initialize mediump vec4 pattern_to\n#pragma mapbox: initialize lowp float pixel_ratio_from\n#pragma mapbox: initialize lowp float pixel_ratio_to\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}"),lineSDF:ye("uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","\n#define scale 0.015873016\n#define LINE_DISTANCE_SCALE 2.0\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\n#pragma mapbox: define highp vec4 color\n#pragma mapbox: define lowp float blur\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define mediump float gapwidth\n#pragma mapbox: define lowp float offset\n#pragma mapbox: define mediump float width\n#pragma mapbox: define lowp float floorwidth\nvoid main() {\n#pragma mapbox: initialize highp vec4 color\n#pragma mapbox: initialize lowp float blur\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize mediump float gapwidth\n#pragma mapbox: initialize lowp float offset\n#pragma mapbox: initialize mediump float width\n#pragma mapbox: initialize lowp float floorwidth\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\n#ifdef TERRAIN3D\nv_gamma_scale=1.0;\n#else\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\n#endif\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}"),raster:ye("uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),symbolIcon:ye("uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define lowp float opacity\nvoid main() {\n#pragma mapbox: initialize lowp float opacity\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}"),symbolSDF:ye("#define SDF_PX 8.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}"),symbolTextAndIcon:ye("#define SDF_PX 8.0\n#define SDF 1.0\n#define ICON 0.0\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\n#ifdef OVERDRAW_INSPECTOR\ngl_FragColor=vec4(1.0);\n#endif\n}","attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\n#pragma mapbox: define highp vec4 fill_color\n#pragma mapbox: define highp vec4 halo_color\n#pragma mapbox: define lowp float opacity\n#pragma mapbox: define lowp float halo_width\n#pragma mapbox: define lowp float halo_blur\nvoid main() {\n#pragma mapbox: initialize highp vec4 fill_color\n#pragma mapbox: initialize highp vec4 halo_color\n#pragma mapbox: initialize lowp float opacity\n#pragma mapbox: initialize lowp float halo_width\n#pragma mapbox: initialize lowp float halo_blur\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\ncamera_to_anchor_distance/u_camera_to_center_distance :\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}"),terrain:ye("uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}"),terrainDepth:ye("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}"),terrainCoords:ye("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}"),sky:ye("uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}","attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}")};function ye(t,e){const r=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,n=e.match(/attribute ([\w]+) ([\w]+)/g),i=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),a=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),o=a?a.concat(i):i,s={};return{fragmentSource:t=t.replace(r,((t,e,r,n,i)=>(s[i]=!0,"define"===e?`\n#ifndef HAS_UNIFORM_u_${i}\nvarying ${r} ${n} ${i};\n#else\nuniform ${r} ${n} u_${i};\n#endif\n`:`\n#ifdef HAS_UNIFORM_u_${i}\n ${r} ${n} ${i} = u_${i};\n#endif\n`))),vertexSource:e=e.replace(r,((t,e,r,n,i)=>{const a="float"===n?"vec2":"vec4",o=i.match(/color/)?"color":a;return s[i]?"define"===e?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nattribute ${r} ${a} a_${i};\nvarying ${r} ${n} ${i};\n#else\nuniform ${r} ${n} u_${i};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${i}\n ${i} = a_${i};\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`:"define"===e?`\n#ifndef HAS_UNIFORM_u_${i}\nuniform lowp float u_${i}_t;\nattribute ${r} ${a} a_${i};\n#else\nuniform ${r} ${n} u_${i};\n#endif\n`:"vec4"===o?`\n#ifndef HAS_UNIFORM_u_${i}\n ${r} ${n} ${i} = a_${i};\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`:`\n#ifndef HAS_UNIFORM_u_${i}\n ${r} ${n} ${i} = unpack_mix_${o}(a_${i}, u_${i}_t);\n#else\n ${r} ${n} ${i} = u_${i};\n#endif\n`})),staticAttributes:n,staticUniforms:o}}class ve{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(t,e,r,n,i,a,o,s,l){this.context=t;let c=this.boundPaintVertexBuffers.length!==n.length;for(let t=0;!c&&t({u_matrix:t,u_texture:0,u_ele_delta:r,u_fog_matrix:n,u_fog_color:i?i.properties.get("fog-color"):e.aN.white,u_fog_ground_blend:i?i.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:i?i.calculateFogBlendOpacity(a):0,u_horizon_color:i?i.properties.get("horizon-color"):e.aN.white,u_horizon_fog_blend:i?i.properties.get("horizon-fog-blend"):1});function _e(t){const e=[];for(let r=0;r({u_depth:new e.aI(t,r.u_depth),u_terrain:new e.aI(t,r.u_terrain),u_terrain_dim:new e.aJ(t,r.u_terrain_dim),u_terrain_matrix:new e.aK(t,r.u_terrain_matrix),u_terrain_unpack:new e.aL(t,r.u_terrain_unpack),u_terrain_exaggeration:new e.aJ(t,r.u_terrain_exaggeration)}))(t,b),this.binderUniforms=n?n.getUniforms(t,b):[]}draw(t,e,r,n,i,a,o,s,l,c,u,h,f,p,d,m,g,y){const v=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(r),t.setStencilMode(n),t.setColorMode(i),t.setCullFace(a),s){t.activeTexture.set(v.TEXTURE2),v.bindTexture(v.TEXTURE_2D,s.depthTexture),t.activeTexture.set(v.TEXTURE3),v.bindTexture(v.TEXTURE_2D,s.texture);for(const t in this.terrainUniforms)this.terrainUniforms[t].set(s[t])}for(const t in this.fixedUniforms)this.fixedUniforms[t].set(o[t]);d&&d.setUniforms(t,this.binderUniforms,f,{zoom:p});let x=0;switch(e){case v.LINES:x=2;break;case v.TRIANGLES:x=3;break;case v.LINE_STRIP:x=1}for(const r of h.get()){const n=r.vaos||(r.vaos={});(n[l]||(n[l]=new ve)).bind(t,this,c,d?d.getPaintVertexBuffers():[],u,r.vertexOffset,m,g,y),v.drawElements(e,r.primitiveLength*x,v.UNSIGNED_SHORT,r.primitiveOffset*x*2)}}}function we(t,e,r){const n=1/Nt(r,1,e.transform.tileZoom),i=Math.pow(2,r.tileID.overscaledZ),a=r.tileSize*Math.pow(2,e.transform.tileZoom)/i,o=a*(r.tileID.canonical.x+r.tileID.wrap*i),s=a*r.tileID.canonical.y;return{u_image:0,u_texsize:r.imageAtlasTexture.size,u_scale:[n,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[o>>16,s>>16],u_pixel_coord_lower:[65535&o,65535&s]}}const Te=(t,r,n,i)=>{const a=r.style.light,o=a.properties.get("position"),s=[o.x,o.y,o.z],l=function(){var t=new e.A(9);return e.A!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}();"viewport"===a.properties.get("anchor")&&function(t,e){var r=Math.sin(e),n=Math.cos(e);t[0]=n,t[1]=r,t[2]=0,t[3]=-r,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1}(l,-r.transform.angle),function(t,e,r){var n=e[0],i=e[1],a=e[2];t[0]=n*r[0]+i*r[3]+a*r[6],t[1]=n*r[1]+i*r[4]+a*r[7],t[2]=n*r[2]+i*r[5]+a*r[8]}(s,s,l);const c=a.properties.get("color");return{u_matrix:t,u_lightpos:s,u_lightintensity:a.properties.get("intensity"),u_lightcolor:[c.r,c.g,c.b],u_vertical_gradient:+n,u_opacity:i}},ke=(t,r,n,i,a,o,s)=>e.e(Te(t,r,n,i),we(o,r,s),{u_height_factor:-Math.pow(2,a.overscaledZ)/s.tileSize/8}),Ae=t=>({u_matrix:t}),Me=(t,r,n,i)=>e.e(Ae(t),we(n,r,i)),Se=(t,e)=>({u_matrix:t,u_world:e}),Ee=(t,r,n,i,a)=>e.e(Me(t,r,n,i),{u_world:a}),Ce=(t,e,r,n)=>{const i=t.transform;let a,o;if("map"===n.paint.get("circle-pitch-alignment")){const t=Nt(r,1,i.zoom);a=!0,o=[t,t]}else a=!1,o=i.pixelsToGLUnits;return{u_camera_to_center_distance:i.cameraToCenterDistance,u_scale_with_map:+("map"===n.paint.get("circle-pitch-scale")),u_matrix:t.translatePosMatrix(e.posMatrix,r,n.paint.get("circle-translate"),n.paint.get("circle-translate-anchor")),u_pitch_with_map:+a,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:o}},Le=(t,e)=>({u_matrix:e,u_pixel_extrude_scale:[1/t.width,1/t.height]}),Ie=(t,e,r)=>({u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:r.cameraToCenterDistance,u_viewport_size:[r.width,r.height]}),Pe=(t,e,r=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:r}),ze=t=>({u_matrix:t}),Oe=(t,e,r,n)=>({u_matrix:t,u_extrude_scale:Nt(e,1,r),u_intensity:n}),De=(t,r,n,i)=>{const a=e.H();e.aQ(a,0,t.width,t.height,0,0,1);const o=t.context.gl;return{u_matrix:a,u_world:[o.drawingBufferWidth,o.drawingBufferHeight],u_image:n,u_color_ramp:i,u_opacity:r.paint.get("heatmap-opacity")}},Re=(t,e,r,n)=>{const i=r.paint.get("hillshade-shadow-color"),a=r.paint.get("hillshade-highlight-color"),o=r.paint.get("hillshade-accent-color");let s=r.paint.get("hillshade-illumination-direction")*(Math.PI/180);"viewport"===r.paint.get("hillshade-illumination-anchor")&&(s-=t.transform.angle);const l=!t.options.moving;return{u_matrix:n?n.posMatrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:Be(0,e.tileID),u_light:[r.paint.get("hillshade-exaggeration"),s],u_shadow:i,u_highlight:a,u_accent:o}},Fe=(t,r)=>{const n=r.stride,i=e.H();return e.aQ(i,0,e.X,-e.X,0,0,1),e.J(i,i,[0,-e.X,0]),{u_matrix:i,u_image:1,u_dimension:[n,n],u_zoom:t.overscaledZ,u_unpack:r.getUnpackVector()}};function Be(t,r){const n=Math.pow(2,r.canonical.z),i=r.canonical.y;return[new e.Z(0,i/n).toLngLat().lat,new e.Z(0,(i+1)/n).toLngLat().lat]}const Ne=(t,e,r,n)=>{const i=t.transform;return{u_matrix:He(t,e,r,n),u_ratio:1/Nt(e,1,i.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/i.pixelsToGLUnits[0],1/i.pixelsToGLUnits[1]]}},je=(t,r,n,i,a)=>e.e(Ne(t,r,n,a),{u_image:0,u_image_height:i}),Ue=(t,e,r,n,i)=>{const a=t.transform,o=qe(e,a);return{u_matrix:He(t,e,r,i),u_texsize:e.imageAtlasTexture.size,u_ratio:1/Nt(e,1,a.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[o,n.fromScale,n.toScale],u_fade:n.t,u_units_to_pixels:[1/a.pixelsToGLUnits[0],1/a.pixelsToGLUnits[1]]}},Ve=(t,r,n,i,a,o)=>{const s=t.transform,l=t.lineAtlas,c=qe(r,s),u="round"===n.layout.get("line-cap"),h=l.getDash(i.from,u),f=l.getDash(i.to,u),p=h.width*a.fromScale,d=f.width*a.toScale;return e.e(Ne(t,r,n,o),{u_patternscale_a:[c/p,-h.height/2],u_patternscale_b:[c/d,-f.height/2],u_sdfgamma:l.width/(256*Math.min(p,d)*t.pixelRatio)/2,u_image:0,u_tex_y_a:h.y,u_tex_y_b:f.y,u_mix:a.t})};function qe(t,e){return 1/Nt(t,1,e.tileZoom)}function He(t,e,r,n){return t.translatePosMatrix(n?n.posMatrix:e.tileID.posMatrix,e,r.paint.get("line-translate"),r.paint.get("line-translate-anchor"))}const Ge=(t,e,r,n,i)=>{return{u_matrix:t,u_tl_parent:e,u_scale_parent:r,u_buffer_scale:1,u_fade_t:n.mix,u_opacity:n.opacity*i.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:i.paint.get("raster-brightness-min"),u_brightness_high:i.paint.get("raster-brightness-max"),u_saturation_factor:(o=i.paint.get("raster-saturation"),o>0?1-1/(1.001-o):-o),u_contrast_factor:(a=i.paint.get("raster-contrast"),a>0?1/(1-a):1+a),u_spin_weights:Ze(i.paint.get("raster-hue-rotate"))};var a,o};function Ze(t){t*=Math.PI/180;const e=Math.sin(t),r=Math.cos(t);return[(2*r+1)/3,(-Math.sqrt(3)*e-r+1)/3,(Math.sqrt(3)*e-r+1)/3]}const We=(t,e,r,n,i,a,o,s,l,c,u,h,f,p)=>{const d=o.transform;return{u_is_size_zoom_constant:+("constant"===t||"source"===t),u_is_size_feature_constant:+("constant"===t||"camera"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:d.cameraToCenterDistance,u_pitch:d.pitch/360*2*Math.PI,u_rotate_symbol:+r,u_aspect_ratio:d.width/d.height,u_fade_change:o.options.fadeDuration?o.symbolFadeChange:1,u_matrix:s,u_label_plane_matrix:l,u_coord_matrix:c,u_is_text:+h,u_pitch_with_map:+n,u_is_along_line:i,u_is_variable_anchor:a,u_texsize:f,u_texture:0,u_translation:u,u_pitched_scale:p}},Ye=(t,r,n,i,a,o,s,l,c,u,h,f,p,d,m)=>{const g=s.transform;return e.e(We(t,r,n,i,a,o,s,l,c,u,h,f,p,m),{u_gamma_scale:i?Math.cos(g._pitch)*g.cameraToCenterDistance:1,u_device_pixel_ratio:s.pixelRatio,u_is_halo:+d})},Xe=(t,r,n,i,a,o,s,l,c,u,h,f,p,d)=>e.e(Ye(t,r,n,i,a,o,s,l,c,u,h,!0,f,!0,d),{u_texsize_icon:p,u_texture_icon:1}),$e=(t,e,r)=>({u_matrix:t,u_opacity:e,u_color:r}),Je=(t,r,n,i,a,o)=>e.e(function(t,e,r,n){const i=r.imageManager.getPattern(t.from.toString()),a=r.imageManager.getPattern(t.to.toString()),{width:o,height:s}=r.imageManager.getPixelSize(),l=Math.pow(2,n.tileID.overscaledZ),c=n.tileSize*Math.pow(2,r.transform.tileZoom)/l,u=c*(n.tileID.canonical.x+n.tileID.wrap*l),h=c*n.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:i.tl,u_pattern_br_a:i.br,u_pattern_tl_b:a.tl,u_pattern_br_b:a.br,u_texsize:[o,s],u_mix:e.t,u_pattern_size_a:i.displaySize,u_pattern_size_b:a.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/Nt(n,1,r.transform.tileZoom),u_pixel_coord_upper:[u>>16,h>>16],u_pixel_coord_lower:[65535&u,65535&h]}}(i,o,n,a),{u_matrix:t,u_opacity:r}),Ke={fillExtrusion:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_lightpos:new e.aO(t,r.u_lightpos),u_lightintensity:new e.aJ(t,r.u_lightintensity),u_lightcolor:new e.aO(t,r.u_lightcolor),u_vertical_gradient:new e.aJ(t,r.u_vertical_gradient),u_opacity:new e.aJ(t,r.u_opacity)}),fillExtrusionPattern:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_lightpos:new e.aO(t,r.u_lightpos),u_lightintensity:new e.aJ(t,r.u_lightintensity),u_lightcolor:new e.aO(t,r.u_lightcolor),u_vertical_gradient:new e.aJ(t,r.u_vertical_gradient),u_height_factor:new e.aJ(t,r.u_height_factor),u_image:new e.aI(t,r.u_image),u_texsize:new e.aP(t,r.u_texsize),u_pixel_coord_upper:new e.aP(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,r.u_pixel_coord_lower),u_scale:new e.aO(t,r.u_scale),u_fade:new e.aJ(t,r.u_fade),u_opacity:new e.aJ(t,r.u_opacity)}),fill:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix)}),fillPattern:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_image:new e.aI(t,r.u_image),u_texsize:new e.aP(t,r.u_texsize),u_pixel_coord_upper:new e.aP(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,r.u_pixel_coord_lower),u_scale:new e.aO(t,r.u_scale),u_fade:new e.aJ(t,r.u_fade)}),fillOutline:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_world:new e.aP(t,r.u_world)}),fillOutlinePattern:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_world:new e.aP(t,r.u_world),u_image:new e.aI(t,r.u_image),u_texsize:new e.aP(t,r.u_texsize),u_pixel_coord_upper:new e.aP(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,r.u_pixel_coord_lower),u_scale:new e.aO(t,r.u_scale),u_fade:new e.aJ(t,r.u_fade)}),circle:(t,r)=>({u_camera_to_center_distance:new e.aJ(t,r.u_camera_to_center_distance),u_scale_with_map:new e.aI(t,r.u_scale_with_map),u_pitch_with_map:new e.aI(t,r.u_pitch_with_map),u_extrude_scale:new e.aP(t,r.u_extrude_scale),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_matrix:new e.aK(t,r.u_matrix)}),collisionBox:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_pixel_extrude_scale:new e.aP(t,r.u_pixel_extrude_scale)}),collisionCircle:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_inv_matrix:new e.aK(t,r.u_inv_matrix),u_camera_to_center_distance:new e.aJ(t,r.u_camera_to_center_distance),u_viewport_size:new e.aP(t,r.u_viewport_size)}),debug:(t,r)=>({u_color:new e.aM(t,r.u_color),u_matrix:new e.aK(t,r.u_matrix),u_overlay:new e.aI(t,r.u_overlay),u_overlay_scale:new e.aJ(t,r.u_overlay_scale)}),clippingMask:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix)}),heatmap:(t,r)=>({u_extrude_scale:new e.aJ(t,r.u_extrude_scale),u_intensity:new e.aJ(t,r.u_intensity),u_matrix:new e.aK(t,r.u_matrix)}),heatmapTexture:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_world:new e.aP(t,r.u_world),u_image:new e.aI(t,r.u_image),u_color_ramp:new e.aI(t,r.u_color_ramp),u_opacity:new e.aJ(t,r.u_opacity)}),hillshade:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_image:new e.aI(t,r.u_image),u_latrange:new e.aP(t,r.u_latrange),u_light:new e.aP(t,r.u_light),u_shadow:new e.aM(t,r.u_shadow),u_highlight:new e.aM(t,r.u_highlight),u_accent:new e.aM(t,r.u_accent)}),hillshadePrepare:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_image:new e.aI(t,r.u_image),u_dimension:new e.aP(t,r.u_dimension),u_zoom:new e.aJ(t,r.u_zoom),u_unpack:new e.aL(t,r.u_unpack)}),line:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_ratio:new e.aJ(t,r.u_ratio),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.aP(t,r.u_units_to_pixels)}),lineGradient:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_ratio:new e.aJ(t,r.u_ratio),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.aP(t,r.u_units_to_pixels),u_image:new e.aI(t,r.u_image),u_image_height:new e.aJ(t,r.u_image_height)}),linePattern:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_texsize:new e.aP(t,r.u_texsize),u_ratio:new e.aJ(t,r.u_ratio),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_image:new e.aI(t,r.u_image),u_units_to_pixels:new e.aP(t,r.u_units_to_pixels),u_scale:new e.aO(t,r.u_scale),u_fade:new e.aJ(t,r.u_fade)}),lineSDF:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_ratio:new e.aJ(t,r.u_ratio),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_units_to_pixels:new e.aP(t,r.u_units_to_pixels),u_patternscale_a:new e.aP(t,r.u_patternscale_a),u_patternscale_b:new e.aP(t,r.u_patternscale_b),u_sdfgamma:new e.aJ(t,r.u_sdfgamma),u_image:new e.aI(t,r.u_image),u_tex_y_a:new e.aJ(t,r.u_tex_y_a),u_tex_y_b:new e.aJ(t,r.u_tex_y_b),u_mix:new e.aJ(t,r.u_mix)}),raster:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_tl_parent:new e.aP(t,r.u_tl_parent),u_scale_parent:new e.aJ(t,r.u_scale_parent),u_buffer_scale:new e.aJ(t,r.u_buffer_scale),u_fade_t:new e.aJ(t,r.u_fade_t),u_opacity:new e.aJ(t,r.u_opacity),u_image0:new e.aI(t,r.u_image0),u_image1:new e.aI(t,r.u_image1),u_brightness_low:new e.aJ(t,r.u_brightness_low),u_brightness_high:new e.aJ(t,r.u_brightness_high),u_saturation_factor:new e.aJ(t,r.u_saturation_factor),u_contrast_factor:new e.aJ(t,r.u_contrast_factor),u_spin_weights:new e.aO(t,r.u_spin_weights)}),symbolIcon:(t,r)=>({u_is_size_zoom_constant:new e.aI(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aI(t,r.u_is_size_feature_constant),u_size_t:new e.aJ(t,r.u_size_t),u_size:new e.aJ(t,r.u_size),u_camera_to_center_distance:new e.aJ(t,r.u_camera_to_center_distance),u_pitch:new e.aJ(t,r.u_pitch),u_rotate_symbol:new e.aI(t,r.u_rotate_symbol),u_aspect_ratio:new e.aJ(t,r.u_aspect_ratio),u_fade_change:new e.aJ(t,r.u_fade_change),u_matrix:new e.aK(t,r.u_matrix),u_label_plane_matrix:new e.aK(t,r.u_label_plane_matrix),u_coord_matrix:new e.aK(t,r.u_coord_matrix),u_is_text:new e.aI(t,r.u_is_text),u_pitch_with_map:new e.aI(t,r.u_pitch_with_map),u_is_along_line:new e.aI(t,r.u_is_along_line),u_is_variable_anchor:new e.aI(t,r.u_is_variable_anchor),u_texsize:new e.aP(t,r.u_texsize),u_texture:new e.aI(t,r.u_texture),u_translation:new e.aP(t,r.u_translation),u_pitched_scale:new e.aJ(t,r.u_pitched_scale)}),symbolSDF:(t,r)=>({u_is_size_zoom_constant:new e.aI(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aI(t,r.u_is_size_feature_constant),u_size_t:new e.aJ(t,r.u_size_t),u_size:new e.aJ(t,r.u_size),u_camera_to_center_distance:new e.aJ(t,r.u_camera_to_center_distance),u_pitch:new e.aJ(t,r.u_pitch),u_rotate_symbol:new e.aI(t,r.u_rotate_symbol),u_aspect_ratio:new e.aJ(t,r.u_aspect_ratio),u_fade_change:new e.aJ(t,r.u_fade_change),u_matrix:new e.aK(t,r.u_matrix),u_label_plane_matrix:new e.aK(t,r.u_label_plane_matrix),u_coord_matrix:new e.aK(t,r.u_coord_matrix),u_is_text:new e.aI(t,r.u_is_text),u_pitch_with_map:new e.aI(t,r.u_pitch_with_map),u_is_along_line:new e.aI(t,r.u_is_along_line),u_is_variable_anchor:new e.aI(t,r.u_is_variable_anchor),u_texsize:new e.aP(t,r.u_texsize),u_texture:new e.aI(t,r.u_texture),u_gamma_scale:new e.aJ(t,r.u_gamma_scale),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_is_halo:new e.aI(t,r.u_is_halo),u_translation:new e.aP(t,r.u_translation),u_pitched_scale:new e.aJ(t,r.u_pitched_scale)}),symbolTextAndIcon:(t,r)=>({u_is_size_zoom_constant:new e.aI(t,r.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aI(t,r.u_is_size_feature_constant),u_size_t:new e.aJ(t,r.u_size_t),u_size:new e.aJ(t,r.u_size),u_camera_to_center_distance:new e.aJ(t,r.u_camera_to_center_distance),u_pitch:new e.aJ(t,r.u_pitch),u_rotate_symbol:new e.aI(t,r.u_rotate_symbol),u_aspect_ratio:new e.aJ(t,r.u_aspect_ratio),u_fade_change:new e.aJ(t,r.u_fade_change),u_matrix:new e.aK(t,r.u_matrix),u_label_plane_matrix:new e.aK(t,r.u_label_plane_matrix),u_coord_matrix:new e.aK(t,r.u_coord_matrix),u_is_text:new e.aI(t,r.u_is_text),u_pitch_with_map:new e.aI(t,r.u_pitch_with_map),u_is_along_line:new e.aI(t,r.u_is_along_line),u_is_variable_anchor:new e.aI(t,r.u_is_variable_anchor),u_texsize:new e.aP(t,r.u_texsize),u_texsize_icon:new e.aP(t,r.u_texsize_icon),u_texture:new e.aI(t,r.u_texture),u_texture_icon:new e.aI(t,r.u_texture_icon),u_gamma_scale:new e.aJ(t,r.u_gamma_scale),u_device_pixel_ratio:new e.aJ(t,r.u_device_pixel_ratio),u_is_halo:new e.aI(t,r.u_is_halo),u_translation:new e.aP(t,r.u_translation),u_pitched_scale:new e.aJ(t,r.u_pitched_scale)}),background:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_opacity:new e.aJ(t,r.u_opacity),u_color:new e.aM(t,r.u_color)}),backgroundPattern:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_opacity:new e.aJ(t,r.u_opacity),u_image:new e.aI(t,r.u_image),u_pattern_tl_a:new e.aP(t,r.u_pattern_tl_a),u_pattern_br_a:new e.aP(t,r.u_pattern_br_a),u_pattern_tl_b:new e.aP(t,r.u_pattern_tl_b),u_pattern_br_b:new e.aP(t,r.u_pattern_br_b),u_texsize:new e.aP(t,r.u_texsize),u_mix:new e.aJ(t,r.u_mix),u_pattern_size_a:new e.aP(t,r.u_pattern_size_a),u_pattern_size_b:new e.aP(t,r.u_pattern_size_b),u_scale_a:new e.aJ(t,r.u_scale_a),u_scale_b:new e.aJ(t,r.u_scale_b),u_pixel_coord_upper:new e.aP(t,r.u_pixel_coord_upper),u_pixel_coord_lower:new e.aP(t,r.u_pixel_coord_lower),u_tile_units_to_pixels:new e.aJ(t,r.u_tile_units_to_pixels)}),terrain:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_texture:new e.aI(t,r.u_texture),u_ele_delta:new e.aJ(t,r.u_ele_delta),u_fog_matrix:new e.aK(t,r.u_fog_matrix),u_fog_color:new e.aM(t,r.u_fog_color),u_fog_ground_blend:new e.aJ(t,r.u_fog_ground_blend),u_fog_ground_blend_opacity:new e.aJ(t,r.u_fog_ground_blend_opacity),u_horizon_color:new e.aM(t,r.u_horizon_color),u_horizon_fog_blend:new e.aJ(t,r.u_horizon_fog_blend)}),terrainDepth:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_ele_delta:new e.aJ(t,r.u_ele_delta)}),terrainCoords:(t,r)=>({u_matrix:new e.aK(t,r.u_matrix),u_texture:new e.aI(t,r.u_texture),u_terrain_coords_id:new e.aJ(t,r.u_terrain_coords_id),u_ele_delta:new e.aJ(t,r.u_ele_delta)}),sky:(t,r)=>({u_sky_color:new e.aM(t,r.u_sky_color),u_horizon_color:new e.aM(t,r.u_horizon_color),u_horizon:new e.aJ(t,r.u_horizon),u_sky_horizon_blend:new e.aJ(t,r.u_sky_horizon_blend)})};class Qe{constructor(t,e,r){this.context=t;const n=t.gl;this.buffer=n.createBuffer(),this.dynamicDraw=Boolean(r),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),n.bufferData(n.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?n.DYNAMIC_DRAW:n.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(t){const e=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)}destroy(){const t=this.context.gl;this.buffer&&(t.deleteBuffer(this.buffer),delete this.buffer)}}const tr={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class er{constructor(t,e,r,n){this.length=e.length,this.attributes=r,this.itemSize=e.bytesPerElement,this.dynamicDraw=n,this.context=t;const i=t.gl;this.buffer=i.createBuffer(),t.bindVertexBuffer.set(this.buffer),i.bufferData(i.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?i.DYNAMIC_DRAW:i.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(t){if(t.length!==this.length)throw new Error(`Length of new data is ${t.length}, which doesn't match current length of ${this.length}`);const e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer)}enableAttributes(t,e){for(let r=0;r0){const r=e.H();e.aR(r,d.placementInvProjMatrix,t.transform.glCoordMatrix),e.aR(r,r,d.placementViewportMatrix),c.push({circleArray:g,circleOffset:h,transform:p.posMatrix,invTransform:r,coord:p}),u+=g.length/4,h=u}m&&l.draw(o,s.LINES,qr.disabled,Gr.disabled,t.colorModeForRenderPass(),Zr.disabled,Le(t.transform,p.posMatrix),t.style.map.terrain&&t.style.map.terrain.getTerrainData(p),n.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,null,t.transform.zoom,null,null,m.collisionVertexBuffer)}if(!a||!c.length)return;const f=t.useProgram("collisionCircle"),p=new e.aS;p.resize(4*u),p._trim();let d=0;for(const t of c)for(let e=0;er.style.map.terrain.getElevation(a,t,e):null,i=h.translatePosition(u,t,s,l);Qr(o,f,p,c,u,y,a.posMatrix,e,m,v,h,i,a.toUnwrapped(),n)}}}(i,t,n,r,n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),a),0!==n.paint.get("icon-opacity").constantOr(1)&&en(t,r,n,i,!1,n.paint.get("icon-translate"),n.paint.get("icon-translate-anchor"),n.layout.get("icon-rotation-alignment"),n.layout.get("icon-pitch-alignment"),n.layout.get("icon-keep-upright"),o,s),0!==n.paint.get("text-opacity").constantOr(1)&&en(t,r,n,i,!0,n.paint.get("text-translate"),n.paint.get("text-translate-anchor"),n.layout.get("text-rotation-alignment"),n.layout.get("text-pitch-alignment"),n.layout.get("text-keep-upright"),o,s),r.map.showCollisionBoxes&&(Yr(t,r,n,i,!0),Yr(t,r,n,i,!1))}function Jr(t,r,n,i,a,o){const{horizontalAlign:s,verticalAlign:l}=e.av(t),c=-(s-.5)*r,u=-(l-.5)*n;return new e.P((c/a+i[0])*o,(u/a+i[1])*o)}function Kr(t,r,n,i,a,o){const s=r.tileAnchorPoint.add(new e.P(r.translation[0],r.translation[1]));if(r.pitchWithMap){let t=i.mult(o);return n||(t=t.rotate(-a)),wt(s.add(t),r.labelPlaneMatrix,r.getElevation).point}if(n){const e=It(r.tileAnchorPoint.x+1,r.tileAnchorPoint.y,r).point.sub(t),n=Math.atan(e.y/e.x)+(e.x<0?Math.PI:0);return t.add(i.rotate(n))}return t.add(i)}function Qr(t,r,n,i,a,o,s,l,c,u,h,f,p,d){const m=t.text.placedSymbolArray,g=t.text.dynamicLayoutVertexArray,y=t.icon.dynamicLayoutVertexArray,v={};g.clear();for(let y=0;y=0&&(v[x.associatedIconIndex]={shiftedAnchor:L,angle:I})}else Rt(x.numGlyphs,g)}if(u){y.clear();const r=t.icon.placedSymbolArray;for(let t=0;tt.style.map.terrain.getElevation(l,e,r):null,r="map"===n.layout.get("text-rotation-alignment");At(c,l.posMatrix,t,a,j,V,v,u,r,g,l.toUnwrapped(),m.width,m.height,q,e)}const Z=l.posMatrix,W=a&&A||G,Y=x||W?Xr:j,X=U,$=p&&0!==n.paint.get(a?"text-halo-width":"icon-halo-width").constantOr(1);let J;J=p?c.iconsInText?Xe(k.kind,L,_,v,x,W,t,Z,Y,X,q,P,R,S):Ye(k.kind,L,_,v,x,W,t,Z,Y,X,q,a,P,!0,S):We(k.kind,L,_,v,x,W,t,Z,Y,X,q,a,P,S);const K={program:C,buffers:h,uniformValues:J,atlasTexture:z,atlasTextureIcon:F,atlasInterpolation:O,atlasInterpolationIcon:D,isSDF:p,hasHalo:$};if(w&&c.canOverlap){T=!0;const t=h.segments.get();for(const r of t)M.push({segments:new e.a0([r]),sortKey:r.sortKey,state:K,terrainData:I})}else M.push({segments:h.segments,sortKey:0,state:K,terrainData:I})}T&&M.sort(((t,e)=>t.sortKey-e.sortKey));for(const e of M){const r=e.state;if(p.activeTexture.set(d.TEXTURE0),r.atlasTexture.bind(r.atlasInterpolation,d.CLAMP_TO_EDGE),r.atlasTextureIcon&&(p.activeTexture.set(d.TEXTURE1),r.atlasTextureIcon&&r.atlasTextureIcon.bind(r.atlasInterpolationIcon,d.CLAMP_TO_EDGE)),r.isSDF){const i=r.uniformValues;r.hasHalo&&(i.u_is_halo=1,rn(r.buffers,e.segments,n,t,r.program,k,h,f,i,e.terrainData)),i.u_is_halo=0}rn(r.buffers,e.segments,n,t,r.program,k,h,f,r.uniformValues,e.terrainData)}}function rn(t,e,r,n,i,a,o,s,l,c){const u=n.context,h=u.gl;i.draw(u,h.TRIANGLES,a,o,s,Zr.disabled,l,c,r.id,t.layoutVertexBuffer,t.indexBuffer,e,r.paint,n.transform.zoom,t.programConfigurations.get(r.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer)}function nn(t,r,n,i){if(0!==n.paint.get("heatmap-opacity"))if("offscreen"===t.renderPass){const a=t.context,o=a.gl,s=Gr.disabled,l=new Ur([o.ONE,o.ONE],e.aN.transparent,[!0,!0,!0,!0]);(function(t,e,r){const n=t.gl;t.activeTexture.set(n.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);let i=r.heatmapFbo;if(i)n.bindTexture(n.TEXTURE_2D,i.colorAttachment.get()),t.bindFramebuffer.set(i.framebuffer);else{const a=n.createTexture();n.bindTexture(n.TEXTURE_2D,a),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),i=r.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1,!1),function(t,e,r,n){var i,a;const o=t.gl,s=null!==(i=t.HALF_FLOAT)&&void 0!==i?i:o.UNSIGNED_BYTE,l=null!==(a=t.RGBA16F)&&void 0!==a?a:o.RGBA;o.texImage2D(o.TEXTURE_2D,0,l,e.width/4,e.height/4,0,o.RGBA,s,null),n.colorAttachment.set(r)}(t,e,a,i)}})(a,t,n),a.clear({color:e.aN.transparent});for(let e=0;e0){const i=a.now(),s=(i-t.timeAdded)/l,c=r?(i-r.timeAdded)/l:-1,u=n.getSource(),h=o.coveringZoomLevel({tileSize:u.tileSize,roundZoom:u.roundZoom}),f=!r||Math.abs(r.tileID.overscaledZ-h)>Math.abs(t.tileID.overscaledZ-h),p=f&&t.refreshedUponExpiration?1:e.ad(f?s:1-c,0,1);return t.refreshedUponExpiration&&s>=1&&(t.refreshedUponExpiration=!1),r?{opacity:1,mix:1-p}:{opacity:p,mix:0}}return{opacity:1,mix:0}}const hn=new e.aN(1,0,0,1),fn=new e.aN(0,1,0,1),pn=new e.aN(0,0,1,1),dn=new e.aN(1,0,1,1),mn=new e.aN(0,1,1,1);function gn(t){const e=t.transform.padding;yn(t,t.transform.height-(e.top||0),3,hn),yn(t,e.bottom||0,3,fn),vn(t,e.left||0,3,pn),vn(t,t.transform.width-(e.right||0),3,dn);const r=t.transform.centerPoint;!function(t,e,r,n){const i=20,a=2;xn(t,e-a/2,r-i/2,a,i,n),xn(t,e-i/2,r-a/2,i,a,n)}(t,r.x,t.transform.height-r.y,mn)}function yn(t,e,r,n){xn(t,0,e+r/2,t.transform.width,r,n)}function vn(t,e,r,n){xn(t,e-r/2,0,r,t.transform.height,n)}function xn(t,e,r,n,i,a){const o=t.context,s=o.gl;s.enable(s.SCISSOR_TEST),s.scissor(e*t.pixelRatio,r*t.pixelRatio,n*t.pixelRatio,i*t.pixelRatio),o.clear({color:a}),s.disable(s.SCISSOR_TEST)}function _n(t,r,n){const i=t.context,a=i.gl,o=n.posMatrix,s=t.useProgram("debug"),l=qr.disabled,c=Gr.disabled,u=t.colorModeForRenderPass(),h="$debug",f=t.style.map.terrain&&t.style.map.terrain.getTerrainData(n);i.activeTexture.set(a.TEXTURE0);const p=r.getTileByID(n.key).latestRawTileData,d=p&&p.byteLength||0,m=Math.floor(d/1024),g=r.getTile(n).tileSize,y=512/Math.min(g,512)*(n.overscaledZ/t.transform.zoom)*.5;let v=n.canonical.toString();n.overscaledZ!==n.canonical.z&&(v+=` => ${n.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const r=t.debugOverlayCanvas,n=t.context.gl,i=t.debugOverlayCanvas.getContext("2d");i.clearRect(0,0,r.width,r.height),i.shadowColor="white",i.shadowBlur=2,i.lineWidth=1.5,i.strokeStyle="white",i.textBaseline="top",i.font="bold 36px Open Sans, sans-serif",i.fillText(e,5,5),i.strokeText(e,5,5),t.debugOverlayTexture.update(r),t.debugOverlayTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE)}(t,`${v} ${m}kB`),s.draw(i,a.TRIANGLES,l,c,Ur.alphaBlended,Zr.disabled,Pe(o,e.aN.transparent,y),null,h,t.debugBuffer,t.quadTriangleIndexBuffer,t.debugSegments),s.draw(i,a.LINE_STRIP,l,c,u,Zr.disabled,Pe(o,e.aN.red),f,h,t.debugBuffer,t.tileBorderIndexBuffer,t.debugSegments)}function bn(t,e,r){const n=t.context,i=n.gl,a=t.colorModeForRenderPass(),o=new qr(i.LEQUAL,qr.ReadWrite,t.depthRangeFor3D),s=t.useProgram("terrain"),l=e.getTerrainMesh();n.bindFramebuffer.set(null),n.viewport.set([0,0,t.width,t.height]);for(const c of r){const r=t.renderToTexture.getTexture(c),u=e.getTerrainData(c.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,r.texture);const h=t.transform.calculatePosMatrix(c.tileID.toUnwrapped()),f=e.getMeshFrameDelta(t.transform.zoom),p=t.transform.calculateFogMatrix(c.tileID.toUnwrapped()),d=xe(h,f,p,t.style.sky,t.transform.pitch);s.draw(n,i.TRIANGLES,o,Gr.disabled,a,Zr.backCCW,d,u,"terrain",l.vertexBuffer,l.indexBuffer,l.segments)}}class wn{constructor(t,e,r){this.vertexBuffer=t,this.indexBuffer=e,this.segments=r}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class Tn{constructor(t,r){this.context=new Vr(t),this.transform=r,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:e.ao(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=dt.maxUnderzooming+dt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new he}resize(t,e,r){if(this.width=Math.floor(t*r),this.height=Math.floor(e*r),this.pixelRatio=r,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const t of this.style._order)this.style._layers[t].resize()}setup(){const t=this.context,r=new e.aX;r.emplaceBack(0,0),r.emplaceBack(e.X,0),r.emplaceBack(0,e.X),r.emplaceBack(e.X,e.X),this.tileExtentBuffer=t.createVertexBuffer(r,me.members),this.tileExtentSegments=e.a0.simpleSegment(0,0,4,2);const n=new e.aX;n.emplaceBack(0,0),n.emplaceBack(e.X,0),n.emplaceBack(0,e.X),n.emplaceBack(e.X,e.X),this.debugBuffer=t.createVertexBuffer(n,me.members),this.debugSegments=e.a0.simpleSegment(0,0,4,5);const i=new e.$;i.emplaceBack(0,0,0,0),i.emplaceBack(e.X,0,e.X,0),i.emplaceBack(0,e.X,0,e.X),i.emplaceBack(e.X,e.X,e.X,e.X),this.rasterBoundsBuffer=t.createVertexBuffer(i,et.members),this.rasterBoundsSegments=e.a0.simpleSegment(0,0,4,2);const a=new e.aX;a.emplaceBack(0,0),a.emplaceBack(1,0),a.emplaceBack(0,1),a.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(a,me.members),this.viewportSegments=e.a0.simpleSegment(0,0,4,2);const o=new e.aZ;o.emplaceBack(0),o.emplaceBack(1),o.emplaceBack(3),o.emplaceBack(2),o.emplaceBack(0),this.tileBorderIndexBuffer=t.createIndexBuffer(o);const s=new e.aY;s.emplaceBack(0,1,2),s.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(s);const l=this.context.gl;this.stencilClearMode=new Gr({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO)}clearStencil(){const t=this.context,r=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const n=e.H();e.aQ(n,0,this.width,this.height,0,0,1),e.K(n,n,[r.drawingBufferWidth,r.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(t,r.TRIANGLES,qr.disabled,this.stencilClearMode,Ur.disabled,Zr.disabled,ze(n),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(t,e){if(this.currentStencilSource===t.source||!t.isTileClipped()||!e||!e.length)return;this.currentStencilSource=t.source;const r=this.context,n=r.gl;this.nextStencilID+e.length>256&&this.clearStencil(),r.setColorMode(Ur.disabled),r.setDepthMode(qr.disabled);const i=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const t of e){const e=this._tileClippingMaskIDs[t.key]=this.nextStencilID++,a=this.style.map.terrain&&this.style.map.terrain.getTerrainData(t);i.draw(r,n.TRIANGLES,qr.disabled,new Gr({func:n.ALWAYS,mask:0},e,255,n.KEEP,n.KEEP,n.REPLACE),Ur.disabled,Zr.disabled,ze(t.posMatrix),a,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,e=this.context.gl;return new Gr({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new Gr({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)}stencilConfigForOverlap(t){const e=this.context.gl,r=t.sort(((t,e)=>e.overscaledZ-t.overscaledZ)),n=r[r.length-1].overscaledZ,i=r[0].overscaledZ-n+1;if(i>1){this.currentStencilSource=void 0,this.nextStencilID+i>256&&this.clearStencil();const t={};for(let r=0;r({u_sky_color:t.properties.get("sky-color"),u_horizon_color:t.properties.get("horizon-color"),u_horizon:(e.height/2+e.getHorizon())*r,u_sky_horizon_blend:t.properties.get("sky-horizon-blend")*e.height/2*r}))(r,t.style.map.transform,t.pixelRatio),o=new qr(i.LEQUAL,qr.ReadWrite,[0,1]),s=Gr.disabled,l=t.colorModeForRenderPass(),c=t.useProgram("sky");if(!r.mesh){const t=new e.aX;t.emplaceBack(-1,-1),t.emplaceBack(1,-1),t.emplaceBack(1,1),t.emplaceBack(-1,1);const i=new e.aY;i.emplaceBack(0,1,2),i.emplaceBack(0,2,3),r.mesh=new wn(n.createVertexBuffer(t,me.members),n.createIndexBuffer(i),e.a0.simpleSegment(0,0,t.length,i.length))}c.draw(n,i.TRIANGLES,o,s,l,Zr.disabled,a,void 0,"sky",r.mesh.vertexBuffer,r.mesh.indexBuffer,r.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRangeFor3D=[0,1-(t._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=i.length-1;this.currentLayer>=0;this.currentLayer--){const t=this.style._layers[i[this.currentLayer]],e=o[t.source],r=s[t.source];this._renderTileClippingMasks(t,r),this.renderLayer(this,e,t,r)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerr.source&&!r.isHidden(e)?[t.sourceCaches[r.source]]:[])),i=n.filter((t=>"vector"===t.getSource().type)),a=n.filter((t=>"vector"!==t.getSource().type)),o=t=>{(!r||r.getSource().maxzoomo(t))),r||a.forEach((t=>o(t))),r}(this.style,this.transform.zoom);t&&function(t,e,r){for(let n=0;n0),i&&(e.b0(r,n),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(t,r){const n=t.context,i=n.gl,a=Ur.unblended,o=new qr(i.LEQUAL,qr.ReadWrite,[0,1]),s=r.getTerrainMesh(),l=r.sourceCache.getRenderableTiles(),c=t.useProgram("terrainDepth");n.bindFramebuffer.set(r.getFramebuffer("depth").framebuffer),n.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),n.clear({color:e.aN.transparent,depth:1});for(const e of l){const l=r.getTerrainData(e.tileID),u={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_ele_delta:r.getMeshFrameDelta(t.transform.zoom)};c.draw(n,i.TRIANGLES,o,Gr.disabled,a,Zr.backCCW,u,l,"terrain",s.vertexBuffer,s.indexBuffer,s.segments)}n.bindFramebuffer.set(null),n.viewport.set([0,0,t.width,t.height])}(this,this.style.map.terrain),function(t,r){const n=t.context,i=n.gl,a=Ur.unblended,o=new qr(i.LEQUAL,qr.ReadWrite,[0,1]),s=r.getTerrainMesh(),l=r.getCoordsTexture(),c=r.sourceCache.getRenderableTiles(),u=t.useProgram("terrainCoords");n.bindFramebuffer.set(r.getFramebuffer("coords").framebuffer),n.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),n.clear({color:e.aN.transparent,depth:1}),r.coordsIndex=[];for(const e of c){const c=r.getTerrainData(e.tileID);n.activeTexture.set(i.TEXTURE0),i.bindTexture(i.TEXTURE_2D,l.texture);const h={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_terrain_coords_id:(255-r.coordsIndex.length)/255,u_texture:0,u_ele_delta:r.getMeshFrameDelta(t.transform.zoom)};u.draw(n,i.TRIANGLES,o,Gr.disabled,a,Zr.backCCW,h,c,"terrain",s.vertexBuffer,s.indexBuffer,s.segments),r.coordsIndex.push(e.tileID.key)}n.bindFramebuffer.set(null),n.viewport.set([0,0,t.width,t.height])}(this,this.style.map.terrain))}renderLayer(t,r,n,i){if(!n.isHidden(this.transform.zoom)&&("background"===n.type||"custom"===n.type||(i||[]).length))switch(this.id=n.id,n.type){case"symbol":$r(t,r,n,i,this.style.placement.variableOffsets);break;case"circle":!function(t,r,n,i){if("translucent"!==t.renderPass)return;const a=n.paint.get("circle-opacity"),o=n.paint.get("circle-stroke-width"),s=n.paint.get("circle-stroke-opacity"),l=!n.layout.get("circle-sort-key").isConstant();if(0===a.constantOr(1)&&(0===o.constantOr(1)||0===s.constantOr(1)))return;const c=t.context,u=c.gl,h=t.depthModeForSublayer(0,qr.ReadOnly),f=Gr.disabled,p=t.colorModeForRenderPass(),d=[];for(let a=0;at.sortKey-e.sortKey));for(const e of d){const{programConfiguration:r,program:i,layoutVertexBuffer:a,indexBuffer:o,uniformValues:s,terrainData:l}=e.state,d=e.segments;i.draw(c,u.TRIANGLES,h,f,p,Zr.disabled,s,l,n.id,a,o,d,n.paint,t.transform.zoom,r)}}(t,r,n,i);break;case"heatmap":nn(t,r,n,i);break;case"line":!function(t,r,n,i){if("translucent"!==t.renderPass)return;const a=n.paint.get("line-opacity"),o=n.paint.get("line-width");if(0===a.constantOr(1)||0===o.constantOr(1))return;const s=t.depthModeForSublayer(0,qr.ReadOnly),l=t.colorModeForRenderPass(),c=n.paint.get("line-dasharray"),u=n.paint.get("line-pattern"),h=u.constantOr(1),f=n.paint.get("line-gradient"),p=n.getCrossfadeParameters(),d=h?"linePattern":c?"lineSDF":f?"lineGradient":"line",m=t.context,g=m.gl;let y=!0;for(const a of i){const i=r.getTile(a);if(h&&!i.patternsLoaded())continue;const o=i.getBucket(n);if(!o)continue;const v=o.programConfigurations.get(n.id),x=t.context.program.get(),_=t.useProgram(d,v),b=y||_.program!==x,T=t.style.map.terrain&&t.style.map.terrain.getTerrainData(a),k=u.constantOr(null);if(k&&i.imageAtlas){const t=i.imageAtlas,e=t.patternPositions[k.to.toString()],r=t.patternPositions[k.from.toString()];e&&r&&v.setConstantPatternPositions(e,r)}const A=T?a:null,M=h?Ue(t,i,n,p,A):c?Ve(t,i,n,c,p,A):f?je(t,i,n,o.lineClipsArray.length,A):Ne(t,i,n,A);if(h)m.activeTexture.set(g.TEXTURE0),i.imageAtlasTexture.bind(g.LINEAR,g.CLAMP_TO_EDGE),v.updatePaintBuffers(p);else if(c&&(b||t.lineAtlas.dirty))m.activeTexture.set(g.TEXTURE0),t.lineAtlas.bind(m);else if(f){const i=o.gradients[n.id];let s=i.texture;if(n.gradientVersion!==i.version){let l=256;if(n.stepInterpolant){const n=r.getSource().maxzoom,i=a.canonical.z===n?Math.ceil(1<20&&a.texParameterf(a.TEXTURE_2D,i.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,i.extTextureFilterAnisotropicMax);const _=t.style.map.terrain&&t.style.map.terrain.getTerrainData(n),b=_?n:null,w=b?b.posMatrix:t.transform.calculatePosMatrix(n.toUnwrapped(),f),T=Ge(w,v||[0,0],y||1,g,r);o instanceof rt?s.draw(i,a.TRIANGLES,u,Gr.disabled,l,Zr.disabled,T,_,r.id,o.boundsBuffer,t.quadTriangleIndexBuffer,o.boundsSegments):s.draw(i,a.TRIANGLES,u,c[n.overscaledZ],l,Zr.disabled,T,_,r.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments)}}(t,r,n,i);break;case"background":!function(t,e,r,n){const i=r.paint.get("background-color"),a=r.paint.get("background-opacity");if(0===a)return;const o=t.context,s=o.gl,l=t.transform,c=l.tileSize,u=r.paint.get("background-pattern");if(t.isPatternMissing(u))return;const h=!u&&1===i.a&&1===a&&t.opaquePassEnabledForLayer()?"opaque":"translucent";if(t.renderPass!==h)return;const f=Gr.disabled,p=t.depthModeForSublayer(0,"opaque"===h?qr.ReadWrite:qr.ReadOnly),d=t.colorModeForRenderPass(),m=t.useProgram(u?"backgroundPattern":"background"),g=n||l.coveringTiles({tileSize:c,terrain:t.style.map.terrain});u&&(o.activeTexture.set(s.TEXTURE0),t.imageManager.bind(t.context));const y=r.getCrossfadeParameters();for(const e of g){const l=n?e.posMatrix:t.transform.calculatePosMatrix(e.toUnwrapped()),h=u?Je(l,a,t,u,{tileID:e,tileSize:c},y):$e(l,a,i),g=t.style.map.terrain&&t.style.map.terrain.getTerrainData(e);m.draw(o,s.TRIANGLES,p,f,d,Zr.disabled,h,g,r.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments)}}(t,0,n,i);break;case"custom":!function(t,e,r){const n=t.context,i=r.implementation;if("offscreen"===t.renderPass){const e=i.prerender;e&&(t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),e.call(i,n.gl,t.transform.customLayerMatrix()),n.setDirty(),t.setBaseState())}else if("translucent"===t.renderPass){t.setCustomLayerDefaults(),n.setColorMode(t.colorModeForRenderPass()),n.setStencilMode(Gr.disabled);const e="3d"===i.renderingMode?new qr(t.context.gl.LEQUAL,qr.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,qr.ReadOnly);n.setDepthMode(e),i.render(n.gl,t.transform.customLayerMatrix(),{farZ:t.transform.farZ,nearZ:t.transform.nearZ,fov:t.transform._fov,modelViewProjectionMatrix:t.transform.modelViewProjectionMatrix,projectionMatrix:t.transform.projectionMatrix}),n.setDirty(),t.setBaseState(),n.bindFramebuffer.set(null)}}(t,0,n)}}translatePosMatrix(t,r,n,i,a){if(!n[0]&&!n[1])return t;const o=a?"map"===i?this.transform.angle:0:"viewport"===i?-this.transform.angle:0;if(o){const t=Math.sin(o),e=Math.cos(o);n=[n[0]*e-n[1]*t,n[0]*t+n[1]*e]}const s=[a?n[0]:Nt(r,n[0],this.transform.zoom),a?n[1]:Nt(r,n[1],this.transform.zoom),0],l=new Float32Array(16);return e.J(l,t,s),l}saveTileTexture(t){const e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t]}getTileTexture(t){const e=this._tileTextures[t];return e&&e.length>0?e.pop():null}isPatternMissing(t){if(!t)return!1;if(!t.from||!t.to)return!0;const e=this.imageManager.getPattern(t.from.toString()),r=this.imageManager.getPattern(t.to.toString());return!e||!r}useProgram(t,e){this.cache=this.cache||{};const r=t+(e?e.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[r]||(this.cache[r]=new be(this.context,ge[t],e,Ke[t],this._showOverdrawInspector,this.style.map.terrain)),this.cache[r]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)}initDebugOverlayCanvas(){if(null==this.debugOverlayCanvas){this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512;const t=this.context.gl;this.debugOverlayTexture=new w(this.context,this.debugOverlayCanvas,t.RGBA)}}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){const{drawingBufferWidth:t,drawingBufferHeight:e}=this.context.gl;return this.width!==t||this.height!==e}}class kn{constructor(t,e){this.points=t,this.planes=e}static fromInvProjectionMatrix(t,r,n){const i=Math.pow(2,n),a=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((n=>{const a=1/(n=e.ag([],n,t))[3]/r*i;return e.b1(n,n,[a,a,1/n[3],a])})),o=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((t=>{const e=function(t,e){var r=e[0],n=e[1],i=e[2],a=r*r+n*n+i*i;return a>0&&(a=1/Math.sqrt(a)),t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t}([],function(t,e,r){var n=e[0],i=e[1],a=e[2],o=r[0],s=r[1],l=r[2];return t[0]=i*l-a*s,t[1]=a*o-n*l,t[2]=n*s-i*o,t}([],y([],a[t[0]],a[t[1]]),y([],a[t[2]],a[t[1]]))),r=(n=e,i=a[t[1]],-(n[0]*i[0]+n[1]*i[1]+n[2]*i[2]));var n,i;return e.concat(r)}));return new kn(a,o)}}class An{constructor(t,e){this.min=t,this.max=e,this.center=function(t,e,r){return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t}([],function(t,e,r){return t[0]=e[0]+r[0],t[1]=e[1]+r[1],t[2]=e[2]+r[2],t}([],this.min,this.max),.5)}quadrant(t){const e=[t%2==0,t<2],r=m(this.min),n=m(this.max);for(let t=0;t=0&&o++;if(0===o)return 0;o!==r.length&&(n=!1)}if(n)return 2;for(let e=0;e<3;e++){let r=Number.MAX_VALUE,n=-Number.MAX_VALUE;for(let i=0;ithis.max[e]-this.min[e])return 0}return 1}}class Mn{constructor(t=0,e=0,r=0,n=0){if(isNaN(t)||t<0||isNaN(e)||e<0||isNaN(r)||r<0||isNaN(n)||n<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=e,this.left=r,this.right=n}interpolate(t,r,n){return null!=r.top&&null!=t.top&&(this.top=e.z.number(t.top,r.top,n)),null!=r.bottom&&null!=t.bottom&&(this.bottom=e.z.number(t.bottom,r.bottom,n)),null!=r.left&&null!=t.left&&(this.left=e.z.number(t.left,r.left,n)),null!=r.right&&null!=t.right&&(this.right=e.z.number(t.right,r.right,n)),this}getCenter(t,r){const n=e.ad((this.left+t-this.right)/2,0,t),i=e.ad((this.top+r-this.bottom)/2,0,r);return new e.P(n,i)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new Mn(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}const Sn=85.051129;class En{constructor(t,r,n,i,a){this.tileSize=512,this._renderWorldCopies=void 0===a||!!a,this._minZoom=t||0,this._maxZoom=r||22,this._minPitch=null==n?0:n,this._maxPitch=null==i?60:i,this.setMaxBounds(),this.width=0,this.height=0,this._center=new e.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Mn,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){const t=new En(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.apply(this),t}apply(t){this.tileSize=t.tileSize,this.latRange=t.latRange,this.width=t.width,this.height=t.height,this._center=t._center,this._elevation=t._elevation,this.minElevationForCurrentTile=t.minElevationForCurrentTile,this.zoom=t.zoom,this.angle=t.angle,this._fov=t._fov,this._pitch=t._pitch,this._unmodified=t._unmodified,this._edgeInsets=t._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new e.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(t){const r=-e.b3(t,-180,180)*Math.PI/180;this.angle!==r&&(this._unmodified=!1,this.angle=r,this._calcMatrices(),this.rotationMatrix=function(){var t=new e.A(4);return e.A!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t}(),function(t,e,r){var n=e[0],i=e[1],a=e[2],o=e[3],s=Math.sin(r),l=Math.cos(r);t[0]=n*l+a*s,t[1]=i*l+o*s,t[2]=n*-s+a*l,t[3]=i*-s+o*l}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(t){const r=e.ad(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==r&&(this._unmodified=!1,this._pitch=r,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(t){const e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.tileZoom=Math.max(0,Math.floor(e)),this.scale=this.zoomScale(e),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(t){t!==this._elevation&&(this._elevation=t,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(t){return this._edgeInsets.equals(t)}interpolatePadding(t,e,r){this._unmodified=!1,this._edgeInsets.interpolate(t,e,r),this._constrain(),this._calcMatrices()}coveringZoomLevel(t){const e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)}getVisibleUnwrappedCoordinates(t){const r=[new e.b4(0,t)];if(this._renderWorldCopies){const n=this.pointCoordinate(new e.P(0,0)),i=this.pointCoordinate(new e.P(this.width,0)),a=this.pointCoordinate(new e.P(this.width,this.height)),o=this.pointCoordinate(new e.P(0,this.height)),s=Math.floor(Math.min(n.x,i.x,a.x,o.x)),l=Math.floor(Math.max(n.x,i.x,a.x,o.x)),c=1;for(let n=s-c;n<=l+c;n++)0!==n&&r.push(new e.b4(n,t))}return r}coveringTiles(t){var r,n;let i=this.coveringZoomLevel(t);const a=i;if(void 0!==t.minzoom&&it.maxzoom&&(i=t.maxzoom);const o=this.pointCoordinate(this.getCameraPoint()),s=e.Z.fromLngLat(this.center),l=Math.pow(2,i),c=[l*o.x,l*o.y,0],u=[l*s.x,l*s.y,0],h=kn.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,i);let f=t.minzoom||0;!t.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(f=i);const p=t.terrain?2/Math.min(this.tileSize,t.tileSize)*this.tileSize:3,d=t=>({aabb:new An([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),m=[],g=[],y=i,x=t.reparseOverscaled?a:i;if(this._renderWorldCopies)for(let t=1;t<=3;t++)m.push(d(-t)),m.push(d(t));for(m.push(d(0));m.length>0;){const i=m.pop(),a=i.x,o=i.y;let s=i.fullyVisible;if(!s){const t=i.aabb.intersects(h);if(0===t)continue;s=2===t}const l=t.terrain?c:u,d=i.aabb.distanceX(l),_=i.aabb.distanceY(l),b=Math.max(Math.abs(d),Math.abs(_)),w=p+(1<w&&i.zoom>=f){const t=y-i.zoom,r=c[0]-.5-(a<>1),h=i.zoom+1;let f=i.aabb.quadrant(l);if(t.terrain){const a=new e.S(h,i.wrap,h,c,u),o=t.terrain.getMinMaxElevation(a),s=null!==(r=o.minElevation)&&void 0!==r?r:this.elevation,l=null!==(n=o.maxElevation)&&void 0!==n?n:this.elevation;f=new An([f.min[0],f.min[1],s],[f.max[0],f.max[1],l])}m.push({aabb:f,zoom:h,x:c,y:u,wrap:i.wrap,fullyVisible:s})}}return g.sort(((t,e)=>t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(t){const r=e.ad(t.lat,-85.051129,Sn);return new e.P(e.O(t.lng)*this.worldSize,e.Q(r)*this.worldSize)}unproject(t){return new e.Z(t.x/this.worldSize,t.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(t){const r=this.elevation,n=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,i=this.pointLocation(this.centerPoint,t),a=t.getElevationForLngLatZoom(i,this.tileZoom);if(!(this.elevation-a))return;const o=n+r-a,s=Math.cos(this._pitch)*this.cameraToCenterDistance/o/e.b5(1,i.lat)/this.tileSize,l=this.scaleZoom(s);this._elevation=a,this._center=i,this.zoom=l}setLocationAtPoint(t,r){const n=this.pointCoordinate(r),i=this.pointCoordinate(this.centerPoint),a=this.locationCoordinate(t),o=new e.Z(a.x-(n.x-i.x),a.y-(n.y-i.y));this.center=this.coordinateLocation(o),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(t,e){return e?this.coordinatePoint(this.locationCoordinate(t),e.getElevationForLngLatZoom(t,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(t))}pointLocation(t,e){return this.coordinateLocation(this.pointCoordinate(t,e))}locationCoordinate(t){return e.Z.fromLngLat(t)}coordinateLocation(t){return t&&t.toLngLat()}pointCoordinate(t,r){if(r){const e=r.pointCoordinate(t);if(null!=e)return e}const n=[t.x,t.y,0,1],i=[t.x,t.y,1,1];e.ag(n,n,this.pixelMatrixInverse),e.ag(i,i,this.pixelMatrixInverse);const a=n[3],o=i[3],s=n[0]/a,l=i[0]/o,c=n[1]/a,u=i[1]/o,h=n[2]/a,f=i[2]/o,p=h===f?0:(0-h)/(f-h);return new e.Z(e.z.number(s,l,p)/this.worldSize,e.z.number(c,u,p)/this.worldSize)}coordinatePoint(t,r=0,n=this.pixelMatrix){const i=[t.x*this.worldSize,t.y*this.worldSize,r,1];return e.ag(i,i,n),new e.P(i[0]/i[3],i[1]/i[3])}getBounds(){const t=Math.max(0,this.height/2-this.getHorizon());return(new X).extend(this.pointLocation(new e.P(0,t))).extend(this.pointLocation(new e.P(this.width,t))).extend(this.pointLocation(new e.P(this.width,this.height))).extend(this.pointLocation(new e.P(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new X([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,Sn])}calculateTileMatrix(t){const r=t.canonical,n=this.worldSize/this.zoomScale(r.z),i=r.x+Math.pow(2,r.z)*t.wrap,a=e.ao(new Float64Array(16));return e.J(a,a,[i*n,r.y*n,0]),e.K(a,a,[n/e.X,n/e.X,1]),a}calculatePosMatrix(t,r=!1){const n=t.key,i=r?this._alignedPosMatrixCache:this._posMatrixCache;if(i[n])return i[n];const a=this.calculateTileMatrix(t);return e.L(a,r?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,a),i[n]=new Float32Array(a),i[n]}calculateFogMatrix(t){const r=t.key,n=this._fogMatrixCache;if(n[r])return n[r];const i=this.calculateTileMatrix(t);return e.L(i,this.fogMatrix,i),n[r]=new Float32Array(i),n[r]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(t,r){r=e.ad(+r,this.minZoom,this.maxZoom);const n={center:new e.N(t.lng,t.lat),zoom:r};let i=this.lngRange;if(!this._renderWorldCopies&&null===i){const t=180-1e-10;i=[-t,t]}const a=this.tileSize*this.zoomScale(n.zoom);let o=0,s=a,l=0,c=a,u=0,h=0;const{x:f,y:p}=this.size;if(this.latRange){const t=this.latRange;o=e.Q(t[1])*a,s=e.Q(t[0])*a,s-os&&(y=s-t)}if(i){const t=(l+c)/2;let r=d;this._renderWorldCopies&&(r=e.b3(d,t-a/2,t+a/2));const n=f/2;r-nc&&(g=c-n)}if(void 0!==g||void 0!==y){const t=new e.P(null!=g?g:d,null!=y?y:m);n.center=this.unproject.call({worldSize:a},t).wrap()}return n}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const t=this._unmodified,{center:e,zoom:r}=this.getConstrained(this.center,this.zoom);this.center=e,this.zoom=r,this._unmodified=t,this._constraining=!1}_calcMatrices(){if(!this.height)return;const t=this._fov/2,r=this.centerOffset,n=this.point.x,i=this.point.y;this.cameraToCenterDistance=.5/Math.tan(t)*this.height,this._pixelPerMeter=e.b5(1,this.center.lat)*this.worldSize;let a=e.ao(new Float64Array(16));e.K(a,a,[this.width/2,-this.height/2,1]),e.J(a,a,[1,-1,0]),this.labelPlaneMatrix=a,a=e.ao(new Float64Array(16)),e.K(a,a,[1,-1,1]),e.J(a,a,[-1,-1,0]),e.K(a,a,[2/this.width,2/this.height,1]),this.glCoordMatrix=a;const o=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),s=Math.min(this.elevation,this.minElevationForCurrentTile),l=o-s*this._pixelPerMeter/Math.cos(this._pitch),c=s<0?l:o,u=Math.PI/2+this._pitch,h=this._fov*(.5+r.y/this.height),f=Math.sin(h)*c/Math.sin(e.ad(Math.PI-u-h,.01,Math.PI-.01)),p=this.getHorizon(),d=2*Math.atan(p/this.cameraToCenterDistance)*(.5+r.y/(2*p)),m=Math.sin(d)*c/Math.sin(e.ad(Math.PI-u-d,.01,Math.PI-.01)),g=Math.min(f,m);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*g+c),this.nearZ=this.height/50,a=new Float64Array(16),e.b6(a,this._fov,this.width/this.height,this.nearZ,this.farZ),a[8]=2*-r.x/this.width,a[9]=2*r.y/this.height,this.projectionMatrix=e.af(a),e.K(a,a,[1,-1,1]),e.J(a,a,[0,0,-this.cameraToCenterDistance]),e.b7(a,a,this._pitch),e.ae(a,a,this.angle),e.J(a,a,[-n,-i,0]),this.mercatorMatrix=e.K([],a,[this.worldSize,this.worldSize,this.worldSize]),e.K(a,a,[1,1,this._pixelPerMeter]),this.pixelMatrix=e.L(new Float64Array(16),this.labelPlaneMatrix,a),e.J(a,a,[0,0,-this.elevation]),this.modelViewProjectionMatrix=a,this.invModelViewProjectionMatrix=e.at([],a),this.fogMatrix=new Float64Array(16),e.b6(this.fogMatrix,this._fov,this.width/this.height,o,this.farZ),this.fogMatrix[8]=2*-r.x/this.width,this.fogMatrix[9]=2*r.y/this.height,e.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),e.b7(this.fogMatrix,this.fogMatrix,this._pitch),e.ae(this.fogMatrix,this.fogMatrix,this.angle),e.J(this.fogMatrix,this.fogMatrix,[-n,-i,0]),e.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=e.L(new Float64Array(16),this.labelPlaneMatrix,a);const y=this.width%2/2,v=this.height%2/2,x=Math.cos(this.angle),_=Math.sin(this.angle),b=n-Math.round(n)+x*y+_*v,w=i-Math.round(i)+x*v+_*y,T=new Float64Array(a);if(e.J(T,T,[b>.5?b-1:b,w>.5?w-1:w,0]),this.alignedModelViewProjectionMatrix=T,a=e.at(new Float64Array(16),this.pixelMatrix),!a)throw new Error("failed to invert matrix");this.pixelMatrixInverse=a,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const t=this.pointCoordinate(new e.P(0,0)),r=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.ag(r,r,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const t=this._pitch,r=Math.tan(t)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.P(0,r))}getCameraQueryGeometry(t){const r=this.getCameraPoint();if(1===t.length)return[t[0],r];{let n=r.x,i=r.y,a=r.x,o=r.y;for(const e of t)n=Math.min(n,e.x),i=Math.min(i,e.y),a=Math.max(a,e.x),o=Math.max(o,e.y);return[new e.P(n,i),new e.P(a,i),new e.P(a,o),new e.P(n,o),new e.P(n,i)]}}lngLatToCameraDepth(t,r){const n=this.locationCoordinate(t),i=[n.x*this.worldSize,n.y*this.worldSize,r,1];return e.ag(i,i,this.modelViewProjectionMatrix),i[2]/i[3]}}function Cn(t,e){let r,n=!1,i=null,a=null;const o=()=>{i=null,n&&(t.apply(a,r),i=setTimeout(o,e),n=!1)};return(...t)=>(n=!0,a=this,r=t,i||o(),i)}class Ln{constructor(t){this._getCurrentHash=()=>{const t=window.location.hash.replace("#","");if(this._hashName){let e;return t.split("&").map((t=>t.split("="))).forEach((t=>{t[0]===this._hashName&&(e=t)})),(e&&e[1]||"").split("/")}return t.split("/")},this._onHashChange=()=>{const t=this._getCurrentHash();if(t.length>=3&&!t.some((t=>isNaN(t)))){const e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{const t=window.location.href.replace(/(#.+)?$/,this.getHashString());window.history.replaceState(window.history.state,null,t)},this._removeHash=()=>{const t=this._getCurrentHash();if(0===t.length)return;const e=t.join("/");let r=e;r.split("&").length>0&&(r=r.split("&")[0]),this._hashName&&(r=`${this._hashName}=${e}`);let n=window.location.hash.replace(r,"");n.startsWith("#&")?n=n.slice(0,1)+n.slice(2):"#"===n&&(n="");let i=window.location.href.replace(/(#.+)?$/,n);i=i.replace("&&","&"),window.history.replaceState(window.history.state,null,i)},this._updateHash=Cn(this._updateHashUnthrottled,300),this._hashName=t&&encodeURIComponent(t)}addTo(t){return this._map=t,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(t){const e=this._map.getCenter(),r=Math.round(100*this._map.getZoom())/100,n=Math.ceil((r*Math.LN2+Math.log(512/360/.5))/Math.LN10),i=Math.pow(10,n),a=Math.round(e.lng*i)/i,o=Math.round(e.lat*i)/i,s=this._map.getBearing(),l=this._map.getPitch();let c="";if(c+=t?`/${a}/${o}/${r}`:`${r}/${o}/${a}`,(s||l)&&(c+="/"+Math.round(10*s)/10),l&&(c+=`/${Math.round(l)}`),this._hashName){const t=this._hashName;let e=!1;const r=window.location.hash.slice(1).split("&").map((r=>{const n=r.split("=")[0];return n===t?(e=!0,`${n}=${c}`):r})).filter((t=>t));return e||r.push(`${t}=${c}`),`#${r.join("&")}`}return`#${c}`}}const In={linearity:.3,easing:e.b8(0,0,.3,1)},Pn=e.e({deceleration:2500,maxSpeed:1400},In),zn=e.e({deceleration:20,maxSpeed:1400},In),On=e.e({deceleration:1e3,maxSpeed:360},In),Dn=e.e({deceleration:1e3,maxSpeed:90},In);class Rn{constructor(t){this._map=t,this.clear()}clear(){this._inertiaBuffer=[]}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:a.now(),settings:t})}_drainInertiaBuffer(){const t=this._inertiaBuffer,e=a.now();for(;t.length>0&&e-t[0].time>160;)t.shift()}_onMoveEnd(t){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const r={zoom:0,bearing:0,pitch:0,pan:new e.P(0,0),pinchAround:void 0,around:void 0};for(const{settings:t}of this._inertiaBuffer)r.zoom+=t.zoomDelta||0,r.bearing+=t.bearingDelta||0,r.pitch+=t.pitchDelta||0,t.panDelta&&r.pan._add(t.panDelta),t.around&&(r.around=t.around),t.pinchAround&&(r.pinchAround=t.pinchAround);const n=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,i={};if(r.pan.mag()){const a=Bn(r.pan.mag(),n,e.e({},Pn,t||{}));i.offset=r.pan.mult(a.amount/r.pan.mag()),i.center=this._map.transform.center,Fn(i,a)}if(r.zoom){const t=Bn(r.zoom,n,zn);i.zoom=this._map.transform.zoom+t.amount,Fn(i,t)}if(r.bearing){const t=Bn(r.bearing,n,On);i.bearing=this._map.transform.bearing+e.ad(t.amount,-179,179),Fn(i,t)}if(r.pitch){const t=Bn(r.pitch,n,Dn);i.pitch=this._map.transform.pitch+t.amount,Fn(i,t)}if(i.zoom||i.bearing){const t=void 0===r.pinchAround?r.around:r.pinchAround;i.around=t?this._map.unproject(t):this._map.getCenter()}return this.clear(),e.e(i,{noMoveStart:!0})}}function Fn(t,e){(!t.duration||t.durationr.unproject(t))),l=a.reduce(((t,e,r,n)=>t.add(e.div(n.length))),new e.P(0,0));super(t,{points:a,point:l,lngLats:s,lngLat:r.unproject(l),originalEvent:n}),this._defaultPrevented=!1}}class Un extends e.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(t,e,r){super(t,{originalEvent:r}),this._defaultPrevented=!1}}class Vn{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance}reset(){delete this._mousedownPos}wheel(t){return this._firePreventable(new Un(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new Nn(t.type,this._map,t))}mouseup(t){this._map.fire(new Nn(t.type,this._map,t))}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new Nn(t.type,this._map,t))}dblclick(t){return this._firePreventable(new Nn(t.type,this._map,t))}mouseover(t){this._map.fire(new Nn(t.type,this._map,t))}mouseout(t){this._map.fire(new Nn(t.type,this._map,t))}touchstart(t){return this._firePreventable(new jn(t.type,this._map,t))}touchmove(t){this._map.fire(new jn(t.type,this._map,t))}touchend(t){this._map.fire(new jn(t.type,this._map,t))}touchcancel(t){this._map.fire(new jn(t.type,this._map,t))}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class qn{constructor(t){this._map=t}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(t){this._map.fire(new Nn(t.type,this._map,t))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Nn("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new Nn(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Hn{constructor(t){this._map=t}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(t){return this.transform.pointLocation(e.P.convert(t),this._map.terrain)}}class Gn{constructor(t,e){this._map=t,this._tr=new Hn(t),this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(o.disableDrag(),this._startPos=this._lastPos=e,this._active=!0)}mousemoveWindow(t,e){if(!this._active)return;const r=e;if(this._lastPos.equals(r)||!this._box&&r.dist(this._startPos)t.fitScreenCoordinates(n,i,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",t)}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent("boxzoomcancel",t))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(o.remove(this._box),this._box=null),o.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(t,r){return this._map.fire(new e.k(t,{originalEvent:r}))}}function Zn(t,e){if(t.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${t.length}, points ${e.length}`);const r={};for(let n=0;nthis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=t.timeStamp),n.length===this.numTouches&&(this.centroid=function(t){const r=new e.P(0,0);for(const e of t)r._add(e);return r.div(t.length)}(r),this.touches=Zn(n,r)))}touchmove(t,e,r){if(this.aborted||!this.centroid)return;const n=Zn(r,e);for(const t in this.touches){const e=this.touches[t],r=n[t];(!r||r.dist(e)>30)&&(this.aborted=!0)}}touchend(t,e,r){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===r.length){const t=!this.aborted&&this.centroid;if(this.reset(),t)return t}}}class Yn{constructor(t){this.singleTap=new Wn(t),this.numTaps=t.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(t,e,r){this.singleTap.touchstart(t,e,r)}touchmove(t,e,r){this.singleTap.touchmove(t,e,r)}touchend(t,e,r){const n=this.singleTap.touchend(t,e,r);if(n){const e=t.timeStamp-this.lastTime<500,r=!this.lastTap||this.lastTap.dist(n)<30;if(e&&r||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=n,this.count===this.numTaps)return this.reset(),n}}}class Xn{constructor(t){this._tr=new Hn(t),this._zoomIn=new Yn({numTouches:1,numTaps:2}),this._zoomOut=new Yn({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(t,e,r){this._zoomIn.touchstart(t,e,r),this._zoomOut.touchstart(t,e,r)}touchmove(t,e,r){this._zoomIn.touchmove(t,e,r),this._zoomOut.touchmove(t,e,r)}touchend(t,e,r){const n=this._zoomIn.touchend(t,e,r),i=this._zoomOut.touchend(t,e,r),a=this._tr;return n?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:a.zoom+1,around:a.unproject(n)},{originalEvent:t})}):i?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:a.zoom-1,around:a.unproject(i)},{originalEvent:t})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class $n{constructor(t){this._enabled=!!t.enable,this._moveStateManager=t.moveStateManager,this._clickTolerance=t.clickTolerance||1,this._moveFunction=t.move,this._activateOnStart=!!t.activateOnStart,t.assignEvents(this),this.reset()}reset(t){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(t)}_move(...t){const e=this._moveFunction(...t);if(e.bearingDelta||e.pitchDelta||e.around||e.panDelta)return this._active=!0,e}dragStart(t,e){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(t)&&(this._moveStateManager.startMove(t),this._lastPoint=e.length?e[0]:e,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(t,e){if(!this.isEnabled())return;const r=this._lastPoint;if(!r)return;if(t.preventDefault(),!this._moveStateManager.isValidMoveEvent(t))return void this.reset(t);const n=e.length?e[0]:e;return!this._moved&&n.dist(r){t.mousedown=t.dragStart,t.mousemoveWindow=t.dragMove,t.mouseup=t.dragEnd,t.contextmenu=t=>{t.preventDefault()}},ei=({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:r=.8})=>{const n=new Kn({checkCorrectEvent:t=>0===o.mouseButton(t)&&t.ctrlKey||2===o.mouseButton(t)});return new $n({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*r}),moveStateManager:n,enable:t,assignEvents:ti})},ri=({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:r=-.5})=>{const n=new Kn({checkCorrectEvent:t=>0===o.mouseButton(t)&&t.ctrlKey||2===o.mouseButton(t)});return new $n({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*r}),moveStateManager:n,enable:t,assignEvents:ti})};class ni{constructor(t,e){this._clickTolerance=t.clickTolerance||1,this._map=e,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new e.P(0,0)}_shouldBePrevented(t){return t<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(t,e,r){return this._calculateTransform(t,e,r)}touchmove(t,e,r){if(this._active){if(!this._shouldBePrevented(r.length))return t.preventDefault(),this._calculateTransform(t,e,r);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",t)}}touchend(t,e,r){this._calculateTransform(t,e,r),this._active&&this._shouldBePrevented(r.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(t,r,n){n.length>0&&(this._active=!0);const i=Zn(n,r),a=new e.P(0,0),o=new e.P(0,0);let s=0;for(const t in i){const e=i[t],r=this._touches[t];r&&(a._add(e),o._add(e.sub(r)),s++,i[t]=e)}if(this._touches=i,this._shouldBePrevented(s)||!o.mag())return;const l=o.div(s);return this._sum._add(l),this._sum.mag()Math.abs(t.x)}class hi extends ii{constructor(t){super(),this._currentTouchCount=0,this._map=t}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(t,e,r){super.touchstart(t,e,r),this._currentTouchCount=r.length}_start(t){this._lastPoints=t,ui(t[0].sub(t[1]))&&(this._valid=!1)}_move(t,e,r){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;const n=t[0].sub(this._lastPoints[0]),i=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(n,i,r.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(n.y+i.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,r){if(void 0!==this._valid)return this._valid;const n=t.mag()>=2,i=e.mag()>=2;if(!n&&!i)return;if(!n||!i)return void 0===this._firstMove&&(this._firstMove=r),r-this._firstMove<100&&void 0;const a=t.y>0==e.y>0;return ui(t)&&ui(e)&&a}}const fi={panStep:100,bearingStep:15,pitchStep:10};class pi{constructor(t){this._tr=new Hn(t);const e=fi;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,r=0,n=0,i=0,a=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?r=-1:(t.preventDefault(),i=-1);break;case 39:t.shiftKey?r=1:(t.preventDefault(),i=1);break;case 38:t.shiftKey?n=1:(t.preventDefault(),a=-1);break;case 40:t.shiftKey?n=-1:(t.preventDefault(),a=1);break;default:return}return this._rotationDisabled&&(r=0,n=0),{cameraAnimation:o=>{const s=this._tr;o.easeTo({duration:300,easeId:"keyboardHandler",easing:di,zoom:e?Math.round(s.zoom)+e*(t.shiftKey?2:1):s.zoom,bearing:s.bearing+r*this._bearingStep,pitch:s.pitch+n*this._pitchStep,offset:[-i*this._panStep,-a*this._panStep],center:s.center},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function di(t){return t*(2-t)}const mi=4.000244140625;class gi{constructor(t,e){this._onTimeout=t=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(t)},this._map=t,this._tr=new Hn(t),this._triggerRenderFrame=e,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(t){this._defaultZoomRate=t}setWheelZoomRate(t){this._wheelZoomRate=t}isEnabled(){return!!this._enabled}isActive(){return!!this._active||void 0!==this._finishTimeout}isZooming(){return!!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!t&&"center"===t.around)}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(t){return!!this._map.cooperativeGestures.isEnabled()&&!(t.ctrlKey||this._map.cooperativeGestures.isBypassed(t))}wheel(t){if(!this.isEnabled())return;if(this._shouldBePrevented(t))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",t);let e=t.deltaMode===WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const r=a.now(),n=r-(this._lastWheelEventTime||0);this._lastWheelEventTime=r,0!==e&&e%mi==0?this._type="wheel":0!==e&&Math.abs(e)<4?this._type="trackpad":n>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(n*e)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&(this._lastWheelEvent=t,this._delta-=e,this._active||this._start(t)),t.preventDefault()}_start(t){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const r=o.mousePos(this._map.getCanvas(),t),n=this._tr;r.y>n.transform.height/2-n.transform.getHorizon()?this._around=e.N.convert(this._aroundCenter?n.center:n.unproject(r)):this._around=e.N.convert(n.center),this._aroundPoint=n.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const t=this._tr.transform;if(0!==this._delta){const e="wheel"===this._type&&Math.abs(this._delta)>mi?this._wheelZoomRate:this._defaultZoomRate;let r=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==r&&(r=1/r);const n="number"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(n*r))),"wheel"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const r="number"==typeof this._targetZoom?this._targetZoom:t.zoom,n=this._startZoom,i=this._easing;let o,s=!1;const l=a.now()-this._lastWheelEventTime;if("wheel"===this._type&&n&&i&&l){const t=Math.min(l/200,1),a=i(t);o=e.z.number(n,r,a),t<1?this._frameId||(this._frameId=!0):s=!0}else o=r,s=!0;return this._active=!0,s&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout}),200)),{noInertia:!0,needsRenderFrame:!s,zoomDelta:o-t.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let r=e.b9;if(this._prevEase){const t=this._prevEase,n=(a.now()-t.start)/t.duration,i=t.easing(n+.01)-t.easing(n),o=.27/Math.sqrt(i*i+1e-4)*.01,s=Math.sqrt(.0729-o*o);r=e.b8(o,s,.25,1)}return this._prevEase={start:a.now(),duration:t,easing:r},r}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class yi{constructor(t,e){this._clickZoom=t,this._tapZoom=e}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class vi{constructor(t){this._tr=new Hn(t),this.reset()}reset(){this._active=!1}dblclick(t,e){return t.preventDefault(),{cameraAnimation:r=>{r.easeTo({duration:300,zoom:this._tr.zoom+(t.shiftKey?-1:1),around:this._tr.unproject(e)},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class xi{constructor(){this._tap=new Yn({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(t,e,r){if(!this._swipePoint)if(this._tapTime){const n=e[0],i=t.timeStamp-this._tapTime<500,a=this._tapPoint.dist(n)<30;i&&a?r.length>0&&(this._swipePoint=n,this._swipeTouch=r[0].identifier):this.reset()}else this._tap.touchstart(t,e,r)}touchmove(t,e,r){if(this._tapTime){if(this._swipePoint){if(r[0].identifier!==this._swipeTouch)return;const n=e[0],i=n.y-this._swipePoint.y;return this._swipePoint=n,t.preventDefault(),this._active=!0,{zoomDelta:i/128}}}else this._tap.touchmove(t,e,r)}touchend(t,e,r){if(this._tapTime)this._swipePoint&&0===r.length&&this.reset();else{const n=this._tap.touchend(t,e,r);n&&(this._tapTime=t.timeStamp,this._tapPoint=n)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class _i{constructor(t,e,r){this._el=t,this._mousePan=e,this._touchPan=r}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class bi{constructor(t,e,r){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=r}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class wi{constructor(t,e,r,n){this._el=t,this._touchZoom=e,this._touchRotate=r,this._tapDragZoom=n,this._rotationDisabled=!1,this._enabled=!0}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class Ti{constructor(t,e){this._bypassKey=-1!==navigator.userAgent.indexOf("Mac")?"metaKey":"ctrlKey",this._map=t,this._options=e,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;const t=this._map.getCanvasContainer();t.classList.add("maplibregl-cooperative-gestures"),this._container=o.create("div","maplibregl-cooperative-gesture-screen",t);let e=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");"metaKey"===this._bypassKey&&(e=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));const r=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),n=document.createElement("div");n.className="maplibregl-desktop-message",n.textContent=e,this._container.appendChild(n);const i=document.createElement("div");i.className="maplibregl-mobile-message",i.textContent=r,this._container.appendChild(i),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(o.remove(this._container),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(t){return t[this._bypassKey]}notifyGestureBlocked(t,r){this._enabled&&(this._map.fire(new e.k("cooperativegestureprevented",{gestureType:t,originalEvent:r})),this._container.classList.add("maplibregl-show"),setTimeout((()=>{this._container.classList.remove("maplibregl-show")}),100))}}const ki=t=>t.zoom||t.drag||t.pitch||t.rotate;class Ai extends e.k{}function Mi(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class Si{constructor(t,e){this.handleWindowEvent=t=>{this.handleEvent(t,`${t.type}Window`)},this.handleEvent=(t,e)=>{if("blur"===t.type)return void this.stop(!0);this._updatingCamera=!0;const r="renderFrame"===t.type?void 0:t,n={needsRenderFrame:!1},i={},a={},s=t.touches,l=s?this._getMapTouches(s):void 0,c=l?o.touchPos(this._map.getCanvas(),l):o.mousePos(this._map.getCanvas(),t);for(const{handlerName:o,handler:s,allowed:u}of this._handlers){if(!s.isEnabled())continue;let h;this._blockedByActive(a,u,o)?s.reset():s[e||t.type]&&(h=s[e||t.type](t,c,l),this.mergeHandlerResult(n,i,h,o,r),h&&h.needsRenderFrame&&this._triggerRenderFrame()),(h||s.isActive())&&(a[o]=s)}const u={};for(const t in this._previousActiveHandlers)a[t]||(u[t]=r);this._previousActiveHandlers=a,(Object.keys(u).length||Mi(n))&&(this._changes.push([n,i,u]),this._triggerRenderFrame()),(Object.keys(a).length||Mi(n))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:h}=n;h&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],h(this._map))},this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Rn(t),this._bearingSnap=e.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(e);const r=this._el;this._listeners=[[r,"touchstart",{passive:!0}],[r,"touchmove",{passive:!1}],[r,"touchend",void 0],[r,"touchcancel",void 0],[r,"mousedown",void 0],[r,"mousemove",void 0],[r,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[r,"mouseover",void 0],[r,"mouseout",void 0],[r,"dblclick",void 0],[r,"click",void 0],[r,"keydown",{capture:!1}],[r,"keyup",void 0],[r,"wheel",{passive:!1}],[r,"contextmenu",void 0],[window,"blur",void 0]];for(const[t,e,r]of this._listeners)o.addEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,r)}destroy(){for(const[t,e,r]of this._listeners)o.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,r)}_addDefaultHandlers(t){const e=this._map,r=e.getCanvasContainer();this._add("mapEvent",new Vn(e,t));const n=e.boxZoom=new Gn(e,t);this._add("boxZoom",n),t.interactive&&t.boxZoom&&n.enable();const i=e.cooperativeGestures=new Ti(e,t.cooperativeGestures);this._add("cooperativeGestures",i),t.cooperativeGestures&&i.enable();const a=new Xn(e),s=new vi(e);e.doubleClickZoom=new yi(s,a),this._add("tapZoom",a),this._add("clickZoom",s),t.interactive&&t.doubleClickZoom&&e.doubleClickZoom.enable();const l=new xi;this._add("tapDragZoom",l);const c=e.touchPitch=new hi(e);this._add("touchPitch",c),t.interactive&&t.touchPitch&&e.touchPitch.enable(t.touchPitch);const u=ei(t),h=ri(t);e.dragRotate=new bi(t,u,h),this._add("mouseRotate",u,["mousePitch"]),this._add("mousePitch",h,["mouseRotate"]),t.interactive&&t.dragRotate&&e.dragRotate.enable();const f=(({enable:t,clickTolerance:e})=>{const r=new Kn({checkCorrectEvent:t=>0===o.mouseButton(t)&&!t.ctrlKey});return new $n({clickTolerance:e,move:(t,e)=>({around:e,panDelta:e.sub(t)}),activateOnStart:!0,moveStateManager:r,enable:t,assignEvents:ti})})(t),p=new ni(t,e);e.dragPan=new _i(r,f,p),this._add("mousePan",f),this._add("touchPan",p,["touchZoom","touchRotate"]),t.interactive&&t.dragPan&&e.dragPan.enable(t.dragPan);const d=new ci,m=new si;e.touchZoomRotate=new wi(r,m,d,l),this._add("touchRotate",d,["touchPan","touchZoom"]),this._add("touchZoom",m,["touchPan","touchRotate"]),t.interactive&&t.touchZoomRotate&&e.touchZoomRotate.enable(t.touchZoomRotate);const g=e.scrollZoom=new gi(e,(()=>this._triggerRenderFrame()));this._add("scrollZoom",g,["mousePan"]),t.interactive&&t.scrollZoom&&e.scrollZoom.enable(t.scrollZoom);const y=e.keyboard=new pi(e);this._add("keyboard",y),t.interactive&&t.keyboard&&e.keyboard.enable(),this._add("blockableMapEvent",new qn(e))}_add(t,e,r){this._handlers.push({handlerName:t,handler:e,allowed:r}),this._handlersById[t]=e}stop(t){if(!this._updatingCamera){for(const{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[]}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return Boolean(ki(this._eventsInProgress))||this.isZooming()}_blockedByActive(t,e,r){for(const n in t)if(n!==r&&(!e||e.indexOf(n)<0))return!0;return!1}_getMapTouches(t){const e=[];for(const r of t){const t=r.target;this._el.contains(t)&&e.push(r)}return e}mergeHandlerResult(t,r,n,i,a){if(!n)return;e.e(t,n);const o={handlerName:i,originalEvent:n.originalEvent||a};void 0!==n.zoomDelta&&(r.zoom=o),void 0!==n.panDelta&&(r.drag=o),void 0!==n.pitchDelta&&(r.pitch=o),void 0!==n.bearingDelta&&(r.rotate=o)}_applyChanges(){const t={},r={},n={};for(const[i,a,o]of this._changes)i.panDelta&&(t.panDelta=(t.panDelta||new e.P(0,0))._add(i.panDelta)),i.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+i.zoomDelta),i.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+i.bearingDelta),i.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+i.pitchDelta),void 0!==i.around&&(t.around=i.around),void 0!==i.pinchAround&&(t.pinchAround=i.pinchAround),i.noInertia&&(t.noInertia=i.noInertia),e.e(r,a),e.e(n,o);this._updateMapTransform(t,r,n),this._changes=[]}_updateMapTransform(t,e,r){const n=this._map,i=n._getTransformForUpdate(),a=n.terrain;if(!(Mi(t)||a&&this._terrainMovement))return this._fireEvents(e,r,!0);let{panDelta:o,zoomDelta:s,bearingDelta:l,pitchDelta:c,around:u,pinchAround:h}=t;void 0!==h&&(u=h),n._stop(!0),u=u||n.transform.centerPoint;const f=i.pointLocation(o?u.sub(o):u);l&&(i.bearing+=l),c&&(i.pitch+=c),s&&(i.zoom+=s),a?this._terrainMovement||!e.drag&&!e.zoom?e.drag&&this._terrainMovement?i.center=i.pointLocation(i.centerPoint.sub(o)):i.setLocationAtPoint(f,u):(this._terrainMovement=!0,this._map._elevationFreeze=!0,i.setLocationAtPoint(f,u)):i.setLocationAtPoint(f,u),n._applyUpdatedTransform(i),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,r,!0)}_fireEvents(t,r,n){const i=ki(this._eventsInProgress),o=ki(t),s={};for(const e in t){const{originalEvent:r}=t[e];this._eventsInProgress[e]||(s[`${e}start`]=r),this._eventsInProgress[e]=t[e]}!i&&o&&this._fireEvent("movestart",o.originalEvent);for(const t in s)this._fireEvent(t,s[t]);o&&this._fireEvent("move",o.originalEvent);for(const e in t){const{originalEvent:r}=t[e];this._fireEvent(e,r)}const l={};let c;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:n}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],c=r[e]||n,l[`${t}end`]=c)}for(const t in l)this._fireEvent(t,l[t]);const u=ki(this._eventsInProgress),h=(i||o)&&!u;if(h&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;const t=this._map._getTransformForUpdate();t.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(t)}if(n&&h){this._updatingCamera=!0;const t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),r=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Ai("renderFrame",{timeStamp:t})),this._applyChanges()}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame())}}class Ei extends e.E{constructor(t,e){super(),this._renderFrameCallback=()=>{const t=Math.min((a.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=e.bearingSnap,this.on("moveend",(()=>{delete this._requestedCameraState}))}getCenter(){return new e.N(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(t,r,n){return t=e.P.convert(t).mult(-1),this.panTo(this.transform.center,e.e({offset:t},r),n)}panTo(t,r,n){return this.easeTo(e.e({center:t},r),n)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(t,r,n){return this.easeTo(e.e({zoom:t},r),n)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(t,r,n){return this.easeTo(e.e({bearing:t},r),n)}resetNorth(t,r){return this.rotateTo(0,e.e({duration:1e3},t),r),this}resetNorthPitch(t,r){return this.easeTo(e.e({bearing:0,pitch:0,duration:1e3},t),r),this}snapToNorth(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(i.zoom=e.z.number(o,y,n)),this._rotating&&(i.bearing=e.z.number(s,u,n)),this._pitching&&(i.pitch=e.z.number(l,h,n)),this._padding&&(i.interpolatePadding(c,f,n),d=i.centerPoint.add(p)),this.terrain&&!t.freezeElevation&&this._updateElevation(n),b)i.setLocationAtPoint(b,w);else{const t=i.zoomScale(i.zoom-o),e=y>o?Math.min(2,_):Math.max(.5,_),r=Math.pow(e,1-n),a=i.unproject(v.add(x.mult(n*r)).mult(t));i.setLocationAtPoint(i.renderWorldCopies?a.wrap():a,d)}this._applyUpdatedTransform(i),this._fireMoveEvents(r)}),(e=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(r,e)}),t),this}_prepareEase(t,r,n={}){this._moving=!0,r||n.moving||this.fire(new e.k("movestart",t)),this._zooming&&!n.zooming&&this.fire(new e.k("zoomstart",t)),this._rotating&&!n.rotating&&this.fire(new e.k("rotatestart",t)),this._pitching&&!n.pitching&&this.fire(new e.k("pitchstart",t))}_prepareElevation(t){this._elevationCenter=t,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(t,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(t){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const r=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(t<1&&r!==this._elevationTarget){const e=this._elevationTarget-this._elevationStart,n=(r-(e*t+this._elevationStart))/(1-t);this._elevationStart+=t*(e-n),this._elevationTarget=r}this.transform.elevation=e.z.number(this._elevationStart,this._elevationTarget,t)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(t){const e=t.getCameraPosition(),r=this.terrain.getElevationForLngLatZoom(e.lngLat,t.zoom);if(e.altitudethis._elevateCameraIfInsideTerrain(t))),this.transformCameraUpdate&&e.push((t=>this.transformCameraUpdate(t))),!e.length)return;const r=t.clone();for(const t of e){const e=r.clone(),{center:n,zoom:i,pitch:a,bearing:o,elevation:s}=t(e);n&&(e.center=n),void 0!==i&&(e.zoom=i),void 0!==a&&(e.pitch=a),void 0!==o&&(e.bearing=o),void 0!==s&&(e.elevation=s),r.apply(e)}this.transform.apply(r)}_fireMoveEvents(t){this.fire(new e.k("move",t)),this._zooming&&this.fire(new e.k("zoom",t)),this._rotating&&this.fire(new e.k("rotate",t)),this._pitching&&this.fire(new e.k("pitch",t))}_afterEase(t,r){if(this._easeId&&r&&this._easeId===r)return;delete this._easeId;const n=this._zooming,i=this._rotating,a=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,n&&this.fire(new e.k("zoomend",t)),i&&this.fire(new e.k("rotateend",t)),a&&this.fire(new e.k("pitchend",t)),this.fire(new e.k("moveend",t))}flyTo(t,r){var n;if(!t.essential&&a.prefersReducedMotion){const n=e.M(t,["center","zoom","bearing","pitch","around"]);return this.jumpTo(n,r)}this.stop(),t=e.e({offset:[0,0],speed:1.2,curve:1.42,easing:e.b9},t);const i=this._getTransformForUpdate(),o=i.zoom,s=i.bearing,l=i.pitch,c=i.padding,u="bearing"in t?this._normalizeBearing(t.bearing,s):s,h="pitch"in t?+t.pitch:l,f="padding"in t?t.padding:i.padding,p=e.P.convert(t.offset);let d=i.centerPoint.add(p);const m=i.pointLocation(d),{center:g,zoom:y}=i.getConstrained(e.N.convert(t.center||m),null!==(n=t.zoom)&&void 0!==n?n:o);this._normalizeCenter(g,i);const v=i.zoomScale(y-o),x=i.project(m),_=i.project(g).sub(x);let b=t.curve;const w=Math.max(i.width,i.height),T=w/v,k=_.mag();if("minZoom"in t){const r=e.ad(Math.min(t.minZoom,o,y),i.minZoom,i.maxZoom),n=w/i.zoomScale(r-o);b=Math.sqrt(n/k*2)}const A=b*b;function M(t){const e=(T*T-w*w+(t?-1:1)*A*A*k*k)/(2*(t?T:w)*A*k);return Math.log(Math.sqrt(e*e+1)-e)}function S(t){return(Math.exp(t)-Math.exp(-t))/2}function E(t){return(Math.exp(t)+Math.exp(-t))/2}const C=M(!1);let L=function(t){return E(C)/E(C+b*t)},I=function(t){return w*((E(C)*(S(e=C+b*t)/E(e))-S(C))/A)/k;var e},P=(M(!0)-C)/b;if(Math.abs(k)<1e-6||!isFinite(P)){if(Math.abs(w-T)<1e-6)return this.easeTo(t,r);const e=T0,L=t=>Math.exp(e*b*t)}if("duration"in t)t.duration=+t.duration;else{const e="screenSpeed"in t?+t.screenSpeed/b:+t.speed;t.duration=1e3*P/e}return t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=s!==u,this._pitching=h!==l,this._padding=!i.isPaddingEqual(f),this._prepareEase(r,!1),this.terrain&&this._prepareElevation(g),this._ease((n=>{const a=n*P,m=1/L(a);i.zoom=1===n?y:o+i.scaleZoom(m),this._rotating&&(i.bearing=e.z.number(s,u,n)),this._pitching&&(i.pitch=e.z.number(l,h,n)),this._padding&&(i.interpolatePadding(c,f,n),d=i.centerPoint.add(p)),this.terrain&&!t.freezeElevation&&this._updateElevation(n);const v=1===n?g:i.unproject(x.add(_.mult(I(a))).mult(m));i.setLocationAtPoint(i.renderWorldCopies?v.wrap():v,d),this._applyUpdatedTransform(i),this._fireMoveEvents(r)}),(()=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(r)}),t),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(t,e){var r;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const t=this._onEaseEnd;delete this._onEaseEnd,t.call(this,e)}return t||null===(r=this.handlers)||void 0===r||r.stop(!1),this}_ease(t,e,r){!1===r.animate||0===r.duration?(t(1),e()):(this._easeStart=a.now(),this._easeOptions=r,this._onEaseFrame=t,this._onEaseEnd=e,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(t,r){t=e.b3(t,-180,180);const n=Math.abs(t-r);return Math.abs(t-360-r)180?-360:r<-180?360:0}queryTerrainElevation(t){return this.terrain?this.terrain.getElevationForLngLatZoom(e.N.convert(t),this.transform.tileZoom)-this.transform.elevation:null}}const Ci={compact:!0,customAttribution:'
MapLibre'};class Li{constructor(t=Ci){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=t=>{!t||"metadata"!==t.sourceDataType&&"visibility"!==t.sourceDataType&&"style"!==t.dataType&&"terrain"!==t.type||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=t}getDefaultPosition(){return"bottom-right"}onAdd(t){return this._map=t,this._compact=this.options.compact,this._container=o.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=o.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=o.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){o.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(t,e){const r=this._map._getUIString(`AttributionControl.${e}`);t.title=r,t.setAttribute("aria-label",r)}_updateAttributions(){if(!this._map.style)return;let t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((t=>"string"!=typeof t?"":t))):"string"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){const t=this._map.style.stylesheet;this.styleOwner=t.owner,this.styleId=t.id}const e=this._map.style.sourceCaches;for(const r in e){const n=e[r];if(n.used||n.usedForTerrain){const e=n.getSource();e.attribution&&t.indexOf(e.attribution)<0&&t.push(e.attribution)}}t=t.filter((t=>String(t).trim())),t.sort(((t,e)=>t.length-e.length)),t=t.filter(((e,r)=>{for(let n=r+1;n=0)return!1;return!0}));const r=t.join(" | ");r!==this._attribHTML&&(this._attribHTML=r,t.length?(this._innerContainer.innerHTML=r,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class Ii{constructor(t={}){this._updateCompact=()=>{const t=this._container.children;if(t.length){const e=t[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&e.classList.add("maplibregl-compact"):e.classList.remove("maplibregl-compact")}},this.options=t}getDefaultPosition(){return"bottom-left"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=o.create("div","maplibregl-ctrl");const e=o.create("a","maplibregl-ctrl-logo");return e.target="_blank",e.rel="noopener nofollow",e.href="https://maplibre.org/",e.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),e.setAttribute("rel","noopener nofollow"),this._container.appendChild(e),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){o.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class Pi{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(t){const e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e}remove(t){const e=this._currentlyRunning,r=e?this._queue.concat(e):this._queue;for(const e of r)if(e.id===t)return void(e.cancelled=!0)}run(t=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");const e=this._currentlyRunning=this._queue;this._queue=[];for(const r of e)if(!r.cancelled&&(r.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var zi=e.Y([{name:"a_pos3d",type:"Int16",components:3}]);class Oi extends e.E{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(t,r){this.sourceCache.update(t,r),this._renderableTilesKeys=[];const n={};for(const i of t.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:r}))n[i.key]=!0,this._renderableTilesKeys.push(i.key),this._tiles[i.key]||(i.posMatrix=new Float64Array(16),e.aQ(i.posMatrix,0,e.X,0,e.X,0,1),this._tiles[i.key]=new ht(i,this.tileSize));for(const t in this._tiles)n[t]||delete this._tiles[t]}freeRtt(t){for(const e in this._tiles){const r=this._tiles[e];(!t||r.tileID.equals(t)||r.tileID.isChildOf(t)||t.isChildOf(r.tileID))&&(r.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map((t=>this.getTileByID(t)))}getTileByID(t){return this._tiles[t]}getTerrainCoords(t){const r={};for(const n of this._renderableTilesKeys){const i=this._tiles[n].tileID;if(i.canonical.equals(t.canonical)){const i=t.clone();i.posMatrix=new Float64Array(16),e.aQ(i.posMatrix,0,e.X,0,e.X,0,1),r[n]=i}else if(i.canonical.isChildOf(t.canonical)){const a=t.clone();a.posMatrix=new Float64Array(16);const o=i.canonical.z-t.canonical.z,s=i.canonical.x-(i.canonical.x>>o<>o<>o;e.aQ(a.posMatrix,0,c,0,c,0,1),e.J(a.posMatrix,a.posMatrix,[-s*c,-l*c,0]),r[n]=a}else if(t.canonical.isChildOf(i.canonical)){const a=t.clone();a.posMatrix=new Float64Array(16);const o=t.canonical.z-i.canonical.z,s=t.canonical.x-(t.canonical.x>>o<>o<>o;e.aQ(a.posMatrix,0,e.X,0,e.X,0,1),e.J(a.posMatrix,a.posMatrix,[s*c,l*c,0]),e.K(a.posMatrix,a.posMatrix,[1/2**o,1/2**o,0]),r[n]=a}}return r}getSourceTile(t,e){const r=this.sourceCache._source;let n=t.overscaledZ-this.deltaZoom;if(n>r.maxzoom&&(n=r.maxzoom),n=r.minzoom&&(!i||!i.dem);)i=this.sourceCache.getTileByID(t.scaledTo(n--).key);return i}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter((e=>e.timeAdded>=t))}}class Di{constructor(t,e,r){this.painter=t,this.sourceCache=new Oi(e),this.options=r,this.exaggeration="number"==typeof r.exaggeration?r.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(t,r,n,i=e.X){var a;if(!(r>=0&&r=0&&nt.canonical.z&&(t.canonical.z>=n?i=t.canonical.z-n:e.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const a=t.canonical.x-(t.canonical.x>>i<>i<>8<<4|t>>8,r[e+3]=0;const n=new e.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(r.buffer)),i=new w(t,n,t.gl.RGBA,{premultiply:!1});return i.bind(t.gl.NEAREST,t.gl.CLAMP_TO_EDGE),this._coordsTexture=i,i}pointCoordinate(t){this.painter.maybeDrawDepthAndCoords(!0);const r=new Uint8Array(4),n=this.painter.context,i=n.gl,a=Math.round(t.x*this.painter.pixelRatio/devicePixelRatio),o=Math.round(t.y*this.painter.pixelRatio/devicePixelRatio),s=Math.round(this.painter.height/devicePixelRatio);n.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),i.readPixels(a,s-o-1,1,1,i.RGBA,i.UNSIGNED_BYTE,r),n.bindFramebuffer.set(null);const l=r[0]+(r[2]>>4<<8),c=r[1]+((15&r[2])<<8),u=this.coordsIndex[255-r[3]],h=u&&this.sourceCache.getTileByID(u);if(!h)return null;const f=this._coordsTextureSize,p=(1<t.id!==e)),this._recentlyUsed.push(t.id)}stampObject(t){t.stamp=++this._stamp}getOrCreateFreeObject(){for(const t of this._recentlyUsed)if(!this._objects[t].inUse)return this._objects[t];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");const t=this._createObject(this._objects.length);return this._objects.push(t),t}freeObject(t){t.inUse=!1}freeAllObjects(){for(const t of this._objects)this.freeObject(t)}isFull(){return!(this._objects.length!t.inUse))}}const Fi={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Bi{constructor(t,e){this.painter=t,this.terrain=e,this.pool=new Ri(t.context,30,e.sourceCache.tileSize*e.qualityFactor)}destruct(){this.pool.destruct()}getTexture(t){return this.pool.getObjectForId(t.rtt[this._stacks.length-1].id).texture}prepareForRender(t,e){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=t._order.filter((r=>!t._layers[r].isHidden(e))),this._coordsDescendingInv={};for(const e in t.sourceCaches){this._coordsDescendingInv[e]={};const r=t.sourceCaches[e].getVisibleCoordinates();for(const t of r){const r=this.terrain.sourceCache.getTerrainCoords(t);for(const t in r)this._coordsDescendingInv[e][t]||(this._coordsDescendingInv[e][t]=[]),this._coordsDescendingInv[e][t].push(r[t])}}this._coordsDescendingInvStr={};for(const e of t._order){const r=t._layers[e],n=r.source;if(Fi[r.type]&&!this._coordsDescendingInvStr[n]){this._coordsDescendingInvStr[n]={};for(const t in this._coordsDescendingInv[n])this._coordsDescendingInvStr[n][t]=this._coordsDescendingInv[n][t].map((t=>t.key)).sort().join()}}for(const t of this._renderableTiles)for(const e in this._coordsDescendingInvStr){const r=this._coordsDescendingInvStr[e][t.tileID.key];r&&r!==t.rttCoords[e]&&(t.rtt=[])}}renderLayer(t){if(t.isHidden(this.painter.transform.zoom))return!1;const r=t.type,n=this.painter,i=this._renderableLayerIds[this._renderableLayerIds.length-1]===t.id;if(Fi[r]&&(this._prevType&&Fi[this._prevType]||this._stacks.push([]),this._prevType=r,this._stacks[this._stacks.length-1].push(t.id),!i))return!0;if(Fi[this._prevType]||Fi[r]&&i){this._prevType=r;const t=this._stacks.length-1,i=this._stacks[t]||[];for(const r of this._renderableTiles){if(this.pool.isFull()&&(bn(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(r),r.rtt[t]){const e=this.pool.getObjectForId(r.rtt[t].id);if(e.stamp===r.rtt[t].stamp){this.pool.useObject(e);continue}}const a=this.pool.getOrCreateFreeObject();this.pool.useObject(a),this.pool.stampObject(a),r.rtt[t]={id:a.id,stamp:a.stamp},n.context.bindFramebuffer.set(a.fbo.framebuffer),n.context.clear({color:e.aN.transparent,stencil:0}),n.currentStencilSource=void 0;for(let t=0;t{t.touchstart=t.dragStart,t.touchmoveWindow=t.dragMove,t.touchend=t.dragEnd},qi={showCompass:!0,showZoom:!0,visualizePitch:!1};class Hi{constructor(t,r,n=!1){this.mousedown=t=>{this.startMouse(e.e({},t,{ctrlKey:!0,preventDefault:()=>t.preventDefault()}),o.mousePos(this.element,t)),o.addEventListener(window,"mousemove",this.mousemove),o.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=t=>{this.moveMouse(t,o.mousePos(this.element,t))},this.mouseup=t=>{this.mouseRotate.dragEnd(t),this.mousePitch&&this.mousePitch.dragEnd(t),this.offTemp()},this.touchstart=t=>{1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=o.touchPos(this.element,t.targetTouches)[0],this.startTouch(t,this._startPos),o.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),o.addEventListener(window,"touchend",this.touchend))},this.touchmove=t=>{1!==t.targetTouches.length?this.reset():(this._lastPos=o.touchPos(this.element,t.targetTouches)[0],this.moveTouch(t,this._lastPos))},this.touchend=t=>{0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;const i=t.dragRotate._mouseRotate.getClickTolerance(),a=t.dragRotate._mousePitch.getClickTolerance();this.element=r,this.mouseRotate=ei({clickTolerance:i,enable:!0}),this.touchRotate=(({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:r=.8})=>{const n=new Qn;return new $n({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*r}),moveStateManager:n,enable:t,assignEvents:Vi})})({clickTolerance:i,enable:!0}),this.map=t,n&&(this.mousePitch=ri({clickTolerance:a,enable:!0}),this.touchPitch=(({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:r=-.5})=>{const n=new Qn;return new $n({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*r}),moveStateManager:n,enable:t,assignEvents:Vi})})({clickTolerance:a,enable:!0})),o.addEventListener(r,"mousedown",this.mousedown),o.addEventListener(r,"touchstart",this.touchstart,{passive:!1}),o.addEventListener(r,"touchcancel",this.reset)}startMouse(t,e){this.mouseRotate.dragStart(t,e),this.mousePitch&&this.mousePitch.dragStart(t,e),o.disableDrag()}startTouch(t,e){this.touchRotate.dragStart(t,e),this.touchPitch&&this.touchPitch.dragStart(t,e),o.disableDrag()}moveMouse(t,e){const r=this.map,{bearingDelta:n}=this.mouseRotate.dragMove(t,e)||{};if(n&&r.setBearing(r.getBearing()+n),this.mousePitch){const{pitchDelta:n}=this.mousePitch.dragMove(t,e)||{};n&&r.setPitch(r.getPitch()+n)}}moveTouch(t,e){const r=this.map,{bearingDelta:n}=this.touchRotate.dragMove(t,e)||{};if(n&&r.setBearing(r.getBearing()+n),this.touchPitch){const{pitchDelta:n}=this.touchPitch.dragMove(t,e)||{};n&&r.setPitch(r.getPitch()+n)}}off(){const t=this.element;o.removeEventListener(t,"mousedown",this.mousedown),o.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),o.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),o.removeEventListener(window,"touchend",this.touchend),o.removeEventListener(t,"touchcancel",this.reset),this.offTemp()}offTemp(){o.enableDrag(),o.removeEventListener(window,"mousemove",this.mousemove),o.removeEventListener(window,"mouseup",this.mouseup),o.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),o.removeEventListener(window,"touchend",this.touchend)}}let Gi;function Zi(t,r,n){const i=new e.N(t.lng,t.lat);if(t=new e.N(t.lng,t.lat),r){const i=new e.N(t.lng-360,t.lat),a=new e.N(t.lng+360,t.lat),o=n.locationPoint(t).distSqr(r);n.locationPoint(i).distSqr(r)180;){const e=n.locationPoint(t);if(e.x>=0&&e.y>=0&&e.x<=n.width&&e.y<=n.height)break;t.lng>n.center.lng?t.lng-=360:t.lng+=360}return t.lng!==i.lng&&n.locationPoint(t).y>n.height/2-n.getHorizon()?t:i}const Wi={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function Yi(t,e,r){const n=t.classList;for(const t in Wi)n.remove(`maplibregl-${r}-anchor-${t}`);n.add(`maplibregl-${r}-anchor-${e}`)}class Xi extends e.E{constructor(t){if(super(),this._onKeyPress=t=>{const e=t.code,r=t.charCode||t.keyCode;"Space"!==e&&"Enter"!==e&&32!==r&&13!==r||this.togglePopup()},this._onMapClick=t=>{const e=t.originalEvent.target,r=this._element;this._popup&&(e===r||r.contains(e))&&this.togglePopup()},this._update=t=>{var e;if(!this._map)return;const r=this._map.loaded()&&!this._map.isMoving();("terrain"===(null==t?void 0:t.type)||"render"===(null==t?void 0:t.type)&&!r)&&this._map.once("render",this._update),this._map.transform.renderWorldCopies?this._lngLat=Zi(this._lngLat,this._flatPos,this._map.transform):this._lngLat=null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let n="";"viewport"===this._rotationAlignment||"auto"===this._rotationAlignment?n=`rotateZ(${this._rotation}deg)`:"map"===this._rotationAlignment&&(n=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let i="";"viewport"===this._pitchAlignment||"auto"===this._pitchAlignment?i="rotateX(0deg)":"map"===this._pitchAlignment&&(i=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||t&&"moveend"!==t.type||(this._pos=this._pos.round()),o.setTransform(this._element,`${Wi[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${i} ${n}`),a.frameAsync(new AbortController).then((()=>{this._updateOpacity(t&&"moveend"===t.type)})).catch((()=>{}))},this._onMove=t=>{if(!this._isDragging){const e=this._clickTolerance||this._map._clickTolerance;this._isDragging=t.point.dist(this._pointerdownPos)>=e}this._isDragging&&(this._pos=t.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none","pending"===this._state&&(this._state="active",this.fire(new e.k("dragstart"))),this.fire(new e.k("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),"active"===this._state&&this.fire(new e.k("dragend")),this._state="inactive"},this._addDragHandler=t=>{this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=t&&t.anchor||"center",this._color=t&&t.color||"#3FB1CE",this._scale=t&&t.scale||1,this._draggable=t&&t.draggable||!1,this._clickTolerance=t&&t.clickTolerance||0,this._subpixelPositioning=t&&t.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=t&&t.rotation||0,this._rotationAlignment=t&&t.rotationAlignment||"auto",this._pitchAlignment=t&&t.pitchAlignment&&"auto"!==t.pitchAlignment?t.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(null==t?void 0:t.opacity,null==t?void 0:t.opacityWhenCovered),t&&t.element)this._element=t.element,this._offset=e.P.convert(t&&t.offset||[0,0]);else{this._defaultMarker=!0,this._element=o.create("div");const r=o.createNS("http://www.w3.org/2000/svg","svg"),n=41,i=27;r.setAttributeNS(null,"display","block"),r.setAttributeNS(null,"height",`${n}px`),r.setAttributeNS(null,"width",`${i}px`),r.setAttributeNS(null,"viewBox",`0 0 ${i} ${n}`);const a=o.createNS("http://www.w3.org/2000/svg","g");a.setAttributeNS(null,"stroke","none"),a.setAttributeNS(null,"stroke-width","1"),a.setAttributeNS(null,"fill","none"),a.setAttributeNS(null,"fill-rule","evenodd");const s=o.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"fill-rule","nonzero");const l=o.createNS("http://www.w3.org/2000/svg","g");l.setAttributeNS(null,"transform","translate(3.0, 29.0)"),l.setAttributeNS(null,"fill","#000000");const c=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(const t of c){const e=o.createNS("http://www.w3.org/2000/svg","ellipse");e.setAttributeNS(null,"opacity","0.04"),e.setAttributeNS(null,"cx","10.5"),e.setAttributeNS(null,"cy","5.80029008"),e.setAttributeNS(null,"rx",t.rx),e.setAttributeNS(null,"ry",t.ry),l.appendChild(e)}const u=o.createNS("http://www.w3.org/2000/svg","g");u.setAttributeNS(null,"fill",this._color);const h=o.createNS("http://www.w3.org/2000/svg","path");h.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),u.appendChild(h);const f=o.createNS("http://www.w3.org/2000/svg","g");f.setAttributeNS(null,"opacity","0.25"),f.setAttributeNS(null,"fill","#000000");const p=o.createNS("http://www.w3.org/2000/svg","path");p.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),f.appendChild(p);const d=o.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"transform","translate(6.0, 7.0)"),d.setAttributeNS(null,"fill","#FFFFFF");const m=o.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"transform","translate(8.0, 8.0)");const g=o.createNS("http://www.w3.org/2000/svg","circle");g.setAttributeNS(null,"fill","#000000"),g.setAttributeNS(null,"opacity","0.25"),g.setAttributeNS(null,"cx","5.5"),g.setAttributeNS(null,"cy","5.5"),g.setAttributeNS(null,"r","5.4999962");const y=o.createNS("http://www.w3.org/2000/svg","circle");y.setAttributeNS(null,"fill","#FFFFFF"),y.setAttributeNS(null,"cx","5.5"),y.setAttributeNS(null,"cy","5.5"),y.setAttributeNS(null,"r","5.4999962"),m.appendChild(g),m.appendChild(y),s.appendChild(l),s.appendChild(u),s.appendChild(f),s.appendChild(d),s.appendChild(m),r.appendChild(s),r.setAttributeNS(null,"height",n*this._scale+"px"),r.setAttributeNS(null,"width",i*this._scale+"px"),this._element.appendChild(r),this._offset=e.P.convert(t&&t.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",(t=>{t.preventDefault()})),this._element.addEventListener("mousedown",(t=>{t.preventDefault()})),Yi(this._element,this._anchor,"marker"),t&&t.className)for(const e of t.className.split(" "))this._element.classList.add(e);this._popup=null}addTo(t){return this.remove(),this._map=t,this._element.setAttribute("aria-label",t._getUIString("Marker.Title")),t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),t.on("terrain",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("terrain",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),o.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),t){if(!("offset"in t.options)){const e=38.1,r=13.5,n=Math.abs(r)/Math.SQRT2;t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-e],"bottom-left":[n,-1*(e-r+n)],"bottom-right":[-n,-1*(e-r+n)],left:[r,-1*(e-r)],right:[-r,-1*(e-r)]}:this._offset}this._popup=t,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(t){return this._subpixelPositioning=t,this}getPopup(){return this._popup}togglePopup(){const t=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:t?(t.isOpen()?t.remove():(t.setLngLat(this._lngLat),t.addTo(this._map)),this):this}_updateOpacity(t=!1){var r,n;if(!(null===(r=this._map)||void 0===r?void 0:r.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(t)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null}),100)}const i=this._map,a=i.terrain.depthAtPoint(this._pos),o=i.terrain.getElevationForLngLatZoom(this._lngLat,i.transform.tileZoom);if(i.transform.lngLatToCameraDepth(this._lngLat,o)-a<.006)return void(this._element.style.opacity=this._opacity);const s=-this._offset.y/i.transform._pixelPerMeter,l=Math.sin(i.getPitch()*Math.PI/180)*s,c=i.terrain.depthAtPoint(new e.P(this._pos.x,this._pos.y-this._offset.y)),u=i.transform.lngLatToCameraDepth(this._lngLat,o+l)-c>.006;(null===(n=this._popup)||void 0===n?void 0:n.isOpen())&&u&&this._popup.remove(),this._element.style.opacity=u?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(t){return this._offset=e.P.convert(t),this._update(),this}addClassName(t){this._element.classList.add(t)}removeClassName(t){this._element.classList.remove(t)}toggleClassName(t){return this._element.classList.toggle(t)}setDraggable(t){return this._draggable=!!t,this._map&&(t?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(t){return this._rotation=t||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t&&"auto"!==t?t:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(t,e){return void 0===t&&void 0===e&&(this._opacity="1",this._opacityWhenCovered="0.2"),void 0!==t&&(this._opacity=t),void 0!==e&&(this._opacityWhenCovered=e),this._map&&this._updateOpacity(!0),this}}const $i={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let Ji=0,Ki=!1;class Qi extends e.E{constructor(t){super(),this._onSuccess=t=>{if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.k("outofmaxbounds",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&"OFF"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&"ACTIVE_LOCK"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new e.k("geolocate",t)),this._finish()}},this._updateCamera=t=>{const r=new e.N(t.coords.longitude,t.coords.latitude),n=t.coords.accuracy,i=this._map.getBearing(),a=e.e({bearing:i},this.options.fitBoundsOptions),o=X.fromLngLat(r,n);this._map.fitBounds(o,a,{geolocateSource:!0})},this._updateMarker=t=>{if(t){const r=new e.N(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(r).addTo(this._map),this._userLocationDotMarker.setLngLat(r).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=t=>{if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t),void 0!==this._geolocationWatchID&&this._clearWatch()}else{if(3===t.code&&Ki)return;this._setErrorState()}"OFF"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new e.k("error",t)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this._geolocateButton=o.create("button","maplibregl-ctrl-geolocate",this._container),o.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=t=>{if(this._map){if(!1===t){e.w("Geolocation support is not available so the GeolocateControl will be disabled.");const t=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t)}else{const t=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=t,this._geolocateButton.setAttribute("aria-label",t)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=o.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new Xi({element:this._dotElement}),this._circleElement=o.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Xi({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",(()=>this.trigger())),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",(t=>{const r=t.originalEvent&&"resize"===t.originalEvent.type;t.geolocateSource||"ACTIVE_LOCK"!==this._watchState||r||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new e.k("trackuserlocationend")),this.fire(new e.k("userlocationlostfocus")))}))}},this.options=e.e({},$i,t)}onAdd(t){return this._map=t,this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return e._(this,arguments,void 0,(function*(t=!1){if(void 0!==Gi&&!t)return Gi;if(void 0===window.navigator.permissions)return Gi=!!window.navigator.geolocation,Gi;try{const t=yield window.navigator.permissions.query({name:"geolocation"});Gi="denied"!==t.state}catch(t){Gi=!!window.navigator.geolocation}return Gi}))}().then((t=>this._finishSetupUI(t))),this._container}onRemove(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),o.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,Ji=0,Ki=!1}_isOutOfMapMaxBounds(t){const e=this._map.getMaxBounds(),r=t.coords;return e&&(r.longitudee.getEast()||r.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const t=this._map.getBounds(),e=t.getSouthEast(),r=t.getNorthEast(),n=e.distanceTo(r),i=this._map._container.clientHeight,a=Math.ceil(this._accuracy/(n/i)*2);this._circleElement.style.width=`${a}px`,this._circleElement.style.height=`${a}px`}trigger(){if(!this._setup)return e.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new e.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":Ji--,Ki=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new e.k("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.k("trackuserlocationstart")),this.fire(new e.k("userlocationfocus"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if("OFF"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let t;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),Ji++,Ji>1?(t={maximumAge:6e5,timeout:0},Ki=!0):(t=this.options.positionOptions,Ki=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}}const ta={maxWidth:100,unit:"metric"};function ea(t,e,r){const n=r&&r.maxWidth||100,i=t._container.clientHeight/2,a=t.unproject([0,i]),o=t.unproject([n,i]),s=a.distanceTo(o);if(r&&"imperial"===r.unit){const r=3.2808*s;r>5280?ra(e,n,r/5280,t._getUIString("ScaleControl.Miles")):ra(e,n,r,t._getUIString("ScaleControl.Feet"))}else r&&"nautical"===r.unit?ra(e,n,s/1852,t._getUIString("ScaleControl.NauticalMiles")):s>=1e3?ra(e,n,s/1e3,t._getUIString("ScaleControl.Kilometers")):ra(e,n,s,t._getUIString("ScaleControl.Meters"))}function ra(t,e,r,n){const i=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let r=t/e;return r=r>=10?10:r>=5?5:r>=3?3:r>=2?2:r>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(r),e*r}(r),a=i/r;t.style.width=e*a+"px",t.innerHTML=`${i} ${n}`}class na extends e.E{constructor(t={}){super(),this._onFullscreenChange=()=>{var t;let e=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;null===(t=null==e?void 0:e.shadowRoot)||void 0===t?void 0:t.fullscreenElement;)e=e.shadowRoot.fullscreenElement;e===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,t&&t.container&&(t.container instanceof HTMLElement?this._container=t.container:e.w("Full screen control 'container' must be a DOM element.")),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){o.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){const t=this._fullscreenButton=o.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);o.create("span","maplibregl-ctrl-icon",t).setAttribute("aria-hidden","true"),t.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){const t=this._getTitle();this._fullscreenButton.setAttribute("aria-label",t),this._fullscreenButton.title=t}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new e.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new e.k("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}}const ia={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},aa=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");class oa extends e.E{constructor(t){super(),this.remove=()=>(this._content&&o.remove(this._content),this._container&&(o.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new e.k("close"))),this),this._onMouseUp=t=>{this._update(t.point)},this._onMouseMove=t=>{this._update(t.point)},this._onDrag=t=>{this._update(t.point)},this._update=t=>{var e;const r=this._lngLat||this._trackPointer;if(!this._map||!r||!this._content)return;if(!this._container){if(this._container=o.create("div","maplibregl-popup",this._map.getContainer()),this._tip=o.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(const t of this.options.className.split(" "))this._container.classList.add(t);this._closeButton&&this._closeButton.setAttribute("aria-label",this._map._getUIString("Popup.Close")),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._map.transform.renderWorldCopies&&!this._trackPointer?this._lngLat=Zi(this._lngLat,this._flatPos,this._map.transform):this._lngLat=null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._trackPointer&&!t)return;const n=this._flatPos=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&t?t:this._map.transform.locationPoint(this._lngLat));let i=this.options.anchor;const a=sa(this.options.offset);if(!i){const t=this._container.offsetWidth,e=this._container.offsetHeight;let r;r=n.y+a.bottom.ythis._map.transform.height-e?["bottom"]:[],n.xthis._map.transform.width-t/2&&r.push("right"),i=0===r.length?"bottom":r.join("-")}let s=n.add(a[i]);this.options.subpixelPositioning||(s=s.round()),o.setTransform(this._container,`${Wi[i]} translate(${s.x}px,${s.y}px)`),Yi(this._container,i,"popup")},this._onClose=()=>{this.remove()},this.options=e.e(Object.create(ia),t)}addTo(t){return this._map&&this.remove(),this._map=t,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new e.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(t){return this.setDOMContent(document.createTextNode(t))}setHTML(t){const e=document.createDocumentFragment(),r=document.createElement("body");let n;for(r.innerHTML=t;n=r.firstChild,n;)e.appendChild(n);return this.setDOMContent(e)}getMaxWidth(){var t;return null===(t=this._container)||void 0===t?void 0:t.style.maxWidth}setMaxWidth(t){return this.options.maxWidth=t,this._update(),this}setDOMContent(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=o.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){return this._container&&this._container.classList.add(t),this}removeClassName(t){return this._container&&this._container.classList.remove(t),this}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}setSubpixelPositioning(t){this.options.subpixelPositioning=t}_createCloseButton(){this.options.closeButton&&(this._closeButton=o.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(aa);t&&t.focus()}}function sa(t){if(t){if("number"==typeof t){const r=Math.round(Math.abs(t)/Math.SQRT2);return{center:new e.P(0,0),top:new e.P(0,t),"top-left":new e.P(r,r),"top-right":new e.P(-r,r),bottom:new e.P(0,-t),"bottom-left":new e.P(r,-r),"bottom-right":new e.P(-r,-r),left:new e.P(t,0),right:new e.P(-t,0)}}if(t instanceof e.P||Array.isArray(t)){const r=e.P.convert(t);return{center:r,top:r,"top-left":r,"top-right":r,bottom:r,"bottom-left":r,"bottom-right":r,left:r,right:r}}return{center:e.P.convert(t.center||[0,0]),top:e.P.convert(t.top||[0,0]),"top-left":e.P.convert(t["top-left"]||[0,0]),"top-right":e.P.convert(t["top-right"]||[0,0]),bottom:e.P.convert(t.bottom||[0,0]),"bottom-left":e.P.convert(t["bottom-left"]||[0,0]),"bottom-right":e.P.convert(t["bottom-right"]||[0,0]),left:e.P.convert(t.left||[0,0]),right:e.P.convert(t.right||[0,0])}}return sa(new e.P(0,0))}const la=r;t.AJAXError=e.bg,t.Evented=e.E,t.LngLat=e.N,t.MercatorCoordinate=e.Z,t.Point=e.P,t.addProtocol=e.bh,t.config=e.a,t.removeProtocol=e.bi,t.AttributionControl=Li,t.BoxZoomHandler=Gn,t.CanvasSource=it,t.CooperativeGesturesHandler=Ti,t.DoubleClickZoomHandler=yi,t.DragPanHandler=_i,t.DragRotateHandler=bi,t.EdgeInsets=Mn,t.FullscreenControl=na,t.GeoJSONSource=tt,t.GeolocateControl=Qi,t.Hash=Ln,t.ImageSource=rt,t.KeyboardHandler=pi,t.LngLatBounds=X,t.LogoControl=Ii,t.Map=class extends Ei{constructor(t){e.be.mark(e.bf.create);const r=Object.assign(Object.assign({},Ui),t);if(null!=r.minZoom&&null!=r.maxZoom&&r.minZoom>r.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(null!=r.minPitch&&null!=r.maxPitch&&r.minPitch>r.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(null!=r.minPitch&&r.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(null!=r.maxPitch&&r.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new En(r.minZoom,r.maxZoom,r.minPitch,r.maxPitch,r.renderWorldCopies),{bearingSnap:r.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Pi,this._controls=[],this._mapId=e.a4(),this._contextLost=t=>{t.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new e.k("webglcontextlost",{originalEvent:t}))},this._contextRestored=t=>{this._setupPainter(),this.resize(),this._update(),this.fire(new e.k("webglcontextrestored",{originalEvent:t}))},this._onMapScroll=t=>{if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=r.interactive,this._maxTileCacheSize=r.maxTileCacheSize,this._maxTileCacheZoomLevels=r.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=!0===r.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=!0===r.preserveDrawingBuffer,this._antialias=!0===r.antialias,this._trackResize=!0===r.trackResize,this._bearingSnap=r.bearingSnap,this._refreshExpiredTiles=!0===r.refreshExpiredTiles,this._fadeDuration=r.fadeDuration,this._crossSourceCollisions=!0===r.crossSourceCollisions,this._collectResourceTiming=!0===r.collectResourceTiming,this._locale=Object.assign(Object.assign({},Ni),r.locale),this._clickTolerance=r.clickTolerance,this._overridePixelRatio=r.pixelRatio,this._maxCanvasSize=r.maxCanvasSize,this.transformCameraUpdate=r.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=!0===r.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=p.addThrottleControl((()=>this.isMoving())),this._requestManager=new d(r.transformRequest),"string"==typeof r.container){if(this._container=document.getElementById(r.container),!this._container)throw new Error(`Container '${r.container}' not found.`)}else{if(!(r.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=r.container}if(r.maxBounds&&this.setMaxBounds(r.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",(()=>this._update(!1))).on("moveend",(()=>this._update(!1))).on("zoom",(()=>this._update(!0))).on("terrain",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)})).once("idle",(()=>{this._idleTriggered=!0})),"undefined"!=typeof window){addEventListener("online",this._onWindowOnline,!1);let t=!1;const e=Cn((t=>{this._trackResize&&!this._removed&&this.resize(t)._update()}),50);this._resizeObserver=new ResizeObserver((r=>{t?e(r):t=!0})),this._resizeObserver.observe(this._container)}this.handlers=new Si(this,r);const n="string"==typeof r.hash&&r.hash||void 0;this._hash=r.hash&&new Ln(n).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:r.center,zoom:r.zoom,bearing:r.bearing,pitch:r.pitch}),r.bounds&&(this.resize(),this.fitBounds(r.bounds,e.e({},r.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=r.localIdeographFontFamily,this._validateStyle=r.validateStyle,r.style&&this.setStyle(r.style,{localIdeographFontFamily:r.localIdeographFontFamily}),r.attributionControl&&this.addControl(new Li("boolean"==typeof r.attributionControl?void 0:r.attributionControl)),r.maplibreLogo&&this.addControl(new Ii,r.logoPosition),this.on("style.load",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)})),this.on("data",(t=>{this._update("style"===t.dataType),this.fire(new e.k(`${t.dataType}data`,t))})),this.on("dataloading",(t=>{this.fire(new e.k(`${t.dataType}dataloading`,t))})),this.on("dataabort",(t=>{this.fire(new e.k("sourcedataabort",t))}))}_getMapId(){return this._mapId}addControl(t,r){if(void 0===r&&(r=t.getDefaultPosition?t.getDefaultPosition():"top-right"),!t||!t.onAdd)return this.fire(new e.j(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const n=t.onAdd(this);this._controls.push(t);const i=this._controlPositions[r];return-1!==r.indexOf("bottom")?i.insertBefore(n,i.firstChild):i.appendChild(n),this}removeControl(t){if(!t||!t.onRemove)return this.fire(new e.j(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const r=this._controls.indexOf(t);return r>-1&&this._controls.splice(r,1),t.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}calculateCameraOptionsFromTo(t,e,r,n){return null==n&&this.terrain&&(n=this.terrain.getElevationForLngLatZoom(r,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(t,e,r,n)}resize(t){var r;const n=this._containerDimensions(),i=n[0],a=n[1],o=this._getClampedPixelRatio(i,a);if(this._resizeCanvas(i,a,o),this.painter.resize(i,a,o),this.painter.overLimit()){const t=this.painter.context.gl;this._maxCanvasSize=[t.drawingBufferWidth,t.drawingBufferHeight];const e=this._getClampedPixelRatio(i,a);this._resizeCanvas(i,a,e),this.painter.resize(i,a,e)}this.transform.resize(i,a),null===(r=this._requestedCameraState)||void 0===r||r.resize(i,a);const s=!this._moving;return s&&(this.stop(),this.fire(new e.k("movestart",t)).fire(new e.k("move",t))),this.fire(new e.k("resize",t)),s&&this.fire(new e.k("moveend",t)),this}_getClampedPixelRatio(t,e){const{0:r,1:n}=this._maxCanvasSize,i=this.getPixelRatio(),a=t*i,o=e*i,s=a>r?r/a:1,l=o>n?n/o:1;return Math.min(s,l)*i}getPixelRatio(){var t;return null!==(t=this._overridePixelRatio)&&void 0!==t?t:devicePixelRatio}setPixelRatio(t){this._overridePixelRatio=t,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(t){return this.transform.setMaxBounds(X.convert(t)),this._update()}setMinZoom(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(t){if((t=null==t?0:t)<0)throw new Error("minPitch must be greater than or equal to 0");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(t){return this.transform.renderWorldCopies=t,this._update()}project(t){return this.transform.locationPoint(e.N.convert(t),this.style&&this.terrain)}unproject(t){return this.transform.pointLocation(e.P.convert(t),this.terrain)}isMoving(){var t;return this._moving||(null===(t=this.handlers)||void 0===t?void 0:t.isMoving())}isZooming(){var t;return this._zooming||(null===(t=this.handlers)||void 0===t?void 0:t.isZooming())}isRotating(){var t;return this._rotating||(null===(t=this.handlers)||void 0===t?void 0:t.isRotating())}_createDelegatedListener(t,e,r){if("mouseenter"===t||"mouseover"===t){let n=!1;const i=i=>{const a=this.getLayer(e)?this.queryRenderedFeatures(i.point,{layers:[e]}):[];a.length?n||(n=!0,r.call(this,new Nn(t,this,i.originalEvent,{features:a}))):n=!1};return{layer:e,listener:r,delegates:{mousemove:i,mouseout:()=>{n=!1}}}}if("mouseleave"===t||"mouseout"===t){let n=!1;const i=i=>{(this.getLayer(e)?this.queryRenderedFeatures(i.point,{layers:[e]}):[]).length?n=!0:n&&(n=!1,r.call(this,new Nn(t,this,i.originalEvent)))},a=e=>{n&&(n=!1,r.call(this,new Nn(t,this,e.originalEvent)))};return{layer:e,listener:r,delegates:{mousemove:i,mouseout:a}}}{const n=t=>{const n=this.getLayer(e)?this.queryRenderedFeatures(t.point,{layers:[e]}):[];n.length&&(t.features=n,r.call(this,t),delete t.features)};return{layer:e,listener:r,delegates:{[t]:n}}}}on(t,e,r){if(void 0===r)return super.on(t,e);const n=this._createDelegatedListener(t,e,r);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(n);for(const t in n.delegates)this.on(t,n.delegates[t]);return this}once(t,e,r){if(void 0===r)return super.once(t,e);const n=this._createDelegatedListener(t,e,r);for(const t in n.delegates)this.once(t,n.delegates[t]);return this}off(t,e,r){if(void 0===r)return super.off(t,e);return this._delegatedListeners&&this._delegatedListeners[t]&&(n=>{const i=n[t];for(let t=0;tthis._updateStyle(t,e)));const r=this.style&&e.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!t)),t?(this.style=new de(this,e||{}),this.style.setEventedParent(this,{style:this.style}),"string"==typeof t?this.style.loadURL(t,e,r):this.style.loadJSON(t,e,r),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new de(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(t,r){if("string"==typeof t){const n=t,i=this._requestManager.transformRequest(n,"Style");e.h(i,new AbortController).then((t=>{this._updateDiff(t.data,r)})).catch((t=>{t&&this.fire(new e.j(t))}))}else"object"==typeof t&&this._updateDiff(t,r)}_updateDiff(t,r){try{this.style.setState(t,r)&&this._update(!0)}catch(n){e.w(`Unable to perform style diff: ${n.message||n.error||n}. Rebuilding the style from scratch.`),this._updateStyle(t,r)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():e.w("There is no style added to the map.")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(t){const r=this.style&&this.style.sourceCaches[t];if(void 0!==r)return r.loaded();this.fire(new e.j(new Error(`There is no source with ID '${t}'`)))}setTerrain(t){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),t){const r=this.style.sourceCaches[t.source];if(!r)throw new Error(`cannot load terrain, because there exists no source with ID: ${t.source}`);null===this.terrain&&r.reload();for(const r in this.style._layers){const n=this.style._layers[r];"hillshade"===n.type&&n.source===t.source&&e.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new Di(this.painter,r,t),this.painter.renderToTexture=new Bi(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=e=>{"style"===e.dataType?this.terrain.sourceCache.freeRtt():"source"===e.dataType&&e.tile&&(e.sourceId!==t.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(e.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new e.k("terrain",{terrain:t})),this}getTerrain(){var t,e;return null!==(e=null===(t=this.terrain)||void 0===t?void 0:t.options)&&void 0!==e?e:null}areTilesLoaded(){const t=this.style&&this.style.sourceCaches;for(const e in t){const r=t[e]._tiles;for(const t in r){const e=r[t];if("loaded"!==e.state&&"errored"!==e.state)return!1}}return!0}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(t,r,n={}){const{pixelRatio:i=1,sdf:o=!1,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h}=n;this._lazyInitEmptyStyle();if(!(r instanceof HTMLImageElement||e.b(r))){if(void 0===r.width||void 0===r.height)return this.fire(new e.j(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{const{width:n,height:a,data:f}=r,p=r;return this.style.addImage(t,{data:new e.R({width:n,height:a},new Uint8Array(f)),pixelRatio:i,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h,sdf:o,version:0,userImage:p}),p.onAdd&&p.onAdd(this,t),this}}{const{width:n,height:f,data:p}=a.getImageData(r);this.style.addImage(t,{data:new e.R({width:n,height:f},p),pixelRatio:i,stretchX:s,stretchY:l,content:c,textFitWidth:u,textFitHeight:h,sdf:o,version:0})}}updateImage(t,r){const n=this.style.getImage(t);if(!n)return this.fire(new e.j(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const i=r instanceof HTMLImageElement||e.b(r)?a.getImageData(r):r,{width:o,height:s,data:l}=i;if(void 0===o||void 0===s)return this.fire(new e.j(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(o!==n.data.width||s!==n.data.height)return this.fire(new e.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));const c=!(r instanceof HTMLImageElement||e.b(r));return n.data.replace(l,c),this.style.updateImage(t,n),this}getImage(t){return this.style.getImage(t)}hasImage(t){return t?!!this.style.getImage(t):(this.fire(new e.j(new Error("Missing required image id"))),!1)}removeImage(t){this.style.removeImage(t)}loadImage(t){return p.getImage(this._requestManager.transformRequest(t,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(t,e,r){return this.style.setLayerZoomRange(t,e,r),this._update(!0)}setFilter(t,e,r={}){return this.style.setFilter(t,e,r),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,r,n={}){return this.style.setPaintProperty(t,e,r,n),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,r,n={}){return this.style.setLayoutProperty(t,e,r,n),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setGlyphs(t,e={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(t,e),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(t,e,r={}){return this._lazyInitEmptyStyle(),this.style.addSprite(t,e,r,(t=>{t||this._update(!0)})),this}removeSprite(t){return this._lazyInitEmptyStyle(),this.style.removeSprite(t),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(t,e={}){return this._lazyInitEmptyStyle(),this.style.setSprite(t,e,(t=>{t||this._update(!0)})),this}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setSky(t){return this._lazyInitEmptyStyle(),this.style.setSky(t),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(t,e){return this.style.setFeatureState(t,e),this._update()}removeFeatureState(t,e){return this.style.removeFeatureState(t,e),this._update()}getFeatureState(t){return this.style.getFeatureState(t)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]}_setupContainer(){const t=this._container;t.classList.add("maplibregl-map");const e=this._canvasContainer=o.create("div","maplibregl-canvas-container",t);this._interactive&&e.classList.add("maplibregl-interactive"),this._canvas=o.create("canvas","maplibregl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",this._interactive?"0":"-1"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region");const r=this._containerDimensions(),n=this._getClampedPixelRatio(r[0],r[1]);this._resizeCanvas(r[0],r[1],n);const i=this._controlContainer=o.create("div","maplibregl-control-container",t),a=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach((t=>{a[t]=o.create("div",`maplibregl-ctrl-${t} `,i)})),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(t,e,r){this._canvas.width=Math.floor(r*t),this._canvas.height=Math.floor(r*e),this._canvas.style.width=`${t}px`,this._canvas.style.height=`${e}px`}_setupPainter(){const t={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1};let e=null;this._canvas.addEventListener("webglcontextcreationerror",(r=>{e={requestedAttributes:t},r&&(e.statusMessage=r.statusMessage,e.type=r.type)}),{once:!0});const r=this._canvas.getContext("webgl2",t)||this._canvas.getContext("webgl",t);if(!r){const t="Failed to initialize WebGL";throw e?(e.message=t,new Error(JSON.stringify(e))):new Error(t)}this.painter=new Tn(r,this.transform),s.testSupport(r)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(t){return this._update(),this._renderTaskQueue.add(t)}_cancelRenderFrame(t){this._renderTaskQueue.remove(t)}_render(t){const r=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(t),this._removed)return;let n=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const t=this.transform.zoom,i=a.now();this.style.zoomHistory.update(t,i);const o=new e.a9(t,{now:i,fadeDuration:r,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),s=o.crossFadingFactor();1===s&&s===this._crossFadingFactor||(n=!0,this._crossFadingFactor=s),this.style.update(o)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,r,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:r,showPadding:this.showPadding}),this.fire(new e.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,e.be.mark(e.bf.load),this.fire(new e.k("load"))),this.style&&(this.style.hasTransitions()||n)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const i=this._sourcesDirty||this._styleDirty||this._placementDirty;return i||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new e.k("idle")),!this._loaded||this._fullyLoaded||i||(this._fullyLoaded=!0,e.be.mark(e.bf.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var t;this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),"undefined"!=typeof window&&removeEventListener("online",this._onWindowOnline,!1),p.removeThrottleControl(this._imageQueueHandle),null===(t=this._resizeObserver)||void 0===t||t.disconnect();const r=this.painter.context.gl.getExtension("WEBGL_lose_context");(null==r?void 0:r.loseContext)&&r.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),o.remove(this._canvasContainer),o.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),e.be.clearMetrics(),this._removed=!0,this.fire(new e.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,a.frameAsync(this._frameRequest).then((t=>{e.be.frame(t),this._frameRequest=null,this._render(t)})).catch((()=>{})))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update())}get showPadding(){return!!this._showPadding}set showPadding(t){this._showPadding!==t&&(this._showPadding=t,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update())}get repaint(){return!!this._repaint}set repaint(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(t){this._vertices=t,this._update()}get version(){return ji}getCameraTargetElevation(){return this.transform.elevation}},t.MapMouseEvent=Nn,t.MapTouchEvent=jn,t.MapWheelEvent=Un,t.Marker=Xi,t.NavigationControl=class{constructor(t){this._updateZoomButtons=()=>{const t=this._map.getZoom(),e=t===this._map.getMaxZoom(),r=t===this._map.getMinZoom();this._zoomInButton.disabled=e,this._zoomOutButton.disabled=r,this._zoomInButton.setAttribute("aria-disabled",e.toString()),this._zoomOutButton.setAttribute("aria-disabled",r.toString())},this._rotateCompassArrow=()=>{const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=t},this._setButtonTitle=(t,e)=>{const r=this._map._getUIString(`NavigationControl.${e}`);t.title=r,t.setAttribute("aria-label",r)},this.options=e.e({},qi,t),this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",(t=>t.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",(t=>this._map.zoomIn({},{originalEvent:t}))),o.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",(t=>this._map.zoomOut({},{originalEvent:t}))),o.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",(t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t})})),this._compassIcon=o.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Hi(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){o.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(t,e){const r=o.create("button",t,this._container);return r.type="button",r.addEventListener("click",e),r}},t.Popup=oa,t.RasterDEMTileSource=Q,t.RasterTileSource=K,t.ScaleControl=class{constructor(t){this._onMove=()=>{ea(this._map,this._container,this.options)},this.setUnit=t=>{this.options.unit=t,ea(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},ta),t)}getDefaultPosition(){return"bottom-left"}onAdd(t){return this._map=t,this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-scale",t.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){o.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},t.ScrollZoomHandler=gi,t.Style=de,t.TerrainControl=class{constructor(t){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.Disable")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.Enable"))},this.options=t}onAdd(t){return this._map=t,this._container=o.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=o.create("button","maplibregl-ctrl-terrain",this._container),o.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){o.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},t.TwoFingersTouchPitchHandler=hi,t.TwoFingersTouchRotateHandler=ci,t.TwoFingersTouchZoomHandler=si,t.TwoFingersTouchZoomRotateHandler=wi,t.VectorTileSource=J,t.VideoSource=nt,t.addSourceType=(t,r)=>e._(void 0,void 0,void 0,(function*(){if(ot(t))throw new Error(`A source type called "${t}" already exists.`);((t,e)=>{at[t]=e})(t,r)})),t.clearPrewarmedResources=function(){const t=j;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(F),j=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},t.getMaxParallelImageRequests=function(){return e.a.MAX_PARALLEL_IMAGE_REQUESTS},t.getRTLTextPluginStatus=function(){return ut().getRTLTextPluginStatus()},t.getVersion=function(){return la},t.getWorkerCount=function(){return B.workerCount},t.getWorkerUrl=function(){return e.a.WORKER_URL},t.importScriptInWorkers=function(t){return H().broadcast("IS",t)},t.prewarm=function(){V().acquire(F)},t.setMaxParallelImageRequests=function(t){e.a.MAX_PARALLEL_IMAGE_REQUESTS=t},t.setRTLTextPlugin=function(t,e){return ut().setRTLTextPlugin(t,e)},t.setWorkerCount=function(t){B.workerCount=t},t.setWorkerUrl=function(t){e.a.WORKER_URL=t}})),t}()},88640:function(t,e,r){"use strict";function n(t,e,r){t.prototype=e.prototype=r,r.constructor=t}function i(t,e){var r=Object.create(t.prototype);for(var n in e)r[n]=e[n];return r}function a(){}r.d(e,{GW:function(){return K},Dj:function(){return H}});var o=.7,s=1/o,l="\\s*([+-]?\\d+)\\s*",c="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",u="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",h=/^#([0-9a-f]{3,8})$/,f=new RegExp("^rgb\\(".concat(l,",").concat(l,",").concat(l,"\\)$")),p=new RegExp("^rgb\\(".concat(u,",").concat(u,",").concat(u,"\\)$")),d=new RegExp("^rgba\\(".concat(l,",").concat(l,",").concat(l,",").concat(c,"\\)$")),m=new RegExp("^rgba\\(".concat(u,",").concat(u,",").concat(u,",").concat(c,"\\)$")),g=new RegExp("^hsl\\(".concat(c,",").concat(u,",").concat(u,"\\)$")),y=new RegExp("^hsla\\(".concat(c,",").concat(u,",").concat(u,",").concat(c,"\\)$")),v={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function x(){return this.rgb().formatHex()}function _(){return this.rgb().formatRgb()}function b(t){var e,r;return t=(t+"").trim().toLowerCase(),(e=h.exec(t))?(r=e[1].length,e=parseInt(e[1],16),6===r?w(e):3===r?new A(e>>8&15|e>>4&240,e>>4&15|240&e,(15&e)<<4|15&e,1):8===r?T(e>>24&255,e>>16&255,e>>8&255,(255&e)/255):4===r?T(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|240&e,((15&e)<<4|15&e)/255):null):(e=f.exec(t))?new A(e[1],e[2],e[3],1):(e=p.exec(t))?new A(255*e[1]/100,255*e[2]/100,255*e[3]/100,1):(e=d.exec(t))?T(e[1],e[2],e[3],e[4]):(e=m.exec(t))?T(255*e[1]/100,255*e[2]/100,255*e[3]/100,e[4]):(e=g.exec(t))?I(e[1],e[2]/100,e[3]/100,1):(e=y.exec(t))?I(e[1],e[2]/100,e[3]/100,e[4]):v.hasOwnProperty(t)?w(v[t]):"transparent"===t?new A(NaN,NaN,NaN,0):null}function w(t){return new A(t>>16&255,t>>8&255,255&t,1)}function T(t,e,r,n){return n<=0&&(t=e=r=NaN),new A(t,e,r,n)}function k(t,e,r,n){return 1===arguments.length?((i=t)instanceof a||(i=b(i)),i?new A((i=i.rgb()).r,i.g,i.b,i.opacity):new A):new A(t,e,r,null==n?1:n);var i}function A(t,e,r,n){this.r=+t,this.g=+e,this.b=+r,this.opacity=+n}function M(){return"#".concat(L(this.r)).concat(L(this.g)).concat(L(this.b))}function S(){var t=E(this.opacity);return"".concat(1===t?"rgb(":"rgba(").concat(C(this.r),", ").concat(C(this.g),", ").concat(C(this.b)).concat(1===t?")":", ".concat(t,")"))}function E(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function C(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function L(t){return((t=C(t))<16?"0":"")+t.toString(16)}function I(t,e,r,n){return n<=0?t=e=r=NaN:r<=0||r>=1?t=e=NaN:e<=0&&(t=NaN),new z(t,e,r,n)}function P(t){if(t instanceof z)return new z(t.h,t.s,t.l,t.opacity);if(t instanceof a||(t=b(t)),!t)return new z;if(t instanceof z)return t;var e=(t=t.rgb()).r/255,r=t.g/255,n=t.b/255,i=Math.min(e,r,n),o=Math.max(e,r,n),s=NaN,l=o-i,c=(o+i)/2;return l?(s=e===o?(r-n)/l+6*(r0&&c<1?0:s,new z(s,l,c,t.opacity)}function z(t,e,r,n){this.h=+t,this.s=+e,this.l=+r,this.opacity=+n}function O(t){return(t=(t||0)%360)<0?t+360:t}function D(t){return Math.max(0,Math.min(1,t||0))}function R(t,e,r){return 255*(t<60?e+(r-e)*t/60:t<180?r:t<240?e+(r-e)*(240-t)/60:e)}function F(t,e,r,n,i){var a=t*t,o=a*t;return((1-3*t+3*a-o)*e+(4-6*a+3*o)*r+(1+3*t+3*a-3*o)*n+o*i)/6}n(a,b,{copy:function(t){return Object.assign(new this.constructor,this,t)},displayable:function(){return this.rgb().displayable()},hex:x,formatHex:x,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return P(this).formatHsl()},formatRgb:_,toString:_}),n(A,k,i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new A(this.r*t,this.g*t,this.b*t,this.opacity)},rgb:function(){return this},clamp:function(){return new A(C(this.r),C(this.g),C(this.b),E(this.opacity))},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:M,formatHex:M,formatHex8:function(){return"#".concat(L(this.r)).concat(L(this.g)).concat(L(this.b)).concat(L(255*(isNaN(this.opacity)?1:this.opacity)))},formatRgb:S,toString:S})),n(z,(function(t,e,r,n){return 1===arguments.length?P(t):new z(t,e,r,null==n?1:n)}),i(a,{brighter:function(t){return t=null==t?s:Math.pow(s,t),new z(this.h,this.s,this.l*t,this.opacity)},darker:function(t){return t=null==t?o:Math.pow(o,t),new z(this.h,this.s,this.l*t,this.opacity)},rgb:function(){var t=this.h%360+360*(this.h<0),e=isNaN(t)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*e,i=2*r-n;return new A(R(t>=240?t-240:t+120,i,n),R(t,i,n),R(t<120?t+240:t-120,i,n),this.opacity)},clamp:function(){return new z(O(this.h),D(this.s),D(this.l),E(this.opacity))},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var t=E(this.opacity);return"".concat(1===t?"hsl(":"hsla(").concat(O(this.h),", ").concat(100*D(this.s),"%, ").concat(100*D(this.l),"%").concat(1===t?")":", ".concat(t,")"))}}));var B=function(t){return function(){return t}};function N(t,e){var r=e-t;return r?function(t,e){return function(r){return t+r*e}}(t,r):B(isNaN(t)?e:t)}var j=function t(e){var r=function(t){return 1==(t=+t)?N:function(e,r){return r-e?function(t,e,r){return t=Math.pow(t,r),e=Math.pow(e,r)-t,r=1/r,function(n){return Math.pow(t+n*e,r)}}(e,r,t):B(isNaN(e)?r:e)}}(e);function n(t,e){var n=r((t=k(t)).r,(e=k(e)).r),i=r(t.g,e.g),a=r(t.b,e.b),o=N(t.opacity,e.opacity);return function(e){return t.r=n(e),t.g=i(e),t.b=a(e),t.opacity=o(e),t+""}}return n.gamma=t,n}(1);function U(t){return function(e){var r,n,i=e.length,a=new Array(i),o=new Array(i),s=new Array(i);for(r=0;r=1?(r=1,e-1):Math.floor(r*e),i=t[n],a=t[n+1],o=n>0?t[n-1]:2*i-a,s=na&&(i=e.slice(a,i),s[o]?s[o]+=i:s[++o]=i),(r=r[0])===(n=n[0])?s[o]?s[o]+=n:s[++o]=n:(s[++o]=null,l.push({i:o,x:H(r,n)})),a=Y.lastIndex;return aESRI"},"ortoInstaMaps":{"type":"raster","tiles":["https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png"],"tileSize":256,"maxzoom":13},"ortoICGC":{"type":"raster","tiles":["https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg"],"tileSize":256,"minzoom":13.1,"maxzoom":20},"openmaptiles":{"type":"vector","url":"https://geoserveis.icgc.cat/contextmaps/basemap.json"}},"sprite":"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1","glyphs":"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf","layers":[{"id":"background","type":"background","paint":{"background-color":"#F4F9F4"}},{"id":"ortoEsri","type":"raster","source":"ortoEsri","maxzoom":16,"layout":{"visibility":"visible"}},{"id":"ortoICGC","type":"raster","source":"ortoICGC","minzoom":13.1,"maxzoom":19,"layout":{"visibility":"visible"}},{"id":"ortoInstaMaps","type":"raster","source":"ortoInstaMaps","maxzoom":13,"layout":{"visibility":"visible"}},{"id":"waterway_tunnel","type":"line","source":"openmaptiles","source-layer":"waterway","minzoom":14,"filter":["all",["in","class","river","stream","canal"],["==","brunnel","tunnel"]],"layout":{"line-cap":"round"},"paint":{"line-color":"#a0c8f0","line-width":{"base":1.3,"stops":[[13,0.5],[20,6]]},"line-dasharray":[2,4]}},{"id":"waterway-other","type":"line","metadata":{"mapbox:group":"1444849382550.77"},"source":"openmaptiles","source-layer":"waterway","filter":["!in","class","canal","river","stream"],"layout":{"line-cap":"round"},"paint":{"line-color":"#a0c8f0","line-width":{"base":1.3,"stops":[[13,0.5],[20,2]]}}},{"id":"waterway-stream-canal","type":"line","metadata":{"mapbox:group":"1444849382550.77"},"source":"openmaptiles","source-layer":"waterway","filter":["all",["in","class","canal","stream"],["!=","brunnel","tunnel"]],"layout":{"line-cap":"round"},"paint":{"line-color":"#a0c8f0","line-width":{"base":1.3,"stops":[[13,0.5],[20,6]]}}},{"id":"waterway-river","type":"line","metadata":{"mapbox:group":"1444849382550.77"},"source":"openmaptiles","source-layer":"waterway","filter":["all",["==","class","river"],["!=","brunnel","tunnel"]],"layout":{"line-cap":"round"},"paint":{"line-color":"#a0c8f0","line-width":{"base":1.2,"stops":[[10,0.8],[20,4]]},"line-opacity":0.5}},{"id":"water-offset","type":"fill","metadata":{"mapbox:group":"1444849382550.77"},"source":"openmaptiles","source-layer":"water","maxzoom":8,"filter":["==","$type","Polygon"],"layout":{"visibility":"visible"},"paint":{"fill-opacity":0,"fill-color":"#a0c8f0","fill-translate":{"base":1,"stops":[[6,[2,0]],[8,[0,0]]]}}},{"id":"water","type":"fill","metadata":{"mapbox:group":"1444849382550.77"},"source":"openmaptiles","source-layer":"water","layout":{"visibility":"visible"},"paint":{"fill-color":"hsl(210, 67%, 85%)","fill-opacity":0}},{"id":"water-pattern","type":"fill","metadata":{"mapbox:group":"1444849382550.77"},"source":"openmaptiles","source-layer":"water","layout":{"visibility":"visible"},"paint":{"fill-translate":[0,2.5],"fill-pattern":"wave","fill-opacity":1}},{"id":"landcover-ice-shelf","type":"fill","metadata":{"mapbox:group":"1444849382550.77"},"source":"openmaptiles","source-layer":"landcover","filter":["==","subclass","ice_shelf"],"layout":{"visibility":"visible"},"paint":{"fill-color":"#fff","fill-opacity":{"base":1,"stops":[[0,0.9],[10,0.3]]}}},{"id":"tunnel-service-track-casing","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["in","class","service","track"]],"layout":{"line-join":"round"},"paint":{"line-color":"#cfcdca","line-dasharray":[0.5,0.25],"line-width":{"base":1.2,"stops":[[15,1],[16,4],[20,11]]}}},{"id":"tunnel-minor-casing","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["==","class","minor"]],"layout":{"line-join":"round"},"paint":{"line-color":"#cfcdca","line-opacity":{"stops":[[12,0],[12.5,1]]},"line-width":{"base":1.2,"stops":[[12,0.5],[13,1],[14,4],[20,15]]}}},{"id":"tunnel-secondary-tertiary-casing","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["in","class","secondary","tertiary"]],"layout":{"line-join":"round"},"paint":{"line-color":"#e9ac77","line-opacity":1,"line-width":{"base":1.2,"stops":[[8,1.5],[20,17]]}}},{"id":"tunnel-trunk-primary-casing","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["in","class","primary","trunk"]],"layout":{"line-join":"round"},"paint":{"line-color":"#e9ac77","line-width":{"base":1.2,"stops":[[5,0.4],[6,0.6],[7,1.5],[20,22]]},"line-opacity":0.7}},{"id":"tunnel-motorway-casing","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["==","class","motorway"]],"layout":{"line-join":"round","visibility":"visible"},"paint":{"line-color":"#e9ac77","line-dasharray":[0.5,0.25],"line-width":{"base":1.2,"stops":[[5,0.4],[6,0.6],[7,1.5],[20,22]]},"line-opacity":0.5}},{"id":"tunnel-path","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["==","brunnel","tunnel"],["==","class","path"]]],"paint":{"line-color":"#cba","line-dasharray":[1.5,0.75],"line-width":{"base":1.2,"stops":[[15,1.2],[20,4]]}}},{"id":"tunnel-service-track","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["in","class","service","track"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fff","line-width":{"base":1.2,"stops":[[15.5,0],[16,2],[20,7.5]]}}},{"id":"tunnel-minor","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["==","class","minor_road"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fff","line-opacity":1,"line-width":{"base":1.2,"stops":[[13.5,0],[14,2.5],[20,11.5]]}}},{"id":"tunnel-secondary-tertiary","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["in","class","secondary","tertiary"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fff4c6","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,10]]}}},{"id":"tunnel-trunk-primary","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["in","class","primary","trunk"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fff4c6","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,18]]},"line-opacity":0.5}},{"id":"tunnel-motorway","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["==","class","motorway"]],"layout":{"line-join":"round","visibility":"visible"},"paint":{"line-color":"#ffdaa6","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,18]]},"line-opacity":0.5}},{"id":"tunnel-railway","type":"line","metadata":{"mapbox:group":"1444849354174.1904"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","tunnel"],["==","class","rail"]],"paint":{"line-color":"#bbb","line-width":{"base":1.4,"stops":[[14,0.4],[15,0.75],[20,2]]},"line-dasharray":[2,2]}},{"id":"ferry","type":"line","source":"openmaptiles","source-layer":"transportation","filter":["all",["in","class","ferry"]],"layout":{"line-join":"round","visibility":"visible"},"paint":{"line-color":"rgba(108, 159, 182, 1)","line-width":1.1,"line-dasharray":[2,2]}},{"id":"aeroway-taxiway-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"aeroway","minzoom":12,"filter":["all",["in","class","taxiway"]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"rgba(153, 153, 153, 1)","line-width":{"base":1.5,"stops":[[11,2],[17,12]]},"line-opacity":1}},{"id":"aeroway-runway-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"aeroway","minzoom":12,"filter":["all",["in","class","runway"]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"rgba(153, 153, 153, 1)","line-width":{"base":1.5,"stops":[[11,5],[17,55]]},"line-opacity":1}},{"id":"aeroway-taxiway","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"aeroway","minzoom":4,"filter":["all",["in","class","taxiway"],["==","$type","LineString"]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"rgba(255, 255, 255, 1)","line-width":{"base":1.5,"stops":[[11,1],[17,10]]},"line-opacity":{"base":1,"stops":[[11,0],[12,1]]}}},{"id":"aeroway-runway","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"aeroway","minzoom":4,"filter":["all",["in","class","runway"],["==","$type","LineString"]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"rgba(255, 255, 255, 1)","line-width":{"base":1.5,"stops":[[11,4],[17,50]]},"line-opacity":{"base":1,"stops":[[11,0],[12,1]]}}},{"id":"highway-motorway-link-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":12,"filter":["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway_link"]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#e9ac77","line-opacity":1,"line-width":{"base":1.2,"stops":[[12,1],[13,3],[14,4],[20,15]]}}},{"id":"highway-link-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["all",["!in","brunnel","bridge","tunnel"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"#e9ac77","line-opacity":1,"line-width":{"base":1.2,"stops":[[12,1],[13,3],[14,4],[20,15]]}}},{"id":"highway-minor-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["!=","brunnel","tunnel"],["in","class","minor","service","track"]]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#cfcdca","line-opacity":{"stops":[[12,0],[12.5,0]]},"line-width":{"base":1.2,"stops":[[12,0.5],[13,1],[14,4],[20,15]]}}},{"id":"highway-secondary-tertiary-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["!in","brunnel","bridge","tunnel"],["in","class","secondary","tertiary"]],"layout":{"line-cap":"butt","line-join":"round","visibility":"visible"},"paint":{"line-color":"#e9ac77","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[8,1.5],[20,17]]}}},{"id":"highway-primary-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":5,"filter":["all",["!in","brunnel","bridge","tunnel"],["in","class","primary"]],"layout":{"line-cap":"butt","line-join":"round","visibility":"visible"},"paint":{"line-color":"#e9ac77","line-opacity":{"stops":[[7,0],[8,0.6]]},"line-width":{"base":1.2,"stops":[[7,0],[8,0.6],[9,1.5],[20,22]]}}},{"id":"highway-trunk-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":5,"filter":["all",["!in","brunnel","bridge","tunnel"],["in","class","trunk"]],"layout":{"line-cap":"butt","line-join":"round","visibility":"visible"},"paint":{"line-color":"#e9ac77","line-opacity":{"stops":[[5,0],[6,0.5]]},"line-width":{"base":1.2,"stops":[[5,0],[6,0.6],[7,1.5],[20,22]]}}},{"id":"highway-motorway-casing","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":4,"filter":["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway"]],"layout":{"line-cap":"butt","line-join":"round","visibility":"visible"},"paint":{"line-color":"#e9ac77","line-width":{"base":1.2,"stops":[[4,0],[5,0.4],[6,0.6],[7,1.5],[20,22]]},"line-opacity":{"stops":[[4,0],[5,0.5]]}}},{"id":"highway-path","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["==","class","path"]]],"paint":{"line-color":"#cba","line-dasharray":[1.5,0.75],"line-width":{"base":1.2,"stops":[[15,1.2],[20,4]]}}},{"id":"highway-motorway-link","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":12,"filter":["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway_link"]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#fc8","line-width":{"base":1.2,"stops":[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{"id":"highway-link","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["all",["!in","brunnel","bridge","tunnel"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"#fea","line-width":{"base":1.2,"stops":[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{"id":"highway-minor","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["!=","brunnel","tunnel"],["in","class","minor","service","track"]]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"#fff","line-opacity":0.5,"line-width":{"base":1.2,"stops":[[13.5,0],[14,2.5],[20,11.5]]}}},{"id":"highway-secondary-tertiary","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["!in","brunnel","bridge","tunnel"],["in","class","secondary","tertiary"]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"#fea","line-width":{"base":1.2,"stops":[[6.5,0],[8,0.5],[20,13]]},"line-opacity":0.5}},{"id":"highway-primary","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["in","class","primary"]]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"#fea","line-width":{"base":1.2,"stops":[[8.5,0],[9,0.5],[20,18]]},"line-opacity":0}},{"id":"highway-trunk","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["in","class","trunk"]]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"#fea","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,18]]},"line-opacity":0.5}},{"id":"highway-motorway","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","minzoom":5,"filter":["all",["==","$type","LineString"],["all",["!in","brunnel","bridge","tunnel"],["==","class","motorway"]]],"layout":{"line-cap":"round","line-join":"round","visibility":"visible"},"paint":{"line-color":"#fc8","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,18]]},"line-opacity":0.5}},{"id":"railway-transit","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["==","class","transit"],["!in","brunnel","tunnel"]]],"layout":{"visibility":"visible"},"paint":{"line-color":"hsla(0, 0%, 73%, 0.77)","line-width":{"base":1.4,"stops":[[14,0.4],[20,1]]}}},{"id":"railway-transit-hatching","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["==","class","transit"],["!in","brunnel","tunnel"]]],"layout":{"visibility":"visible"},"paint":{"line-color":"hsla(0, 0%, 73%, 0.68)","line-dasharray":[0.2,8],"line-width":{"base":1.4,"stops":[[14.5,0],[15,2],[20,6]]}}},{"id":"railway-service","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["==","class","rail"],["has","service"]]],"paint":{"line-color":"hsla(0, 0%, 73%, 0.77)","line-width":{"base":1.4,"stops":[[14,0.4],[20,1]]}}},{"id":"railway-service-hatching","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["==","class","rail"],["has","service"]]],"layout":{"visibility":"visible"},"paint":{"line-color":"hsla(0, 0%, 73%, 0.68)","line-dasharray":[0.2,8],"line-width":{"base":1.4,"stops":[[14.5,0],[15,2],[20,6]]}}},{"id":"railway","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["!has","service"],["!in","brunnel","bridge","tunnel"],["==","class","rail"]]],"paint":{"line-color":"#bbb","line-width":{"base":1.4,"stops":[[14,0.4],[15,0.75],[20,2]]}}},{"id":"railway-hatching","type":"line","metadata":{"mapbox:group":"1444849345966.4436"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["!has","service"],["!in","brunnel","bridge","tunnel"],["==","class","rail"]]],"paint":{"line-color":"#bbb","line-dasharray":[0.2,8],"line-width":{"base":1.4,"stops":[[14.5,0],[15,3],[20,8]]}}},{"id":"bridge-motorway-link-casing","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["==","class","motorway_link"]],"layout":{"line-join":"round"},"paint":{"line-color":"#e9ac77","line-opacity":1,"line-width":{"base":1.2,"stops":[[12,1],[13,3],[14,4],[20,15]]}}},{"id":"bridge-link-casing","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],"layout":{"line-join":"round"},"paint":{"line-color":"#e9ac77","line-opacity":1,"line-width":{"base":1.2,"stops":[[12,1],[13,3],[14,4],[20,15]]}}},{"id":"bridge-secondary-tertiary-casing","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["in","class","secondary","tertiary"]],"layout":{"line-join":"round"},"paint":{"line-color":"#e9ac77","line-opacity":1,"line-width":{"base":1.2,"stops":[[8,1.5],[20,28]]}}},{"id":"bridge-trunk-primary-casing","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["in","class","primary","trunk"]],"layout":{"line-join":"round"},"paint":{"line-color":"hsl(28, 76%, 67%)","line-width":{"base":1.2,"stops":[[5,0.4],[6,0.6],[7,1.5],[20,26]]}}},{"id":"bridge-motorway-casing","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["==","class","motorway"]],"layout":{"line-join":"round"},"paint":{"line-color":"#e9ac77","line-width":{"base":1.2,"stops":[[5,0.4],[6,0.6],[7,1.5],[20,22]]},"line-opacity":0.5}},{"id":"bridge-path-casing","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["==","brunnel","bridge"],["==","class","path"]]],"paint":{"line-color":"#f8f4f0","line-width":{"base":1.2,"stops":[[15,1.2],[20,18]]}}},{"id":"bridge-path","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","$type","LineString"],["all",["==","brunnel","bridge"],["==","class","path"]]],"paint":{"line-color":"#cba","line-width":{"base":1.2,"stops":[[15,1.2],[20,4]]},"line-dasharray":[1.5,0.75]}},{"id":"bridge-motorway-link","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["==","class","motorway_link"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fc8","line-width":{"base":1.2,"stops":[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{"id":"bridge-link","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["in","class","primary_link","secondary_link","tertiary_link","trunk_link"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fea","line-width":{"base":1.2,"stops":[[12.5,0],[13,1.5],[14,2.5],[20,11.5]]}}},{"id":"bridge-secondary-tertiary","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["in","class","secondary","tertiary"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fea","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,20]]}}},{"id":"bridge-trunk-primary","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["in","class","primary","trunk"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fea","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,18]]}}},{"id":"bridge-motorway","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["==","class","motorway"]],"layout":{"line-join":"round"},"paint":{"line-color":"#fc8","line-width":{"base":1.2,"stops":[[6.5,0],[7,0.5],[20,18]]},"line-opacity":0.5}},{"id":"bridge-railway","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["==","class","rail"]],"paint":{"line-color":"#bbb","line-width":{"base":1.4,"stops":[[14,0.4],[15,0.75],[20,2]]}}},{"id":"bridge-railway-hatching","type":"line","metadata":{"mapbox:group":"1444849334699.1902"},"source":"openmaptiles","source-layer":"transportation","filter":["all",["==","brunnel","bridge"],["==","class","rail"]],"paint":{"line-color":"#bbb","line-dasharray":[0.2,8],"line-width":{"base":1.4,"stops":[[14.5,0],[15,3],[20,8]]}}},{"id":"cablecar","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["==","class","cable_car"],"layout":{"visibility":"visible","line-cap":"round"},"paint":{"line-color":"hsl(0, 0%, 70%)","line-width":{"base":1,"stops":[[11,1],[19,2.5]]}}},{"id":"cablecar-dash","type":"line","source":"openmaptiles","source-layer":"transportation","minzoom":13,"filter":["==","class","cable_car"],"layout":{"visibility":"visible","line-cap":"round"},"paint":{"line-color":"hsl(0, 0%, 70%)","line-width":{"base":1,"stops":[[11,3],[19,5.5]]},"line-dasharray":[2,3]}},{"id":"boundary-land-level-4","type":"line","source":"openmaptiles","source-layer":"boundary","filter":["all",[">=","admin_level",4],["<=","admin_level",8],["!=","maritime",1]],"layout":{"line-join":"round"},"paint":{"line-color":"#9e9cab","line-dasharray":[3,1,1,1],"line-width":{"base":1.4,"stops":[[4,0.4],[5,1],[12,3]]},"line-opacity":0.6}},{"id":"boundary-land-level-2","type":"line","source":"openmaptiles","source-layer":"boundary","filter":["all",["==","admin_level",2],["!=","maritime",1],["!=","disputed",1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"hsl(248, 7%, 66%)","line-width":{"base":1,"stops":[[0,0.6],[4,1.4],[5,2],[12,2]]}}},{"id":"boundary-land-disputed","type":"line","source":"openmaptiles","source-layer":"boundary","filter":["all",["!=","maritime",1],["==","disputed",1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"hsl(248, 7%, 70%)","line-dasharray":[1,3],"line-width":{"base":1,"stops":[[0,0.6],[4,1.4],[5,2],[12,8]]}}},{"id":"boundary-water","type":"line","source":"openmaptiles","source-layer":"boundary","filter":["all",["in","admin_level",2,4],["==","maritime",1]],"layout":{"line-cap":"round","line-join":"round"},"paint":{"line-color":"rgba(154, 189, 214, 1)","line-width":{"base":1,"stops":[[0,0.6],[4,1],[5,1],[12,1]]},"line-opacity":{"stops":[[6,0],[10,0]]}}},{"id":"waterway-name","type":"symbol","source":"openmaptiles","source-layer":"waterway","minzoom":13,"filter":["all",["==","$type","LineString"],["has","name"]],"layout":{"text-font":["Noto Sans Italic"],"text-size":14,"text-field":"{name:latin} {name:nonlatin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"line","text-letter-spacing":0.2,"symbol-spacing":350},"paint":{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{"id":"water-name-lakeline","type":"symbol","source":"openmaptiles","source-layer":"water_name","filter":["==","$type","LineString"],"layout":{"text-font":["Noto Sans Italic"],"text-size":14,"text-field":"{name:latin}\\n{name:nonlatin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"line","symbol-spacing":350,"text-letter-spacing":0.2},"paint":{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{"id":"water-name-ocean","type":"symbol","source":"openmaptiles","source-layer":"water_name","filter":["all",["==","$type","Point"],["==","class","ocean"]],"layout":{"text-font":["Noto Sans Italic"],"text-size":14,"text-field":"{name:latin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"point","symbol-spacing":350,"text-letter-spacing":0.2},"paint":{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{"id":"water-name-other","type":"symbol","source":"openmaptiles","source-layer":"water_name","filter":["all",["==","$type","Point"],["!in","class","ocean"]],"layout":{"text-font":["Noto Sans Italic"],"text-size":{"stops":[[0,10],[6,14]]},"text-field":"{name:latin}\\n{name:nonlatin}","text-max-width":5,"text-rotation-alignment":"map","symbol-placement":"point","symbol-spacing":350,"text-letter-spacing":0.2,"visibility":"visible"},"paint":{"text-color":"#74aee9","text-halo-width":1.5,"text-halo-color":"rgba(255,255,255,0.7)"}},{"id":"poi-level-3","type":"symbol","source":"openmaptiles","source-layer":"poi","minzoom":16,"filter":["all",["==","$type","Point"],[">=","rank",25]],"layout":{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":"{name:latin}\\n{name:nonlatin}","text-offset":[0,0.6],"text-size":12,"text-max-width":9},"paint":{"text-halo-blur":0.5,"text-color":"#666","text-halo-width":1,"text-halo-color":"#ffffff"}},{"id":"poi-level-2","type":"symbol","source":"openmaptiles","source-layer":"poi","minzoom":15,"filter":["all",["==","$type","Point"],["<=","rank",24],[">=","rank",15]],"layout":{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":"{name:latin}\\n{name:nonlatin}","text-offset":[0,0.6],"text-size":12,"text-max-width":9},"paint":{"text-halo-blur":0.5,"text-color":"#666","text-halo-width":1,"text-halo-color":"#ffffff"}},{"id":"poi-level-1","type":"symbol","source":"openmaptiles","source-layer":"poi","minzoom":14,"filter":["all",["==","$type","Point"],["<=","rank",14],["has","name"]],"layout":{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":"{name:latin}\\n{name:nonlatin}","text-offset":[0,0.6],"text-size":11,"text-max-width":9},"paint":{"text-halo-blur":0.5,"text-color":"rgba(191, 228, 172, 1)","text-halo-width":1,"text-halo-color":"rgba(30, 29, 29, 1)"}},{"id":"poi-railway","type":"symbol","source":"openmaptiles","source-layer":"poi","minzoom":13,"filter":["all",["==","$type","Point"],["has","name"],["==","class","railway"],["==","subclass","station"]],"layout":{"text-padding":2,"text-font":["Noto Sans Regular"],"text-anchor":"top","icon-image":"{class}_11","text-field":"{name:latin}\\n{name:nonlatin}","text-offset":[0,0.6],"text-size":12,"text-max-width":9,"icon-optional":false,"icon-ignore-placement":false,"icon-allow-overlap":false,"text-ignore-placement":false,"text-allow-overlap":false,"text-optional":true},"paint":{"text-halo-blur":0.5,"text-color":"#666","text-halo-width":1,"text-halo-color":"#ffffff"}},{"id":"road_oneway","type":"symbol","source":"openmaptiles","source-layer":"transportation","minzoom":15,"filter":["all",["==","oneway",1],["in","class","motorway","trunk","primary","secondary","tertiary","minor","service"]],"layout":{"symbol-placement":"line","icon-image":"oneway","symbol-spacing":75,"icon-padding":2,"icon-rotation-alignment":"map","icon-rotate":90,"icon-size":{"stops":[[15,0.5],[19,1]]}},"paint":{"icon-opacity":0.5}},{"id":"road_oneway_opposite","type":"symbol","source":"openmaptiles","source-layer":"transportation","minzoom":15,"filter":["all",["==","oneway",-1],["in","class","motorway","trunk","primary","secondary","tertiary","minor","service"]],"layout":{"symbol-placement":"line","icon-image":"oneway","symbol-spacing":75,"icon-padding":2,"icon-rotation-alignment":"map","icon-rotate":-90,"icon-size":{"stops":[[15,0.5],[19,1]]}},"paint":{"icon-opacity":0.5}},{"id":"highway-name-path","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":15.5,"filter":["==","class","path"],"layout":{"text-size":{"base":1,"stops":[[13,12],[14,13]]},"text-font":["Noto Sans Regular"],"text-field":"{name:latin} {name:nonlatin}","symbol-placement":"line","text-rotation-alignment":"map"},"paint":{"text-halo-color":"#f8f4f0","text-color":"hsl(30, 23%, 62%)","text-halo-width":0.5}},{"id":"highway-name-minor","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":15,"filter":["all",["==","$type","LineString"],["in","class","minor","service","track"]],"layout":{"text-size":{"base":1,"stops":[[13,12],[14,13]]},"text-font":["Noto Sans Regular"],"text-field":"{name:latin} {name:nonlatin}","symbol-placement":"line","text-rotation-alignment":"map"},"paint":{"text-halo-blur":0.5,"text-color":"#765","text-halo-width":1}},{"id":"highway-name-major","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":12.2,"filter":["in","class","primary","secondary","tertiary","trunk"],"layout":{"text-size":{"base":1,"stops":[[13,12],[14,13]]},"text-font":["Noto Sans Regular"],"text-field":"{name:latin} {name:nonlatin}","symbol-placement":"line","text-rotation-alignment":"map"},"paint":{"text-halo-blur":0.5,"text-color":"#765","text-halo-width":1}},{"id":"highway-shield","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":8,"filter":["all",["<=","ref_length",6],["==","$type","LineString"],["!in","network","us-interstate","us-highway","us-state"]],"layout":{"text-size":10,"icon-image":"road_{ref_length}","icon-rotation-alignment":"viewport","symbol-spacing":200,"text-font":["Noto Sans Regular"],"symbol-placement":{"base":1,"stops":[[10,"point"],[11,"line"]]},"text-rotation-alignment":"viewport","icon-size":1,"text-field":"{ref}"},"paint":{"text-opacity":1,"text-color":"rgba(20, 19, 19, 1)","text-halo-color":"rgba(230, 221, 221, 0)","text-halo-width":2,"icon-color":"rgba(183, 18, 18, 1)","icon-opacity":0.3,"icon-halo-color":"rgba(183, 55, 55, 0)"}},{"id":"highway-shield-us-interstate","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":7,"filter":["all",["<=","ref_length",6],["==","$type","LineString"],["in","network","us-interstate"]],"layout":{"text-size":10,"icon-image":"{network}_{ref_length}","icon-rotation-alignment":"viewport","symbol-spacing":200,"text-font":["Noto Sans Regular"],"symbol-placement":{"base":1,"stops":[[7,"point"],[7,"line"],[8,"line"]]},"text-rotation-alignment":"viewport","icon-size":1,"text-field":"{ref}"},"paint":{"text-color":"rgba(0, 0, 0, 1)"}},{"id":"highway-shield-us-other","type":"symbol","source":"openmaptiles","source-layer":"transportation_name","minzoom":9,"filter":["all",["<=","ref_length",6],["==","$type","LineString"],["in","network","us-highway","us-state"]],"layout":{"text-size":10,"icon-image":"{network}_{ref_length}","icon-rotation-alignment":"viewport","symbol-spacing":200,"text-font":["Noto Sans Regular"],"symbol-placement":{"base":1,"stops":[[10,"point"],[11,"line"]]},"text-rotation-alignment":"viewport","icon-size":1,"text-field":"{ref}"},"paint":{"text-color":"rgba(0, 0, 0, 1)"}},{"id":"place-other","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","minzoom":12,"filter":["!in","class","city","town","village","country","continent"],"layout":{"text-letter-spacing":0.1,"text-size":{"base":1.2,"stops":[[12,10],[15,14]]},"text-font":["Noto Sans Bold"],"text-field":"{name:latin}\\n{name:nonlatin}","text-transform":"uppercase","text-max-width":9,"visibility":"visible"},"paint":{"text-color":"rgba(255,255,255,1)","text-halo-width":1.2,"text-halo-color":"rgba(57, 28, 28, 1)"}},{"id":"place-village","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","minzoom":10,"filter":["==","class","village"],"layout":{"text-font":["Noto Sans Regular"],"text-size":{"base":1.2,"stops":[[10,12],[15,16]]},"text-field":"{name:latin}\\n{name:nonlatin}","text-max-width":8,"visibility":"visible"},"paint":{"text-color":"rgba(255, 255, 255, 1)","text-halo-width":1.2,"text-halo-color":"rgba(10, 9, 9, 0.8)"}},{"id":"place-town","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","filter":["==","class","town"],"layout":{"text-font":["Noto Sans Regular"],"text-size":{"base":1.2,"stops":[[10,14],[15,24]]},"text-field":"{name:latin}\\n{name:nonlatin}","text-max-width":8,"visibility":"visible"},"paint":{"text-color":"rgba(255, 255, 255, 1)","text-halo-width":1.2,"text-halo-color":"rgba(22, 22, 22, 0.8)"}},{"id":"place-city","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","filter":["all",["!=","capital",2],["==","class","city"]],"layout":{"text-font":["Noto Sans Regular"],"text-size":{"base":1.2,"stops":[[7,14],[11,24]]},"text-field":"{name:latin}\\n{name:nonlatin}","text-max-width":8,"visibility":"visible"},"paint":{"text-color":"rgba(0, 0, 0, 1)","text-halo-width":1.2,"text-halo-color":"rgba(255,255,255,0.8)"}},{"id":"place-city-capital","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","filter":["all",["==","capital",2],["==","class","city"]],"layout":{"text-font":["Noto Sans Regular"],"text-size":{"base":1.2,"stops":[[7,14],[11,24]]},"text-field":"{name:latin}\\n{name:nonlatin}","text-max-width":8,"icon-image":"star_11","text-offset":[0.4,0],"icon-size":0.8,"text-anchor":"left","visibility":"visible"},"paint":{"text-color":"#333","text-halo-width":1.2,"text-halo-color":"rgba(255,255,255,0.8)"}},{"id":"place-country-other","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","filter":["all",["==","class","country"],[">=","rank",3],["!has","iso_a2"]],"layout":{"text-font":["Noto Sans Italic"],"text-field":"{name:latin}","text-size":{"stops":[[3,11],[7,17]]},"text-transform":"uppercase","text-max-width":6.25,"visibility":"visible"},"paint":{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{"id":"place-country-3","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","filter":["all",["==","class","country"],[">=","rank",3],["has","iso_a2"]],"layout":{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":{"stops":[[3,11],[7,17]]},"text-transform":"uppercase","text-max-width":6.25,"visibility":"visible"},"paint":{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{"id":"place-country-2","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","filter":["all",["==","class","country"],["==","rank",2],["has","iso_a2"]],"layout":{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":{"stops":[[2,11],[5,17]]},"text-transform":"uppercase","text-max-width":6.25,"visibility":"visible"},"paint":{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{"id":"place-country-1","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","filter":["all",["==","class","country"],["==","rank",1],["has","iso_a2"]],"layout":{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":{"stops":[[1,11],[4,17]]},"text-transform":"uppercase","text-max-width":6.25,"visibility":"visible"},"paint":{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}},{"id":"place-continent","type":"symbol","metadata":{"mapbox:group":"1444849242106.713"},"source":"openmaptiles","source-layer":"place","maxzoom":1,"filter":["==","class","continent"],"layout":{"text-font":["Noto Sans Bold"],"text-field":"{name:latin}","text-size":14,"text-max-width":6.25,"text-transform":"uppercase","visibility":"visible"},"paint":{"text-halo-blur":1,"text-color":"#334","text-halo-width":2,"text-halo-color":"rgba(255,255,255,0.8)"}}],"id":"qebnlkra6"}')},51962:function(t){"use strict";t.exports=JSON.parse('{"version":8,"name":"orto","metadata":{},"center":[1.537786,41.837539],"zoom":12,"bearing":0,"pitch":0,"light":{"anchor":"viewport","color":"white","intensity":0.4,"position":[1.15,45,30]},"sources":{"ortoEsri":{"type":"raster","tiles":["https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}"],"tileSize":256,"maxzoom":18,"attribution":"ESRI © ESRI"},"ortoInstaMaps":{"type":"raster","tiles":["https://tilemaps.icgc.cat/mapfactory/wmts/orto_8_12/CAT3857/{z}/{x}/{y}.png"],"tileSize":256,"maxzoom":13},"ortoICGC":{"type":"raster","tiles":["https://geoserveis.icgc.cat/icc_mapesmultibase/noutm/wmts/orto/GRID3857/{z}/{x}/{y}.jpeg"],"tileSize":256,"minzoom":13.1,"maxzoom":20},"openmaptiles":{"type":"vector","url":"https://geoserveis.icgc.cat/contextmaps/basemap.json"}},"sprite":"https://geoserveis.icgc.cat/contextmaps/sprites/sprite@1","glyphs":"https://geoserveis.icgc.cat/contextmaps/glyphs/{fontstack}/{range}.pbf","layers":[{"id":"background","type":"background","paint":{"background-color":"#F4F9F4"}},{"id":"ortoEsri","type":"raster","source":"ortoEsri","maxzoom":16,"layout":{"visibility":"visible"}},{"id":"ortoICGC","type":"raster","source":"ortoICGC","minzoom":13.1,"maxzoom":19,"layout":{"visibility":"visible"}},{"id":"ortoInstaMaps","type":"raster","source":"ortoInstaMaps","maxzoom":13,"layout":{"visibility":"visible"}}]}')}},e={};function r(n){var i=e[n];if(void 0!==i)return i.exports;var a=e[n]={id:n,exports:{}};return t[n].call(a.exports,a,a.exports,r),a.exports}return r.m=t,r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,{a:e}),e},r.d=function(t,e){for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.b=document.baseURI||self.location.href,r.nc=void 0,r(20260)}()})); \ No newline at end of file diff --git a/openbb_platform/obbject_extensions/charting/openbb_charting/core/backend.py b/openbb_platform/obbject_extensions/charting/openbb_charting/core/backend.py index be07482f912..86a51de3736 100644 --- a/openbb_platform/obbject_extensions/charting/openbb_charting/core/backend.py +++ b/openbb_platform/obbject_extensions/charting/openbb_charting/core/backend.py @@ -9,7 +9,7 @@ if TYPE_CHECKING: from plotly.graph_objs import Figure PLOTS_CORE_PATH = Path(__file__).parent.resolve() -PLOTLYJS_PATH = PLOTS_CORE_PATH / "assets" / "plotly-2.32.0.min.js" +PLOTLYJS_PATH = PLOTS_CORE_PATH / "assets" / "plotly-2.35.2.min.js" BACKEND = None try: @@ -197,7 +197,7 @@ class Backend(PyWry): if self.charting_settings.chart_style == "dark" else "rgba(255,255,255,0)" ) - title = "Interactive Chart" + title = "OpenBB Platform" fig.layout.title.text = re.sub( r"<[^>]*>", "", fig.layout.title.text if fig.layout.title.text else title ) @@ -245,7 +245,7 @@ class Backend(PyWry): opener = "open" if sys.platform == "darwin" else "xdg-open" subprocess.check_call([opener, export_image]) # nosec: B603 # noqa: S603 - def send_table( + def send_table( # pylint: disable=too-many-positional-arguments self, df_table: "DataFrame", title: str = "", diff --git a/openbb_platform/obbject_extensions/charting/openbb_charting/core/plotly.html b/openbb_platform/obbject_extensions/charting/openbb_charting/core/plotly.html index b17a54ea112..c12b8415a60 100644 --- a/openbb_platform/obbject_extensions/charting/openbb_charting/core/plotly.html +++ b/openbb_platform/obbject_extensions/charting/openbb_charting/core/plotly.html @@ -33,7 +33,7 @@ } diff --git a/openbb_platform/obbject_extensions/charting/openbb_charting/core/table.html b/openbb_platform/obbject_extensions/charting/openbb_charting/core/table.html index f7c7d048567..ef7e61f58a8 100644 --- a/openbb_platform/obbject_extensions/charting/openbb_charting/core/table.html +++ b/openbb_platform/obbject_extensions/charting/openbb_charting/core/table.html @@ -32,130 +32,137 @@ } diff --git a/openbb_platform/providers/finviz/openbb_finviz/models/compare_groups.py b/openbb_platform/providers/finviz/openbb_finviz/models/compare_groups.py index 88e3fd9884f..a80daa299e4 100644 --- a/openbb_platform/providers/finviz/openbb_finviz/models/compare_groups.py +++ b/openbb_platform/providers/finviz/openbb_finviz/models/compare_groups.py @@ -234,9 +234,12 @@ class FinvizCompareGroupsFetcher( ) -> List[Dict]: """Extract the raw data from Finviz.""" # pylint: disable=import-outside-toplevel + from finvizfinance import util from finvizfinance.group import Overview, Performance, Valuation + from openbb_core.provider.utils.helpers import get_requests_session from pandas import DataFrame + util.session = get_requests_session() results: List = [] data = DataFrame() if query.metric == "performance": @@ -254,8 +257,10 @@ class FinvizCompareGroupsFetcher( group=GROUPS_DICT[query.group], # type: ignore order="Change", ) + if not data.empty: results = data.fillna("N/A").replace("N/A", None).to_dict(orient="records") + return results @staticmethod diff --git a/openbb_platform/providers/finviz/openbb_finviz/models/equity_profile.py b/openbb_platform/providers/finviz/openbb_finviz/models/equity_profile.py index a753f664dd5..95f9a4c28a5 100644 --- a/openbb_platform/providers/finviz/openbb_finviz/models/equity_profile.py +++ b/openbb_platform/providers/finviz/openbb_finviz/models/equity_profile.py @@ -97,9 +97,15 @@ class FinvizEquityProfileFetcher( ) -> List[Dict]: """Extract the raw data from Finviz.""" # pylint: disable=import-outside-toplevel + from finvizfinance import util from finvizfinance.quote import finvizfinance + from openbb_core.app.model.abstract.error import OpenBBError + from openbb_core.provider.utils.errors import EmptyDataError + from openbb_core.provider.utils.helpers import get_requests_session + util.session = get_requests_session() results: List = [] + messages: List = [] def get_one(symbol) -> Dict: """Get the data for one symbol.""" @@ -109,7 +115,7 @@ class FinvizEquityProfileFetcher( fundament = data.ticker_fundament() description = data.ticker_description() except Exception as e: # pylint: disable=W0718 - warn(f"Failed to get data for {symbol} -> {e}") + messages.append(f"Failed to get data for {symbol} -> {e}") return result div_yield = ( float(str(fundament.get("Dividend %", None)).replace("%", "")) / 100 @@ -213,6 +219,16 @@ class FinvizEquityProfileFetcher( if result is not None and result: results.append(result) + if not results and messages: + raise OpenBBError("\n".join(messages)) + + if not results and not messages: + raise EmptyDataError("No data was returned for any symbol") + + if results and messages: + for message in messages: + warn(message) + return results @staticmethod diff --git a/openbb_platform/providers/finviz/openbb_finviz/models/equity_screener.py b/openbb_platform/providers/finviz/openbb_finviz/models/equity_screener.py index ce1eb2f466e..07cccfb2dfc 100644 --- a/openbb_platform/providers/finviz/openbb_finviz/models/equity_screener.py +++ b/openbb_platform/providers/finviz/openbb_finviz/models/equity_screener.py @@ -540,6 +540,7 @@ class FinvizEquityScreenerFetcher( """Extract data from Finviz.""" # pylint: disable=import-outside-toplevel import configparser # noqa + from finvizfinance import util from finvizfinance.screener import ( financial, overview, @@ -549,6 +550,7 @@ class FinvizEquityScreenerFetcher( valuation, ) from numpy import nan + from openbb_core.provider.utils.helpers import get_requests_session from openbb_finviz.utils.screener_helper import ( get_preset_choices, d_check_screener, @@ -557,6 +559,7 @@ class FinvizEquityScreenerFetcher( from pandas import DataFrame preset = None + util.session = get_requests_session() try: data_dir = kwargs.get("preferences", {}).get("data_directory") @@ -569,7 +572,7 @@ class FinvizEquityScreenerFetcher( except Exception as e: if preset is not None: raise e from e - warn(f"Error loading presets: {e}") + warn(f"Error loading presets -> {e.__class__.__name__}: {e}") preset = None data_type = query.metric diff --git a/openbb_platform/providers/finviz/openbb_finviz/models/key_metrics.py b/openbb_platform/providers/finviz/openbb_finviz/models/key_metrics.py index c1c457da14b..b2033c660db 100644 --- a/openbb_platform/providers/finviz/openbb_finviz/models/key_metrics.py +++ b/openbb_platform/providers/finviz/openbb_finviz/models/key_metrics.py @@ -116,9 +116,15 @@ class FinvizKeyMetricsFetcher( ) -> List[Dict]: """Extract the raw data from Finviz.""" # pylint: disable=import-outside-toplevel + from finvizfinance import util from finvizfinance.quote import finvizfinance + from openbb_core.app.model.abstract.error import OpenBBError + from openbb_core.provider.utils.errors import EmptyDataError + from openbb_core.provider.utils.helpers import get_requests_session results: List = [] + messages: List = [] + util.session = get_requests_session() def get_one(symbol) -> Dict: """Get the data for one symbol.""" @@ -262,11 +268,22 @@ class FinvizKeyMetricsFetcher( return result symbols = query.symbol.split(",") + for symbol in symbols: result = get_one(symbol) if result is not None and result: results.append(result) + if not results and messages: + raise OpenBBError("\n".join(messages)) + + if not results and not messages: + raise EmptyDataError("No data was returned for any symbol") + + if results and messages: + for message in messages: + warn(message) + return results @staticmethod diff --git a/openbb_platform/providers/finviz/openbb_finviz/models/price_performance.py b/openbb_platform/providers/finviz/openbb_finviz/models/price_performance.py index 0d67e64aabd..d6de7707b8f 100644 --- a/openbb_platform/providers/finviz/openbb_finviz/models/price_performance.py +++ b/openbb_platform/providers/finviz/openbb_finviz/models/price_performance.py @@ -98,8 +98,11 @@ class FinvizPricePerformanceFetcher( ) -> List[Dict]: """Extract the raw data from Finviz.""" # pylint: disable=import-outside-toplevel + from finvizfinance import util from finvizfinance.screener import performance + from openbb_core.provider.utils.helpers import get_requests_session + util.session = get_requests_session() screen = performance.Performance() screen.set_filter(ticker=query.symbol) try: @@ -110,6 +113,7 @@ class FinvizPricePerformanceFetcher( screen_df = screen_df.fillna("N/A").replace("N/A", None) # type: ignore except Exception as e: raise e from e + symbols = query.symbol.split(",") # Check for missing symbols and warn of the missing symbols. diff --git a/openbb_platform/providers/finviz/openbb_finviz/models/price_target.py b/openbb_platform/providers/finviz/openbb_finviz/models/price_target.py index 45ed8e5a256..a90586c7188 100644 --- a/openbb_platform/providers/finviz/openbb_finviz/models/price_target.py +++ b/openbb_platform/providers/finviz/openbb_finviz/models/price_target.py @@ -3,7 +3,6 @@ # pylint: disable=unused-argument from typing import Any, Dict, List, Optional -from warnings import warn from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.price_target import ( @@ -63,10 +62,17 @@ class FinvizPriceTargetFetcher( ) -> List[Dict]: """Return the raw data from the Finviz endpoint.""" # pylint: disable=import-outside-toplevel + from finvizfinance import util # noqa from finvizfinance.quote import finvizfinance + from openbb_core.app.model.abstract.error import OpenBBError + from openbb_core.provider.utils.errors import EmptyDataError + from openbb_core.provider.utils.helpers import get_requests_session from pandas import DataFrame + from warnings import warn results: List[Dict] = [] + util.session = get_requests_session() + messages: List = [] def get_one(symbol) -> List[Dict]: """Get the data for one symbol.""" @@ -76,7 +82,7 @@ class FinvizPriceTargetFetcher( data = finvizfinance(symbol) price_targets = data.ticker_outer_ratings() if price_targets is None or len(price_targets) == 0: - warn(f"Failed to get data for {symbol}") + messages.append(f"Failed to get data for {symbol}") return result price_targets["symbol"] = symbol prices = ( @@ -94,17 +100,28 @@ class FinvizPriceTargetFetcher( ] = None price_targets = price_targets.replace("", None).drop(columns="Price") except Exception as e: # pylint: disable=W0718 - warn(f"Failed to get data for {symbol} -> {e}") + messages.append(f"Failed to get data for {symbol} -> {e}") return result result = price_targets.to_dict(orient="records") return result symbols = query.symbol.split(",") if query.symbol else [] + for symbol in symbols: result = get_one(symbol) - if result is not None and result != []: + if result: results.extend(result) + if not results and messages: + raise OpenBBError("\n".join(messages)) + + if not results and not messages: + raise EmptyDataError("No data was returned for any symbol") + + if results and messages: + for message in messages: + warn(message) + return results @staticmethod diff --git a/openbb_platform/providers/imf/openbb_imf/models/economic_indicators.py b/openbb_platform/providers/imf/openbb_imf/models/economic_indicators.py index 87b2bdf6b89..a7011f121f2 100644 --- a/openbb_platform/providers/imf/openbb_imf/models/economic_indicators.py +++ b/openbb_platform/providers/imf/openbb_imf/models/economic_indicators.py @@ -294,6 +294,10 @@ class ImfEconomicIndicatorsFetcher( by=["date", "parent", "symbol", "value"], ascending=[True, True, True, False], ).reset_index(drop=True) + + df.loc[:, "title"] = df.symbol.apply( + lambda x: all_symbols.get(x, {}).get("title") + ) records = df.replace({nan: None}).to_dict(orient="records") return [ImfEconomicIndicatorsData.model_validate(r) for r in records] diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/aggressive_small_caps.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/aggressive_small_caps.py index a0303dc0a26..8083221eea0 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/aggressive_small_caps.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/aggressive_small_caps.py @@ -46,12 +46,12 @@ class YFAggressiveSmallCapsFetcher( ) -> list[dict]: """Get data from YF.""" # pylint: disable=import-outside-toplevel - from openbb_yfinance.utils.helpers import get_defined_screener + from openbb_yfinance.utils.helpers import get_custom_screener # The predefined screener doesn't match what yFinance has for the settings. We'll have to create our own. body = { "offset": 0, - "size": 100, + "size": 250, "sortField": "totalrevenues1yrgrowth.lasttwelvemonths", "sortType": "desc", "quoteType": "equity", @@ -73,7 +73,7 @@ class YFAggressiveSmallCapsFetcher( "userId": "", "userIdType": "guid", } - return await get_defined_screener(body=body, limit=query.limit) + return await get_custom_screener(body=body, limit=query.limit) @staticmethod def transform_data( diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/balance_sheet.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/balance_sheet.py index 2e60294f39e..94c75eed019 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/balance_sheet.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/balance_sheet.py @@ -84,22 +84,30 @@ class YFinanceBalanceSheetFetcher( import json # noqa from numpy import nan from openbb_core.provider.utils.errors import EmptyDataError - from openbb_core.provider.utils.helpers import to_snake_case + from openbb_core.provider.utils.helpers import ( + get_requests_session, + to_snake_case, + ) from yfinance import Ticker period = "yearly" if query.period == "annual" else "quarterly" # type: ignore - data = Ticker(query.symbol).get_balance_sheet( - as_dict=False, pretty=False, freq=period - ) + session = get_requests_session() + data = Ticker( + query.symbol, + session=session, + proxy=session.proxies if session.proxies else None, + ).get_balance_sheet(as_dict=False, pretty=False, freq=period) + if data is None: raise EmptyDataError() + if query.limit: data = data.iloc[:, : query.limit] + data.index = [to_snake_case(i) for i in data.index] data = data.reset_index().sort_index(ascending=False).set_index("index") data = data.replace({nan: None}).to_dict() data = [{"period_ending": str(key), **value} for key, value in data.items()] - data = json.loads(json.dumps(data)) return data diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/cash_flow.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/cash_flow.py index da27d3a3db1..7bcd1d55878 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/cash_flow.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/cash_flow.py @@ -81,13 +81,19 @@ class YFinanceCashFlowStatementFetcher( import json # noqa from numpy import nan from openbb_core.provider.utils.errors import EmptyDataError - from openbb_core.provider.utils.helpers import to_snake_case + from openbb_core.provider.utils.helpers import ( + get_requests_session, + to_snake_case, + ) from yfinance import Ticker period = "yearly" if query.period == "annual" else "quarterly" # type: ignore - data = Ticker(query.symbol).get_cash_flow( - as_dict=False, pretty=False, freq=period - ) + session = get_requests_session() + data = Ticker( + query.symbol, + session=session, + proxy=session.proxies if session.proxies else None, + ).get_cash_flow(as_dict=False, pretty=False, freq=period) if data is None: raise EmptyDataError() diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/company_news.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/company_news.py index cac4c827618..1e2a69fe5b3 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/company_news.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/company_news.py @@ -59,13 +59,20 @@ class YFinanceCompanyNewsFetcher( """Extract data.""" # pylint: disable=import-outside-toplevel import asyncio # noqa + from openbb_core.provider.utils.errors import EmptyDataError + from openbb_core.provider.utils.helpers import get_requests_session from yfinance import Ticker results: list = [] symbols = query.symbol.split(",") # type: ignore + session = get_requests_session() async def get_one(symbol): - data = Ticker(symbol).get_news(count=query.limit, tab="all") + data = Ticker(symbol, session=session).get_news( + count=query.limit, + tab="all", + proxy=session.proxies if session.proxies else None, + ) for d in data: new_content: dict = {} content = d.get("content") @@ -95,6 +102,9 @@ class YFinanceCompanyNewsFetcher( await asyncio.gather(*tasks) + if not results: + raise EmptyDataError("No data was returned for the given symbol(s)") + return results @staticmethod diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_profile.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_profile.py index a08d463e26e..368bc9f2f00 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_profile.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_profile.py @@ -119,8 +119,11 @@ class YFinanceEquityProfileFetcher( """Extract the raw data from YFinance.""" # pylint: disable=import-outside-toplevel import asyncio # noqa - from warnings import warn # noqa - from yfinance import Ticker # noqa + from openbb_core.app.model.abstract.error import OpenBBError + from openbb_core.provider.utils.errors import EmptyDataError + from openbb_core.provider.utils.helpers import get_requests_session + from warnings import warn + from yfinance import Ticker symbols = query.symbol.split(",") results = [] @@ -152,15 +155,23 @@ class YFinanceEquityProfileFetcher( "dividendYield", "beta", ] + messages: list = [] + session = get_requests_session() async def get_one(symbol): """Get the data for one ticker symbol.""" - result: Dict = {} - ticker: Dict = {} + result: dict = {} + ticker: dict = {} try: - ticker = Ticker(symbol).get_info() + ticker = Ticker( + symbol, + session=session, + proxy=session.proxies if session.proxies else None, + ).get_info() except Exception as e: - warn(f"Error getting data for {symbol}: {e}") + messages.append( + f"Error getting data for {symbol} -> {e.__class__.__name__}: {e}" + ) if ticker: for field in fields: if field in ticker: @@ -176,6 +187,16 @@ class YFinanceEquityProfileFetcher( await asyncio.gather(*tasks) + if not results and messages: + raise OpenBBError("\n".join(messages)) + + if not results and not messages: + raise EmptyDataError("No data was returned for any symbol") + + if results and messages: + for message in messages: + warn(message) + return results @staticmethod diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_quote.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_quote.py index e9e347d9190..3fbffcb9359 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_quote.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_quote.py @@ -78,7 +78,10 @@ class YFinanceEquityQuoteFetcher( """Extract the raw data from YFinance.""" # pylint: disable=import-outside-toplevel import asyncio # noqa - from yfinance import Ticker # noqa + from openbb_core.provider.utils.helpers import get_requests_session + from yfinance import Ticker + + session = get_requests_session() symbols = query.symbol.split(",") results = [] @@ -108,10 +111,14 @@ class YFinanceEquityQuoteFetcher( async def get_one(symbol): """Get the data for one ticker symbol.""" - result = {} - ticker = {} + result: dict = {} + ticker: dict = {} try: - ticker = Ticker(symbol).get_info() + ticker = Ticker( + symbol, + session=session, + proxy=session.proxies if session.proxies else None, + ).get_info() except Exception as e: warn(f"Error getting data for {symbol}: {e}") if ticker: diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_screener.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_screener.py index 12c2cf4fe4c..f56ca1e93ae 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_screener.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/equity_screener.py @@ -149,7 +149,7 @@ class YFinanceEquityScreenerFetcher( ) -> list[dict]: """Extract the raw data.""" # pylint: disable=import-outside-toplevel - from openbb_yfinance.utils.helpers import get_defined_screener + from openbb_yfinance.utils.helpers import get_custom_screener operands: list = [] @@ -230,7 +230,7 @@ class YFinanceEquityScreenerFetcher( "userIdType": "guid", } - response = await get_defined_screener( + response = await get_custom_screener( body=payload, limit=query.limit if query.limit and query.limit not in (0, None) else None, ) diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/etf_info.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/etf_info.py index a7deb7e637d..3e5bc227f61 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/etf_info.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/etf_info.py @@ -3,7 +3,6 @@ # pylint: disable=unused-argument from typing import Any, Dict, List, Optional -from warnings import warn from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.etf_info import ( @@ -212,11 +211,17 @@ class YFinanceEtfInfoFetcher( """Extract the raw data from YFinance.""" # pylint: disable=import-outside-toplevel import asyncio # noqa - from yfinance import Ticker # noqa - from openbb_core.provider.utils.helpers import safe_fromtimestamp # noqa + from openbb_core.app.model.abstract.error import OpenBBError + from openbb_core.provider.utils.errors import EmptyDataError + from openbb_core.provider.utils.helpers import ( + get_requests_session, + safe_fromtimestamp, + ) + from warnings import warn + from yfinance import Ticker symbols = query.symbol.split(",") - results = [] + results: list = [] fields = [ "symbol", "quoteType", @@ -256,15 +261,23 @@ class YFinanceEtfInfoFetcher( "longBusinessSummary", "firstTradeDateEpochUtc", ] + messages: list = [] + session = get_requests_session() async def get_one(symbol): """Get the data for one ticker symbol.""" - result: Dict = {} - ticker: Dict = {} + result: dict = {} + ticker: dict = {} try: - ticker = Ticker(symbol).get_info() + ticker = Ticker( + symbol, + session=session, + proxy=session.proxies if session.proxies else None, + ).get_info() except Exception as e: - warn(f"Error getting data for {symbol}: {e}") + messages.append( + f"Error getting data for {symbol} -> {e.__class__.__name__}: {e}" + ) if ticker: quote_type = ticker.pop("quoteType", "") if quote_type == "ETF": @@ -282,10 +295,12 @@ class YFinanceEtfInfoFetcher( _first_trade ) except Exception as e: - warn(f"Error processing data for {symbol}: {e}") + messages.append( + f"Error processing data for {symbol} -> {e.__class__.__name__}: {e}" + ) result = {} if quote_type != "ETF": - warn(f"{symbol} is not an ETF.") + messages.append(f"{symbol} is not an ETF.") if result: results.append(result) @@ -293,6 +308,16 @@ class YFinanceEtfInfoFetcher( await asyncio.gather(*tasks) + if not results and not messages: + raise EmptyDataError("No data was returned for the given symbol(s).") + + if not results and messages: + raise OpenBBError("\n".join(messages)) + + if results and messages: + for message in messages: + warn(message) + return results @staticmethod diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/historical_dividends.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/historical_dividends.py index 168c3b9a037..517d3adb3ea 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/historical_dividends.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/historical_dividends.py @@ -40,10 +40,17 @@ class YFinanceHistoricalDividendsFetcher( **kwargs: Any, ) -> List[Dict]: """Extract the raw data from YFinance.""" - from yfinance import Ticker # pylint: disable=import-outside-toplevel + # pylint: disable=import-outside-toplevel + from openbb_core.provider.utils.helpers import get_requests_session + from yfinance import Ticker + session = get_requests_session() try: - ticker = Ticker(query.symbol).get_dividends() + ticker = Ticker( + query.symbol, + session=session, + proxy=session.proxies if session.proxies else None, + ).get_dividends() if isinstance(ticker, List) and not ticker or ticker.empty: # type: ignore raise OpenBBError(f"No dividend data found for {query.symbol}") except Exception as e: diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/income_statement.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/income_statement.py index 7383b311285..381fb3a6715 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/income_statement.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/income_statement.py @@ -84,13 +84,19 @@ class YFinanceIncomeStatementFetcher( import json # noqa from numpy import nan from openbb_core.provider.utils.errors import EmptyDataError - from openbb_core.provider.utils.helpers import to_snake_case + from openbb_core.provider.utils.helpers import ( + get_requests_session, + to_snake_case, + ) from yfinance import Ticker period = "yearly" if query.period == "annual" else "quarterly" - data = Ticker(query.symbol).get_income_stmt( - as_dict=False, pretty=False, freq=period - ) + session = get_requests_session() + data = Ticker( + query.symbol, + session=session, + proxy=session.proxies if session.proxies else None, + ).get_income_stmt(as_dict=False, pretty=False, freq=period) if data is None: raise EmptyDataError() @@ -102,7 +108,6 @@ class YFinanceIncomeStatementFetcher( data = data.reset_index().sort_index(ascending=False).set_index("index") data = data.replace({nan: None}).to_dict() data = [{"period_ending": str(key), **value} for key, value in data.items()] - data = json.loads(json.dumps(data)) return data diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/key_executives.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/key_executives.py index a9a48bb07cc..e76fc333b04 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/key_executives.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/key_executives.py @@ -3,7 +3,6 @@ # pylint: disable=unused-argument from typing import Any, Dict, List, Optional -from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.key_executives import ( KeyExecutivesData, @@ -54,16 +53,30 @@ class YFinanceKeyExecutivesFetcher( **kwargs: Any, ) -> List[Dict]: """Extract the raw data from YFinance.""" - from yfinance import Ticker # pylint: disable=import-outside-toplevel + # pylint: disable=import-outside-toplevel + from openbb_core.app.model.abstract.error import OpenBBError # noqa + from openbb_core.provider.utils.helpers import get_requests_session + from yfinance import Ticker + + session = get_requests_session() try: - ticker = Ticker(query.symbol).get_info() + ticker = Ticker( + query.symbol, + session=session, + proxy=session.proxies if session.proxies else None, + ).get_info() except Exception as e: - raise OpenBBError(f"Error getting data for {query.symbol}: {e}") from e + raise OpenBBError( + f"Error getting data for {query.symbol} -> {e.__class__.__name__}: {e}" + ) from e + if ticker.get("companyOfficers") is None: raise OpenBBError(f"No executive data found for {query.symbol}") + officers_data = ticker.get("companyOfficers", []) - [d.pop("maxAge") for d in officers_data] # pylint: disable=W0106 + _ = [d.pop("maxAge", None) for d in officers_data] + return officers_data @staticmethod diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/key_metrics.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/key_metrics.py index e57d61af239..808256dbb03 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/key_metrics.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/key_metrics.py @@ -3,7 +3,6 @@ # pylint: disable=unused-argument from typing import Any, Dict, List, Optional -from warnings import warn from openbb_core.provider.abstract.fetcher import Fetcher from openbb_core.provider.standard_models.key_metrics import ( @@ -240,7 +239,11 @@ class YFinanceKeyMetricsFetcher( """Extract the raw data from YFinance.""" # pylint: disable=import-outside-toplevel import asyncio # noqa - from yfinance import Ticker # noqa + from openbb_core.app.model.abstract.error import OpenBBError + from openbb_core.provider.utils.errors import EmptyDataError + from openbb_core.provider.utils.helpers import get_requests_session + from warnings import warn + from yfinance import Ticker symbols = query.symbol.split(",") results = [] @@ -282,16 +285,26 @@ class YFinanceKeyMetricsFetcher( "52WeekChange", "financialCurrency", ] + messages: list = [] + session = get_requests_session() async def get_one(symbol): """Get the data for one ticker symbol.""" - result = {} - ticker = {} + result: dict = {} + ticker: dict = {} try: - ticker = Ticker(symbol).get_info() + ticker = Ticker( + symbol, + session=session, + proxy=session.proxies if session.proxies else None, + ).get_info() except Exception as e: - warn(f"Error getting data for {symbol}: {e}") - if ticker: + messages.append( + f"Error getting data for {symbol} -> {e.__class__.__name__}: {e}" + ) + if not ticker: + messages.append(f"No data found for {symbol}") + elif ticker: for field in fields: if field in ticker: result[field] = ticker.get(field, None) @@ -302,6 +315,16 @@ class YFinanceKeyMetricsFetcher( await asyncio.gather(*tasks) + if not results and not messages: + raise EmptyDataError("No data was returned for the given symbol(s).") + + if not results and messages: + raise OpenBBError("\n".join(messages)) + + if results and messages: + for message in messages: + warn(message) + return results @staticmethod diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/options_chains.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/options_chains.py index 8251c92f9e9..f9d6ca8f3d0 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/options_chains.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/options_chains.py @@ -63,16 +63,24 @@ class YFinanceOptionsChainsFetcher( """Extract the raw data from YFinance.""" # pylint: disable=import-outside-toplevel import asyncio # noqa + from openbb_core.provider.utils.helpers import get_requests_session from pandas import concat from yfinance import Ticker from pytz import timezone symbol = query.symbol.upper() symbol = "^" + symbol if symbol in ["VIX", "RUT", "SPX", "NDX"] else symbol - ticker = Ticker(symbol) + session = get_requests_session() + ticker = Ticker( + symbol, + session=session, + proxy=session.proxies if session.proxies else None, + ) expirations = list(ticker.options) + if not expirations or len(expirations) == 0: raise OpenBBError(f"No options found for {symbol}") + chains_output: List = [] underlying = ticker.option_chain(expirations[0])[2] underlying_output: Dict = { @@ -88,24 +96,24 @@ class YFinanceOptionsChainsFetcher( "last_price": underlying.get( "postMarketPrice", underlying.get("regularMarketPrice") ), - "open": underlying.get("regularMarketOpen", None), - "high": underlying.get("regularMarketDayHigh", None), - "low": underlying.get("regularMarketDayLow", None), - "close": underlying.get("regularMarketPrice", None), - "prev_close": underlying.get("regularMarketPreviousClose", None), - "change": underlying.get("regularMarketChange", None), - "change_percent": underlying.get("regularMarketChangePercent", None), - "volume": underlying.get("regularMarketVolume", None), + "open": underlying.get("regularMarketOpen"), + "high": underlying.get("regularMarketDayHigh"), + "low": underlying.get("regularMarketDayLow"), + "close": underlying.get("regularMarketPrice"), + "prev_close": underlying.get("regularMarketPreviousClose"), + "change": underlying.get("regularMarketChange"), + "change_percent": underlying.get("regularMarketChangePercent"), + "volume": underlying.get("regularMarketVolume"), "dividend_yield": float(underlying.get("dividendYield", 0)) / 100, - "dividend_yield_ttm": underlying.get("trailingAnnualDividendYield", None), - "year_high": underlying.get("fiftyTwoWeekHigh", None), - "year_low": underlying.get("fiftyTwoWeekLow", None), - "ma_50": underlying.get("fiftyDayAverage", None), - "ma_200": underlying.get("twoHundredDayAverage", None), - "volume_avg_10d": underlying.get("averageDailyVolume10Day", None), - "volume_avg_3m": underlying.get("averageDailyVolume3Month", None), - "market_cap": underlying.get("marketCap", None), - "shares_outstanding": underlying.get("sharesOutstanding", None), + "dividend_yield_ttm": underlying.get("trailingAnnualDividendYield"), + "year_high": underlying.get("fiftyTwoWeekHigh"), + "year_low": underlying.get("fiftyTwoWeekLow"), + "ma_50": underlying.get("fiftyDayAverage"), + "ma_200": underlying.get("twoHundredDayAverage"), + "volume_avg_10d": underlying.get("averageDailyVolume10Day"), + "volume_avg_3m": underlying.get("averageDailyVolume3Month"), + "market_cap": underlying.get("marketCap"), + "shares_outstanding": underlying.get("sharesOutstanding"), } tz = timezone(underlying_output.get("exchange_tz", "UTC")) @@ -149,6 +157,7 @@ class YFinanceOptionsChainsFetcher( if not chains_output: raise EmptyDataError(f"No data was returned for {symbol}") + return {"underlying": underlying_output, "chains": chains_output} @staticmethod diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/price_target_consensus.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/price_target_consensus.py index 957f80b98b2..c92dfa7fe77 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/price_target_consensus.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/price_target_consensus.py @@ -3,7 +3,6 @@ # pylint: disable=unused-argument from typing import Any, Dict, List, Optional -from warnings import warn from openbb_core.app.model.abstract.error import OpenBBError from openbb_core.provider.abstract.fetcher import Fetcher @@ -86,7 +85,10 @@ class YFinancePriceTargetConsensusFetcher( """Extract the raw data from YFinance.""" # pylint: disable=import-outside-toplevel import asyncio # noqa - from yfinance import Ticker # noqa + from openbb_core.provider.utils.errors import EmptyDataError + from openbb_core.provider.utils.helpers import get_requests_session + from warnings import warn + from yfinance import Ticker symbols = query.symbol.split(",") # type: ignore results = [] @@ -102,15 +104,23 @@ class YFinancePriceTargetConsensusFetcher( "recommendationKey", "numberOfAnalystOpinions", ] + session = get_requests_session() + messages: list = [] async def get_one(symbol): """Get the data for one ticker symbol.""" - result = {} - ticker = {} + result: dict = {} + ticker: dict = {} try: - ticker = Ticker(symbol).get_info() + ticker = Ticker( + symbol, + session=session, + proxy=session.proxies if session.proxies else None, + ).get_info() except Exception as e: - warn(f"Error getting data for {symbol}: {e}") + messages.append( + f"Error getting data for {symbol}: {e.__class__.__name__}: {e}" + ) if ticker: for field in fields: if field in ticker: @@ -122,6 +132,16 @@ class YFinancePriceTargetConsensusFetcher( await asyncio.gather(*tasks) + if not results and not messages: + raise EmptyDataError("No data was returned for the given symbol(s)") + + if not results and messages: + raise OpenBBError("\n".join(messages)) + + if results and messages: + for message in messages: + warn(message) + return results @staticmethod diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/models/share_statistics.py b/openbb_platform/providers/yfinance/openbb_yfinance/models/share_statistics.py index bf1d045d300..1dac4214478 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/models/share_statistics.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/models/share_statistics.py @@ -116,7 +116,10 @@ class YFinanceShareStatisticsFetcher( """Extract the raw data from YFinance.""" # pylint: disable=import-outside-toplevel import asyncio # noqa - from yfinance import Ticker # noqa + from openbb_core.app.model.abstract.error import OpenBBError + from openbb_core.provider.utils.errors import EmptyDataError + from openbb_core.provider.utils.helpers import get_requests_session + from yfinance import Ticker symbols = query.symbol.split(",") results = [] @@ -136,19 +139,27 @@ class YFinanceShareStatisticsFetcher( "institutionsFloatPercentHeld", "institutionsCount", ] + session = get_requests_session() + messages: list = [] async def get_one(symbol): """Get the data for one ticker symbol.""" - result = {} - ticker = {} + result: dict = {} + ticker: dict = {} try: - _ticker = Ticker(symbol) + _ticker = Ticker( + symbol, + session=session, + proxy=session.proxies if session.proxies else None, + ) ticker = _ticker.get_info() major_holders = _ticker.get_major_holders(as_dict=True).get("Value") if major_holders: ticker.update(major_holders) # type: ignore except Exception as e: - warn(f"Error getting data for {symbol}: {e}") + messages.append( + f"Error getting data for {symbol} -> {e.__class__.__name__}: {e}" + ) if ticker: for field in fields: if field in ticker: @@ -160,6 +171,16 @@ class YFinanceShareStatisticsFetcher( await asyncio.gather(*tasks) + if not results and messages: + raise OpenBBError("\n".join(messages)) + + if not results and not messages: + raise EmptyDataError("No data was returned for the given symbol(s).") + + if results and messages: + for message in messages: + warn(message) + return results @staticmethod diff --git a/openbb_platform/providers/yfinance/openbb_yfinance/utils/helpers.py b/openbb_platform/providers/yfinance/openbb_yfinance/utils/helpers.py index 22e3a248194..ee56c82f55d 100644 --- a/openbb_platform/providers/yfinance/openbb_yfinance/utils/helpers.py +++ b/openbb_platform/providers/yfinance/openbb_yfinance/utils/helpers.py @@ -45,6 +45,111 @@ PREDEFINED_SCREENERS = [ "top_mutual_funds", ] +SCREENER_FIELDS = [ + "symbol", + "shortName", + "regularMarketPrice", + "regularMarketChange", + "regularMarketChangePercent", + "regularMarketVolume", + "regularMarketOpen", + "regularMarketDayHigh", + "regularMarketDayLow", + "regularMarketPreviousClose", + "fiftyDayAverage", + "twoHundredDayAverage", + "fiftyTwoWeekHigh", + "fiftyTwoWeekLow", + "marketCap", + "sharesOutstanding", + "epsTrailingTwelveMonths", + "forwardPE", + "epsForward", + "bookValue", + "priceToBook", + "trailingAnnualDividendYield", + "currency", + "exchange", + "exchangeTimezoneName", + "earnings_date", +] + + +async def get_custom_screener( + body: dict[str, Any], + limit: Optional[int] = None, + region: str = "US", +): + """Get a custom screener.""" + # pylint: disable=import-outside-toplevel + from openbb_core.provider.utils.helpers import ( + get_requests_session, + safe_fromtimestamp, + ) + from pytz import timezone + from yfinance.data import YfData + + session = get_requests_session() + params_dict = { + "corsDomain": "finance.yahoo.com", + "formatted": "false", + "lang": "en-US", + "region": region, + } + _data = YfData(session=session) + results: list = [] + body = body.copy() + response = _data.post( + "https://query2.finance.yahoo.com/v1/finance/screener", + body=body, + user_agent_headers=_data.user_agent_headers, + params=params_dict, + proxy=session.proxies if session.proxies else None, + ) + response.raise_for_status() + res = response.json()["finance"]["result"][0] + + if not res.get("quotes"): + raise EmptyDataError("No data found for the predefined screener.") + + results.extend(res["quotes"]) + total_results = res["total"] + results.extend(res["quotes"]) + + while len(results) < total_results: + if limit is not None and len(results) >= limit: + break + offset = len(results) + body["offset"] = offset + res = _data.post( + "https://query2.finance.yahoo.com/v1/finance/screener", + body=body, + user_agent_headers=_data.user_agent_headers, + params=params_dict, + proxy=session.proxies if session.proxies else None, + ) + if not res: + break + results.extend(res.get("quotes", [])) + + output: list = [] + + for item in results: + tz = item["exchangeTimezoneName"] + earnings_date = ( + safe_fromtimestamp(item["earningsTimestamp"], timezone(tz)).strftime( # type: ignore + "%Y-%m-%d %H:%M:%S%z" + ) + if item.get("earningsTimestamp") + else None + ) + item["earnings_date"] = earnings_date + result = {k: item.get(k, None) for k in SCREENER_FIELDS} + if result.get("regularMarketChange") and result.get("regularMarketVolume"): + output.append(result) + + return output[:limit] if limit is not None else output + async def get_defined_screener( name: Optional[str] = None, @@ -54,7 +159,10 @@ async def get_defined_screener( """Get a predefined screener.""" # pylint: disable=import-outside-toplevel import yfinance as yf # noqa - from openbb_core.provider.utils.helpers import safe_fromtimestamp + from openbb_core.provider.utils.helpers import ( + get_requests_session, + safe_fromtimestamp, + ) from pytz import timezone if name and name not in PREDEFINED_SCREENERS: @@ -62,58 +170,39 @@ async def get_defined_screener( f"Invalid predefined screener name: {name}\n Valid names: {PREDEFINED_SCREENERS}" ) - fields = [ - "symbol", - "shortName", - "regularMarketPrice", - "regularMarketChange", - "regularMarketChangePercent", - "regularMarketVolume", - "regularMarketOpen", - "regularMarketDayHigh", - "regularMarketDayLow", - "regularMarketPreviousClose", - "fiftyDayAverage", - "twoHundredDayAverage", - "fiftyTwoWeekHigh", - "fiftyTwoWeekLow", - "marketCap", - "sharesOutstanding", - "epsTrailingTwelveMonths", - "forwardPE", - "epsForward", - "bookValue", - "priceToBook", - "trailingAnnualDividendYield", - "currency", - "exchange", - "exchangeTimezoneName", - "earnings_date", - ] results: list = [] - screener = yf.screener.Screener() + session = get_requests_session() - if screener.response: - screener.response = None + offset = 0 - if body is not None: - screener.set_body(body) - else: - if not name: - raise ValueError("Name must be provided if body is not.") - screener.set_predefined_body(name) - screener.patch_body({"size": 100, "offset": 0}) + response = yf.screen( + name, + session=session, + proxy=session.proxies if session.proxies else None, + size=250, + offset=offset, + ) - res = screener.response - total_results = res["total"] - results.extend(res["quotes"]) + if not response.get("quotes"): + raise EmptyDataError("No data found for the predefined screener.") + + results.extend(response["quotes"]) + total_results = response["total"] + results.extend(response["quotes"]) while len(results) < total_results: if limit is not None and len(results) >= limit: break offset = len(results) - screener.patch_body({"offset": offset}) - res = screener.response + res = yf.screen( + name, + session=session, + proxy=session.proxies if session.proxies else None, + size=250, + offset=offset, + ) + if not res: + break results.extend(res.get("quotes", [])) output: list = [] @@ -121,14 +210,14 @@ async def get_defined_screener( for item in results: tz = item["exchangeTimezoneName"] earnings_date = ( - safe_fromtimestamp(item["earningsTimestamp"], timezone(tz)).strftime( + safe_fromtimestamp(item["earningsTimestamp"], timezone(tz)).strftime( # type: ignore "%Y-%m-%d %H:%M:%S%z" ) if item.get("earningsTimestamp") else None ) item["earnings_date"] = earnings_date - result = {k: item.get(k, None) for k in fields} + result = {k: item.get(k, None) for k in SCREENER_FIELDS} if result.get("regularMarketChange") and result.get("regularMarketVolume"): output.append(result) @@ -151,16 +240,20 @@ def get_futures_data() -> "DataFrame": return read_csv(Path(__file__).resolve().parent / "futures.csv") -def get_futures_symbols(symbol: str) -> List: +def get_futures_symbols(symbol: str) -> list: """Get the list of futures symbols from the continuation symbol.""" # pylint: disable=import-outside-toplevel + from openbb_core.provider.utils.helpers import get_requests_session from yfinance.data import YfData _symbol = symbol.upper() + "%3DF" URL = f"https://query2.finance.yahoo.com/v10/finance/quoteSummary/{_symbol}" params = {"modules": "futuresChain"} - response: Dict = YfData(session=None).get_raw_json(url=URL, params=params) - futures_symbols: List = [] + response: Dict = YfData(session=get_requests_session()).get_raw_json( + url=URL, params=params + ) + futures_symbols: list = [] + if "quoteSummary" in response: result = response["quoteSummary"].get("result", []) if not result: @@ -168,6 +261,7 @@ def get_futures_symbols(symbol: str) -> List: futures = result[0].get("futuresChain", {}) if futures: futures_symbols = futures.get("futures", []) + return futures_symbols @@ -420,8 +514,9 @@ def yf_download( # pylint: disable=too-many-positional-arguments # pylint: disable=import-outside-toplevel from datetime import datetime # noqa from dateutil.relativedelta import relativedelta - import yfinance as yf + from openbb_core.provider.utils.helpers import get_requests_session from pandas import DataFrame, concat, to_datetime + import yfinance as yf symbol = symbol.upper() _start_date = start_date @@ -443,8 +538,11 @@ def yf_download( # pylint: disable=too-many-positional-arguments intraday = True if adjusted is False: - kwargs = dict(auto_adjust=False, back_adjust=False, period=period) + kwargs.update(dict(auto_adjust=False, back_adjust=False, period=period)) + session = kwargs.pop("session", None) or get_requests_session() + if session.proxies: + kwargs["proxy"] = session.proxies try: data = yf.download( tickers=symbol, @@ -460,6 +558,7 @@ def yf_download( # pylint: disable=too-many-positional-arguments rounding=rounding, group_by=group_by, threads=False, + session=session, **kwargs, ) if hasattr(data.index, "tz") and data.index.tz is not None: diff --git a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_active_fetcher_urllib3_v1.yaml b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_active_fetcher_urllib3_v1.yaml index adeee20b65d..d5fbf0c6219 100644 --- a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_active_fetcher_urllib3_v1.yaml +++ b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_active_fetcher_urllib3_v1.yaml @@ -1,12 +1,6 @@ interactions: - request: - body: '{"offset": 0, "size": 100, "sortField": "dayvolume", "sortType": "DESC", - "quoteType": "EQUITY", "query": {"operator": "AND", "operands": [{"operator": - "eq", "operands": ["region", "us"]}, {"operator": "or", "operands": [{"operator": - "BTWN", "operands": ["intradaymarketcap", 10000000000, 100000000000]}, {"operator": - "GT", "operands": ["intradaymarketcap", 100000000000]}, {"operator": "BTWN", - "operands": ["intradaymarketcap", 2000000000, 10000000000]}]}, {"operator": - "gt", "operands": ["dayvolume", 5000000]}]}, "userId": "", "userIdType": "guid"}' + body: null headers: Accept: - '*/*' @@ -14,683 +8,271 @@ interactions: - gzip, deflate Connection: - keep-alive - Content-Length: - - '550' - Content-Type: - - application/json Cookie: - MOCK_COOKIE - method: POST - uri: https://query2.finance.yahoo.com/v1/finance/screener?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&formatted=false&lang=en-US®ion=US + method: GET + uri: https://query1.finance.yahoo.com/v1/test/getcrumb response: body: - string: !!binary | - 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 - AwA= + string: xbV0f0TLaim headers: Age: - - '3' + - '1' + Connection: + - keep-alive + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=31536000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - private, max-age=60, stale-while-revalidate=30 + content-length: + - '11' + content-type: + - text/plain;charset=utf-8 + date: + - Mon, 20 Jan 2025 22:29:21 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-external-services-api--mtls-production-gq1.finance-k8s:4080/* + x-envoy-upstream-service-time: + - '0' + y-rid: + - 1ml3oe5jotji2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - MOCK_COOKIE + method: GET + uri: https://query2.finance.yahoo.com/v1/finance/screener/predefined/saved?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&defaults=offset&defaults=size&defaults=sortAsc&defaults=sortField&defaults=userId&defaults=userIdType&formatted=false&lang=en-US&offset=0®ion=US&scrIds=most_actives&size=250 + response: + body: + string: !!binary | + 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 + headers: + Age: + - '0' Connection: - keep-alive Referrer-Policy: - no-referrer-when-downgrade - Set-Cookie: - - A1=d=AQABBExdNWcCEDB_EdITGcfttFtmDU2KudkFEgEBAQGuNmc_ZyXUxyMA_eMAAA&S=AQAAAjxVxO2IGqtmErjSG0C0Qrg; - Expires=Fri, 14 Nov 2025 08:19:14 GMT; Max-Age=31557600; Domain=.yahoo.com; - Path=/; SameSite=Lax; Secure; HttpOnly - - A3=d=AQABBExdNWcCEDB_EdITGcfttFtmDU2KudkFEgEBAQGuNmc_ZyXUxyMA_eMAAA&S=AQAAAjxVxO2IGqtmErjSG0C0Qrg; - Expires=Fri, 14 Nov 2025 08:19:14 GMT; Max-Age=31557600; Domain=.yahoo.com; - Path=/; SameSite=None; Secure; HttpOnly - - A1S=d=AQABBExdNWcCEDB_EdITGcfttFtmDU2KudkFEgEBAQGuNmc_ZyXUxyMA_eMAAA&S=AQAAAjxVxO2IGqtmErjSG0C0Qrg; - Domain=.yahoo.com; Path=/; SameSite=Lax; Secure Strict-Transport-Security: - max-age=31536000 Transfer-Encoding: @@ -702,23 +284,23 @@ interactions: X-XSS-Protection: - 1; mode=block cache-control: - - private, no-cache, no-store + - public, max-age=60, stale-while-revalidate=30 content-encoding: - gzip content-type: - application/json;charset=utf-8 date: - - Thu, 14 Nov 2024 02:19:13 GMT + - Mon, 20 Jan 2025 22:29:22 GMT server: - ATS vary: - Origin,Accept-Encoding x-envoy-decorator-operation: - - finance-screeners--mtls-production-gq1.finance-k8s.svc.yahoo.local:4080/* + - finance-screeners--mtls-production-gq1.finance-k8s:4080/* x-envoy-upstream-service-time: - - '109' + - '57' y-rid: - - 37v8kjtjjanh1 + - 18227l9jotji2 status: code: 200 message: OK diff --git a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_active_fetcher_urllib3_v2.yaml b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_active_fetcher_urllib3_v2.yaml index 8b09269e9ac..f99f4eac069 100644 --- a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_active_fetcher_urllib3_v2.yaml +++ b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_active_fetcher_urllib3_v2.yaml @@ -1,540 +1,228 @@ interactions: - request: - body: '{"offset": 0, "size": 100, "sortField": "dayvolume", "sortType": "DESC", - "quoteType": "EQUITY", "query": {"operator": "AND", "operands": [{"operator": - "eq", "operands": ["region", "us"]}, {"operator": "or", "operands": [{"operator": - "BTWN", "operands": ["intradaymarketcap", 10000000000, 100000000000]}, {"operator": - "GT", "operands": ["intradaymarketcap", 100000000000]}, {"operator": "BTWN", - "operands": ["intradaymarketcap", 2000000000, 10000000000]}]}, {"operator": - "gt", "operands": ["dayvolume", 5000000]}]}, "userId": "", "userIdType": "guid"}' + body: null headers: Accept: - '*/*' Accept-Encoding: - - gzip, deflate + - gzip, deflate, br, zstd Connection: - keep-alive - Content-Length: - - '550' - Content-Type: - - application/json Cookie: - MOCK_COOKIE - method: POST - uri: https://query2.finance.yahoo.com/v1/finance/screener?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&formatted=false&lang=en-US®ion=US + method: GET + uri: https://query1.finance.yahoo.com/v1/test/getcrumb response: body: - string: "{\"finance\":{\"result\":[{\"start\":0,\"count\":100,\"total\":252,\"quotes\":[{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-1.3621883,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":149.77,\"fiftyTwoWeekLow\":45.01,\"averageAnalystRating\":\"1.8 - - Buy\",\"shortName\":\"NVIDIA Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":149.05,\"averageDailyVolume3Month\":276861556,\"averageDailyVolume10Day\":202267510,\"fiftyTwoWeekLowChange\":101.26001,\"fiftyTwoWeekLowChangePercent\":2.2497225,\"fiftyTwoWeekRange\":\"45.01 - - 149.77\",\"fiftyTwoWeekHighChange\":-3.5,\"fiftyTwoWeekHighChangePercent\":-0.023369165,\"fiftyTwoWeekChangePercent\":195.61438,\"dividendDate\":1727913600,\"earningsTimestamp\":1732147200,\"earningsTimestampStart\":1732147200,\"earningsTimestampEnd\":1732147200,\"earningsCallTimestampStart\":1732140000,\"earningsCallTimestampEnd\":1732140000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.022,\"trailingPE\":69.32228,\"dividendRate\":0.04,\"trailingAnnualDividendYield\":1.4835795E-4,\"dividendYield\":0.03,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.11,\"epsForward\":4.12,\"epsCurrentYear\":2.85,\"priceEpsCurrentYear\":51.32281,\"sharesOutstanding\":24529999872,\"bookValue\":2.368,\"fiftyDayAverage\":129.3936,\"fiftyDayAverageChange\":16.876404,\"fiftyDayAverageChangePercent\":0.13042688,\"twoHundredDayAverage\":108.0678,\"twoHundredDayAverageChange\":38.2022,\"twoHundredDayAverageChangePercent\":0.35350215,\"marketCap\":3637559427072,\"forwardPE\":35.50243,\"priceToBook\":61.76943,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Usual\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":917015400000,\"priceHint\":2,\"postMarketChangePercent\":0.317903,\"postMarketTime\":1731545998,\"postMarketPrice\":146.735,\"postMarketChange\":0.464996,\"regularMarketChange\":-2.019989,\"regularMarketTime\":1731531600,\"regularMarketPrice\":146.27,\"regularMarketDayHigh\":149.33,\"regularMarketDayRange\":\"146.15 - - 149.33\",\"regularMarketDayLow\":146.15,\"regularMarketVolume\":183582186,\"regularMarketPreviousClose\":148.29,\"bid\":146.37,\"ask\":146.47,\"bidSize\":2,\"askSize\":2,\"market\":\"us_market\",\"messageBoardId\":\"finmb_32307\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"NVIDIA - Corporation\",\"displayName\":\"NVIDIA\",\"symbol\":\"NVDA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":0.5327407,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":358.64,\"fiftyTwoWeekLow\":138.8,\"averageAnalystRating\":\"2.7 - - Hold\",\"shortName\":\"Tesla, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":335.925,\"averageDailyVolume3Month\":87007800,\"averageDailyVolume10Day\":124083930,\"fiftyTwoWeekLowChange\":191.43999,\"fiftyTwoWeekLowChangePercent\":1.3792506,\"fiftyTwoWeekRange\":\"138.8 - - 358.64\",\"fiftyTwoWeekHighChange\":-28.400024,\"fiftyTwoWeekHighChangePercent\":-0.07918811,\"fiftyTwoWeekChangePercent\":41.37591,\"earningsTimestamp\":1729714020,\"earningsTimestampStart\":1737752400,\"earningsTimestampEnd\":1738616400,\"earningsCallTimestampStart\":1729719000,\"earningsCallTimestampEnd\":1729719000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":89.98365,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.67,\"epsForward\":3.24,\"epsCurrentYear\":2.48,\"priceEpsCurrentYear\":133.16129,\"sharesOutstanding\":3210060032,\"bookValue\":21.806,\"fiftyDayAverage\":248.4758,\"fiftyDayAverageChange\":81.76419,\"fiftyDayAverageChangePercent\":0.329063,\"twoHundredDayAverage\":206.61295,\"twoHundredDayAverageChange\":123.627045,\"twoHundredDayAverageChangePercent\":0.59835094,\"marketCap\":1060090216448,\"forwardPE\":101.92593,\"priceToBook\":15.144455,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1277818200000,\"priceHint\":2,\"postMarketChangePercent\":-0.163483,\"postMarketTime\":1731545999,\"postMarketPrice\":329.7,\"postMarketChange\":-0.539886,\"regularMarketChange\":1.75,\"regularMarketTime\":1731531601,\"regularMarketPrice\":330.24,\"regularMarketDayHigh\":344.5999,\"regularMarketDayRange\":\"322.5 - - 344.5999\",\"regularMarketDayLow\":322.5,\"regularMarketVolume\":124381385,\"regularMarketPreviousClose\":328.49,\"bid\":329.92,\"ask\":330.69,\"bidSize\":3,\"askSize\":2,\"market\":\"us_market\",\"messageBoardId\":\"finmb_27444752\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Tesla, - Inc.\",\"displayName\":\"Tesla\",\"symbol\":\"TSLA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":28.44475,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":22.55,\"fiftyTwoWeekLow\":3.47,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"Rocket Lab USA, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":19.22,\"averageDailyVolume3Month\":15751825,\"averageDailyVolume10Day\":15324340,\"fiftyTwoWeekLowChange\":15.36,\"fiftyTwoWeekLowChangePercent\":4.4265127,\"fiftyTwoWeekRange\":\"3.47 - - 22.55\",\"fiftyTwoWeekHighChange\":-3.7199993,\"fiftyTwoWeekHighChangePercent\":-0.16496672,\"fiftyTwoWeekChangePercent\":247.39337,\"earningsTimestamp\":1731446100,\"earningsTimestampStart\":1731446100,\"earningsTimestampEnd\":1731446100,\"earningsCallTimestampStart\":1731448800,\"earningsCallTimestampEnd\":1731448800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.46,\"epsForward\":-0.23,\"epsCurrentYear\":-0.39,\"priceEpsCurrentYear\":-48.28205,\"sharesOutstanding\":496640000,\"bookValue\":0.844,\"fiftyDayAverage\":9.6388,\"fiftyDayAverageChange\":9.1912,\"fiftyDayAverageChangePercent\":0.95356274,\"twoHundredDayAverage\":5.885525,\"twoHundredDayAverageChange\":12.944475,\"twoHundredDayAverageChangePercent\":2.1993747,\"marketCap\":9351731200,\"forwardPE\":-81.86956,\"priceToBook\":22.310427,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NCM\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1606228200000,\"priceHint\":2,\"postMarketChangePercent\":-0.636749,\"postMarketTime\":1731545994,\"postMarketPrice\":18.7101,\"postMarketChange\":-0.1199,\"regularMarketChange\":4.17,\"regularMarketTime\":1731531601,\"regularMarketPrice\":18.83,\"regularMarketDayHigh\":22.55,\"regularMarketDayRange\":\"18.65 - - 22.55\",\"regularMarketDayLow\":18.65,\"regularMarketVolume\":120516002,\"regularMarketPreviousClose\":14.66,\"bid\":16.13,\"ask\":18.95,\"bidSize\":1,\"askSize\":70,\"market\":\"us_market\",\"messageBoardId\":\"finmb_533835000\",\"fullExchangeName\":\"NasdaqCM\",\"longName\":\"Rocket - Lab USA, Inc.\",\"displayName\":\"Rocket Lab USA\",\"symbol\":\"RKLB\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":13.705102,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":24.615,\"fiftyTwoWeekLow\":8.26,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Rivian Automotive, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":11.725,\"averageDailyVolume3Month\":30050079,\"averageDailyVolume10Day\":36819960,\"fiftyTwoWeekLowChange\":3.7699995,\"fiftyTwoWeekLowChangePercent\":0.4564164,\"fiftyTwoWeekRange\":\"8.26 - - 24.615\",\"fiftyTwoWeekHighChange\":-12.585,\"fiftyTwoWeekHighChangePercent\":-0.5112736,\"fiftyTwoWeekChangePercent\":-35.448444,\"earningsTimestamp\":1731013501,\"earningsTimestampStart\":1731013501,\"earningsTimestampEnd\":1731013501,\"earningsCallTimestampStart\":1731016800,\"earningsCallTimestampEnd\":1731016800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-6.37,\"epsForward\":-2.74,\"epsCurrentYear\":-3.96,\"priceEpsCurrentYear\":-3.0378788,\"sharesOutstanding\":1012849984,\"bookValue\":5.778,\"fiftyDayAverage\":11.2458,\"fiftyDayAverageChange\":0.7841997,\"fiftyDayAverageChangePercent\":0.06973267,\"twoHundredDayAverage\":12.221575,\"twoHundredDayAverageChange\":-0.19157505,\"twoHundredDayAverageChangePercent\":-0.015675152,\"marketCap\":12184585216,\"forwardPE\":-4.390511,\"priceToBook\":2.0820353,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-11-10\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1636554600000,\"priceHint\":2,\"postMarketChangePercent\":-0.0831195,\"postMarketTime\":1731545997,\"postMarketPrice\":12.02,\"postMarketChange\":-0.00999928,\"regularMarketChange\":1.4499998,\"regularMarketTime\":1731531601,\"regularMarketPrice\":12.03,\"regularMarketDayHigh\":13.1,\"regularMarketDayRange\":\"11.46 - - 13.1\",\"regularMarketDayLow\":11.46,\"regularMarketVolume\":118624190,\"regularMarketPreviousClose\":10.58,\"bid\":11.99,\"ask\":12.05,\"bidSize\":41,\"askSize\":61,\"market\":\"us_market\",\"messageBoardId\":\"finmb_144746614\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Rivian - Automotive, Inc.\",\"displayName\":\"Rivian Automotive\",\"symbol\":\"RIVN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-13.991276,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":34.09,\"fiftyTwoWeekLow\":9.21,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"MARA Holdings, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":24.308,\"averageDailyVolume3Month\":39899496,\"averageDailyVolume10Day\":56385110,\"fiftyTwoWeekLowChange\":12.490001,\"fiftyTwoWeekLowChangePercent\":1.3561347,\"fiftyTwoWeekRange\":\"9.21 - - 34.09\",\"fiftyTwoWeekHighChange\":-12.389999,\"fiftyTwoWeekHighChangePercent\":-0.36344966,\"fiftyTwoWeekChangePercent\":158.5041,\"dividendDate\":1554681600,\"earningsTimestamp\":1731445501,\"earningsTimestampStart\":1731445501,\"earningsTimestampEnd\":1731445501,\"earningsCallTimestampStart\":1731448800,\"earningsCallTimestampEnd\":1731448800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":24.111113,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.9,\"epsForward\":0.04,\"epsCurrentYear\":-0.115,\"priceEpsCurrentYear\":-188.69565,\"sharesOutstanding\":294475008,\"bookValue\":9.365,\"fiftyDayAverage\":16.9502,\"fiftyDayAverageChange\":4.7498016,\"fiftyDayAverageChangePercent\":0.280221,\"twoHundredDayAverage\":19.27295,\"twoHundredDayAverageChange\":2.4270515,\"twoHundredDayAverageChangePercent\":0.12593047,\"marketCap\":6390107648,\"forwardPE\":542.50006,\"priceToBook\":2.3171384,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Marathon - Patent Group, Inc.\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NCM\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1336138200000,\"priceHint\":2,\"postMarketChangePercent\":1.75115,\"postMarketTime\":1731545995,\"postMarketPrice\":22.08,\"postMarketChange\":0.379999,\"regularMarketChange\":-3.5299988,\"regularMarketTime\":1731531601,\"regularMarketPrice\":21.7,\"regularMarketDayHigh\":26.19,\"regularMarketDayRange\":\"21.43 - - 26.19\",\"regularMarketDayLow\":21.43,\"regularMarketVolume\":92696206,\"regularMarketPreviousClose\":25.23,\"bid\":21.5,\"ask\":21.75,\"bidSize\":47,\"askSize\":135,\"market\":\"us_market\",\"messageBoardId\":\"finmb_158387416\",\"fullExchangeName\":\"NasdaqCM\",\"longName\":\"MARA - Holdings, Inc.\",\"displayName\":\"MARA\",\"symbol\":\"MARA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":1.869157,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":5.31,\"fiftyTwoWeekLow\":2.02,\"averageAnalystRating\":\"3.3 - - Hold\",\"shortName\":\"Lucid Group, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":2.18,\"averageDailyVolume3Month\":44524052,\"averageDailyVolume10Day\":74355880,\"fiftyTwoWeekLowChange\":0.16000009,\"fiftyTwoWeekLowChangePercent\":0.079207964,\"fiftyTwoWeekRange\":\"2.02 - - 5.31\",\"fiftyTwoWeekHighChange\":-3.1299999,\"fiftyTwoWeekHighChangePercent\":-0.5894538,\"fiftyTwoWeekChangePercent\":-50.0,\"earningsTimestamp\":1731013508,\"earningsTimestampStart\":1731013508,\"earningsTimestampEnd\":1731013508,\"earningsCallTimestampStart\":1731018600,\"earningsCallTimestampEnd\":1731018600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-1.33,\"epsForward\":-0.88,\"epsCurrentYear\":-1.15714,\"priceEpsCurrentYear\":-1.8839552,\"sharesOutstanding\":3011689984,\"bookValue\":1.148,\"fiftyDayAverage\":3.0928,\"fiftyDayAverageChange\":-0.91279984,\"fiftyDayAverageChangePercent\":-0.29513705,\"twoHundredDayAverage\":3.0493,\"twoHundredDayAverageChange\":-0.8692999,\"twoHundredDayAverageChangePercent\":-0.2850818,\"marketCap\":6565484544,\"forwardPE\":-2.4772727,\"priceToBook\":1.8989547,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-07-26\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1600435800000,\"priceHint\":4,\"postMarketChangePercent\":1.14678,\"postMarketTime\":1731545982,\"postMarketPrice\":2.205,\"postMarketChange\":0.0249999,\"regularMarketChange\":0.03999996,\"regularMarketTime\":1731531601,\"regularMarketPrice\":2.18,\"regularMarketDayHigh\":2.33,\"regularMarketDayRange\":\"2.14 - - 2.33\",\"regularMarketDayLow\":2.14,\"regularMarketVolume\":83278792,\"regularMarketPreviousClose\":2.14,\"bid\":2.17,\"ask\":2.25,\"bidSize\":1,\"askSize\":21,\"market\":\"us_market\",\"messageBoardId\":\"finmb_83747444\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Lucid - Group, Inc.\",\"displayName\":\"Lucid\",\"symbol\":\"LCID\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":1.42022,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":63.39,\"fiftyTwoWeekLow\":15.664,\"averageAnalystRating\":\"3.2 - - Hold\",\"shortName\":\"Palantir Technologies Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":61.52,\"averageDailyVolume3Month\":63014949,\"averageDailyVolume10Day\":88767680,\"fiftyTwoWeekLowChange\":45.036003,\"fiftyTwoWeekLowChangePercent\":2.875128,\"fiftyTwoWeekRange\":\"15.664 - - 63.39\",\"fiftyTwoWeekHighChange\":-2.6899986,\"fiftyTwoWeekHighChangePercent\":-0.042435694,\"fiftyTwoWeekChangePercent\":202.73141,\"earningsTimestamp\":1730754300,\"earningsTimestampStart\":1738580340,\"earningsTimestampEnd\":1738929600,\"earningsCallTimestampStart\":1730757600,\"earningsCallTimestampEnd\":1730757600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":303.5,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.2,\"epsForward\":0.47,\"epsCurrentYear\":0.38,\"priceEpsCurrentYear\":159.73685,\"sharesOutstanding\":2180649984,\"bookValue\":1.982,\"fiftyDayAverage\":41.293,\"fiftyDayAverageChange\":19.407001,\"fiftyDayAverageChangePercent\":0.46998286,\"twoHundredDayAverage\":28.79675,\"twoHundredDayAverageChange\":31.903252,\"twoHundredDayAverageChangePercent\":1.1078769,\"marketCap\":138275815424,\"forwardPE\":129.14894,\"priceToBook\":30.625631,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2020-09-29\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1601472600000,\"priceHint\":2,\"postMarketChangePercent\":0.658975,\"postMarketTime\":1731545998,\"postMarketPrice\":61.1,\"postMarketChange\":0.399998,\"regularMarketChange\":0.850002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":60.7,\"regularMarketDayHigh\":63.39,\"regularMarketDayRange\":\"59.85 - - 63.39\",\"regularMarketDayLow\":59.85,\"regularMarketVolume\":82129745,\"regularMarketPreviousClose\":59.85,\"bid\":61.08,\"ask\":61.19,\"bidSize\":11,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_43580005\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Palantir - Technologies Inc.\",\"displayName\":\"Palantir\",\"symbol\":\"PLTR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":0.0,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":4.93,\"fiftyTwoWeekLow\":2.9,\"averageAnalystRating\":\"1.8 - - Buy\",\"shortName\":\"Grab Holdings Limited\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":4.83,\"averageDailyVolume3Month\":29812060,\"averageDailyVolume10Day\":36644070,\"fiftyTwoWeekLowChange\":1.9899998,\"fiftyTwoWeekLowChangePercent\":0.6862068,\"fiftyTwoWeekRange\":\"2.9 - - 4.93\",\"fiftyTwoWeekHighChange\":-0.03999996,\"fiftyTwoWeekHighChangePercent\":-0.008113583,\"fiftyTwoWeekChangePercent\":48.632217,\"earningsTimestamp\":1731367845,\"earningsTimestampStart\":1731367845,\"earningsTimestampEnd\":1731367845,\"earningsCallTimestampStart\":1731369600,\"earningsCallTimestampEnd\":1731369600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.05,\"epsForward\":0.03,\"epsCurrentYear\":-0.04,\"priceEpsCurrentYear\":-122.25,\"sharesOutstanding\":3841999872,\"bookValue\":1.579,\"fiftyDayAverage\":3.8102,\"fiftyDayAverageChange\":1.0797999,\"fiftyDayAverageChangePercent\":0.28339717,\"twoHundredDayAverage\":3.486575,\"twoHundredDayAverageChange\":1.403425,\"twoHundredDayAverageChangePercent\":0.40252253,\"marketCap\":19692029952,\"forwardPE\":163.0,\"priceToBook\":3.0968966,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-12-02\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1606833000000,\"priceHint\":4,\"postMarketChangePercent\":-0.613491,\"postMarketTime\":1731545980,\"postMarketPrice\":4.86,\"postMarketChange\":-0.0299997,\"regularMarketChange\":0.0,\"regularMarketTime\":1731531601,\"regularMarketPrice\":4.89,\"regularMarketDayHigh\":4.9,\"regularMarketDayRange\":\"4.545 - - 4.9\",\"regularMarketDayLow\":4.545,\"regularMarketVolume\":78146506,\"regularMarketPreviousClose\":4.89,\"bid\":4.83,\"ask\":4.89,\"bidSize\":33,\"askSize\":3,\"market\":\"us_market\",\"messageBoardId\":\"finmb_600742257\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Grab - Holdings Limited\",\"displayName\":\"Grab\",\"symbol\":\"GRAB\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-17.063492,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":10.25,\"fiftyTwoWeekLow\":1.62,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"SoundHound AI, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":6.605,\"averageDailyVolume3Month\":20061960,\"averageDailyVolume10Day\":37717470,\"fiftyTwoWeekLowChange\":4.65,\"fiftyTwoWeekLowChangePercent\":2.8703704,\"fiftyTwoWeekRange\":\"1.62 - - 10.25\",\"fiftyTwoWeekHighChange\":-3.98,\"fiftyTwoWeekHighChangePercent\":-0.38829267,\"fiftyTwoWeekChangePercent\":258.29385,\"earningsTimestamp\":1731445680,\"earningsTimestampStart\":1731445680,\"earningsTimestampEnd\":1731445680,\"earningsCallTimestampStart\":1731448800,\"earningsCallTimestampEnd\":1731448800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.38,\"epsForward\":-0.2,\"epsCurrentYear\":-0.34,\"priceEpsCurrentYear\":-18.441175,\"sharesOutstanding\":325996992,\"bookValue\":0.802,\"fiftyDayAverage\":5.1788,\"fiftyDayAverageChange\":1.0911999,\"fiftyDayAverageChangePercent\":0.21070516,\"twoHundredDayAverage\":4.8765,\"twoHundredDayAverageChange\":1.3934999,\"twoHundredDayAverageChangePercent\":0.2857582,\"marketCap\":2249255936,\"forwardPE\":-31.35,\"priceToBook\":7.817955,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NGM\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1651152600000,\"priceHint\":2,\"postMarketChangePercent\":0.478472,\"postMarketTime\":1731545993,\"postMarketPrice\":6.3,\"postMarketChange\":0.0300002,\"regularMarketChange\":-1.29,\"regularMarketTime\":1731531601,\"regularMarketPrice\":6.27,\"regularMarketDayHigh\":6.75,\"regularMarketDayRange\":\"6.06 - - 6.75\",\"regularMarketDayLow\":6.06,\"regularMarketVolume\":72646759,\"regularMarketPreviousClose\":7.56,\"bid\":6.24,\"ask\":6.33,\"bidSize\":66,\"askSize\":116,\"market\":\"us_market\",\"messageBoardId\":\"finmb_28748353\",\"fullExchangeName\":\"NasdaqGM\",\"longName\":\"SoundHound - AI, Inc.\",\"displayName\":\"SoundHound AI\",\"symbol\":\"SOUN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-15.031195,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":24.72,\"fiftyTwoWeekLow\":3.75,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"CleanSpark, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":17.295,\"averageDailyVolume3Month\":25234985,\"averageDailyVolume10Day\":33669530,\"fiftyTwoWeekLowChange\":11.23,\"fiftyTwoWeekLowChangePercent\":2.9946666,\"fiftyTwoWeekRange\":\"3.75 - - 24.72\",\"fiftyTwoWeekHighChange\":-9.74,\"fiftyTwoWeekHighChangePercent\":-0.39401296,\"fiftyTwoWeekChangePercent\":359.1146,\"dividendDate\":1576022400,\"earningsTimestampStart\":1732827600,\"earningsTimestampEnd\":1733173200,\"earningsCallTimestampStart\":1723235400,\"earningsCallTimestampEnd\":1723235400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.84,\"epsForward\":0.9,\"epsCurrentYear\":-0.62,\"priceEpsCurrentYear\":-24.16129,\"sharesOutstanding\":258167008,\"bookValue\":5.953,\"fiftyDayAverage\":10.5418,\"fiftyDayAverageChange\":4.4382,\"fiftyDayAverageChangePercent\":0.42100972,\"twoHundredDayAverage\":14.539325,\"twoHundredDayAverageChange\":0.44067478,\"twoHundredDayAverageChangePercent\":0.030309165,\"marketCap\":3867341568,\"forwardPE\":16.644444,\"priceToBook\":2.5163782,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NCM\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1479306600000,\"priceHint\":2,\"postMarketChangePercent\":1.93592,\"postMarketTime\":1731545999,\"postMarketPrice\":15.27,\"postMarketChange\":0.290001,\"regularMarketChange\":-2.6499996,\"regularMarketTime\":1731531601,\"regularMarketPrice\":14.98,\"regularMarketDayHigh\":17.9699,\"regularMarketDayRange\":\"14.81 - - 17.9699\",\"regularMarketDayLow\":14.81,\"regularMarketVolume\":56246445,\"regularMarketPreviousClose\":17.63,\"bid\":14.83,\"ask\":15.02,\"bidSize\":35,\"askSize\":100,\"market\":\"us_market\",\"messageBoardId\":\"finmb_50979342\",\"fullExchangeName\":\"NasdaqCM\",\"longName\":\"CleanSpark, - Inc.\",\"displayName\":\"CleanSpark\",\"symbol\":\"CLSK\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-2.3154826,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":14.44,\"fiftyTwoWeekLow\":6.01,\"averageAnalystRating\":\"2.9 - - Hold\",\"shortName\":\"SoFi Technologies, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":13.95,\"averageDailyVolume3Month\":50135996,\"averageDailyVolume10Day\":66100880,\"fiftyTwoWeekLowChange\":7.49,\"fiftyTwoWeekLowChangePercent\":1.2462561,\"fiftyTwoWeekRange\":\"6.01 - - 14.44\",\"fiftyTwoWeekHighChange\":-0.9399996,\"fiftyTwoWeekHighChangePercent\":-0.06509692,\"fiftyTwoWeekChangePercent\":105.96125,\"earningsTimestamp\":1730199600,\"earningsTimestampStart\":1737979200,\"earningsTimestampEnd\":1738324800,\"earningsCallTimestampStart\":1730203200,\"earningsCallTimestampEnd\":1730203200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":112.5,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.12,\"epsForward\":0.29,\"epsCurrentYear\":0.12,\"priceEpsCurrentYear\":112.5,\"sharesOutstanding\":1085149952,\"bookValue\":5.646,\"fiftyDayAverage\":9.3244,\"fiftyDayAverageChange\":4.1756,\"fiftyDayAverageChangePercent\":0.44781435,\"twoHundredDayAverage\":7.801625,\"twoHundredDayAverageChange\":5.698375,\"twoHundredDayAverageChangePercent\":0.7304088,\"marketCap\":14996745216,\"forwardPE\":46.551727,\"priceToBook\":2.3910735,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-06-01\",\"prevName\":\"Social - Capital Hedosophia Holdings Corp. V\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1609770600000,\"priceHint\":2,\"postMarketChangePercent\":1.18518,\"postMarketTime\":1731545997,\"postMarketPrice\":13.66,\"postMarketChange\":0.16,\"regularMarketChange\":-0.3199997,\"regularMarketTime\":1731531600,\"regularMarketPrice\":13.5,\"regularMarketDayHigh\":14.28,\"regularMarketDayRange\":\"13.39 - - 14.28\",\"regularMarketDayLow\":13.39,\"regularMarketVolume\":54851654,\"regularMarketPreviousClose\":13.82,\"bid\":13.49,\"ask\":13.56,\"bidSize\":48,\"askSize\":53,\"market\":\"us_market\",\"messageBoardId\":\"finmb_141582707\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"SoFi - Technologies, Inc.\",\"displayName\":\"SoFi\",\"symbol\":\"SOFI\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-6.313368,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":122.9,\"fiftyTwoWeekLow\":20.2,\"averageAnalystRating\":\"2.9 - - Hold\",\"shortName\":\"Super Micro Computer, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":21.0149,\"averageDailyVolume3Month\":75080181,\"averageDailyVolume10Day\":87236540,\"fiftyTwoWeekLowChange\":0.12999916,\"fiftyTwoWeekLowChangePercent\":0.006435602,\"fiftyTwoWeekRange\":\"20.2 - - 122.9\",\"fiftyTwoWeekHighChange\":-102.57,\"fiftyTwoWeekHighChangePercent\":-0.83458096,\"fiftyTwoWeekChangePercent\":-28.332216,\"earningsTimestamp\":1730841300,\"earningsTimestampStart\":1737975540,\"earningsTimestampEnd\":1738324800,\"earningsCallTimestampStart\":1730844000,\"earningsCallTimestampEnd\":1730844000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":10.813829,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.88,\"epsForward\":4.24,\"epsCurrentYear\":3.34,\"priceEpsCurrentYear\":6.0868263,\"sharesOutstanding\":585564992,\"bookValue\":9.32,\"fiftyDayAverage\":40.59122,\"fiftyDayAverageChange\":-20.26122,\"fiftyDayAverageChangePercent\":-0.49915278,\"twoHundredDayAverage\":71.22115,\"twoHundredDayAverageChange\":-50.89115,\"twoHundredDayAverageChangePercent\":-0.7145511,\"marketCap\":12706758656,\"forwardPE\":4.7948117,\"priceToBook\":2.1813304,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1175175000000,\"priceHint\":2,\"postMarketChangePercent\":-6.24742,\"postMarketTime\":1731545996,\"postMarketPrice\":19.0599,\"postMarketChange\":-1.2701,\"regularMarketChange\":-1.3700008,\"regularMarketTime\":1731531600,\"regularMarketPrice\":20.33,\"regularMarketDayHigh\":21.7999,\"regularMarketDayRange\":\"20.28 - - 21.7999\",\"regularMarketDayLow\":20.28,\"regularMarketVolume\":50676456,\"regularMarketPreviousClose\":21.7,\"bid\":20.28,\"ask\":20.39,\"bidSize\":38,\"askSize\":57,\"market\":\"us_market\",\"messageBoardId\":\"finmb_6479558\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Super - Micro Computer, Inc.\",\"displayName\":\"Super Micro Computer\",\"symbol\":\"SMCI\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":3.1456962,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":51.28,\"fiftyTwoWeekLow\":18.51,\"averageAnalystRating\":\"3.1 - - Hold\",\"shortName\":\"Intel Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":24.085,\"averageDailyVolume3Month\":79848903,\"averageDailyVolume10Day\":92521480,\"fiftyTwoWeekLowChange\":6.41,\"fiftyTwoWeekLowChangePercent\":0.3462993,\"fiftyTwoWeekRange\":\"18.51 - - 51.28\",\"fiftyTwoWeekHighChange\":-26.359999,\"fiftyTwoWeekHighChangePercent\":-0.5140405,\"fiftyTwoWeekChangePercent\":-42.51442,\"dividendDate\":1725148800,\"earningsTimestamp\":1730404860,\"earningsTimestampStart\":1737676800,\"earningsTimestampEnd\":1738022400,\"earningsCallTimestampStart\":1730408400,\"earningsCallTimestampEnd\":1730408400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.495,\"dividendRate\":0.5,\"trailingAnnualDividendYield\":0.020488411,\"dividendYield\":2.24,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-3.86,\"epsForward\":0.97,\"epsCurrentYear\":-0.14,\"priceEpsCurrentYear\":-178.0,\"sharesOutstanding\":4312999936,\"bookValue\":23.099,\"fiftyDayAverage\":22.467,\"fiftyDayAverageChange\":2.453001,\"fiftyDayAverageChangePercent\":0.10918241,\"twoHundredDayAverage\":30.90575,\"twoHundredDayAverageChange\":-5.98575,\"twoHundredDayAverageChangePercent\":-0.19367756,\"marketCap\":107479957504,\"forwardPE\":25.690722,\"priceToBook\":1.0788345,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":0.601925,\"postMarketTime\":1731545999,\"postMarketPrice\":25.07,\"postMarketChange\":0.15,\"regularMarketChange\":0.7600002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":24.92,\"regularMarketDayHigh\":25.14,\"regularMarketDayRange\":\"24.0626 - - 25.14\",\"regularMarketDayLow\":24.0626,\"regularMarketVolume\":58003134,\"regularMarketPreviousClose\":24.16,\"bid\":24.88,\"ask\":24.98,\"bidSize\":18,\"askSize\":15,\"market\":\"us_market\",\"messageBoardId\":\"finmb_21127\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Intel - Corporation\",\"displayName\":\"Intel\",\"symbol\":\"INTC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":5.422993,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":12.7,\"fiftyTwoWeekLow\":6.64,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"Warner Bros. Discovery, Inc. - \",\"financialCurrency\":\"USD\",\"regularMarketOpen\":9.4,\"averageDailyVolume3Month\":30267554,\"averageDailyVolume10Day\":41752270,\"fiftyTwoWeekLowChange\":3.0800004,\"fiftyTwoWeekLowChangePercent\":0.4638555,\"fiftyTwoWeekRange\":\"6.64 - - 12.7\",\"fiftyTwoWeekHighChange\":-2.9799995,\"fiftyTwoWeekHighChangePercent\":-0.23464563,\"fiftyTwoWeekChangePercent\":-5.8139563,\"earningsTimestamp\":1730980800,\"earningsTimestampStart\":1730980800,\"earningsTimestampEnd\":1730980800,\"earningsCallTimestampStart\":1730984400,\"earningsCallTimestampEnd\":1730984400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-4.82,\"epsForward\":-0.13,\"epsCurrentYear\":-4.42,\"priceEpsCurrentYear\":-2.199095,\"sharesOutstanding\":2453169920,\"bookValue\":14.315,\"fiftyDayAverage\":8.0148,\"fiftyDayAverageChange\":1.7052002,\"fiftyDayAverageChangePercent\":0.21275643,\"twoHundredDayAverage\":8.1766,\"twoHundredDayAverageChange\":1.5433998,\"twoHundredDayAverageChangePercent\":0.18875813,\"marketCap\":23844812800,\"forwardPE\":-74.76923,\"priceToBook\":0.67900807,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Discovery, - Inc.\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1120829400000,\"priceHint\":2,\"postMarketChangePercent\":-0.205766,\"postMarketTime\":1731545993,\"postMarketPrice\":9.7,\"postMarketChange\":-0.0200005,\"regularMarketChange\":0.5,\"regularMarketTime\":1731531601,\"regularMarketPrice\":9.72,\"regularMarketDayHigh\":9.89,\"regularMarketDayRange\":\"9.31 - - 9.89\",\"regularMarketDayLow\":9.31,\"regularMarketVolume\":45571304,\"regularMarketPreviousClose\":9.22,\"bid\":9.68,\"ask\":9.72,\"bidSize\":86,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_22666093\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Warner - Bros. Discovery, Inc.\",\"displayName\":\"Warner Bros. Discovery\",\"symbol\":\"WBD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-7.9110436,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":383.4,\"fiftyTwoWeekLow\":43.874,\"averageAnalystRating\":\"1.8 - - Buy\",\"shortName\":\"MicroStrategy Incorporated\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":366.83,\"averageDailyVolume3Month\":16455159,\"averageDailyVolume10Day\":28151780,\"fiftyTwoWeekLowChange\":284.506,\"fiftyTwoWeekLowChangePercent\":6.4846153,\"fiftyTwoWeekRange\":\"43.874 - - 383.4\",\"fiftyTwoWeekHighChange\":-55.01999,\"fiftyTwoWeekHighChangePercent\":-0.14350545,\"fiftyTwoWeekChangePercent\":571.4239,\"earningsTimestamp\":1730318460,\"earningsTimestampStart\":1738702800,\"earningsTimestampEnd\":1739221200,\"earningsCallTimestampStart\":1730322000,\"earningsCallTimestampEnd\":1730322000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-2.5,\"epsForward\":-0.43,\"epsCurrentYear\":-1.11,\"priceEpsCurrentYear\":-295.83783,\"sharesOutstanding\":183004000,\"bookValue\":18.622,\"fiftyDayAverage\":196.1382,\"fiftyDayAverageChange\":132.2418,\"fiftyDayAverageChangePercent\":0.6742277,\"twoHundredDayAverage\":149.92224,\"twoHundredDayAverageChange\":178.45776,\"twoHundredDayAverageChangePercent\":1.1903355,\"marketCap\":69220532224,\"forwardPE\":-763.67444,\"priceToBook\":17.633982,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":897571800000,\"priceHint\":2,\"postMarketChangePercent\":2.86558,\"postMarketTime\":1731545997,\"postMarketPrice\":337.79,\"postMarketChange\":9.41,\"regularMarketChange\":-28.209991,\"regularMarketTime\":1731531601,\"regularMarketPrice\":328.38,\"regularMarketDayHigh\":383.4,\"regularMarketDayRange\":\"321.7 - - 383.4\",\"regularMarketDayLow\":321.7,\"regularMarketVolume\":45375949,\"regularMarketPreviousClose\":356.59,\"bid\":315.0,\"ask\":329.24,\"bidSize\":5,\"askSize\":4,\"market\":\"us_market\",\"messageBoardId\":\"finmb_384976\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"MicroStrategy - Incorporated\",\"symbol\":\"MSTR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-37.0659,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":38.2,\"fiftyTwoWeekLow\":7.65,\"averageAnalystRating\":\"1.5 - - Strong Buy\",\"shortName\":\"Zeta Global Holdings Corp.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":28.35,\"averageDailyVolume3Month\":3804358,\"averageDailyVolume10Day\":6056450,\"fiftyTwoWeekLowChange\":10.110001,\"fiftyTwoWeekLowChangePercent\":1.3215687,\"fiftyTwoWeekRange\":\"7.65 - - 38.2\",\"fiftyTwoWeekHighChange\":-20.44,\"fiftyTwoWeekHighChangePercent\":-0.5350785,\"fiftyTwoWeekChangePercent\":234.75682,\"earningsTimestamp\":1731359100,\"earningsTimestampStart\":1731359100,\"earningsTimestampEnd\":1731359100,\"earningsCallTimestampStart\":1731360600,\"earningsCallTimestampEnd\":1731360600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.87,\"epsForward\":0.74,\"epsCurrentYear\":0.58692,\"priceEpsCurrentYear\":30.25966,\"sharesOutstanding\":208999008,\"bookValue\":2.06,\"fiftyDayAverage\":29.047,\"fiftyDayAverageChange\":-11.287001,\"fiftyDayAverageChangePercent\":-0.38857713,\"twoHundredDayAverage\":18.9486,\"twoHundredDayAverageChange\":-1.1886005,\"twoHundredDayAverageChangePercent\":-0.062727615,\"marketCap\":4217076480,\"forwardPE\":24.0,\"priceToBook\":8.62136,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-06-10\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1623331800000,\"priceHint\":2,\"postMarketChangePercent\":-6.5320997,\"postMarketTime\":1731546000,\"postMarketPrice\":16.5999,\"postMarketChange\":-1.1601009,\"regularMarketChange\":-10.46,\"regularMarketTime\":1731531602,\"regularMarketPrice\":17.76,\"regularMarketDayHigh\":28.51,\"regularMarketDayRange\":\"17.19 - - 28.51\",\"regularMarketDayLow\":17.19,\"regularMarketVolume\":44413721,\"regularMarketPreviousClose\":28.22,\"bid\":16.51,\"ask\":16.6,\"bidSize\":9,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_712701220\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Zeta - Global Holdings Corp.\",\"displayName\":\"Zeta Global\",\"symbol\":\"ZETA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":2.4843245,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":215.09,\"fiftyTwoWeekLow\":139.52,\"averageAnalystRating\":\"1.8 - - Buy\",\"shortName\":\"Amazon.com, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":209.43,\"averageDailyVolume3Month\":36530067,\"averageDailyVolume10Day\":52570370,\"fiftyTwoWeekLowChange\":74.58,\"fiftyTwoWeekLowChangePercent\":0.53454703,\"fiftyTwoWeekRange\":\"139.52 - - 215.09\",\"fiftyTwoWeekHighChange\":-0.98999023,\"fiftyTwoWeekHighChangePercent\":-0.004602679,\"fiftyTwoWeekChangePercent\":49.898483,\"earningsTimestamp\":1730404860,\"earningsTimestampStart\":1738234740,\"earningsTimestampEnd\":1738584000,\"earningsCallTimestampStart\":1730408400,\"earningsCallTimestampEnd\":1730408400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":44.604168,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.8,\"epsForward\":6.15,\"epsCurrentYear\":5.14,\"priceEpsCurrentYear\":41.653698,\"sharesOutstanding\":10515000320,\"bookValue\":24.655,\"fiftyDayAverage\":189.8664,\"fiftyDayAverageChange\":24.233612,\"fiftyDayAverageChangePercent\":0.12763508,\"twoHundredDayAverage\":182.53935,\"twoHundredDayAverageChange\":31.560654,\"twoHundredDayAverageChangePercent\":0.1728978,\"marketCap\":2251261739008,\"forwardPE\":34.813007,\"priceToBook\":8.683837,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":863703000000,\"priceHint\":2,\"postMarketChangePercent\":0.0934129,\"postMarketTime\":1731545996,\"postMarketPrice\":214.3,\"postMarketChange\":0.199997,\"regularMarketChange\":5.1900024,\"regularMarketTime\":1731531601,\"regularMarketPrice\":214.1,\"regularMarketDayHigh\":215.0799,\"regularMarketDayRange\":\"209.25 - - 215.0799\",\"regularMarketDayLow\":209.25,\"regularMarketVolume\":46132931,\"regularMarketPreviousClose\":208.91,\"bid\":213.89,\"ask\":214.33,\"bidSize\":4,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_18749\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Amazon.com, - Inc.\",\"displayName\":\"Amazon.com\",\"symbol\":\"AMZN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-12.318337,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":18.75,\"fiftyTwoWeekLow\":6.355,\"averageAnalystRating\":\"1.8 - - Buy\",\"shortName\":\"Riot Platforms, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":14.185,\"averageDailyVolume3Month\":20943307,\"averageDailyVolume10Day\":36508430,\"fiftyTwoWeekLowChange\":6.315,\"fiftyTwoWeekLowChangePercent\":0.99370575,\"fiftyTwoWeekRange\":\"6.355 - - 18.75\",\"fiftyTwoWeekHighChange\":-6.08,\"fiftyTwoWeekHighChangePercent\":-0.32426667,\"fiftyTwoWeekChangePercent\":42.224407,\"dividendDate\":1508284800,\"earningsTimestamp\":1730319308,\"earningsTimestampStart\":1730319308,\"earningsTimestampEnd\":1730319308,\"earningsCallTimestampStart\":1730320200,\"earningsCallTimestampEnd\":1730320200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":97.46154,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.13,\"epsForward\":-0.34,\"epsCurrentYear\":-0.08,\"priceEpsCurrentYear\":-158.375,\"sharesOutstanding\":332326016,\"bookValue\":8.477,\"fiftyDayAverage\":8.7444,\"fiftyDayAverageChange\":3.9256,\"fiftyDayAverageChangePercent\":0.4489273,\"twoHundredDayAverage\":10.22365,\"twoHundredDayAverageChange\":2.44635,\"twoHundredDayAverageChangePercent\":0.23928344,\"marketCap\":4210570752,\"forwardPE\":-37.264706,\"priceToBook\":1.4946325,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Riot - Blockchain, Inc.\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NCM\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1459431000000,\"priceHint\":2,\"postMarketChangePercent\":-0.157857,\"postMarketTime\":1731545999,\"postMarketPrice\":12.65,\"postMarketChange\":-0.0200005,\"regularMarketChange\":-1.7799997,\"regularMarketTime\":1731531600,\"regularMarketPrice\":12.67,\"regularMarketDayHigh\":14.8299,\"regularMarketDayRange\":\"12.49 - - 14.8299\",\"regularMarketDayLow\":12.49,\"regularMarketVolume\":43584240,\"regularMarketPreviousClose\":14.45,\"bid\":12.65,\"ask\":12.68,\"bidSize\":61,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1532998\",\"fullExchangeName\":\"NasdaqCM\",\"longName\":\"Riot - Platforms, Inc.\",\"displayName\":\"Riot Platforms\",\"symbol\":\"RIOT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":0.655026,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":9.57,\"fiftyTwoWeekLow\":3.61,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"NIO Inc.\",\"financialCurrency\":\"CNY\",\"regularMarketOpen\":4.66,\"averageDailyVolume3Month\":67972358,\"averageDailyVolume10Day\":55404080,\"fiftyTwoWeekLowChange\":1.0000002,\"fiftyTwoWeekLowChangePercent\":0.27700838,\"fiftyTwoWeekRange\":\"3.61 - - 9.57\",\"fiftyTwoWeekHighChange\":-4.9599996,\"fiftyTwoWeekHighChangePercent\":-0.5182863,\"fiftyTwoWeekChangePercent\":-38.10811,\"dividendDate\":1462147200,\"earningsTimestamp\":1732109400,\"earningsTimestampStart\":1732109400,\"earningsTimestampEnd\":1732109400,\"earningsCallTimestampStart\":1732104000,\"earningsCallTimestampEnd\":1732104000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-1.51,\"epsForward\":-0.85,\"epsCurrentYear\":-1.16,\"priceEpsCurrentYear\":-3.9741383,\"sharesOutstanding\":1941929984,\"bookValue\":7.842,\"fiftyDayAverage\":5.5798,\"fiftyDayAverageChange\":-0.9698,\"fiftyDayAverageChangePercent\":-0.1738055,\"twoHundredDayAverage\":5.0126,\"twoHundredDayAverageChange\":-0.4025998,\"twoHundredDayAverageChangePercent\":-0.080317564,\"marketCap\":10282512384,\"forwardPE\":-5.4235296,\"priceToBook\":0.5878602,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1536759000000,\"priceHint\":4,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731545993,\"postMarketPrice\":4.61,\"postMarketChange\":0.0,\"regularMarketChange\":0.0300002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":4.61,\"regularMarketDayHigh\":4.69,\"regularMarketDayRange\":\"4.56 - - 4.69\",\"regularMarketDayLow\":4.56,\"regularMarketVolume\":43225754,\"regularMarketPreviousClose\":4.58,\"bid\":4.59,\"ask\":4.61,\"bidSize\":451,\"askSize\":385,\"market\":\"us_market\",\"messageBoardId\":\"finmb_311626862\",\"fullExchangeName\":\"NYSE\",\"longName\":\"NIO - Inc.\",\"displayName\":\"NIO\",\"symbol\":\"NIO\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-13.892145,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":9.3,\"fiftyTwoWeekLow\":1.01,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"TeraWulf Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":8.75,\"averageDailyVolume3Month\":24165339,\"averageDailyVolume10Day\":30159950,\"fiftyTwoWeekLowChange\":6.335,\"fiftyTwoWeekLowChangePercent\":6.2722774,\"fiftyTwoWeekRange\":\"1.01 - - 9.3\",\"fiftyTwoWeekHighChange\":-1.9550004,\"fiftyTwoWeekHighChangePercent\":-0.21021509,\"fiftyTwoWeekChangePercent\":613.5922,\"earningsTimestamp\":1731445501,\"earningsTimestampStart\":1731445501,\"earningsTimestampEnd\":1731445501,\"earningsCallTimestampStart\":1731448800,\"earningsCallTimestampEnd\":1731448800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.18,\"epsForward\":0.1,\"epsCurrentYear\":-0.1,\"priceEpsCurrentYear\":-73.45,\"sharesOutstanding\":382598016,\"bookValue\":0.95,\"fiftyDayAverage\":5.3694,\"fiftyDayAverageChange\":1.9755998,\"fiftyDayAverageChangePercent\":0.3679368,\"twoHundredDayAverage\":3.669,\"twoHundredDayAverageChange\":3.6759999,\"twoHundredDayAverageChangePercent\":1.0019078,\"marketCap\":2810182400,\"forwardPE\":73.45,\"priceToBook\":7.731579,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NCM\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":765552600000,\"priceHint\":2,\"postMarketChangePercent\":0.204225,\"postMarketTime\":1731545968,\"postMarketPrice\":7.36,\"postMarketChange\":0.0150003,\"regularMarketChange\":-1.185,\"regularMarketTime\":1731531601,\"regularMarketPrice\":7.345,\"regularMarketDayHigh\":9.3,\"regularMarketDayRange\":\"7.32 - - 9.3\",\"regularMarketDayLow\":7.32,\"regularMarketVolume\":41934541,\"regularMarketPreviousClose\":8.53,\"bid\":6.59,\"ask\":9.44,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1671971858\",\"fullExchangeName\":\"NasdaqCM\",\"longName\":\"TeraWulf - Inc.\",\"displayName\":\"TeraWulf\",\"symbol\":\"WULF\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":0.0,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":14.85,\"fiftyTwoWeekLow\":9.49,\"averageAnalystRating\":\"2.8 - - Hold\",\"shortName\":\"Ford Motor Company\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":11.12,\"averageDailyVolume3Month\":50697323,\"averageDailyVolume10Day\":57850960,\"fiftyTwoWeekLowChange\":1.6100006,\"fiftyTwoWeekLowChangePercent\":0.16965233,\"fiftyTwoWeekRange\":\"9.49 - - 14.85\",\"fiftyTwoWeekHighChange\":-3.75,\"fiftyTwoWeekHighChangePercent\":-0.25252524,\"fiftyTwoWeekChangePercent\":9.251965,\"dividendDate\":1733097600,\"earningsTimestamp\":1730145900,\"earningsTimestampStart\":1738703100,\"earningsTimestampEnd\":1739221500,\"earningsCallTimestampStart\":1730149200,\"earningsCallTimestampEnd\":1730149200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.6,\"trailingPE\":12.613637,\"dividendRate\":0.6,\"trailingAnnualDividendYield\":0.054054055,\"dividendYield\":5.41,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.88,\"epsForward\":1.75,\"epsCurrentYear\":1.78,\"priceEpsCurrentYear\":6.235955,\"sharesOutstanding\":3903439872,\"bookValue\":11.15,\"fiftyDayAverage\":10.7726,\"fiftyDayAverageChange\":0.3274002,\"fiftyDayAverageChangePercent\":0.030391939,\"twoHundredDayAverage\":11.83045,\"twoHundredDayAverageChange\":-0.7304497,\"twoHundredDayAverageChangePercent\":-0.061743185,\"marketCap\":44114620416,\"forwardPE\":6.3428574,\"priceToBook\":0.99551576,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":76253400000,\"priceHint\":2,\"postMarketChangePercent\":0.0900836,\"postMarketTime\":1731545987,\"postMarketPrice\":11.11,\"postMarketChange\":0.00999928,\"regularMarketChange\":0.0,\"regularMarketTime\":1731531645,\"regularMarketPrice\":11.1,\"regularMarketDayHigh\":11.17,\"regularMarketDayRange\":\"11.02 - - 11.17\",\"regularMarketDayLow\":11.02,\"regularMarketVolume\":38807879,\"regularMarketPreviousClose\":11.1,\"bid\":11.1,\"ask\":11.11,\"bidSize\":394,\"askSize\":423,\"market\":\"us_market\",\"messageBoardId\":\"finmb_106335\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Ford - Motor Company\",\"symbol\":\"F\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":16.2973,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":27.6,\"fiftyTwoWeekLow\":6.22,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"IonQ, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":23.88,\"averageDailyVolume3Month\":13472776,\"averageDailyVolume10Day\":30753210,\"fiftyTwoWeekLowChange\":20.54,\"fiftyTwoWeekLowChangePercent\":3.302251,\"fiftyTwoWeekRange\":\"6.22 - - 27.6\",\"fiftyTwoWeekHighChange\":-0.84000015,\"fiftyTwoWeekHighChangePercent\":-0.030434787,\"fiftyTwoWeekChangePercent\":88.60656,\"earningsTimestamp\":1730927100,\"earningsTimestampStart\":1730927100,\"earningsTimestampEnd\":1730927100,\"earningsCallTimestampStart\":1730928600,\"earningsCallTimestampEnd\":1730928600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.82,\"epsForward\":-0.88,\"epsCurrentYear\":-0.83,\"priceEpsCurrentYear\":-32.240963,\"sharesOutstanding\":216392000,\"bookValue\":2.017,\"fiftyDayAverage\":11.775,\"fiftyDayAverageChange\":14.985001,\"fiftyDayAverageChangePercent\":1.2726115,\"twoHundredDayAverage\":9.3847,\"twoHundredDayAverageChange\":17.375301,\"twoHundredDayAverageChangePercent\":1.8514498,\"marketCap\":5790649856,\"forwardPE\":-30.409092,\"priceToBook\":13.267229,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1609770600000,\"priceHint\":2,\"postMarketChangePercent\":2.316887,\"postMarketTime\":1731545981,\"postMarketPrice\":27.38,\"postMarketChange\":0.61999893,\"regularMarketChange\":3.75,\"regularMarketTime\":1731531602,\"regularMarketPrice\":26.76,\"regularMarketDayHigh\":27.6,\"regularMarketDayRange\":\"23.675 - - 27.6\",\"regularMarketDayLow\":23.675,\"regularMarketVolume\":39642024,\"regularMarketPreviousClose\":23.01,\"bid\":27.01,\"ask\":27.38,\"bidSize\":12,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_531207172\",\"fullExchangeName\":\"NYSE\",\"longName\":\"IonQ, - Inc.\",\"displayName\":\"IonQ\",\"symbol\":\"IONQ\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":2.02367,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":31.54,\"fiftyTwoWeekLow\":25.2,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Pfizer, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":26.23,\"averageDailyVolume3Month\":33406189,\"averageDailyVolume10Day\":49581740,\"fiftyTwoWeekLowChange\":1.5199986,\"fiftyTwoWeekLowChangePercent\":0.0603174,\"fiftyTwoWeekRange\":\"25.2 - - 31.54\",\"fiftyTwoWeekHighChange\":-4.8200016,\"fiftyTwoWeekHighChangePercent\":-0.15282185,\"fiftyTwoWeekChangePercent\":-10.245216,\"dividendDate\":1733097600,\"earningsTimestamp\":1730198700,\"earningsTimestampStart\":1738071000,\"earningsTimestampEnd\":1738589400,\"earningsCallTimestampStart\":1730210400,\"earningsCallTimestampEnd\":1730210400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.67,\"trailingPE\":35.157894,\"dividendRate\":1.68,\"trailingAnnualDividendYield\":0.063764796,\"dividendYield\":6.41,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.76,\"epsForward\":2.93,\"epsCurrentYear\":2.93,\"priceEpsCurrentYear\":9.119453,\"sharesOutstanding\":5666990080,\"bookValue\":16.288,\"fiftyDayAverage\":28.7624,\"fiftyDayAverageChange\":-2.0424004,\"fiftyDayAverageChangePercent\":-0.07100939,\"twoHundredDayAverage\":28.16995,\"twoHundredDayAverageChange\":-1.4499512,\"twoHundredDayAverageChangePercent\":-0.051471554,\"marketCap\":151421976576,\"forwardPE\":9.119453,\"priceToBook\":1.6404715,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":76253400000,\"priceHint\":2,\"postMarketChangePercent\":0.07485201,\"postMarketTime\":1731545978,\"postMarketPrice\":26.74,\"postMarketChange\":0.020000458,\"regularMarketChange\":0.529999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":26.72,\"regularMarketDayHigh\":26.75,\"regularMarketDayRange\":\"25.98 - - 26.75\",\"regularMarketDayLow\":25.98,\"regularMarketVolume\":36647810,\"regularMarketPreviousClose\":26.19,\"bid\":26.73,\"ask\":26.67,\"bidSize\":14,\"askSize\":22,\"market\":\"us_market\",\"messageBoardId\":\"finmb_162270\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Pfizer - Inc.\",\"displayName\":\"Pfizer\",\"symbol\":\"PFE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":9.810124,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":8.07,\"fiftyTwoWeekLow\":4.09,\"averageAnalystRating\":\"3.1 - - Hold\",\"shortName\":\"JetBlue Airways Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":6.65,\"averageDailyVolume3Month\":17194418,\"averageDailyVolume10Day\":19811830,\"fiftyTwoWeekLowChange\":2.85,\"fiftyTwoWeekLowChangePercent\":0.69682145,\"fiftyTwoWeekRange\":\"4.09 - - 8.07\",\"fiftyTwoWeekHighChange\":-1.1299996,\"fiftyTwoWeekHighChangePercent\":-0.14002474,\"fiftyTwoWeekChangePercent\":59.90783,\"earningsTimestamp\":1730199600,\"earningsTimestampStart\":1738071000,\"earningsTimestampEnd\":1738589400,\"earningsCallTimestampStart\":1730210400,\"earningsCallTimestampEnd\":1730210400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-2.48,\"epsForward\":-0.64,\"epsCurrentYear\":-0.92,\"priceEpsCurrentYear\":-7.543478,\"sharesOutstanding\":346876992,\"bookValue\":7.622,\"fiftyDayAverage\":6.403,\"fiftyDayAverageChange\":0.5370002,\"fiftyDayAverageChangePercent\":0.08386697,\"twoHundredDayAverage\":6.148,\"twoHundredDayAverageChange\":0.7920003,\"twoHundredDayAverageChangePercent\":0.12882243,\"marketCap\":2407326464,\"forwardPE\":-10.84375,\"priceToBook\":0.91052216,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1018618200000,\"priceHint\":2,\"postMarketChangePercent\":0.144089,\"postMarketTime\":1731545910,\"postMarketPrice\":6.95,\"postMarketChange\":0.00999975,\"regularMarketChange\":0.6199999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":6.94,\"regularMarketDayHigh\":7.42,\"regularMarketDayRange\":\"6.5501 - - 7.42\",\"regularMarketDayLow\":6.5501,\"regularMarketVolume\":36971399,\"regularMarketPreviousClose\":6.32,\"bid\":5.95,\"ask\":7.91,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_106437\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"JetBlue - Airways Corporation\",\"displayName\":\"JetBlue Airways\",\"symbol\":\"JBLU\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-19.495415,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":19.39,\"fiftyTwoWeekLow\":7.65,\"averageAnalystRating\":\"2.8 - - Hold\",\"shortName\":\"ZoomInfo Technologies Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":11.012,\"averageDailyVolume3Month\":6951012,\"averageDailyVolume10Day\":10569380,\"fiftyTwoWeekLowChange\":2.8799996,\"fiftyTwoWeekLowChangePercent\":0.37647054,\"fiftyTwoWeekRange\":\"7.65 - - 19.39\",\"fiftyTwoWeekHighChange\":-8.86,\"fiftyTwoWeekHighChangePercent\":-0.45693657,\"fiftyTwoWeekChangePercent\":-1.7280221,\"earningsTimestamp\":1731445200,\"earningsTimestampStart\":1731445200,\"earningsTimestampEnd\":1731445200,\"earningsCallTimestampStart\":1731447000,\"earningsCallTimestampEnd\":1731447000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":263.25,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.04,\"epsForward\":0.96,\"epsCurrentYear\":0.88,\"priceEpsCurrentYear\":11.965909,\"sharesOutstanding\":365280000,\"bookValue\":4.907,\"fiftyDayAverage\":10.4874,\"fiftyDayAverageChange\":0.042599678,\"fiftyDayAverageChangePercent\":0.0040619867,\"twoHundredDayAverage\":12.8408,\"twoHundredDayAverageChange\":-2.3108006,\"twoHundredDayAverageChangePercent\":-0.17995767,\"marketCap\":3846398208,\"forwardPE\":10.96875,\"priceToBook\":2.1459138,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2020-06-04\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1591277400000,\"priceHint\":2,\"postMarketChangePercent\":-0.283947,\"postMarketTime\":1731545312,\"postMarketPrice\":10.5001,\"postMarketChange\":-0.0298996,\"regularMarketChange\":-2.5500002,\"regularMarketTime\":1731531601,\"regularMarketPrice\":10.53,\"regularMarketDayHigh\":11.41,\"regularMarketDayRange\":\"10.19 - - 11.41\",\"regularMarketDayLow\":10.19,\"regularMarketVolume\":36635200,\"regularMarketPreviousClose\":13.08,\"bid\":10.54,\"ask\":10.59,\"bidSize\":67,\"askSize\":28,\"market\":\"us_market\",\"messageBoardId\":\"finmb_656458081\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"ZoomInfo - Technologies Inc.\",\"displayName\":\"ZoomInfo\",\"symbol\":\"ZI\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-1.26262,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":16.145,\"fiftyTwoWeekLow\":7.745,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Nu Holdings Ltd.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":15.95,\"averageDailyVolume3Month\":37725811,\"averageDailyVolume10Day\":26965720,\"fiftyTwoWeekLowChange\":7.8950005,\"fiftyTwoWeekLowChangePercent\":1.0193675,\"fiftyTwoWeekRange\":\"7.745 - - 16.145\",\"fiftyTwoWeekHighChange\":-0.5050001,\"fiftyTwoWeekHighChangePercent\":-0.03127904,\"fiftyTwoWeekChangePercent\":101.78344,\"earningsTimestamp\":1731532680,\"earningsTimestampStart\":1731532680,\"earningsTimestampEnd\":1731532680,\"earningsCallTimestampStart\":1731535200,\"earningsCallTimestampEnd\":1731535200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":50.451614,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.31,\"epsForward\":0.62,\"epsCurrentYear\":0.43009,\"priceEpsCurrentYear\":36.364483,\"sharesOutstanding\":3706860032,\"bookValue\":1.446,\"fiftyDayAverage\":14.4252,\"fiftyDayAverageChange\":1.2147999,\"fiftyDayAverageChangePercent\":0.084213726,\"twoHundredDayAverage\":12.47825,\"twoHundredDayAverageChange\":3.1617508,\"twoHundredDayAverageChangePercent\":0.25338095,\"marketCap\":74904969216,\"forwardPE\":25.225807,\"priceToBook\":10.816045,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-12-09\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1639060200000,\"priceHint\":2,\"postMarketChangePercent\":-3.77238,\"postMarketTime\":1731545989,\"postMarketPrice\":15.05,\"postMarketChange\":-0.59,\"regularMarketChange\":-0.2,\"regularMarketTime\":1731531602,\"regularMarketPrice\":15.64,\"regularMarketDayHigh\":15.96,\"regularMarketDayRange\":\"15.63 - - 15.96\",\"regularMarketDayLow\":15.63,\"regularMarketVolume\":35371186,\"regularMarketPreviousClose\":15.84,\"bid\":15.02,\"ask\":15.27,\"bidSize\":40,\"askSize\":40,\"market\":\"us_market\",\"messageBoardId\":\"finmb_412550767\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Nu - Holdings Ltd.\",\"displayName\":\"Nu\",\"symbol\":\"NU\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":0.39691362,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":237.49,\"fiftyTwoWeekLow\":164.08,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"Apple Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":223.95,\"averageDailyVolume3Month\":47742718,\"averageDailyVolume10Day\":46866260,\"fiftyTwoWeekLowChange\":61.039993,\"fiftyTwoWeekLowChangePercent\":0.3720136,\"fiftyTwoWeekRange\":\"164.08 - - 237.49\",\"fiftyTwoWeekHighChange\":-12.37001,\"fiftyTwoWeekHighChangePercent\":-0.052086446,\"fiftyTwoWeekChangePercent\":18.665325,\"dividendDate\":1731542400,\"earningsTimestamp\":1730406600,\"earningsTimestampStart\":1738270800,\"earningsTimestampEnd\":1738616400,\"earningsCallTimestampStart\":1730408400,\"earningsCallTimestampEnd\":1730408400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.98,\"trailingPE\":36.90492,\"dividendRate\":1.0,\"trailingAnnualDividendYield\":0.0043705124,\"dividendYield\":0.45,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":6.1,\"epsForward\":8.31,\"epsCurrentYear\":7.39,\"priceEpsCurrentYear\":30.462788,\"sharesOutstanding\":15115799552,\"bookValue\":3.767,\"fiftyDayAverage\":226.8388,\"fiftyDayAverageChange\":-1.718811,\"fiftyDayAverageChangePercent\":-0.0075772353,\"twoHundredDayAverage\":203.426,\"twoHundredDayAverageChange\":21.694,\"twoHundredDayAverageChangePercent\":0.10664321,\"marketCap\":3402868719616,\"forwardPE\":27.09025,\"priceToBook\":59.76108,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":345479400000,\"priceHint\":2,\"postMarketChangePercent\":-0.173241,\"postMarketTime\":1731545999,\"postMarketPrice\":224.73,\"postMarketChange\":-0.389999,\"regularMarketChange\":0.8899994,\"regularMarketTime\":1731531602,\"regularMarketPrice\":225.12,\"regularMarketDayHigh\":226.65,\"regularMarketDayRange\":\"222.76 - - 226.65\",\"regularMarketDayLow\":222.76,\"regularMarketVolume\":47686733,\"regularMarketPreviousClose\":224.23,\"bid\":212.6,\"ask\":225.46,\"bidSize\":1,\"askSize\":50,\"market\":\"us_market\",\"messageBoardId\":\"finmb_24937\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Apple - Inc.\",\"displayName\":\"Apple\",\"symbol\":\"AAPL\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-12.258061,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":15.75,\"fiftyTwoWeekLow\":2.79,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"Iris Energy Limited\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":12.2,\"averageDailyVolume3Month\":15246053,\"averageDailyVolume10Day\":17581990,\"fiftyTwoWeekLowChange\":8.09,\"fiftyTwoWeekLowChangePercent\":2.8996418,\"fiftyTwoWeekRange\":\"2.79 - - 15.75\",\"fiftyTwoWeekHighChange\":-4.87,\"fiftyTwoWeekHighChangePercent\":-0.30920634,\"fiftyTwoWeekChangePercent\":335.08774,\"earningsTimestamp\":1732654800,\"earningsTimestampStart\":1732654800,\"earningsTimestampEnd\":1732654800,\"earningsCallTimestampStart\":1732658400,\"earningsCallTimestampEnd\":1732658400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.29,\"epsForward\":0.34,\"epsCurrentYear\":0.43,\"priceEpsCurrentYear\":25.302326,\"sharesOutstanding\":189346000,\"bookValue\":5.841,\"fiftyDayAverage\":8.7168,\"fiftyDayAverageChange\":2.1632004,\"fiftyDayAverageChangePercent\":0.24816452,\"twoHundredDayAverage\":7.89905,\"twoHundredDayAverageChange\":2.9809499,\"twoHundredDayAverageChangePercent\":0.3773808,\"marketCap\":2060084480,\"forwardPE\":32.0,\"priceToBook\":1.8626947,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-11-17\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1637159400000,\"priceHint\":2,\"postMarketChangePercent\":0.642459,\"postMarketTime\":1731545998,\"postMarketPrice\":10.9499,\"postMarketChange\":0.0698996,\"regularMarketChange\":-1.5199995,\"regularMarketTime\":1731531601,\"regularMarketPrice\":10.88,\"regularMarketDayHigh\":12.42,\"regularMarketDayRange\":\"10.7036 - - 12.42\",\"regularMarketDayLow\":10.7036,\"regularMarketVolume\":30413682,\"regularMarketPreviousClose\":12.4,\"bid\":8.8,\"ask\":10.98,\"bidSize\":1,\"askSize\":115,\"market\":\"us_market\",\"messageBoardId\":\"finmb_706254871\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Iris - Energy Limited\",\"displayName\":\"Iris Energy\",\"symbol\":\"IREN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-3.0146918,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":227.3,\"fiftyTwoWeekLow\":116.37,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"Advanced Micro Devices, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":142.82,\"averageDailyVolume3Month\":37056964,\"averageDailyVolume10Day\":32885210,\"fiftyTwoWeekLowChange\":22.93,\"fiftyTwoWeekLowChangePercent\":0.19704391,\"fiftyTwoWeekRange\":\"116.37 - - 227.3\",\"fiftyTwoWeekHighChange\":-88.0,\"fiftyTwoWeekHighChangePercent\":-0.38715354,\"fiftyTwoWeekChangePercent\":16.248024,\"earningsTimestamp\":1730232930,\"earningsTimestampStart\":1738098000,\"earningsTimestampEnd\":1738616400,\"earningsCallTimestampStart\":1730235600,\"earningsCallTimestampEnd\":1730235600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":126.63636,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.1,\"epsForward\":5.1,\"epsCurrentYear\":3.32,\"priceEpsCurrentYear\":41.957832,\"sharesOutstanding\":1622809984,\"bookValue\":35.111,\"fiftyDayAverage\":154.516,\"fiftyDayAverageChange\":-15.216003,\"fiftyDayAverageChangePercent\":-0.098475255,\"twoHundredDayAverage\":161.69315,\"twoHundredDayAverageChange\":-22.393143,\"twoHundredDayAverageChangePercent\":-0.1384916,\"marketCap\":233083731968,\"forwardPE\":27.313726,\"priceToBook\":3.9674177,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":0.143573,\"postMarketTime\":1731545995,\"postMarketPrice\":139.5,\"postMarketChange\":0.199997,\"regularMarketChange\":-4.330002,\"regularMarketTime\":1731531601,\"regularMarketPrice\":139.3,\"regularMarketDayHigh\":144.49,\"regularMarketDayRange\":\"139.07 - - 144.49\",\"regularMarketDayLow\":139.07,\"regularMarketVolume\":34905743,\"regularMarketPreviousClose\":143.63,\"bid\":139.26,\"ask\":139.39,\"bidSize\":5,\"askSize\":7,\"market\":\"us_market\",\"messageBoardId\":\"finmb_168864\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Advanced - Micro Devices, Inc.\",\"displayName\":\"Advanced Micro Devices\",\"symbol\":\"AMD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":0.71891004,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":16.15,\"fiftyTwoWeekLow\":9.07,\"averageAnalystRating\":\"2.7 - - Hold\",\"shortName\":\"American Airlines Group, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":14.035,\"averageDailyVolume3Month\":33429479,\"averageDailyVolume10Day\":24593300,\"fiftyTwoWeekLowChange\":4.9400005,\"fiftyTwoWeekLowChangePercent\":0.54465276,\"fiftyTwoWeekRange\":\"9.07 - - 16.15\",\"fiftyTwoWeekHighChange\":-2.1399994,\"fiftyTwoWeekHighChangePercent\":-0.13250771,\"fiftyTwoWeekChangePercent\":14.930272,\"dividendDate\":1582070400,\"earningsTimestamp\":1729767601,\"earningsTimestampStart\":1737642600,\"earningsTimestampEnd\":1737988200,\"earningsCallTimestampStart\":1729773000,\"earningsCallTimestampEnd\":1729773000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":33.357143,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.42,\"epsForward\":2.02,\"epsCurrentYear\":1.48,\"priceEpsCurrentYear\":9.466216,\"sharesOutstanding\":657131008,\"bookValue\":-7.387,\"fiftyDayAverage\":12.1432,\"fiftyDayAverageChange\":1.8668003,\"fiftyDayAverageChangePercent\":0.15373215,\"twoHundredDayAverage\":12.59405,\"twoHundredDayAverageChange\":1.4159498,\"twoHundredDayAverageChangePercent\":0.11243006,\"marketCap\":9206405120,\"forwardPE\":6.9356437,\"priceToBook\":-1.8965751,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1127827800000,\"priceHint\":2,\"postMarketChangePercent\":-0.0713792,\"postMarketTime\":1731545629,\"postMarketPrice\":14.0,\"postMarketChange\":-0.0100002,\"regularMarketChange\":0.10000038,\"regularMarketTime\":1731531601,\"regularMarketPrice\":14.01,\"regularMarketDayHigh\":14.48,\"regularMarketDayRange\":\"13.97 - - 14.48\",\"regularMarketDayLow\":13.97,\"regularMarketVolume\":30098275,\"regularMarketPreviousClose\":13.91,\"bid\":14.0,\"ask\":14.03,\"bidSize\":48,\"askSize\":24,\"market\":\"us_market\",\"messageBoardId\":\"finmb_168569\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"American - Airlines Group Inc.\",\"displayName\":\"American Airlines\",\"symbol\":\"AAL\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":0.0218018,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":46.52,\"fiftyTwoWeekLow\":29.22,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Bank of America Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":46.2,\"averageDailyVolume3Month\":37162606,\"averageDailyVolume10Day\":43642580,\"fiftyTwoWeekLowChange\":16.65,\"fiftyTwoWeekLowChangePercent\":0.5698152,\"fiftyTwoWeekRange\":\"29.22 - - 46.52\",\"fiftyTwoWeekHighChange\":-0.6500015,\"fiftyTwoWeekHighChangePercent\":-0.013972518,\"fiftyTwoWeekChangePercent\":55.28097,\"dividendDate\":1735257600,\"earningsTimestamp\":1737034200,\"earningsTimestampStart\":1737034200,\"earningsTimestampEnd\":1737034200,\"earningsCallTimestampStart\":1737043200,\"earningsCallTimestampEnd\":1737043200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.98,\"trailingPE\":16.619564,\"dividendRate\":1.04,\"trailingAnnualDividendYield\":0.021369385,\"dividendYield\":2.27,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.76,\"epsForward\":3.66,\"epsCurrentYear\":3.25,\"priceEpsCurrentYear\":14.113846,\"sharesOutstanding\":7672880128,\"bookValue\":35.371,\"fiftyDayAverage\":41.211,\"fiftyDayAverageChange\":4.6590004,\"fiftyDayAverageChangePercent\":0.11305235,\"twoHundredDayAverage\":38.79425,\"twoHundredDayAverageChange\":7.0757484,\"twoHundredDayAverageChangePercent\":0.18239167,\"marketCap\":351954993152,\"forwardPE\":12.532786,\"priceToBook\":1.2968252,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":99153000000,\"priceHint\":2,\"postMarketChangePercent\":0.108786,\"postMarketTime\":1731545995,\"postMarketPrice\":45.9199,\"postMarketChange\":0.0499001,\"regularMarketChange\":0.00999832,\"regularMarketTime\":1731531602,\"regularMarketPrice\":45.87,\"regularMarketDayHigh\":46.48,\"regularMarketDayRange\":\"45.83 - - 46.48\",\"regularMarketDayLow\":45.83,\"regularMarketVolume\":27345145,\"regularMarketPreviousClose\":45.86,\"bid\":45.87,\"ask\":45.99,\"bidSize\":9,\"askSize\":29,\"market\":\"us_market\",\"messageBoardId\":\"finmb_19049\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Bank - of America Corporation\",\"displayName\":\"Bank of America\",\"symbol\":\"BAC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":14.962898,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":39.08,\"fiftyTwoWeekLow\":1.97,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"AST SpaceMobile, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":26.0,\"averageDailyVolume3Month\":16647212,\"averageDailyVolume10Day\":9301820,\"fiftyTwoWeekLowChange\":25.92,\"fiftyTwoWeekLowChangePercent\":13.15736,\"fiftyTwoWeekRange\":\"1.97 - - 39.08\",\"fiftyTwoWeekHighChange\":-11.190002,\"fiftyTwoWeekHighChangePercent\":-0.28633577,\"fiftyTwoWeekChangePercent\":430.85342,\"earningsTimestamp\":1731618000,\"earningsTimestampStart\":1731618000,\"earningsTimestampEnd\":1731618000,\"earningsCallTimestampStart\":1731621600,\"earningsCallTimestampEnd\":1731621600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-1.49,\"epsForward\":-0.71,\"epsCurrentYear\":-1.1,\"priceEpsCurrentYear\":-25.354544,\"sharesOutstanding\":199571008,\"bookValue\":0.976,\"fiftyDayAverage\":25.8022,\"fiftyDayAverageChange\":2.087799,\"fiftyDayAverageChangePercent\":0.08091554,\"twoHundredDayAverage\":13.3661,\"twoHundredDayAverageChange\":14.523899,\"twoHundredDayAverageChangePercent\":1.086622,\"marketCap\":8854544384,\"forwardPE\":-39.28169,\"priceToBook\":28.575819,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1572615000000,\"priceHint\":2,\"postMarketChangePercent\":3.87236,\"postMarketTime\":1731545988,\"postMarketPrice\":28.97,\"postMarketChange\":1.08,\"regularMarketChange\":3.6299992,\"regularMarketTime\":1731531602,\"regularMarketPrice\":27.89,\"regularMarketDayHigh\":30.89,\"regularMarketDayRange\":\"25.71 - - 30.89\",\"regularMarketDayLow\":25.71,\"regularMarketVolume\":26318961,\"regularMarketPreviousClose\":24.26,\"bid\":27.78,\"ask\":28.1,\"bidSize\":85,\"askSize\":40,\"market\":\"us_market\",\"messageBoardId\":\"finmb_557143394\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"AST - SpaceMobile, Inc.\",\"displayName\":\"AST SpaceMobile\",\"symbol\":\"ASTS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-10.782441,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":334.86,\"fiftyTwoWeekLow\":94.45,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Coinbase Global, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":324.915,\"averageDailyVolume3Month\":10233880,\"averageDailyVolume10Day\":20095100,\"fiftyTwoWeekLowChange\":190.27,\"fiftyTwoWeekLowChangePercent\":2.0145051,\"fiftyTwoWeekRange\":\"94.45 - - 334.86\",\"fiftyTwoWeekHighChange\":-50.139984,\"fiftyTwoWeekHighChangePercent\":-0.14973417,\"fiftyTwoWeekChangePercent\":229.27156,\"earningsTimestamp\":1730319120,\"earningsTimestampStart\":1739444340,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730323800,\"earningsCallTimestampEnd\":1730323800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":54.026566,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":5.27,\"epsForward\":3.57,\"epsCurrentYear\":5.22,\"priceEpsCurrentYear\":54.544064,\"sharesOutstanding\":204910000,\"bookValue\":34.872,\"fiftyDayAverage\":190.7366,\"fiftyDayAverageChange\":93.9834,\"fiftyDayAverageChangePercent\":0.4927392,\"twoHundredDayAverage\":210.28755,\"twoHundredDayAverageChange\":74.43245,\"twoHundredDayAverageChangePercent\":0.35395557,\"marketCap\":79894429696,\"forwardPE\":79.7535,\"priceToBook\":8.164717,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-04-14\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1618407000000,\"priceHint\":2,\"postMarketChangePercent\":1.67884,\"postMarketTime\":1731545994,\"postMarketPrice\":289.5,\"postMarketChange\":4.78,\"regularMarketChange\":-34.410004,\"regularMarketTime\":1731531601,\"regularMarketPrice\":284.72,\"regularMarketDayHigh\":332.3199,\"regularMarketDayRange\":\"282.66 - - 332.3199\",\"regularMarketDayLow\":282.66,\"regularMarketVolume\":27551858,\"regularMarketPreviousClose\":319.13,\"bid\":284.27,\"ask\":285.58,\"bidSize\":4,\"askSize\":2,\"market\":\"us_market\",\"messageBoardId\":\"finmb_377154867\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Coinbase - Global, Inc.\",\"displayName\":\"Coinbase Global\",\"symbol\":\"COIN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":0.8005472,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":59.38,\"fiftyTwoWeekLow\":44.5,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Cisco Systems, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":58.15,\"averageDailyVolume3Month\":17369160,\"averageDailyVolume10Day\":19112410,\"fiftyTwoWeekLowChange\":14.68,\"fiftyTwoWeekLowChangePercent\":0.32988766,\"fiftyTwoWeekRange\":\"44.5 - - 59.38\",\"fiftyTwoWeekHighChange\":-0.20000076,\"fiftyTwoWeekHighChangePercent\":-0.0033681502,\"fiftyTwoWeekChangePercent\":23.189009,\"dividendDate\":1729641600,\"earningsTimestamp\":1731531905,\"earningsTimestampStart\":1739394000,\"earningsTimestampEnd\":1739826000,\"earningsCallTimestampStart\":1731533400,\"earningsCallTimestampEnd\":1731533400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.58,\"trailingPE\":23.117188,\"dividendRate\":1.6,\"trailingAnnualDividendYield\":0.02691194,\"dividendYield\":2.73,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.56,\"epsForward\":3.9,\"epsCurrentYear\":3.58,\"priceEpsCurrentYear\":16.530727,\"sharesOutstanding\":3986020096,\"bookValue\":11.344,\"fiftyDayAverage\":53.8248,\"fiftyDayAverageChange\":5.3552017,\"fiftyDayAverageChangePercent\":0.099493206,\"twoHundredDayAverage\":49.5187,\"twoHundredDayAverageChange\":9.661301,\"twoHundredDayAverageChangePercent\":0.19510409,\"marketCap\":235892670464,\"forwardPE\":15.174358,\"priceToBook\":5.216855,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":635178600000,\"priceHint\":2,\"postMarketChangePercent\":-2.92328,\"postMarketTime\":1731545994,\"postMarketPrice\":57.45,\"postMarketChange\":-1.73,\"regularMarketChange\":0.47000122,\"regularMarketTime\":1731531601,\"regularMarketPrice\":59.18,\"regularMarketDayHigh\":59.28,\"regularMarketDayRange\":\"57.84 - - 59.28\",\"regularMarketDayLow\":57.84,\"regularMarketVolume\":35421094,\"regularMarketPreviousClose\":58.71,\"bid\":59.14,\"ask\":59.27,\"bidSize\":4,\"askSize\":4,\"market\":\"us_market\",\"messageBoardId\":\"finmb_19691\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Cisco - Systems, Inc.\",\"displayName\":\"Cisco Systems\",\"symbol\":\"CSCO\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-7.89474,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":2.13,\"fiftyTwoWeekLow\":1.0,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Globalstar, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":1.89,\"averageDailyVolume3Month\":13532306,\"averageDailyVolume10Day\":61900020,\"fiftyTwoWeekLowChange\":0.75,\"fiftyTwoWeekLowChangePercent\":0.75,\"fiftyTwoWeekRange\":\"1.0 - - 2.13\",\"fiftyTwoWeekHighChange\":-0.3800001,\"fiftyTwoWeekHighChangePercent\":-0.1784038,\"fiftyTwoWeekChangePercent\":24.113476,\"earningsTimestamp\":1731014100,\"earningsTimestampStart\":1731014100,\"earningsTimestampEnd\":1731014100,\"earningsCallTimestampStart\":1731016800,\"earningsCallTimestampEnd\":1731016800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.02,\"epsForward\":0.0,\"epsCurrentYear\":-0.01,\"priceEpsCurrentYear\":-175.0,\"sharesOutstanding\":1892370048,\"bookValue\":0.208,\"fiftyDayAverage\":1.2912,\"fiftyDayAverageChange\":0.45879996,\"fiftyDayAverageChangePercent\":0.35532832,\"twoHundredDayAverage\":1.29795,\"twoHundredDayAverageChange\":0.45204997,\"twoHundredDayAverageChangePercent\":0.34827995,\"marketCap\":3311647488,\"priceToBook\":8.413462,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"ASE\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1162477800000,\"priceHint\":4,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731545998,\"postMarketPrice\":1.75,\"postMarketChange\":0.0,\"regularMarketChange\":-0.15,\"regularMarketTime\":1731531600,\"regularMarketPrice\":1.75,\"regularMarketDayHigh\":1.92,\"regularMarketDayRange\":\"1.725 - - 1.92\",\"regularMarketDayLow\":1.725,\"regularMarketVolume\":26159895,\"regularMarketPreviousClose\":1.9,\"bid\":1.74,\"ask\":1.74,\"bidSize\":460,\"askSize\":369,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1611542\",\"fullExchangeName\":\"NYSE - American\",\"longName\":\"Globalstar, Inc.\",\"displayName\":\"Globalstar\",\"symbol\":\"GSAT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":0.0,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":3.0,\"fiftyTwoWeekLow\":2.01,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Ambev S.A.\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":2.19,\"averageDailyVolume3Month\":27638889,\"averageDailyVolume10Day\":23661770,\"fiftyTwoWeekLowChange\":0.21000004,\"fiftyTwoWeekLowChangePercent\":0.10447763,\"fiftyTwoWeekRange\":\"2.01 - - 3.0\",\"fiftyTwoWeekHighChange\":-0.78,\"fiftyTwoWeekHighChangePercent\":-0.26,\"fiftyTwoWeekChangePercent\":-20.430105,\"dividendDate\":1704412800,\"earningsTimestamp\":1730374200,\"earningsTimestampStart\":1730374200,\"earningsTimestampEnd\":1730374200,\"earningsCallTimestampStart\":1730388600,\"earningsCallTimestampEnd\":1730388600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.73,\"trailingPE\":14.799999,\"dividendRate\":0.15,\"trailingAnnualDividendYield\":0.32882884,\"dividendYield\":6.8,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.15,\"epsForward\":0.19,\"epsCurrentYear\":0.17,\"priceEpsCurrentYear\":13.058824,\"sharesOutstanding\":15728199680,\"bookValue\":6.24,\"fiftyDayAverage\":2.3154,\"fiftyDayAverageChange\":-0.09539986,\"fiftyDayAverageChangePercent\":-0.041202325,\"twoHundredDayAverage\":2.3254,\"twoHundredDayAverageChange\":-0.105400085,\"twoHundredDayAverageChangePercent\":-0.04532557,\"marketCap\":34916601856,\"forwardPE\":11.684211,\"priceToBook\":0.35576925,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":857572200000,\"priceHint\":4,\"postMarketChangePercent\":0.45045,\"postMarketTime\":1731545888,\"postMarketPrice\":2.23,\"postMarketChange\":0.00999999,\"regularMarketChange\":0.0,\"regularMarketTime\":1731531602,\"regularMarketPrice\":2.22,\"regularMarketDayHigh\":2.22,\"regularMarketDayRange\":\"2.18 - - 2.22\",\"regularMarketDayLow\":2.18,\"regularMarketVolume\":25057243,\"regularMarketPreviousClose\":2.22,\"bid\":2.18,\"ask\":2.23,\"bidSize\":3018,\"askSize\":451,\"market\":\"us_market\",\"messageBoardId\":\"finmb_134386019\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Ambev - S.A.\",\"displayName\":\"Ambev\",\"symbol\":\"ABEV\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":0.677199,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":22.73,\"fiftyTwoWeekLow\":15.75,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"AT&T Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":22.17,\"averageDailyVolume3Month\":33467123,\"averageDailyVolume10Day\":33353600,\"fiftyTwoWeekLowChange\":6.549999,\"fiftyTwoWeekLowChangePercent\":0.41587296,\"fiftyTwoWeekRange\":\"15.75 - - 22.73\",\"fiftyTwoWeekHighChange\":-0.4300003,\"fiftyTwoWeekHighChangePercent\":-0.018917743,\"fiftyTwoWeekChangePercent\":40.428207,\"dividendDate\":1730419200,\"earningsTimestamp\":1729679630,\"earningsTimestampStart\":1737552600,\"earningsTimestampEnd\":1737984600,\"earningsCallTimestampStart\":1729686600,\"earningsCallTimestampEnd\":1729686600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.11,\"trailingPE\":17.98387,\"dividendRate\":1.11,\"trailingAnnualDividendYield\":0.05011287,\"dividendYield\":5.01,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.24,\"epsForward\":2.24,\"epsCurrentYear\":2.21,\"priceEpsCurrentYear\":10.090497,\"sharesOutstanding\":7175289856,\"bookValue\":14.266,\"fiftyDayAverage\":21.8192,\"fiftyDayAverageChange\":0.48079872,\"fiftyDayAverageChangePercent\":0.02203558,\"twoHundredDayAverage\":18.8718,\"twoHundredDayAverageChange\":3.4281998,\"twoHundredDayAverageChangePercent\":0.18165728,\"marketCap\":160008962048,\"forwardPE\":9.955357,\"priceToBook\":1.5631571,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":438273000000,\"priceHint\":2,\"postMarketChangePercent\":-0.134524,\"postMarketTime\":1731545993,\"postMarketPrice\":22.27,\"postMarketChange\":-0.0299988,\"regularMarketChange\":0.15,\"regularMarketTime\":1731531602,\"regularMarketPrice\":22.3,\"regularMarketDayHigh\":22.3889,\"regularMarketDayRange\":\"22.06 - - 22.3889\",\"regularMarketDayLow\":22.06,\"regularMarketVolume\":23401863,\"regularMarketPreviousClose\":22.15,\"bid\":22.25,\"ask\":22.27,\"bidSize\":29,\"askSize\":215,\"market\":\"us_market\",\"messageBoardId\":\"finmb_100231\",\"fullExchangeName\":\"NYSE\",\"longName\":\"AT&T - Inc.\",\"displayName\":\"AT&T\",\"symbol\":\"T\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-1.35135,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":21.35,\"fiftyTwoWeekLow\":13.76,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"Barrick Gold Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":17.24,\"averageDailyVolume3Month\":20241270,\"averageDailyVolume10Day\":26062210,\"fiftyTwoWeekLowChange\":3.0300007,\"fiftyTwoWeekLowChangePercent\":0.22020353,\"fiftyTwoWeekRange\":\"13.76 - - 21.35\",\"fiftyTwoWeekHighChange\":-4.5599995,\"fiftyTwoWeekHighChangePercent\":-0.21358311,\"fiftyTwoWeekChangePercent\":5.730474,\"dividendDate\":1734307200,\"earningsTimestamp\":1730986200,\"earningsTimestampStart\":1739367000,\"earningsTimestampEnd\":1739799000,\"earningsCallTimestampStart\":1730995200,\"earningsCallTimestampEnd\":1730995200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.4,\"trailingPE\":18.45055,\"dividendRate\":0.4,\"trailingAnnualDividendYield\":0.023501763,\"dividendYield\":2.35,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.91,\"epsForward\":1.82,\"epsCurrentYear\":1.27,\"priceEpsCurrentYear\":13.220473,\"sharesOutstanding\":1748050048,\"bookValue\":13.633,\"fiftyDayAverage\":19.7902,\"fiftyDayAverageChange\":-3.0001984,\"fiftyDayAverageChangePercent\":-0.15160021,\"twoHundredDayAverage\":17.7013,\"twoHundredDayAverageChange\":-0.91129875,\"twoHundredDayAverageChangePercent\":-0.051482026,\"marketCap\":29793521664,\"forwardPE\":9.225275,\"priceToBook\":1.2315705,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":477153000000,\"priceHint\":2,\"postMarketChangePercent\":0.17867051,\"postMarketTime\":1731545971,\"postMarketPrice\":16.82,\"postMarketChange\":0.02999878,\"regularMarketChange\":-0.23,\"regularMarketTime\":1731531613,\"regularMarketPrice\":16.79,\"regularMarketDayHigh\":17.27,\"regularMarketDayRange\":\"16.74 - - 17.27\",\"regularMarketDayLow\":16.74,\"regularMarketVolume\":24159401,\"regularMarketPreviousClose\":17.02,\"bid\":16.82,\"ask\":16.84,\"bidSize\":270,\"askSize\":22,\"market\":\"us_market\",\"messageBoardId\":\"finmb_249925\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Barrick - Gold Corporation\",\"displayName\":\"Barrick Gold\",\"symbol\":\"GOLD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-0.802406,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":16.08,\"fiftyTwoWeekLow\":9.66,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"VALE S.A.\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":9.93,\"averageDailyVolume3Month\":30814707,\"averageDailyVolume10Day\":31319890,\"fiftyTwoWeekLowChange\":0.2300005,\"fiftyTwoWeekLowChangePercent\":0.023809576,\"fiftyTwoWeekRange\":\"9.66 - - 16.08\",\"fiftyTwoWeekHighChange\":-6.1899996,\"fiftyTwoWeekHighChangePercent\":-0.38495022,\"fiftyTwoWeekChangePercent\":-34.93421,\"dividendDate\":1726012800,\"earningsTimestamp\":1729796400,\"earningsTimestampStart\":1729796400,\"earningsTimestampEnd\":1729796400,\"earningsCallTimestampStart\":1729875600,\"earningsCallTimestampEnd\":1729875600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":2.739,\"trailingPE\":4.6214952,\"dividendRate\":1.78,\"trailingAnnualDividendYield\":0.2747242,\"dividendYield\":17.83,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.14,\"epsForward\":2.05,\"epsCurrentYear\":2.27,\"priceEpsCurrentYear\":4.356828,\"sharesOutstanding\":4269040128,\"bookValue\":48.853,\"fiftyDayAverage\":10.795,\"fiftyDayAverageChange\":-0.90499973,\"fiftyDayAverageChangePercent\":-0.08383508,\"twoHundredDayAverage\":11.62015,\"twoHundredDayAverageChange\":-1.7301493,\"twoHundredDayAverageChangePercent\":-0.14889216,\"marketCap\":43613716480,\"forwardPE\":4.8243904,\"priceToBook\":0.20244408,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1016721000000,\"priceHint\":2,\"postMarketChangePercent\":0.202219,\"postMarketTime\":1731545830,\"postMarketPrice\":9.91,\"postMarketChange\":0.0199995,\"regularMarketChange\":-0.0799999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":9.89,\"regularMarketDayHigh\":9.99,\"regularMarketDayRange\":\"9.83 - - 9.99\",\"regularMarketDayLow\":9.83,\"regularMarketVolume\":23120443,\"regularMarketPreviousClose\":9.97,\"bid\":9.89,\"ask\":9.98,\"bidSize\":459,\"askSize\":451,\"market\":\"us_market\",\"messageBoardId\":\"finmb_874225\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Vale - S.A.\",\"displayName\":\"Vale\",\"symbol\":\"VALE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":1.65042,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":71.19,\"fiftyTwoWeekLow\":48.42,\"averageAnalystRating\":\"2.6 - - Hold\",\"shortName\":\"Occidental Petroleum Corporatio\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":50.76,\"averageDailyVolume3Month\":12247312,\"averageDailyVolume10Day\":13517430,\"fiftyTwoWeekLowChange\":2.7000008,\"fiftyTwoWeekLowChangePercent\":0.0557621,\"fiftyTwoWeekRange\":\"48.42 - - 71.19\",\"fiftyTwoWeekHighChange\":-20.070004,\"fiftyTwoWeekHighChangePercent\":-0.28192165,\"fiftyTwoWeekChangePercent\":-15.23794,\"dividendDate\":1736899200,\"earningsTimestamp\":1731446151,\"earningsTimestampStart\":1739357940,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1731520800,\"earningsCallTimestampEnd\":1731520800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.18,\"trailingPE\":13.243524,\"dividendRate\":0.88,\"trailingAnnualDividendYield\":0.0035792405,\"dividendYield\":1.75,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.86,\"epsForward\":3.16,\"epsCurrentYear\":3.17,\"priceEpsCurrentYear\":16.126183,\"sharesOutstanding\":935176000,\"bookValue\":23.695,\"fiftyDayAverage\":51.898,\"fiftyDayAverageChange\":-0.7779999,\"fiftyDayAverageChangePercent\":-0.014990942,\"twoHundredDayAverage\":59.2252,\"twoHundredDayAverageChange\":-8.105202,\"twoHundredDayAverageChangePercent\":-0.13685393,\"marketCap\":47806197760,\"forwardPE\":16.177214,\"priceToBook\":2.157417,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":378657000000,\"priceHint\":2,\"postMarketChangePercent\":0.684668,\"postMarketTime\":1731545999,\"postMarketPrice\":51.47,\"postMarketChange\":0.3500023,\"regularMarketChange\":0.829998,\"regularMarketTime\":1731531602,\"regularMarketPrice\":51.12,\"regularMarketDayHigh\":51.48,\"regularMarketDayRange\":\"48.42 - - 51.48\",\"regularMarketDayLow\":48.42,\"regularMarketVolume\":22596524,\"regularMarketPreviousClose\":50.29,\"bid\":51.27,\"ask\":51.2,\"bidSize\":13,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_293286\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Occidental - Petroleum Corporation\",\"displayName\":\"Occidental Petroleum\",\"symbol\":\"OXY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-1.5086391,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":191.75,\"fiftyTwoWeekLow\":127.9,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"Alphabet Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":180.6,\"averageDailyVolume3Month\":24380506,\"averageDailyVolume10Day\":26311080,\"fiftyTwoWeekLowChange\":50.980003,\"fiftyTwoWeekLowChangePercent\":0.39859268,\"fiftyTwoWeekRange\":\"127.9 - - 191.75\",\"fiftyTwoWeekHighChange\":-12.869995,\"fiftyTwoWeekHighChangePercent\":-0.067118615,\"fiftyTwoWeekChangePercent\":30.636097,\"dividendDate\":1734307200,\"earningsTimestamp\":1730232000,\"earningsTimestampStart\":1738098000,\"earningsTimestampEnd\":1738616400,\"earningsCallTimestampStart\":1730233800,\"earningsCallTimestampEnd\":1730233800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.4,\"trailingPE\":24.107817,\"dividendRate\":0.8,\"trailingAnnualDividendYield\":0.0022024007,\"dividendYield\":0.44,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":7.42,\"epsForward\":8.96,\"epsCurrentYear\":8.01,\"priceEpsCurrentYear\":22.332085,\"sharesOutstanding\":5842999808,\"bookValue\":25.613,\"fiftyDayAverage\":164.8168,\"fiftyDayAverageChange\":14.063202,\"fiftyDayAverageChangePercent\":0.08532626,\"twoHundredDayAverage\":162.9597,\"twoHundredDayAverageChange\":15.920303,\"twoHundredDayAverageChangePercent\":0.097694725,\"marketCap\":2232619106304,\"forwardPE\":19.964287,\"priceToBook\":6.9839535,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1092922200000,\"priceHint\":2,\"postMarketChangePercent\":0.0223576,\"postMarketTime\":1731545985,\"postMarketPrice\":178.92,\"postMarketChange\":0.0399933,\"regularMarketChange\":-2.7399902,\"regularMarketTime\":1731531601,\"regularMarketPrice\":178.88,\"regularMarketDayHigh\":180.96,\"regularMarketDayRange\":\"178.56 - - 180.96\",\"regularMarketDayLow\":178.56,\"regularMarketVolume\":23074782,\"regularMarketPreviousClose\":181.62,\"bid\":171.34,\"ask\":179.04,\"bidSize\":1,\"askSize\":5,\"market\":\"us_market\",\"messageBoardId\":\"finmb_29096\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Alphabet - Inc.\",\"symbol\":\"GOOGL\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-3.303031,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":34.32,\"fiftyTwoWeekLow\":7.91,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Robinhood Markets, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":33.585,\"averageDailyVolume3Month\":15032595,\"averageDailyVolume10Day\":28910370,\"fiftyTwoWeekLowChange\":24.0,\"fiftyTwoWeekLowChangePercent\":3.0341341,\"fiftyTwoWeekRange\":\"7.91 - - 34.32\",\"fiftyTwoWeekHighChange\":-2.4099998,\"fiftyTwoWeekHighChangePercent\":-0.07022144,\"fiftyTwoWeekChangePercent\":315.61713,\"earningsTimestamp\":1731359100,\"earningsTimestampStart\":1739271540,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730322000,\"earningsCallTimestampEnd\":1730322000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":56.982143,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.56,\"epsForward\":0.73,\"epsCurrentYear\":0.71,\"priceEpsCurrentYear\":44.943665,\"sharesOutstanding\":763563008,\"bookValue\":8.157,\"fiftyDayAverage\":24.6932,\"fiftyDayAverageChange\":7.2168007,\"fiftyDayAverageChangePercent\":0.29225865,\"twoHundredDayAverage\":20.219524,\"twoHundredDayAverageChange\":11.690475,\"twoHundredDayAverageChangePercent\":0.5781776,\"marketCap\":29171195904,\"forwardPE\":43.712326,\"priceToBook\":3.9119775,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-07-29\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1627565400000,\"priceHint\":2,\"postMarketChangePercent\":0.282044,\"postMarketTime\":1731545987,\"postMarketPrice\":32.0,\"postMarketChange\":0.0900002,\"regularMarketChange\":-1.0900002,\"regularMarketTime\":1731531601,\"regularMarketPrice\":31.91,\"regularMarketDayHigh\":34.1,\"regularMarketDayRange\":\"31.825 - - 34.1\",\"regularMarketDayLow\":31.825,\"regularMarketVolume\":22950686,\"regularMarketPreviousClose\":33.0,\"bid\":31.85,\"ask\":31.94,\"bidSize\":8,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_276763615\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Robinhood - Markets, Inc.\",\"displayName\":\"Robinhood Markets\",\"symbol\":\"HOOD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-1.65838,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":7.27,\"fiftyTwoWeekLow\":5.62,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Itau Unibanco Banco Holding SA\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":5.97,\"averageDailyVolume3Month\":19991075,\"averageDailyVolume10Day\":25977980,\"fiftyTwoWeekLowChange\":0.30999994,\"fiftyTwoWeekLowChangePercent\":0.055160135,\"fiftyTwoWeekRange\":\"5.62 - - 7.27\",\"fiftyTwoWeekHighChange\":-1.3400002,\"fiftyTwoWeekHighChangePercent\":-0.18431914,\"fiftyTwoWeekChangePercent\":-4.3548403,\"dividendDate\":1736380800,\"earningsTimestamp\":1730760355,\"earningsTimestampStart\":1738609200,\"earningsTimestampEnd\":1738954800,\"earningsCallTimestampStart\":1730811600,\"earningsCallTimestampEnd\":1730811600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.609,\"trailingPE\":8.594203,\"dividendRate\":0.04,\"trailingAnnualDividendYield\":0.2668325,\"dividendYield\":0.61,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.69,\"epsForward\":0.88,\"epsCurrentYear\":0.79468,\"priceEpsCurrentYear\":7.462123,\"sharesOutstanding\":4834390016,\"bookValue\":19.632,\"fiftyDayAverage\":6.3826,\"fiftyDayAverageChange\":-0.4526,\"fiftyDayAverageChangePercent\":-0.07091154,\"twoHundredDayAverage\":6.40245,\"twoHundredDayAverageChange\":-0.47245026,\"twoHundredDayAverageChangePercent\":-0.0737921,\"marketCap\":54979579904,\"forwardPE\":6.738636,\"priceToBook\":0.30205786,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1014647400000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731532036,\"postMarketPrice\":5.93,\"postMarketChange\":0.0,\"regularMarketChange\":-0.1,\"regularMarketTime\":1731531602,\"regularMarketPrice\":5.93,\"regularMarketDayHigh\":5.98,\"regularMarketDayRange\":\"5.895 - - 5.98\",\"regularMarketDayLow\":5.895,\"regularMarketVolume\":22022517,\"regularMarketPreviousClose\":6.03,\"bid\":5.94,\"ask\":5.95,\"bidSize\":423,\"askSize\":362,\"market\":\"us_market\",\"messageBoardId\":\"finmb_873831\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Ita\xFA - Unibanco Holding S.A.\",\"displayName\":\"Ita\xFA Unibanco Holding\",\"symbol\":\"ITUB\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":2.1691,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":28.12,\"fiftyTwoWeekLow\":5.35,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"Oklo Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":25.48,\"averageDailyVolume3Month\":11805369,\"averageDailyVolume10Day\":17876370,\"fiftyTwoWeekLowChange\":17.73,\"fiftyTwoWeekLowChangePercent\":3.3140187,\"fiftyTwoWeekRange\":\"5.35 - - 28.12\",\"fiftyTwoWeekHighChange\":-5.040001,\"fiftyTwoWeekHighChangePercent\":-0.1792319,\"fiftyTwoWeekChangePercent\":118.89534,\"earningsTimestamp\":1731618000,\"earningsTimestampStart\":1731618000,\"earningsTimestampEnd\":1731618000,\"earningsCallTimestampStart\":1731619800,\"earningsCallTimestampEnd\":1731619800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.12,\"epsForward\":-0.39,\"epsCurrentYear\":-3.11,\"priceEpsCurrentYear\":-7.421222,\"sharesOutstanding\":122096000,\"bookValue\":2.206,\"fiftyDayAverage\":13.3542,\"fiftyDayAverageChange\":9.7258,\"fiftyDayAverageChangePercent\":0.72829515,\"twoHundredDayAverage\":10.896,\"twoHundredDayAverageChange\":12.184,\"twoHundredDayAverageChangePercent\":1.1182085,\"marketCap\":2817975552,\"forwardPE\":-59.17949,\"priceToBook\":10.462375,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1625751000000,\"priceHint\":2,\"postMarketChangePercent\":2.25346,\"postMarketTime\":1731545996,\"postMarketPrice\":23.6001,\"postMarketChange\":0.5201,\"regularMarketChange\":0.49,\"regularMarketTime\":1731531602,\"regularMarketPrice\":23.08,\"regularMarketDayHigh\":25.65,\"regularMarketDayRange\":\"22.44 - - 25.65\",\"regularMarketDayLow\":22.44,\"regularMarketVolume\":21891228,\"regularMarketPreviousClose\":22.59,\"bid\":23.75,\"ask\":23.7,\"bidSize\":8,\"askSize\":22,\"market\":\"us_market\",\"messageBoardId\":\"finmb_544611249\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Oklo - Inc.\",\"displayName\":\"Oklo\",\"symbol\":\"OKLO\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":0.5129692,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":468.35,\"fiftyTwoWeekLow\":362.9,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"Microsoft Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":421.3,\"averageDailyVolume3Month\":19062609,\"averageDailyVolume10Day\":24435710,\"fiftyTwoWeekLowChange\":62.30002,\"fiftyTwoWeekLowChangePercent\":0.17167269,\"fiftyTwoWeekRange\":\"362.9 - - 468.35\",\"fiftyTwoWeekHighChange\":-43.149994,\"fiftyTwoWeekHighChangePercent\":-0.092131935,\"fiftyTwoWeekChangePercent\":13.0339985,\"dividendDate\":1733961600,\"earningsTimestamp\":1730318798,\"earningsTimestampStart\":1738098000,\"earningsTimestampEnd\":1738616400,\"earningsCallTimestampStart\":1730323800,\"earningsCallTimestampEnd\":1730323800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":3.08,\"trailingPE\":34.967106,\"dividendRate\":3.32,\"trailingAnnualDividendYield\":0.0072808075,\"dividendYield\":0.78,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":12.16,\"epsForward\":14.95,\"epsCurrentYear\":13.02,\"priceEpsCurrentYear\":32.65745,\"sharesOutstanding\":7434880000,\"bookValue\":38.693,\"fiftyDayAverage\":421.7072,\"fiftyDayAverageChange\":3.4927979,\"fiftyDayAverageChangePercent\":0.008282519,\"twoHundredDayAverage\":421.4811,\"twoHundredDayAverageChange\":3.7189026,\"twoHundredDayAverageChangePercent\":0.008823414,\"marketCap\":3161311150080,\"forwardPE\":28.441473,\"priceToBook\":10.989068,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":511108200000,\"priceHint\":2,\"postMarketChangePercent\":0.0352761,\"postMarketTime\":1731545998,\"postMarketPrice\":425.35,\"postMarketChange\":0.149994,\"regularMarketChange\":2.1700134,\"regularMarketTime\":1731531602,\"regularMarketPrice\":425.2,\"regularMarketDayHigh\":429.325,\"regularMarketDayRange\":\"418.21 - - 429.325\",\"regularMarketDayLow\":418.21,\"regularMarketVolume\":21103262,\"regularMarketPreviousClose\":423.03,\"bid\":424.91,\"ask\":425.55,\"bidSize\":2,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_21835\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Microsoft - Corporation\",\"displayName\":\"Microsoft\",\"symbol\":\"MSFT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":0.4329,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":3.65,\"fiftyTwoWeekLow\":2.16,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Banco Bradesco Sa\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":2.3,\"averageDailyVolume3Month\":29894462,\"averageDailyVolume10Day\":27471660,\"fiftyTwoWeekLowChange\":0.15999985,\"fiftyTwoWeekLowChangePercent\":0.074074,\"fiftyTwoWeekRange\":\"2.16 - - 3.65\",\"fiftyTwoWeekHighChange\":-1.3300002,\"fiftyTwoWeekHighChangePercent\":-0.3643836,\"fiftyTwoWeekChangePercent\":-27.499998,\"dividendDate\":1736380800,\"earningsTimestamp\":1730374200,\"earningsTimestampStart\":1738789200,\"earningsTimestampEnd\":1739221200,\"earningsCallTimestampStart\":1730381400,\"earningsCallTimestampEnd\":1730381400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.114,\"trailingPE\":10.086956,\"dividendRate\":0.04,\"trailingAnnualDividendYield\":0.48225108,\"dividendYield\":1.72,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.23,\"epsForward\":0.44,\"epsCurrentYear\":0.34,\"priceEpsCurrentYear\":6.8235292,\"sharesOutstanding\":5295830016,\"bookValue\":15.755,\"fiftyDayAverage\":2.6288,\"fiftyDayAverageChange\":-0.30879998,\"fiftyDayAverageChangePercent\":-0.117468044,\"twoHundredDayAverage\":2.6296,\"twoHundredDayAverageChange\":-0.3096001,\"twoHundredDayAverageChangePercent\":-0.11773658,\"marketCap\":23615047680,\"forwardPE\":5.272727,\"priceToBook\":0.14725484,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1028295000000,\"priceHint\":4,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731546000,\"postMarketPrice\":2.32,\"postMarketChange\":0.0,\"regularMarketChange\":0.00999999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":2.32,\"regularMarketDayHigh\":2.33,\"regularMarketDayRange\":\"2.28 - - 2.33\",\"regularMarketDayLow\":2.28,\"regularMarketVolume\":20663449,\"regularMarketPreviousClose\":2.31,\"bid\":2.3,\"ask\":2.34,\"bidSize\":385,\"askSize\":3052,\"market\":\"us_market\",\"messageBoardId\":\"finmb_877263\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Banco - Bradesco S.A.\",\"displayName\":\"Banco Bradesco\",\"symbol\":\"BBD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-5.0541487,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":79.38,\"fiftyTwoWeekLow\":11.75,\"shortName\":\"Trump - Media & Technology Group \",\"financialCurrency\":\"USD\",\"regularMarketOpen\":30.965,\"averageDailyVolume3Month\":38474068,\"averageDailyVolume10Day\":102594080,\"fiftyTwoWeekLowChange\":17.18,\"fiftyTwoWeekLowChangePercent\":1.4621277,\"fiftyTwoWeekRange\":\"11.75 - - 79.38\",\"fiftyTwoWeekHighChange\":-50.449997,\"fiftyTwoWeekHighChangePercent\":-0.6355505,\"fiftyTwoWeekChangePercent\":82.67386,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.4,\"sharesOutstanding\":216924000,\"bookValue\":3.809,\"fiftyDayAverage\":24.6121,\"fiftyDayAverageChange\":4.3178997,\"fiftyDayAverageChangePercent\":0.17543808,\"twoHundredDayAverage\":34.9704,\"twoHundredDayAverageChange\":-6.0404015,\"twoHundredDayAverageChangePercent\":-0.17272897,\"marketCap\":6610042368,\"priceToBook\":7.5951695,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2024-03-26\",\"prevName\":\"Digital - World Acquisition Corp.\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NGM\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1633008600000,\"priceHint\":2,\"postMarketChangePercent\":0.587626,\"postMarketTime\":1731545996,\"postMarketPrice\":29.1,\"postMarketChange\":0.17,\"regularMarketChange\":-1.539999,\"regularMarketTime\":1731531601,\"regularMarketPrice\":28.93,\"regularMarketDayHigh\":31.22,\"regularMarketDayRange\":\"28.8 - - 31.22\",\"regularMarketDayLow\":28.8,\"regularMarketVolume\":20649763,\"regularMarketPreviousClose\":30.47,\"bid\":28.91,\"ask\":32.0,\"bidSize\":1,\"askSize\":34,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1685761306\",\"fullExchangeName\":\"NasdaqGM\",\"longName\":\"Trump - Media & Technology Group Corp.\",\"displayName\":\"Trump Media & Technology\",\"symbol\":\"DJT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":3.40952,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":30.4286,\"fiftyTwoWeekLow\":7.4,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Hims & Hers Health, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":29.12,\"averageDailyVolume3Month\":11213506,\"averageDailyVolume10Day\":23166980,\"fiftyTwoWeekLowChange\":20.2,\"fiftyTwoWeekLowChangePercent\":2.72973,\"fiftyTwoWeekRange\":\"7.4 - - 30.4286\",\"fiftyTwoWeekHighChange\":-2.8286,\"fiftyTwoWeekHighChangePercent\":-0.09295859,\"fiftyTwoWeekChangePercent\":246.17381,\"earningsTimestamp\":1730754300,\"earningsTimestampStart\":1730754300,\"earningsTimestampEnd\":1730754300,\"earningsCallTimestampStart\":1730757600,\"earningsCallTimestampEnd\":1730757600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":62.727272,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.44,\"epsForward\":0.46,\"epsCurrentYear\":0.802,\"priceEpsCurrentYear\":34.413967,\"sharesOutstanding\":210100992,\"bookValue\":2.02,\"fiftyDayAverage\":19.255,\"fiftyDayAverageChange\":8.345001,\"fiftyDayAverageChangePercent\":0.433394,\"twoHundredDayAverage\":16.86645,\"twoHundredDayAverageChange\":10.733551,\"twoHundredDayAverageChangePercent\":0.6363847,\"marketCap\":6030020608,\"forwardPE\":60.0,\"priceToBook\":13.663366,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1568381400000,\"priceHint\":2,\"postMarketChangePercent\":0.5434769,\"postMarketTime\":1731545982,\"postMarketPrice\":27.75,\"postMarketChange\":0.14999962,\"regularMarketChange\":0.91,\"regularMarketTime\":1731531602,\"regularMarketPrice\":27.6,\"regularMarketDayHigh\":30.4286,\"regularMarketDayRange\":\"27.51 - - 30.4286\",\"regularMarketDayLow\":27.51,\"regularMarketVolume\":20478506,\"regularMarketPreviousClose\":26.69,\"bid\":27.75,\"ask\":27.85,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_542604862\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Hims - & Hers Health, Inc.\",\"displayName\":\"Hims & Hers Health\",\"symbol\":\"HIMS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":5.66471,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":115.62,\"fiftyTwoWeekLow\":48.56,\"averageAnalystRating\":\"2.9 - - Hold\",\"shortName\":\"Shopify Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":107.5,\"averageDailyVolume3Month\":6479955,\"averageDailyVolume10Day\":12596880,\"fiftyTwoWeekLowChange\":66.53,\"fiftyTwoWeekLowChangePercent\":1.3700576,\"fiftyTwoWeekRange\":\"48.56 - - 115.62\",\"fiftyTwoWeekHighChange\":-0.5300064,\"fiftyTwoWeekHighChangePercent\":-0.0045840372,\"fiftyTwoWeekChangePercent\":61.890602,\"earningsTimestamp\":1731418200,\"earningsTimestampStart\":1739280600,\"earningsTimestampEnd\":1739799000,\"earningsCallTimestampStart\":1731418200,\"earningsCallTimestampEnd\":1731418200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":109.60953,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.05,\"epsForward\":1.85,\"epsCurrentYear\":1.53,\"priceEpsCurrentYear\":75.22222,\"sharesOutstanding\":1211120000,\"bookValue\":7.047,\"fiftyDayAverage\":79.4768,\"fiftyDayAverageChange\":35.613197,\"fiftyDayAverageChangePercent\":0.44809553,\"twoHundredDayAverage\":72.35285,\"twoHundredDayAverageChange\":42.737144,\"twoHundredDayAverageChangePercent\":0.5906767,\"marketCap\":141302890496,\"forwardPE\":62.210808,\"priceToBook\":16.331772,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1432128600000,\"priceHint\":2,\"postMarketChangePercent\":-0.156393,\"postMarketTime\":1731545998,\"postMarketPrice\":114.91,\"postMarketChange\":-0.179993,\"regularMarketChange\":6.17,\"regularMarketTime\":1731531602,\"regularMarketPrice\":115.09,\"regularMarketDayHigh\":115.62,\"regularMarketDayRange\":\"106.19 - - 115.62\",\"regularMarketDayLow\":106.19,\"regularMarketVolume\":19757496,\"regularMarketPreviousClose\":108.92,\"bid\":114.61,\"ask\":115.14,\"bidSize\":8,\"askSize\":13,\"market\":\"us_market\",\"messageBoardId\":\"finmb_84159238\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Shopify - Inc.\",\"displayName\":\"Shopify\",\"symbol\":\"SHOP\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":12.099649,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":3.25,\"fiftyTwoWeekLow\":0.69,\"averageAnalystRating\":\"3.5 - - Hold\",\"shortName\":\"Fannie Mae\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":2.85,\"averageDailyVolume3Month\":7767846,\"averageDailyVolume10Day\":30875700,\"fiftyTwoWeekLowChange\":2.46,\"fiftyTwoWeekLowChangePercent\":3.5652175,\"fiftyTwoWeekRange\":\"0.69 - - 3.25\",\"fiftyTwoWeekHighChange\":-0.099999905,\"fiftyTwoWeekHighChangePercent\":-0.030769201,\"fiftyTwoWeekChangePercent\":336.1111,\"earningsTimestamp\":1730374008,\"earningsTimestampStart\":1739453400,\"earningsTimestampEnd\":1739799000,\"earningsCallTimestampStart\":1730376000,\"earningsCallTimestampEnd\":1730376000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.0,\"epsForward\":2.66,\"epsCurrentYear\":2.78,\"priceEpsCurrentYear\":1.1330936,\"sharesOutstanding\":1158089984,\"bookValue\":-8.614,\"fiftyDayAverage\":1.4208,\"fiftyDayAverageChange\":1.7292001,\"fiftyDayAverageChangePercent\":1.2170609,\"twoHundredDayAverage\":1.4094,\"twoHundredDayAverageChange\":1.7406001,\"twoHundredDayAverageChangePercent\":1.2349937,\"marketCap\":3647983616,\"forwardPE\":1.1842105,\"priceToBook\":-0.36568376,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"OQB\",\"hasPrePostMarketData\":false,\"firstTradeDateMilliseconds\":221149800000,\"priceHint\":4,\"regularMarketChange\":0.34000015,\"regularMarketTime\":1731531619,\"regularMarketPrice\":3.15,\"regularMarketDayHigh\":3.24,\"regularMarketDayRange\":\"2.65 - - 3.24\",\"regularMarketDayLow\":2.65,\"regularMarketVolume\":19047472,\"regularMarketPreviousClose\":2.81,\"bid\":3.03,\"ask\":3.05,\"bidSize\":400,\"askSize\":400,\"market\":\"us_market\",\"messageBoardId\":\"finmb_271135\",\"fullExchangeName\":\"OTC - Markets OTCQB\",\"longName\":\"Federal National Mortgage Association\",\"symbol\":\"FNMA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-1.33215,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":17.9,\"fiftyTwoWeekLow\":8.29,\"averageAnalystRating\":\"2.8 - - Hold\",\"shortName\":\"Snap Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":11.28,\"averageDailyVolume3Month\":26945371,\"averageDailyVolume10Day\":45738600,\"fiftyTwoWeekLowChange\":2.8199997,\"fiftyTwoWeekLowChangePercent\":0.34016883,\"fiftyTwoWeekRange\":\"8.29 - - 17.9\",\"fiftyTwoWeekHighChange\":-6.79,\"fiftyTwoWeekHighChangePercent\":-0.37932962,\"fiftyTwoWeekChangePercent\":-6.710851,\"earningsTimestamp\":1730232600,\"earningsTimestampStart\":1738666740,\"earningsTimestampEnd\":1739188800,\"earningsCallTimestampStart\":1730235600,\"earningsCallTimestampEnd\":1730235600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.57,\"epsForward\":0.41,\"epsCurrentYear\":0.25,\"priceEpsCurrentYear\":44.44,\"sharesOutstanding\":1423059968,\"bookValue\":1.322,\"fiftyDayAverage\":10.5562,\"fiftyDayAverageChange\":0.5537996,\"fiftyDayAverageChangePercent\":0.052462026,\"twoHundredDayAverage\":12.4177,\"twoHundredDayAverageChange\":-1.3077002,\"twoHundredDayAverageChangePercent\":-0.105309375,\"marketCap\":18885332992,\"forwardPE\":27.09756,\"priceToBook\":8.403933,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1488465000000,\"priceHint\":2,\"postMarketChangePercent\":0.180022,\"postMarketTime\":1731545898,\"postMarketPrice\":11.13,\"postMarketChange\":0.0200005,\"regularMarketChange\":-0.150001,\"regularMarketTime\":1731531602,\"regularMarketPrice\":11.11,\"regularMarketDayHigh\":11.385,\"regularMarketDayRange\":\"11.07 - - 11.385\",\"regularMarketDayLow\":11.07,\"regularMarketVolume\":18929146,\"regularMarketPreviousClose\":11.26,\"bid\":11.12,\"ask\":11.13,\"bidSize\":32,\"askSize\":31,\"market\":\"us_market\",\"messageBoardId\":\"finmb_224055283\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Snap - Inc.\",\"displayName\":\"Snap\",\"symbol\":\"SNAP\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":0.234157,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":74.27,\"fiftyTwoWeekLow\":41.99,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Wells Fargo & Company\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":72.75,\"averageDailyVolume3Month\":18178071,\"averageDailyVolume10Day\":20276190,\"fiftyTwoWeekLowChange\":30.779995,\"fiftyTwoWeekLowChangePercent\":0.7330315,\"fiftyTwoWeekRange\":\"41.99 - - 74.27\",\"fiftyTwoWeekHighChange\":-1.5,\"fiftyTwoWeekHighChangePercent\":-0.020196581,\"fiftyTwoWeekChangePercent\":71.10275,\"dividendDate\":1733011200,\"earningsTimestamp\":1736947800,\"earningsTimestampStart\":1736947800,\"earningsTimestampEnd\":1736947800,\"earningsCallTimestampStart\":1736953200,\"earningsCallTimestampEnd\":1736953200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.45,\"trailingPE\":15.097509,\"dividendRate\":1.6,\"trailingAnnualDividendYield\":0.019972453,\"dividendYield\":2.2,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.82,\"epsForward\":5.49,\"epsCurrentYear\":5.28,\"priceEpsCurrentYear\":13.782196,\"sharesOutstanding\":3329489920,\"bookValue\":49.218,\"fiftyDayAverage\":60.4456,\"fiftyDayAverageChange\":12.324398,\"fiftyDayAverageChangePercent\":0.2038924,\"twoHundredDayAverage\":57.94935,\"twoHundredDayAverageChange\":14.820648,\"twoHundredDayAverageChangePercent\":0.25575176,\"marketCap\":242286968832,\"forwardPE\":13.255009,\"priceToBook\":1.4785241,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":76253400000,\"priceHint\":2,\"postMarketChangePercent\":0.178652,\"postMarketTime\":1731545968,\"postMarketPrice\":72.9,\"postMarketChange\":0.130005,\"regularMarketChange\":0.169998,\"regularMarketTime\":1731531632,\"regularMarketPrice\":72.77,\"regularMarketDayHigh\":73.9585,\"regularMarketDayRange\":\"72.655 - - 73.9585\",\"regularMarketDayLow\":72.655,\"regularMarketVolume\":18399075,\"regularMarketPreviousClose\":72.6,\"bid\":72.67,\"ask\":73.48,\"bidSize\":9,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_292891\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Wells - Fargo & Company\",\"symbol\":\"WFC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-1.4158,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":64.83,\"fiftyTwoWeekLow\":9.95,\"averageAnalystRating\":\"4.5 - - Underperform\",\"shortName\":\"GameStop Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":26.26,\"averageDailyVolume3Month\":9085709,\"averageDailyVolume10Day\":11264570,\"fiftyTwoWeekLowChange\":16.509998,\"fiftyTwoWeekLowChangePercent\":1.6592964,\"fiftyTwoWeekRange\":\"9.95 - - 64.83\",\"fiftyTwoWeekHighChange\":-38.370003,\"fiftyTwoWeekHighChangePercent\":-0.59185565,\"fiftyTwoWeekChangePercent\":111.17318,\"dividendDate\":1529971200,\"earningsTimestamp\":1725998701,\"earningsTimestampStart\":1733309940,\"earningsTimestampEnd\":1733745600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":189.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.14,\"epsForward\":-0.01,\"epsCurrentYear\":-0.03,\"priceEpsCurrentYear\":-882.0,\"sharesOutstanding\":446510016,\"bookValue\":10.278,\"fiftyDayAverage\":22.0508,\"fiftyDayAverageChange\":4.4091988,\"fiftyDayAverageChangePercent\":0.1999564,\"twoHundredDayAverage\":20.0317,\"twoHundredDayAverageChange\":6.428299,\"twoHundredDayAverageChangePercent\":0.3209063,\"marketCap\":11984315392,\"forwardPE\":-2646.0,\"priceToBook\":2.5744307,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1013610600000,\"priceHint\":2,\"postMarketChangePercent\":-0.22675537,\"postMarketTime\":1731545993,\"postMarketPrice\":26.4,\"postMarketChange\":-0.059999466,\"regularMarketChange\":-0.380001,\"regularMarketTime\":1731531602,\"regularMarketPrice\":26.46,\"regularMarketDayHigh\":28.22,\"regularMarketDayRange\":\"26.2575 - - 28.22\",\"regularMarketDayLow\":26.2575,\"regularMarketVolume\":18387390,\"regularMarketPreviousClose\":26.84,\"bid\":26.37,\"ask\":26.44,\"bidSize\":8,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1342560\",\"fullExchangeName\":\"NYSE\",\"longName\":\"GameStop - Corp.\",\"displayName\":\"GameStop\",\"symbol\":\"GME\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-6.64557,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":7.69,\"fiftyTwoWeekLow\":4.5,\"averageAnalystRating\":\"2.6 - - Hold\",\"shortName\":\"Joby Aviation, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":6.28,\"averageDailyVolume3Month\":11570361,\"averageDailyVolume10Day\":18013200,\"fiftyTwoWeekLowChange\":1.4000001,\"fiftyTwoWeekLowChangePercent\":0.31111112,\"fiftyTwoWeekRange\":\"4.5 - - 7.69\",\"fiftyTwoWeekHighChange\":-1.79,\"fiftyTwoWeekHighChangePercent\":-0.23276982,\"fiftyTwoWeekChangePercent\":5.509186,\"earningsTimestamp\":1730927100,\"earningsTimestampStart\":1730927100,\"earningsTimestampEnd\":1730927100,\"earningsCallTimestampStart\":1730930400,\"earningsCallTimestampEnd\":1730930400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.65,\"epsForward\":-0.6,\"epsCurrentYear\":-0.7,\"priceEpsCurrentYear\":-8.428572,\"sharesOutstanding\":765086016,\"bookValue\":1.089,\"fiftyDayAverage\":5.366,\"fiftyDayAverageChange\":0.5339999,\"fiftyDayAverageChangePercent\":0.09951545,\"twoHundredDayAverage\":5.3299,\"twoHundredDayAverageChange\":0.5701003,\"twoHundredDayAverageChangePercent\":0.106962666,\"marketCap\":4835339264,\"forwardPE\":-9.833333,\"priceToBook\":5.4178147,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1604932200000,\"priceHint\":2,\"postMarketChangePercent\":1.0169482,\"postMarketTime\":1731545997,\"postMarketPrice\":5.96,\"postMarketChange\":0.059999943,\"regularMarketChange\":-0.42,\"regularMarketTime\":1731531602,\"regularMarketPrice\":5.9,\"regularMarketDayHigh\":6.295,\"regularMarketDayRange\":\"5.78 - - 6.295\",\"regularMarketDayLow\":5.78,\"regularMarketVolume\":18366379,\"regularMarketPreviousClose\":6.32,\"bid\":5.91,\"ask\":5.91,\"bidSize\":30,\"askSize\":32,\"market\":\"us_market\",\"messageBoardId\":\"finmb_551384045\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Joby - Aviation, Inc.\",\"displayName\":\"Joby Aviation\",\"symbol\":\"JOBY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-3.58201,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":267.54,\"fiftyTwoWeekLow\":139.1,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Boeing Company (The)\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":145.58,\"averageDailyVolume3Month\":11683087,\"averageDailyVolume10Day\":18822280,\"fiftyTwoWeekLowChange\":0.8699951,\"fiftyTwoWeekLowChangePercent\":0.006254458,\"fiftyTwoWeekRange\":\"139.1 - - 267.54\",\"fiftyTwoWeekHighChange\":-127.57001,\"fiftyTwoWeekHighChangePercent\":-0.4768259,\"fiftyTwoWeekChangePercent\":-32.250725,\"dividendDate\":1583452800,\"earningsTimestamp\":1729683023,\"earningsTimestampStart\":1738157400,\"earningsTimestampEnd\":1738589400,\"earningsCallTimestampStart\":1729693800,\"earningsCallTimestampEnd\":1729693800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-12.93,\"epsForward\":0.47,\"epsCurrentYear\":-16.05,\"priceEpsCurrentYear\":-8.720873,\"sharesOutstanding\":747576000,\"bookValue\":-38.123,\"fiftyDayAverage\":154.0278,\"fiftyDayAverageChange\":-14.0578,\"fiftyDayAverageChangePercent\":-0.09126794,\"twoHundredDayAverage\":176.0863,\"twoHundredDayAverageChange\":-36.116302,\"twoHundredDayAverageChangePercent\":-0.20510569,\"marketCap\":104638210048,\"forwardPE\":297.8085,\"priceToBook\":-3.6715367,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":-252322200000,\"priceHint\":2,\"postMarketChangePercent\":0.33578712,\"postMarketTime\":1731545998,\"postMarketPrice\":140.44,\"postMarketChange\":0.47000122,\"regularMarketChange\":-5.2,\"regularMarketTime\":1731531602,\"regularMarketPrice\":139.97,\"regularMarketDayHigh\":145.58,\"regularMarketDayRange\":\"139.1 - - 145.58\",\"regularMarketDayLow\":139.1,\"regularMarketVolume\":21172003,\"regularMarketPreviousClose\":145.17,\"bid\":140.52,\"ask\":140.6,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_370857\",\"fullExchangeName\":\"NYSE\",\"longName\":\"The - Boeing Company\",\"symbol\":\"BA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":3.855826,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":28.47,\"fiftyTwoWeekLow\":6.18,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Hut 8 Corp.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":25.47,\"averageDailyVolume3Month\":4857012,\"averageDailyVolume10Day\":7452040,\"fiftyTwoWeekLowChange\":18.6,\"fiftyTwoWeekLowChangePercent\":3.009709,\"fiftyTwoWeekRange\":\"6.18 - - 28.47\",\"fiftyTwoWeekHighChange\":-3.6899986,\"fiftyTwoWeekHighChangePercent\":-0.12961008,\"fiftyTwoWeekChangePercent\":156.55913,\"dividendDate\":1520294400,\"earningsTimestampStart\":1715776200,\"earningsTimestampEnd\":1715776200,\"earningsCallTimestampStart\":1715776200,\"earningsCallTimestampEnd\":1715776200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.78,\"epsForward\":-0.08,\"epsCurrentYear\":2.25,\"priceEpsCurrentYear\":11.013333,\"sharesOutstanding\":93392400,\"bookValue\":7.259,\"fiftyDayAverage\":13.563,\"fiftyDayAverageChange\":11.217001,\"fiftyDayAverageChangePercent\":0.8270295,\"twoHundredDayAverage\":11.38,\"twoHundredDayAverageChange\":13.400001,\"twoHundredDayAverageChangePercent\":1.1775044,\"marketCap\":2314263808,\"forwardPE\":-309.75003,\"priceToBook\":3.4136934,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2023-12-04\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1520519400000,\"priceHint\":2,\"postMarketChangePercent\":-0.564977,\"postMarketTime\":1731545920,\"postMarketPrice\":24.64,\"postMarketChange\":-0.140001,\"regularMarketChange\":0.9200001,\"regularMarketTime\":1731531602,\"regularMarketPrice\":24.78,\"regularMarketDayHigh\":28.47,\"regularMarketDayRange\":\"24.35 - - 28.47\",\"regularMarketDayLow\":24.35,\"regularMarketVolume\":17847702,\"regularMarketPreviousClose\":23.86,\"bid\":20.27,\"ask\":25.11,\"bidSize\":1,\"askSize\":36,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1681582210\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Hut - 8 Corp.\",\"displayName\":\"Hut 8\",\"symbol\":\"HUT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-1.16551,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":6.88,\"fiftyTwoWeekLow\":3.85,\"averageAnalystRating\":\"2.6 - - Hold\",\"shortName\":\"Transocean Ltd (Switzerland)\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":4.3,\"averageDailyVolume3Month\":19979873,\"averageDailyVolume10Day\":23587040,\"fiftyTwoWeekLowChange\":0.38999987,\"fiftyTwoWeekLowChangePercent\":0.10129867,\"fiftyTwoWeekRange\":\"3.85 - - 6.88\",\"fiftyTwoWeekHighChange\":-2.6400003,\"fiftyTwoWeekHighChangePercent\":-0.38372096,\"fiftyTwoWeekChangePercent\":-31.942213,\"dividendDate\":1442966400,\"earningsTimestamp\":1730319366,\"earningsTimestampStart\":1739221200,\"earningsTimestampEnd\":1740517200,\"earningsCallTimestampStart\":1730379600,\"earningsCallTimestampEnd\":1730379600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.75,\"epsForward\":0.14,\"epsCurrentYear\":-0.1,\"priceEpsCurrentYear\":-42.399998,\"sharesOutstanding\":875804032,\"bookValue\":11.677,\"fiftyDayAverage\":4.3056,\"fiftyDayAverageChange\":-0.065600395,\"fiftyDayAverageChangePercent\":-0.015236063,\"twoHundredDayAverage\":5.1789,\"twoHundredDayAverageChange\":-0.9389,\"twoHundredDayAverageChangePercent\":-0.18129334,\"marketCap\":3757195264,\"forwardPE\":30.285713,\"priceToBook\":0.36310694,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":738595800000,\"priceHint\":4,\"postMarketChangePercent\":0.471709,\"postMarketTime\":1731545827,\"postMarketPrice\":4.26,\"postMarketChange\":0.0200005,\"regularMarketChange\":-0.0500002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":4.24,\"regularMarketDayHigh\":4.34,\"regularMarketDayRange\":\"4.165 - - 4.34\",\"regularMarketDayLow\":4.165,\"regularMarketVolume\":17738451,\"regularMarketPreviousClose\":4.29,\"bid\":4.21,\"ask\":4.24,\"bidSize\":369,\"askSize\":418,\"market\":\"us_market\",\"messageBoardId\":\"finmb_407172\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Transocean - Ltd.\",\"displayName\":\"Transocean\",\"symbol\":\"RIG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-1.1357337,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":47.82,\"fiftyTwoWeekLow\":20.82,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"JD.com, Inc.\",\"financialCurrency\":\"CNY\",\"regularMarketOpen\":36.535,\"averageDailyVolume3Month\":20236339,\"averageDailyVolume10Day\":11578520,\"fiftyTwoWeekLowChange\":14.869999,\"fiftyTwoWeekLowChangePercent\":0.71421707,\"fiftyTwoWeekRange\":\"20.82 - - 47.82\",\"fiftyTwoWeekHighChange\":-12.130001,\"fiftyTwoWeekHighChangePercent\":-0.25365958,\"fiftyTwoWeekChangePercent\":28.561258,\"dividendDate\":1714348800,\"earningsTimestamp\":1731571200,\"earningsTimestampStart\":1731571200,\"earningsTimestampEnd\":1731571200,\"earningsCallTimestampStart\":1731585600,\"earningsCallTimestampEnd\":1731585600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":13.121323,\"dividendRate\":0.76,\"trailingAnnualDividendYield\":0.0,\"dividendYield\":2.11,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.72,\"epsForward\":4.14,\"epsCurrentYear\":3.84,\"priceEpsCurrentYear\":9.2942705,\"sharesOutstanding\":1464000000,\"bookValue\":150.795,\"fiftyDayAverage\":36.8532,\"fiftyDayAverageChange\":-1.1632004,\"fiftyDayAverageChangePercent\":-0.031563077,\"twoHundredDayAverage\":29.574,\"twoHundredDayAverageChange\":6.115999,\"twoHundredDayAverageChangePercent\":0.20680325,\"marketCap\":56682852352,\"forwardPE\":8.620773,\"priceToBook\":0.23667893,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1400765400000,\"priceHint\":2,\"postMarketChangePercent\":0.588408,\"postMarketTime\":1731545984,\"postMarketPrice\":35.9,\"postMarketChange\":0.210003,\"regularMarketChange\":-0.40999985,\"regularMarketTime\":1731531601,\"regularMarketPrice\":35.69,\"regularMarketDayHigh\":36.82,\"regularMarketDayRange\":\"35.56 - - 36.82\",\"regularMarketDayLow\":35.56,\"regularMarketVolume\":18610670,\"regularMarketPreviousClose\":36.1,\"bid\":30.61,\"ask\":40.3,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_36273923\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"JD.com, - Inc.\",\"displayName\":\"JD.com\",\"symbol\":\"JD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-1.498127,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":186.42,\"fiftyTwoWeekLow\":90.31,\"averageAnalystRating\":\"1.8 - - Buy\",\"shortName\":\"Broadcom Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":174.735,\"averageDailyVolume3Month\":24054576,\"averageDailyVolume10Day\":17813470,\"fiftyTwoWeekLowChange\":83.270004,\"fiftyTwoWeekLowChangePercent\":0.92204636,\"fiftyTwoWeekRange\":\"90.31 - - 186.42\",\"fiftyTwoWeekHighChange\":-12.839996,\"fiftyTwoWeekHighChangePercent\":-0.06887671,\"fiftyTwoWeekChangePercent\":80.89729,\"dividendDate\":1727654400,\"earningsTimestamp\":1734037200,\"earningsTimestampStart\":1734037200,\"earningsTimestampEnd\":1734037200,\"earningsCallTimestampStart\":1734040800,\"earningsCallTimestampEnd\":1734040800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":2.105,\"trailingPE\":142.27869,\"dividendRate\":2.12,\"trailingAnnualDividendYield\":0.011945296,\"dividendYield\":1.2,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.22,\"epsForward\":6.17,\"epsCurrentYear\":4.83,\"priceEpsCurrentYear\":35.93789,\"sharesOutstanding\":4670580224,\"bookValue\":59.221,\"fiftyDayAverage\":171.9346,\"fiftyDayAverageChange\":1.645401,\"fiftyDayAverageChangePercent\":0.009569923,\"twoHundredDayAverage\":150.09444,\"twoHundredDayAverageChange\":23.485565,\"twoHundredDayAverageChangePercent\":0.15647192,\"marketCap\":823048667136,\"forwardPE\":28.1329,\"priceToBook\":2.9310548,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1249565400000,\"priceHint\":2,\"postMarketChangePercent\":0.0691296,\"postMarketTime\":1731545942,\"postMarketPrice\":173.7,\"postMarketChange\":0.119995,\"regularMarketChange\":-2.6399994,\"regularMarketTime\":1731531601,\"regularMarketPrice\":173.58,\"regularMarketDayHigh\":175.5926,\"regularMarketDayRange\":\"172.6 - - 175.5926\",\"regularMarketDayLow\":172.6,\"regularMarketVolume\":17444225,\"regularMarketPreviousClose\":176.22,\"bid\":171.9,\"ask\":174.02,\"bidSize\":2,\"askSize\":5,\"market\":\"us_market\",\"messageBoardId\":\"finmb_25016048\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Broadcom - Inc.\",\"displayName\":\"Broadcom\",\"symbol\":\"AVGO\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-0.888888,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":4.95,\"fiftyTwoWeekLow\":2.94,\"averageAnalystRating\":\"2.7 - - Hold\",\"shortName\":\"Nokia Corporation Sponsored\",\"financialCurrency\":\"EUR\",\"regularMarketOpen\":4.47,\"averageDailyVolume3Month\":19747132,\"averageDailyVolume10Day\":15593150,\"fiftyTwoWeekLowChange\":1.52,\"fiftyTwoWeekLowChangePercent\":0.5170068,\"fiftyTwoWeekRange\":\"2.94 - - 4.95\",\"fiftyTwoWeekHighChange\":-0.48999977,\"fiftyTwoWeekHighChangePercent\":-0.09898986,\"fiftyTwoWeekChangePercent\":25.988697,\"dividendDate\":1730764800,\"earningsTimestamp\":1729141200,\"earningsTimestampStart\":1737612000,\"earningsTimestampEnd\":1737957600,\"earningsCallTimestampStart\":1729153800,\"earningsCallTimestampEnd\":1729153800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.13,\"trailingPE\":26.235294,\"dividendRate\":0.14,\"trailingAnnualDividendYield\":0.028888889,\"dividendYield\":3.13,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.17,\"epsForward\":0.35,\"epsCurrentYear\":0.34,\"priceEpsCurrentYear\":13.117647,\"sharesOutstanding\":5425449984,\"bookValue\":3.733,\"fiftyDayAverage\":4.4614,\"fiftyDayAverageChange\":-0.0013999939,\"fiftyDayAverageChangePercent\":-3.1380146E-4,\"twoHundredDayAverage\":3.92335,\"twoHundredDayAverageChange\":0.53664994,\"twoHundredDayAverageChangePercent\":0.1367836,\"marketCap\":24324663296,\"forwardPE\":12.742858,\"priceToBook\":1.1947495,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Nokia - Corporation\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":773069400000,\"priceHint\":4,\"postMarketChangePercent\":0.087445095,\"postMarketTime\":1731545964,\"postMarketPrice\":4.4639,\"postMarketChange\":0.0039000511,\"regularMarketChange\":-0.04,\"regularMarketTime\":1731531602,\"regularMarketPrice\":4.46,\"regularMarketDayHigh\":4.47,\"regularMarketDayRange\":\"4.44 - - 4.47\",\"regularMarketDayLow\":4.44,\"regularMarketVolume\":17009202,\"regularMarketPreviousClose\":4.5,\"bid\":4.45,\"ask\":4.47,\"bidSize\":385,\"askSize\":473,\"market\":\"us_market\",\"messageBoardId\":\"finmb_205573\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Nokia - Oyj\",\"displayName\":\"Nokia\",\"symbol\":\"NOK\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":7.48709,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":26.67,\"fiftyTwoWeekLow\":1.88,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"NuScale Power Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":24.28,\"averageDailyVolume3Month\":8752601,\"averageDailyVolume10Day\":12422990,\"fiftyTwoWeekLowChange\":23.1,\"fiftyTwoWeekLowChangePercent\":12.287234,\"fiftyTwoWeekRange\":\"1.88 - - 26.67\",\"fiftyTwoWeekHighChange\":-1.6900005,\"fiftyTwoWeekHighChangePercent\":-0.0633671,\"fiftyTwoWeekChangePercent\":906.0606,\"earningsTimestamp\":1731014100,\"earningsTimestampStart\":1731014100,\"earningsTimestampEnd\":1731014100,\"earningsCallTimestampStart\":1731016800,\"earningsCallTimestampEnd\":1731016800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-1.03,\"epsForward\":-0.47,\"epsCurrentYear\":-0.72,\"priceEpsCurrentYear\":-34.694443,\"sharesOutstanding\":97893904,\"bookValue\":1.635,\"fiftyDayAverage\":14.4906,\"fiftyDayAverageChange\":10.4894,\"fiftyDayAverageChangePercent\":0.7238762,\"twoHundredDayAverage\":9.06825,\"twoHundredDayAverageChange\":15.91175,\"twoHundredDayAverageChangePercent\":1.7546661,\"marketCap\":2525403136,\"forwardPE\":-53.148937,\"priceToBook\":15.278287,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1646145000000,\"priceHint\":2,\"postMarketChangePercent\":2.88271,\"postMarketTime\":1731545998,\"postMarketPrice\":25.7001,\"postMarketChange\":0.7201,\"regularMarketChange\":1.74,\"regularMarketTime\":1731531685,\"regularMarketPrice\":24.98,\"regularMarketDayHigh\":26.67,\"regularMarketDayRange\":\"23.7602 - - 26.67\",\"regularMarketDayLow\":23.7602,\"regularMarketVolume\":16712230,\"regularMarketPreviousClose\":23.24,\"bid\":25.38,\"ask\":26.0,\"bidSize\":8,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_49439457\",\"fullExchangeName\":\"NYSE\",\"longName\":\"NuScale - Power Corporation\",\"displayName\":\"NuScale Power\",\"symbol\":\"SMR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-1.1138632,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":8.62,\"fiftyTwoWeekLow\":4.77,\"averageAnalystRating\":\"3.3 - - Hold\",\"shortName\":\"Ericsson\",\"financialCurrency\":\"SEK\",\"regularMarketOpen\":8.045,\"averageDailyVolume3Month\":15697853,\"averageDailyVolume10Day\":17550340,\"fiftyTwoWeekLowChange\":3.2199998,\"fiftyTwoWeekLowChangePercent\":0.67505234,\"fiftyTwoWeekRange\":\"4.77 - - 8.62\",\"fiftyTwoWeekHighChange\":-0.6300001,\"fiftyTwoWeekHighChangePercent\":-0.07308586,\"fiftyTwoWeekChangePercent\":65.08264,\"dividendDate\":1729036800,\"earningsTimestamp\":1728968400,\"earningsTimestampStart\":1737444600,\"earningsTimestampEnd\":1737963000,\"earningsCallTimestampStart\":1728975600,\"earningsCallTimestampEnd\":1728975600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":2.7,\"dividendRate\":0.26,\"trailingAnnualDividendYield\":0.33415842,\"dividendYield\":3.22,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.04,\"epsForward\":0.52,\"epsCurrentYear\":0.47,\"priceEpsCurrentYear\":17.0,\"sharesOutstanding\":3070000128,\"bookValue\":25.999,\"fiftyDayAverage\":7.8664,\"fiftyDayAverageChange\":0.123600006,\"fiftyDayAverageChangePercent\":0.015712399,\"twoHundredDayAverage\":6.4128,\"twoHundredDayAverageChange\":1.5771999,\"twoHundredDayAverageChangePercent\":0.2459456,\"marketCap\":26906324992,\"forwardPE\":15.365385,\"priceToBook\":0.3073195,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":367507800000,\"priceHint\":2,\"postMarketChangePercent\":-0.495618,\"postMarketTime\":1731544371,\"postMarketPrice\":7.9504,\"postMarketChange\":-0.0395999,\"regularMarketChange\":-0.09000015,\"regularMarketTime\":1731531601,\"regularMarketPrice\":7.99,\"regularMarketDayHigh\":8.07,\"regularMarketDayRange\":\"7.98 - - 8.07\",\"regularMarketDayLow\":7.98,\"regularMarketVolume\":17166474,\"regularMarketPreviousClose\":8.08,\"bid\":7.97,\"ask\":9.18,\"bidSize\":150,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_269706\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Telefonaktiebolaget - LM Ericsson (publ)\",\"symbol\":\"ERIC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-2.34089,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":18.74,\"fiftyTwoWeekLow\":6.551,\"averageAnalystRating\":\"1.8 - - Buy\",\"shortName\":\"XPeng Inc.\",\"financialCurrency\":\"CNY\",\"regularMarketOpen\":14.16,\"averageDailyVolume3Month\":15278577,\"averageDailyVolume10Day\":16572010,\"fiftyTwoWeekLowChange\":6.7990003,\"fiftyTwoWeekLowChangePercent\":1.0378568,\"fiftyTwoWeekRange\":\"6.551 - - 18.74\",\"fiftyTwoWeekHighChange\":-5.3899994,\"fiftyTwoWeekHighChangePercent\":-0.28762004,\"fiftyTwoWeekChangePercent\":-15.77326,\"earningsTimestamp\":1732023000,\"earningsTimestampStart\":1732023000,\"earningsTimestampEnd\":1732023000,\"earningsCallTimestampStart\":1732021200,\"earningsCallTimestampEnd\":1732021200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-1.22,\"epsForward\":-0.45,\"epsCurrentYear\":-6.28943,\"priceEpsCurrentYear\":-2.122609,\"sharesOutstanding\":773158016,\"bookValue\":36.022,\"fiftyDayAverage\":11.185,\"fiftyDayAverageChange\":2.165,\"fiftyDayAverageChangePercent\":0.19356279,\"twoHundredDayAverage\":8.91765,\"twoHundredDayAverageChange\":4.43235,\"twoHundredDayAverageChangePercent\":0.49703118,\"marketCap\":13530091520,\"forwardPE\":-29.666668,\"priceToBook\":0.37060687,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2020-08-27\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1598535000000,\"priceHint\":2,\"postMarketChangePercent\":0.52434224,\"postMarketTime\":1731546000,\"postMarketPrice\":13.42,\"postMarketChange\":0.069999695,\"regularMarketChange\":-0.32,\"regularMarketTime\":1731531602,\"regularMarketPrice\":13.35,\"regularMarketDayHigh\":14.15,\"regularMarketDayRange\":\"13.035 - - 14.15\",\"regularMarketDayLow\":13.035,\"regularMarketVolume\":16414217,\"regularMarketPreviousClose\":13.67,\"bid\":13.35,\"ask\":13.41,\"bidSize\":18,\"askSize\":12,\"market\":\"us_market\",\"messageBoardId\":\"finmb_682614209\",\"fullExchangeName\":\"NYSE\",\"longName\":\"XPeng - Inc.\",\"displayName\":\"XPeng\",\"symbol\":\"XPEV\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":0.826446,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":10.03,\"fiftyTwoWeekLow\":4.67,\"averageAnalystRating\":\"3.2 - - Hold\",\"shortName\":\"QuantumScape Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":4.88,\"averageDailyVolume3Month\":7539093,\"averageDailyVolume10Day\":11027250,\"fiftyTwoWeekLowChange\":0.21000004,\"fiftyTwoWeekLowChangePercent\":0.044967886,\"fiftyTwoWeekRange\":\"4.67 - - 10.03\",\"fiftyTwoWeekHighChange\":-5.1499996,\"fiftyTwoWeekHighChangePercent\":-0.5134596,\"fiftyTwoWeekChangePercent\":-17.687077,\"earningsTimestamp\":1729714500,\"earningsTimestampStart\":1739394000,\"earningsTimestampEnd\":1739826000,\"earningsCallTimestampStart\":1729717200,\"earningsCallTimestampEnd\":1729717200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.96,\"epsForward\":-0.84,\"epsCurrentYear\":-0.97,\"priceEpsCurrentYear\":-5.0309277,\"sharesOutstanding\":457806016,\"bookValue\":2.168,\"fiftyDayAverage\":5.524,\"fiftyDayAverageChange\":-0.64400005,\"fiftyDayAverageChangePercent\":-0.11658219,\"twoHundredDayAverage\":5.914,\"twoHundredDayAverageChange\":-1.0339999,\"twoHundredDayAverageChangePercent\":-0.17483935,\"marketCap\":2480362496,\"forwardPE\":-5.809524,\"priceToBook\":2.2509227,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1597671000000,\"priceHint\":4,\"postMarketChangePercent\":0.409836,\"postMarketTime\":1731545959,\"postMarketPrice\":4.9,\"postMarketChange\":0.02,\"regularMarketChange\":0.04,\"regularMarketTime\":1731531602,\"regularMarketPrice\":4.88,\"regularMarketDayHigh\":5.17,\"regularMarketDayRange\":\"4.84 - - 5.17\",\"regularMarketDayLow\":4.84,\"regularMarketVolume\":16327579,\"regularMarketPreviousClose\":4.84,\"bid\":4.9,\"ask\":4.93,\"bidSize\":40,\"askSize\":32,\"market\":\"us_market\",\"messageBoardId\":\"finmb_204748122\",\"fullExchangeName\":\"NYSE\",\"longName\":\"QuantumScape - Corporation\",\"displayName\":\"QuantumScape\",\"symbol\":\"QS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":0.22197007,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":27.05,\"fiftyTwoWeekLow\":8.22,\"averageAnalystRating\":\"3.1 - - Hold\",\"shortName\":\"Walgreens Boots Alliance, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":9.01,\"averageDailyVolume3Month\":21640796,\"averageDailyVolume10Day\":18138650,\"fiftyTwoWeekLowChange\":0.80999947,\"fiftyTwoWeekLowChangePercent\":0.098540075,\"fiftyTwoWeekRange\":\"8.22 - - 27.05\",\"fiftyTwoWeekHighChange\":-18.02,\"fiftyTwoWeekHighChangePercent\":-0.6661738,\"fiftyTwoWeekChangePercent\":-56.481926,\"dividendDate\":1733961600,\"earningsTimestamp\":1728990000,\"earningsTimestampStart\":1735819200,\"earningsTimestampEnd\":1736164800,\"earningsCallTimestampStart\":1728995400,\"earningsCallTimestampEnd\":1728995400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.23,\"dividendRate\":1.0,\"trailingAnnualDividendYield\":0.13651498,\"dividendYield\":11.1,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-10.03,\"epsForward\":1.47,\"epsCurrentYear\":1.59,\"priceEpsCurrentYear\":5.679245,\"sharesOutstanding\":864617024,\"bookValue\":12.089,\"fiftyDayAverage\":9.1922,\"fiftyDayAverageChange\":-0.16219997,\"fiftyDayAverageChangePercent\":-0.017645393,\"twoHundredDayAverage\":14.5531,\"twoHundredDayAverageChange\":-5.5231,\"twoHundredDayAverageChangePercent\":-0.37951365,\"marketCap\":7807491584,\"forwardPE\":6.142857,\"priceToBook\":0.74696004,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":0.166117,\"postMarketTime\":1731545957,\"postMarketPrice\":9.045,\"postMarketChange\":0.0150003,\"regularMarketChange\":0.019999504,\"regularMarketTime\":1731531600,\"regularMarketPrice\":9.03,\"regularMarketDayHigh\":9.25,\"regularMarketDayRange\":\"8.98 - - 9.25\",\"regularMarketDayLow\":8.98,\"regularMarketVolume\":16711939,\"regularMarketPreviousClose\":9.01,\"bid\":9.03,\"ask\":9.07,\"bidSize\":1,\"askSize\":78,\"market\":\"us_market\",\"messageBoardId\":\"finmb_93624\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Walgreens - Boots Alliance, Inc.\",\"displayName\":\"Walgreens Boots Alliance\",\"symbol\":\"WBA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-2.38531,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":9.27,\"fiftyTwoWeekLow\":5.0,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"Cemex, S.A.B. de C.V. Sponsored\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":5.49,\"averageDailyVolume3Month\":12280753,\"averageDailyVolume10Day\":14491650,\"fiftyTwoWeekLowChange\":0.32000017,\"fiftyTwoWeekLowChangePercent\":0.06400003,\"fiftyTwoWeekRange\":\"5.0 - - 9.27\",\"fiftyTwoWeekHighChange\":-3.9500003,\"fiftyTwoWeekHighChangePercent\":-0.42610574,\"fiftyTwoWeekChangePercent\":-22.674417,\"dividendDate\":1727136000,\"earningsTimestamp\":1730125800,\"earningsTimestampStart\":1738848600,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1730127600,\"earningsCallTimestampEnd\":1730127600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.002,\"trailingPE\":26.6,\"dividendRate\":0.08,\"trailingAnnualDividendYield\":3.669725E-4,\"dividendYield\":1.52,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.2,\"epsForward\":0.73,\"epsCurrentYear\":0.73698,\"priceEpsCurrentYear\":7.218649,\"sharesOutstanding\":1450829952,\"bookValue\":0.835,\"fiftyDayAverage\":5.8804,\"fiftyDayAverageChange\":-0.5604,\"fiftyDayAverageChangePercent\":-0.09529964,\"twoHundredDayAverage\":7.0115,\"twoHundredDayAverageChange\":-1.6914997,\"twoHundredDayAverageChangePercent\":-0.24124649,\"marketCap\":8139866624,\"forwardPE\":7.287671,\"priceToBook\":6.371258,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":937402200000,\"priceHint\":2,\"postMarketChangePercent\":0.751879,\"postMarketTime\":1731541200,\"postMarketPrice\":5.36,\"postMarketChange\":0.03999996,\"regularMarketChange\":-0.13,\"regularMarketTime\":1731531602,\"regularMarketPrice\":5.32,\"regularMarketDayHigh\":5.49,\"regularMarketDayRange\":\"5.295 - - 5.49\",\"regularMarketDayLow\":5.295,\"regularMarketVolume\":16098692,\"regularMarketPreviousClose\":5.45,\"bid\":5.3,\"ask\":5.41,\"bidSize\":385,\"askSize\":292,\"market\":\"us_market\",\"messageBoardId\":\"finmb_404061\",\"fullExchangeName\":\"NYSE\",\"longName\":\"CEMEX, - S.A.B. de C.V.\",\"displayName\":\"CEMEX, S.A.B. de C.V\",\"symbol\":\"CX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-4.01537,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":157.54,\"fiftyTwoWeekLow\":72.93,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"Micron Technology, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":102.85,\"averageDailyVolume3Month\":22404368,\"averageDailyVolume10Day\":16293510,\"fiftyTwoWeekLowChange\":26.989998,\"fiftyTwoWeekLowChangePercent\":0.37008086,\"fiftyTwoWeekRange\":\"72.93 - - 157.54\",\"fiftyTwoWeekHighChange\":-57.619995,\"fiftyTwoWeekHighChangePercent\":-0.36574838,\"fiftyTwoWeekChangePercent\":30.324768,\"dividendDate\":1729641600,\"earningsTimestamp\":1727294825,\"earningsTimestampStart\":1734555600,\"earningsTimestampEnd\":1734987600,\"earningsCallTimestampStart\":1727296200,\"earningsCallTimestampEnd\":1727296200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.46,\"trailingPE\":149.13432,\"dividendRate\":0.46,\"trailingAnnualDividendYield\":0.004418828,\"dividendYield\":0.44,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.67,\"epsForward\":12.87,\"epsCurrentYear\":8.9,\"priceEpsCurrentYear\":11.226967,\"sharesOutstanding\":1108739968,\"bookValue\":40.695,\"fiftyDayAverage\":100.9334,\"fiftyDayAverageChange\":-1.0134048,\"fiftyDayAverageChangePercent\":-0.010040332,\"twoHundredDayAverage\":109.14775,\"twoHundredDayAverageChange\":-9.227753,\"twoHundredDayAverageChangePercent\":-0.08454368,\"marketCap\":115420585984,\"forwardPE\":7.7637916,\"priceToBook\":2.4553385,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":454944600000,\"priceHint\":2,\"postMarketChangePercent\":0.230188,\"postMarketTime\":1731545990,\"postMarketPrice\":100.15,\"postMarketChange\":0.230003,\"regularMarketChange\":-4.1800003,\"regularMarketTime\":1731531601,\"regularMarketPrice\":99.92,\"regularMarketDayHigh\":103.3402,\"regularMarketDayRange\":\"99.82 - - 103.3402\",\"regularMarketDayLow\":99.82,\"regularMarketVolume\":18032441,\"regularMarketPreviousClose\":104.1,\"bid\":99.79,\"ask\":100.08,\"bidSize\":4,\"askSize\":3,\"market\":\"us_market\",\"messageBoardId\":\"finmb_289030\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Micron - Technology, Inc.\",\"displayName\":\"Micron Technology\",\"symbol\":\"MU\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-0.162671,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":24.83,\"fiftyTwoWeekLow\":13.78,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Carnival Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":24.58,\"averageDailyVolume3Month\":27381950,\"averageDailyVolume10Day\":23819150,\"fiftyTwoWeekLowChange\":10.7699995,\"fiftyTwoWeekLowChangePercent\":0.78156745,\"fiftyTwoWeekRange\":\"13.78 - - 24.83\",\"fiftyTwoWeekHighChange\":-0.2800007,\"fiftyTwoWeekHighChangePercent\":-0.011276709,\"fiftyTwoWeekChangePercent\":65.76637,\"dividendDate\":1584057600,\"earningsTimestamp\":1727699400,\"earningsTimestampStart\":1734617700,\"earningsTimestampEnd\":1734963300,\"earningsCallTimestampStart\":1727704800,\"earningsCallTimestampEnd\":1727704800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":20.982906,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.17,\"epsForward\":1.72,\"epsCurrentYear\":1.32,\"priceEpsCurrentYear\":18.598484,\"sharesOutstanding\":1154160000,\"bookValue\":6.785,\"fiftyDayAverage\":19.9744,\"fiftyDayAverageChange\":4.5755997,\"fiftyDayAverageChangePercent\":0.2290732,\"twoHundredDayAverage\":16.9646,\"twoHundredDayAverageChange\":7.5853996,\"twoHundredDayAverageChangePercent\":0.44713107,\"marketCap\":32942415872,\"forwardPE\":14.273255,\"priceToBook\":3.6182756,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":554131800000,\"priceHint\":2,\"postMarketChangePercent\":-0.0386908,\"postMarketTime\":1731545964,\"postMarketPrice\":24.5405,\"postMarketChange\":-0.0094986,\"regularMarketChange\":-0.0400009,\"regularMarketTime\":1731531602,\"regularMarketPrice\":24.55,\"regularMarketDayHigh\":24.8273,\"regularMarketDayRange\":\"24.32 - - 24.8273\",\"regularMarketDayLow\":24.32,\"regularMarketVolume\":15853670,\"regularMarketPreviousClose\":24.59,\"bid\":24.56,\"ask\":24.66,\"bidSize\":30,\"askSize\":40,\"market\":\"us_market\",\"messageBoardId\":\"finmb_258823\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Carnival - Corporation & plc\",\"displayName\":\"Carnival Corporation &\",\"symbol\":\"CCL\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":0.5279851,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":10.85,\"fiftyTwoWeekLow\":8.57,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"AGNC Investment Corp.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":9.52,\"averageDailyVolume3Month\":17844470,\"averageDailyVolume10Day\":22057970,\"fiftyTwoWeekLowChange\":0.95000076,\"fiftyTwoWeekLowChangePercent\":0.1108519,\"fiftyTwoWeekRange\":\"8.57 - - 10.85\",\"fiftyTwoWeekHighChange\":-1.3299999,\"fiftyTwoWeekHighChangePercent\":-0.12258063,\"fiftyTwoWeekChangePercent\":9.677422,\"dividendDate\":1731369600,\"earningsTimestamp\":1729540864,\"earningsTimestampStart\":1737370740,\"earningsTimestampEnd\":1737720000,\"earningsCallTimestampStart\":1729600200,\"earningsCallTimestampEnd\":1729600200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.44,\"trailingPE\":6.389262,\"dividendRate\":1.44,\"trailingAnnualDividendYield\":0.15205914,\"dividendYield\":15.2,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.49,\"epsForward\":1.73,\"epsCurrentYear\":1.97,\"priceEpsCurrentYear\":4.8324876,\"sharesOutstanding\":885640000,\"bookValue\":9.502,\"fiftyDayAverage\":10.1162,\"fiftyDayAverageChange\":-0.5962,\"fiftyDayAverageChangePercent\":-0.05893517,\"twoHundredDayAverage\":9.8249,\"twoHundredDayAverageChange\":-0.30489922,\"twoHundredDayAverageChangePercent\":-0.031033317,\"marketCap\":8431293440,\"forwardPE\":5.5028906,\"priceToBook\":1.0018944,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1210858200000,\"priceHint\":2,\"postMarketChangePercent\":0.417012,\"postMarketTime\":1731545960,\"postMarketPrice\":9.5597,\"postMarketChange\":0.0396996,\"regularMarketChange\":0.05000019,\"regularMarketTime\":1731531601,\"regularMarketPrice\":9.52,\"regularMarketDayHigh\":9.58,\"regularMarketDayRange\":\"9.48 - - 9.58\",\"regularMarketDayLow\":9.48,\"regularMarketVolume\":16754656,\"regularMarketPreviousClose\":9.47,\"bid\":9.5,\"ask\":10.02,\"bidSize\":98,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_41018622\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"AGNC - Investment Corp.\",\"displayName\":\"AGNC Inv\",\"symbol\":\"AGNC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-0.841756,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":58.72,\"fiftyTwoWeekLow\":29.42,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"Newmont Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":41.75,\"averageDailyVolume3Month\":9306657,\"averageDailyVolume10Day\":12909650,\"fiftyTwoWeekLowChange\":11.809999,\"fiftyTwoWeekLowChangePercent\":0.40142757,\"fiftyTwoWeekRange\":\"29.42 - - 58.72\",\"fiftyTwoWeekHighChange\":-17.490002,\"fiftyTwoWeekHighChangePercent\":-0.29785424,\"fiftyTwoWeekChangePercent\":12.773525,\"dividendDate\":1734912000,\"earningsTimestamp\":1729713901,\"earningsTimestampStart\":1729713901,\"earningsTimestampEnd\":1729713901,\"earningsCallTimestampStart\":1729782000,\"earningsCallTimestampEnd\":1729782000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.0,\"dividendRate\":1.0,\"trailingAnnualDividendYield\":0.024050023,\"dividendYield\":2.41,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-2.17,\"epsForward\":3.83,\"epsCurrentYear\":3.15,\"priceEpsCurrentYear\":13.088888,\"sharesOutstanding\":1138450048,\"bookValue\":25.972,\"fiftyDayAverage\":51.5228,\"fiftyDayAverageChange\":-10.292801,\"fiftyDayAverageChangePercent\":-0.19977176,\"twoHundredDayAverage\":43.70605,\"twoHundredDayAverageChange\":-2.4760513,\"twoHundredDayAverageChangePercent\":-0.05665237,\"marketCap\":47336570880,\"forwardPE\":10.765013,\"priceToBook\":1.5874788,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":-0.16977856,\"postMarketTime\":1731545996,\"postMarketPrice\":41.16,\"postMarketChange\":-0.069999695,\"regularMarketChange\":-0.350002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":41.23,\"regularMarketDayHigh\":41.91,\"regularMarketDayRange\":\"41.08 - - 41.91\",\"regularMarketDayLow\":41.08,\"regularMarketVolume\":15535143,\"regularMarketPreviousClose\":41.58,\"bid\":41.13,\"ask\":41.24,\"bidSize\":22,\"askSize\":12,\"market\":\"us_market\",\"messageBoardId\":\"finmb_291795\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Newmont - Corporation\",\"displayName\":\"Newmont\",\"symbol\":\"NEM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":0.655978,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":17.91,\"fiftyTwoWeekLow\":12.9,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Petroleo Brasileiro S.A.- Petro\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":13.73,\"averageDailyVolume3Month\":15876646,\"averageDailyVolume10Day\":16841940,\"fiftyTwoWeekLowChange\":0.9100008,\"fiftyTwoWeekLowChangePercent\":0.0705427,\"fiftyTwoWeekRange\":\"12.9 - - 17.91\",\"fiftyTwoWeekHighChange\":-4.0999994,\"fiftyTwoWeekHighChangePercent\":-0.22892237,\"fiftyTwoWeekChangePercent\":-11.189711,\"dividendDate\":1732838400,\"earningsTimestamp\":1731006000,\"earningsTimestampStart\":1731006000,\"earningsTimestampEnd\":1731006000,\"earningsCallTimestampStart\":1731085200,\"earningsCallTimestampEnd\":1731085200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":6.075,\"trailingPE\":5.5685487,\"dividendRate\":1.9,\"trailingAnnualDividendYield\":0.44278422,\"dividendYield\":13.88,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.48,\"epsForward\":2.97,\"epsCurrentYear\":2.24,\"priceEpsCurrentYear\":6.165179,\"sharesOutstanding\":3721120000,\"bookValue\":30.543,\"fiftyDayAverage\":14.2988,\"fiftyDayAverageChange\":-0.48880005,\"fiftyDayAverageChangePercent\":-0.03418469,\"twoHundredDayAverage\":15.1981,\"twoHundredDayAverageChange\":-1.3880997,\"twoHundredDayAverageChangePercent\":-0.09133376,\"marketCap\":85137686528,\"forwardPE\":4.649832,\"priceToBook\":0.45214945,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":965914200000,\"priceHint\":2,\"postMarketChangePercent\":0.144819,\"postMarketTime\":1731545796,\"postMarketPrice\":13.83,\"postMarketChange\":0.0199995,\"regularMarketChange\":0.0900002,\"regularMarketTime\":1731531601,\"regularMarketPrice\":13.81,\"regularMarketDayHigh\":13.86,\"regularMarketDayRange\":\"13.575 - - 13.86\",\"regularMarketDayLow\":13.575,\"regularMarketVolume\":15472905,\"regularMarketPreviousClose\":13.72,\"bid\":13.79,\"ask\":13.83,\"bidSize\":280,\"askSize\":385,\"market\":\"us_market\",\"messageBoardId\":\"finmb_409268\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Petr\xF3leo - Brasileiro S.A. - Petrobras\",\"symbol\":\"PBR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-2.21053,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":10.82,\"fiftyTwoWeekLow\":4.75,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Kinross Gold Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":9.59,\"averageDailyVolume3Month\":15774600,\"averageDailyVolume10Day\":19831460,\"fiftyTwoWeekLowChange\":4.54,\"fiftyTwoWeekLowChangePercent\":0.95578945,\"fiftyTwoWeekRange\":\"4.75 - - 10.82\",\"fiftyTwoWeekHighChange\":-1.5299997,\"fiftyTwoWeekHighChangePercent\":-0.1414048,\"fiftyTwoWeekChangePercent\":71.08656,\"dividendDate\":1733961600,\"earningsTimestamp\":1730844025,\"earningsTimestampStart\":1730844025,\"earningsTimestampEnd\":1730844025,\"earningsCallTimestampStart\":1730898000,\"earningsCallTimestampEnd\":1730898000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.12,\"trailingPE\":15.745764,\"dividendRate\":0.12,\"trailingAnnualDividendYield\":0.012631578,\"dividendYield\":1.26,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.59,\"epsForward\":0.88,\"epsCurrentYear\":0.69,\"priceEpsCurrentYear\":13.463768,\"sharesOutstanding\":1229049984,\"bookValue\":5.407,\"fiftyDayAverage\":9.7774,\"fiftyDayAverageChange\":-0.48740005,\"fiftyDayAverageChangePercent\":-0.04984966,\"twoHundredDayAverage\":7.8548,\"twoHundredDayAverageChange\":1.4351997,\"twoHundredDayAverageChangePercent\":0.18271627,\"marketCap\":11696481280,\"forwardPE\":10.556818,\"priceToBook\":1.7181431,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":353687400000,\"priceHint\":2,\"postMarketChangePercent\":0.538215,\"postMarketTime\":1731545837,\"postMarketPrice\":9.34,\"postMarketChange\":0.0500002,\"regularMarketChange\":-0.21,\"regularMarketTime\":1731531602,\"regularMarketPrice\":9.29,\"regularMarketDayHigh\":9.68,\"regularMarketDayRange\":\"9.23 - - 9.68\",\"regularMarketDayLow\":9.23,\"regularMarketVolume\":15194789,\"regularMarketPreviousClose\":9.5,\"bid\":9.24,\"ask\":9.31,\"bidSize\":30,\"askSize\":292,\"market\":\"us_market\",\"messageBoardId\":\"finmb_297179\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Kinross - Gold Corporation\",\"displayName\":\"Kinross Gold\",\"symbol\":\"KGC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":1.83168,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":45.36,\"fiftyTwoWeekLow\":35.93,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"Verizon Communications Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":40.4,\"averageDailyVolume3Month\":18255323,\"averageDailyVolume10Day\":19636190,\"fiftyTwoWeekLowChange\":5.209999,\"fiftyTwoWeekLowChangePercent\":0.14500415,\"fiftyTwoWeekRange\":\"35.93 - - 45.36\",\"fiftyTwoWeekHighChange\":-4.220001,\"fiftyTwoWeekHighChangePercent\":-0.09303354,\"fiftyTwoWeekChangePercent\":13.709235,\"dividendDate\":1730419200,\"earningsTimestamp\":1737725400,\"earningsTimestampStart\":1737725400,\"earningsTimestampEnd\":1737725400,\"earningsCallTimestampStart\":1737725400,\"earningsCallTimestampEnd\":1737725400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":2.673,\"trailingPE\":17.506384,\"dividendRate\":2.71,\"trailingAnnualDividendYield\":0.06616337,\"dividendYield\":6.71,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.35,\"epsForward\":4.73,\"epsCurrentYear\":4.6,\"priceEpsCurrentYear\":8.943479,\"sharesOutstanding\":4209629952,\"bookValue\":22.882,\"fiftyDayAverage\":43.0226,\"fiftyDayAverageChange\":-1.8825989,\"fiftyDayAverageChangePercent\":-0.043758374,\"twoHundredDayAverage\":41.1534,\"twoHundredDayAverageChange\":-0.0134010315,\"twoHundredDayAverageChangePercent\":-3.2563607E-4,\"marketCap\":173184172032,\"forwardPE\":8.697674,\"priceToBook\":1.7979198,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":438273000000,\"priceHint\":2,\"postMarketChangePercent\":0.145847,\"postMarketTime\":1731545972,\"postMarketPrice\":41.2,\"postMarketChange\":0.0600014,\"regularMarketChange\":0.739998,\"regularMarketTime\":1731531601,\"regularMarketPrice\":41.14,\"regularMarketDayHigh\":41.395,\"regularMarketDayRange\":\"40.31 - - 41.395\",\"regularMarketDayLow\":40.31,\"regularMarketVolume\":15124092,\"regularMarketPreviousClose\":40.4,\"bid\":41.14,\"ask\":41.2,\"bidSize\":30,\"askSize\":14,\"market\":\"us_market\",\"messageBoardId\":\"finmb_415798\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Verizon - Communications Inc.\",\"displayName\":\"Verizon Communications\",\"symbol\":\"VZ\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":1.5226841,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":39.21,\"fiftyTwoWeekLow\":20.42,\"averageAnalystRating\":\"2.7 - - Hold\",\"shortName\":\"Frontier Communications Parent,\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":34.24,\"averageDailyVolume3Month\":3614463,\"averageDailyVolume10Day\":3309300,\"fiftyTwoWeekLowChange\":14.249998,\"fiftyTwoWeekLowChangePercent\":0.69784516,\"fiftyTwoWeekRange\":\"20.42 - - 39.21\",\"fiftyTwoWeekHighChange\":-4.540001,\"fiftyTwoWeekHighChangePercent\":-0.11578681,\"fiftyTwoWeekChangePercent\":62.61904,\"earningsTimestamp\":1730842200,\"earningsTimestampStart\":1730842200,\"earningsTimestampEnd\":1730842200,\"earningsCallTimestampStart\":1722601800,\"earningsCallTimestampEnd\":1722601800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.75,\"epsForward\":-0.68,\"epsCurrentYear\":-0.89,\"priceEpsCurrentYear\":-38.955055,\"sharesOutstanding\":249015008,\"bookValue\":20.345,\"fiftyDayAverage\":35.5771,\"fiftyDayAverageChange\":-0.9071007,\"fiftyDayAverageChangePercent\":-0.025496759,\"twoHundredDayAverage\":27.908674,\"twoHundredDayAverageChange\":6.761324,\"twoHundredDayAverageChangePercent\":0.24226604,\"marketCap\":8633350144,\"forwardPE\":-50.98529,\"priceToBook\":1.7041042,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-05-04\",\"prevName\":\"Frontier - Communications Corporation\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1620135000000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731536932,\"postMarketPrice\":34.67,\"postMarketChange\":0.0,\"regularMarketChange\":0.51999664,\"regularMarketTime\":1731531601,\"regularMarketPrice\":34.67,\"regularMarketDayHigh\":35.25,\"regularMarketDayRange\":\"34.075 - - 35.25\",\"regularMarketDayLow\":34.075,\"regularMarketVolume\":15051830,\"regularMarketPreviousClose\":34.15,\"bid\":34.64,\"ask\":36.82,\"bidSize\":7,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_261171\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Frontier - Communications Parent, Inc.\",\"displayName\":\"Frontier Communications Parent\",\"symbol\":\"FYBR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":1.71304,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":123.74,\"fiftyTwoWeekLow\":83.91,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"Walt Disney Company (The)\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":100.785,\"averageDailyVolume3Month\":8450757,\"averageDailyVolume10Day\":9199480,\"fiftyTwoWeekLowChange\":18.809998,\"fiftyTwoWeekLowChangePercent\":0.22416872,\"fiftyTwoWeekRange\":\"83.91 - - 123.74\",\"fiftyTwoWeekHighChange\":-21.019997,\"fiftyTwoWeekHighChangePercent\":-0.16987228,\"fiftyTwoWeekChangePercent\":8.686913,\"dividendDate\":1721865600,\"earningsTimestamp\":1731591000,\"earningsTimestampStart\":1731591000,\"earningsTimestampEnd\":1731591000,\"earningsCallTimestampStart\":1731591000,\"earningsCallTimestampEnd\":1731591000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.75,\"trailingPE\":38.762264,\"dividendRate\":0.9,\"trailingAnnualDividendYield\":0.007426478,\"dividendYield\":0.89,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.65,\"epsForward\":5.15,\"epsCurrentYear\":4.94,\"priceEpsCurrentYear\":20.793522,\"sharesOutstanding\":1813590016,\"bookValue\":55.409,\"fiftyDayAverage\":94.6122,\"fiftyDayAverageChange\":8.107803,\"fiftyDayAverageChangePercent\":0.08569512,\"twoHundredDayAverage\":101.33955,\"twoHundredDayAverageChange\":1.380455,\"twoHundredDayAverageChangePercent\":0.013622076,\"marketCap\":186291961856,\"forwardPE\":19.945631,\"priceToBook\":1.8538505,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":-252322200000,\"priceHint\":2,\"postMarketChangePercent\":0.564644,\"postMarketTime\":1731545992,\"postMarketPrice\":103.3,\"postMarketChange\":0.580002,\"regularMarketChange\":1.73,\"regularMarketTime\":1731531602,\"regularMarketPrice\":102.72,\"regularMarketDayHigh\":103.19,\"regularMarketDayRange\":\"100.35 - - 103.19\",\"regularMarketDayLow\":100.35,\"regularMarketVolume\":14855505,\"regularMarketPreviousClose\":100.99,\"bid\":103.17,\"ask\":103.36,\"bidSize\":10,\"askSize\":13,\"market\":\"us_market\",\"messageBoardId\":\"finmb_191564\",\"fullExchangeName\":\"NYSE\",\"longName\":\"The - Walt Disney Company\",\"symbol\":\"DIS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-2.0370393,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":7.005,\"fiftyTwoWeekLow\":2.04,\"averageAnalystRating\":\"3.0 - - Hold\",\"shortName\":\"Aurora Innovation, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":5.48,\"averageDailyVolume3Month\":8795384,\"averageDailyVolume10Day\":13796010,\"fiftyTwoWeekLowChange\":3.25,\"fiftyTwoWeekLowChangePercent\":1.5931373,\"fiftyTwoWeekRange\":\"2.04 - - 7.005\",\"fiftyTwoWeekHighChange\":-1.7150002,\"fiftyTwoWeekHighChangePercent\":-0.24482514,\"fiftyTwoWeekChangePercent\":154.717,\"earningsTimestamp\":1730318400,\"earningsTimestampStart\":1730318400,\"earningsTimestampEnd\":1730318400,\"earningsCallTimestampStart\":1730322000,\"earningsCallTimestampEnd\":1730322000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.46,\"epsForward\":-0.45,\"epsCurrentYear\":-0.54,\"priceEpsCurrentYear\":-9.796296,\"sharesOutstanding\":1351559936,\"bookValue\":1.178,\"fiftyDayAverage\":5.5093,\"fiftyDayAverageChange\":-0.21930027,\"fiftyDayAverageChangePercent\":-0.03980547,\"twoHundredDayAverage\":3.671675,\"twoHundredDayAverageChange\":1.618325,\"twoHundredDayAverageChangePercent\":0.44075933,\"marketCap\":9090441216,\"forwardPE\":-11.755556,\"priceToBook\":4.490662,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1620653400000,\"priceHint\":2,\"postMarketChangePercent\":0.75425,\"postMarketTime\":1731545767,\"postMarketPrice\":5.3299,\"postMarketChange\":0.0398998,\"regularMarketChange\":-0.11000013,\"regularMarketTime\":1731531601,\"regularMarketPrice\":5.29,\"regularMarketDayHigh\":5.805,\"regularMarketDayRange\":\"5.2 - - 5.805\",\"regularMarketDayLow\":5.2,\"regularMarketVolume\":14302439,\"regularMarketPreviousClose\":5.4,\"bid\":5.28,\"ask\":5.31,\"bidSize\":13,\"askSize\":200,\"market\":\"us_market\",\"messageBoardId\":\"finmb_424226705\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Aurora - Innovation, Inc.\",\"displayName\":\"Aurora Innovation\",\"symbol\":\"AUR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-1.5437496,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":193.31,\"fiftyTwoWeekLow\":129.4,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"Alphabet Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":182.3,\"averageDailyVolume3Month\":17347952,\"averageDailyVolume10Day\":21834800,\"fiftyTwoWeekLowChange\":51.09001,\"fiftyTwoWeekLowChangePercent\":0.39482236,\"fiftyTwoWeekRange\":\"129.4 - - 193.31\",\"fiftyTwoWeekHighChange\":-12.819992,\"fiftyTwoWeekHighChangePercent\":-0.06631831,\"fiftyTwoWeekChangePercent\":32.17015,\"dividendDate\":1734307200,\"earningsTimestamp\":1730232000,\"earningsTimestampStart\":1738098000,\"earningsTimestampEnd\":1738616400,\"earningsCallTimestampStart\":1730233800,\"earningsCallTimestampEnd\":1730233800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.4,\"trailingPE\":24.324799,\"dividendRate\":0.8,\"trailingAnnualDividendYield\":0.0021819768,\"dividendYield\":0.44,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":7.42,\"epsForward\":8.95,\"epsCurrentYear\":8.01,\"priceEpsCurrentYear\":22.533083,\"sharesOutstanding\":5534000128,\"bookValue\":25.613,\"fiftyDayAverage\":165.749,\"fiftyDayAverageChange\":14.741013,\"fiftyDayAverageChangePercent\":0.08893576,\"twoHundredDayAverage\":164.2681,\"twoHundredDayAverageChange\":16.221909,\"twoHundredDayAverageChangePercent\":0.09875264,\"marketCap\":2232625397760,\"forwardPE\":20.166481,\"priceToBook\":7.046812,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1092922200000,\"priceHint\":2,\"postMarketChangePercent\":0.00553743,\"postMarketTime\":1731545997,\"postMarketPrice\":180.5,\"postMarketChange\":0.00999451,\"regularMarketChange\":-2.8300018,\"regularMarketTime\":1731531601,\"regularMarketPrice\":180.49,\"regularMarketDayHigh\":182.58,\"regularMarketDayRange\":\"180.12 - - 182.58\",\"regularMarketDayLow\":180.12,\"regularMarketVolume\":13845347,\"regularMarketPreviousClose\":183.32,\"bid\":180.4,\"ask\":191.29,\"bidSize\":5,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_29096\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Alphabet - Inc.\",\"displayName\":\"Alphabet\",\"symbol\":\"GOOG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-1.30092,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":23.95,\"fiftyTwoWeekLow\":17.67,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Kenvue Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":23.45,\"averageDailyVolume3Month\":15192225,\"averageDailyVolume10Day\":18763740,\"fiftyTwoWeekLowChange\":5.4699993,\"fiftyTwoWeekLowChangePercent\":0.3095642,\"fiftyTwoWeekRange\":\"17.67 - - 23.95\",\"fiftyTwoWeekHighChange\":-0.8100014,\"fiftyTwoWeekHighChangePercent\":-0.033820517,\"fiftyTwoWeekChangePercent\":20.601738,\"dividendDate\":1732665600,\"earningsTimestamp\":1730979900,\"earningsTimestampStart\":1738848600,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1730984400,\"earningsCallTimestampEnd\":1730984400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.805,\"trailingPE\":42.072723,\"dividendRate\":0.82,\"trailingAnnualDividendYield\":0.03433568,\"dividendYield\":3.47,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.55,\"epsForward\":1.22,\"epsCurrentYear\":1.14482,\"priceEpsCurrentYear\":20.212784,\"sharesOutstanding\":1917260032,\"bookValue\":5.555,\"fiftyDayAverage\":22.715,\"fiftyDayAverageChange\":0.42499924,\"fiftyDayAverageChangePercent\":0.01871007,\"twoHundredDayAverage\":20.40225,\"twoHundredDayAverageChange\":2.737749,\"twoHundredDayAverageChangePercent\":0.13418859,\"marketCap\":44365398016,\"forwardPE\":18.967213,\"priceToBook\":4.1656165,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1683207000000,\"priceHint\":2,\"postMarketChangePercent\":0.648235,\"postMarketTime\":1731545349,\"postMarketPrice\":23.29,\"postMarketChange\":0.150002,\"regularMarketChange\":-0.305,\"regularMarketTime\":1731531602,\"regularMarketPrice\":23.14,\"regularMarketDayHigh\":23.6,\"regularMarketDayRange\":\"23.041 - - 23.6\",\"regularMarketDayLow\":23.041,\"regularMarketVolume\":13768312,\"regularMarketPreviousClose\":23.445,\"bid\":23.07,\"ask\":23.08,\"bidSize\":22,\"askSize\":30,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1820759186\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Kenvue - Inc.\",\"displayName\":\"Kenvue\",\"symbol\":\"KVUE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":2.40335,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":11.89,\"fiftyTwoWeekLow\":6.17,\"averageAnalystRating\":\"2.8 - - Hold\",\"shortName\":\"Under Armour, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":9.64,\"averageDailyVolume3Month\":13243932,\"averageDailyVolume10Day\":14832800,\"fiftyTwoWeekLowChange\":3.63,\"fiftyTwoWeekLowChangePercent\":0.5883306,\"fiftyTwoWeekRange\":\"6.17 - - 11.89\",\"fiftyTwoWeekHighChange\":-2.0900002,\"fiftyTwoWeekHighChangePercent\":-0.17577797,\"fiftyTwoWeekChangePercent\":28.777922,\"earningsTimestamp\":1730980504,\"earningsTimestampStart\":1738842900,\"earningsTimestampEnd\":1739188500,\"earningsCallTimestampStart\":1730986200,\"earningsCallTimestampEnd\":1730986200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.04,\"epsForward\":0.4,\"epsCurrentYear\":0.29,\"priceEpsCurrentYear\":33.793106,\"sharesOutstanding\":188822000,\"bookValue\":4.592,\"fiftyDayAverage\":8.57,\"fiftyDayAverageChange\":1.2300005,\"fiftyDayAverageChangePercent\":0.14352398,\"twoHundredDayAverage\":7.60175,\"twoHundredDayAverageChange\":2.1982503,\"twoHundredDayAverageChangePercent\":0.28917688,\"marketCap\":3937199104,\"forwardPE\":24.5,\"priceToBook\":2.1341465,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1132324200000,\"priceHint\":2,\"postMarketChangePercent\":-0.392855,\"postMarketTime\":1731545532,\"postMarketPrice\":9.7615,\"postMarketChange\":-0.0384998,\"regularMarketChange\":0.23,\"regularMarketTime\":1731531602,\"regularMarketPrice\":9.8,\"regularMarketDayHigh\":9.985,\"regularMarketDayRange\":\"9.58 - - 9.985\",\"regularMarketDayLow\":9.58,\"regularMarketVolume\":13466506,\"regularMarketPreviousClose\":9.57,\"bid\":9.8,\"ask\":9.87,\"bidSize\":32,\"askSize\":31,\"market\":\"us_market\",\"messageBoardId\":\"finmb_8740684\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Under - Armour, Inc.\",\"symbol\":\"UAA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-2.18978,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":3.5,\"fiftyTwoWeekLow\":2.34,\"averageAnalystRating\":\"1.8 - - Buy\",\"shortName\":\"B2Gold Corp\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":2.77,\"averageDailyVolume3Month\":15326351,\"averageDailyVolume10Day\":14466850,\"fiftyTwoWeekLowChange\":0.34000015,\"fiftyTwoWeekLowChangePercent\":0.14529921,\"fiftyTwoWeekRange\":\"2.34 - - 3.5\",\"fiftyTwoWeekHighChange\":-0.81999993,\"fiftyTwoWeekHighChangePercent\":-0.2342857,\"fiftyTwoWeekChangePercent\":-11.842108,\"dividendDate\":1733961600,\"earningsTimestamp\":1730934956,\"earningsTimestampStart\":1730934956,\"earningsTimestampEnd\":1730934956,\"earningsCallTimestampStart\":1730995200,\"earningsCallTimestampEnd\":1730995200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.16,\"dividendRate\":0.16,\"trailingAnnualDividendYield\":0.05839416,\"dividendYield\":5.84,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.55,\"epsForward\":0.44,\"epsCurrentYear\":0.25,\"priceEpsCurrentYear\":10.72,\"sharesOutstanding\":1311399936,\"bookValue\":2.313,\"fiftyDayAverage\":3.1624,\"fiftyDayAverageChange\":-0.48239994,\"fiftyDayAverageChangePercent\":-0.15254235,\"twoHundredDayAverage\":2.82035,\"twoHundredDayAverageChange\":-0.14034986,\"twoHundredDayAverageChangePercent\":-0.04976328,\"marketCap\":3626334976,\"forwardPE\":6.0909095,\"priceToBook\":1.1586684,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"ASE\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1214314200000,\"priceHint\":4,\"postMarketChangePercent\":0.746268,\"postMarketTime\":1731545663,\"postMarketPrice\":2.7,\"postMarketChange\":0.02,\"regularMarketChange\":-0.0599999,\"regularMarketTime\":1731531600,\"regularMarketPrice\":2.68,\"regularMarketDayHigh\":2.8,\"regularMarketDayRange\":\"2.68 - - 2.8\",\"regularMarketDayLow\":2.68,\"regularMarketVolume\":13437038,\"regularMarketPreviousClose\":2.74,\"bid\":2.68,\"ask\":2.7,\"bidSize\":280,\"askSize\":3052,\"market\":\"us_market\",\"messageBoardId\":\"finmb_35511785\",\"fullExchangeName\":\"NYSE - American\",\"longName\":\"B2Gold Corp.\",\"displayName\":\"B2Gold\",\"symbol\":\"BTG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":0.424729,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":21.51,\"fiftyTwoWeekLow\":15.94,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Pacific Gas & Electric Co.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":21.26,\"averageDailyVolume3Month\":12999534,\"averageDailyVolume10Day\":12263350,\"fiftyTwoWeekLowChange\":5.340001,\"fiftyTwoWeekLowChangePercent\":0.33500636,\"fiftyTwoWeekRange\":\"15.94 - - 21.51\",\"fiftyTwoWeekHighChange\":-0.22999954,\"fiftyTwoWeekHighChangePercent\":-0.010692679,\"fiftyTwoWeekChangePercent\":19.88733,\"dividendDate\":1728950400,\"earningsTimestamp\":1730977504,\"earningsTimestampStart\":1730977504,\"earningsTimestampEnd\":1730977504,\"earningsCallTimestampStart\":1730995200,\"earningsCallTimestampEnd\":1730995200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.04,\"trailingPE\":16.496124,\"dividendRate\":0.04,\"trailingAnnualDividendYield\":0.0018876828,\"dividendYield\":0.19,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.29,\"epsForward\":1.48,\"epsCurrentYear\":1.36,\"priceEpsCurrentYear\":15.647059,\"sharesOutstanding\":2615290112,\"bookValue\":12.554,\"fiftyDayAverage\":20.0964,\"fiftyDayAverageChange\":1.1836014,\"fiftyDayAverageChangePercent\":0.05889619,\"twoHundredDayAverage\":18.15005,\"twoHundredDayAverageChange\":3.1299515,\"twoHundredDayAverageChangePercent\":0.17244865,\"marketCap\":55653376000,\"forwardPE\":14.378379,\"priceToBook\":1.6950773,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":76253400000,\"priceHint\":2,\"postMarketChangePercent\":0.320485,\"postMarketTime\":1731545890,\"postMarketPrice\":21.3482,\"postMarketChange\":0.0681992,\"regularMarketChange\":0.0900002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":21.28,\"regularMarketDayHigh\":21.51,\"regularMarketDayRange\":\"21.13 - - 21.51\",\"regularMarketDayLow\":21.13,\"regularMarketVolume\":13368889,\"regularMarketPreviousClose\":21.19,\"bid\":21.15,\"ask\":21.35,\"bidSize\":31,\"askSize\":30,\"market\":\"us_market\",\"messageBoardId\":\"finmb_139813\",\"fullExchangeName\":\"NYSE\",\"longName\":\"PG&E - Corporation\",\"displayName\":\"PG&E\",\"symbol\":\"PCG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":1.5652,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":172.4299,\"fiftyTwoWeekLow\":31.47,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"CAVA Group, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":168.16,\"averageDailyVolume3Month\":2998573,\"averageDailyVolume10Day\":2351350,\"fiftyTwoWeekLowChange\":115.83,\"fiftyTwoWeekLowChangePercent\":3.6806483,\"fiftyTwoWeekRange\":\"31.47 - - 172.4299\",\"fiftyTwoWeekHighChange\":-25.129898,\"fiftyTwoWeekHighChangePercent\":-0.1457398,\"fiftyTwoWeekChangePercent\":323.07468,\"earningsTimestamp\":1731445800,\"earningsTimestampStart\":1731445800,\"earningsTimestampEnd\":1731445800,\"earningsCallTimestampStart\":1731448800,\"earningsCallTimestampEnd\":1731448800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":818.3333,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.18,\"epsForward\":0.5,\"epsCurrentYear\":0.42,\"priceEpsCurrentYear\":350.7143,\"sharesOutstanding\":114321000,\"bookValue\":5.02,\"fiftyDayAverage\":130.0832,\"fiftyDayAverageChange\":17.216797,\"fiftyDayAverageChangePercent\":0.13235219,\"twoHundredDayAverage\":89.84205,\"twoHundredDayAverageChange\":57.457954,\"twoHundredDayAverageChangePercent\":0.6395441,\"marketCap\":16839483392,\"forwardPE\":294.6,\"priceToBook\":29.34263,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1686922200000,\"priceHint\":2,\"postMarketChangePercent\":0.12899011,\"postMarketTime\":1731546000,\"postMarketPrice\":147.49,\"postMarketChange\":0.19000244,\"regularMarketChange\":2.27,\"regularMarketTime\":1731531602,\"regularMarketPrice\":147.3,\"regularMarketDayHigh\":172.4299,\"regularMarketDayRange\":\"146.05 - - 172.4299\",\"regularMarketDayLow\":146.05,\"regularMarketVolume\":13047414,\"regularMarketPreviousClose\":145.03,\"bid\":147.75,\"ask\":147.79,\"bidSize\":9,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_291711182\",\"fullExchangeName\":\"NYSE\",\"longName\":\"CAVA - Group, Inc.\",\"displayName\":\"CAVA\",\"symbol\":\"CAVA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-1.63897,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":90.0,\"fiftyTwoWeekLow\":55.0,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Block, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":86.3,\"averageDailyVolume3Month\":6281912,\"averageDailyVolume10Day\":11470180,\"fiftyTwoWeekLowChange\":30.82,\"fiftyTwoWeekLowChangePercent\":0.56036365,\"fiftyTwoWeekRange\":\"55.0 - - 90.0\",\"fiftyTwoWeekHighChange\":-4.1800003,\"fiftyTwoWeekHighChangePercent\":-0.04644445,\"fiftyTwoWeekChangePercent\":55.028427,\"earningsTimestamp\":1731013500,\"earningsTimestampStart\":1731013500,\"earningsTimestampEnd\":1731013500,\"earningsCallTimestampStart\":1731016800,\"earningsCallTimestampEnd\":1731016800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":52.32927,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.64,\"epsForward\":4.54,\"epsCurrentYear\":3.57,\"priceEpsCurrentYear\":24.039217,\"sharesOutstanding\":559742016,\"bookValue\":32.319,\"fiftyDayAverage\":69.673,\"fiftyDayAverageChange\":16.147003,\"fiftyDayAverageChangePercent\":0.23175411,\"twoHundredDayAverage\":69.6395,\"twoHundredDayAverageChange\":16.180496,\"twoHundredDayAverageChangePercent\":0.23234652,\"marketCap\":54078787584,\"forwardPE\":18.903084,\"priceToBook\":2.6554039,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Square, - Inc.\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1447943400000,\"priceHint\":2,\"postMarketChangePercent\":-0.02330068,\"postMarketTime\":1731545970,\"postMarketPrice\":85.8,\"postMarketChange\":-0.019996643,\"regularMarketChange\":-1.43,\"regularMarketTime\":1731531667,\"regularMarketPrice\":85.82,\"regularMarketDayHigh\":90.0,\"regularMarketDayRange\":\"85.2526 - - 90.0\",\"regularMarketDayLow\":85.2526,\"regularMarketVolume\":12952030,\"regularMarketPreviousClose\":87.25,\"bid\":85.5,\"ask\":85.9,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_83920810\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Block, - Inc.\",\"displayName\":\"Block\",\"symbol\":\"SQ\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-2.66465,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":212.6,\"fiftyTwoWeekLow\":95.25,\"averageAnalystRating\":\"1.6 - - Buy\",\"shortName\":\"Taiwan Semiconductor Manufactur\",\"financialCurrency\":\"TWD\",\"regularMarketOpen\":192.443,\"averageDailyVolume3Month\":13646231,\"averageDailyVolume10Day\":13711870,\"fiftyTwoWeekLowChange\":91.41,\"fiftyTwoWeekLowChangePercent\":0.9596851,\"fiftyTwoWeekRange\":\"95.25 - - 212.6\",\"fiftyTwoWeekHighChange\":-25.940002,\"fiftyTwoWeekHighChangePercent\":-0.12201318,\"fiftyTwoWeekChangePercent\":89.42561,\"dividendDate\":1736380800,\"earningsTimestamp\":1729162740,\"earningsTimestampStart\":1737025140,\"earningsTimestampEnd\":1737374400,\"earningsCallTimestampStart\":1729144800,\"earningsCallTimestampEnd\":1729144800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":15.5,\"trailingPE\":34.375694,\"dividendRate\":2.47,\"trailingAnnualDividendYield\":0.080825984,\"dividendYield\":1.29,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":5.43,\"epsForward\":8.08,\"epsCurrentYear\":6.33,\"priceEpsCurrentYear\":29.488153,\"sharesOutstanding\":5186079744,\"bookValue\":153.888,\"fiftyDayAverage\":184.707,\"fiftyDayAverageChange\":1.9530029,\"fiftyDayAverageChangePercent\":0.010573518,\"twoHundredDayAverage\":160.161,\"twoHundredDayAverageChange\":26.499008,\"twoHundredDayAverageChangePercent\":0.16545232,\"marketCap\":968033632256,\"forwardPE\":23.101486,\"priceToBook\":1.2129601,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":876403800000,\"priceHint\":2,\"postMarketChangePercent\":0.235724,\"postMarketTime\":1731545987,\"postMarketPrice\":187.1,\"postMarketChange\":0.44000244,\"regularMarketChange\":-5.11,\"regularMarketTime\":1731531601,\"regularMarketPrice\":186.66,\"regularMarketDayHigh\":192.443,\"regularMarketDayRange\":\"186.5 - - 192.443\",\"regularMarketDayLow\":186.5,\"regularMarketVolume\":13844661,\"regularMarketPreviousClose\":191.77,\"bid\":187.06,\"ask\":187.39,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_380075\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Taiwan - Semiconductor Manufacturing Company Limited\",\"displayName\":\"Taiwan Semiconductor - Manufacturing Company\",\"symbol\":\"TSM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":0.600073,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":85.79,\"fiftyTwoWeekLow\":49.84667,\"averageAnalystRating\":\"1.8 - - Buy\",\"shortName\":\"Walmart Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":84.99,\"averageDailyVolume3Month\":14968106,\"averageDailyVolume10Day\":13319280,\"fiftyTwoWeekLowChange\":35.65333,\"fiftyTwoWeekLowChangePercent\":0.7152601,\"fiftyTwoWeekRange\":\"49.84667 - - 85.79\",\"fiftyTwoWeekHighChange\":-0.29000092,\"fiftyTwoWeekHighChangePercent\":-0.003380358,\"fiftyTwoWeekChangePercent\":64.380936,\"dividendDate\":1736121600,\"earningsTimestamp\":1732017600,\"earningsTimestampStart\":1732017600,\"earningsTimestampEnd\":1732017600,\"earningsCallTimestampStart\":1732021200,\"earningsCallTimestampEnd\":1732021200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.795,\"trailingPE\":44.300518,\"dividendRate\":0.83,\"trailingAnnualDividendYield\":0.009354042,\"dividendYield\":0.98,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.93,\"epsForward\":2.72,\"epsCurrentYear\":2.45,\"priceEpsCurrentYear\":34.897957,\"sharesOutstanding\":8038249984,\"bookValue\":10.507,\"fiftyDayAverage\":80.9784,\"fiftyDayAverageChange\":4.521599,\"fiftyDayAverageChangePercent\":0.0558371,\"twoHundredDayAverage\":68.52145,\"twoHundredDayAverageChange\":16.978554,\"twoHundredDayAverageChangePercent\":0.24778453,\"marketCap\":687270395904,\"forwardPE\":31.433823,\"priceToBook\":8.137432,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":83597400000,\"priceHint\":2,\"postMarketChangePercent\":0.257311,\"postMarketTime\":1731545979,\"postMarketPrice\":85.72,\"postMarketChange\":0.220001,\"regularMarketChange\":0.510002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":85.5,\"regularMarketDayHigh\":85.79,\"regularMarketDayRange\":\"84.77 - - 85.79\",\"regularMarketDayLow\":84.77,\"regularMarketVolume\":12790286,\"regularMarketPreviousClose\":84.99,\"bid\":85.6,\"ask\":85.72,\"bidSize\":8,\"askSize\":13,\"market\":\"us_market\",\"messageBoardId\":\"finmb_313055\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Walmart - Inc.\",\"displayName\":\"Walmart\",\"symbol\":\"WMT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-4.8098636,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":59.26,\"fiftyTwoWeekLow\":22.25,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Affirm Holdings, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":58.44,\"averageDailyVolume3Month\":11200695,\"averageDailyVolume10Day\":14741380,\"fiftyTwoWeekLowChange\":32.57,\"fiftyTwoWeekLowChangePercent\":1.4638202,\"fiftyTwoWeekRange\":\"22.25 - - 59.26\",\"fiftyTwoWeekHighChange\":-4.4399986,\"fiftyTwoWeekHighChangePercent\":-0.074924044,\"fiftyTwoWeekChangePercent\":134.67807,\"earningsTimestamp\":1731013200,\"earningsTimestampStart\":1738875600,\"earningsTimestampEnd\":1739221200,\"earningsCallTimestampStart\":1731016800,\"earningsCallTimestampEnd\":1731016800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-1.34,\"epsForward\":0.47,\"epsCurrentYear\":-0.51,\"priceEpsCurrentYear\":-107.4902,\"sharesOutstanding\":271918016,\"bookValue\":9.031,\"fiftyDayAverage\":43.5679,\"fiftyDayAverageChange\":11.252098,\"fiftyDayAverageChangePercent\":0.2582658,\"twoHundredDayAverage\":35.745125,\"twoHundredDayAverageChange\":19.074875,\"twoHundredDayAverageChangePercent\":0.5336357,\"marketCap\":17216548864,\"forwardPE\":116.6383,\"priceToBook\":6.0702024,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-01-13\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1610548200000,\"priceHint\":2,\"postMarketChangePercent\":0.200658,\"postMarketTime\":1731545991,\"postMarketPrice\":54.93,\"postMarketChange\":0.110001,\"regularMarketChange\":-2.7700005,\"regularMarketTime\":1731531602,\"regularMarketPrice\":54.82,\"regularMarketDayHigh\":59.26,\"regularMarketDayRange\":\"53.84 - - 59.26\",\"regularMarketDayLow\":53.84,\"regularMarketVolume\":12649202,\"regularMarketPreviousClose\":57.59,\"bid\":54.68,\"ask\":54.94,\"bidSize\":10,\"askSize\":15,\"market\":\"us_market\",\"messageBoardId\":\"finmb_695381746\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Affirm - Holdings, Inc.\",\"displayName\":\"Affirm\",\"symbol\":\"AFRM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-9.07336,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":21.38,\"fiftyTwoWeekLow\":8.81,\"averageAnalystRating\":\"3.3 - - Hold\",\"shortName\":\"Rocket Companies, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":13.9,\"averageDailyVolume3Month\":3277801,\"averageDailyVolume10Day\":3473730,\"fiftyTwoWeekLowChange\":5.3199997,\"fiftyTwoWeekLowChangePercent\":0.6038592,\"fiftyTwoWeekRange\":\"8.81 - - 21.38\",\"fiftyTwoWeekHighChange\":-7.249999,\"fiftyTwoWeekHighChangePercent\":-0.33910194,\"fiftyTwoWeekChangePercent\":74.02016,\"dividendDate\":1647907200,\"earningsTimestamp\":1731445200,\"earningsTimestampStart\":1731445200,\"earningsTimestampEnd\":1731445200,\"earningsCallTimestampStart\":1731447000,\"earningsCallTimestampEnd\":1731447000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":7.841287,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.802,\"epsForward\":0.66,\"epsCurrentYear\":0.29,\"priceEpsCurrentYear\":48.72414,\"sharesOutstanding\":138400000,\"bookValue\":4.602,\"fiftyDayAverage\":17.904,\"fiftyDayAverageChange\":-3.7739992,\"fiftyDayAverageChangePercent\":-0.21079084,\"twoHundredDayAverage\":15.104,\"twoHundredDayAverageChange\":-0.974,\"twoHundredDayAverageChangePercent\":-0.06448623,\"marketCap\":28080547840,\"forwardPE\":21.40909,\"priceToBook\":3.070404,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2020-08-06\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1596720600000,\"priceHint\":2,\"postMarketChangePercent\":-0.571125,\"postMarketTime\":1731545866,\"postMarketPrice\":14.0493,\"postMarketChange\":-0.0806999,\"regularMarketChange\":-1.41,\"regularMarketTime\":1731531602,\"regularMarketPrice\":14.13,\"regularMarketDayHigh\":14.44,\"regularMarketDayRange\":\"13.375 - - 14.44\",\"regularMarketDayLow\":13.375,\"regularMarketVolume\":12568911,\"regularMarketPreviousClose\":15.54,\"bid\":13.9,\"ask\":14.1,\"bidSize\":22,\"askSize\":22,\"market\":\"us_market\",\"messageBoardId\":\"finmb_675705521\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Rocket - Companies, Inc.\",\"displayName\":\"Rocket Companies\",\"symbol\":\"RKT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":0.364963,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":3.24,\"fiftyTwoWeekLow\":2.0,\"shortName\":\"Lloyds - Banking Group Plc\",\"financialCurrency\":\"GBP\",\"regularMarketOpen\":2.77,\"averageDailyVolume3Month\":10404596,\"averageDailyVolume10Day\":10184840,\"fiftyTwoWeekLowChange\":0.75,\"fiftyTwoWeekLowChangePercent\":0.375,\"fiftyTwoWeekRange\":\"2.0 - - 3.24\",\"fiftyTwoWeekHighChange\":-0.49,\"fiftyTwoWeekHighChangePercent\":-0.15123457,\"fiftyTwoWeekChangePercent\":31.578945,\"dividendDate\":1726790400,\"earningsTimestamp\":1729681140,\"earningsTimestampStart\":1729681140,\"earningsTimestampEnd\":1729681140,\"earningsCallTimestampStart\":1721896200,\"earningsCallTimestampEnd\":1721896200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.029,\"trailingPE\":7.6388884,\"dividendRate\":0.15,\"trailingAnnualDividendYield\":0.010583941,\"dividendYield\":5.4,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.36,\"epsForward\":0.36,\"sharesOutstanding\":15186700288,\"bookValue\":0.655,\"fiftyDayAverage\":3.0118,\"fiftyDayAverageChange\":-0.26180005,\"fiftyDayAverageChangePercent\":-0.08692478,\"twoHundredDayAverage\":2.75785,\"twoHundredDayAverageChange\":-0.007849932,\"twoHundredDayAverageChangePercent\":-0.0028463956,\"marketCap\":42947850240,\"forwardPE\":7.6388884,\"priceToBook\":4.1984735,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1006957800000,\"priceHint\":4,\"postMarketChangePercent\":0.727272,\"postMarketTime\":1731544979,\"postMarketPrice\":2.77,\"postMarketChange\":0.02,\"regularMarketChange\":0.00999999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":2.75,\"regularMarketDayHigh\":2.78,\"regularMarketDayRange\":\"2.74 - - 2.78\",\"regularMarketDayLow\":2.74,\"regularMarketVolume\":12573939,\"regularMarketPreviousClose\":2.74,\"bid\":2.71,\"ask\":2.8,\"bidSize\":270,\"askSize\":270,\"market\":\"us_market\",\"messageBoardId\":\"finmb_670064\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Lloyds - Banking Group plc\",\"symbol\":\"LYG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-0.29424,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":87.0,\"fiftyTwoWeekLow\":53.15,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"Uber Technologies, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":71.53,\"averageDailyVolume3Month\":15736374,\"averageDailyVolume10Day\":25280180,\"fiftyTwoWeekLowChange\":18.010002,\"fiftyTwoWeekLowChangePercent\":0.33885235,\"fiftyTwoWeekRange\":\"53.15 - - 87.0\",\"fiftyTwoWeekHighChange\":-15.839996,\"fiftyTwoWeekHighChangePercent\":-0.18206893,\"fiftyTwoWeekChangePercent\":31.146633,\"earningsTimestamp\":1730372100,\"earningsTimestampStart\":1738762200,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1730376000,\"earningsCallTimestampEnd\":1730376000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":35.227726,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.02,\"epsForward\":2.36,\"epsCurrentYear\":1.78,\"priceEpsCurrentYear\":39.97753,\"sharesOutstanding\":2105709952,\"bookValue\":7.024,\"fiftyDayAverage\":75.4074,\"fiftyDayAverageChange\":-4.2473984,\"fiftyDayAverageChangePercent\":-0.056326013,\"twoHundredDayAverage\":72.2974,\"twoHundredDayAverageChange\":-1.1373978,\"twoHundredDayAverageChangePercent\":-0.015732208,\"marketCap\":150284238848,\"forwardPE\":30.152546,\"priceToBook\":10.13098,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1557495000000,\"priceHint\":2,\"postMarketChangePercent\":0.112414554,\"postMarketTime\":1731545970,\"postMarketPrice\":71.24,\"postMarketChange\":0.0799942,\"regularMarketChange\":-0.209999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":71.16,\"regularMarketDayHigh\":72.08,\"regularMarketDayRange\":\"70.55 - - 72.08\",\"regularMarketDayLow\":70.55,\"regularMarketVolume\":12310164,\"regularMarketPreviousClose\":71.37,\"bid\":71.18,\"ask\":71.25,\"bidSize\":13,\"askSize\":13,\"market\":\"us_market\",\"messageBoardId\":\"finmb_144524848\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Uber - Technologies, Inc.\",\"displayName\":\"Uber\",\"symbol\":\"UBER\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":1.45597,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":40.4,\"fiftyTwoWeekLow\":27.82,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"BP p.l.c.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":28.14,\"averageDailyVolume3Month\":8435332,\"averageDailyVolume10Day\":10356310,\"fiftyTwoWeekLowChange\":0.75,\"fiftyTwoWeekLowChangePercent\":0.026959023,\"fiftyTwoWeekRange\":\"27.82 - - 40.4\",\"fiftyTwoWeekHighChange\":-11.830002,\"fiftyTwoWeekHighChangePercent\":-0.29282182,\"fiftyTwoWeekChangePercent\":-18.418043,\"dividendDate\":1734652800,\"earningsTimestamp\":1730199540,\"earningsTimestampStart\":1738666740,\"earningsTimestampEnd\":1739188800,\"earningsCallTimestampStart\":1730206800,\"earningsCallTimestampEnd\":1730206800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.305,\"trailingPE\":28.57,\"dividendRate\":1.92,\"trailingAnnualDividendYield\":0.010830966,\"dividendYield\":6.82,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.0,\"epsForward\":3.77,\"epsCurrentYear\":3.65,\"priceEpsCurrentYear\":7.827397,\"sharesOutstanding\":2624130048,\"bookValue\":3.972,\"fiftyDayAverage\":31.2638,\"fiftyDayAverageChange\":-2.6938,\"fiftyDayAverageChangePercent\":-0.08616355,\"twoHundredDayAverage\":35.00825,\"twoHundredDayAverageChange\":-6.4382515,\"twoHundredDayAverageChangePercent\":-0.18390669,\"marketCap\":76889579520,\"forwardPE\":7.5782495,\"priceToBook\":7.19285,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"BP - PLC\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":-252322200000,\"priceHint\":2,\"postMarketChangePercent\":0.105007656,\"postMarketTime\":1731546000,\"postMarketPrice\":28.6,\"postMarketChange\":0.030000687,\"regularMarketChange\":0.41,\"regularMarketTime\":1731531602,\"regularMarketPrice\":28.57,\"regularMarketDayHigh\":28.67,\"regularMarketDayRange\":\"27.8227 - - 28.67\",\"regularMarketDayLow\":27.8227,\"regularMarketVolume\":12223021,\"regularMarketPreviousClose\":28.16,\"bid\":28.52,\"ask\":28.59,\"bidSize\":29,\"askSize\":31,\"market\":\"us_market\",\"messageBoardId\":\"finmb_394466\",\"fullExchangeName\":\"NYSE\",\"longName\":\"BP - p.l.c.\",\"displayName\":\"BP p.l.c\",\"symbol\":\"BP\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-0.9434,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":7.80133,\"fiftyTwoWeekLow\":2.19,\"averageAnalystRating\":\"2.5 - - Hold\",\"shortName\":\"Arcadium Lithium plc\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":5.29,\"averageDailyVolume3Month\":23124587,\"averageDailyVolume10Day\":13203890,\"fiftyTwoWeekLowChange\":3.06,\"fiftyTwoWeekLowChangePercent\":1.3972602,\"fiftyTwoWeekRange\":\"2.19 - - 7.80133\",\"fiftyTwoWeekHighChange\":-2.55133,\"fiftyTwoWeekHighChangePercent\":-0.32703784,\"fiftyTwoWeekChangePercent\":-3.760004,\"earningsTimestamp\":1731013200,\"earningsTimestampStart\":1731013200,\"earningsTimestampEnd\":1731013200,\"earningsCallTimestampStart\":1722978000,\"earningsCallTimestampEnd\":1722978000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":29.166666,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.18,\"epsForward\":0.17,\"epsCurrentYear\":0.165,\"priceEpsCurrentYear\":31.81818,\"sharesOutstanding\":1075629952,\"bookValue\":5.856,\"fiftyDayAverage\":4.0888,\"fiftyDayAverageChange\":1.1612,\"fiftyDayAverageChangePercent\":0.28399533,\"twoHundredDayAverage\":4.01575,\"twoHundredDayAverageChange\":1.2342501,\"twoHundredDayAverageChangePercent\":0.30735233,\"marketCap\":5647057408,\"forwardPE\":30.882353,\"priceToBook\":0.8965164,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1539264600000,\"priceHint\":2,\"postMarketChangePercent\":-0.190481,\"postMarketTime\":1731545058,\"postMarketPrice\":5.24,\"postMarketChange\":-0.0100002,\"regularMarketChange\":-0.0500002,\"regularMarketTime\":1731531669,\"regularMarketPrice\":5.25,\"regularMarketDayHigh\":5.32,\"regularMarketDayRange\":\"5.21 - - 5.32\",\"regularMarketDayLow\":5.21,\"regularMarketVolume\":12220164,\"regularMarketPreviousClose\":5.3,\"bid\":5.21,\"ask\":5.25,\"bidSize\":394,\"askSize\":435,\"market\":\"us_market\",\"messageBoardId\":\"finmb_578904663\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Arcadium - Lithium plc\",\"symbol\":\"ALTM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-1.00143,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":9.0,\"fiftyTwoWeekLow\":6.78,\"averageAnalystRating\":\"3.0 - - Hold\",\"shortName\":\"United Microelectronics Corpora\",\"financialCurrency\":\"TWD\",\"regularMarketOpen\":6.98,\"averageDailyVolume3Month\":12609062,\"averageDailyVolume10Day\":15029250,\"fiftyTwoWeekLowChange\":0.13999987,\"fiftyTwoWeekLowChangePercent\":0.020648947,\"fiftyTwoWeekRange\":\"6.78 - - 9.0\",\"fiftyTwoWeekHighChange\":-2.08,\"fiftyTwoWeekHighChangePercent\":-0.23111111,\"fiftyTwoWeekChangePercent\":-8.947367,\"dividendDate\":1722988800,\"earningsTimestamp\":1737457140,\"earningsTimestampStart\":1737457140,\"earningsTimestampEnd\":1737457140,\"earningsCallTimestampStart\":1737457140,\"earningsCallTimestampEnd\":1737457140,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":3.0,\"trailingPE\":10.8125,\"dividendRate\":0.46,\"trailingAnnualDividendYield\":0.42918456,\"dividendYield\":6.52,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.64,\"epsForward\":0.64,\"epsCurrentYear\":0.64,\"priceEpsCurrentYear\":10.8125,\"sharesOutstanding\":2505690112,\"bookValue\":29.39,\"fiftyDayAverage\":7.959,\"fiftyDayAverageChange\":-1.039,\"fiftyDayAverageChangePercent\":-0.13054404,\"twoHundredDayAverage\":8.1223,\"twoHundredDayAverageChange\":-1.2023001,\"twoHundredDayAverageChangePercent\":-0.14802457,\"marketCap\":17823361024,\"forwardPE\":10.8125,\"priceToBook\":0.23545425,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":969370200000,\"priceHint\":2,\"postMarketChangePercent\":0.8670512,\"postMarketTime\":1731545917,\"postMarketPrice\":6.98,\"postMarketChange\":0.059999943,\"regularMarketChange\":-0.0699997,\"regularMarketTime\":1731531601,\"regularMarketPrice\":6.92,\"regularMarketDayHigh\":7.005,\"regularMarketDayRange\":\"6.9 - - 7.005\",\"regularMarketDayLow\":6.9,\"regularMarketVolume\":12162521,\"regularMarketPreviousClose\":6.99,\"bid\":6.92,\"ask\":6.93,\"bidSize\":394,\"askSize\":361,\"market\":\"us_market\",\"messageBoardId\":\"finmb_528092\",\"fullExchangeName\":\"NYSE\",\"longName\":\"United - Microelectronics Corporation\",\"displayName\":\"United Microelectronics\",\"symbol\":\"UMC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":5.441486,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":22.26,\"fiftyTwoWeekLow\":9.225,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Sunrun Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":9.77,\"averageDailyVolume3Month\":8486420,\"averageDailyVolume10Day\":16089420,\"fiftyTwoWeekLowChange\":1.0450001,\"fiftyTwoWeekLowChangePercent\":0.113279134,\"fiftyTwoWeekRange\":\"9.225 - - 22.26\",\"fiftyTwoWeekHighChange\":-11.99,\"fiftyTwoWeekHighChangePercent\":-0.5386343,\"fiftyTwoWeekChangePercent\":-12.957996,\"earningsTimestamp\":1731013291,\"earningsTimestampStart\":1731013291,\"earningsTimestampEnd\":1731013291,\"earningsCallTimestampStart\":1731015000,\"earningsCallTimestampEnd\":1731015000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-1.75,\"epsForward\":-0.75,\"epsCurrentYear\":-0.27,\"priceEpsCurrentYear\":-38.037037,\"sharesOutstanding\":224339008,\"bookValue\":23.553,\"fiftyDayAverage\":16.2168,\"fiftyDayAverageChange\":-5.9468,\"fiftyDayAverageChangePercent\":-0.36670613,\"twoHundredDayAverage\":14.548075,\"twoHundredDayAverageChange\":-4.2780743,\"twoHundredDayAverageChangePercent\":-0.29406464,\"marketCap\":2303961600,\"forwardPE\":-13.693334,\"priceToBook\":0.4360379,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1438781400000,\"priceHint\":2,\"postMarketChangePercent\":0.193762,\"postMarketTime\":1731545937,\"postMarketPrice\":10.2899,\"postMarketChange\":0.0198994,\"regularMarketChange\":0.5300007,\"regularMarketTime\":1731531600,\"regularMarketPrice\":10.27,\"regularMarketDayHigh\":10.47,\"regularMarketDayRange\":\"9.77 - - 10.47\",\"regularMarketDayLow\":9.77,\"regularMarketVolume\":12572263,\"regularMarketPreviousClose\":9.74,\"bid\":10.25,\"ask\":10.31,\"bidSize\":95,\"askSize\":65,\"market\":\"us_market\",\"messageBoardId\":\"finmb_44576381\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Sunrun - Inc.\",\"displayName\":\"Sunrun\",\"symbol\":\"RUN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":11.4404,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":473.0,\"fiftyTwoWeekLow\":170.62,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"Spotify Technology S.A.\",\"financialCurrency\":\"EUR\",\"regularMarketOpen\":460.26,\"averageDailyVolume3Month\":1561728,\"averageDailyVolume10Day\":2358200,\"fiftyTwoWeekLowChange\":296.75,\"fiftyTwoWeekLowChangePercent\":1.7392452,\"fiftyTwoWeekRange\":\"170.62 - - 473.0\",\"fiftyTwoWeekHighChange\":-5.630005,\"fiftyTwoWeekHighChangePercent\":-0.011902759,\"fiftyTwoWeekChangePercent\":139.26859,\"earningsTimestamp\":1731445500,\"earningsTimestampStart\":1731445500,\"earningsTimestampEnd\":1731445500,\"earningsCallTimestampStart\":1731448800,\"earningsCallTimestampEnd\":1731448800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":172.46126,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.71,\"epsForward\":8.91,\"epsCurrentYear\":6.27,\"priceEpsCurrentYear\":74.54067,\"sharesOutstanding\":200808000,\"bookValue\":22.984,\"fiftyDayAverage\":369.7256,\"fiftyDayAverageChange\":97.64441,\"fiftyDayAverageChangePercent\":0.2640997,\"twoHundredDayAverage\":312.90216,\"twoHundredDayAverageChange\":154.46783,\"twoHundredDayAverageChangePercent\":0.49366176,\"marketCap\":93851631616,\"forwardPE\":52.454544,\"priceToBook\":20.334581,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1522762200000,\"priceHint\":2,\"postMarketChangePercent\":-0.261035,\"postMarketTime\":1731545977,\"postMarketPrice\":466.15,\"postMarketChange\":-1.22,\"regularMarketChange\":47.98,\"regularMarketTime\":1731531602,\"regularMarketPrice\":467.37,\"regularMarketDayHigh\":473.0,\"regularMarketDayRange\":\"445.0001 - - 473.0\",\"regularMarketDayLow\":445.0001,\"regularMarketVolume\":11970609,\"regularMarketPreviousClose\":419.39,\"bid\":466.01,\"ask\":467.0,\"bidSize\":14,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_225595077\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Spotify - Technology S.A.\",\"displayName\":\"Spotify Technology\",\"symbol\":\"SPOT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-2.5188951,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":5.34,\"fiftyTwoWeekLow\":1.64,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"Geron Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":3.97,\"averageDailyVolume3Month\":8256123,\"averageDailyVolume10Day\":12113400,\"fiftyTwoWeekLowChange\":2.23,\"fiftyTwoWeekLowChangePercent\":1.3597561,\"fiftyTwoWeekRange\":\"1.64 - - 5.34\",\"fiftyTwoWeekHighChange\":-1.4700003,\"fiftyTwoWeekHighChangePercent\":-0.27528095,\"fiftyTwoWeekChangePercent\":106.95188,\"earningsTimestamp\":1730980800,\"earningsTimestampStart\":1730980800,\"earningsTimestampEnd\":1730980800,\"earningsCallTimestampStart\":1730984400,\"earningsCallTimestampEnd\":1730984400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.32,\"epsForward\":-0.08,\"epsCurrentYear\":-0.27,\"priceEpsCurrentYear\":-14.333332,\"sharesOutstanding\":604500992,\"bookValue\":0.485,\"fiftyDayAverage\":4.2812,\"fiftyDayAverageChange\":-0.41120005,\"fiftyDayAverageChangePercent\":-0.09604785,\"twoHundredDayAverage\":3.827,\"twoHundredDayAverageChange\":0.042999983,\"twoHundredDayAverageChangePercent\":0.0112359505,\"marketCap\":2339418880,\"forwardPE\":-48.375,\"priceToBook\":7.979381,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":838819800000,\"priceHint\":4,\"postMarketChangePercent\":0.532302,\"postMarketTime\":1731544864,\"postMarketPrice\":3.8906,\"postMarketChange\":0.0206001,\"regularMarketChange\":-0.10000014,\"regularMarketTime\":1731531601,\"regularMarketPrice\":3.87,\"regularMarketDayHigh\":4.05,\"regularMarketDayRange\":\"3.815 - - 4.05\",\"regularMarketDayLow\":3.815,\"regularMarketVolume\":11956085,\"regularMarketPreviousClose\":3.97,\"bid\":3.83,\"ask\":4.43,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_215864\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Geron - Corporation\",\"displayName\":\"Geron\",\"symbol\":\"GERN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-1.10092,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":55.24,\"fiftyTwoWeekLow\":35.29,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Freeport-McMoRan, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":43.75,\"averageDailyVolume3Month\":11313121,\"averageDailyVolume10Day\":11700930,\"fiftyTwoWeekLowChange\":7.829998,\"fiftyTwoWeekLowChangePercent\":0.22187582,\"fiftyTwoWeekRange\":\"35.29 - - 55.24\",\"fiftyTwoWeekHighChange\":-12.120003,\"fiftyTwoWeekHighChangePercent\":-0.21940628,\"fiftyTwoWeekChangePercent\":21.32808,\"dividendDate\":1730419200,\"earningsTimestamp\":1729598403,\"earningsTimestampStart\":1737552600,\"earningsTimestampEnd\":1737984600,\"earningsCallTimestampStart\":1729605600,\"earningsCallTimestampEnd\":1729605600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.6,\"trailingPE\":31.474451,\"dividendRate\":0.6,\"trailingAnnualDividendYield\":0.013761469,\"dividendYield\":1.38,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.37,\"epsForward\":2.16,\"epsCurrentYear\":1.52,\"priceEpsCurrentYear\":28.368422,\"sharesOutstanding\":1436860032,\"bookValue\":12.212,\"fiftyDayAverage\":46.5382,\"fiftyDayAverageChange\":-3.4182014,\"fiftyDayAverageChangePercent\":-0.073449366,\"twoHundredDayAverage\":46.2197,\"twoHundredDayAverageChange\":-3.099701,\"twoHundredDayAverageChangePercent\":-0.067064494,\"marketCap\":62649913344,\"forwardPE\":19.962961,\"priceToBook\":3.5309532,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":805383000000,\"priceHint\":2,\"postMarketChangePercent\":0.115953706,\"postMarketTime\":1731545451,\"postMarketPrice\":43.17,\"postMarketChange\":0.049999237,\"regularMarketChange\":-0.48,\"regularMarketTime\":1731531637,\"regularMarketPrice\":43.12,\"regularMarketDayHigh\":43.872,\"regularMarketDayRange\":\"43.09 - - 43.872\",\"regularMarketDayLow\":43.09,\"regularMarketVolume\":11929114,\"regularMarketPreviousClose\":43.6,\"bid\":43.1,\"ask\":43.48,\"bidSize\":10,\"askSize\":12,\"market\":\"us_market\",\"messageBoardId\":\"finmb_273607\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Freeport-McMoRan - Inc.\",\"displayName\":\"Freeport-McMoRan\",\"symbol\":\"FCX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-0.689654,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":4.08,\"fiftyTwoWeekLow\":2.78,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Baytex Energy Corp\",\"financialCurrency\":\"CAD\",\"regularMarketOpen\":2.9,\"averageDailyVolume3Month\":11394601,\"averageDailyVolume10Day\":12492340,\"fiftyTwoWeekLowChange\":0.10000014,\"fiftyTwoWeekLowChangePercent\":0.035971276,\"fiftyTwoWeekRange\":\"2.78 - - 4.08\",\"fiftyTwoWeekHighChange\":-1.1999998,\"fiftyTwoWeekHighChangePercent\":-0.2941176,\"fiftyTwoWeekChangePercent\":-23.607428,\"dividendDate\":1735776000,\"earningsTimestamp\":1730408700,\"earningsTimestampStart\":1730408700,\"earningsTimestampEnd\":1730408700,\"earningsCallTimestampStart\":1730473200,\"earningsCallTimestampEnd\":1730473200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.09,\"dividendRate\":0.06,\"trailingAnnualDividendYield\":0.031034483,\"dividendYield\":2.23,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.41,\"epsForward\":0.32,\"epsCurrentYear\":0.32,\"priceEpsCurrentYear\":9.000001,\"sharesOutstanding\":787328000,\"bookValue\":5.054,\"fiftyDayAverage\":3.0394,\"fiftyDayAverageChange\":-0.15939999,\"fiftyDayAverageChangePercent\":-0.052444555,\"twoHundredDayAverage\":3.3728,\"twoHundredDayAverageChange\":-0.4928,\"twoHundredDayAverageChangePercent\":-0.14611006,\"marketCap\":2274356224,\"forwardPE\":9.000001,\"priceToBook\":0.5698457,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1144071000000,\"priceHint\":4,\"postMarketChangePercent\":-0.06746914,\"postMarketTime\":1731539163,\"postMarketPrice\":2.878057,\"postMarketChange\":-0.0019431114,\"regularMarketChange\":-0.02,\"regularMarketTime\":1731531602,\"regularMarketPrice\":2.88,\"regularMarketDayHigh\":2.92,\"regularMarketDayRange\":\"2.8 - - 2.92\",\"regularMarketDayLow\":2.8,\"regularMarketVolume\":11814282,\"regularMarketPreviousClose\":2.9,\"bid\":2.85,\"ask\":2.89,\"bidSize\":460,\"askSize\":385,\"market\":\"us_market\",\"messageBoardId\":\"finmb_879180\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Baytex - Energy Corp.\",\"symbol\":\"BTE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":-0.50083,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":22.97,\"fiftyTwoWeekLow\":10.21,\"averageAnalystRating\":\"2.9 - - Hold\",\"shortName\":\"Cleveland-Cliffs Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":11.91,\"averageDailyVolume3Month\":13490028,\"averageDailyVolume10Day\":19810410,\"fiftyTwoWeekLowChange\":1.71,\"fiftyTwoWeekLowChangePercent\":0.16748287,\"fiftyTwoWeekRange\":\"10.21 - - 22.97\",\"fiftyTwoWeekHighChange\":-11.049999,\"fiftyTwoWeekHighChangePercent\":-0.48106223,\"fiftyTwoWeekChangePercent\":-30.046946,\"dividendDate\":1586908800,\"earningsTimestamp\":1730754300,\"earningsTimestampStart\":1738011600,\"earningsTimestampEnd\":1738357200,\"earningsCallTimestampStart\":1730813400,\"earningsCallTimestampEnd\":1730813400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.94,\"epsForward\":0.39,\"epsCurrentYear\":-0.51,\"priceEpsCurrentYear\":-23.37255,\"sharesOutstanding\":493944000,\"bookValue\":14.643,\"fiftyDayAverage\":12.61,\"fiftyDayAverageChange\":-0.6899996,\"fiftyDayAverageChangePercent\":-0.054718446,\"twoHundredDayAverage\":16.2556,\"twoHundredDayAverageChange\":-4.3356,\"twoHundredDayAverageChangePercent\":-0.26671425,\"marketCap\":5887812608,\"forwardPE\":30.564104,\"priceToBook\":0.81404084,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":99153000000,\"priceHint\":2,\"postMarketChangePercent\":0.16778107,\"postMarketTime\":1731546000,\"postMarketPrice\":11.94,\"postMarketChange\":0.019999504,\"regularMarketChange\":-0.0599995,\"regularMarketTime\":1731531602,\"regularMarketPrice\":11.92,\"regularMarketDayHigh\":12.03,\"regularMarketDayRange\":\"11.75 - - 12.03\",\"regularMarketDayLow\":11.75,\"regularMarketVolume\":11720304,\"regularMarketPreviousClose\":11.98,\"bid\":11.93,\"ask\":12.0,\"bidSize\":29,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_261738\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Cleveland-Cliffs - Inc.\",\"displayName\":\"Cleveland-Cliffs\",\"symbol\":\"CLF\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketChangePercent\":1.26394,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":22.21,\"fiftyTwoWeekLow\":13.27,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"The AES Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":13.63,\"averageDailyVolume3Month\":9988437,\"averageDailyVolume10Day\":19973700,\"fiftyTwoWeekLowChange\":0.34999943,\"fiftyTwoWeekLowChangePercent\":0.026375238,\"fiftyTwoWeekRange\":\"13.27 - - 22.21\",\"fiftyTwoWeekHighChange\":-8.589999,\"fiftyTwoWeekHighChangePercent\":-0.3867627,\"fiftyTwoWeekChangePercent\":-19.455946,\"dividendDate\":1731628800,\"earningsTimestamp\":1730406844,\"earningsTimestampStart\":1730406844,\"earningsTimestampEnd\":1730406844,\"earningsCallTimestampStart\":1730466000,\"earningsCallTimestampEnd\":1730466000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.69,\"trailingPE\":9.458333,\"dividendRate\":0.69,\"trailingAnnualDividendYield\":0.051301114,\"dividendYield\":5.13,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.44,\"epsForward\":2.03,\"epsCurrentYear\":1.93,\"priceEpsCurrentYear\":7.056995,\"sharesOutstanding\":711027008,\"bookValue\":4.627,\"fiftyDayAverage\":17.3542,\"fiftyDayAverageChange\":-3.7342005,\"fiftyDayAverageChangePercent\":-0.2151756,\"twoHundredDayAverage\":17.63155,\"twoHundredDayAverageChange\":-4.01155,\"twoHundredDayAverageChangePercent\":-0.22752112,\"marketCap\":9684188160,\"forwardPE\":6.7093596,\"priceToBook\":2.943592,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":677943000000,\"priceHint\":2,\"postMarketChangePercent\":0.58737093,\"postMarketTime\":1731546000,\"postMarketPrice\":13.7,\"postMarketChange\":0.07999992,\"regularMarketChange\":0.17,\"regularMarketTime\":1731531602,\"regularMarketPrice\":13.62,\"regularMarketDayHigh\":13.65,\"regularMarketDayRange\":\"13.38 - - 13.65\",\"regularMarketDayLow\":13.38,\"regularMarketVolume\":11705206,\"regularMarketPreviousClose\":13.45,\"bid\":13.53,\"ask\":13.72,\"bidSize\":8,\"askSize\":40,\"market\":\"us_market\",\"messageBoardId\":\"finmb_35312\",\"fullExchangeName\":\"NYSE\",\"longName\":\"The - AES Corporation\",\"displayName\":\"The AES\",\"symbol\":\"AES\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketChangePercent\":-0.56688476,\"currency\":\"USD\",\"fiftyTwoWeekHigh\":17.97,\"fiftyTwoWeekLow\":10.73,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Huntington Bancshares Incorpora\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":17.7,\"averageDailyVolume3Month\":13281467,\"averageDailyVolume10Day\":17481010,\"fiftyTwoWeekLowChange\":6.8100014,\"fiftyTwoWeekLowChangePercent\":0.6346693,\"fiftyTwoWeekRange\":\"10.73 - - 17.97\",\"fiftyTwoWeekHighChange\":-0.4299984,\"fiftyTwoWeekHighChangePercent\":-0.023928681,\"fiftyTwoWeekChangePercent\":60.76994,\"dividendDate\":1735776000,\"earningsTimestamp\":1737120600,\"earningsTimestampStart\":1737120600,\"earningsTimestampEnd\":1737120600,\"earningsCallTimestampStart\":1737122400,\"earningsCallTimestampEnd\":1737122400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.62,\"trailingPE\":17.029127,\"dividendRate\":0.62,\"trailingAnnualDividendYield\":0.035147395,\"dividendYield\":3.51,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.03,\"epsForward\":1.34,\"epsCurrentYear\":1.19,\"priceEpsCurrentYear\":14.739496,\"sharesOutstanding\":1452809984,\"bookValue\":12.536,\"fiftyDayAverage\":15.259,\"fiftyDayAverageChange\":2.281001,\"fiftyDayAverageChangePercent\":0.14948562,\"twoHundredDayAverage\":13.9557,\"twoHundredDayAverageChange\":3.584301,\"twoHundredDayAverageChangePercent\":0.2568342,\"marketCap\":25482289152,\"forwardPE\":13.089553,\"priceToBook\":1.3991704,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":0.512537,\"postMarketTime\":1731545959,\"postMarketPrice\":17.6299,\"postMarketChange\":0.0898991,\"regularMarketChange\":-0.099998474,\"regularMarketTime\":1731531601,\"regularMarketPrice\":17.54,\"regularMarketDayHigh\":17.97,\"regularMarketDayRange\":\"17.52 - - 17.97\",\"regularMarketDayLow\":17.52,\"regularMarketVolume\":12751362,\"regularMarketPreviousClose\":17.64,\"bid\":16.79,\"ask\":17.61,\"bidSize\":1,\"askSize\":50,\"market\":\"us_market\",\"messageBoardId\":\"finmb_278614\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Huntington - Bancshares Incorporated\",\"symbol\":\"HBAN\"}],\"useRecords\":false}],\"error\":null}}" + string: xbV0f0TLaim + headers: + Age: + - '0' + Connection: + - keep-alive + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=31536000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - private, max-age=60, stale-while-revalidate=30 + content-length: + - '11' + content-type: + - text/plain;charset=utf-8 + date: + - Mon, 20 Jan 2025 22:28:24 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-external-services-api--mtls-canary-production-gq1.finance-k8s:4080/* + x-envoy-upstream-service-time: + - '1' + y-rid: + - 0p2hi3djotjg8 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate, br, zstd + Connection: + - keep-alive + Cookie: + - MOCK_COOKIE + method: GET + uri: https://query2.finance.yahoo.com/v1/finance/screener/predefined/saved?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&defaults=offset&defaults=size&defaults=sortAsc&defaults=sortField&defaults=userId&defaults=userIdType&formatted=false&lang=en-US&offset=0®ion=US&scrIds=most_actives&size=250 + response: + body: + string: '{"finance":{"result":[{"id":"437465ef-980e-4d8c-a860-de7cbfbab373","title":"Most + Actives","description":"Discover the most traded equities in the trading day.","canonicalName":"MOST_ACTIVES","criteriaMeta":{"size":25,"offset":0,"sortField":"dayvolume","sortType":"DESC","quoteType":"EQUITY","criteria":[{"field":"region","subField":null,"operators":["EQ"],"values":[],"labelsSelected":[53],"dependentValues":[]},{"field":"intradaymarketcap","subField":null,"operators":["EQ"],"values":[],"labelsSelected":[1,2,3],"dependentValues":[]},{"field":"dayvolume","subField":null,"operators":["GT"],"values":[5000000],"labelsSelected":[],"dependentValues":[]}],"topOperator":"AND"},"rawCriteria":"{\"offset\":0,\"size\":25,\"sortField\":\"dayvolume\",\"sortType\":\"DESC\",\"quoteType\":\"EQUITY\",\"query\":{\"operator\":\"AND\",\"operands\":[{\"operator\":\"eq\",\"operands\":[\"region\",\"us\"]},{\"operator\":\"or\",\"operands\":[{\"operator\":\"BTWN\",\"operands\":[\"intradaymarketcap\",2000000000,10000000000]},{\"operator\":\"BTWN\",\"operands\":[\"intradaymarketcap\",10000000000,100000000000]},{\"operator\":\"GT\",\"operands\":[\"intradaymarketcap\",100000000000]}]},{\"operator\":\"gt\",\"operands\":[\"dayvolume\",5000000]}]}}","start":0,"count":25,"total":290,"quotes":[{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastClosePriceToNNWCPerShare":128.1050106643148,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":153.13,"fiftyTwoWeekLow":58.585,"averageAnalystRating":"1.3 + - Strong Buy","regularMarketChangePercent":3.0994978,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":917015400000,"priceHint":2,"postMarketChangePercent":-0.0573742,"postMarketTime":1737161998,"postMarketPrice":137.631,"postMarketChange":-0.07901,"regularMarketChange":4.1399994,"regularMarketTime":1737147600,"regularMarketPrice":137.71,"regularMarketDayHigh":138.5,"regularMarketDayRange":"135.47 + - 138.5","regularMarketDayLow":135.47,"regularMarketVolume":201188760,"regularMarketPreviousClose":133.57,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_32307","fullExchangeName":"NasdaqGS","longName":"NVIDIA + Corporation","financialCurrency":"USD","regularMarketOpen":136.21,"averageDailyVolume3Month":213014227,"averageDailyVolume10Day":227677910,"corporateActions":[],"fiftyTwoWeekLowChange":79.12501,"fiftyTwoWeekLowChangePercent":1.3506018,"fiftyTwoWeekRange":"58.585 + - 153.13","fiftyTwoWeekHighChange":-15.419998,"fiftyTwoWeekHighChangePercent":-0.10069874,"fiftyTwoWeekChangePercent":130.84789,"dividendDate":1735257600,"earningsTimestamp":1740603600,"earningsTimestampStart":1740603600,"earningsTimestampEnd":1740603600,"earningsCallTimestampStart":1732140000,"earningsCallTimestampEnd":1732140000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":54.430832,"dividendRate":0.04,"trailingAnnualDividendYield":0.0,"dividendYield":0.03,"marketState":"CLOSED","epsTrailingTwelveMonths":2.53,"epsForward":4.12,"epsCurrentYear":2.95233,"priceEpsCurrentYear":46.644516,"sharesOutstanding":24490000384,"bookValue":1.744,"fiftyDayAverage":139.6254,"fiftyDayAverageChange":-1.91539,"fiftyDayAverageChangePercent":-0.013718063,"twoHundredDayAverage":120.45889,"twoHundredDayAverageChange":17.251114,"twoHundredDayAverageChangePercent":0.14321163,"marketCap":3372518211584,"forwardPE":33.42476,"priceToBook":78.96216,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Usual + Stablecoin","nameChangeDate":"2025-01-20","shortName":"NVIDIA Corporation","displayName":"NVIDIA","symbol":"NVDA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":-171.193498,"lastClosePriceToNNWCPerShare":-1.5496658817873963,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":50.3,"fiftyTwoWeekLow":18.51,"averageAnalystRating":"3.0 + - Hold","regularMarketChangePercent":9.252667,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":322151400000,"priceHint":2,"postMarketChangePercent":3.02466,"postMarketTime":1737161999,"postMarketPrice":22.14,"postMarketChange":0.65,"regularMarketChange":1.8199997,"regularMarketTime":1737147600,"regularMarketPrice":21.49,"regularMarketDayHigh":21.62,"regularMarketDayRange":"20.79 + - 21.62","regularMarketDayLow":20.79,"regularMarketVolume":166483914,"regularMarketPreviousClose":19.67,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_21127","fullExchangeName":"NasdaqGS","longName":"Intel + Corporation","financialCurrency":"USD","regularMarketOpen":21.26,"averageDailyVolume3Month":71669181,"averageDailyVolume10Day":67623900,"corporateActions":[],"fiftyTwoWeekLowChange":2.9799995,"fiftyTwoWeekLowChangePercent":0.16099404,"fiftyTwoWeekRange":"18.51 + - 50.3","fiftyTwoWeekHighChange":-28.81,"fiftyTwoWeekHighChangePercent":-0.57276344,"fiftyTwoWeekChangePercent":-55.43343,"dividendDate":1725148800,"earningsTimestamp":1738281600,"earningsTimestampStart":1738281600,"earningsTimestampEnd":1738281600,"earningsCallTimestampStart":1738274400,"earningsCallTimestampEnd":1738274400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.495,"dividendRate":0.5,"trailingAnnualDividendYield":0.025165226,"dividendYield":2.24,"marketState":"CLOSED","epsTrailingTwelveMonths":-3.74,"epsForward":0.97,"epsCurrentYear":-0.1467,"priceEpsCurrentYear":-146.48944,"sharesOutstanding":4312999936,"bookValue":23.099,"fiftyDayAverage":21.8908,"fiftyDayAverageChange":-0.4008007,"fiftyDayAverageChangePercent":-0.018309094,"twoHundredDayAverage":26.1791,"twoHundredDayAverageChange":-4.6891003,"twoHundredDayAverageChangePercent":-0.17911617,"marketCap":92686368768,"forwardPE":22.154638,"priceToBook":0.9303433,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Intel + Corporation","displayName":"Intel","symbol":"INTC"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-3.820312,"lastClosePriceToNNWCPerShare":49.99928987009621,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NCM","fiftyTwoWeekHigh":21.42,"fiftyTwoWeekLow":0.66,"averageAnalystRating":"1.2 + - Strong Buy","regularMarketChangePercent":-12.544483,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1619098200000,"priceHint":2,"postMarketChangePercent":1.32248,"postMarketTime":1737161996,"postMarketPrice":9.96,"postMarketChange":0.13,"regularMarketChange":-1.4099998,"regularMarketTime":1737147601,"regularMarketPrice":9.83,"regularMarketDayHigh":11.16,"regularMarketDayRange":"9.77 + - 11.16","regularMarketDayLow":9.77,"regularMarketVolume":155069687,"regularMarketPreviousClose":11.24,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_270093415","fullExchangeName":"NasdaqCM","longName":"Rigetti + Computing, Inc.","financialCurrency":"USD","regularMarketOpen":10.53,"averageDailyVolume3Month":117215037,"averageDailyVolume10Day":222531440,"corporateActions":[],"fiftyTwoWeekLowChange":9.17,"fiftyTwoWeekLowChangePercent":13.893939,"fiftyTwoWeekRange":"0.66 + - 21.42","fiftyTwoWeekHighChange":-11.59,"fiftyTwoWeekHighChangePercent":-0.5410831,"fiftyTwoWeekChangePercent":793.63635,"earningsTimestamp":1731411049,"earningsTimestampStart":1741809600,"earningsTimestampEnd":1742241600,"earningsCallTimestampStart":1731418200,"earningsCallTimestampEnd":1731418200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.37,"epsForward":-0.33,"epsCurrentYear":-0.29,"priceEpsCurrentYear":-33.896553,"sharesOutstanding":280048992,"bookValue":0.64,"fiftyDayAverage":7.1178,"fiftyDayAverageChange":2.7121997,"fiftyDayAverageChangePercent":0.38104466,"twoHundredDayAverage":2.55015,"twoHundredDayAverageChange":7.27985,"twoHundredDayAverageChangePercent":2.8546753,"marketCap":2752881664,"forwardPE":-29.787878,"priceToBook":15.359375,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2022-03-02","shortName":"Rigetti + Computing, Inc.","displayName":"Rigetti Computing","symbol":"RGTI"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-2.33905,"lastClosePriceToNNWCPerShare":-2.3192124725897925,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NCM","fiftyTwoWeekHigh":5.14,"fiftyTwoWeekLow":1.6,"averageAnalystRating":"2.8 + - Hold","regularMarketChangePercent":-10.948903,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":941203800000,"priceHint":4,"postMarketChangePercent":-0.409836,"postMarketTime":1737161997,"postMarketPrice":2.43,"postMarketChange":-0.00999999,"regularMarketChange":-0.29999995,"regularMarketTime":1737147600,"regularMarketPrice":2.44,"regularMarketDayHigh":2.7688,"regularMarketDayRange":"2.4 + - 2.7688","regularMarketDayLow":2.4,"regularMarketVolume":95901809,"regularMarketPreviousClose":2.74,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_405483","fullExchangeName":"NasdaqCM","longName":"Plug + Power Inc.","financialCurrency":"USD","regularMarketOpen":2.72,"averageDailyVolume3Month":65549049,"averageDailyVolume10Day":85151250,"corporateActions":[],"fiftyTwoWeekLowChange":0.84000003,"fiftyTwoWeekLowChangePercent":0.52500004,"fiftyTwoWeekRange":"1.6 + - 5.14","fiftyTwoWeekHighChange":-2.6999998,"fiftyTwoWeekHighChangePercent":-0.5252918,"fiftyTwoWeekChangePercent":-14.084506,"earningsTimestamp":1731412800,"earningsTimestampStart":1740663000,"earningsTimestampEnd":1741008600,"earningsCallTimestampStart":1731418200,"earningsCallTimestampEnd":1731418200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-2.11,"epsForward":-0.57,"epsCurrentYear":-1.15916,"priceEpsCurrentYear":-2.1049726,"sharesOutstanding":911196992,"bookValue":3.441,"fiftyDayAverage":2.3248,"fiftyDayAverageChange":0.11520004,"fiftyDayAverageChangePercent":0.049552668,"twoHundredDayAverage":2.4339,"twoHundredDayAverageChange":0.0060999393,"twoHundredDayAverageChangePercent":0.0025062407,"marketCap":2223320832,"forwardPE":-4.280702,"priceToBook":0.7090962,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Plug + Power, Inc.","displayName":"Plug Power","symbol":"PLUG"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":127.764631,"lastClosePriceToNNWCPerShare":-258.74949524192215,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":488.54,"fiftyTwoWeekLow":138.8,"averageAnalystRating":"2.7 + - Hold","regularMarketChangePercent":3.0641322,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1277818200000,"priceHint":2,"postMarketChangePercent":0.480682,"postMarketTime":1737161999,"postMarketPrice":428.55,"postMarketChange":2.05011,"regularMarketChange":12.679993,"regularMarketTime":1737147600,"regularMarketPrice":426.5,"regularMarketDayHigh":439.74,"regularMarketDayRange":"419.7701 + - 439.74","regularMarketDayLow":419.7701,"regularMarketVolume":94991429,"regularMarketPreviousClose":413.82,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_27444752","fullExchangeName":"NasdaqGS","longName":"Tesla, + Inc.","financialCurrency":"USD","regularMarketOpen":421.72,"averageDailyVolume3Month":94093459,"averageDailyVolume10Day":78832580,"corporateActions":[],"fiftyTwoWeekLowChange":287.7,"fiftyTwoWeekLowChangePercent":2.0727665,"fiftyTwoWeekRange":"138.8 + - 488.54","fiftyTwoWeekHighChange":-62.04001,"fiftyTwoWeekHighChangePercent":-0.12699065,"fiftyTwoWeekChangePercent":104.26245,"earningsTimestamp":1738184400,"earningsTimestampStart":1738184400,"earningsTimestampEnd":1738184400,"earningsCallTimestampStart":1738189800,"earningsCallTimestampEnd":1738189800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":116.21253,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":3.67,"epsForward":3.24,"epsCurrentYear":2.4776,"priceEpsCurrentYear":172.1424,"sharesOutstanding":3210060032,"bookValue":21.806,"fiftyDayAverage":381.2156,"fiftyDayAverageChange":45.284393,"fiftyDayAverageChangePercent":0.11878945,"twoHundredDayAverage":251.5414,"twoHundredDayAverageChange":174.9586,"twoHundredDayAverageChangePercent":0.695546,"marketCap":1369090555904,"forwardPE":131.6358,"priceToBook":19.558838,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Tesla, + Inc.","displayName":"Tesla","symbol":"TSLA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-157.499369,"lastClosePriceToNNWCPerShare":-11.126161920638765,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NCM","fiftyTwoWeekHigh":34.09,"fiftyTwoWeekLow":13.17,"averageAnalystRating":"2.4 + - Buy","regularMarketChangePercent":8.797817,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1336138200000,"priceHint":2,"postMarketChangePercent":0.900554,"postMarketTime":1737161998,"postMarketPrice":20.0893,"postMarketChange":0.1793,"regularMarketChange":1.6100006,"regularMarketTime":1737147601,"regularMarketPrice":19.91,"regularMarketDayHigh":20.98,"regularMarketDayRange":"18.96 + - 20.98","regularMarketDayLow":18.96,"regularMarketVolume":88413255,"regularMarketPreviousClose":18.3,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_158387416","fullExchangeName":"NasdaqCM","longName":"MARA + Holdings, Inc.","financialCurrency":"USD","regularMarketOpen":19.2525,"averageDailyVolume3Month":60402744,"averageDailyVolume10Day":40443580,"corporateActions":[],"fiftyTwoWeekLowChange":6.74,"fiftyTwoWeekLowChangePercent":0.5117692,"fiftyTwoWeekRange":"13.17 + - 34.09","fiftyTwoWeekHighChange":-14.18,"fiftyTwoWeekHighChangePercent":-0.41595778,"fiftyTwoWeekChangePercent":19.867552,"dividendDate":1554681600,"earningsTimestamp":1731445501,"earningsTimestampStart":1740567540,"earningsTimestampEnd":1741003200,"earningsCallTimestampStart":1731448800,"earningsCallTimestampEnd":1731448800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":23.987951,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":0.83,"epsForward":0.04,"epsCurrentYear":0.26,"priceEpsCurrentYear":76.57693,"sharesOutstanding":339382016,"bookValue":9.365,"fiftyDayAverage":21.4706,"fiftyDayAverageChange":-1.5606003,"fiftyDayAverageChangePercent":-0.07268545,"twoHundredDayAverage":19.06775,"twoHundredDayAverageChange":0.8422489,"twoHundredDayAverageChangePercent":0.04417138,"marketCap":6757095936,"forwardPE":497.75,"priceToBook":2.1260011,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Marathon + Patent Group, Inc.","nameChangeDate":"2025-01-20","shortName":"MARA Holdings, + Inc.","displayName":"MARA","symbol":"MARA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":27.312062,"lastClosePriceToNNWCPerShare":-16.028058828552176,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":260.1,"fiftyTwoWeekLow":164.08,"averageAnalystRating":"1.9 + - Buy","regularMarketChangePercent":0.7535272,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":345479400000,"priceHint":2,"postMarketChangePercent":-0.20915,"postMarketTime":1737161996,"postMarketPrice":229.499,"postMarketChange":-0.481003,"regularMarketChange":1.7200012,"regularMarketTime":1737147601,"regularMarketPrice":229.98,"regularMarketDayHigh":232.29,"regularMarketDayRange":"228.48 + - 232.29","regularMarketDayLow":228.48,"regularMarketVolume":68488301,"regularMarketPreviousClose":228.26,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_24937","fullExchangeName":"NasdaqGS","longName":"Apple + Inc.","financialCurrency":"USD","regularMarketOpen":232.115,"averageDailyVolume3Month":45900529,"averageDailyVolume10Day":49438970,"corporateActions":[],"fiftyTwoWeekLowChange":65.899994,"fiftyTwoWeekLowChangePercent":0.40163332,"fiftyTwoWeekRange":"164.08 + - 260.1","fiftyTwoWeekHighChange":-30.12001,"fiftyTwoWeekHighChangePercent":-0.115801655,"fiftyTwoWeekChangePercent":18.613647,"dividendDate":1731542400,"earningsTimestamp":1738270800,"earningsTimestampStart":1738270800,"earningsTimestampEnd":1738270800,"earningsCallTimestampStart":1738274400,"earningsCallTimestampEnd":1738274400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.98,"trailingPE":37.88797,"dividendRate":1.0,"trailingAnnualDividendYield":0.00429335,"dividendYield":0.43,"marketState":"CLOSED","epsTrailingTwelveMonths":6.07,"epsForward":8.31,"epsCurrentYear":7.39236,"priceEpsCurrentYear":31.110497,"sharesOutstanding":15037899776,"bookValue":3.767,"fiftyDayAverage":239.2966,"fiftyDayAverageChange":-9.316605,"fiftyDayAverageChangePercent":-0.038933292,"twoHundredDayAverage":217.01566,"twoHundredDayAverageChange":12.96434,"twoHundredDayAverageChangePercent":0.059739195,"marketCap":3458416246784,"forwardPE":27.675089,"priceToBook":61.051235,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Apple + Inc.","displayName":"Apple","symbol":"AAPL"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":-2.182403,"lastClosePriceToNNWCPerShare":-4.728184676066894,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":4.43,"fiftyTwoWeekLow":1.93,"averageAnalystRating":"3.3 + - Hold","regularMarketChangePercent":-0.32467502,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1600435800000,"priceHint":4,"postMarketChangePercent":0.0,"postMarketTime":1737161995,"postMarketPrice":3.07,"postMarketChange":0.0,"regularMarketChange":-0.00999999,"regularMarketTime":1737147601,"regularMarketPrice":3.07,"regularMarketDayHigh":3.23,"regularMarketDayRange":"3.06 + - 3.23","regularMarketDayLow":3.06,"regularMarketVolume":66992366,"regularMarketPreviousClose":3.08,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_83747444","fullExchangeName":"NasdaqGS","longName":"Lucid + Group, Inc.","financialCurrency":"USD","regularMarketOpen":3.13,"averageDailyVolume3Month":83738373,"averageDailyVolume10Day":83574960,"corporateActions":[],"fiftyTwoWeekLowChange":1.14,"fiftyTwoWeekLowChangePercent":0.59067357,"fiftyTwoWeekRange":"1.93 + - 4.43","fiftyTwoWeekHighChange":-1.3599999,"fiftyTwoWeekHighChangePercent":-0.30699772,"fiftyTwoWeekChangePercent":8.48056,"earningsTimestamp":1740517200,"earningsTimestampStart":1740517200,"earningsTimestampEnd":1740517200,"earningsCallTimestampStart":1740522600,"earningsCallTimestampEnd":1740522600,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-1.33,"epsForward":-0.88,"epsCurrentYear":-1.10667,"priceEpsCurrentYear":-2.774088,"sharesOutstanding":3011689984,"bookValue":1.148,"fiftyDayAverage":2.5695,"fiftyDayAverageChange":0.50049996,"fiftyDayAverageChangePercent":0.19478497,"twoHundredDayAverage":2.930775,"twoHundredDayAverageChange":0.139225,"twoHundredDayAverageChangePercent":0.047504503,"marketCap":9245888512,"forwardPE":-3.4886363,"priceToBook":2.674216,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-07-26","shortName":"Lucid + Group, Inc.","displayName":"Lucid","symbol":"LCID"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":-2.065192,"lastClosePriceToNNWCPerShare":-116.41956662333219,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":18.855,"fiftyTwoWeekLow":8.26,"averageAnalystRating":"2.3 + - Buy","regularMarketChangePercent":-1.5927947,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1636554600000,"priceHint":2,"postMarketChangePercent":0.246304,"postMarketTime":1737161988,"postMarketPrice":14.245,"postMarketChange":0.0349998,"regularMarketChange":-0.22999954,"regularMarketTime":1737147601,"regularMarketPrice":14.21,"regularMarketDayHigh":15.34,"regularMarketDayRange":"14.19 + - 15.34","regularMarketDayLow":14.19,"regularMarketVolume":65183975,"regularMarketPreviousClose":14.44,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_144746614","fullExchangeName":"NasdaqGS","longName":"Rivian + Automotive, Inc.","financialCurrency":"USD","regularMarketOpen":14.65,"averageDailyVolume3Month":41015581,"averageDailyVolume10Day":46590580,"corporateActions":[],"fiftyTwoWeekLowChange":5.95,"fiftyTwoWeekLowChangePercent":0.72033894,"fiftyTwoWeekRange":"8.26 + - 18.855","fiftyTwoWeekHighChange":-4.6449995,"fiftyTwoWeekHighChangePercent":-0.24635373,"fiftyTwoWeekChangePercent":-11.353713,"earningsTimestamp":1740085200,"earningsTimestampStart":1740085200,"earningsTimestampEnd":1740085200,"earningsCallTimestampStart":1740088800,"earningsCallTimestampEnd":1740088800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-5.6,"epsForward":-2.74,"epsCurrentYear":-4.01587,"priceEpsCurrentYear":-3.538461,"sharesOutstanding":1012849984,"bookValue":5.778,"fiftyDayAverage":12.7051,"fiftyDayAverageChange":1.5049,"fiftyDayAverageChangePercent":0.118448496,"twoHundredDayAverage":12.2532,"twoHundredDayAverageChange":1.9568005,"twoHundredDayAverageChangePercent":0.1596971,"marketCap":14503720960,"forwardPE":-5.1861315,"priceToBook":2.4593287,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-11-10","shortName":"Rivian + Automotive, Inc.","displayName":"Rivian Automotive","symbol":"RIVN"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-23.853369,"lastClosePriceToNNWCPerShare":-127.05402661505221,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NGM","fiftyTwoWeekHigh":24.98,"fiftyTwoWeekLow":1.62,"averageAnalystRating":"1.7 + - Buy","regularMarketChangePercent":-2.362204,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1651152600000,"priceHint":2,"postMarketChangePercent":1.17302,"postMarketTime":1737161999,"postMarketPrice":13.8,"postMarketChange":0.16,"regularMarketChange":-0.32999992,"regularMarketTime":1737147600,"regularMarketPrice":13.64,"regularMarketDayHigh":15.35,"regularMarketDayRange":"13.61 + - 15.35","regularMarketDayLow":13.61,"regularMarketVolume":64830734,"regularMarketPreviousClose":13.97,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_28748353","fullExchangeName":"NasdaqGM","longName":"SoundHound + AI, Inc.","financialCurrency":"USD","regularMarketOpen":14.35,"averageDailyVolume3Month":69680998,"averageDailyVolume10Day":69577120,"corporateActions":[],"fiftyTwoWeekLowChange":12.02,"fiftyTwoWeekLowChangePercent":7.4197536,"fiftyTwoWeekRange":"1.62 + - 24.98","fiftyTwoWeekHighChange":-11.339999,"fiftyTwoWeekHighChangePercent":-0.45396316,"fiftyTwoWeekChangePercent":588.88885,"earningsTimestamp":1731445680,"earningsTimestampStart":1740567540,"earningsTimestampEnd":1741003200,"earningsCallTimestampStart":1731448800,"earningsCallTimestampEnd":1731448800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.35,"epsForward":-0.2,"epsCurrentYear":-0.24,"priceEpsCurrentYear":-56.833336,"sharesOutstanding":337015008,"bookValue":0.802,"fiftyDayAverage":13.2701,"fiftyDayAverageChange":0.3699007,"fiftyDayAverageChangePercent":0.02787475,"twoHundredDayAverage":6.909575,"twoHundredDayAverageChange":6.7304254,"twoHundredDayAverageChangePercent":0.9740723,"marketCap":5043390464,"forwardPE":-68.2,"priceToBook":17.007483,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"SoundHound + AI, Inc.","displayName":"SoundHound AI","symbol":"SOUN"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":44.352158,"lastClosePriceToNNWCPerShare":-0.266329600608146,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":14.85,"fiftyTwoWeekLow":9.49,"averageAnalystRating":"2.9 + - Hold","regularMarketChangePercent":1.6983,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":76253400000,"priceHint":2,"postMarketChangePercent":0.0982247,"postMarketTime":1737161997,"postMarketPrice":10.19,"postMarketChange":0.00999928,"regularMarketChange":0.17,"regularMarketTime":1737147602,"regularMarketPrice":10.18,"regularMarketDayHigh":10.21,"regularMarketDayRange":"10.04 + - 10.21","regularMarketDayLow":10.04,"regularMarketVolume":54352902,"regularMarketPreviousClose":10.01,"bid":10.18,"ask":10.19,"bidSize":400,"askSize":423,"market":"us_market","messageBoardId":"finmb_106335","fullExchangeName":"NYSE","longName":"Ford + Motor Company","financialCurrency":"USD","regularMarketOpen":10.08,"averageDailyVolume3Month":58951967,"averageDailyVolume10Day":62514470,"corporateActions":[],"fiftyTwoWeekLowChange":0.69000053,"fiftyTwoWeekLowChangePercent":0.072708175,"fiftyTwoWeekRange":"9.49 + - 14.85","fiftyTwoWeekHighChange":-4.67,"fiftyTwoWeekHighChangePercent":-0.3144781,"fiftyTwoWeekChangePercent":-9.107142,"dividendDate":1733097600,"earningsTimestamp":1738789200,"earningsTimestampStart":1738789200,"earningsTimestampEnd":1738789200,"earningsCallTimestampStart":1738792800,"earningsCallTimestampEnd":1738792800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.6,"trailingPE":11.568182,"dividendRate":0.6,"trailingAnnualDividendYield":0.059940062,"dividendYield":5.89,"marketState":"CLOSED","epsTrailingTwelveMonths":0.88,"epsForward":1.75,"epsCurrentYear":1.81783,"priceEpsCurrentYear":5.600084,"sharesOutstanding":3903439872,"bookValue":11.15,"fiftyDayAverage":10.4414,"fiftyDayAverageChange":-0.26139927,"fiftyDayAverageChangePercent":-0.025034888,"twoHundredDayAverage":11.37885,"twoHundredDayAverageChange":-1.1988497,"twoHundredDayAverageChangePercent":-0.10535772,"marketCap":40458272768,"forwardPE":5.817143,"priceToBook":0.9130045,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Ford + Motor Company","symbol":"F"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastClosePriceToNNWCPerShare":-0.01548087786532448,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":3.36,"fiftyTwoWeekLow":1.84,"averageAnalystRating":"2.2 + - Buy","regularMarketChangePercent":-1.0101,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1028295000000,"priceHint":4,"postMarketChangePercent":0.510204,"postMarketTime":1737161911,"postMarketPrice":1.97,"postMarketChange":0.00999999,"regularMarketChange":-0.02,"regularMarketTime":1737147602,"regularMarketPrice":1.96,"regularMarketDayHigh":1.99,"regularMarketDayRange":"1.93 + - 1.99","regularMarketDayLow":1.93,"regularMarketVolume":59915266,"regularMarketPreviousClose":1.98,"bid":1.9,"ask":1.97,"bidSize":270,"askSize":13,"market":"us_market","messageBoardId":"finmb_877263","fullExchangeName":"NYSE","longName":"Banco + Bradesco S.A.","financialCurrency":"BRL","regularMarketOpen":1.95,"averageDailyVolume3Month":35435742,"averageDailyVolume10Day":53730390,"corporateActions":[{"header":"Dividend","message":"BBD + announced a cash dividend of 0.003 with an ex-date of Feb. 5, 2025","meta":{"eventType":"DIVIDEND","dateEpochMs":1738731600000,"amount":"0.003"}}],"fiftyTwoWeekLowChange":0.120000005,"fiftyTwoWeekLowChangePercent":0.06521739,"fiftyTwoWeekRange":"1.84 + - 3.36","fiftyTwoWeekHighChange":-1.3999999,"fiftyTwoWeekHighChangePercent":-0.41666663,"fiftyTwoWeekChangePercent":-36.774193,"dividendDate":1741737600,"earningsTimestamp":1730374200,"earningsTimestampStart":1738789200,"earningsTimestampEnd":1739221200,"earningsCallTimestampStart":1730381400,"earningsCallTimestampEnd":1730381400,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":1.114,"trailingPE":9.333334,"dividendRate":0.04,"trailingAnnualDividendYield":0.56262624,"dividendYield":1.9,"marketState":"CLOSED","epsTrailingTwelveMonths":0.21,"epsForward":0.44,"epsCurrentYear":0.32545,"priceEpsCurrentYear":6.0224304,"sharesOutstanding":5290520064,"bookValue":15.755,"fiftyDayAverage":2.1062,"fiftyDayAverageChange":-0.14619994,"fiftyDayAverageChangePercent":-0.06941409,"twoHundredDayAverage":2.46185,"twoHundredDayAverageChange":-0.5018499,"twoHundredDayAverageChangePercent":-0.20385073,"marketCap":19835592704,"forwardPE":4.4545455,"priceToBook":0.12440495,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Banco + Bradesco Sa","displayName":"Banco Bradesco","symbol":"BBD"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":5.164054,"lastClosePriceToNNWCPerShare":-0.9405904706026806,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":14.47,"fiftyTwoWeekLow":8.38,"averageAnalystRating":"2.2 + - Buy","regularMarketChangePercent":1.93842,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1016721000000,"priceHint":2,"postMarketChangePercent":0.33557817,"postMarketTime":1737161992,"postMarketPrice":8.97,"postMarketChange":0.030000687,"regularMarketChange":0.169999,"regularMarketTime":1737147602,"regularMarketPrice":8.94,"regularMarketDayHigh":9.07,"regularMarketDayRange":"8.86 + - 9.07","regularMarketDayLow":8.86,"regularMarketVolume":59291760,"regularMarketPreviousClose":8.77,"bid":8.95,"ask":8.99,"bidSize":400,"askSize":407,"market":"us_market","messageBoardId":"finmb_874225","fullExchangeName":"NYSE","longName":"Vale + S.A.","financialCurrency":"BRL","regularMarketOpen":8.86,"averageDailyVolume3Month":31060014,"averageDailyVolume10Day":42067230,"corporateActions":[],"fiftyTwoWeekLowChange":0.55999947,"fiftyTwoWeekLowChangePercent":0.06682571,"fiftyTwoWeekRange":"8.38 + - 14.47","fiftyTwoWeekHighChange":-5.5300007,"fiftyTwoWeekHighChangePercent":-0.38217005,"fiftyTwoWeekChangePercent":-34.361233,"dividendDate":1726012800,"earningsTimestamp":1739991600,"earningsTimestampStart":1739991600,"earningsTimestampEnd":1739991600,"earningsCallTimestampStart":1740060000,"earningsCallTimestampEnd":1740060000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":2.739,"trailingPE":4.1388884,"dividendRate":1.48,"trailingAnnualDividendYield":0.3123147,"dividendYield":16.51,"marketState":"CLOSED","epsTrailingTwelveMonths":2.16,"epsForward":2.05,"epsCurrentYear":2.01031,"priceEpsCurrentYear":4.4470754,"sharesOutstanding":4268720128,"bookValue":48.853,"fiftyDayAverage":9.4524,"fiftyDayAverageChange":-0.5124006,"fiftyDayAverageChangePercent":-0.05420852,"twoHundredDayAverage":10.82975,"twoHundredDayAverageChange":-1.8897505,"twoHundredDayAverageChangePercent":-0.17449622,"marketCap":38162354176,"forwardPE":4.3609757,"priceToBook":0.18299796,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"VALE + S.A.","displayName":"Vale","symbol":"VALE"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-170.664261,"lastClosePriceToNNWCPerShare":-227.7582916278126,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NCM","fiftyTwoWeekHigh":9.3,"fiftyTwoWeekLow":1.29,"averageAnalystRating":"1.4 + - Strong Buy","regularMarketChangePercent":9.401712,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":765552600000,"priceHint":2,"postMarketChangePercent":-0.156254,"postMarketTime":1737161989,"postMarketPrice":6.39,"postMarketChange":-0.0100002,"regularMarketChange":0.5500002,"regularMarketTime":1737147600,"regularMarketPrice":6.4,"regularMarketDayHigh":6.66,"regularMarketDayRange":"6.05 + - 6.66","regularMarketDayLow":6.05,"regularMarketVolume":58295784,"regularMarketPreviousClose":5.85,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_1671971858","fullExchangeName":"NasdaqCM","longName":"TeraWulf + Inc.","financialCurrency":"USD","regularMarketOpen":6.205,"averageDailyVolume3Month":29941396,"averageDailyVolume10Day":36262260,"corporateActions":[],"fiftyTwoWeekLowChange":5.11,"fiftyTwoWeekLowChangePercent":3.9612405,"fiftyTwoWeekRange":"1.29 + - 9.3","fiftyTwoWeekHighChange":-2.9,"fiftyTwoWeekHighChangePercent":-0.31182796,"fiftyTwoWeekChangePercent":341.3793,"earningsTimestamp":1731445501,"earningsTimestampStart":1742328341,"earningsTimestampEnd":1742673941,"earningsCallTimestampStart":1731448800,"earningsCallTimestampEnd":1731448800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.16,"epsForward":0.1,"epsCurrentYear":-0.155,"priceEpsCurrentYear":-41.29032,"sharesOutstanding":385908000,"bookValue":0.95,"fiftyDayAverage":6.8774,"fiftyDayAverageChange":-0.47739983,"fiftyDayAverageChangePercent":-0.06941574,"twoHundredDayAverage":4.6645,"twoHundredDayAverageChange":1.7354999,"twoHundredDayAverageChangePercent":0.37206554,"marketCap":2469811200,"forwardPE":64.0,"priceToBook":6.736842,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"TeraWulf + Inc.","displayName":"TeraWulf","symbol":"WULF"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":367.13099,"lastClosePriceToNNWCPerShare":48.114253228840404,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":84.797,"fiftyTwoWeekLow":16.03,"averageAnalystRating":"3.3 + - Hold","regularMarketChangePercent":3.6539555,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1601472600000,"priceHint":2,"postMarketChangePercent":0.654871,"postMarketTime":1737161995,"postMarketPrice":72.24,"postMarketChange":0.470001,"regularMarketChange":2.5299988,"regularMarketTime":1737147601,"regularMarketPrice":71.77,"regularMarketDayHigh":72.34,"regularMarketDayRange":"69.95 + - 72.34","regularMarketDayLow":69.95,"regularMarketVolume":54753981,"regularMarketPreviousClose":69.24,"bid":0.0,"ask":0.0,"bidSize":11,"askSize":8,"market":"us_market","messageBoardId":"finmb_43580005","fullExchangeName":"NasdaqGS","longName":"Palantir + Technologies Inc.","financialCurrency":"USD","regularMarketOpen":70.8,"averageDailyVolume3Month":79006403,"averageDailyVolume10Day":72866110,"corporateActions":[],"fiftyTwoWeekLowChange":55.739998,"fiftyTwoWeekLowChangePercent":3.4772298,"fiftyTwoWeekRange":"16.03 + - 84.797","fiftyTwoWeekHighChange":-13.027,"fiftyTwoWeekHighChangePercent":-0.15362573,"fiftyTwoWeekChangePercent":307.7841,"earningsTimestamp":1738616400,"earningsTimestampStart":1738616400,"earningsTimestampEnd":1738616400,"earningsCallTimestampStart":1738620000,"earningsCallTimestampEnd":1738620000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":358.84998,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":0.2,"epsForward":0.47,"epsCurrentYear":0.38034,"priceEpsCurrentYear":188.69957,"sharesOutstanding":2180649984,"bookValue":1.982,"fiftyDayAverage":69.0566,"fiftyDayAverageChange":2.7133942,"fiftyDayAverageChangePercent":0.03929232,"twoHundredDayAverage":39.2078,"twoHundredDayAverageChange":32.562195,"twoHundredDayAverageChangePercent":0.8305029,"marketCap":163493494784,"forwardPE":152.70212,"priceToBook":36.210896,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2024-11-26","shortName":"Palantir + Technologies Inc.","displayName":"Palantir","symbol":"PLTR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastClosePriceToNNWCPerShare":-0.25880385839938697,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":7.71,"fiftyTwoWeekLow":3.61,"averageAnalystRating":"2.0 + - Buy","regularMarketChangePercent":4.8077,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1536759000000,"priceHint":4,"postMarketChangePercent":-0.00459339,"postMarketTime":1737161992,"postMarketPrice":4.3598,"postMarketChange":-2.00272E-4,"regularMarketChange":0.2,"regularMarketTime":1737147602,"regularMarketPrice":4.36,"regularMarketDayHigh":4.42,"regularMarketDayRange":"4.19 + - 4.42","regularMarketDayLow":4.19,"regularMarketVolume":49096688,"regularMarketPreviousClose":4.16,"bid":4.35,"ask":4.36,"bidSize":362,"askSize":362,"market":"us_market","messageBoardId":"finmb_311626862","fullExchangeName":"NYSE","longName":"NIO + Inc.","financialCurrency":"CNY","regularMarketOpen":4.21,"averageDailyVolume3Month":51320342,"averageDailyVolume10Day":42263310,"corporateActions":[],"fiftyTwoWeekLowChange":0.75000024,"fiftyTwoWeekLowChangePercent":0.20775631,"fiftyTwoWeekRange":"3.61 + - 7.71","fiftyTwoWeekHighChange":-3.35,"fiftyTwoWeekHighChangePercent":-0.43450063,"fiftyTwoWeekChangePercent":-27.0903,"dividendDate":1462147200,"earningsTimestamp":1732095055,"earningsTimestampStart":1741008600,"earningsTimestampEnd":1741354200,"earningsCallTimestampStart":1732104000,"earningsCallTimestampEnd":1732104000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-1.49,"epsForward":-0.85,"epsCurrentYear":-9.4196,"priceEpsCurrentYear":-0.4628647,"sharesOutstanding":1941929984,"bookValue":12.428,"fiftyDayAverage":4.5728,"fiftyDayAverageChange":-0.21280003,"fiftyDayAverageChangePercent":-0.046536043,"twoHundredDayAverage":4.7815,"twoHundredDayAverageChange":-0.42149973,"twoHundredDayAverageChangePercent":-0.0881522,"marketCap":8764036096,"forwardPE":-5.1294117,"priceToBook":0.35082072,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"NIO + Inc.","displayName":"NIO","symbol":"NIO"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-20.961395,"lastClosePriceToNNWCPerShare":-14.61219358956271,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":17.5,"fiftyTwoWeekLow":8.29,"averageAnalystRating":"2.7 + - Hold","regularMarketChangePercent":-3.20856,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1488465000000,"priceHint":2,"postMarketChangePercent":0.551568,"postMarketTime":1737161992,"postMarketPrice":10.9199,"postMarketChange":0.0599003,"regularMarketChange":-0.360001,"regularMarketTime":1737147602,"regularMarketPrice":10.86,"regularMarketDayHigh":11.52,"regularMarketDayRange":"10.8 + - 11.52","regularMarketDayLow":10.8,"regularMarketVolume":48018431,"regularMarketPreviousClose":11.22,"bid":10.91,"ask":10.92,"bidSize":32,"askSize":394,"market":"us_market","messageBoardId":"finmb_224055283","fullExchangeName":"NYSE","longName":"Snap + Inc.","financialCurrency":"USD","regularMarketOpen":11.36,"averageDailyVolume3Month":31139593,"averageDailyVolume10Day":34021700,"corporateActions":[],"fiftyTwoWeekLowChange":2.5699997,"fiftyTwoWeekLowChangePercent":0.310012,"fiftyTwoWeekRange":"8.29 + - 17.5","fiftyTwoWeekHighChange":-6.6400003,"fiftyTwoWeekHighChangePercent":-0.3794286,"fiftyTwoWeekChangePercent":-34.6177,"earningsTimestamp":1738702800,"earningsTimestampStart":1738702800,"earningsTimestampEnd":1738702800,"earningsCallTimestampStart":1738706400,"earningsCallTimestampEnd":1738706400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.58,"epsForward":0.41,"epsCurrentYear":0.26189,"priceEpsCurrentYear":41.467793,"sharesOutstanding":1423059968,"bookValue":1.322,"fiftyDayAverage":11.585,"fiftyDayAverageChange":-0.7250004,"fiftyDayAverageChangePercent":-0.06258096,"twoHundredDayAverage":12.3162,"twoHundredDayAverageChange":-1.4562006,"twoHundredDayAverageChangePercent":-0.11823457,"marketCap":18214500352,"forwardPE":26.487804,"priceToBook":8.214826,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Snap + Inc.","displayName":"Snap","symbol":"SNAP"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastClosePriceToNNWCPerShare":-0.17729332026568642,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":48.08,"fiftyTwoWeekLow":32.32,"averageAnalystRating":"1.8 + - Buy","regularMarketChangePercent":-0.23585,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":99153000000,"priceHint":2,"postMarketChangePercent":0.19342393,"postMarketTime":1737161971,"postMarketPrice":46.62,"postMarketChange":0.09000015,"regularMarketChange":-0.110001,"regularMarketTime":1737147602,"regularMarketPrice":46.53,"regularMarketDayHigh":46.88,"regularMarketDayRange":"46.08 + - 46.88","regularMarketDayLow":46.08,"regularMarketVolume":40112650,"regularMarketPreviousClose":46.64,"bid":46.6,"ask":46.65,"bidSize":14,"askSize":30,"market":"us_market","messageBoardId":"finmb_19049","fullExchangeName":"NYSE","longName":"Bank + of America Corporation","financialCurrency":"USD","regularMarketOpen":46.61,"averageDailyVolume3Month":34752729,"averageDailyVolume10Day":40460960,"corporateActions":[],"fiftyTwoWeekLowChange":14.209999,"fiftyTwoWeekLowChangePercent":0.43966582,"fiftyTwoWeekRange":"32.32 + - 48.08","fiftyTwoWeekHighChange":-1.550003,"fiftyTwoWeekHighChangePercent":-0.032238,"fiftyTwoWeekChangePercent":42.949306,"dividendDate":1735257600,"earningsTimestamp":1744720200,"earningsTimestampStart":1744720200,"earningsTimestampEnd":1744720200,"earningsCallTimestampStart":1744720200,"earningsCallTimestampEnd":1744720200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":14.495327,"dividendRate":1.04,"trailingAnnualDividendYield":0.0,"dividendYield":2.21,"marketState":"CLOSED","epsTrailingTwelveMonths":3.21,"epsForward":3.66,"epsCurrentYear":3.67653,"priceEpsCurrentYear":12.655955,"sharesOutstanding":7610860032,"bookValue":35.371,"fiftyDayAverage":45.678,"fiftyDayAverageChange":0.8519974,"fiftyDayAverageChangePercent":0.018652247,"twoHundredDayAverage":41.11665,"twoHundredDayAverageChange":5.413349,"twoHundredDayAverageChangePercent":0.13165833,"marketCap":354133311488,"forwardPE":12.713114,"priceToBook":1.3154844,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Bank + of America Corporation","displayName":"Bank of America","symbol":"BAC"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":38.364583,"lastClosePriceToNNWCPerShare":-13.558498688465708,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":233.0,"fiftyTwoWeekLow":151.61,"averageAnalystRating":"1.4 + - Strong Buy","regularMarketChangePercent":2.392821,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":863703000000,"priceHint":2,"postMarketChangePercent":0.20359,"postMarketTime":1737161998,"postMarketPrice":226.4,"postMarketChange":0.459991,"regularMarketChange":5.279999,"regularMarketTime":1737147601,"regularMarketPrice":225.94,"regularMarketDayHigh":226.45,"regularMarketDayRange":"223.08 + - 226.45","regularMarketDayLow":223.08,"regularMarketVolume":42370123,"regularMarketPreviousClose":220.66,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_18749","fullExchangeName":"NasdaqGS","longName":"Amazon.com, + Inc.","financialCurrency":"USD","regularMarketOpen":225.84,"averageDailyVolume3Month":37933177,"averageDailyVolume10Day":29942630,"corporateActions":[],"fiftyTwoWeekLowChange":74.33,"fiftyTwoWeekLowChangePercent":0.4902711,"fiftyTwoWeekRange":"151.61 + - 233.0","fiftyTwoWeekHighChange":-7.0599976,"fiftyTwoWeekHighChangePercent":-0.030300418,"fiftyTwoWeekChangePercent":45.974934,"earningsTimestamp":1730404860,"earningsTimestampStart":1738234740,"earningsTimestampEnd":1738584000,"earningsCallTimestampStart":1730408400,"earningsCallTimestampEnd":1730408400,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":48.27778,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":4.68,"epsForward":6.15,"epsCurrentYear":5.13762,"priceEpsCurrentYear":43.977562,"sharesOutstanding":10515000320,"bookValue":24.655,"fiftyDayAverage":216.8776,"fiftyDayAverageChange":9.062408,"fiftyDayAverageChangePercent":0.04178582,"twoHundredDayAverage":192.1185,"twoHundredDayAverageChange":33.821503,"twoHundredDayAverageChangePercent":0.176045,"marketCap":2375759167488,"forwardPE":36.738213,"priceToBook":9.164063,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Amazon.com, + Inc.","displayName":"Amazon.com","symbol":"AMZN"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastClosePriceToNNWCPerShare":-0.7282659796033989,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":17.19,"fiftyTwoWeekLow":6.01,"averageAnalystRating":"2.9 + - Hold","regularMarketChangePercent":1.2269986,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1609770600000,"priceHint":2,"postMarketChangePercent":0.484848,"postMarketTime":1737161989,"postMarketPrice":16.58,"postMarketChange":0.0799999,"regularMarketChange":0.20000076,"regularMarketTime":1737147600,"regularMarketPrice":16.5,"regularMarketDayHigh":16.73,"regularMarketDayRange":"16.19 + - 16.73","regularMarketDayLow":16.19,"regularMarketVolume":40496489,"regularMarketPreviousClose":16.3,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_141582707","fullExchangeName":"NasdaqGS","longName":"SoFi + Technologies, Inc.","financialCurrency":"USD","regularMarketOpen":16.42,"averageDailyVolume3Month":50894211,"averageDailyVolume10Day":36396910,"corporateActions":[],"fiftyTwoWeekLowChange":10.49,"fiftyTwoWeekLowChangePercent":1.7454242,"fiftyTwoWeekRange":"6.01 + - 17.19","fiftyTwoWeekHighChange":-0.69000053,"fiftyTwoWeekHighChangePercent":-0.040139645,"fiftyTwoWeekChangePercent":108.33333,"earningsTimestamp":1737984600,"earningsTimestampStart":1737984600,"earningsTimestampEnd":1737984600,"earningsCallTimestampStart":1737982800,"earningsCallTimestampEnd":1737982800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":137.5,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":0.12,"epsForward":0.29,"epsCurrentYear":0.11667,"priceEpsCurrentYear":141.42453,"sharesOutstanding":1085149952,"bookValue":5.646,"fiftyDayAverage":15.037,"fiftyDayAverageChange":1.4630003,"fiftyDayAverageChangePercent":0.09729336,"twoHundredDayAverage":9.455025,"twoHundredDayAverageChange":7.0449753,"twoHundredDayAverageChangePercent":0.74510384,"marketCap":17904973824,"forwardPE":56.896553,"priceToBook":2.922423,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-06-01","prevName":"Social + Capital Hedosophia Holdings Corp. V","nameChangeDate":"2025-01-20","shortName":"SoFi + Technologies, Inc.","displayName":"SoFi","symbol":"SOFI"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":9.368111,"lastClosePriceToNNWCPerShare":-1.640685313681847,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":2.72,"fiftyTwoWeekLow":1.76,"averageAnalystRating":"2.3 + - Buy","regularMarketChangePercent":-1.65746,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":857572200000,"priceHint":4,"postMarketChangePercent":0.2808986,"postMarketTime":1737161374,"postMarketPrice":1.785,"postMarketChange":0.004999995,"regularMarketChange":-0.03,"regularMarketTime":1737147602,"regularMarketPrice":1.78,"regularMarketDayHigh":1.8,"regularMarketDayRange":"1.77 + - 1.8","regularMarketDayLow":1.77,"regularMarketVolume":35677982,"regularMarketPreviousClose":1.81,"bid":1.77,"ask":1.79,"bidSize":3018,"askSize":280,"market":"us_market","messageBoardId":"finmb_134386019","fullExchangeName":"NYSE","longName":"Ambev + S.A.","financialCurrency":"BRL","regularMarketOpen":1.78,"averageDailyVolume3Month":31421598,"averageDailyVolume10Day":48640470,"corporateActions":[],"fiftyTwoWeekLowChange":0.01999998,"fiftyTwoWeekLowChangePercent":0.0113636255,"fiftyTwoWeekRange":"1.76 + - 2.72","fiftyTwoWeekHighChange":-0.94000006,"fiftyTwoWeekHighChangePercent":-0.34558827,"fiftyTwoWeekChangePercent":-32.830193,"dividendDate":1737072000,"earningsTimestamp":1730374200,"earningsTimestampStart":1740569400,"earningsTimestampEnd":1741001400,"earningsCallTimestampStart":1730388600,"earningsCallTimestampEnd":1730388600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.73,"trailingPE":11.866666,"dividendRate":0.11,"trailingAnnualDividendYield":0.40331495,"dividendYield":6.09,"marketState":"CLOSED","epsTrailingTwelveMonths":0.15,"epsForward":0.19,"epsCurrentYear":0.1642,"priceEpsCurrentYear":10.840439,"sharesOutstanding":15727899648,"bookValue":6.24,"fiftyDayAverage":2.069,"fiftyDayAverageChange":-0.28900003,"fiftyDayAverageChangePercent":-0.13968103,"twoHundredDayAverage":2.21825,"twoHundredDayAverageChange":-0.43825006,"twoHundredDayAverageChangePercent":-0.19756567,"marketCap":28970745856,"forwardPE":9.368421,"priceToBook":0.28525642,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Ambev + S.A.","displayName":"Ambev","symbol":"ABEV"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-59.130274,"lastClosePriceToNNWCPerShare":11.900404476460343,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NCM","fiftyTwoWeekHigh":18.36,"fiftyTwoWeekLow":6.355,"averageAnalystRating":"1.5 + - Strong Buy","regularMarketChangePercent":0.6681748,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1459431000000,"priceHint":2,"postMarketChangePercent":0.150109,"postMarketTime":1737161992,"postMarketPrice":13.4101,"postMarketChange":0.0200996,"regularMarketChange":0.08880043,"regularMarketTime":1737147601,"regularMarketPrice":13.3788,"regularMarketDayHigh":14.43,"regularMarketDayRange":"13.33 + - 14.43","regularMarketDayLow":13.33,"regularMarketVolume":35962113,"regularMarketPreviousClose":13.29,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_1532998","fullExchangeName":"NasdaqCM","longName":"Riot + Platforms, Inc.","financialCurrency":"USD","regularMarketOpen":13.9,"averageDailyVolume3Month":32492332,"averageDailyVolume10Day":27761920,"corporateActions":[],"fiftyTwoWeekLowChange":7.0238004,"fiftyTwoWeekLowChangePercent":1.10524,"fiftyTwoWeekRange":"6.355 + - 18.36","fiftyTwoWeekHighChange":-4.9812,"fiftyTwoWeekHighChangePercent":-0.2713072,"fiftyTwoWeekChangePercent":26.320755,"dividendDate":1508284800,"earningsTimestamp":1730319308,"earningsTimestampStart":1740085200,"earningsTimestampEnd":1740430800,"earningsCallTimestampStart":1730320200,"earningsCallTimestampEnd":1730320200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":89.192,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":0.15,"epsForward":-0.34,"epsCurrentYear":-0.07,"priceEpsCurrentYear":-191.12572,"sharesOutstanding":343927008,"bookValue":8.477,"fiftyDayAverage":12.1785,"fiftyDayAverageChange":1.2003002,"fiftyDayAverageChangePercent":0.098558955,"twoHundredDayAverage":10.005075,"twoHundredDayAverageChange":3.373725,"twoHundredDayAverageChangePercent":0.33720136,"marketCap":4601330688,"forwardPE":-39.34941,"priceToBook":1.5782471,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Riot + Blockchain, Inc.","nameChangeDate":"2025-01-20","shortName":"Riot Platforms, + Inc.","displayName":"Riot Platforms","symbol":"RIOT"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":160.050832,"lastClosePriceToNNWCPerShare":17945.984449795826,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":227.3,"fiftyTwoWeekLow":114.41,"averageAnalystRating":"1.8 + - Buy","regularMarketChangePercent":2.5498114,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":322151400000,"priceHint":2,"postMarketChangePercent":0.0329334,"postMarketTime":1737161997,"postMarketPrice":121.5,"postMarketChange":0.0400009,"regularMarketChange":3.0199966,"regularMarketTime":1737147601,"regularMarketPrice":121.46,"regularMarketDayHigh":122.7368,"regularMarketDayRange":"120.55 + - 122.7368","regularMarketDayLow":120.55,"regularMarketVolume":35765924,"regularMarketPreviousClose":118.44,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_168864","fullExchangeName":"NasdaqGS","longName":"Advanced + Micro Devices, Inc.","financialCurrency":"USD","regularMarketOpen":120.77,"averageDailyVolume3Month":36872106,"averageDailyVolume10Day":40948120,"corporateActions":[],"fiftyTwoWeekLowChange":7.0499954,"fiftyTwoWeekLowChangePercent":0.061620444,"fiftyTwoWeekRange":"114.41 + - 227.3","fiftyTwoWeekHighChange":-105.840004,"fiftyTwoWeekHighChangePercent":-0.46564013,"fiftyTwoWeekChangePercent":-27.779758,"earningsTimestamp":1738702800,"earningsTimestampStart":1738702800,"earningsTimestampEnd":1738702800,"earningsCallTimestampStart":1738706400,"earningsCallTimestampEnd":1738706400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":107.486725,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":1.13,"epsForward":5.1,"epsCurrentYear":3.33042,"priceEpsCurrentYear":36.469875,"sharesOutstanding":1622809984,"bookValue":35.111,"fiftyDayAverage":131.5288,"fiftyDayAverageChange":-10.068794,"fiftyDayAverageChangePercent":-0.07655202,"twoHundredDayAverage":150.19995,"twoHundredDayAverageChange":-28.739952,"twoHundredDayAverageChangePercent":-0.19134462,"marketCap":197106499584,"forwardPE":23.815687,"priceToBook":3.4593148,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Advanced + Micro Devices, Inc.","displayName":"Advanced Micro Devices","symbol":"AMD"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":17.850172,"lastClosePriceToNNWCPerShare":-1.501140724444929,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":31.54,"fiftyTwoWeekLow":24.48,"averageAnalystRating":"2.4 + - Buy","regularMarketChangePercent":-0.717254,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":76253400000,"priceHint":2,"postMarketChangePercent":0.19011843,"postMarketTime":1737161986,"postMarketPrice":26.35,"postMarketChange":0.050001144,"regularMarketChange":-0.190001,"regularMarketTime":1737147602,"regularMarketPrice":26.3,"regularMarketDayHigh":26.56,"regularMarketDayRange":"26.22 + - 26.56","regularMarketDayLow":26.22,"regularMarketVolume":35122322,"regularMarketPreviousClose":26.49,"bid":26.34,"ask":26.37,"bidSize":13,"askSize":31,"market":"us_market","messageBoardId":"finmb_162270","fullExchangeName":"NYSE","longName":"Pfizer + Inc.","financialCurrency":"USD","regularMarketOpen":26.395,"averageDailyVolume3Month":43570878,"averageDailyVolume10Day":33596240,"corporateActions":[{"header":"Dividend","message":"PFE + announced a cash dividend of 0.43 with an ex-date of Jan. 24, 2025","meta":{"eventType":"DIVIDEND","dateEpochMs":1737694800000,"amount":"0.43"}}],"fiftyTwoWeekLowChange":1.8199997,"fiftyTwoWeekLowChangePercent":0.07434639,"fiftyTwoWeekRange":"24.48 + - 31.54","fiftyTwoWeekHighChange":-5.2400017,"fiftyTwoWeekHighChangePercent":-0.16613829,"fiftyTwoWeekChangePercent":-7.099962,"dividendDate":1741305600,"earningsTimestamp":1738675800,"earningsTimestampStart":1738675800,"earningsTimestampEnd":1738675800,"earningsCallTimestampStart":1738683000,"earningsCallTimestampEnd":1738683000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":1.67,"trailingPE":35.066666,"dividendRate":1.72,"trailingAnnualDividendYield":0.063042656,"dividendYield":6.54,"marketState":"CLOSED","epsTrailingTwelveMonths":0.75,"epsForward":2.93,"epsCurrentYear":2.92395,"priceEpsCurrentYear":8.994681,"sharesOutstanding":5666990080,"bookValue":16.288,"fiftyDayAverage":26.147,"fiftyDayAverageChange":0.15299988,"fiftyDayAverageChangePercent":0.005851527,"twoHundredDayAverage":27.87585,"twoHundredDayAverageChange":-1.5758514,"twoHundredDayAverageChangePercent":-0.05653106,"marketCap":149041840128,"forwardPE":8.976109,"priceToBook":1.6146857,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Pfizer, + Inc.","displayName":"Pfizer","symbol":"PFE"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastClosePriceToNNWCPerShare":-1.6344612234766986,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":49.27,"fiftyTwoWeekLow":10.51,"averageAnalystRating":"1.9 + - Buy","regularMarketChangePercent":4.4921865,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1627565400000,"priceHint":2,"postMarketChangePercent":0.685354,"postMarketTime":1737161998,"postMarketPrice":48.48,"postMarketChange":0.329998,"regularMarketChange":2.0699997,"regularMarketTime":1737147600,"regularMarketPrice":48.15,"regularMarketDayHigh":49.27,"regularMarketDayRange":"46.97 + - 49.27","regularMarketDayLow":46.97,"regularMarketVolume":35226552,"regularMarketPreviousClose":46.08,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_276763615","fullExchangeName":"NasdaqGS","longName":"Robinhood + Markets, Inc.","financialCurrency":"USD","regularMarketOpen":47.75,"averageDailyVolume3Month":22880268,"averageDailyVolume10Day":22015990,"corporateActions":[],"fiftyTwoWeekLowChange":37.64,"fiftyTwoWeekLowChangePercent":3.581351,"fiftyTwoWeekRange":"10.51 + - 49.27","fiftyTwoWeekHighChange":-1.1199989,"fiftyTwoWeekHighChangePercent":-0.022731863,"fiftyTwoWeekChangePercent":338.12555,"earningsTimestamp":1739394000,"earningsTimestampStart":1739394000,"earningsTimestampEnd":1739394000,"earningsCallTimestampStart":1739397600,"earningsCallTimestampEnd":1739397600,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":83.01725,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":0.58,"epsForward":0.73,"epsCurrentYear":1.26517,"priceEpsCurrentYear":38.05813,"sharesOutstanding":763563008,"bookValue":8.157,"fiftyDayAverage":37.818,"fiftyDayAverageChange":10.332001,"fiftyDayAverageChangePercent":0.27320325,"twoHundredDayAverage":25.382574,"twoHundredDayAverageChange":22.767427,"twoHundredDayAverageChangePercent":0.8969708,"marketCap":42563444736,"forwardPE":65.95891,"priceToBook":5.902906,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-07-29","shortName":"Robinhood + Markets, Inc.","displayName":"Robinhood Markets","symbol":"HOOD"}],"useRecords":false,"predefinedScr":true,"versionId":8,"creationDate":1473802561519,"lastUpdated":1660940390728,"isPremium":false,"iconUrl":"https://s.yimg.com/cv/apiv2/fin/img/assets/predefined_screeners/analytics.png"}],"error":null}}' headers: Age: - '1' @@ -542,15 +230,6 @@ interactions: - keep-alive Referrer-Policy: - no-referrer-when-downgrade - Set-Cookie: - - A1=d=AQABBFtzNWcCEJ4yZ_ubwis_EvqPVJq_Mm0FEgEBAQHENmc_ZyXUxyMA_eMAAA&S=AQAAAtEqWQmdqn_lX1LPnFTD4W8; - Expires=Fri, 14 Nov 2025 09:49:56 GMT; Max-Age=31557600; Domain=.yahoo.com; - Path=/; SameSite=Lax; Secure; HttpOnly - - A3=d=AQABBFtzNWcCEJ4yZ_ubwis_EvqPVJq_Mm0FEgEBAQHENmc_ZyXUxyMA_eMAAA&S=AQAAAtEqWQmdqn_lX1LPnFTD4W8; - Expires=Fri, 14 Nov 2025 09:49:56 GMT; Max-Age=31557600; Domain=.yahoo.com; - Path=/; SameSite=None; Secure; HttpOnly - - A1S=d=AQABBFtzNWcCEJ4yZ_ubwis_EvqPVJq_Mm0FEgEBAQHENmc_ZyXUxyMA_eMAAA&S=AQAAAtEqWQmdqn_lX1LPnFTD4W8; - Domain=.yahoo.com; Path=/; SameSite=Lax; Secure Strict-Transport-Security: - max-age=31536000 Transfer-Encoding: @@ -562,23 +241,23 @@ interactions: X-XSS-Protection: - 1; mode=block cache-control: - - private, no-cache, no-store + - public, max-age=60, stale-while-revalidate=30 content-encoding: - gzip content-type: - application/json;charset=utf-8 date: - - Thu, 14 Nov 2024 03:49:55 GMT + - Mon, 20 Jan 2025 22:28:24 GMT server: - ATS vary: - Origin,Accept-Encoding x-envoy-decorator-operation: - - finance-screeners--mtls-production-gq1.finance-k8s.svc.yahoo.local:4080/* + - finance-screeners--mtls-production-gq1.finance-k8s:4080/* x-envoy-upstream-service-time: - - '96' + - '61' y-rid: - - 1pfrpehjjasr4 + - 2o02d65jotjg9 status: code: 200 message: OK diff --git a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_gainers_fetcher_urllib3_v1.yaml b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_gainers_fetcher_urllib3_v1.yaml index 580365408fe..0bcf51bde74 100644 --- a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_gainers_fetcher_urllib3_v1.yaml +++ b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_gainers_fetcher_urllib3_v1.yaml @@ -1,13 +1,6 @@ interactions: - request: - body: '{"offset": 0, "size": 100, "sortField": "percentchange", "sortType": "DESC", - "quoteType": "EQUITY", "query": {"operator": "AND", "operands": [{"operator": - "gt", "operands": ["percentchange", 3]}, {"operator": "eq", "operands": ["region", - "us"]}, {"operator": "or", "operands": [{"operator": "BTWN", "operands": ["intradaymarketcap", - 2000000000, 10000000000]}, {"operator": "BTWN", "operands": ["intradaymarketcap", - 10000000000, 100000000000]}, {"operator": "GT", "operands": ["intradaymarketcap", - 100000000000]}]}, {"operator": "gte", "operands": ["intradayprice", 5]}, {"operator": - "gt", "operands": ["dayvolume", 15000]}]}, "userId": "", "userIdType": "guid"}' + body: null headers: Accept: - '*/*' @@ -15,658 +8,262 @@ interactions: - gzip, deflate Connection: - keep-alive - Content-Length: - - '661' - Content-Type: - - application/json Cookie: - MOCK_COOKIE - method: POST - uri: https://query2.finance.yahoo.com/v1/finance/screener?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&formatted=false&lang=en-US®ion=US + method: GET + uri: https://query1.finance.yahoo.com/v1/test/getcrumb + response: + body: + string: xbV0f0TLaim + headers: + Age: + - '0' + Connection: + - keep-alive + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=31536000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - private, max-age=60, stale-while-revalidate=30 + content-length: + - '11' + content-type: + - text/plain;charset=utf-8 + date: + - Mon, 20 Jan 2025 22:30:23 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-external-services-api--mtls-production-gq1.finance-k8s:4080/* + x-envoy-upstream-service-time: + - '1' + y-rid: + - 6kgs8h9jotjjv + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - MOCK_COOKIE + method: GET + uri: https://query2.finance.yahoo.com/v1/finance/screener/predefined/saved?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&defaults=offset&defaults=size&defaults=sortAsc&defaults=sortField&defaults=userId&defaults=userIdType&formatted=false&lang=en-US&offset=0®ion=US&scrIds=day_gainers&size=250 response: body: string: !!binary | - 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 - /u//AYII2d4smgMA + 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 + 5QJ+wxwW1z///H9rq/XL8PUAAA== headers: Age: - '0' @@ -685,23 +282,23 @@ interactions: X-XSS-Protection: - 1; mode=block cache-control: - - private, no-cache, no-store + - public, max-age=60, stale-while-revalidate=30 content-encoding: - gzip content-type: - application/json;charset=utf-8 date: - - Thu, 14 Nov 2024 02:19:14 GMT + - Mon, 20 Jan 2025 22:30:23 GMT server: - ATS vary: - Origin,Accept-Encoding x-envoy-decorator-operation: - - finance-screeners--mtls-baseline-production-gq1.finance-k8s.svc.yahoo.local:4080/* + - finance-screeners--mtls-production-gq1.finance-k8s:4080/* x-envoy-upstream-service-time: - - '113' + - '56' y-rid: - - 64ibsl5jjanh2 + - 383hkl1jotjjv status: code: 200 message: OK diff --git a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_gainers_fetcher_urllib3_v2.yaml b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_gainers_fetcher_urllib3_v2.yaml index d5085cb8609..1905c0f5d06 100644 --- a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_gainers_fetcher_urllib3_v2.yaml +++ b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_gainers_fetcher_urllib3_v2.yaml @@ -1,597 +1,215 @@ interactions: - request: - body: '{"offset": 0, "size": 100, "sortField": "percentchange", "sortType": "DESC", - "quoteType": "EQUITY", "query": {"operator": "AND", "operands": [{"operator": - "gt", "operands": ["percentchange", 3]}, {"operator": "eq", "operands": ["region", - "us"]}, {"operator": "or", "operands": [{"operator": "BTWN", "operands": ["intradaymarketcap", - 2000000000, 10000000000]}, {"operator": "BTWN", "operands": ["intradaymarketcap", - 10000000000, 100000000000]}, {"operator": "GT", "operands": ["intradaymarketcap", - 100000000000]}]}, {"operator": "gte", "operands": ["intradayprice", 5]}, {"operator": - "gt", "operands": ["dayvolume", 15000]}]}, "userId": "", "userIdType": "guid"}' + body: null headers: Accept: - '*/*' Accept-Encoding: - - gzip, deflate + - gzip, deflate, br, zstd Connection: - keep-alive - Content-Length: - - '661' - Content-Type: - - application/json Cookie: - MOCK_COOKIE - method: POST - uri: https://query2.finance.yahoo.com/v1/finance/screener?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&formatted=false&lang=en-US®ion=US + method: GET + uri: https://query1.finance.yahoo.com/v1/test/getcrumb response: body: - string: "{\"finance\":{\"result\":[{\"start\":0,\"count\":100,\"total\":102,\"quotes\":[{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NCM\",\"fiftyTwoWeekHigh\":22.55,\"fiftyTwoWeekLow\":3.47,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"Rocket Lab USA, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1606228200000,\"priceHint\":2,\"postMarketChangePercent\":-0.636749,\"postMarketTime\":1731545994,\"postMarketPrice\":18.7101,\"postMarketChange\":-0.1199,\"regularMarketChange\":4.17,\"regularMarketTime\":1731531601,\"regularMarketPrice\":18.83,\"regularMarketDayHigh\":22.55,\"regularMarketDayRange\":\"18.65 - - 22.55\",\"regularMarketDayLow\":18.65,\"regularMarketVolume\":120516002,\"regularMarketPreviousClose\":14.66,\"bid\":16.13,\"ask\":18.95,\"bidSize\":1,\"askSize\":70,\"market\":\"us_market\",\"messageBoardId\":\"finmb_533835000\",\"fullExchangeName\":\"NasdaqCM\",\"longName\":\"Rocket - Lab USA, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":19.22,\"averageDailyVolume3Month\":15751825,\"averageDailyVolume10Day\":15324340,\"fiftyTwoWeekLowChange\":15.36,\"fiftyTwoWeekLowChangePercent\":4.4265127,\"fiftyTwoWeekRange\":\"3.47 - - 22.55\",\"fiftyTwoWeekHighChange\":-3.7199993,\"fiftyTwoWeekHighChangePercent\":-0.16496672,\"fiftyTwoWeekChangePercent\":247.39337,\"earningsTimestamp\":1731446100,\"earningsTimestampStart\":1731446100,\"earningsTimestampEnd\":1731446100,\"earningsCallTimestampStart\":1731448800,\"earningsCallTimestampEnd\":1731448800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.46,\"epsForward\":-0.23,\"epsCurrentYear\":-0.39,\"priceEpsCurrentYear\":-48.28205,\"sharesOutstanding\":496640000,\"bookValue\":0.844,\"fiftyDayAverage\":9.6388,\"fiftyDayAverageChange\":9.1912,\"fiftyDayAverageChangePercent\":0.95356274,\"twoHundredDayAverage\":5.885525,\"twoHundredDayAverageChange\":12.944475,\"twoHundredDayAverageChangePercent\":2.1993747,\"marketCap\":9351731200,\"forwardPE\":-81.86956,\"priceToBook\":22.310427,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":28.44475,\"displayName\":\"Rocket - Lab USA\",\"symbol\":\"RKLB\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":37.0,\"fiftyTwoWeekLow\":14.77,\"averageAnalystRating\":\"2.7 - - Hold\",\"shortName\":\"Paymentus Holdings, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1622035800000,\"priceHint\":2,\"postMarketChangePercent\":3.2544446,\"postMarketTime\":1731545803,\"postMarketPrice\":34.9,\"postMarketChange\":1.1000023,\"regularMarketChange\":7.19,\"regularMarketTime\":1731531602,\"regularMarketPrice\":33.8,\"regularMarketDayHigh\":37.0,\"regularMarketDayRange\":\"28.5201 - - 37.0\",\"regularMarketDayLow\":28.5201,\"regularMarketVolume\":3037946,\"regularMarketPreviousClose\":26.61,\"bid\":33.6,\"ask\":35.47,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_713430507\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Paymentus - Holdings, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":32.11,\"averageDailyVolume3Month\":205834,\"averageDailyVolume10Day\":223660,\"fiftyTwoWeekLowChange\":19.029999,\"fiftyTwoWeekLowChangePercent\":1.2884223,\"fiftyTwoWeekRange\":\"14.77 - - 37.0\",\"fiftyTwoWeekHighChange\":-3.2000008,\"fiftyTwoWeekHighChangePercent\":-0.0864865,\"fiftyTwoWeekChangePercent\":60.397827,\"earningsTimestamp\":1731445500,\"earningsTimestampStart\":1731445500,\"earningsTimestampEnd\":1731445500,\"earningsCallTimestampStart\":1731448800,\"earningsCallTimestampEnd\":1731448800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":130.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.26,\"epsForward\":0.5,\"epsCurrentYear\":0.41,\"priceEpsCurrentYear\":82.439026,\"sharesOutstanding\":22348900,\"bookValue\":3.628,\"fiftyDayAverage\":22.9134,\"fiftyDayAverageChange\":10.886599,\"fiftyDayAverageChangePercent\":0.4751193,\"twoHundredDayAverage\":20.49525,\"twoHundredDayAverageChange\":13.304749,\"twoHundredDayAverageChangePercent\":0.64916253,\"marketCap\":4207322624,\"forwardPE\":67.6,\"priceToBook\":9.316427,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-05-26\",\"regularMarketChangePercent\":27.0199,\"displayName\":\"Paymentus\",\"symbol\":\"PAY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":167.43,\"fiftyTwoWeekLow\":52.015,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"Natera, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1435757400000,\"priceHint\":2,\"postMarketChangePercent\":-0.726842,\"postMarketTime\":1731545763,\"postMarketPrice\":159.8,\"postMarketChange\":-1.17,\"regularMarketChange\":25.850006,\"regularMarketTime\":1731531600,\"regularMarketPrice\":160.97,\"regularMarketDayHigh\":167.43,\"regularMarketDayRange\":\"152.0 - - 167.43\",\"regularMarketDayLow\":152.0,\"regularMarketVolume\":4523244,\"regularMarketPreviousClose\":135.12,\"bid\":160.63,\"ask\":161.48,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_27603970\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Natera, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":153.96,\"averageDailyVolume3Month\":1096123,\"averageDailyVolume10Day\":1201920,\"fiftyTwoWeekLowChange\":108.955,\"fiftyTwoWeekLowChangePercent\":2.0946844,\"fiftyTwoWeekRange\":\"52.015 - - 167.43\",\"fiftyTwoWeekHighChange\":-6.4599915,\"fiftyTwoWeekHighChangePercent\":-0.038583238,\"fiftyTwoWeekChangePercent\":155.86064,\"earningsTimestamp\":1731445200,\"earningsTimestampStart\":1731445200,\"earningsTimestampEnd\":1731445200,\"earningsCallTimestampStart\":1731447000,\"earningsCallTimestampEnd\":1731447000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-2.9,\"epsForward\":-1.21,\"epsCurrentYear\":-1.97,\"priceEpsCurrentYear\":-81.71066,\"sharesOutstanding\":123681000,\"bookValue\":7077.06,\"fiftyDayAverage\":125.0876,\"fiftyDayAverageChange\":35.8824,\"fiftyDayAverageChangePercent\":0.28685817,\"twoHundredDayAverage\":105.12695,\"twoHundredDayAverageChange\":55.84305,\"twoHundredDayAverageChangePercent\":0.5311963,\"marketCap\":19908931584,\"forwardPE\":-133.03305,\"priceToBook\":0.02274532,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":19.131147,\"displayName\":\"Natera\",\"symbol\":\"NTRA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":80.85,\"fiftyTwoWeekLow\":44.71,\"averageAnalystRating\":\"1.2 - - Strong Buy\",\"shortName\":\"Griffon Corporation\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":105283800000,\"priceHint\":2,\"postMarketChangePercent\":4.1852994,\"postMarketTime\":1731545463,\"postMarketPrice\":83.89,\"postMarketChange\":3.3700027,\"regularMarketChange\":12.4,\"regularMarketTime\":1731531602,\"regularMarketPrice\":80.52,\"regularMarketDayHigh\":80.85,\"regularMarketDayRange\":\"71.2 - - 80.85\",\"regularMarketDayLow\":71.2,\"regularMarketVolume\":1814101,\"regularMarketPreviousClose\":68.12,\"bid\":79.88,\"ask\":80.34,\"bidSize\":9,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_281121\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Griffon - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":73.0,\"averageDailyVolume3Month\":421303,\"averageDailyVolume10Day\":517210,\"fiftyTwoWeekLowChange\":35.809998,\"fiftyTwoWeekLowChangePercent\":0.8009393,\"fiftyTwoWeekRange\":\"44.71 - - 80.85\",\"fiftyTwoWeekHighChange\":-0.33000183,\"fiftyTwoWeekHighChangePercent\":-0.0040816553,\"fiftyTwoWeekChangePercent\":78.933334,\"dividendDate\":1726704000,\"earningsTimestamp\":1731501240,\"earningsTimestampStart\":1738762200,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1731504600,\"earningsCallTimestampEnd\":1731504600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.575,\"trailingPE\":21.703503,\"dividendRate\":0.6,\"trailingAnnualDividendYield\":0.008440986,\"dividendYield\":0.88,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.71,\"epsForward\":5.59,\"epsCurrentYear\":4.84,\"priceEpsCurrentYear\":16.636362,\"sharesOutstanding\":49263200,\"bookValue\":4.539,\"fiftyDayAverage\":67.0106,\"fiftyDayAverageChange\":13.509399,\"fiftyDayAverageChangePercent\":0.20160094,\"twoHundredDayAverage\":67.29515,\"twoHundredDayAverageChange\":13.224846,\"twoHundredDayAverageChangePercent\":0.19652005,\"marketCap\":3966672640,\"forwardPE\":14.404292,\"priceToBook\":17.73959,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":18.2032,\"displayName\":\"Griffon\",\"symbol\":\"GFF\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":47.45,\"fiftyTwoWeekLow\":9.76,\"averageAnalystRating\":\"1.6 - - Buy\",\"shortName\":\"Dyne Therapeutics, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1600349400000,\"priceHint\":2,\"postMarketChangePercent\":2.34398,\"postMarketTime\":1731543161,\"postMarketPrice\":34.93,\"postMarketChange\":0.799999,\"regularMarketChange\":4.800001,\"regularMarketTime\":1731531601,\"regularMarketPrice\":34.13,\"regularMarketDayHigh\":35.68,\"regularMarketDayRange\":\"29.02 - - 35.68\",\"regularMarketDayLow\":29.02,\"regularMarketVolume\":2184222,\"regularMarketPreviousClose\":29.33,\"bid\":25.51,\"ask\":37.29,\"bidSize\":2,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_608699906\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Dyne - Therapeutics, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":29.06,\"averageDailyVolume3Month\":1260993,\"averageDailyVolume10Day\":1063290,\"fiftyTwoWeekLowChange\":24.37,\"fiftyTwoWeekLowChangePercent\":2.4969263,\"fiftyTwoWeekRange\":\"9.76 - - 47.45\",\"fiftyTwoWeekHighChange\":-13.32,\"fiftyTwoWeekHighChangePercent\":-0.28071654,\"fiftyTwoWeekChangePercent\":200.35841,\"earningsTimestamp\":1731414600,\"earningsTimestampStart\":1731414600,\"earningsTimestampEnd\":1731414600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-4.16,\"epsForward\":-3.16,\"epsCurrentYear\":-3.0,\"priceEpsCurrentYear\":-11.376667,\"sharesOutstanding\":100401000,\"bookValue\":1.485,\"fiftyDayAverage\":32.6348,\"fiftyDayAverageChange\":1.4952011,\"fiftyDayAverageChangePercent\":0.045816157,\"twoHundredDayAverage\":32.063526,\"twoHundredDayAverageChange\":2.066475,\"twoHundredDayAverageChangePercent\":0.0644494,\"marketCap\":3426686208,\"forwardPE\":-10.800633,\"priceToBook\":22.983166,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2020-09-17\",\"regularMarketChangePercent\":16.3655,\"displayName\":\"Dyne - Therapeutics\",\"symbol\":\"DYN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":27.6,\"fiftyTwoWeekLow\":6.22,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"IonQ, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1609770600000,\"priceHint\":2,\"postMarketChangePercent\":2.316887,\"postMarketTime\":1731545981,\"postMarketPrice\":27.38,\"postMarketChange\":0.61999893,\"regularMarketChange\":3.75,\"regularMarketTime\":1731531602,\"regularMarketPrice\":26.76,\"regularMarketDayHigh\":27.6,\"regularMarketDayRange\":\"23.675 - - 27.6\",\"regularMarketDayLow\":23.675,\"regularMarketVolume\":39642024,\"regularMarketPreviousClose\":23.01,\"bid\":27.01,\"ask\":27.38,\"bidSize\":12,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_531207172\",\"fullExchangeName\":\"NYSE\",\"longName\":\"IonQ, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":23.88,\"averageDailyVolume3Month\":13472776,\"averageDailyVolume10Day\":30753210,\"fiftyTwoWeekLowChange\":20.54,\"fiftyTwoWeekLowChangePercent\":3.302251,\"fiftyTwoWeekRange\":\"6.22 - - 27.6\",\"fiftyTwoWeekHighChange\":-0.84000015,\"fiftyTwoWeekHighChangePercent\":-0.030434787,\"fiftyTwoWeekChangePercent\":88.60656,\"earningsTimestamp\":1730927100,\"earningsTimestampStart\":1730927100,\"earningsTimestampEnd\":1730927100,\"earningsCallTimestampStart\":1730928600,\"earningsCallTimestampEnd\":1730928600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.82,\"epsForward\":-0.88,\"epsCurrentYear\":-0.83,\"priceEpsCurrentYear\":-32.240963,\"sharesOutstanding\":216392000,\"bookValue\":2.017,\"fiftyDayAverage\":11.775,\"fiftyDayAverageChange\":14.985001,\"fiftyDayAverageChangePercent\":1.2726115,\"twoHundredDayAverage\":9.3847,\"twoHundredDayAverageChange\":17.375301,\"twoHundredDayAverageChangePercent\":1.8514498,\"marketCap\":5790649856,\"forwardPE\":-30.409092,\"priceToBook\":13.267229,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":16.2973,\"displayName\":\"IonQ\",\"symbol\":\"IONQ\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":39.08,\"fiftyTwoWeekLow\":1.97,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"AST SpaceMobile, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1572615000000,\"priceHint\":2,\"postMarketChangePercent\":3.87236,\"postMarketTime\":1731545988,\"postMarketPrice\":28.97,\"postMarketChange\":1.08,\"regularMarketChange\":3.6299992,\"regularMarketTime\":1731531602,\"regularMarketPrice\":27.89,\"regularMarketDayHigh\":30.89,\"regularMarketDayRange\":\"25.71 - - 30.89\",\"regularMarketDayLow\":25.71,\"regularMarketVolume\":26318961,\"regularMarketPreviousClose\":24.26,\"bid\":27.78,\"ask\":28.1,\"bidSize\":85,\"askSize\":40,\"market\":\"us_market\",\"messageBoardId\":\"finmb_557143394\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"AST - SpaceMobile, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":26.0,\"averageDailyVolume3Month\":16647212,\"averageDailyVolume10Day\":9301820,\"fiftyTwoWeekLowChange\":25.92,\"fiftyTwoWeekLowChangePercent\":13.15736,\"fiftyTwoWeekRange\":\"1.97 - - 39.08\",\"fiftyTwoWeekHighChange\":-11.190002,\"fiftyTwoWeekHighChangePercent\":-0.28633577,\"fiftyTwoWeekChangePercent\":430.85342,\"earningsTimestamp\":1731618000,\"earningsTimestampStart\":1731618000,\"earningsTimestampEnd\":1731618000,\"earningsCallTimestampStart\":1731621600,\"earningsCallTimestampEnd\":1731621600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-1.49,\"epsForward\":-0.71,\"epsCurrentYear\":-1.1,\"priceEpsCurrentYear\":-25.354544,\"sharesOutstanding\":199571008,\"bookValue\":0.976,\"fiftyDayAverage\":25.8022,\"fiftyDayAverageChange\":2.087799,\"fiftyDayAverageChangePercent\":0.08091554,\"twoHundredDayAverage\":13.3661,\"twoHundredDayAverageChange\":14.523899,\"twoHundredDayAverageChangePercent\":1.086622,\"marketCap\":8854544384,\"forwardPE\":-39.28169,\"priceToBook\":28.575819,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":14.962898,\"displayName\":\"AST - SpaceMobile\",\"symbol\":\"ASTS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":24.615,\"fiftyTwoWeekLow\":8.26,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Rivian Automotive, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1636554600000,\"priceHint\":2,\"postMarketChangePercent\":-0.0831195,\"postMarketTime\":1731545997,\"postMarketPrice\":12.02,\"postMarketChange\":-0.00999928,\"regularMarketChange\":1.4499998,\"regularMarketTime\":1731531601,\"regularMarketPrice\":12.03,\"regularMarketDayHigh\":13.1,\"regularMarketDayRange\":\"11.46 - - 13.1\",\"regularMarketDayLow\":11.46,\"regularMarketVolume\":118624190,\"regularMarketPreviousClose\":10.58,\"bid\":11.99,\"ask\":12.05,\"bidSize\":41,\"askSize\":61,\"market\":\"us_market\",\"messageBoardId\":\"finmb_144746614\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Rivian - Automotive, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":11.725,\"averageDailyVolume3Month\":30050079,\"averageDailyVolume10Day\":36819960,\"fiftyTwoWeekLowChange\":3.7699995,\"fiftyTwoWeekLowChangePercent\":0.4564164,\"fiftyTwoWeekRange\":\"8.26 - - 24.615\",\"fiftyTwoWeekHighChange\":-12.585,\"fiftyTwoWeekHighChangePercent\":-0.5112736,\"fiftyTwoWeekChangePercent\":-35.448444,\"earningsTimestamp\":1731013501,\"earningsTimestampStart\":1731013501,\"earningsTimestampEnd\":1731013501,\"earningsCallTimestampStart\":1731016800,\"earningsCallTimestampEnd\":1731016800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-6.37,\"epsForward\":-2.74,\"epsCurrentYear\":-3.96,\"priceEpsCurrentYear\":-3.0378788,\"sharesOutstanding\":1012849984,\"bookValue\":5.778,\"fiftyDayAverage\":11.2458,\"fiftyDayAverageChange\":0.7841997,\"fiftyDayAverageChangePercent\":0.06973267,\"twoHundredDayAverage\":12.221575,\"twoHundredDayAverageChange\":-0.19157505,\"twoHundredDayAverageChangePercent\":-0.015675152,\"marketCap\":12184585216,\"forwardPE\":-4.390511,\"priceToBook\":2.0820353,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-11-10\",\"regularMarketChangePercent\":13.705102,\"displayName\":\"Rivian - Automotive\",\"symbol\":\"RIVN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NCM\",\"fiftyTwoWeekHigh\":36.24,\"fiftyTwoWeekLow\":10.98,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"TG Therapeutics, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1272893400000,\"priceHint\":2,\"postMarketChangePercent\":0.143264,\"postMarketTime\":1731545906,\"postMarketPrice\":34.95,\"postMarketChange\":0.0499992,\"regularMarketChange\":3.9900017,\"regularMarketTime\":1731531600,\"regularMarketPrice\":34.9,\"regularMarketDayHigh\":36.2,\"regularMarketDayRange\":\"29.8401 - - 36.2\",\"regularMarketDayLow\":29.8401,\"regularMarketVolume\":9865373,\"regularMarketPreviousClose\":30.91,\"bid\":30.21,\"ask\":35.12,\"bidSize\":1,\"askSize\":4,\"market\":\"us_market\",\"messageBoardId\":\"finmb_143627354\",\"fullExchangeName\":\"NasdaqCM\",\"longName\":\"TG - Therapeutics, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":30.6001,\"averageDailyVolume3Month\":3773095,\"averageDailyVolume10Day\":5257000,\"fiftyTwoWeekLowChange\":23.920002,\"fiftyTwoWeekLowChangePercent\":2.1785066,\"fiftyTwoWeekRange\":\"10.98 - - 36.24\",\"fiftyTwoWeekHighChange\":-1.3400002,\"fiftyTwoWeekHighChangePercent\":-0.03697572,\"fiftyTwoWeekChangePercent\":209.9467,\"earningsTimestamp\":1730727000,\"earningsTimestampStart\":1730727000,\"earningsTimestampEnd\":1730727000,\"earningsCallTimestampStart\":1730727000,\"earningsCallTimestampEnd\":1730727000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.11,\"epsForward\":0.97,\"epsCurrentYear\":0.15,\"priceEpsCurrentYear\":232.66667,\"sharesOutstanding\":155664992,\"bookValue\":1.338,\"fiftyDayAverage\":24.4067,\"fiftyDayAverageChange\":10.493301,\"fiftyDayAverageChangePercent\":0.42993528,\"twoHundredDayAverage\":19.1574,\"twoHundredDayAverageChange\":15.742601,\"twoHundredDayAverageChangePercent\":0.8217504,\"marketCap\":5432708608,\"forwardPE\":35.97938,\"priceToBook\":26.083708,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":12.90845,\"displayName\":\"TG - Therapeutics\",\"symbol\":\"TGTX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NGM\",\"fiftyTwoWeekHigh\":55.98,\"fiftyTwoWeekLow\":5.68,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"Avidity Biosciences, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1591968600000,\"priceHint\":2,\"postMarketChangePercent\":0.114288,\"postMarketTime\":1731545694,\"postMarketPrice\":52.56,\"postMarketChange\":0.0600014,\"regularMarketChange\":5.7700005,\"regularMarketTime\":1731531601,\"regularMarketPrice\":52.5,\"regularMarketDayHigh\":55.98,\"regularMarketDayRange\":\"46.82 - - 55.98\",\"regularMarketDayLow\":46.82,\"regularMarketVolume\":3211514,\"regularMarketPreviousClose\":46.73,\"bid\":52.39,\"ask\":60.31,\"bidSize\":2,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_257084190\",\"fullExchangeName\":\"NasdaqGM\",\"longName\":\"Avidity - Biosciences, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":46.82,\"averageDailyVolume3Month\":1281611,\"averageDailyVolume10Day\":999520,\"fiftyTwoWeekLowChange\":46.82,\"fiftyTwoWeekLowChangePercent\":8.242958,\"fiftyTwoWeekRange\":\"5.68 - - 55.98\",\"fiftyTwoWeekHighChange\":-3.4799995,\"fiftyTwoWeekHighChangePercent\":-0.06216505,\"fiftyTwoWeekChangePercent\":688.027,\"earningsTimestamp\":1731013200,\"earningsTimestampStart\":1731013200,\"earningsTimestampEnd\":1731013200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-2.95,\"epsForward\":-3.03,\"epsCurrentYear\":-2.79,\"priceEpsCurrentYear\":-18.817205,\"sharesOutstanding\":119309000,\"bookValue\":12.644,\"fiftyDayAverage\":44.828,\"fiftyDayAverageChange\":7.672001,\"fiftyDayAverageChangePercent\":0.17114305,\"twoHundredDayAverage\":33.842827,\"twoHundredDayAverageChange\":18.657173,\"twoHundredDayAverageChangePercent\":0.55128884,\"marketCap\":6263722496,\"forwardPE\":-17.326733,\"priceToBook\":4.152167,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2020-06-12\",\"regularMarketChangePercent\":12.347529,\"displayName\":\"Avidity - Biosciences\",\"symbol\":\"RNA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":50.251,\"fiftyTwoWeekLow\":26.62,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Tower Semiconductor Ltd.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":783178200000,\"priceHint\":2,\"postMarketChangePercent\":1.81743,\"postMarketTime\":1731545897,\"postMarketPrice\":49.3,\"postMarketChange\":0.880001,\"regularMarketChange\":5.3199997,\"regularMarketTime\":1731531600,\"regularMarketPrice\":48.42,\"regularMarketDayHigh\":50.251,\"regularMarketDayRange\":\"46.2 - - 50.251\",\"regularMarketDayLow\":46.2,\"regularMarketVolume\":2448929,\"regularMarketPreviousClose\":43.1,\"bid\":48.28,\"ask\":48.55,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_331231\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Tower - Semiconductor Ltd.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":46.78,\"averageDailyVolume3Month\":439467,\"averageDailyVolume10Day\":835340,\"fiftyTwoWeekLowChange\":21.799997,\"fiftyTwoWeekLowChangePercent\":0.818933,\"fiftyTwoWeekRange\":\"26.62 - - 50.251\",\"fiftyTwoWeekHighChange\":-1.8310013,\"fiftyTwoWeekHighChangePercent\":-0.036437113,\"fiftyTwoWeekChangePercent\":78.93569,\"earningsTimestamp\":1731499239,\"earningsTimestampStart\":1739367000,\"earningsTimestampEnd\":1739799000,\"earningsCallTimestampStart\":1731510000,\"earningsCallTimestampEnd\":1731510000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":9.703407,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.99,\"epsForward\":2.33,\"epsCurrentYear\":2.07,\"priceEpsCurrentYear\":23.391304,\"sharesOutstanding\":111070000,\"bookValue\":21.949,\"fiftyDayAverage\":43.524,\"fiftyDayAverageChange\":4.896,\"fiftyDayAverageChangePercent\":0.11248966,\"twoHundredDayAverage\":37.92105,\"twoHundredDayAverageChange\":10.498947,\"twoHundredDayAverageChangePercent\":0.2768633,\"marketCap\":5378009088,\"forwardPE\":20.781116,\"priceToBook\":2.206023,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":12.343388,\"displayName\":\"Tower - Semiconductor\",\"symbol\":\"TSEM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":32.243,\"fiftyTwoWeekLow\":13.0,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"ZEEKR Intelligent Technology Ho\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1715347800000,\"priceHint\":2,\"postMarketChangePercent\":2.0590267,\"postMarketTime\":1731546000,\"postMarketPrice\":29.74,\"postMarketChange\":0.6000004,\"regularMarketChange\":3.14,\"regularMarketTime\":1731531602,\"regularMarketPrice\":29.14,\"regularMarketDayHigh\":31.1984,\"regularMarketDayRange\":\"27.6 - - 31.1984\",\"regularMarketDayLow\":27.6,\"regularMarketVolume\":3000534,\"regularMarketPreviousClose\":26.0,\"bid\":29.2,\"ask\":29.75,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1672834977\",\"fullExchangeName\":\"NYSE\",\"longName\":\"ZEEKR - Intelligent Technology Holding Limited\",\"financialCurrency\":\"CNY\",\"regularMarketOpen\":28.47,\"averageDailyVolume3Month\":1000922,\"averageDailyVolume10Day\":1106490,\"fiftyTwoWeekLowChange\":16.14,\"fiftyTwoWeekLowChangePercent\":1.2415384,\"fiftyTwoWeekRange\":\"13.0 - - 32.243\",\"fiftyTwoWeekHighChange\":-3.1030006,\"fiftyTwoWeekHighChangePercent\":-0.096237965,\"fiftyTwoWeekChangePercent\":-7.997167,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-4.85,\"epsForward\":-1.66,\"epsCurrentYear\":-3.34,\"priceEpsCurrentYear\":-8.724551,\"sharesOutstanding\":247584992,\"bookValue\":-40.756,\"fiftyDayAverage\":21.9198,\"fiftyDayAverageChange\":7.2201996,\"fiftyDayAverageChangePercent\":0.3293917,\"twoHundredDayAverage\":20.712946,\"twoHundredDayAverageChange\":8.427053,\"twoHundredDayAverageChangePercent\":0.4068496,\"marketCap\":7214626304,\"forwardPE\":-17.554216,\"priceToBook\":-0.71498674,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":12.0769,\"displayName\":\"ZEEKR - Intelligent Technology Holding\",\"symbol\":\"ZK\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"PNK\",\"fiftyTwoWeekHigh\":16.57,\"fiftyTwoWeekLow\":10.86,\"shortName\":\"Seven - & I Holdings Co., Ltd.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":false,\"firstTradeDateMilliseconds\":1237469400000,\"priceHint\":2,\"regularMarketChange\":1.710001,\"regularMarketTime\":1731531466,\"regularMarketPrice\":16.03,\"regularMarketDayHigh\":16.35,\"regularMarketDayRange\":\"15.88 - - 16.35\",\"regularMarketDayLow\":15.88,\"regularMarketVolume\":90543,\"regularMarketPreviousClose\":14.32,\"bid\":15.95,\"ask\":16.03,\"bidSize\":400,\"askSize\":270,\"market\":\"us_market\",\"messageBoardId\":\"finmb_23740668\",\"fullExchangeName\":\"OTC - Markets OTCPK\",\"longName\":\"Seven & i Holdings Co., Ltd.\",\"financialCurrency\":\"JPY\",\"regularMarketOpen\":16.35,\"averageDailyVolume3Month\":288665,\"averageDailyVolume10Day\":267070,\"fiftyTwoWeekLowChange\":5.170001,\"fiftyTwoWeekLowChangePercent\":0.47605905,\"fiftyTwoWeekRange\":\"10.86 - - 16.57\",\"fiftyTwoWeekHighChange\":-0.539999,\"fiftyTwoWeekHighChangePercent\":-0.03258896,\"fiftyTwoWeekChangePercent\":26.75277,\"dividendDate\":1575244800,\"earningsTimestamp\":1728540000,\"earningsTimestampStart\":1736402400,\"earningsTimestampEnd\":1736748000,\"earningsCallTimestampStart\":1728557940,\"earningsCallTimestampEnd\":1728557940,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":133.0,\"trailingPE\":29.145454,\"dividendRate\":0.24,\"trailingAnnualDividendYield\":9.287709,\"dividendYield\":1.68,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.55,\"sharesOutstanding\":2594769920,\"bookValue\":1554.756,\"fiftyDayAverage\":14.8802,\"fiftyDayAverageChange\":1.1498003,\"fiftyDayAverageChangePercent\":0.077270485,\"twoHundredDayAverage\":13.564883,\"twoHundredDayAverageChange\":2.4651175,\"twoHundredDayAverageChangePercent\":0.18172787,\"marketCap\":41768251392,\"priceToBook\":0.0103103,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":11.941348,\"symbol\":\"SVNDY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":473.0,\"fiftyTwoWeekLow\":170.62,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"Spotify Technology S.A.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1522762200000,\"priceHint\":2,\"postMarketChangePercent\":-0.261035,\"postMarketTime\":1731545977,\"postMarketPrice\":466.15,\"postMarketChange\":-1.22,\"regularMarketChange\":47.98,\"regularMarketTime\":1731531602,\"regularMarketPrice\":467.37,\"regularMarketDayHigh\":473.0,\"regularMarketDayRange\":\"445.0001 - - 473.0\",\"regularMarketDayLow\":445.0001,\"regularMarketVolume\":11970609,\"regularMarketPreviousClose\":419.39,\"bid\":466.01,\"ask\":467.0,\"bidSize\":14,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_225595077\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Spotify - Technology S.A.\",\"financialCurrency\":\"EUR\",\"regularMarketOpen\":460.26,\"averageDailyVolume3Month\":1561728,\"averageDailyVolume10Day\":2358200,\"fiftyTwoWeekLowChange\":296.75,\"fiftyTwoWeekLowChangePercent\":1.7392452,\"fiftyTwoWeekRange\":\"170.62 - - 473.0\",\"fiftyTwoWeekHighChange\":-5.630005,\"fiftyTwoWeekHighChangePercent\":-0.011902759,\"fiftyTwoWeekChangePercent\":139.26859,\"earningsTimestamp\":1731445500,\"earningsTimestampStart\":1731445500,\"earningsTimestampEnd\":1731445500,\"earningsCallTimestampStart\":1731448800,\"earningsCallTimestampEnd\":1731448800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":172.46126,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.71,\"epsForward\":8.91,\"epsCurrentYear\":6.27,\"priceEpsCurrentYear\":74.54067,\"sharesOutstanding\":200808000,\"bookValue\":22.984,\"fiftyDayAverage\":369.7256,\"fiftyDayAverageChange\":97.64441,\"fiftyDayAverageChangePercent\":0.2640997,\"twoHundredDayAverage\":312.90216,\"twoHundredDayAverageChange\":154.46783,\"twoHundredDayAverageChangePercent\":0.49366176,\"marketCap\":93851631616,\"forwardPE\":52.454544,\"priceToBook\":20.334581,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":11.4404,\"displayName\":\"Spotify - Technology\",\"symbol\":\"SPOT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":21.56,\"fiftyTwoWeekLow\":10.93,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"Liberty Global Ltd.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1086269400000,\"priceHint\":2,\"postMarketChangePercent\":1.26135,\"postMarketTime\":1731545294,\"postMarketPrice\":12.0501,\"postMarketChange\":0.150101,\"regularMarketChange\":1.2159996,\"regularMarketTime\":1731531602,\"regularMarketPrice\":11.9,\"regularMarketDayHigh\":12.34,\"regularMarketDayRange\":\"10.93 - - 12.34\",\"regularMarketDayLow\":10.93,\"regularMarketVolume\":7421939,\"regularMarketPreviousClose\":10.684,\"bid\":11.33,\"ask\":12.36,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_9956099\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Liberty - Global Ltd.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":10.9324,\"averageDailyVolume3Month\":1758517,\"averageDailyVolume10Day\":2731240,\"fiftyTwoWeekLowChange\":0.9699993,\"fiftyTwoWeekLowChangePercent\":0.0887465,\"fiftyTwoWeekRange\":\"10.93 - - 21.56\",\"fiftyTwoWeekHighChange\":-9.66,\"fiftyTwoWeekHighChangePercent\":-0.44805196,\"fiftyTwoWeekChangePercent\":-25.94897,\"earningsTimestamp\":1730232060,\"earningsTimestampStart\":1739444340,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730293200,\"earningsCallTimestampEnd\":1730293200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-5.74,\"epsForward\":-2.25,\"epsCurrentYear\":-2.06,\"priceEpsCurrentYear\":-5.776699,\"sharesOutstanding\":172872000,\"bookValue\":51.918,\"fiftyDayAverage\":20.4072,\"fiftyDayAverageChange\":-8.5072,\"fiftyDayAverageChangePercent\":-0.4168725,\"twoHundredDayAverage\":18.431,\"twoHundredDayAverageChange\":-6.531,\"twoHundredDayAverageChangePercent\":-0.35434866,\"marketCap\":4307061760,\"forwardPE\":-5.288889,\"priceToBook\":0.22920759,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Liberty - Global plc\",\"nameChangeDate\":\"2024-11-08\",\"regularMarketChangePercent\":11.381501,\"displayName\":\"Liberty - Global\",\"symbol\":\"LBTYA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":22.01,\"fiftyTwoWeekLow\":15.95,\"averageAnalystRating\":\"2.7 - - Hold\",\"shortName\":\"CAE Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1027949400000,\"priceHint\":2,\"postMarketChangePercent\":0.13933478,\"postMarketTime\":1731546000,\"postMarketPrice\":21.56,\"postMarketChange\":0.02999878,\"regularMarketChange\":2.2,\"regularMarketTime\":1731531602,\"regularMarketPrice\":21.53,\"regularMarketDayHigh\":22.01,\"regularMarketDayRange\":\"20.47 - - 22.01\",\"regularMarketDayLow\":20.47,\"regularMarketVolume\":2118031,\"regularMarketPreviousClose\":19.33,\"bid\":21.28,\"ask\":21.78,\"bidSize\":9,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_873741\",\"fullExchangeName\":\"NYSE\",\"longName\":\"CAE - Inc.\",\"financialCurrency\":\"CAD\",\"regularMarketOpen\":21.11,\"averageDailyVolume3Month\":579970,\"averageDailyVolume10Day\":654060,\"fiftyTwoWeekLowChange\":5.580001,\"fiftyTwoWeekLowChangePercent\":0.34984332,\"fiftyTwoWeekRange\":\"15.95 - - 22.01\",\"fiftyTwoWeekHighChange\":-0.47999954,\"fiftyTwoWeekHighChangePercent\":-0.021808248,\"fiftyTwoWeekChangePercent\":3.2613873,\"dividendDate\":1585612800,\"earningsTimestamp\":1731445813,\"earningsTimestampStart\":1739357940,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1731502800,\"earningsCallTimestampEnd\":1731502800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.86,\"epsForward\":0.99,\"epsCurrentYear\":0.83,\"priceEpsCurrentYear\":25.93976,\"sharesOutstanding\":318716992,\"bookValue\":13.355,\"fiftyDayAverage\":18.4376,\"fiftyDayAverageChange\":3.0924015,\"fiftyDayAverageChangePercent\":0.16772257,\"twoHundredDayAverage\":18.875,\"twoHundredDayAverageChange\":2.6550007,\"twoHundredDayAverageChangePercent\":0.14066228,\"marketCap\":6861977088,\"forwardPE\":21.747475,\"priceToBook\":1.6121304,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":11.3813,\"displayName\":\"CAE\",\"symbol\":\"CAE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NGM\",\"fiftyTwoWeekHigh\":22.69,\"fiftyTwoWeekLow\":14.098,\"shortName\":\"WERIDE - INC.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1729863000000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731542424,\"postMarketPrice\":19.04,\"postMarketChange\":0.0,\"regularMarketChange\":1.8600006,\"regularMarketTime\":1731531600,\"regularMarketPrice\":19.04,\"regularMarketDayHigh\":20.69,\"regularMarketDayRange\":\"17.56 - - 20.69\",\"regularMarketDayLow\":17.56,\"regularMarketVolume\":317665,\"regularMarketPreviousClose\":17.18,\"bid\":18.81,\"ask\":19.14,\"bidSize\":2,\"askSize\":2,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1888993534\",\"fullExchangeName\":\"NasdaqGM\",\"longName\":\"WeRide - Inc.\",\"financialCurrency\":\"CNY\",\"regularMarketOpen\":17.76,\"averageDailyVolume3Month\":449561,\"averageDailyVolume10Day\":267580,\"fiftyTwoWeekLowChange\":4.9420013,\"fiftyTwoWeekLowChangePercent\":0.35054627,\"fiftyTwoWeekRange\":\"14.098 - - 22.69\",\"fiftyTwoWeekHighChange\":-3.6499996,\"fiftyTwoWeekHighChangePercent\":-0.1608638,\"fiftyTwoWeekChangePercent\":3.8066506,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-113.23,\"sharesOutstanding\":256220992,\"bookValue\":-109.602,\"fiftyDayAverage\":16.21923,\"fiftyDayAverageChange\":2.8207703,\"fiftyDayAverageChangePercent\":0.17391518,\"twoHundredDayAverage\":16.21923,\"twoHundredDayAverageChange\":2.8207703,\"twoHundredDayAverageChangePercent\":0.17391518,\"marketCap\":5226347008,\"priceToBook\":-0.17371947,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2024-10-25\",\"regularMarketChangePercent\":10.826546,\"symbol\":\"WRD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":22.14,\"fiftyTwoWeekLow\":11.25,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Liberty Global Ltd.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1126186200000,\"priceHint\":2,\"postMarketChangePercent\":1.3104,\"postMarketTime\":1731536741,\"postMarketPrice\":12.37,\"postMarketChange\":0.16,\"regularMarketChange\":1.1660004,\"regularMarketTime\":1731531601,\"regularMarketPrice\":12.21,\"regularMarketDayHigh\":12.78,\"regularMarketDayRange\":\"11.25 - - 12.78\",\"regularMarketDayLow\":11.25,\"regularMarketVolume\":4228664,\"regularMarketPreviousClose\":11.044,\"bid\":11.63,\"ask\":12.93,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_9956099\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Liberty - Global Ltd.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":11.25,\"averageDailyVolume3Month\":1249214,\"averageDailyVolume10Day\":1700590,\"fiftyTwoWeekLowChange\":0.96000004,\"fiftyTwoWeekLowChangePercent\":0.08533334,\"fiftyTwoWeekRange\":\"11.25 - - 22.14\",\"fiftyTwoWeekHighChange\":-9.929999,\"fiftyTwoWeekHighChangePercent\":-0.44850945,\"fiftyTwoWeekChangePercent\":-29.340279,\"earningsTimestamp\":1730232060,\"earningsTimestampStart\":1739444340,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730293200,\"earningsCallTimestampEnd\":1730293200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-5.79,\"epsForward\":-3.34,\"epsCurrentYear\":-1.39,\"priceEpsCurrentYear\":-8.784173,\"sharesOutstanding\":171684000,\"bookValue\":51.918,\"fiftyDayAverage\":20.9766,\"fiftyDayAverageChange\":-8.766601,\"fiftyDayAverageChangePercent\":-0.41792285,\"twoHundredDayAverage\":19.0274,\"twoHundredDayAverageChange\":-6.817399,\"twoHundredDayAverageChangePercent\":-0.3582938,\"marketCap\":4310594048,\"forwardPE\":-3.6556888,\"priceToBook\":0.23517856,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Liberty - Global plc\",\"nameChangeDate\":\"2024-11-08\",\"regularMarketChangePercent\":10.557773,\"symbol\":\"LBTYK\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":8.07,\"fiftyTwoWeekLow\":4.09,\"averageAnalystRating\":\"3.1 - - Hold\",\"shortName\":\"JetBlue Airways Corporation\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1018618200000,\"priceHint\":2,\"postMarketChangePercent\":0.144089,\"postMarketTime\":1731545910,\"postMarketPrice\":6.95,\"postMarketChange\":0.00999975,\"regularMarketChange\":0.6199999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":6.94,\"regularMarketDayHigh\":7.42,\"regularMarketDayRange\":\"6.5501 - - 7.42\",\"regularMarketDayLow\":6.5501,\"regularMarketVolume\":36971399,\"regularMarketPreviousClose\":6.32,\"bid\":5.95,\"ask\":7.91,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_106437\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"JetBlue - Airways Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":6.65,\"averageDailyVolume3Month\":17194418,\"averageDailyVolume10Day\":19811830,\"fiftyTwoWeekLowChange\":2.85,\"fiftyTwoWeekLowChangePercent\":0.69682145,\"fiftyTwoWeekRange\":\"4.09 - - 8.07\",\"fiftyTwoWeekHighChange\":-1.1299996,\"fiftyTwoWeekHighChangePercent\":-0.14002474,\"fiftyTwoWeekChangePercent\":59.90783,\"earningsTimestamp\":1730199600,\"earningsTimestampStart\":1738071000,\"earningsTimestampEnd\":1738589400,\"earningsCallTimestampStart\":1730210400,\"earningsCallTimestampEnd\":1730210400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-2.48,\"epsForward\":-0.64,\"epsCurrentYear\":-0.92,\"priceEpsCurrentYear\":-7.543478,\"sharesOutstanding\":346876992,\"bookValue\":7.622,\"fiftyDayAverage\":6.403,\"fiftyDayAverageChange\":0.5370002,\"fiftyDayAverageChangePercent\":0.08386697,\"twoHundredDayAverage\":6.148,\"twoHundredDayAverageChange\":0.7920003,\"twoHundredDayAverageChangePercent\":0.12882243,\"marketCap\":2407326464,\"forwardPE\":-10.84375,\"priceToBook\":0.91052216,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":9.810124,\"displayName\":\"JetBlue - Airways\",\"symbol\":\"JBLU\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":43.57,\"fiftyTwoWeekLow\":29.88,\"averageAnalystRating\":\"3.5 - - Hold\",\"shortName\":\"James Hardie Industries plc\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1003757400000,\"priceHint\":2,\"postMarketChangePercent\":4.131755,\"postMarketTime\":1731545554,\"postMarketPrice\":36.04,\"postMarketChange\":1.4300003,\"regularMarketChange\":2.82,\"regularMarketTime\":1731531602,\"regularMarketPrice\":34.61,\"regularMarketDayHigh\":35.4,\"regularMarketDayRange\":\"34.1 - - 35.4\",\"regularMarketDayLow\":34.1,\"regularMarketVolume\":127778,\"regularMarketPreviousClose\":31.79,\"bid\":32.75,\"ask\":36.25,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1342650\",\"fullExchangeName\":\"NYSE\",\"longName\":\"James - Hardie Industries plc\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":34.68,\"averageDailyVolume3Month\":100850,\"averageDailyVolume10Day\":81180,\"fiftyTwoWeekLowChange\":4.7300014,\"fiftyTwoWeekLowChangePercent\":0.15829992,\"fiftyTwoWeekRange\":\"29.88 - - 43.57\",\"fiftyTwoWeekHighChange\":-8.959999,\"fiftyTwoWeekHighChangePercent\":-0.20564607,\"fiftyTwoWeekChangePercent\":8.359421,\"dividendDate\":1659052800,\"earningsTimestamp\":1731447000,\"earningsTimestampStart\":1739223000,\"earningsTimestampEnd\":1739741400,\"earningsCallTimestampStart\":1731448800,\"earningsCallTimestampEnd\":1731448800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":29.836208,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.16,\"epsForward\":1.82,\"epsCurrentYear\":1.47976,\"priceEpsCurrentYear\":23.388927,\"sharesOutstanding\":429535008,\"bookValue\":4.589,\"fiftyDayAverage\":35.7042,\"fiftyDayAverageChange\":-1.0942001,\"fiftyDayAverageChangePercent\":-0.030646257,\"twoHundredDayAverage\":35.64275,\"twoHundredDayAverageChange\":-1.0327492,\"twoHundredDayAverageChangePercent\":-0.028975014,\"marketCap\":15451150336,\"forwardPE\":19.016483,\"priceToBook\":7.541948,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":8.87071,\"displayName\":\"James - Hardie Industries\",\"symbol\":\"JHX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"OQX\",\"fiftyTwoWeekHigh\":16.33,\"fiftyTwoWeekLow\":7.5,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Green Thumb Industries Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":false,\"firstTradeDateMilliseconds\":1528983000000,\"priceHint\":2,\"regularMarketChange\":0.75,\"regularMarketTime\":1731531598,\"regularMarketPrice\":9.7,\"regularMarketDayHigh\":10.49,\"regularMarketDayRange\":\"8.41 - - 10.49\",\"regularMarketDayLow\":8.41,\"regularMarketVolume\":226493,\"regularMarketPreviousClose\":8.95,\"bid\":9.82,\"ask\":9.82,\"bidSize\":400,\"askSize\":400,\"market\":\"us_market\",\"messageBoardId\":\"finmb_560549330\",\"fullExchangeName\":\"OTC - Markets OTCQX\",\"longName\":\"Green Thumb Industries Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":8.8,\"averageDailyVolume3Month\":368892,\"averageDailyVolume10Day\":870490,\"fiftyTwoWeekLowChange\":2.1999998,\"fiftyTwoWeekLowChangePercent\":0.29333332,\"fiftyTwoWeekRange\":\"7.5 - - 16.33\",\"fiftyTwoWeekHighChange\":-6.63,\"fiftyTwoWeekHighChangePercent\":-0.40600124,\"fiftyTwoWeekChangePercent\":-1.971525,\"earningsTimestamp\":1731013320,\"earningsTimestampStart\":1731013320,\"earningsTimestampEnd\":1731013320,\"earningsCallTimestampStart\":1731016800,\"earningsCallTimestampEnd\":1731016800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":34.642857,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.28,\"epsForward\":0.33,\"epsCurrentYear\":0.33,\"priceEpsCurrentYear\":29.393938,\"sharesOutstanding\":211380992,\"bookValue\":7.515,\"fiftyDayAverage\":10.24584,\"fiftyDayAverageChange\":-0.54584026,\"fiftyDayAverageChangePercent\":-0.05327433,\"twoHundredDayAverage\":11.769325,\"twoHundredDayAverageChange\":-2.0693254,\"twoHundredDayAverageChangePercent\":-0.17582363,\"marketCap\":2297299456,\"forwardPE\":29.393938,\"priceToBook\":1.2907518,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":8.379889,\"displayName\":\"Green - Thumb Industries\",\"symbol\":\"GTBIF\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":21.32,\"fiftyTwoWeekLow\":11.55,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"Fidelis Insurance Holdings Limi\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1688045400000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731535501,\"postMarketPrice\":19.93,\"postMarketChange\":0.0,\"regularMarketChange\":1.47,\"regularMarketTime\":1731531602,\"regularMarketPrice\":19.93,\"regularMarketDayHigh\":21.32,\"regularMarketDayRange\":\"19.16 - - 21.32\",\"regularMarketDayLow\":19.16,\"regularMarketVolume\":1010545,\"regularMarketPreviousClose\":18.46,\"bid\":19.93,\"ask\":19.96,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_288967818\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Fidelis - Insurance Holdings Limited\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":19.99,\"averageDailyVolume3Month\":472447,\"averageDailyVolume10Day\":354690,\"fiftyTwoWeekLowChange\":8.38,\"fiftyTwoWeekLowChangePercent\":0.7255411,\"fiftyTwoWeekRange\":\"11.55 - - 21.32\",\"fiftyTwoWeekHighChange\":-1.3899994,\"fiftyTwoWeekHighChangePercent\":-0.06519697,\"fiftyTwoWeekChangePercent\":34.842957,\"dividendDate\":1734652800,\"earningsTimestamp\":1731446100,\"earningsTimestampStart\":1731446100,\"earningsTimestampEnd\":1731446100,\"earningsCallTimestampStart\":1731506400,\"earningsCallTimestampEnd\":1731506400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":5.8617644,\"dividendRate\":0.4,\"trailingAnnualDividendYield\":0.0,\"dividendYield\":2.17,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.4,\"epsForward\":3.52,\"epsCurrentYear\":2.74,\"priceEpsCurrentYear\":7.2737226,\"sharesOutstanding\":116006000,\"bookValue\":23.56,\"fiftyDayAverage\":17.8874,\"fiftyDayAverageChange\":2.0426006,\"fiftyDayAverageChangePercent\":0.11419215,\"twoHundredDayAverage\":17.29495,\"twoHundredDayAverageChange\":2.6350498,\"twoHundredDayAverageChangePercent\":0.15235949,\"marketCap\":2311999488,\"forwardPE\":5.661932,\"priceToBook\":0.84592533,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":7.96317,\"displayName\":\"Fidelis - Insurance\",\"symbol\":\"FIHL\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"PNK\",\"fiftyTwoWeekHigh\":7.27,\"fiftyTwoWeekLow\":3.592,\"shortName\":\"Rakuten - Group Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":false,\"firstTradeDateMilliseconds\":1390833000000,\"priceHint\":2,\"regularMarketChange\":0.46000004,\"regularMarketTime\":1731530646,\"regularMarketPrice\":6.58,\"regularMarketDayHigh\":6.58,\"regularMarketDayRange\":\"6.2 - - 6.58\",\"regularMarketDayLow\":6.2,\"regularMarketVolume\":37359,\"regularMarketPreviousClose\":6.12,\"bid\":6.57,\"ask\":6.59,\"bidSize\":394,\"askSize\":400,\"market\":\"us_market\",\"messageBoardId\":\"finmb_4018231\",\"fullExchangeName\":\"OTC - Markets OTCPK\",\"longName\":\"Rakuten Group, Inc.\",\"financialCurrency\":\"JPY\",\"regularMarketOpen\":6.2,\"averageDailyVolume3Month\":38766,\"averageDailyVolume10Day\":12220,\"fiftyTwoWeekLowChange\":2.988,\"fiftyTwoWeekLowChangePercent\":0.8318485,\"fiftyTwoWeekRange\":\"3.592 - - 7.27\",\"fiftyTwoWeekHighChange\":-0.69000006,\"fiftyTwoWeekHighChangePercent\":-0.0949106,\"fiftyTwoWeekChangePercent\":66.26307,\"earningsTimestamp\":1731477600,\"earningsTimestampStart\":1739340000,\"earningsTimestampEnd\":1739772000,\"earningsCallTimestampStart\":1731495540,\"earningsCallTimestampEnd\":1731495540,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.93,\"sharesOutstanding\":2149550080,\"bookValue\":400.199,\"fiftyDayAverage\":6.36876,\"fiftyDayAverageChange\":0.21123981,\"fiftyDayAverageChangePercent\":0.033168122,\"twoHundredDayAverage\":5.611055,\"twoHundredDayAverageChange\":0.968945,\"twoHundredDayAverageChangePercent\":0.172685,\"marketCap\":14144038912,\"priceToBook\":0.01644182,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Rakuten, - Inc.\",\"nameChangeDate\":\"2024-11-08\",\"regularMarketChangePercent\":7.5163407,\"symbol\":\"RKUNY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":26.67,\"fiftyTwoWeekLow\":1.88,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"NuScale Power Corporation\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1646145000000,\"priceHint\":2,\"postMarketChangePercent\":2.88271,\"postMarketTime\":1731545998,\"postMarketPrice\":25.7001,\"postMarketChange\":0.7201,\"regularMarketChange\":1.74,\"regularMarketTime\":1731531685,\"regularMarketPrice\":24.98,\"regularMarketDayHigh\":26.67,\"regularMarketDayRange\":\"23.7602 - - 26.67\",\"regularMarketDayLow\":23.7602,\"regularMarketVolume\":16712230,\"regularMarketPreviousClose\":23.24,\"bid\":25.38,\"ask\":26.0,\"bidSize\":8,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_49439457\",\"fullExchangeName\":\"NYSE\",\"longName\":\"NuScale - Power Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":24.28,\"averageDailyVolume3Month\":8752601,\"averageDailyVolume10Day\":12422990,\"fiftyTwoWeekLowChange\":23.1,\"fiftyTwoWeekLowChangePercent\":12.287234,\"fiftyTwoWeekRange\":\"1.88 - - 26.67\",\"fiftyTwoWeekHighChange\":-1.6900005,\"fiftyTwoWeekHighChangePercent\":-0.0633671,\"fiftyTwoWeekChangePercent\":906.0606,\"earningsTimestamp\":1731014100,\"earningsTimestampStart\":1731014100,\"earningsTimestampEnd\":1731014100,\"earningsCallTimestampStart\":1731016800,\"earningsCallTimestampEnd\":1731016800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-1.03,\"epsForward\":-0.47,\"epsCurrentYear\":-0.72,\"priceEpsCurrentYear\":-34.694443,\"sharesOutstanding\":97893904,\"bookValue\":1.635,\"fiftyDayAverage\":14.4906,\"fiftyDayAverageChange\":10.4894,\"fiftyDayAverageChangePercent\":0.7238762,\"twoHundredDayAverage\":9.06825,\"twoHundredDayAverageChange\":15.91175,\"twoHundredDayAverageChangePercent\":1.7546661,\"marketCap\":2525403136,\"forwardPE\":-53.148937,\"priceToBook\":15.278287,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":7.48709,\"displayName\":\"NuScale - Power\",\"symbol\":\"SMR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":12.06,\"fiftyTwoWeekLow\":5.02,\"averageAnalystRating\":\"4.0 - - Underperform\",\"shortName\":\"Telecom Argentina SA\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":786983400000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731531631,\"postMarketPrice\":11.6,\"postMarketChange\":0.0,\"regularMarketChange\":0.77,\"regularMarketTime\":1731531601,\"regularMarketPrice\":11.6,\"regularMarketDayHigh\":11.676,\"regularMarketDayRange\":\"10.83 - - 11.676\",\"regularMarketDayLow\":10.83,\"regularMarketVolume\":129925,\"regularMarketPreviousClose\":10.83,\"bid\":11.54,\"ask\":11.58,\"bidSize\":8,\"askSize\":12,\"market\":\"us_market\",\"messageBoardId\":\"finmb_778699\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Telecom - Argentina S.A.\",\"financialCurrency\":\"ARS\",\"regularMarketOpen\":10.85,\"averageDailyVolume3Month\":184659,\"averageDailyVolume10Day\":272010,\"fiftyTwoWeekLowChange\":6.5800004,\"fiftyTwoWeekLowChangePercent\":1.310757,\"fiftyTwoWeekRange\":\"5.02 - - 12.06\",\"fiftyTwoWeekHighChange\":-0.46000004,\"fiftyTwoWeekHighChangePercent\":-0.03814262,\"fiftyTwoWeekChangePercent\":125.68092,\"dividendDate\":1684972800,\"earningsTimestamp\":1731013200,\"earningsTimestampStart\":1731013200,\"earningsTimestampEnd\":1731013200,\"earningsCallTimestampStart\":1723546740,\"earningsCallTimestampEnd\":1723546740,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":11.04762,\"dividendRate\":0.21,\"trailingAnnualDividendYield\":0.0,\"dividendYield\":2.32,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.05,\"epsForward\":-0.75,\"epsCurrentYear\":1.4,\"priceEpsCurrentYear\":8.285715,\"sharesOutstanding\":125612000,\"bookValue\":2385.943,\"fiftyDayAverage\":8.601,\"fiftyDayAverageChange\":2.9990005,\"fiftyDayAverageChangePercent\":0.34868047,\"twoHundredDayAverage\":7.7639,\"twoHundredDayAverageChange\":3.8361006,\"twoHundredDayAverageChangePercent\":0.49409455,\"marketCap\":4099927040,\"forwardPE\":-15.466667,\"priceToBook\":0.0048618093,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":7.10988,\"displayName\":\"Telecom - Argentina\",\"symbol\":\"TEO\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":266.19,\"fiftyTwoWeekLow\":149.0,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"Flutter Entertainment plc\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1033738200000,\"priceHint\":2,\"postMarketChangePercent\":1.28427,\"postMarketTime\":1731545763,\"postMarketPrice\":268.93,\"postMarketChange\":3.41,\"regularMarketChange\":17.35,\"regularMarketTime\":1731531625,\"regularMarketPrice\":265.52,\"regularMarketDayHigh\":266.19,\"regularMarketDayRange\":\"258.44 - - 266.19\",\"regularMarketDayLow\":258.44,\"regularMarketVolume\":3376209,\"regularMarketPreviousClose\":248.17,\"bid\":264.01,\"ask\":270.0,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1303244\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Flutter - Entertainment plc\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":264.03,\"averageDailyVolume3Month\":2083498,\"averageDailyVolume10Day\":1897560,\"fiftyTwoWeekLowChange\":116.51999,\"fiftyTwoWeekLowChangePercent\":0.78201336,\"fiftyTwoWeekRange\":\"149.0 - - 266.19\",\"fiftyTwoWeekHighChange\":-0.6700134,\"fiftyTwoWeekHighChangePercent\":-0.0025170497,\"fiftyTwoWeekChangePercent\":61.663734,\"earningsTimestamp\":1731445500,\"earningsTimestampStart\":1731445500,\"earningsTimestampEnd\":1731445500,\"earningsCallTimestampStart\":1731447000,\"earningsCallTimestampEnd\":1731447000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-7.42,\"epsForward\":8.32,\"epsCurrentYear\":5.77,\"priceEpsCurrentYear\":46.01733,\"sharesOutstanding\":178032000,\"bookValue\":57.613,\"fiftyDayAverage\":230.8124,\"fiftyDayAverageChange\":34.707596,\"fiftyDayAverageChangePercent\":0.15037146,\"twoHundredDayAverage\":208.06285,\"twoHundredDayAverageChange\":57.457138,\"twoHundredDayAverageChangePercent\":0.2761528,\"marketCap\":47271055360,\"forwardPE\":31.913462,\"priceToBook\":4.608682,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":6.99117,\"displayName\":\"Flutter - Entertainment\",\"symbol\":\"FLUT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":25.95,\"fiftyTwoWeekLow\":9.81,\"averageAnalystRating\":\"2.7 - - Hold\",\"shortName\":\"Transportadora de Gas del Sur S\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":785082600000,\"priceHint\":2,\"postMarketChangePercent\":0.038685605,\"postMarketTime\":1731538116,\"postMarketPrice\":25.86,\"postMarketChange\":0.010000229,\"regularMarketChange\":1.62,\"regularMarketTime\":1731531601,\"regularMarketPrice\":25.85,\"regularMarketDayHigh\":25.95,\"regularMarketDayRange\":\"24.1722 - - 25.95\",\"regularMarketDayLow\":24.1722,\"regularMarketVolume\":275625,\"regularMarketPreviousClose\":24.23,\"bid\":25.71,\"ask\":25.86,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_392486\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Transportadora - de Gas del Sur S.A.\",\"financialCurrency\":\"ARS\",\"regularMarketOpen\":24.33,\"averageDailyVolume3Month\":163960,\"averageDailyVolume10Day\":220640,\"fiftyTwoWeekLowChange\":16.04,\"fiftyTwoWeekLowChangePercent\":1.6350663,\"fiftyTwoWeekRange\":\"9.81 - - 25.95\",\"fiftyTwoWeekHighChange\":-0.10000038,\"fiftyTwoWeekHighChangePercent\":-0.003853579,\"fiftyTwoWeekChangePercent\":158.24174,\"dividendDate\":1556582400,\"earningsTimestamp\":1730833200,\"earningsTimestampStart\":1730833200,\"earningsTimestampEnd\":1730833200,\"earningsCallTimestampStart\":1721286000,\"earningsCallTimestampEnd\":1721286000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":23.935184,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.08,\"epsForward\":1.8,\"epsCurrentYear\":3.01,\"priceEpsCurrentYear\":8.58804,\"sharesOutstanding\":69513696,\"bookValue\":2585.471,\"fiftyDayAverage\":21.1148,\"fiftyDayAverageChange\":4.735201,\"fiftyDayAverageChangePercent\":0.22425981,\"twoHundredDayAverage\":17.9159,\"twoHundredDayAverageChange\":7.934101,\"twoHundredDayAverageChangePercent\":0.44285253,\"marketCap\":4124212480,\"forwardPE\":14.361112,\"priceToBook\":0.009998179,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":6.68593,\"displayName\":\"Transportadora - de Gas del Sur\",\"symbol\":\"TGS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":204.77,\"fiftyTwoWeekLow\":65.73,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Avis Budget Group, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":432394200000,\"priceHint\":2,\"postMarketChangePercent\":-0.0283999,\"postMarketTime\":1731535390,\"postMarketPrice\":105.6,\"postMarketChange\":-0.0299988,\"regularMarketChange\":6.4300003,\"regularMarketTime\":1731531602,\"regularMarketPrice\":105.63,\"regularMarketDayHigh\":106.8,\"regularMarketDayRange\":\"99.34 - - 106.8\",\"regularMarketDayLow\":99.34,\"regularMarketVolume\":1014929,\"regularMarketPreviousClose\":99.2,\"bid\":100.27,\"ask\":111.2,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_26268\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Avis - Budget Group, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":99.55,\"averageDailyVolume3Month\":666282,\"averageDailyVolume10Day\":979770,\"fiftyTwoWeekLowChange\":39.899994,\"fiftyTwoWeekLowChangePercent\":0.6070286,\"fiftyTwoWeekRange\":\"65.73 - - 204.77\",\"fiftyTwoWeekHighChange\":-99.14001,\"fiftyTwoWeekHighChangePercent\":-0.48415297,\"fiftyTwoWeekChangePercent\":-43.19441,\"dividendDate\":1703116800,\"earningsTimestamp\":1730404854,\"earningsTimestampStart\":1739185140,\"earningsTimestampEnd\":1739534400,\"earningsCallTimestampStart\":1730464200,\"earningsCallTimestampEnd\":1730464200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":9.422836,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":11.21,\"epsForward\":11.41,\"epsCurrentYear\":2.76,\"priceEpsCurrentYear\":38.27174,\"sharesOutstanding\":35139200,\"bookValue\":-6.685,\"fiftyDayAverage\":84.2136,\"fiftyDayAverageChange\":21.416397,\"fiftyDayAverageChangePercent\":0.25431043,\"twoHundredDayAverage\":103.38715,\"twoHundredDayAverageChange\":2.2428436,\"twoHundredDayAverageChangePercent\":0.02169364,\"marketCap\":3711753472,\"forwardPE\":9.2576685,\"priceToBook\":-15.801046,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":6.4818554,\"displayName\":\"Avis - Budget\",\"symbol\":\"CAR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":18.59,\"fiftyTwoWeekLow\":5.583,\"averageAnalystRating\":\"1.5 - - Strong Buy\",\"shortName\":\"Centessa Pharmaceuticals plc\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1622208600000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731531686,\"postMarketPrice\":18.08,\"postMarketChange\":0.0,\"regularMarketChange\":1.0799999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":18.08,\"regularMarketDayHigh\":18.59,\"regularMarketDayRange\":\"17.225 - - 18.59\",\"regularMarketDayLow\":17.225,\"regularMarketVolume\":1278134,\"regularMarketPreviousClose\":17.0,\"bid\":18.0,\"ask\":18.15,\"bidSize\":2,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_704505677\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Centessa - Pharmaceuticals plc\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":17.58,\"averageDailyVolume3Month\":621363,\"averageDailyVolume10Day\":499380,\"fiftyTwoWeekLowChange\":12.497,\"fiftyTwoWeekLowChangePercent\":2.2384021,\"fiftyTwoWeekRange\":\"5.583 - - 18.59\",\"fiftyTwoWeekHighChange\":-0.5100002,\"fiftyTwoWeekHighChangePercent\":-0.027434116,\"fiftyTwoWeekChangePercent\":143.55302,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-1.55,\"epsForward\":-1.71,\"epsCurrentYear\":-1.63,\"priceEpsCurrentYear\":-11.092025,\"sharesOutstanding\":128569000,\"bookValue\":4.294,\"fiftyDayAverage\":15.74,\"fiftyDayAverageChange\":2.3400002,\"fiftyDayAverageChangePercent\":0.14866583,\"twoHundredDayAverage\":11.537,\"twoHundredDayAverageChange\":6.543,\"twoHundredDayAverageChangePercent\":0.5671319,\"marketCap\":2383757568,\"forwardPE\":-10.573099,\"priceToBook\":4.210526,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-05-28\",\"prevName\":\"Centessa - Pharmaceuticals Limited\",\"nameChangeDate\":\"2024-11-08\",\"regularMarketChangePercent\":6.352941,\"displayName\":\"Centessa - Pharmaceuticals\",\"symbol\":\"CNTA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":37.04,\"fiftyTwoWeekLow\":15.81,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"Guardant Health, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1538659800000,\"priceHint\":2,\"postMarketChangePercent\":-1.55014,\"postMarketTime\":1731545981,\"postMarketPrice\":31.12,\"postMarketChange\":-0.49,\"regularMarketChange\":1.8800011,\"regularMarketTime\":1731531601,\"regularMarketPrice\":31.61,\"regularMarketDayHigh\":32.26,\"regularMarketDayRange\":\"29.52 - - 32.26\",\"regularMarketDayLow\":29.52,\"regularMarketVolume\":2929149,\"regularMarketPreviousClose\":29.73,\"bid\":23.17,\"ask\":38.4,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_256906841\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Guardant - Health, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":29.52,\"averageDailyVolume3Month\":2107007,\"averageDailyVolume10Day\":2611620,\"fiftyTwoWeekLowChange\":15.8,\"fiftyTwoWeekLowChangePercent\":0.9993675,\"fiftyTwoWeekRange\":\"15.81 - - 37.04\",\"fiftyTwoWeekHighChange\":-5.4300003,\"fiftyTwoWeekHighChangePercent\":-0.14659828,\"fiftyTwoWeekChangePercent\":32.96064,\"earningsTimestamp\":1730927100,\"earningsTimestampStart\":1730927100,\"earningsTimestampEnd\":1730927100,\"earningsCallTimestampStart\":1730928600,\"earningsCallTimestampEnd\":1730928600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-4.55,\"epsForward\":-2.71,\"epsCurrentYear\":-3.37,\"priceEpsCurrentYear\":-9.379823,\"sharesOutstanding\":123555000,\"bookValue\":-0.488,\"fiftyDayAverage\":23.3088,\"fiftyDayAverageChange\":8.301201,\"fiftyDayAverageChangePercent\":0.35614023,\"twoHundredDayAverage\":24.1244,\"twoHundredDayAverageChange\":7.4856014,\"twoHundredDayAverageChangePercent\":0.31029174,\"marketCap\":3905573632,\"forwardPE\":-11.6642065,\"priceToBook\":-64.77459,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":6.3235826,\"displayName\":\"Guardant - Health\",\"symbol\":\"GH\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":42.65,\"fiftyTwoWeekLow\":27.88,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"JOYY Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1353508200000,\"priceHint\":2,\"postMarketChangePercent\":0.809822,\"postMarketTime\":1731541180,\"postMarketPrice\":36.1,\"postMarketChange\":0.289997,\"regularMarketChange\":2.1000023,\"regularMarketTime\":1731531601,\"regularMarketPrice\":35.81,\"regularMarketDayHigh\":36.205,\"regularMarketDayRange\":\"33.75 - - 36.205\",\"regularMarketDayLow\":33.75,\"regularMarketVolume\":801650,\"regularMarketPreviousClose\":33.71,\"bid\":35.66,\"ask\":35.78,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_222948413\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"JOYY - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":33.91,\"averageDailyVolume3Month\":396450,\"averageDailyVolume10Day\":368250,\"fiftyTwoWeekLowChange\":7.930002,\"fiftyTwoWeekLowChangePercent\":0.28443336,\"fiftyTwoWeekRange\":\"27.88 - - 42.65\",\"fiftyTwoWeekHighChange\":-6.84,\"fiftyTwoWeekHighChangePercent\":-0.16037515,\"fiftyTwoWeekChangePercent\":-19.315464,\"dividendDate\":1697155200,\"earningsTimestamp\":1732654800,\"earningsTimestampStart\":1732654800,\"earningsTimestampEnd\":1732654800,\"earningsCallTimestampStart\":1732672800,\"earningsCallTimestampEnd\":1732672800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":8.445756,\"dividendRate\":1.73,\"trailingAnnualDividendYield\":0.0,\"dividendYield\":4.71,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.24,\"epsForward\":4.13,\"epsCurrentYear\":3.78,\"priceEpsCurrentYear\":9.473545,\"sharesOutstanding\":40784700,\"bookValue\":90.565,\"fiftyDayAverage\":34.9364,\"fiftyDayAverageChange\":0.8736,\"fiftyDayAverageChangePercent\":0.025005437,\"twoHundredDayAverage\":33.09705,\"twoHundredDayAverageChange\":2.7129517,\"twoHundredDayAverageChangePercent\":0.08196959,\"marketCap\":1925149312,\"forwardPE\":8.670702,\"priceToBook\":0.3954066,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":6.2296124,\"displayName\":\"JOYY\",\"symbol\":\"YY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":122.0,\"fiftyTwoWeekLow\":82.64,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"John Bean Technologies Corporat\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1216733400000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731539924,\"postMarketPrice\":120.9,\"postMarketChange\":0.0,\"regularMarketChange\":6.67,\"regularMarketTime\":1731531601,\"regularMarketPrice\":120.9,\"regularMarketDayHigh\":121.62,\"regularMarketDayRange\":\"115.2591 - - 121.62\",\"regularMarketDayLow\":115.2591,\"regularMarketVolume\":636209,\"regularMarketPreviousClose\":114.23,\"bid\":120.3,\"ask\":121.57,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_4259332\",\"fullExchangeName\":\"NYSE\",\"longName\":\"John - Bean Technologies Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":116.18,\"averageDailyVolume3Month\":316796,\"averageDailyVolume10Day\":415710,\"fiftyTwoWeekLowChange\":38.260002,\"fiftyTwoWeekLowChangePercent\":0.46297196,\"fiftyTwoWeekRange\":\"82.64 - - 122.0\",\"fiftyTwoWeekHighChange\":-1.0999985,\"fiftyTwoWeekHighChangePercent\":-0.009016381,\"fiftyTwoWeekChangePercent\":14.42362,\"dividendDate\":1725321600,\"earningsTimestamp\":1729627200,\"earningsTimestampStart\":1737120600,\"earningsTimestampEnd\":1737466200,\"earningsCallTimestampStart\":1729692000,\"earningsCallTimestampEnd\":1729692000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.4,\"trailingPE\":25.560253,\"dividendRate\":0.4,\"trailingAnnualDividendYield\":0.003501707,\"dividendYield\":0.35,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.73,\"epsForward\":5.72,\"epsCurrentYear\":5.25,\"priceEpsCurrentYear\":23.028572,\"sharesOutstanding\":31842600,\"bookValue\":49.782,\"fiftyDayAverage\":101.3306,\"fiftyDayAverageChange\":19.569405,\"fiftyDayAverageChangePercent\":0.19312434,\"twoHundredDayAverage\":97.16775,\"twoHundredDayAverageChange\":23.732254,\"twoHundredDayAverageChangePercent\":0.24424003,\"marketCap\":3849770496,\"forwardPE\":21.136364,\"priceToBook\":2.4285886,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":5.8391,\"displayName\":\"John - Bean\",\"symbol\":\"JBT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":85.65,\"fiftyTwoWeekLow\":61.23,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"Liberty Media Corporation - Ser\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1404826200000,\"priceHint\":2,\"postMarketChangePercent\":-0.303767,\"postMarketTime\":1731539512,\"postMarketPrice\":85.33,\"postMarketChange\":-0.259995,\"regularMarketChange\":4.6299973,\"regularMarketTime\":1731531601,\"regularMarketPrice\":85.59,\"regularMarketDayHigh\":85.65,\"regularMarketDayRange\":\"80.05 - - 85.65\",\"regularMarketDayLow\":80.05,\"regularMarketVolume\":2819944,\"regularMarketPreviousClose\":80.96,\"bid\":78.41,\"ask\":90.62,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_331718339\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Formula - One Group\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":80.885,\"averageDailyVolume3Month\":1039882,\"averageDailyVolume10Day\":1024550,\"fiftyTwoWeekLowChange\":24.359997,\"fiftyTwoWeekLowChangePercent\":0.39784414,\"fiftyTwoWeekRange\":\"61.23 - - 85.65\",\"fiftyTwoWeekHighChange\":-0.060005188,\"fiftyTwoWeekHighChangePercent\":-7.0058595E-4,\"fiftyTwoWeekChangePercent\":27.536238,\"earningsTimestamp\":1730985300,\"earningsTimestampStart\":1730985300,\"earningsTimestampEnd\":1730985300,\"earningsCallTimestampStart\":1730991600,\"earningsCallTimestampEnd\":1730991600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":79.99065,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.07,\"epsForward\":1.34,\"epsCurrentYear\":1.12,\"priceEpsCurrentYear\":76.41964,\"sharesOutstanding\":222056992,\"bookValue\":32.406,\"fiftyDayAverage\":78.3522,\"fiftyDayAverageChange\":7.237793,\"fiftyDayAverageChangePercent\":0.09237511,\"twoHundredDayAverage\":73.550125,\"twoHundredDayAverageChange\":12.039871,\"twoHundredDayAverageChangePercent\":0.16369614,\"marketCap\":21114025984,\"forwardPE\":63.87313,\"priceToBook\":2.6411777,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2023-08-04\",\"regularMarketChangePercent\":5.71887,\"symbol\":\"FWONK\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"PNK\",\"fiftyTwoWeekHigh\":49.14,\"fiftyTwoWeekLow\":10.95,\"shortName\":\"Siemens - Energy AG\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":false,\"firstTradeDateMilliseconds\":1607956200000,\"priceHint\":2,\"regularMarketChange\":2.630001,\"regularMarketTime\":1731531538,\"regularMarketPrice\":48.63,\"regularMarketDayHigh\":49.14,\"regularMarketDayRange\":\"47.14 - - 49.14\",\"regularMarketDayLow\":47.14,\"regularMarketVolume\":55136,\"regularMarketPreviousClose\":46.0,\"bid\":48.8,\"ask\":48.86,\"bidSize\":400,\"askSize\":400,\"market\":\"us_market\",\"messageBoardId\":\"finmb_612920998\",\"fullExchangeName\":\"OTC - Markets OTCPK\",\"longName\":\"Siemens Energy AG\",\"financialCurrency\":\"EUR\",\"regularMarketOpen\":47.14,\"averageDailyVolume3Month\":149707,\"averageDailyVolume10Day\":674960,\"fiftyTwoWeekLowChange\":37.68,\"fiftyTwoWeekLowChangePercent\":3.441096,\"fiftyTwoWeekRange\":\"10.95 - - 49.14\",\"fiftyTwoWeekHighChange\":-0.5099983,\"fiftyTwoWeekHighChangePercent\":-0.010378476,\"fiftyTwoWeekChangePercent\":292.2972,\"dividendDate\":1647302400,\"earningsTimestamp\":1739357940,\"earningsTimestampStart\":1739357940,\"earningsTimestampEnd\":1739357940,\"earningsCallTimestampStart\":1739357940,\"earningsCallTimestampEnd\":1739357940,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":65.71622,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.74,\"sharesOutstanding\":790126976,\"bookValue\":11.317,\"fiftyDayAverage\":37.3272,\"fiftyDayAverageChange\":11.302799,\"fiftyDayAverageChangePercent\":0.30280328,\"twoHundredDayAverage\":26.2052,\"twoHundredDayAverageChange\":22.4248,\"twoHundredDayAverageChangePercent\":0.8557386,\"marketCap\":38423875584,\"priceToBook\":4.2970753,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":5.717394,\"symbol\":\"SMNEY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":26.91,\"fiftyTwoWeekLow\":13.51,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"Coupang, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1615473000000,\"priceHint\":2,\"postMarketChangePercent\":-0.30888003,\"postMarketTime\":1731545962,\"postMarketPrice\":25.82,\"postMarketChange\":-0.07999992,\"regularMarketChange\":1.39,\"regularMarketTime\":1731531602,\"regularMarketPrice\":25.9,\"regularMarketDayHigh\":26.07,\"regularMarketDayRange\":\"24.72 - - 26.07\",\"regularMarketDayLow\":24.72,\"regularMarketVolume\":9992435,\"regularMarketPreviousClose\":24.51,\"bid\":25.8,\"ask\":25.88,\"bidSize\":13,\"askSize\":22,\"market\":\"us_market\",\"messageBoardId\":\"finmb_704377650\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Coupang, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":24.85,\"averageDailyVolume3Month\":7111077,\"averageDailyVolume10Day\":12144890,\"fiftyTwoWeekLowChange\":12.389999,\"fiftyTwoWeekLowChangePercent\":0.9170984,\"fiftyTwoWeekRange\":\"13.51 - - 26.91\",\"fiftyTwoWeekHighChange\":-1.0100002,\"fiftyTwoWeekHighChangePercent\":-0.037532523,\"fiftyTwoWeekChangePercent\":54.539726,\"earningsTimestamp\":1730840700,\"earningsTimestampStart\":1730840700,\"earningsTimestampEnd\":1730840700,\"earningsCallTimestampStart\":1730845800,\"earningsCallTimestampEnd\":1730845800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":45.438595,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.57,\"epsForward\":0.47,\"epsCurrentYear\":0.08243,\"priceEpsCurrentYear\":314.206,\"sharesOutstanding\":1624060032,\"bookValue\":2.332,\"fiftyDayAverage\":24.7662,\"fiftyDayAverageChange\":1.1338005,\"fiftyDayAverageChangePercent\":0.04578016,\"twoHundredDayAverage\":21.39,\"twoHundredDayAverageChange\":4.51,\"twoHundredDayAverageChangePercent\":0.2108462,\"marketCap\":46590472192,\"forwardPE\":55.10638,\"priceToBook\":11.106346,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-03-11\",\"regularMarketChangePercent\":5.67115,\"displayName\":\"Coupang\",\"symbol\":\"CPNG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":115.62,\"fiftyTwoWeekLow\":48.56,\"averageAnalystRating\":\"2.9 - - Hold\",\"shortName\":\"Shopify Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1432128600000,\"priceHint\":2,\"postMarketChangePercent\":-0.156393,\"postMarketTime\":1731545998,\"postMarketPrice\":114.91,\"postMarketChange\":-0.179993,\"regularMarketChange\":6.17,\"regularMarketTime\":1731531602,\"regularMarketPrice\":115.09,\"regularMarketDayHigh\":115.62,\"regularMarketDayRange\":\"106.19 - - 115.62\",\"regularMarketDayLow\":106.19,\"regularMarketVolume\":19757496,\"regularMarketPreviousClose\":108.92,\"bid\":114.61,\"ask\":115.14,\"bidSize\":8,\"askSize\":13,\"market\":\"us_market\",\"messageBoardId\":\"finmb_84159238\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Shopify - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":107.5,\"averageDailyVolume3Month\":6479955,\"averageDailyVolume10Day\":12596880,\"fiftyTwoWeekLowChange\":66.53,\"fiftyTwoWeekLowChangePercent\":1.3700576,\"fiftyTwoWeekRange\":\"48.56 - - 115.62\",\"fiftyTwoWeekHighChange\":-0.5300064,\"fiftyTwoWeekHighChangePercent\":-0.0045840372,\"fiftyTwoWeekChangePercent\":61.890602,\"earningsTimestamp\":1731418200,\"earningsTimestampStart\":1739280600,\"earningsTimestampEnd\":1739799000,\"earningsCallTimestampStart\":1731418200,\"earningsCallTimestampEnd\":1731418200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":109.60953,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.05,\"epsForward\":1.85,\"epsCurrentYear\":1.53,\"priceEpsCurrentYear\":75.22222,\"sharesOutstanding\":1211120000,\"bookValue\":7.047,\"fiftyDayAverage\":79.4768,\"fiftyDayAverageChange\":35.613197,\"fiftyDayAverageChangePercent\":0.44809553,\"twoHundredDayAverage\":72.35285,\"twoHundredDayAverageChange\":42.737144,\"twoHundredDayAverageChangePercent\":0.5906767,\"marketCap\":141302890496,\"forwardPE\":62.210808,\"priceToBook\":16.331772,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":5.66471,\"displayName\":\"Shopify\",\"symbol\":\"SHOP\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":39.8,\"fiftyTwoWeekLow\":22.075,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"Informatica Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1635341400000,\"priceHint\":2,\"postMarketChangePercent\":-0.824106,\"postMarketTime\":1731539185,\"postMarketPrice\":25.2601,\"postMarketChange\":-0.2099,\"regularMarketChange\":1.36,\"regularMarketTime\":1731531602,\"regularMarketPrice\":25.47,\"regularMarketDayHigh\":25.59,\"regularMarketDayRange\":\"24.06 - - 25.59\",\"regularMarketDayLow\":24.06,\"regularMarketVolume\":3315475,\"regularMarketPreviousClose\":24.11,\"bid\":25.4,\"ask\":25.37,\"bidSize\":11,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_313012642\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Informatica - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":24.1,\"averageDailyVolume3Month\":1755920,\"averageDailyVolume10Day\":3355600,\"fiftyTwoWeekLowChange\":3.3949986,\"fiftyTwoWeekLowChangePercent\":0.15379381,\"fiftyTwoWeekRange\":\"22.075 - - 39.8\",\"fiftyTwoWeekHighChange\":-14.33,\"fiftyTwoWeekHighChangePercent\":-0.36005026,\"fiftyTwoWeekChangePercent\":-0.82270503,\"earningsTimestamp\":1730318700,\"earningsTimestampStart\":1730318700,\"earningsTimestampEnd\":1730318700,\"earningsCallTimestampStart\":1730322000,\"earningsCallTimestampEnd\":1730322000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":110.73913,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.23,\"epsForward\":1.23,\"epsCurrentYear\":1.10625,\"priceEpsCurrentYear\":23.023727,\"sharesOutstanding\":261320992,\"bookValue\":7.886,\"fiftyDayAverage\":25.6704,\"fiftyDayAverageChange\":-0.2004013,\"fiftyDayAverageChangePercent\":-0.007806707,\"twoHundredDayAverage\":28.92295,\"twoHundredDayAverageChange\":-3.4529514,\"twoHundredDayAverageChangePercent\":-0.11938448,\"marketCap\":7777773056,\"forwardPE\":20.707315,\"priceToBook\":3.2297742,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-10-27\",\"regularMarketChangePercent\":5.64081,\"displayName\":\"Informatica\",\"symbol\":\"INFA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":15.84,\"fiftyTwoWeekLow\":8.83,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"Pactiv Evergreen Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1600349400000,\"priceHint\":2,\"postMarketChangePercent\":1.06732,\"postMarketTime\":1731537303,\"postMarketPrice\":12.31,\"postMarketChange\":0.13,\"regularMarketChange\":0.6500006,\"regularMarketTime\":1731531600,\"regularMarketPrice\":12.18,\"regularMarketDayHigh\":12.405,\"regularMarketDayRange\":\"11.585 - - 12.405\",\"regularMarketDayLow\":11.585,\"regularMarketVolume\":363121,\"regularMarketPreviousClose\":11.53,\"bid\":12.15,\"ask\":12.21,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_81686253\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Pactiv - Evergreen Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":11.61,\"averageDailyVolume3Month\":364466,\"averageDailyVolume10Day\":231530,\"fiftyTwoWeekLowChange\":3.3500004,\"fiftyTwoWeekLowChangePercent\":0.37938848,\"fiftyTwoWeekRange\":\"8.83 - - 15.84\",\"fiftyTwoWeekHighChange\":-3.6599998,\"fiftyTwoWeekHighChangePercent\":-0.2310606,\"fiftyTwoWeekChangePercent\":0.8748889,\"dividendDate\":1726185600,\"earningsTimestamp\":1731409500,\"earningsTimestampStart\":1731409500,\"earningsTimestampEnd\":1731409500,\"earningsCallTimestampStart\":1731418200,\"earningsCallTimestampEnd\":1731418200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.4,\"trailingPE\":29.000002,\"dividendRate\":0.4,\"trailingAnnualDividendYield\":0.03469211,\"dividendYield\":3.47,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.42,\"epsForward\":1.27,\"epsCurrentYear\":0.99,\"priceEpsCurrentYear\":12.303031,\"sharesOutstanding\":179255008,\"bookValue\":6.031,\"fiftyDayAverage\":11.5826,\"fiftyDayAverageChange\":0.59740067,\"fiftyDayAverageChangePercent\":0.051577426,\"twoHundredDayAverage\":12.6215,\"twoHundredDayAverageChange\":-0.4414997,\"twoHundredDayAverageChangePercent\":-0.034979973,\"marketCap\":2183325952,\"forwardPE\":9.590551,\"priceToBook\":2.0195656,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2020-09-17\",\"regularMarketChangePercent\":5.6374726,\"displayName\":\"Pactiv - Evergreen\",\"symbol\":\"PTVE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":22.26,\"fiftyTwoWeekLow\":9.225,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Sunrun Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1438781400000,\"priceHint\":2,\"postMarketChangePercent\":0.193762,\"postMarketTime\":1731545937,\"postMarketPrice\":10.2899,\"postMarketChange\":0.0198994,\"regularMarketChange\":0.5300007,\"regularMarketTime\":1731531600,\"regularMarketPrice\":10.27,\"regularMarketDayHigh\":10.47,\"regularMarketDayRange\":\"9.77 - - 10.47\",\"regularMarketDayLow\":9.77,\"regularMarketVolume\":12572263,\"regularMarketPreviousClose\":9.74,\"bid\":10.25,\"ask\":10.31,\"bidSize\":95,\"askSize\":65,\"market\":\"us_market\",\"messageBoardId\":\"finmb_44576381\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Sunrun - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":9.77,\"averageDailyVolume3Month\":8486420,\"averageDailyVolume10Day\":16089420,\"fiftyTwoWeekLowChange\":1.0450001,\"fiftyTwoWeekLowChangePercent\":0.113279134,\"fiftyTwoWeekRange\":\"9.225 - - 22.26\",\"fiftyTwoWeekHighChange\":-11.99,\"fiftyTwoWeekHighChangePercent\":-0.5386343,\"fiftyTwoWeekChangePercent\":-12.957996,\"earningsTimestamp\":1731013291,\"earningsTimestampStart\":1731013291,\"earningsTimestampEnd\":1731013291,\"earningsCallTimestampStart\":1731015000,\"earningsCallTimestampEnd\":1731015000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-1.75,\"epsForward\":-0.75,\"epsCurrentYear\":-0.27,\"priceEpsCurrentYear\":-38.037037,\"sharesOutstanding\":224339008,\"bookValue\":23.553,\"fiftyDayAverage\":16.2168,\"fiftyDayAverageChange\":-5.9468,\"fiftyDayAverageChangePercent\":-0.36670613,\"twoHundredDayAverage\":14.548075,\"twoHundredDayAverageChange\":-4.2780743,\"twoHundredDayAverageChangePercent\":-0.29406464,\"marketCap\":2303961600,\"forwardPE\":-13.693334,\"priceToBook\":0.4360379,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":5.441486,\"displayName\":\"Sunrun\",\"symbol\":\"RUN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":12.7,\"fiftyTwoWeekLow\":6.64,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"Warner Bros. Discovery, Inc. - \",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1120829400000,\"priceHint\":2,\"postMarketChangePercent\":-0.205766,\"postMarketTime\":1731545993,\"postMarketPrice\":9.7,\"postMarketChange\":-0.0200005,\"regularMarketChange\":0.5,\"regularMarketTime\":1731531601,\"regularMarketPrice\":9.72,\"regularMarketDayHigh\":9.89,\"regularMarketDayRange\":\"9.31 - - 9.89\",\"regularMarketDayLow\":9.31,\"regularMarketVolume\":45571304,\"regularMarketPreviousClose\":9.22,\"bid\":9.68,\"ask\":9.72,\"bidSize\":86,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_22666093\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Warner - Bros. Discovery, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":9.4,\"averageDailyVolume3Month\":30267554,\"averageDailyVolume10Day\":41752270,\"fiftyTwoWeekLowChange\":3.0800004,\"fiftyTwoWeekLowChangePercent\":0.4638555,\"fiftyTwoWeekRange\":\"6.64 - - 12.7\",\"fiftyTwoWeekHighChange\":-2.9799995,\"fiftyTwoWeekHighChangePercent\":-0.23464563,\"fiftyTwoWeekChangePercent\":-5.8139563,\"earningsTimestamp\":1730980800,\"earningsTimestampStart\":1730980800,\"earningsTimestampEnd\":1730980800,\"earningsCallTimestampStart\":1730984400,\"earningsCallTimestampEnd\":1730984400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-4.82,\"epsForward\":-0.13,\"epsCurrentYear\":-4.42,\"priceEpsCurrentYear\":-2.199095,\"sharesOutstanding\":2453169920,\"bookValue\":14.315,\"fiftyDayAverage\":8.0148,\"fiftyDayAverageChange\":1.7052002,\"fiftyDayAverageChangePercent\":0.21275643,\"twoHundredDayAverage\":8.1766,\"twoHundredDayAverageChange\":1.5433998,\"twoHundredDayAverageChangePercent\":0.18875813,\"marketCap\":23844812800,\"forwardPE\":-74.76923,\"priceToBook\":0.67900807,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Discovery, - Inc.\",\"nameChangeDate\":\"2024-11-08\",\"regularMarketChangePercent\":5.422993,\"displayName\":\"Warner - Bros. Discovery\",\"symbol\":\"WBD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":153.54,\"fiftyTwoWeekLow\":71.97,\"averageAnalystRating\":\"2.6 - - Hold\",\"shortName\":\"Albemarle Corporation\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":761927400000,\"priceHint\":2,\"postMarketChangePercent\":0.790272,\"postMarketTime\":1731545806,\"postMarketPrice\":109.045,\"postMarketChange\":0.854996,\"regularMarketChange\":5.39,\"regularMarketTime\":1731531602,\"regularMarketPrice\":108.19,\"regularMarketDayHigh\":111.36,\"regularMarketDayRange\":\"107.4 - - 111.36\",\"regularMarketDayLow\":107.4,\"regularMarketVolume\":3818610,\"regularMarketPreviousClose\":102.8,\"bid\":108.58,\"ask\":109.9,\"bidSize\":11,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_18671\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Albemarle - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":108.26,\"averageDailyVolume3Month\":2639876,\"averageDailyVolume10Day\":2816990,\"fiftyTwoWeekLowChange\":36.22,\"fiftyTwoWeekLowChangePercent\":0.50326526,\"fiftyTwoWeekRange\":\"71.97 - - 153.54\",\"fiftyTwoWeekHighChange\":-45.34999,\"fiftyTwoWeekHighChangePercent\":-0.2953627,\"fiftyTwoWeekChangePercent\":-11.753673,\"dividendDate\":1735776000,\"earningsTimestamp\":1730927707,\"earningsTimestampStart\":1739394000,\"earningsTimestampEnd\":1739826000,\"earningsCallTimestampStart\":1730984400,\"earningsCallTimestampEnd\":1730984400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.605,\"dividendRate\":1.62,\"trailingAnnualDividendYield\":0.015612841,\"dividendYield\":1.58,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-16.76,\"epsForward\":1.84,\"epsCurrentYear\":-1.22,\"priceEpsCurrentYear\":-88.68033,\"sharesOutstanding\":117540000,\"bookValue\":68.11,\"fiftyDayAverage\":94.5954,\"fiftyDayAverageChange\":13.5946045,\"fiftyDayAverageChangePercent\":0.14371318,\"twoHundredDayAverage\":106.47535,\"twoHundredDayAverageChange\":1.714653,\"twoHundredDayAverageChangePercent\":0.016103756,\"marketCap\":12716652544,\"forwardPE\":58.798912,\"priceToBook\":1.5884598,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":5.24319,\"displayName\":\"Albemarle\",\"symbol\":\"ALB\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":413.7,\"fiftyTwoWeekLow\":265.0,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"West Pharmaceutical Services, I\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":-0.290698,\"postMarketTime\":1731542050,\"postMarketPrice\":343.0,\"postMarketChange\":-1.0,\"regularMarketChange\":16.53,\"regularMarketTime\":1731531602,\"regularMarketPrice\":344.0,\"regularMarketDayHigh\":347.53,\"regularMarketDayRange\":\"328.94 - - 347.53\",\"regularMarketDayLow\":328.94,\"regularMarketVolume\":970338,\"regularMarketPreviousClose\":327.47,\"bid\":308.87,\"ask\":344.81,\"bidSize\":9,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_313784\",\"fullExchangeName\":\"NYSE\",\"longName\":\"West - Pharmaceutical Services, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":328.94,\"averageDailyVolume3Month\":565035,\"averageDailyVolume10Day\":653790,\"fiftyTwoWeekLowChange\":79.0,\"fiftyTwoWeekLowChangePercent\":0.2981132,\"fiftyTwoWeekRange\":\"265.0 - - 413.7\",\"fiftyTwoWeekHighChange\":-69.70001,\"fiftyTwoWeekHighChangePercent\":-0.1684796,\"fiftyTwoWeekChangePercent\":-0.06681681,\"dividendDate\":1732060800,\"earningsTimestamp\":1729764012,\"earningsTimestampStart\":1739453400,\"earningsTimestampEnd\":1739799000,\"earningsCallTimestampStart\":1729774800,\"earningsCallTimestampEnd\":1729774800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.8,\"trailingPE\":48.51904,\"dividendRate\":0.84,\"trailingAnnualDividendYield\":0.0024429718,\"dividendYield\":0.26,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":7.09,\"epsForward\":7.52,\"epsCurrentYear\":6.58,\"priceEpsCurrentYear\":52.279636,\"sharesOutstanding\":72422400,\"bookValue\":37.96,\"fiftyDayAverage\":304.8672,\"fiftyDayAverageChange\":39.132812,\"fiftyDayAverageChangePercent\":0.1283602,\"twoHundredDayAverage\":335.998,\"twoHundredDayAverageChange\":8.002014,\"twoHundredDayAverageChangePercent\":0.023815662,\"marketCap\":24913305600,\"forwardPE\":45.744682,\"priceToBook\":9.062171,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":5.04779,\"displayName\":\"West - Pharmaceutical Services\",\"symbol\":\"WST\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":53.92,\"fiftyTwoWeekLow\":19.61,\"averageAnalystRating\":\"1.6 - - Buy\",\"shortName\":\"SpringWorks Therapeutics, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1568381400000,\"priceHint\":2,\"postMarketChangePercent\":-3.71651,\"postMarketTime\":1731541524,\"postMarketPrice\":33.42,\"postMarketChange\":-1.29,\"regularMarketChange\":1.6100006,\"regularMarketTime\":1731531600,\"regularMarketPrice\":34.71,\"regularMarketDayHigh\":35.74,\"regularMarketDayRange\":\"33.19 - - 35.74\",\"regularMarketDayLow\":33.19,\"regularMarketVolume\":2180419,\"regularMarketPreviousClose\":33.1,\"bid\":34.62,\"ask\":34.79,\"bidSize\":2,\"askSize\":3,\"market\":\"us_market\",\"messageBoardId\":\"finmb_610391524\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"SpringWorks - Therapeutics, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":33.54,\"averageDailyVolume3Month\":942709,\"averageDailyVolume10Day\":1307250,\"fiftyTwoWeekLowChange\":15.099998,\"fiftyTwoWeekLowChangePercent\":0.7700152,\"fiftyTwoWeekRange\":\"19.61 - - 53.92\",\"fiftyTwoWeekHighChange\":-19.21,\"fiftyTwoWeekHighChangePercent\":-0.35626855,\"fiftyTwoWeekChangePercent\":61.85819,\"earningsTimestamp\":1731411021,\"earningsTimestampStart\":1731411021,\"earningsTimestampEnd\":1731411021,\"earningsCallTimestampStart\":1731418200,\"earningsCallTimestampEnd\":1731418200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-4.44,\"epsForward\":-2.14,\"epsCurrentYear\":-3.32,\"priceEpsCurrentYear\":-10.45482,\"sharesOutstanding\":74273000,\"bookValue\":7.501,\"fiftyDayAverage\":32.9461,\"fiftyDayAverageChange\":1.7639008,\"fiftyDayAverageChangePercent\":0.05353899,\"twoHundredDayAverage\":40.298527,\"twoHundredDayAverageChange\":-5.5885277,\"twoHundredDayAverageChangePercent\":-0.13867821,\"marketCap\":2581952000,\"forwardPE\":-16.219625,\"priceToBook\":4.6273828,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":4.8640504,\"displayName\":\"SpringWorks - Therapeutics\",\"symbol\":\"SWTX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":131.49,\"fiftyTwoWeekLow\":76.53,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"BioNTech SE\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1570714200000,\"priceHint\":2,\"postMarketChangePercent\":1.34373,\"postMarketTime\":1731545880,\"postMarketPrice\":112.978,\"postMarketChange\":1.49799,\"regularMarketChange\":5.1600037,\"regularMarketTime\":1731531602,\"regularMarketPrice\":111.48,\"regularMarketDayHigh\":113.2,\"regularMarketDayRange\":\"105.79 - - 113.2\",\"regularMarketDayLow\":105.79,\"regularMarketVolume\":1224293,\"regularMarketPreviousClose\":106.32,\"bid\":81.24,\"ask\":136.25,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_51198843\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"BioNTech - SE\",\"financialCurrency\":\"EUR\",\"regularMarketOpen\":106.0,\"averageDailyVolume3Month\":1007671,\"averageDailyVolume10Day\":876450,\"fiftyTwoWeekLowChange\":34.950005,\"fiftyTwoWeekLowChangePercent\":0.45668373,\"fiftyTwoWeekRange\":\"76.53 - - 131.49\",\"fiftyTwoWeekHighChange\":-20.010002,\"fiftyTwoWeekHighChangePercent\":-0.15217888,\"fiftyTwoWeekChangePercent\":6.6399217,\"dividendDate\":1655424000,\"earningsTimestamp\":1730727000,\"earningsTimestampStart\":1730727000,\"earningsTimestampEnd\":1730727000,\"earningsCallTimestampStart\":1730725200,\"earningsCallTimestampEnd\":1730725200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-2.17,\"epsForward\":-3.9,\"epsCurrentYear\":-3.16,\"priceEpsCurrentYear\":-35.27848,\"sharesOutstanding\":239740000,\"bookValue\":79.73,\"fiftyDayAverage\":112.6268,\"fiftyDayAverageChange\":-1.1467972,\"fiftyDayAverageChangePercent\":-0.010182276,\"twoHundredDayAverage\":95.3976,\"twoHundredDayAverageChange\":16.082405,\"twoHundredDayAverageChangePercent\":0.16858292,\"marketCap\":26726215680,\"forwardPE\":-28.584616,\"priceToBook\":1.398219,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":4.8532767,\"symbol\":\"BNTX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":35.29,\"fiftyTwoWeekLow\":18.415,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"NCR Atleos Corporation\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1697463000000,\"priceHint\":2,\"postMarketChangePercent\":0.0328739,\"postMarketTime\":1731541514,\"postMarketPrice\":30.43,\"postMarketChange\":0.0100002,\"regularMarketChange\":1.38,\"regularMarketTime\":1731531602,\"regularMarketPrice\":30.42,\"regularMarketDayHigh\":32.8475,\"regularMarketDayRange\":\"29.35 - - 32.8475\",\"regularMarketDayLow\":29.35,\"regularMarketVolume\":768863,\"regularMarketPreviousClose\":29.04,\"bid\":30.46,\"ask\":31.17,\"bidSize\":10,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1801104960\",\"fullExchangeName\":\"NYSE\",\"longName\":\"NCR - Atleos Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":30.29,\"averageDailyVolume3Month\":395565,\"averageDailyVolume10Day\":408890,\"fiftyTwoWeekLowChange\":12.004999,\"fiftyTwoWeekLowChangePercent\":0.6519141,\"fiftyTwoWeekRange\":\"18.415 - - 35.29\",\"fiftyTwoWeekHighChange\":-4.870001,\"fiftyTwoWeekHighChangePercent\":-0.13799946,\"fiftyTwoWeekChangePercent\":25.823223,\"earningsTimestamp\":1731445500,\"earningsTimestampStart\":1731445500,\"earningsTimestampEnd\":1731445500,\"earningsCallTimestampStart\":1731504600,\"earningsCallTimestampEnd\":1731504600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-2.93,\"epsForward\":4.1,\"epsCurrentYear\":3.09,\"priceEpsCurrentYear\":9.844661,\"sharesOutstanding\":72321904,\"bookValue\":3.646,\"fiftyDayAverage\":27.9778,\"fiftyDayAverageChange\":2.4421997,\"fiftyDayAverageChangePercent\":0.08729062,\"twoHundredDayAverage\":25.704,\"twoHundredDayAverageChange\":4.7159996,\"twoHundredDayAverageChangePercent\":0.18347336,\"marketCap\":2200032256,\"forwardPE\":7.4195123,\"priceToBook\":8.34339,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"NCR - ATMCo, LLC\",\"nameChangeDate\":\"2024-11-08\",\"regularMarketChangePercent\":4.75206,\"displayName\":\"NCR - Atleos\",\"symbol\":\"NATL\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"PNK\",\"fiftyTwoWeekHigh\":35.27,\"fiftyTwoWeekLow\":17.28,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Luckin Coffee Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":false,\"firstTradeDateMilliseconds\":1558099800000,\"priceHint\":2,\"regularMarketChange\":1.0999985,\"regularMarketTime\":1731531589,\"regularMarketPrice\":24.3,\"regularMarketDayHigh\":24.98,\"regularMarketDayRange\":\"23.2 - - 24.98\",\"regularMarketDayLow\":23.2,\"regularMarketVolume\":849916,\"regularMarketPreviousClose\":23.2,\"bid\":24.58,\"ask\":24.68,\"bidSize\":400,\"askSize\":400,\"market\":\"us_market\",\"messageBoardId\":\"finmb_570676370\",\"fullExchangeName\":\"OTC - Markets OTCPK\",\"longName\":\"Luckin Coffee Inc.\",\"financialCurrency\":\"CNY\",\"regularMarketOpen\":23.33,\"averageDailyVolume3Month\":2149631,\"averageDailyVolume10Day\":2321930,\"fiftyTwoWeekLowChange\":7.0199986,\"fiftyTwoWeekLowChangePercent\":0.4062499,\"fiftyTwoWeekRange\":\"17.28 - - 35.27\",\"fiftyTwoWeekHighChange\":-10.970001,\"fiftyTwoWeekHighChangePercent\":-0.31102923,\"fiftyTwoWeekChangePercent\":-24.225027,\"earningsTimestamp\":1730286001,\"earningsTimestampStart\":1730286001,\"earningsTimestampEnd\":1730286001,\"earningsCallTimestampStart\":1730289600,\"earningsCallTimestampEnd\":1730289600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":22.293577,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.09,\"epsForward\":1.46,\"epsCurrentYear\":1.15,\"priceEpsCurrentYear\":21.130434,\"sharesOutstanding\":262724992,\"bookValue\":32.988,\"fiftyDayAverage\":23.22734,\"fiftyDayAverageChange\":1.0726585,\"fiftyDayAverageChangePercent\":0.04618086,\"twoHundredDayAverage\":21.980825,\"twoHundredDayAverageChange\":2.3191738,\"twoHundredDayAverageChangePercent\":0.10550895,\"marketCap\":6487006720,\"forwardPE\":16.643835,\"priceToBook\":0.7366315,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":4.7413726,\"displayName\":\"Luckin - Coffee\",\"symbol\":\"LKNCY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":35.07,\"fiftyTwoWeekLow\":17.79,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"Confluent, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1624541400000,\"priceHint\":2,\"postMarketChangePercent\":0.689658,\"postMarketTime\":1731545673,\"postMarketPrice\":29.2,\"postMarketChange\":0.200001,\"regularMarketChange\":1.2999992,\"regularMarketTime\":1731531601,\"regularMarketPrice\":29.0,\"regularMarketDayHigh\":29.99,\"regularMarketDayRange\":\"27.73 - - 29.99\",\"regularMarketDayLow\":27.73,\"regularMarketVolume\":10023414,\"regularMarketPreviousClose\":27.7,\"bid\":28.98,\"ask\":29.32,\"bidSize\":16,\"askSize\":32,\"market\":\"us_market\",\"messageBoardId\":\"finmb_276431142\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Confluent, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":27.73,\"averageDailyVolume3Month\":3756284,\"averageDailyVolume10Day\":5547650,\"fiftyTwoWeekLowChange\":11.209999,\"fiftyTwoWeekLowChangePercent\":0.6301292,\"fiftyTwoWeekRange\":\"17.79 - - 35.07\",\"fiftyTwoWeekHighChange\":-6.0699997,\"fiftyTwoWeekHighChangePercent\":-0.1730824,\"fiftyTwoWeekChangePercent\":46.02003,\"earningsTimestamp\":1730318580,\"earningsTimestampStart\":1738789200,\"earningsTimestampEnd\":1739221200,\"earningsCallTimestampStart\":1730320200,\"earningsCallTimestampEnd\":1730320200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-1.1,\"epsForward\":0.35,\"epsCurrentYear\":0.259,\"priceEpsCurrentYear\":111.96911,\"sharesOutstanding\":258086000,\"bookValue\":2.854,\"fiftyDayAverage\":21.8895,\"fiftyDayAverageChange\":7.1105003,\"fiftyDayAverageChangePercent\":0.32483613,\"twoHundredDayAverage\":26.2731,\"twoHundredDayAverageChange\":2.7269,\"twoHundredDayAverageChangePercent\":0.103790574,\"marketCap\":9511855104,\"forwardPE\":82.85715,\"priceToBook\":10.161177,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-06-24\",\"regularMarketChangePercent\":4.6931376,\"displayName\":\"Confluent\",\"symbol\":\"CFLT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":151.22,\"fiftyTwoWeekLow\":60.49,\"averageAnalystRating\":\"2.7 - - Hold\",\"shortName\":\"Dollar Tree, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":794586600000,\"priceHint\":2,\"postMarketChangePercent\":-0.23024,\"postMarketTime\":1731545752,\"postMarketPrice\":65.0,\"postMarketChange\":-0.150002,\"regularMarketChange\":2.880001,\"regularMarketTime\":1731531601,\"regularMarketPrice\":65.15,\"regularMarketDayHigh\":65.21,\"regularMarketDayRange\":\"61.845 - - 65.21\",\"regularMarketDayLow\":61.845,\"regularMarketVolume\":4699531,\"regularMarketPreviousClose\":62.27,\"bid\":61.72,\"ask\":68.48,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_27685\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Dollar - Tree, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":62.43,\"averageDailyVolume3Month\":4715232,\"averageDailyVolume10Day\":5727560,\"fiftyTwoWeekLowChange\":4.66,\"fiftyTwoWeekLowChangePercent\":0.07703752,\"fiftyTwoWeekRange\":\"60.49 - - 151.22\",\"fiftyTwoWeekHighChange\":-86.07,\"fiftyTwoWeekHighChangePercent\":-0.5691707,\"fiftyTwoWeekChangePercent\":-42.70009,\"earningsTimestamp\":1733319000,\"earningsTimestampStart\":1733319000,\"earningsTimestampEnd\":1733319000,\"earningsCallTimestampStart\":1725451200,\"earningsCallTimestampEnd\":1725451200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-4.81,\"epsForward\":6.06,\"epsCurrentYear\":5.38,\"priceEpsCurrentYear\":12.109666,\"sharesOutstanding\":214992000,\"bookValue\":34.326,\"fiftyDayAverage\":68.0522,\"fiftyDayAverageChange\":-2.9021988,\"fiftyDayAverageChangePercent\":-0.042646658,\"twoHundredDayAverage\":105.56255,\"twoHundredDayAverageChange\":-40.41255,\"twoHundredDayAverageChangePercent\":-0.38283038,\"marketCap\":14006728704,\"forwardPE\":10.750826,\"priceToBook\":1.8979782,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":4.6250215,\"displayName\":\"Dollar - Tree\",\"symbol\":\"DLTR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":40.98,\"fiftyTwoWeekLow\":26.98,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Ringcentral, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1380288600000,\"priceHint\":2,\"postMarketChangePercent\":0.89615226,\"postMarketTime\":1731540589,\"postMarketPrice\":38.28,\"postMarketChange\":0.34000015,\"regularMarketChange\":1.67,\"regularMarketTime\":1731531602,\"regularMarketPrice\":37.94,\"regularMarketDayHigh\":38.29,\"regularMarketDayRange\":\"36.25 - - 38.29\",\"regularMarketDayLow\":36.25,\"regularMarketVolume\":1421229,\"regularMarketPreviousClose\":36.27,\"bid\":37.23,\"ask\":40.23,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_2398691\",\"fullExchangeName\":\"NYSE\",\"longName\":\"RingCentral, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":36.31,\"averageDailyVolume3Month\":1326422,\"averageDailyVolume10Day\":1533660,\"fiftyTwoWeekLowChange\":10.959999,\"fiftyTwoWeekLowChangePercent\":0.4062268,\"fiftyTwoWeekRange\":\"26.98 - - 40.98\",\"fiftyTwoWeekHighChange\":-3.040001,\"fiftyTwoWeekHighChangePercent\":-0.07418255,\"fiftyTwoWeekChangePercent\":24.810732,\"earningsTimestamp\":1731013500,\"earningsTimestampStart\":1731013500,\"earningsTimestampEnd\":1731013500,\"earningsCallTimestampStart\":1731016800,\"earningsCallTimestampEnd\":1731016800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-1.1,\"epsForward\":4.23,\"epsCurrentYear\":3.69,\"priceEpsCurrentYear\":10.281842,\"sharesOutstanding\":81895400,\"bookValue\":-5.972,\"fiftyDayAverage\":32.2632,\"fiftyDayAverageChange\":5.6768,\"fiftyDayAverageChangePercent\":0.17595279,\"twoHundredDayAverage\":32.5716,\"twoHundredDayAverageChange\":5.3683968,\"twoHundredDayAverageChangePercent\":0.16481832,\"marketCap\":3279916544,\"forwardPE\":8.969267,\"priceToBook\":-6.35298,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":4.60435,\"displayName\":\"RingCentral\",\"symbol\":\"RNG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":79.67,\"fiftyTwoWeekLow\":55.25,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"Liberty Media Corporation - Ser\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1357828200000,\"priceHint\":2,\"postMarketChangePercent\":-1.78503,\"postMarketTime\":1731536181,\"postMarketPrice\":77.03,\"postMarketChange\":-1.4,\"regularMarketChange\":3.449997,\"regularMarketTime\":1731531601,\"regularMarketPrice\":78.43,\"regularMarketDayHigh\":78.73,\"regularMarketDayRange\":\"74.49 - - 78.73\",\"regularMarketDayLow\":74.49,\"regularMarketVolume\":238143,\"regularMarketPreviousClose\":74.98,\"bid\":78.32,\"ask\":78.74,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_331718339\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Formula - One Group\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":74.7,\"averageDailyVolume3Month\":104066,\"averageDailyVolume10Day\":87070,\"fiftyTwoWeekLowChange\":23.18,\"fiftyTwoWeekLowChangePercent\":0.41954753,\"fiftyTwoWeekRange\":\"55.25 - - 79.67\",\"fiftyTwoWeekHighChange\":-1.2399979,\"fiftyTwoWeekHighChangePercent\":-0.015564176,\"fiftyTwoWeekChangePercent\":31.198597,\"earningsTimestamp\":1730985300,\"earningsTimestampStart\":1730985300,\"earningsTimestampEnd\":1730985300,\"earningsCallTimestampStart\":1730991600,\"earningsCallTimestampEnd\":1730991600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":73.299065,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.07,\"epsForward\":1.3,\"epsCurrentYear\":1.09,\"priceEpsCurrentYear\":71.954124,\"sharesOutstanding\":23985400,\"bookValue\":32.406,\"fiftyDayAverage\":72.339,\"fiftyDayAverageChange\":6.0910034,\"fiftyDayAverageChangePercent\":0.08420083,\"twoHundredDayAverage\":66.7578,\"twoHundredDayAverageChange\":11.672203,\"twoHundredDayAverageChangePercent\":0.17484404,\"marketCap\":20888809472,\"forwardPE\":60.330772,\"priceToBook\":2.4202309,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2023-08-04\",\"regularMarketChangePercent\":4.6012225,\"displayName\":\"Formula - One\",\"symbol\":\"FWONA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":39.46,\"fiftyTwoWeekLow\":16.02,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"Embraer S.A.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":964186200000,\"priceHint\":2,\"postMarketChangePercent\":0.12761419,\"postMarketTime\":1731545829,\"postMarketPrice\":39.23,\"postMarketChange\":0.049999237,\"regularMarketChange\":1.62,\"regularMarketTime\":1731531602,\"regularMarketPrice\":39.18,\"regularMarketDayHigh\":39.4509,\"regularMarketDayRange\":\"38.71 - - 39.4509\",\"regularMarketDayLow\":38.71,\"regularMarketVolume\":1695449,\"regularMarketPreviousClose\":37.56,\"bid\":39.28,\"ask\":39.19,\"bidSize\":8,\"askSize\":13,\"market\":\"us_market\",\"messageBoardId\":\"finmb_683719\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Embraer - S.A.\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":39.02,\"averageDailyVolume3Month\":1408165,\"averageDailyVolume10Day\":1495940,\"fiftyTwoWeekLowChange\":23.16,\"fiftyTwoWeekLowChangePercent\":1.4456928,\"fiftyTwoWeekRange\":\"16.02 - - 39.46\",\"fiftyTwoWeekHighChange\":-0.27999878,\"fiftyTwoWeekHighChangePercent\":-0.0070957625,\"fiftyTwoWeekChangePercent\":142.6006,\"dividendDate\":1547769600,\"earningsTimestamp\":1731064021,\"earningsTimestampStart\":1731064021,\"earningsTimestampEnd\":1731064021,\"earningsCallTimestampStart\":1731067200,\"earningsCallTimestampEnd\":1731067200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":14.457564,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.71,\"epsForward\":2.06,\"epsCurrentYear\":1.69,\"priceEpsCurrentYear\":23.183432,\"sharesOutstanding\":183658000,\"bookValue\":23.241,\"fiftyDayAverage\":34.9204,\"fiftyDayAverageChange\":4.2596016,\"fiftyDayAverageChangePercent\":0.121980324,\"twoHundredDayAverage\":28.49025,\"twoHundredDayAverageChange\":10.689751,\"twoHundredDayAverageChangePercent\":0.37520733,\"marketCap\":7429037056,\"forwardPE\":19.019419,\"priceToBook\":1.6858139,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":4.3131,\"displayName\":\"Embraer\",\"symbol\":\"ERJ\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":62.34,\"fiftyTwoWeekLow\":45.51,\"averageAnalystRating\":\"3.6 - - Underperform\",\"shortName\":\"Cheniere Energy Partners, LP\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1174483800000,\"priceHint\":2,\"postMarketChangePercent\":0.7893721,\"postMarketTime\":1731546000,\"postMarketPrice\":52.35,\"postMarketChange\":0.40999985,\"regularMarketChange\":2.14,\"regularMarketTime\":1731531602,\"regularMarketPrice\":51.94,\"regularMarketDayHigh\":52.2199,\"regularMarketDayRange\":\"50.45 - - 52.2199\",\"regularMarketDayLow\":50.45,\"regularMarketVolume\":249442,\"regularMarketPreviousClose\":49.8,\"bid\":51.82,\"ask\":51.8,\"bidSize\":8,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_30834687\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Cheniere - Energy Partners, L.P.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":50.37,\"averageDailyVolume3Month\":123809,\"averageDailyVolume10Day\":204350,\"fiftyTwoWeekLowChange\":6.4300003,\"fiftyTwoWeekLowChangePercent\":0.14128764,\"fiftyTwoWeekRange\":\"45.51 - - 62.34\",\"fiftyTwoWeekHighChange\":-10.400002,\"fiftyTwoWeekHighChangePercent\":-0.1668271,\"fiftyTwoWeekChangePercent\":-9.904599,\"dividendDate\":1731542400,\"earningsTimestamp\":1730374200,\"earningsTimestampStart\":1730374200,\"earningsTimestampEnd\":1730374200,\"earningsCallTimestampStart\":1730386800,\"earningsCallTimestampEnd\":1730386800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":3.69,\"trailingPE\":10.753623,\"dividendRate\":3.47,\"trailingAnnualDividendYield\":0.07409639,\"dividendYield\":6.96,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.83,\"epsForward\":4.3,\"epsCurrentYear\":4.51,\"priceEpsCurrentYear\":11.516629,\"sharesOutstanding\":484047008,\"bookValue\":3.31,\"fiftyDayAverage\":49.1436,\"fiftyDayAverageChange\":2.7963982,\"fiftyDayAverageChangePercent\":0.05690259,\"twoHundredDayAverage\":49.3817,\"twoHundredDayAverageChange\":2.5583,\"twoHundredDayAverageChangePercent\":0.051806644,\"marketCap\":25141401600,\"forwardPE\":12.079069,\"priceToBook\":15.691843,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":4.29719,\"displayName\":\"Cheniere - Energy Partners, L.P\",\"symbol\":\"CQP\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":15.98,\"fiftyTwoWeekLow\":8.43,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"Mirion Technologies, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1597930200000,\"priceHint\":2,\"postMarketChangePercent\":0.664896,\"postMarketTime\":1731543894,\"postMarketPrice\":15.14,\"postMarketChange\":0.1,\"regularMarketChange\":0.61,\"regularMarketTime\":1731531602,\"regularMarketPrice\":15.04,\"regularMarketDayHigh\":15.23,\"regularMarketDayRange\":\"14.38 - - 15.23\",\"regularMarketDayLow\":14.38,\"regularMarketVolume\":3121683,\"regularMarketPreviousClose\":14.43,\"bid\":14.76,\"ask\":15.4,\"bidSize\":10,\"askSize\":29,\"market\":\"us_market\",\"messageBoardId\":\"finmb_836768\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Mirion - Technologies, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":14.57,\"averageDailyVolume3Month\":1933955,\"averageDailyVolume10Day\":2854040,\"fiftyTwoWeekLowChange\":6.6099997,\"fiftyTwoWeekLowChangePercent\":0.78410435,\"fiftyTwoWeekRange\":\"8.43 - - 15.98\",\"fiftyTwoWeekHighChange\":-0.9399996,\"fiftyTwoWeekHighChangePercent\":-0.058823504,\"fiftyTwoWeekChangePercent\":70.1651,\"earningsTimestamp\":1730233800,\"earningsTimestampStart\":1739271540,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730300400,\"earningsCallTimestampEnd\":1730300400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.33,\"epsForward\":0.49,\"epsCurrentYear\":0.39,\"priceEpsCurrentYear\":38.564102,\"sharesOutstanding\":225500000,\"bookValue\":7.348,\"fiftyDayAverage\":12.4266,\"fiftyDayAverageChange\":2.6133995,\"fiftyDayAverageChangePercent\":0.21030687,\"twoHundredDayAverage\":10.9804,\"twoHundredDayAverageChange\":4.0596,\"twoHundredDayAverageChangePercent\":0.3697133,\"marketCap\":3391520000,\"forwardPE\":30.693876,\"priceToBook\":2.0468154,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":4.2273,\"displayName\":\"Mirion\",\"symbol\":\"MIR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":237.72,\"fiftyTwoWeekLow\":107.13,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"Snowflake Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1600263000000,\"priceHint\":2,\"postMarketChangePercent\":0.39012453,\"postMarketTime\":1731545960,\"postMarketPrice\":131.24,\"postMarketChange\":0.51000977,\"regularMarketChange\":5.27,\"regularMarketTime\":1731531602,\"regularMarketPrice\":130.73,\"regularMarketDayHigh\":134.59,\"regularMarketDayRange\":\"126.18 - - 134.59\",\"regularMarketDayLow\":126.18,\"regularMarketVolume\":10780887,\"regularMarketPreviousClose\":125.46,\"bid\":130.95,\"ask\":131.4,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_275004592\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Snowflake - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":126.38,\"averageDailyVolume3Month\":6719887,\"averageDailyVolume10Day\":4664250,\"fiftyTwoWeekLowChange\":23.599998,\"fiftyTwoWeekLowChangePercent\":0.22029309,\"fiftyTwoWeekRange\":\"107.13 - - 237.72\",\"fiftyTwoWeekHighChange\":-106.990005,\"fiftyTwoWeekHighChangePercent\":-0.45006734,\"fiftyTwoWeekChangePercent\":-22.060013,\"earningsTimestamp\":1732143600,\"earningsTimestampStart\":1732143600,\"earningsTimestampEnd\":1732143600,\"earningsCallTimestampStart\":1732140000,\"earningsCallTimestampEnd\":1732140000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-3.19,\"epsForward\":0.93,\"epsCurrentYear\":0.6,\"priceEpsCurrentYear\":217.88332,\"sharesOutstanding\":335200000,\"bookValue\":12.319,\"fiftyDayAverage\":115.6432,\"fiftyDayAverageChange\":15.086792,\"fiftyDayAverageChangePercent\":0.13045983,\"twoHundredDayAverage\":144.7472,\"twoHundredDayAverageChange\":-14.017197,\"twoHundredDayAverageChangePercent\":-0.09683916,\"marketCap\":43820695552,\"forwardPE\":140.56989,\"priceToBook\":10.612062,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2020-09-16\",\"regularMarketChangePercent\":4.20054,\"displayName\":\"Snowflake\",\"symbol\":\"SNOW\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":9.55,\"fiftyTwoWeekLow\":6.69,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Korea Electric Power Corporatio\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":783264600000,\"priceHint\":2,\"postMarketChangePercent\":1.2562861,\"postMarketTime\":1731542601,\"postMarketPrice\":8.06,\"postMarketChange\":0.10000038,\"regularMarketChange\":0.32,\"regularMarketTime\":1731531602,\"regularMarketPrice\":7.96,\"regularMarketDayHigh\":8.0174,\"regularMarketDayRange\":\"7.915 - - 8.0174\",\"regularMarketDayLow\":7.915,\"regularMarketVolume\":109981,\"regularMarketPreviousClose\":7.64,\"bid\":7.95,\"ask\":7.96,\"bidSize\":8,\"askSize\":18,\"market\":\"us_market\",\"messageBoardId\":\"finmb_380884\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Korea - Electric Power Corporation\",\"financialCurrency\":\"KRW\",\"regularMarketOpen\":8.06,\"averageDailyVolume3Month\":102982,\"averageDailyVolume10Day\":78350,\"fiftyTwoWeekLowChange\":1.27,\"fiftyTwoWeekLowChangePercent\":0.18983558,\"fiftyTwoWeekRange\":\"6.69 - - 9.55\",\"fiftyTwoWeekHighChange\":-1.5900002,\"fiftyTwoWeekHighChangePercent\":-0.16649216,\"fiftyTwoWeekChangePercent\":16.374266,\"dividendDate\":1430438400,\"earningsTimestamp\":1731495540,\"earningsTimestampStart\":1731495540,\"earningsTimestampEnd\":1731495540,\"earningsCallTimestampStart\":1731477600,\"earningsCallTimestampEnd\":1731477600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":5.1688313,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.54,\"epsForward\":4.64,\"sharesOutstanding\":1283929984,\"bookValue\":57353.367,\"fiftyDayAverage\":7.9146,\"fiftyDayAverageChange\":0.045400143,\"fiftyDayAverageChangePercent\":0.0057362523,\"twoHundredDayAverage\":7.80825,\"twoHundredDayAverageChange\":0.15175009,\"twoHundredDayAverageChangePercent\":0.019434584,\"marketCap\":10220083200,\"forwardPE\":1.7155173,\"priceToBook\":1.3878872E-4,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":4.18848,\"displayName\":\"Korea - Electric Power\",\"symbol\":\"KEP\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":29.39,\"fiftyTwoWeekLow\":18.26,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Frontline Plc\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":997104600000,\"priceHint\":2,\"postMarketChangePercent\":0.414293,\"postMarketTime\":1731545802,\"postMarketPrice\":19.39,\"postMarketChange\":0.0799999,\"regularMarketChange\":0.769999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":19.31,\"regularMarketDayHigh\":19.495,\"regularMarketDayRange\":\"18.86 - - 19.495\",\"regularMarketDayLow\":18.86,\"regularMarketVolume\":2783158,\"regularMarketPreviousClose\":18.54,\"bid\":19.39,\"ask\":19.48,\"bidSize\":11,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_144797851\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Frontline - plc\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":18.87,\"averageDailyVolume3Month\":1973956,\"averageDailyVolume10Day\":2048430,\"fiftyTwoWeekLowChange\":1.0499992,\"fiftyTwoWeekLowChangePercent\":0.057502694,\"fiftyTwoWeekRange\":\"18.26 - - 29.39\",\"fiftyTwoWeekHighChange\":-10.08,\"fiftyTwoWeekHighChangePercent\":-0.3429738,\"fiftyTwoWeekChangePercent\":-9.427768,\"dividendDate\":1727654400,\"earningsTimestamp\":1732877940,\"earningsTimestampStart\":1732877940,\"earningsTimestampEnd\":1732877940,\"earningsCallTimestampStart\":1725022800,\"earningsCallTimestampEnd\":1725022800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.91,\"trailingPE\":6.946043,\"dividendRate\":2.48,\"trailingAnnualDividendYield\":0.10302049,\"dividendYield\":13.38,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.78,\"epsForward\":3.6,\"epsCurrentYear\":2.63,\"priceEpsCurrentYear\":7.3422046,\"sharesOutstanding\":222623008,\"bookValue\":10.899,\"fiftyDayAverage\":21.8334,\"fiftyDayAverageChange\":-2.5234013,\"fiftyDayAverageChangePercent\":-0.11557528,\"twoHundredDayAverage\":23.6795,\"twoHundredDayAverageChange\":-4.369501,\"twoHundredDayAverageChangePercent\":-0.18452674,\"marketCap\":4298850304,\"forwardPE\":5.3638887,\"priceToBook\":1.7717221,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Frontline - Ltd.\",\"nameChangeDate\":\"2024-11-08\",\"regularMarketChangePercent\":4.15317,\"displayName\":\"Frontline\",\"symbol\":\"FRO\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":138.61,\"fiftyTwoWeekLow\":98.8,\"averageAnalystRating\":\"1.8 - - Buy\",\"shortName\":\"Datadog, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1568899800000,\"priceHint\":2,\"postMarketChangePercent\":0.124565,\"postMarketTime\":1731545648,\"postMarketPrice\":128.61,\"postMarketChange\":0.160004,\"regularMarketChange\":5.0399933,\"regularMarketTime\":1731531601,\"regularMarketPrice\":128.45,\"regularMarketDayHigh\":131.25,\"regularMarketDayRange\":\"122.67 - - 131.25\",\"regularMarketDayLow\":122.67,\"regularMarketVolume\":7680384,\"regularMarketPreviousClose\":123.41,\"bid\":122.04,\"ask\":135.32,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_134521275\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Datadog, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":123.07,\"averageDailyVolume3Month\":3112176,\"averageDailyVolume10Day\":4963280,\"fiftyTwoWeekLowChange\":29.649994,\"fiftyTwoWeekLowChangePercent\":0.30010113,\"fiftyTwoWeekRange\":\"98.8 - - 138.61\",\"fiftyTwoWeekHighChange\":-10.160004,\"fiftyTwoWeekHighChangePercent\":-0.073299214,\"fiftyTwoWeekChangePercent\":13.095676,\"earningsTimestamp\":1730980822,\"earningsTimestampStart\":1739280600,\"earningsTimestampEnd\":1739799000,\"earningsCallTimestampStart\":1730984400,\"earningsCallTimestampEnd\":1730984400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":229.375,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.56,\"epsForward\":2.03,\"epsCurrentYear\":1.78,\"priceEpsCurrentYear\":72.16292,\"sharesOutstanding\":313214016,\"bookValue\":7.765,\"fiftyDayAverage\":120.0258,\"fiftyDayAverageChange\":8.424194,\"fiftyDayAverageChangePercent\":0.070186526,\"twoHundredDayAverage\":121.550476,\"twoHundredDayAverageChange\":6.899521,\"twoHundredDayAverageChangePercent\":0.0567626,\"marketCap\":43637420032,\"forwardPE\":63.27586,\"priceToBook\":16.542177,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":4.0839424,\"displayName\":\"Datadog\",\"symbol\":\"DDOG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":134.22,\"fiftyTwoWeekLow\":74.69,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"BWX Technologies, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1280755800000,\"priceHint\":2,\"postMarketChangePercent\":1.43063,\"postMarketTime\":1731545983,\"postMarketPrice\":134.0,\"postMarketChange\":1.89,\"regularMarketChange\":5.18,\"regularMarketTime\":1731531602,\"regularMarketPrice\":132.11,\"regularMarketDayHigh\":134.215,\"regularMarketDayRange\":\"127.118 - - 134.215\",\"regularMarketDayLow\":127.118,\"regularMarketVolume\":1886582,\"regularMarketPreviousClose\":126.93,\"bid\":132.5,\"ask\":139.9,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_33424519\",\"fullExchangeName\":\"NYSE\",\"longName\":\"BWX - Technologies, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":127.21,\"averageDailyVolume3Month\":774273,\"averageDailyVolume10Day\":1323750,\"fiftyTwoWeekLowChange\":57.42,\"fiftyTwoWeekLowChangePercent\":0.76877755,\"fiftyTwoWeekRange\":\"74.69 - - 134.22\",\"fiftyTwoWeekHighChange\":-2.1100006,\"fiftyTwoWeekHighChangePercent\":-0.015720462,\"fiftyTwoWeekChangePercent\":71.54916,\"dividendDate\":1733788800,\"earningsTimestamp\":1730754600,\"earningsTimestampStart\":1730754600,\"earningsTimestampEnd\":1730754600,\"earningsCallTimestampStart\":1730757600,\"earningsCallTimestampEnd\":1730757600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.95,\"trailingPE\":42.073246,\"dividendRate\":0.96,\"trailingAnnualDividendYield\":0.00748444,\"dividendYield\":0.76,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.14,\"epsForward\":3.43,\"epsCurrentYear\":3.2,\"priceEpsCurrentYear\":41.284374,\"sharesOutstanding\":91443504,\"bookValue\":11.579,\"fiftyDayAverage\":113.9618,\"fiftyDayAverageChange\":18.148201,\"fiftyDayAverageChangePercent\":0.15924811,\"twoHundredDayAverage\":99.7879,\"twoHundredDayAverageChange\":32.322098,\"twoHundredDayAverageChangePercent\":0.32390797,\"marketCap\":12080601088,\"forwardPE\":38.516033,\"priceToBook\":11.409448,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":4.08099,\"displayName\":\"BWX\",\"symbol\":\"BWXT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":177.58,\"fiftyTwoWeekLow\":68.02,\"averageAnalystRating\":\"2.6 - - Hold\",\"shortName\":\"Commvault Systems, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1158931800000,\"priceHint\":2,\"postMarketChangePercent\":0.0169897,\"postMarketTime\":1731536635,\"postMarketPrice\":176.6,\"postMarketChange\":0.0299988,\"regularMarketChange\":6.8900146,\"regularMarketTime\":1731531600,\"regularMarketPrice\":176.57,\"regularMarketDayHigh\":177.58,\"regularMarketDayRange\":\"172.3174 - - 177.58\",\"regularMarketDayLow\":172.3174,\"regularMarketVolume\":733037,\"regularMarketPreviousClose\":169.68,\"bid\":176.26,\"ask\":177.23,\"bidSize\":2,\"askSize\":2,\"market\":\"us_market\",\"messageBoardId\":\"finmb_26789\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Commvault - Systems, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":172.51,\"averageDailyVolume3Month\":371489,\"averageDailyVolume10Day\":457530,\"fiftyTwoWeekLowChange\":108.55001,\"fiftyTwoWeekLowChangePercent\":1.5958544,\"fiftyTwoWeekRange\":\"68.02 - - 177.58\",\"fiftyTwoWeekHighChange\":-1.0099945,\"fiftyTwoWeekHighChangePercent\":-0.0056875465,\"fiftyTwoWeekChangePercent\":155.52821,\"earningsTimestamp\":1730202303,\"earningsTimestampStart\":1738071000,\"earningsTimestampEnd\":1738589400,\"earningsCallTimestampStart\":1730205000,\"earningsCallTimestampEnd\":1730205000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":44.81472,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.94,\"epsForward\":3.9,\"epsCurrentYear\":3.43,\"priceEpsCurrentYear\":51.478134,\"sharesOutstanding\":43726000,\"bookValue\":6.351,\"fiftyDayAverage\":152.647,\"fiftyDayAverageChange\":23.923004,\"fiftyDayAverageChangePercent\":0.15672109,\"twoHundredDayAverage\":123.3813,\"twoHundredDayAverageChange\":53.188705,\"twoHundredDayAverageChangePercent\":0.4310921,\"marketCap\":7720699904,\"forwardPE\":45.27436,\"priceToBook\":27.801924,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":4.0605936,\"displayName\":\"Commvault - Systems\",\"symbol\":\"CVLT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":274.1,\"fiftyTwoWeekLow\":167.56,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"Heico Corporation\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":0.394237,\"postMarketTime\":1731545867,\"postMarketPrice\":275.0,\"postMarketChange\":1.0799,\"regularMarketChange\":10.4,\"regularMarketTime\":1731531602,\"regularMarketPrice\":273.92,\"regularMarketDayHigh\":274.08,\"regularMarketDayRange\":\"263.495 - - 274.08\",\"regularMarketDayLow\":263.495,\"regularMarketVolume\":721728,\"regularMarketPreviousClose\":263.52,\"bid\":273.6,\"ask\":275.0,\"bidSize\":8,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_278143\",\"fullExchangeName\":\"NYSE\",\"longName\":\"HEICO - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":263.15,\"averageDailyVolume3Month\":384167,\"averageDailyVolume10Day\":409240,\"fiftyTwoWeekLowChange\":106.360016,\"fiftyTwoWeekLowChangePercent\":0.6347578,\"fiftyTwoWeekRange\":\"167.56 - - 274.1\",\"fiftyTwoWeekHighChange\":-0.17999268,\"fiftyTwoWeekHighChangePercent\":-6.566679E-4,\"fiftyTwoWeekChangePercent\":61.157845,\"dividendDate\":1721001600,\"earningsTimestamp\":1724703300,\"earningsTimestampStart\":1734382800,\"earningsTimestampEnd\":1734728400,\"earningsCallTimestampStart\":1724763600,\"earningsCallTimestampEnd\":1724763600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.21,\"trailingPE\":80.564705,\"dividendRate\":0.22,\"trailingAnnualDividendYield\":7.9690345E-4,\"dividendYield\":0.08,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.4,\"epsForward\":4.28,\"epsCurrentYear\":3.64,\"priceEpsCurrentYear\":75.25275,\"sharesOutstanding\":54841700,\"bookValue\":25.544,\"fiftyDayAverage\":258.7412,\"fiftyDayAverageChange\":15.1788025,\"fiftyDayAverageChangePercent\":0.05866403,\"twoHundredDayAverage\":224.2106,\"twoHundredDayAverageChange\":49.70941,\"twoHundredDayAverageChangePercent\":0.22170857,\"marketCap\":32891766784,\"forwardPE\":64.0,\"priceToBook\":10.723458,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.94658,\"displayName\":\"HEICO\",\"symbol\":\"HEI\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":41.95,\"fiftyTwoWeekLow\":29.45,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Suncor Energy Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":0.15151863,\"postMarketTime\":1731545851,\"postMarketPrice\":39.66,\"postMarketChange\":0.060001373,\"regularMarketChange\":1.49,\"regularMarketTime\":1731531602,\"regularMarketPrice\":39.6,\"regularMarketDayHigh\":39.97,\"regularMarketDayRange\":\"38.7243 - - 39.97\",\"regularMarketDayLow\":38.7243,\"regularMarketVolume\":9211463,\"regularMarketPreviousClose\":38.11,\"bid\":39.59,\"ask\":39.79,\"bidSize\":10,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_354361\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Suncor - Energy Inc.\",\"financialCurrency\":\"CAD\",\"regularMarketOpen\":39.79,\"averageDailyVolume3Month\":3716212,\"averageDailyVolume10Day\":3952830,\"fiftyTwoWeekLowChange\":10.149998,\"fiftyTwoWeekLowChangePercent\":0.34465188,\"fiftyTwoWeekRange\":\"29.45 - - 41.95\",\"fiftyTwoWeekHighChange\":-2.3500023,\"fiftyTwoWeekHighChangePercent\":-0.056019124,\"fiftyTwoWeekChangePercent\":22.259962,\"dividendDate\":1727222400,\"earningsTimestamp\":1731449100,\"earningsTimestampStart\":1731449100,\"earningsTimestampEnd\":1731449100,\"earningsCallTimestampStart\":1731508200,\"earningsCallTimestampEnd\":1731508200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.545,\"trailingPE\":9.124423,\"dividendRate\":1.62,\"trailingAnnualDividendYield\":0.014300709,\"dividendYield\":4.26,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.34,\"epsForward\":3.16,\"epsCurrentYear\":3.41,\"priceEpsCurrentYear\":11.612903,\"sharesOutstanding\":1270029952,\"bookValue\":35.485,\"fiftyDayAverage\":38.2856,\"fiftyDayAverageChange\":1.3143997,\"fiftyDayAverageChangePercent\":0.03433144,\"twoHundredDayAverage\":37.7759,\"twoHundredDayAverageChange\":1.8240967,\"twoHundredDayAverageChangePercent\":0.04828731,\"marketCap\":50293182464,\"forwardPE\":12.531645,\"priceToBook\":1.1159644,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.90973,\"displayName\":\"Suncor - Energy\",\"symbol\":\"SU\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NGM\",\"fiftyTwoWeekHigh\":45.811,\"fiftyTwoWeekLow\":23.14,\"averageAnalystRating\":\"1.5 - - Strong Buy\",\"shortName\":\"Mirum Pharmaceuticals, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1563456600000,\"priceHint\":2,\"postMarketChangePercent\":0.523687,\"postMarketTime\":1731534321,\"postMarketPrice\":44.15,\"postMarketChange\":0.230003,\"regularMarketChange\":1.6399994,\"regularMarketTime\":1731531601,\"regularMarketPrice\":43.92,\"regularMarketDayHigh\":44.635,\"regularMarketDayRange\":\"42.49 - - 44.635\",\"regularMarketDayLow\":42.49,\"regularMarketVolume\":613121,\"regularMarketPreviousClose\":42.28,\"bid\":43.64,\"ask\":55.24,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_590571226\",\"fullExchangeName\":\"NasdaqGM\",\"longName\":\"Mirum - Pharmaceuticals, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":43.15,\"averageDailyVolume3Month\":364768,\"averageDailyVolume10Day\":359220,\"fiftyTwoWeekLowChange\":20.779999,\"fiftyTwoWeekLowChangePercent\":0.89801204,\"fiftyTwoWeekRange\":\"23.14 - - 45.811\",\"fiftyTwoWeekHighChange\":-1.8910027,\"fiftyTwoWeekHighChangePercent\":-0.04127835,\"fiftyTwoWeekChangePercent\":39.491917,\"earningsTimestamp\":1731416402,\"earningsTimestampStart\":1731416402,\"earningsTimestampEnd\":1731416402,\"earningsCallTimestampStart\":1731418200,\"earningsCallTimestampEnd\":1731418200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-2.4,\"epsForward\":-0.87,\"epsCurrentYear\":-1.83,\"priceEpsCurrentYear\":-23.999998,\"sharesOutstanding\":47707200,\"bookValue\":4.837,\"fiftyDayAverage\":39.9218,\"fiftyDayAverageChange\":3.9981995,\"fiftyDayAverageChangePercent\":0.10015079,\"twoHundredDayAverage\":32.98015,\"twoHundredDayAverageChange\":10.93985,\"twoHundredDayAverageChangePercent\":0.33171016,\"marketCap\":2095300096,\"forwardPE\":-50.482758,\"priceToBook\":9.0800085,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.8789012,\"displayName\":\"Mirum - Pharmaceuticals\",\"symbol\":\"MIRM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":28.47,\"fiftyTwoWeekLow\":6.18,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Hut 8 Corp.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1520519400000,\"priceHint\":2,\"postMarketChangePercent\":-0.564977,\"postMarketTime\":1731545920,\"postMarketPrice\":24.64,\"postMarketChange\":-0.140001,\"regularMarketChange\":0.9200001,\"regularMarketTime\":1731531602,\"regularMarketPrice\":24.78,\"regularMarketDayHigh\":28.47,\"regularMarketDayRange\":\"24.35 - - 28.47\",\"regularMarketDayLow\":24.35,\"regularMarketVolume\":17847702,\"regularMarketPreviousClose\":23.86,\"bid\":20.27,\"ask\":25.11,\"bidSize\":1,\"askSize\":36,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1681582210\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Hut - 8 Corp.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":25.47,\"averageDailyVolume3Month\":4857012,\"averageDailyVolume10Day\":7452040,\"fiftyTwoWeekLowChange\":18.6,\"fiftyTwoWeekLowChangePercent\":3.009709,\"fiftyTwoWeekRange\":\"6.18 - - 28.47\",\"fiftyTwoWeekHighChange\":-3.6899986,\"fiftyTwoWeekHighChangePercent\":-0.12961008,\"fiftyTwoWeekChangePercent\":156.55913,\"dividendDate\":1520294400,\"earningsTimestampStart\":1715776200,\"earningsTimestampEnd\":1715776200,\"earningsCallTimestampStart\":1715776200,\"earningsCallTimestampEnd\":1715776200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.78,\"epsForward\":-0.08,\"epsCurrentYear\":2.25,\"priceEpsCurrentYear\":11.013333,\"sharesOutstanding\":93392400,\"bookValue\":7.259,\"fiftyDayAverage\":13.563,\"fiftyDayAverageChange\":11.217001,\"fiftyDayAverageChangePercent\":0.8270295,\"twoHundredDayAverage\":11.38,\"twoHundredDayAverageChange\":13.400001,\"twoHundredDayAverageChangePercent\":1.1775044,\"marketCap\":2314263808,\"forwardPE\":-309.75003,\"priceToBook\":3.4136934,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2023-12-04\",\"regularMarketChangePercent\":3.855826,\"displayName\":\"Hut - 8\",\"symbol\":\"HUT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NCM\",\"fiftyTwoWeekHigh\":454.16,\"fiftyTwoWeekLow\":9.75,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Sezzle Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1694611800000,\"priceHint\":2,\"postMarketChangePercent\":-1.07043,\"postMarketTime\":1731541193,\"postMarketPrice\":378.0,\"postMarketChange\":-4.09,\"regularMarketChange\":14.139984,\"regularMarketTime\":1731531600,\"regularMarketPrice\":382.09,\"regularMarketDayHigh\":405.0,\"regularMarketDayRange\":\"364.27 - - 405.0\",\"regularMarketDayLow\":364.27,\"regularMarketVolume\":116714,\"regularMarketPreviousClose\":367.95,\"bid\":378.87,\"ask\":385.92,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_327783573\",\"fullExchangeName\":\"NasdaqCM\",\"longName\":\"Sezzle - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":364.27,\"averageDailyVolume3Month\":104680,\"averageDailyVolume10Day\":176290,\"fiftyTwoWeekLowChange\":372.34,\"fiftyTwoWeekLowChangePercent\":38.188717,\"fiftyTwoWeekRange\":\"9.75 - - 454.16\",\"fiftyTwoWeekHighChange\":-72.07001,\"fiftyTwoWeekHighChangePercent\":-0.15868859,\"fiftyTwoWeekChangePercent\":3096.7854,\"earningsTimestamp\":1731013980,\"earningsTimestampStart\":1731013980,\"earningsTimestampEnd\":1731013980,\"earningsCallTimestampStart\":1731016800,\"earningsCallTimestampEnd\":1731016800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":52.05586,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":7.34,\"epsForward\":12.4,\"epsCurrentYear\":10.87,\"priceEpsCurrentYear\":35.150875,\"sharesOutstanding\":5607030,\"bookValue\":10.956,\"fiftyDayAverage\":192.3176,\"fiftyDayAverageChange\":189.7724,\"fiftyDayAverageChangePercent\":0.9867657,\"twoHundredDayAverage\":104.24507,\"twoHundredDayAverageChange\":277.8449,\"twoHundredDayAverageChangePercent\":2.665305,\"marketCap\":2142390016,\"forwardPE\":30.813711,\"priceToBook\":34.874954,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2023-08-17\",\"regularMarketChangePercent\":3.8429089,\"displayName\":\"Sezzle\",\"symbol\":\"SEZL\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":27.8,\"fiftyTwoWeekLow\":18.32,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"Alliance Resource Partners, L.P\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":934896600000,\"priceHint\":2,\"postMarketChangePercent\":1.46561,\"postMarketTime\":1731545057,\"postMarketPrice\":27.0,\"postMarketChange\":0.389999,\"regularMarketChange\":0.9700012,\"regularMarketTime\":1731531601,\"regularMarketPrice\":26.61,\"regularMarketDayHigh\":26.61,\"regularMarketDayRange\":\"25.44 - - 26.61\",\"regularMarketDayLow\":25.44,\"regularMarketVolume\":556009,\"regularMarketPreviousClose\":25.64,\"bid\":26.54,\"ask\":26.67,\"bidSize\":2,\"askSize\":4,\"market\":\"us_market\",\"messageBoardId\":\"finmb_404105\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Alliance - Resource Partners, L.P.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":25.44,\"averageDailyVolume3Month\":263020,\"averageDailyVolume10Day\":490430,\"fiftyTwoWeekLowChange\":8.290001,\"fiftyTwoWeekLowChangePercent\":0.45251098,\"fiftyTwoWeekRange\":\"18.32 - - 27.8\",\"fiftyTwoWeekHighChange\":-1.1899986,\"fiftyTwoWeekHighChangePercent\":-0.04280571,\"fiftyTwoWeekChangePercent\":24.11381,\"dividendDate\":1731542400,\"earningsTimestamp\":1730113200,\"earningsTimestampStart\":1737984600,\"earningsTimestampEnd\":1738330200,\"earningsCallTimestampStart\":1730124000,\"earningsCallTimestampEnd\":1730124000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":2.8,\"trailingPE\":7.290411,\"dividendRate\":2.8,\"trailingAnnualDividendYield\":0.10920437,\"dividendYield\":10.92,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.65,\"epsForward\":3.33,\"epsCurrentYear\":3.37,\"priceEpsCurrentYear\":7.896143,\"sharesOutstanding\":128062000,\"bookValue\":14.863,\"fiftyDayAverage\":24.9504,\"fiftyDayAverageChange\":1.6596012,\"fiftyDayAverageChangePercent\":0.06651602,\"twoHundredDayAverage\":23.00645,\"twoHundredDayAverageChange\":3.60355,\"twoHundredDayAverageChangePercent\":0.15663216,\"marketCap\":3407729920,\"forwardPE\":7.9909916,\"priceToBook\":1.790352,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.7831564,\"displayName\":\"Alliance - Resource Partners, L.P\",\"symbol\":\"ARLP\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":60.1,\"fiftyTwoWeekLow\":35.04,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"Fluor Corporation\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":975681000000,\"priceHint\":2,\"postMarketChangePercent\":0.31790152,\"postMarketTime\":1731544550,\"postMarketPrice\":50.49,\"postMarketChange\":0.15999985,\"regularMarketChange\":1.83,\"regularMarketTime\":1731531602,\"regularMarketPrice\":50.33,\"regularMarketDayHigh\":50.66,\"regularMarketDayRange\":\"48.425 - - 50.66\",\"regularMarketDayLow\":48.425,\"regularMarketVolume\":3227466,\"regularMarketPreviousClose\":48.5,\"bid\":50.06,\"ask\":50.66,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_655659\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Fluor - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":48.55,\"averageDailyVolume3Month\":1919998,\"averageDailyVolume10Day\":3964210,\"fiftyTwoWeekLowChange\":15.290001,\"fiftyTwoWeekLowChangePercent\":0.43635845,\"fiftyTwoWeekRange\":\"35.04 - - 60.1\",\"fiftyTwoWeekHighChange\":-9.769997,\"fiftyTwoWeekHighChangePercent\":-0.16256234,\"fiftyTwoWeekChangePercent\":33.11293,\"dividendDate\":1585785600,\"earningsTimestamp\":1731063000,\"earningsTimestampStart\":1731063000,\"earningsTimestampEnd\":1731063000,\"earningsCallTimestampStart\":1731072600,\"earningsCallTimestampEnd\":1731072600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":34.710346,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.45,\"epsForward\":3.08,\"epsCurrentYear\":2.7,\"priceEpsCurrentYear\":18.640741,\"sharesOutstanding\":171516000,\"bookValue\":13.139,\"fiftyDayAverage\":49.8914,\"fiftyDayAverageChange\":0.43860245,\"fiftyDayAverageChangePercent\":0.008791143,\"twoHundredDayAverage\":44.46585,\"twoHundredDayAverageChange\":5.864151,\"twoHundredDayAverageChangePercent\":0.13187988,\"marketCap\":8632400896,\"forwardPE\":16.34091,\"priceToBook\":3.830581,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.7732,\"displayName\":\"Fluor\",\"symbol\":\"FLR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":31.1,\"fiftyTwoWeekLow\":10.07,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"YPF Sociedad Anonima\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":741360600000,\"priceHint\":2,\"postMarketChangePercent\":0.5823368,\"postMarketTime\":1731546000,\"postMarketPrice\":31.09,\"postMarketChange\":0.1800003,\"regularMarketChange\":1.12,\"regularMarketTime\":1731531602,\"regularMarketPrice\":30.91,\"regularMarketDayHigh\":30.9869,\"regularMarketDayRange\":\"29.8552 - - 30.9869\",\"regularMarketDayLow\":29.8552,\"regularMarketVolume\":2024358,\"regularMarketPreviousClose\":29.79,\"bid\":30.82,\"ask\":30.85,\"bidSize\":8,\"askSize\":12,\"market\":\"us_market\",\"messageBoardId\":\"finmb_382296\",\"fullExchangeName\":\"NYSE\",\"longName\":\"YPF - Sociedad An\xF3nima\",\"financialCurrency\":\"ARS\",\"regularMarketOpen\":30.12,\"averageDailyVolume3Month\":1753732,\"averageDailyVolume10Day\":2355160,\"fiftyTwoWeekLowChange\":20.84,\"fiftyTwoWeekLowChangePercent\":2.0695136,\"fiftyTwoWeekRange\":\"10.07 - - 31.1\",\"fiftyTwoWeekHighChange\":-0.19000053,\"fiftyTwoWeekHighChangePercent\":-0.006109342,\"fiftyTwoWeekChangePercent\":202.74242,\"dividendDate\":1563408000,\"earningsTimestamp\":1731013200,\"earningsTimestampStart\":1731013200,\"earningsTimestampEnd\":1731013200,\"earningsCallTimestampStart\":1731072600,\"earningsCallTimestampEnd\":1731072600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":15.004855,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.06,\"epsForward\":4.7,\"epsCurrentYear\":5.2,\"priceEpsCurrentYear\":5.944231,\"sharesOutstanding\":393312992,\"bookValue\":24117.662,\"fiftyDayAverage\":24.5206,\"fiftyDayAverageChange\":6.3894005,\"fiftyDayAverageChangePercent\":0.26057276,\"twoHundredDayAverage\":21.3183,\"twoHundredDayAverageChange\":9.5917,\"twoHundredDayAverageChangePercent\":0.449928,\"marketCap\":13635080192,\"forwardPE\":6.576596,\"priceToBook\":0.0012816334,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.75965,\"symbol\":\"YPF\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":64.62,\"fiftyTwoWeekLow\":32.24,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"Sociedad Quimica y Minera S.A.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":748618200000,\"priceHint\":2,\"postMarketChangePercent\":-0.10422333,\"postMarketTime\":1731544140,\"postMarketPrice\":38.34,\"postMarketChange\":-0.040000916,\"regularMarketChange\":1.35,\"regularMarketTime\":1731531602,\"regularMarketPrice\":38.38,\"regularMarketDayHigh\":39.74,\"regularMarketDayRange\":\"38.08 - - 39.74\",\"regularMarketDayLow\":38.08,\"regularMarketVolume\":2015076,\"regularMarketPreviousClose\":37.03,\"bid\":38.05,\"ask\":38.74,\"bidSize\":13,\"askSize\":12,\"market\":\"us_market\",\"messageBoardId\":\"finmb_393339\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Sociedad - Qu\xEDmica y Minera de Chile S.A.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":38.08,\"averageDailyVolume3Month\":1002732,\"averageDailyVolume10Day\":1067190,\"fiftyTwoWeekLowChange\":6.1399994,\"fiftyTwoWeekLowChangePercent\":0.19044662,\"fiftyTwoWeekRange\":\"32.24 - - 64.62\",\"fiftyTwoWeekHighChange\":-26.240002,\"fiftyTwoWeekHighChangePercent\":-0.40606624,\"fiftyTwoWeekChangePercent\":-18.995358,\"dividendDate\":1716854400,\"earningsTimestamp\":1732057200,\"earningsTimestampStart\":1732057200,\"earningsTimestampEnd\":1732057200,\"earningsCallTimestampStart\":1732114800,\"earningsCallTimestampEnd\":1732114800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.717,\"trailingPE\":383.80002,\"dividendRate\":2.1,\"trailingAnnualDividendYield\":0.01936268,\"dividendYield\":5.67,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.1,\"epsForward\":3.98,\"epsCurrentYear\":-0.56,\"priceEpsCurrentYear\":-68.53571,\"sharesOutstanding\":142819008,\"bookValue\":17.284,\"fiftyDayAverage\":39.2892,\"fiftyDayAverageChange\":-0.90919876,\"fiftyDayAverageChangePercent\":-0.023141189,\"twoHundredDayAverage\":42.49405,\"twoHundredDayAverageChange\":-4.114048,\"twoHundredDayAverageChangePercent\":-0.096814685,\"marketCap\":10330743808,\"forwardPE\":9.643216,\"priceToBook\":2.2205508,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.6457,\"displayName\":\"Sociedad - Qu\xEDmica y Minera de Chile\",\"symbol\":\"SQM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":421.16,\"fiftyTwoWeekLow\":236.08,\"averageAnalystRating\":\"2.9 - - Hold\",\"shortName\":\"Charter Communications, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1262701800000,\"priceHint\":2,\"postMarketChangePercent\":0.0467733,\"postMarketTime\":1731541740,\"postMarketPrice\":406.41,\"postMarketChange\":0.190002,\"regularMarketChange\":14.220001,\"regularMarketTime\":1731531601,\"regularMarketPrice\":406.22,\"regularMarketDayHigh\":415.27,\"regularMarketDayRange\":\"396.97 - - 415.27\",\"regularMarketDayLow\":396.97,\"regularMarketVolume\":2845688,\"regularMarketPreviousClose\":392.0,\"bid\":387.68,\"ask\":431.97,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_19609\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Charter - Communications, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":409.52,\"averageDailyVolume3Month\":1255907,\"averageDailyVolume10Day\":2103620,\"fiftyTwoWeekLowChange\":170.14,\"fiftyTwoWeekLowChangePercent\":0.72068787,\"fiftyTwoWeekRange\":\"236.08 - - 421.16\",\"fiftyTwoWeekHighChange\":-14.940002,\"fiftyTwoWeekHighChangePercent\":-0.03547346,\"fiftyTwoWeekChangePercent\":-1.6059101,\"earningsTimestamp\":1730458800,\"earningsTimestampStart\":1738324800,\"earningsTimestampEnd\":1738670400,\"earningsCallTimestampStart\":1730464200,\"earningsCallTimestampEnd\":1730464200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":12.730179,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":31.91,\"epsForward\":35.78,\"epsCurrentYear\":34.09,\"priceEpsCurrentYear\":11.916104,\"sharesOutstanding\":142196000,\"bookValue\":99.152,\"fiftyDayAverage\":340.0742,\"fiftyDayAverageChange\":66.14581,\"fiftyDayAverageChangePercent\":0.19450407,\"twoHundredDayAverage\":309.67056,\"twoHundredDayAverageChange\":96.54944,\"twoHundredDayAverageChangePercent\":0.31178114,\"marketCap\":57762861056,\"forwardPE\":11.353271,\"priceToBook\":4.096942,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.6275513,\"displayName\":\"Charter - Communications\",\"symbol\":\"CHTR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":116.0,\"fiftyTwoWeekLow\":66.24,\"averageAnalystRating\":\"2.6 - - Hold\",\"shortName\":\"Cloudflare, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1568381400000,\"priceHint\":2,\"postMarketChangePercent\":0.0955781,\"postMarketTime\":1731545995,\"postMarketPrice\":94.25,\"postMarketChange\":0.08999634,\"regularMarketChange\":3.25,\"regularMarketTime\":1731531602,\"regularMarketPrice\":94.16,\"regularMarketDayHigh\":99.17,\"regularMarketDayRange\":\"91.25 - - 99.17\",\"regularMarketDayLow\":91.25,\"regularMarketVolume\":5782649,\"regularMarketPreviousClose\":90.91,\"bid\":94.0,\"ask\":94.45,\"bidSize\":11,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_81851700\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Cloudflare, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":91.42,\"averageDailyVolume3Month\":2269250,\"averageDailyVolume10Day\":3589890,\"fiftyTwoWeekLowChange\":27.920006,\"fiftyTwoWeekLowChangePercent\":0.42149767,\"fiftyTwoWeekRange\":\"66.24 - - 116.0\",\"fiftyTwoWeekHighChange\":-21.839996,\"fiftyTwoWeekHighChangePercent\":-0.18827583,\"fiftyTwoWeekChangePercent\":28.585577,\"earningsTimestamp\":1731014100,\"earningsTimestampStart\":1738875600,\"earningsTimestampEnd\":1739221200,\"earningsCallTimestampStart\":1731016800,\"earningsCallTimestampEnd\":1731016800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.28,\"epsForward\":0.86,\"epsCurrentYear\":0.74,\"priceEpsCurrentYear\":127.24325,\"sharesOutstanding\":305713984,\"bookValue\":2.837,\"fiftyDayAverage\":85.2468,\"fiftyDayAverageChange\":8.9132,\"fiftyDayAverageChangePercent\":0.10455759,\"twoHundredDayAverage\":84.8344,\"twoHundredDayAverageChange\":9.325607,\"twoHundredDayAverageChangePercent\":0.10992719,\"marketCap\":31199729664,\"forwardPE\":109.48837,\"priceToBook\":33.18999,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.57496,\"displayName\":\"Cloudflare\",\"symbol\":\"NET\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":99.99,\"fiftyTwoWeekLow\":52.51,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"Twilio Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1466688600000,\"priceHint\":2,\"postMarketChangePercent\":0.15022686,\"postMarketTime\":1731545957,\"postMarketPrice\":100.0,\"postMarketChange\":0.15000153,\"regularMarketChange\":3.38,\"regularMarketTime\":1731531602,\"regularMarketPrice\":99.85,\"regularMarketDayHigh\":99.99,\"regularMarketDayRange\":\"96.3 - - 99.99\",\"regularMarketDayLow\":96.3,\"regularMarketVolume\":4708927,\"regularMarketPreviousClose\":96.47,\"bid\":99.5,\"ask\":99.32,\"bidSize\":9,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_53507768\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Twilio - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":96.88,\"averageDailyVolume3Month\":2245982,\"averageDailyVolume10Day\":4521250,\"fiftyTwoWeekLowChange\":47.34,\"fiftyTwoWeekLowChangePercent\":0.9015426,\"fiftyTwoWeekRange\":\"52.51 - - 99.99\",\"fiftyTwoWeekHighChange\":-0.13999939,\"fiftyTwoWeekHighChangePercent\":-0.001400134,\"fiftyTwoWeekChangePercent\":56.73436,\"earningsTimestamp\":1730318700,\"earningsTimestampStart\":1739357940,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730322000,\"earningsCallTimestampEnd\":1730322000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-2.66,\"epsForward\":4.22,\"epsCurrentYear\":3.63,\"priceEpsCurrentYear\":27.506886,\"sharesOutstanding\":153384000,\"bookValue\":52.957,\"fiftyDayAverage\":69.978,\"fiftyDayAverageChange\":29.872002,\"fiftyDayAverageChangePercent\":0.42687705,\"twoHundredDayAverage\":62.64835,\"twoHundredDayAverageChange\":37.20165,\"twoHundredDayAverageChangePercent\":0.5938169,\"marketCap\":15315392512,\"forwardPE\":23.661139,\"priceToBook\":1.885492,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.50368,\"displayName\":\"Twilio\",\"symbol\":\"TWLO\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":146.7,\"fiftyTwoWeekLow\":40.662,\"shortName\":\"United - States Lime & Minerals, \",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":0.39977,\"postMarketTime\":1731540161,\"postMarketPrice\":143.15,\"postMarketChange\":0.569992,\"regularMarketChange\":4.800003,\"regularMarketTime\":1731531600,\"regularMarketPrice\":142.58,\"regularMarketDayHigh\":145.12,\"regularMarketDayRange\":\"139.08 - - 145.12\",\"regularMarketDayLow\":139.08,\"regularMarketVolume\":126117,\"regularMarketPreviousClose\":137.78,\"bid\":142.16,\"ask\":143.18,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_302396\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"United - States Lime & Minerals, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":139.12,\"averageDailyVolume3Month\":67565,\"averageDailyVolume10Day\":123040,\"fiftyTwoWeekLowChange\":101.918,\"fiftyTwoWeekLowChangePercent\":2.506468,\"fiftyTwoWeekRange\":\"40.662 - - 146.7\",\"fiftyTwoWeekHighChange\":-4.119995,\"fiftyTwoWeekHighChangePercent\":-0.028084494,\"fiftyTwoWeekChangePercent\":247.14647,\"dividendDate\":1734048000,\"earningsTimestamp\":1730318700,\"earningsTimestampStart\":1738321140,\"earningsTimestampEnd\":1738670400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.2,\"trailingPE\":39.938377,\"dividendRate\":0.2,\"trailingAnnualDividendYield\":0.0014515895,\"dividendYield\":0.15,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.57,\"sharesOutstanding\":28594300,\"bookValue\":16.637,\"fiftyDayAverage\":101.5874,\"fiftyDayAverageChange\":40.9926,\"fiftyDayAverageChangePercent\":0.4035205,\"twoHundredDayAverage\":75.28495,\"twoHundredDayAverageChange\":67.29505,\"twoHundredDayAverageChangePercent\":0.89387125,\"marketCap\":4076975360,\"priceToBook\":8.570055,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.483817,\"displayName\":\"United - States Lime & Minerals\",\"symbol\":\"USLM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":26.2,\"fiftyTwoWeekLow\":6.39,\"averageAnalystRating\":\"3.6 - - Underperform\",\"shortName\":\"ZIM Integrated Shipping Service\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1611844200000,\"priceHint\":2,\"postMarketChangePercent\":0.079969846,\"postMarketTime\":1731546000,\"postMarketPrice\":25.03,\"postMarketChange\":0.020000458,\"regularMarketChange\":0.84,\"regularMarketTime\":1731531602,\"regularMarketPrice\":25.01,\"regularMarketDayHigh\":25.3499,\"regularMarketDayRange\":\"24.45 - - 25.3499\",\"regularMarketDayLow\":24.45,\"regularMarketVolume\":4213358,\"regularMarketPreviousClose\":24.17,\"bid\":24.87,\"ask\":25.06,\"bidSize\":9,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_13461755\",\"fullExchangeName\":\"NYSE\",\"longName\":\"ZIM - Integrated Shipping Services Ltd.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":24.7,\"averageDailyVolume3Month\":5982333,\"averageDailyVolume10Day\":4714620,\"fiftyTwoWeekLowChange\":18.62,\"fiftyTwoWeekLowChangePercent\":2.9139283,\"fiftyTwoWeekRange\":\"6.39 - - 26.2\",\"fiftyTwoWeekHighChange\":-1.1900005,\"fiftyTwoWeekHighChangePercent\":-0.045419868,\"fiftyTwoWeekChangePercent\":232.46217,\"dividendDate\":1725494400,\"earningsTimestamp\":1732109400,\"earningsTimestampStart\":1732109400,\"earningsTimestampEnd\":1732109400,\"earningsCallTimestampStart\":1732107600,\"earningsCallTimestampEnd\":1732107600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.16,\"dividendRate\":1.16,\"trailingAnnualDividendYield\":0.047993377,\"dividendYield\":4.8,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-16.87,\"epsForward\":0.27,\"epsCurrentYear\":12.0,\"priceEpsCurrentYear\":2.0841668,\"sharesOutstanding\":120389000,\"bookValue\":24.005,\"fiftyDayAverage\":21.4416,\"fiftyDayAverageChange\":3.5683994,\"fiftyDayAverageChangePercent\":0.16642411,\"twoHundredDayAverage\":17.21345,\"twoHundredDayAverageChange\":7.7965508,\"twoHundredDayAverageChangePercent\":0.45293367,\"marketCap\":3010928896,\"forwardPE\":92.62962,\"priceToBook\":1.0418663,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-01-28\",\"regularMarketChangePercent\":3.47538,\"displayName\":\"ZIM - Integrated Shipping Services\",\"symbol\":\"ZIM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":212.63,\"fiftyTwoWeekLow\":132.96,\"shortName\":\"Heico - Corporation\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":893683800000,\"priceHint\":2,\"postMarketChangePercent\":-2.17566,\"postMarketTime\":1731538795,\"postMarketPrice\":207.73,\"postMarketChange\":-4.62001,\"regularMarketChange\":7.10001,\"regularMarketTime\":1731531602,\"regularMarketPrice\":212.35,\"regularMarketDayHigh\":212.585,\"regularMarketDayRange\":\"206.425 - - 212.585\",\"regularMarketDayLow\":206.425,\"regularMarketVolume\":165213,\"regularMarketPreviousClose\":205.25,\"bid\":212.46,\"ask\":218.74,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_278143\",\"fullExchangeName\":\"NYSE\",\"longName\":\"HEICO - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":205.55,\"averageDailyVolume3Month\":185617,\"averageDailyVolume10Day\":222690,\"fiftyTwoWeekLowChange\":79.39,\"fiftyTwoWeekLowChangePercent\":0.59709686,\"fiftyTwoWeekRange\":\"132.96 - - 212.63\",\"fiftyTwoWeekHighChange\":-0.27999878,\"fiftyTwoWeekHighChangePercent\":-0.0013168356,\"fiftyTwoWeekChangePercent\":55.96769,\"dividendDate\":1721001600,\"earningsTimestamp\":1724703300,\"earningsTimestampStart\":1734382800,\"earningsTimestampEnd\":1734728400,\"earningsCallTimestampStart\":1724763600,\"earningsCallTimestampEnd\":1724763600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.21,\"trailingPE\":62.272728,\"dividendRate\":0.22,\"trailingAnnualDividendYield\":0.0010231425,\"dividendYield\":0.11,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.41,\"epsForward\":4.31,\"epsCurrentYear\":3.67,\"priceEpsCurrentYear\":57.861034,\"sharesOutstanding\":83756200,\"bookValue\":25.544,\"fiftyDayAverage\":201.517,\"fiftyDayAverageChange\":10.833008,\"fiftyDayAverageChangePercent\":0.05375729,\"twoHundredDayAverage\":177.3275,\"twoHundredDayAverageChange\":35.022507,\"twoHundredDayAverageChangePercent\":0.19750184,\"marketCap\":32737366016,\"forwardPE\":49.269142,\"priceToBook\":8.313107,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.4592,\"symbol\":\"HEI-A\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":44.7,\"fiftyTwoWeekLow\":24.82,\"shortName\":\"ATS - Corporation\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1262097000000,\"priceHint\":2,\"postMarketChangePercent\":-0.06652,\"postMarketTime\":1731536950,\"postMarketPrice\":29.330477,\"postMarketChange\":-0.01952362,\"regularMarketChange\":0.98,\"regularMarketTime\":1731531602,\"regularMarketPrice\":29.35,\"regularMarketDayHigh\":29.39,\"regularMarketDayRange\":\"28.17 - - 29.39\",\"regularMarketDayLow\":28.17,\"regularMarketVolume\":177417,\"regularMarketPreviousClose\":28.37,\"bid\":29.1,\"ask\":29.55,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_880251\",\"fullExchangeName\":\"NYSE\",\"longName\":\"ATS - Corporation\",\"financialCurrency\":\"CAD\",\"regularMarketOpen\":28.34,\"averageDailyVolume3Month\":147706,\"averageDailyVolume10Day\":172130,\"fiftyTwoWeekLowChange\":4.5300007,\"fiftyTwoWeekLowChangePercent\":0.18251413,\"fiftyTwoWeekRange\":\"24.82 - - 44.7\",\"fiftyTwoWeekHighChange\":-15.35,\"fiftyTwoWeekHighChangePercent\":-0.34340045,\"fiftyTwoWeekChangePercent\":-24.41411,\"earningsTimestamp\":1730890800,\"earningsTimestampStart\":1738762200,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1730899800,\"earningsCallTimestampEnd\":1730899800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":30.257732,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.97,\"sharesOutstanding\":96869400,\"bookValue\":17.386,\"fiftyDayAverage\":29.1266,\"fiftyDayAverageChange\":0.22340012,\"fiftyDayAverageChangePercent\":0.007669969,\"twoHundredDayAverage\":32.08145,\"twoHundredDayAverageChange\":-2.731451,\"twoHundredDayAverageChangePercent\":-0.08514113,\"marketCap\":2851734016,\"priceToBook\":1.6881399,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"ATS - Automation Tooling Systems Inc.\",\"nameChangeDate\":\"2024-11-08\",\"regularMarketChangePercent\":3.45435,\"displayName\":\"ATS\",\"symbol\":\"ATS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":27.77,\"fiftyTwoWeekLow\":12.63,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"American Healthcare REIT, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1707316200000,\"priceHint\":2,\"postMarketChangePercent\":-3.70083E-4,\"postMarketTime\":1731545763,\"postMarketPrice\":26.7999,\"postMarketChange\":-9.91821E-5,\"regularMarketChange\":0.889999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":26.8,\"regularMarketDayHigh\":27.77,\"regularMarketDayRange\":\"26.18 - - 27.77\",\"regularMarketDayLow\":26.18,\"regularMarketVolume\":2167140,\"regularMarketPreviousClose\":25.91,\"bid\":26.57,\"ask\":27.86,\"bidSize\":9,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_226404432\",\"fullExchangeName\":\"NYSE\",\"longName\":\"American - Healthcare REIT, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":26.45,\"averageDailyVolume3Month\":2201371,\"averageDailyVolume10Day\":1586810,\"fiftyTwoWeekLowChange\":14.169999,\"fiftyTwoWeekLowChangePercent\":1.1219318,\"fiftyTwoWeekRange\":\"12.63 - - 27.77\",\"fiftyTwoWeekHighChange\":-0.9700012,\"fiftyTwoWeekHighChangePercent\":-0.034929823,\"fiftyTwoWeekChangePercent\":95.99092,\"dividendDate\":1729209600,\"trailingAnnualDividendRate\":0.0,\"dividendRate\":1.0,\"trailingAnnualDividendYield\":0.0,\"dividendYield\":3.86,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.54,\"epsForward\":0.19,\"epsCurrentYear\":0.01,\"priceEpsCurrentYear\":2680.0,\"sharesOutstanding\":152874000,\"bookValue\":16.507,\"fiftyDayAverage\":25.0606,\"fiftyDayAverageChange\":1.739399,\"fiftyDayAverageChangePercent\":0.06940772,\"twoHundredDayAverage\":17.634123,\"twoHundredDayAverageChange\":9.165876,\"twoHundredDayAverageChangePercent\":0.5197807,\"marketCap\":4097022976,\"forwardPE\":141.05263,\"priceToBook\":1.6235536,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Griffin-American - Healthcare REIT III, Inc.\",\"nameChangeDate\":\"2024-11-08\",\"regularMarketChangePercent\":3.43497,\"displayName\":\"American - Healthcare REIT\",\"symbol\":\"AHR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":83.35,\"fiftyTwoWeekLow\":49.46,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Procore Technologies, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1621517400000,\"priceHint\":2,\"postMarketChangePercent\":0.49033046,\"postMarketTime\":1731545088,\"postMarketPrice\":73.78,\"postMarketChange\":0.3600006,\"regularMarketChange\":2.43,\"regularMarketTime\":1731531602,\"regularMarketPrice\":73.42,\"regularMarketDayHigh\":74.11,\"regularMarketDayRange\":\"70.44 - - 74.11\",\"regularMarketDayLow\":70.44,\"regularMarketVolume\":4196333,\"regularMarketPreviousClose\":70.99,\"bid\":73.42,\"ask\":74.5,\"bidSize\":8,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_29510794\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Procore - Technologies, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":70.65,\"averageDailyVolume3Month\":1691331,\"averageDailyVolume10Day\":2137610,\"fiftyTwoWeekLowChange\":23.96,\"fiftyTwoWeekLowChangePercent\":0.48443186,\"fiftyTwoWeekRange\":\"49.46 - - 83.35\",\"fiftyTwoWeekHighChange\":-9.93,\"fiftyTwoWeekHighChangePercent\":-0.11913618,\"fiftyTwoWeekChangePercent\":27.176643,\"earningsTimestamp\":1730318700,\"earningsTimestampStart\":1739444340,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730322000,\"earningsCallTimestampEnd\":1730322000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.53,\"epsForward\":1.21,\"epsCurrentYear\":1.03,\"priceEpsCurrentYear\":71.281555,\"sharesOutstanding\":148664000,\"bookValue\":8.648,\"fiftyDayAverage\":61.5542,\"fiftyDayAverageChange\":11.865799,\"fiftyDayAverageChangePercent\":0.19276993,\"twoHundredDayAverage\":67.4797,\"twoHundredDayAverageChange\":5.9403,\"twoHundredDayAverageChangePercent\":0.08803092,\"marketCap\":10914910208,\"forwardPE\":60.67768,\"priceToBook\":8.489824,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-05-20\",\"regularMarketChangePercent\":3.42302,\"displayName\":\"Procore\",\"symbol\":\"PCOR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NGM\",\"fiftyTwoWeekHigh\":36.6,\"fiftyTwoWeekLow\":13.48,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"Zai Lab Limited\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1505914200000,\"priceHint\":2,\"postMarketChangePercent\":-1.5359,\"postMarketTime\":1731541121,\"postMarketPrice\":29.49,\"postMarketChange\":-0.460001,\"regularMarketChange\":0.9900017,\"regularMarketTime\":1731531600,\"regularMarketPrice\":29.95,\"regularMarketDayHigh\":32.15,\"regularMarketDayRange\":\"29.94 - - 32.15\",\"regularMarketDayLow\":29.94,\"regularMarketVolume\":1198064,\"regularMarketPreviousClose\":28.96,\"bid\":29.82,\"ask\":30.06,\"bidSize\":5,\"askSize\":2,\"market\":\"us_market\",\"messageBoardId\":\"finmb_271123063\",\"fullExchangeName\":\"NasdaqGM\",\"longName\":\"Zai - Lab Limited\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":30.09,\"averageDailyVolume3Month\":774847,\"averageDailyVolume10Day\":828520,\"fiftyTwoWeekLowChange\":16.470001,\"fiftyTwoWeekLowChangePercent\":1.2218102,\"fiftyTwoWeekRange\":\"13.48 - - 36.6\",\"fiftyTwoWeekHighChange\":-6.6499977,\"fiftyTwoWeekHighChangePercent\":-0.18169394,\"fiftyTwoWeekChangePercent\":9.696972,\"earningsTimestamp\":1731418200,\"earningsTimestampStart\":1731418200,\"earningsTimestampEnd\":1731418200,\"earningsCallTimestampStart\":1731416400,\"earningsCallTimestampEnd\":1731416400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-3.2,\"epsForward\":-1.91,\"epsCurrentYear\":-2.91,\"priceEpsCurrentYear\":-10.292096,\"sharesOutstanding\":99608800,\"bookValue\":6.801,\"fiftyDayAverage\":25.5734,\"fiftyDayAverageChange\":4.3766003,\"fiftyDayAverageChangePercent\":0.17113876,\"twoHundredDayAverage\":20.067076,\"twoHundredDayAverageChange\":9.882925,\"twoHundredDayAverageChangePercent\":0.49249452,\"marketCap\":3096141312,\"forwardPE\":-15.680629,\"priceToBook\":4.4037642,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.4185143,\"displayName\":\"Zai - Lab\",\"symbol\":\"ZLAB\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":30.4286,\"fiftyTwoWeekLow\":7.4,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Hims & Hers Health, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1568381400000,\"priceHint\":2,\"postMarketChangePercent\":0.5434769,\"postMarketTime\":1731545982,\"postMarketPrice\":27.75,\"postMarketChange\":0.14999962,\"regularMarketChange\":0.91,\"regularMarketTime\":1731531602,\"regularMarketPrice\":27.6,\"regularMarketDayHigh\":30.4286,\"regularMarketDayRange\":\"27.51 - - 30.4286\",\"regularMarketDayLow\":27.51,\"regularMarketVolume\":20478506,\"regularMarketPreviousClose\":26.69,\"bid\":27.75,\"ask\":27.85,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_542604862\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Hims - & Hers Health, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":29.12,\"averageDailyVolume3Month\":11213506,\"averageDailyVolume10Day\":23166980,\"fiftyTwoWeekLowChange\":20.2,\"fiftyTwoWeekLowChangePercent\":2.72973,\"fiftyTwoWeekRange\":\"7.4 - - 30.4286\",\"fiftyTwoWeekHighChange\":-2.8286,\"fiftyTwoWeekHighChangePercent\":-0.09295859,\"fiftyTwoWeekChangePercent\":246.17381,\"earningsTimestamp\":1730754300,\"earningsTimestampStart\":1730754300,\"earningsTimestampEnd\":1730754300,\"earningsCallTimestampStart\":1730757600,\"earningsCallTimestampEnd\":1730757600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":62.727272,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.44,\"epsForward\":0.46,\"epsCurrentYear\":0.802,\"priceEpsCurrentYear\":34.413967,\"sharesOutstanding\":210100992,\"bookValue\":2.02,\"fiftyDayAverage\":19.255,\"fiftyDayAverageChange\":8.345001,\"fiftyDayAverageChangePercent\":0.433394,\"twoHundredDayAverage\":16.86645,\"twoHundredDayAverageChange\":10.733551,\"twoHundredDayAverageChangePercent\":0.6363847,\"marketCap\":6030020608,\"forwardPE\":60.0,\"priceToBook\":13.663366,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.40952,\"displayName\":\"Hims - & Hers Health\",\"symbol\":\"HIMS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":40.47,\"fiftyTwoWeekLow\":22.77,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"TORM plc\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1519396200000,\"priceHint\":2,\"postMarketChangePercent\":1.98062,\"postMarketTime\":1731545386,\"postMarketPrice\":24.2,\"postMarketChange\":0.470001,\"regularMarketChange\":0.7799988,\"regularMarketTime\":1731531601,\"regularMarketPrice\":23.73,\"regularMarketDayHigh\":24.08,\"regularMarketDayRange\":\"23.0 - - 24.08\",\"regularMarketDayLow\":23.0,\"regularMarketVolume\":2185356,\"regularMarketPreviousClose\":22.95,\"bid\":23.7,\"ask\":23.76,\"bidSize\":2,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_328256806\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"TORM - plc\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":23.0,\"averageDailyVolume3Month\":1013788,\"averageDailyVolume10Day\":1312310,\"fiftyTwoWeekLowChange\":0.9599991,\"fiftyTwoWeekLowChangePercent\":0.042160697,\"fiftyTwoWeekRange\":\"22.77 - - 40.47\",\"fiftyTwoWeekHighChange\":-16.740002,\"fiftyTwoWeekHighChangePercent\":-0.41363975,\"fiftyTwoWeekChangePercent\":-27.21218,\"dividendDate\":1726012800,\"earningsTimestamp\":1730977140,\"earningsTimestampStart\":1730977140,\"earningsTimestampEnd\":1730977140,\"earningsCallTimestampStart\":1730988000,\"earningsCallTimestampEnd\":1730988000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":5.86,\"trailingPE\":2.936881,\"dividendRate\":5.86,\"trailingAnnualDividendYield\":0.2553377,\"dividendYield\":25.54,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":8.08,\"epsForward\":4.32,\"epsCurrentYear\":6.01,\"priceEpsCurrentYear\":3.948419,\"sharesOutstanding\":96351400,\"bookValue\":21.433,\"fiftyDayAverage\":30.7998,\"fiftyDayAverageChange\":-7.0698013,\"fiftyDayAverageChangePercent\":-0.22954048,\"twoHundredDayAverage\":34.6035,\"twoHundredDayAverageChange\":-10.873501,\"twoHundredDayAverageChangePercent\":-0.31423125,\"marketCap\":2318582272,\"forwardPE\":5.4930553,\"priceToBook\":1.1071712,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.3986874,\"displayName\":\"TORM\",\"symbol\":\"TRMD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":137.52,\"fiftyTwoWeekLow\":101.11,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"Prologis, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":880122600000,\"priceHint\":2,\"postMarketChangePercent\":-0.0686299,\"postMarketTime\":1731545804,\"postMarketPrice\":116.49,\"postMarketChange\":-0.0800018,\"regularMarketChange\":3.82,\"regularMarketTime\":1731531602,\"regularMarketPrice\":116.57,\"regularMarketDayHigh\":117.1308,\"regularMarketDayRange\":\"113.86 - - 117.1308\",\"regularMarketDayLow\":113.86,\"regularMarketVolume\":3417339,\"regularMarketPreviousClose\":112.75,\"bid\":116.6,\"ask\":117.18,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_330123\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Prologis, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":113.92,\"averageDailyVolume3Month\":3473034,\"averageDailyVolume10Day\":3685510,\"fiftyTwoWeekLowChange\":15.459999,\"fiftyTwoWeekLowChangePercent\":0.15290277,\"fiftyTwoWeekRange\":\"101.11 - - 137.52\",\"fiftyTwoWeekHighChange\":-20.950005,\"fiftyTwoWeekHighChangePercent\":-0.1523415,\"fiftyTwoWeekChangePercent\":5.7132483,\"dividendDate\":1727654400,\"earningsTimestamp\":1729080006,\"earningsTimestampStart\":1736947800,\"earningsTimestampEnd\":1737379800,\"earningsCallTimestampStart\":1729094400,\"earningsCallTimestampEnd\":1729094400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":3.75,\"trailingPE\":35.21752,\"dividendRate\":3.84,\"trailingAnnualDividendYield\":0.033259425,\"dividendYield\":3.41,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.31,\"epsForward\":3.52,\"epsCurrentYear\":3.79,\"priceEpsCurrentYear\":30.757256,\"sharesOutstanding\":926174976,\"bookValue\":57.235,\"fiftyDayAverage\":121.869,\"fiftyDayAverageChange\":-5.2990036,\"fiftyDayAverageChangePercent\":-0.043481145,\"twoHundredDayAverage\":120.4525,\"twoHundredDayAverageChange\":-3.8824997,\"twoHundredDayAverageChangePercent\":-0.03223262,\"marketCap\":107964219392,\"forwardPE\":33.116478,\"priceToBook\":2.0366907,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.38803,\"displayName\":\"Prologis\",\"symbol\":\"PLD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":139.04,\"fiftyTwoWeekLow\":37.35,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Reddit, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1711114200000,\"priceHint\":2,\"postMarketChangePercent\":-0.310468,\"postMarketTime\":1731545977,\"postMarketPrice\":131.65,\"postMarketChange\":-0.410004,\"regularMarketChange\":4.31,\"regularMarketTime\":1731531647,\"regularMarketPrice\":132.06,\"regularMarketDayHigh\":135.07,\"regularMarketDayRange\":\"128.8 - - 135.07\",\"regularMarketDayLow\":128.8,\"regularMarketVolume\":4461603,\"regularMarketPreviousClose\":127.75,\"bid\":132.0,\"ask\":132.2,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_29927936\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Reddit, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":128.8,\"averageDailyVolume3Month\":5441769,\"averageDailyVolume10Day\":11499670,\"fiftyTwoWeekLowChange\":94.71,\"fiftyTwoWeekLowChangePercent\":2.535743,\"fiftyTwoWeekRange\":\"37.35 - - 139.04\",\"fiftyTwoWeekHighChange\":-6.9799957,\"fiftyTwoWeekHighChangePercent\":-0.050201353,\"fiftyTwoWeekChangePercent\":177.7174,\"earningsTimestamp\":1730232480,\"earningsTimestampStart\":1730232480,\"earningsTimestampEnd\":1730232480,\"earningsCallTimestampStart\":1730235600,\"earningsCallTimestampEnd\":1730235600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-3.18,\"epsForward\":0.67,\"epsCurrentYear\":-4.4,\"priceEpsCurrentYear\":-30.013636,\"sharesOutstanding\":119735000,\"bookValue\":11.355,\"fiftyDayAverage\":79.457,\"fiftyDayAverageChange\":52.602997,\"fiftyDayAverageChangePercent\":0.662031,\"twoHundredDayAverage\":63.481655,\"twoHundredDayAverageChange\":68.57834,\"twoHundredDayAverageChangePercent\":1.0802859,\"marketCap\":22430126080,\"forwardPE\":197.10446,\"priceToBook\":11.630119,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2024-03-21\",\"regularMarketChangePercent\":3.37378,\"displayName\":\"Reddit\",\"symbol\":\"RDDT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NGM\",\"fiftyTwoWeekHigh\":41.43,\"fiftyTwoWeekLow\":18.61,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"Veracyte, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1383139800000,\"priceHint\":2,\"postMarketChangePercent\":0.0253026,\"postMarketTime\":1731535044,\"postMarketPrice\":39.54,\"postMarketChange\":0.0100021,\"regularMarketChange\":1.2899971,\"regularMarketTime\":1731531600,\"regularMarketPrice\":39.53,\"regularMarketDayHigh\":39.705,\"regularMarketDayRange\":\"38.395 - - 39.705\",\"regularMarketDayLow\":38.395,\"regularMarketVolume\":1123100,\"regularMarketPreviousClose\":38.24,\"bid\":28.51,\"ask\":39.64,\"bidSize\":1,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_42154124\",\"fullExchangeName\":\"NasdaqGM\",\"longName\":\"Veracyte, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":38.69,\"averageDailyVolume3Month\":760173,\"averageDailyVolume10Day\":933880,\"fiftyTwoWeekLowChange\":20.919998,\"fiftyTwoWeekLowChangePercent\":1.1241267,\"fiftyTwoWeekRange\":\"18.61 - - 41.43\",\"fiftyTwoWeekHighChange\":-1.9000015,\"fiftyTwoWeekHighChangePercent\":-0.045860525,\"fiftyTwoWeekChangePercent\":54.755165,\"earningsTimestamp\":1730927101,\"earningsTimestampStart\":1730927101,\"earningsTimestampEnd\":1730927101,\"earningsCallTimestampStart\":1730928600,\"earningsCallTimestampEnd\":1730928600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.13,\"epsForward\":0.4,\"epsCurrentYear\":0.3,\"priceEpsCurrentYear\":131.76666,\"sharesOutstanding\":77499600,\"bookValue\":15.176,\"fiftyDayAverage\":33.5713,\"fiftyDayAverageChange\":5.9586983,\"fiftyDayAverageChangePercent\":0.17749381,\"twoHundredDayAverage\":25.863276,\"twoHundredDayAverageChange\":13.666723,\"twoHundredDayAverageChangePercent\":0.528422,\"marketCap\":3063559168,\"forwardPE\":98.825,\"priceToBook\":2.6047707,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.373423,\"displayName\":\"Veracyte\",\"symbol\":\"VCYT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":22.49,\"fiftyTwoWeekLow\":11.6,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"Remitly Global, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1632403800000,\"priceHint\":2,\"postMarketChangePercent\":0.488893,\"postMarketTime\":1731543379,\"postMarketPrice\":20.349,\"postMarketChange\":0.0990009,\"regularMarketChange\":0.65999985,\"regularMarketTime\":1731531600,\"regularMarketPrice\":20.25,\"regularMarketDayHigh\":20.8,\"regularMarketDayRange\":\"19.51 - - 20.8\",\"regularMarketDayLow\":19.51,\"regularMarketVolume\":4747602,\"regularMarketPreviousClose\":19.59,\"bid\":20.2,\"ask\":20.29,\"bidSize\":3,\"askSize\":4,\"market\":\"us_market\",\"messageBoardId\":\"finmb_142458416\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Remitly - Global, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":19.51,\"averageDailyVolume3Month\":1725146,\"averageDailyVolume10Day\":3652710,\"fiftyTwoWeekLowChange\":8.65,\"fiftyTwoWeekLowChangePercent\":0.7456896,\"fiftyTwoWeekRange\":\"11.6 - - 22.49\",\"fiftyTwoWeekHighChange\":-2.2399998,\"fiftyTwoWeekHighChangePercent\":-0.099599816,\"fiftyTwoWeekChangePercent\":-10.055095,\"earningsTimestamp\":1730318701,\"earningsTimestampStart\":1730318701,\"earningsTimestampEnd\":1730318701,\"earningsCallTimestampStart\":1730322000,\"earningsCallTimestampEnd\":1730322000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.35,\"epsForward\":-0.04,\"epsCurrentYear\":-0.26,\"priceEpsCurrentYear\":-77.88462,\"sharesOutstanding\":198060992,\"bookValue\":3.185,\"fiftyDayAverage\":14.86,\"fiftyDayAverageChange\":5.3900003,\"fiftyDayAverageChangePercent\":0.36271873,\"twoHundredDayAverage\":15.747675,\"twoHundredDayAverageChange\":4.502325,\"twoHundredDayAverageChangePercent\":0.2859041,\"marketCap\":4010735104,\"forwardPE\":-506.25,\"priceToBook\":6.357928,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-09-23\",\"regularMarketChangePercent\":3.369065,\"displayName\":\"Remitly - Global\",\"symbol\":\"RELY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":48.25,\"fiftyTwoWeekLow\":33.44,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"MGM Resorts International\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":578583000000,\"priceHint\":2,\"postMarketChangePercent\":0.31595296,\"postMarketTime\":1731545800,\"postMarketPrice\":38.1,\"postMarketChange\":0.11999893,\"regularMarketChange\":1.23,\"regularMarketTime\":1731531602,\"regularMarketPrice\":37.98,\"regularMarketDayHigh\":38.2,\"regularMarketDayRange\":\"36.665 - - 38.2\",\"regularMarketDayLow\":36.665,\"regularMarketVolume\":5438247,\"regularMarketPreviousClose\":36.75,\"bid\":38.01,\"ask\":38.14,\"bidSize\":10,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_286798\",\"fullExchangeName\":\"NYSE\",\"longName\":\"MGM - Resorts International\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":36.7,\"averageDailyVolume3Month\":4442443,\"averageDailyVolume10Day\":5573960,\"fiftyTwoWeekLowChange\":4.540001,\"fiftyTwoWeekLowChangePercent\":0.13576558,\"fiftyTwoWeekRange\":\"33.44 - - 48.25\",\"fiftyTwoWeekHighChange\":-10.27,\"fiftyTwoWeekHighChangePercent\":-0.21284975,\"fiftyTwoWeekChangePercent\":-5.545884,\"dividendDate\":1671062400,\"earningsTimestamp\":1730319304,\"earningsTimestampStart\":1739271540,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730322000,\"earningsCallTimestampEnd\":1730322000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":13.612904,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.79,\"epsForward\":2.3,\"epsCurrentYear\":2.52,\"priceEpsCurrentYear\":15.071428,\"sharesOutstanding\":297740000,\"bookValue\":10.886,\"fiftyDayAverage\":38.3574,\"fiftyDayAverageChange\":-0.37739944,\"fiftyDayAverageChangePercent\":-0.009839026,\"twoHundredDayAverage\":41.0791,\"twoHundredDayAverageChange\":-3.099102,\"twoHundredDayAverageChangePercent\":-0.0754423,\"marketCap\":11308165120,\"forwardPE\":16.513044,\"priceToBook\":3.488885,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.34694,\"displayName\":\"MGM - Resorts\",\"symbol\":\"MGM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":527.18,\"fiftyTwoWeekLow\":213.31,\"averageAnalystRating\":\"2.6 - - Hold\",\"shortName\":\"Humana Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":378657000000,\"priceHint\":2,\"postMarketChangePercent\":-0.83615965,\"postMarketTime\":1731545972,\"postMarketPrice\":287.0,\"postMarketChange\":-2.4200134,\"regularMarketChange\":9.36002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":289.42,\"regularMarketDayHigh\":291.09,\"regularMarketDayRange\":\"277.26 - - 291.09\",\"regularMarketDayLow\":277.26,\"regularMarketVolume\":1951604,\"regularMarketPreviousClose\":280.06,\"bid\":286.0,\"ask\":287.5,\"bidSize\":8,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_29618\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Humana - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":278.98,\"averageDailyVolume3Month\":2301767,\"averageDailyVolume10Day\":2213260,\"fiftyTwoWeekLowChange\":76.110016,\"fiftyTwoWeekLowChangePercent\":0.35680473,\"fiftyTwoWeekRange\":\"213.31 - - 527.18\",\"fiftyTwoWeekHighChange\":-237.75998,\"fiftyTwoWeekHighChangePercent\":-0.45100343,\"fiftyTwoWeekChangePercent\":-43.572945,\"dividendDate\":1738281600,\"earningsTimestamp\":1730284200,\"earningsTimestampStart\":1737639000,\"earningsTimestampEnd\":1737984600,\"earningsCallTimestampStart\":1730293200,\"earningsCallTimestampEnd\":1730293200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":3.54,\"trailingPE\":25.276857,\"dividendRate\":3.54,\"trailingAnnualDividendYield\":0.012640148,\"dividendYield\":1.26,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":11.45,\"epsForward\":16.84,\"epsCurrentYear\":16.16,\"priceEpsCurrentYear\":17.909655,\"sharesOutstanding\":120411000,\"bookValue\":145.875,\"fiftyDayAverage\":284.6386,\"fiftyDayAverageChange\":4.7814026,\"fiftyDayAverageChangePercent\":0.016798152,\"twoHundredDayAverage\":335.27405,\"twoHundredDayAverageChange\":-45.854034,\"twoHundredDayAverageChangePercent\":-0.13676584,\"marketCap\":34849353728,\"forwardPE\":17.186462,\"priceToBook\":1.9840275,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.34215,\"displayName\":\"Humana\",\"symbol\":\"HUM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":10.39,\"fiftyTwoWeekLow\":8.02,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"Vodafone Group Plc\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":594484200000,\"priceHint\":2,\"postMarketChangePercent\":0.340576,\"postMarketTime\":1731544814,\"postMarketPrice\":8.7798,\"postMarketChange\":0.0298004,\"regularMarketChange\":0.27999973,\"regularMarketTime\":1731531600,\"regularMarketPrice\":8.75,\"regularMarketDayHigh\":8.8,\"regularMarketDayRange\":\"8.59 - - 8.8\",\"regularMarketDayLow\":8.59,\"regularMarketVolume\":9330268,\"regularMarketPreviousClose\":8.47,\"bid\":8.75,\"ask\":8.8,\"bidSize\":1,\"askSize\":15,\"market\":\"us_market\",\"messageBoardId\":\"finmb_324490\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Vodafone - Group Public Limited Company\",\"financialCurrency\":\"EUR\",\"regularMarketOpen\":8.64,\"averageDailyVolume3Month\":4844100,\"averageDailyVolume10Day\":6374500,\"fiftyTwoWeekLowChange\":0.72999954,\"fiftyTwoWeekLowChangePercent\":0.09102238,\"fiftyTwoWeekRange\":\"8.02 - - 10.39\",\"fiftyTwoWeekHighChange\":-1.6400003,\"fiftyTwoWeekHighChangePercent\":-0.15784411,\"fiftyTwoWeekChangePercent\":-4.580152,\"dividendDate\":1722556800,\"earningsTimestamp\":1731394800,\"earningsTimestampStart\":1731394800,\"earningsTimestampEnd\":1731394800,\"earningsCallTimestampStart\":1731409140,\"earningsCallTimestampEnd\":1731409140,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.068,\"trailingPE\":17.857143,\"dividendRate\":0.97,\"trailingAnnualDividendYield\":0.008028336,\"dividendYield\":11.42,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.49,\"epsForward\":0.85,\"epsCurrentYear\":0.42,\"priceEpsCurrentYear\":20.833334,\"sharesOutstanding\":2602299904,\"bookValue\":2.232,\"fiftyDayAverage\":9.7064,\"fiftyDayAverageChange\":-0.9563999,\"fiftyDayAverageChangePercent\":-0.09853292,\"twoHundredDayAverage\":9.15115,\"twoHundredDayAverageChange\":-0.40114975,\"twoHundredDayAverageChangePercent\":-0.043835994,\"marketCap\":24535261184,\"forwardPE\":10.294117,\"priceToBook\":3.9202507,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Vodafone - Group Plc\",\"nameChangeDate\":\"2024-11-08\",\"regularMarketChangePercent\":3.305782,\"displayName\":\"Vodafone\",\"symbol\":\"VOD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":324.99,\"fiftyTwoWeekLow\":166.86,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"monday.com Ltd.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1623331800000,\"priceHint\":2,\"postMarketChangePercent\":-0.0297284,\"postMarketTime\":1731545369,\"postMarketPrice\":269.08,\"postMarketChange\":-0.0800171,\"regularMarketChange\":8.570007,\"regularMarketTime\":1731531601,\"regularMarketPrice\":269.16,\"regularMarketDayHigh\":275.36,\"regularMarketDayRange\":\"257.1757 - - 275.36\",\"regularMarketDayLow\":257.1757,\"regularMarketVolume\":1740948,\"regularMarketPreviousClose\":260.59,\"bid\":268.59,\"ask\":269.83,\"bidSize\":2,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_214992529\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"monday.com - Ltd.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":261.5,\"averageDailyVolume3Month\":506917,\"averageDailyVolume10Day\":1056590,\"fiftyTwoWeekLowChange\":102.3,\"fiftyTwoWeekLowChangePercent\":0.61308885,\"fiftyTwoWeekRange\":\"166.86 - - 324.99\",\"fiftyTwoWeekHighChange\":-55.829987,\"fiftyTwoWeekHighChangePercent\":-0.17178987,\"fiftyTwoWeekChangePercent\":54.606937,\"earningsTimestamp\":1731326400,\"earningsTimestampStart\":1731326400,\"earningsTimestampEnd\":1731326400,\"earningsCallTimestampStart\":1731331800,\"earningsCallTimestampEnd\":1731331800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":324.28915,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.83,\"epsForward\":3.7,\"epsCurrentYear\":3.09,\"priceEpsCurrentYear\":87.1068,\"sharesOutstanding\":49858800,\"bookValue\":19.37,\"fiftyDayAverage\":279.267,\"fiftyDayAverageChange\":-10.106995,\"fiftyDayAverageChangePercent\":-0.036191154,\"twoHundredDayAverage\":236.8059,\"twoHundredDayAverageChange\":32.35411,\"twoHundredDayAverageChangePercent\":0.13662714,\"marketCap\":13419995136,\"forwardPE\":72.74595,\"priceToBook\":13.895715,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-06-10\",\"regularMarketChangePercent\":3.2886937,\"displayName\":\"monday.com\",\"symbol\":\"MNDY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":270.73,\"fiftyTwoWeekLow\":151.52,\"averageAnalystRating\":\"1.3 - - Strong Buy\",\"shortName\":\"NICE Ltd\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":822580200000,\"priceHint\":2,\"postMarketChangePercent\":1.57152,\"postMarketTime\":1731545976,\"postMarketPrice\":202.3,\"postMarketChange\":3.13,\"regularMarketChange\":6.279999,\"regularMarketTime\":1731531601,\"regularMarketPrice\":199.17,\"regularMarketDayHigh\":200.59,\"regularMarketDayRange\":\"194.47 - - 200.59\",\"regularMarketDayLow\":194.47,\"regularMarketVolume\":1302076,\"regularMarketPreviousClose\":192.89,\"bid\":196.51,\"ask\":199.74,\"bidSize\":4,\"askSize\":5,\"market\":\"us_market\",\"messageBoardId\":\"finmb_32181\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"NICE - Ltd.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":195.18,\"averageDailyVolume3Month\":503296,\"averageDailyVolume10Day\":622530,\"fiftyTwoWeekLowChange\":47.649994,\"fiftyTwoWeekLowChangePercent\":0.3144799,\"fiftyTwoWeekRange\":\"151.52 - - 270.73\",\"fiftyTwoWeekHighChange\":-71.56001,\"fiftyTwoWeekHighChangePercent\":-0.26432243,\"fiftyTwoWeekChangePercent\":2.0599484,\"dividendDate\":1489536000,\"earningsTimestamp\":1731591000,\"earningsTimestampStart\":1731591000,\"earningsTimestampEnd\":1731591000,\"earningsCallTimestampStart\":1731591000,\"earningsCallTimestampEnd\":1731591000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":33.195,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":6.0,\"epsForward\":12.17,\"epsCurrentYear\":10.73031,\"priceEpsCurrentYear\":18.56144,\"sharesOutstanding\":62869100,\"bookValue\":54.383,\"fiftyDayAverage\":172.2666,\"fiftyDayAverageChange\":26.903397,\"fiftyDayAverageChangePercent\":0.15617302,\"twoHundredDayAverage\":196.3736,\"twoHundredDayAverageChange\":2.796402,\"twoHundredDayAverageChangePercent\":0.014240214,\"marketCap\":12590651392,\"forwardPE\":16.365652,\"priceToBook\":3.6623578,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.255741,\"displayName\":\"NICE\",\"symbol\":\"NICE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":69.18,\"fiftyTwoWeekLow\":49.19,\"averageAnalystRating\":\"3.0 - - Hold\",\"shortName\":\"Molson Coors Beverage Company\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":171811800000,\"priceHint\":2,\"postMarketChangePercent\":-0.563558,\"postMarketTime\":1731545060,\"postMarketPrice\":63.52,\"postMarketChange\":-0.360001,\"regularMarketChange\":1.99,\"regularMarketTime\":1731531602,\"regularMarketPrice\":63.88,\"regularMarketDayHigh\":64.04,\"regularMarketDayRange\":\"62.0 - - 64.04\",\"regularMarketDayLow\":62.0,\"regularMarketVolume\":2889249,\"regularMarketPreviousClose\":61.89,\"bid\":63.51,\"ask\":64.27,\"bidSize\":9,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_263765\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Molson - Coors Beverage Company\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":62.0,\"averageDailyVolume3Month\":1820401,\"averageDailyVolume10Day\":2335090,\"fiftyTwoWeekLowChange\":14.690002,\"fiftyTwoWeekLowChangePercent\":0.298638,\"fiftyTwoWeekRange\":\"49.19 - - 69.18\",\"fiftyTwoWeekHighChange\":-5.299999,\"fiftyTwoWeekHighChangePercent\":-0.07661173,\"fiftyTwoWeekChangePercent\":8.289539,\"dividendDate\":1726790400,\"earningsTimestamp\":1730979000,\"earningsTimestampStart\":1739280600,\"earningsTimestampEnd\":1739799000,\"earningsCallTimestampStart\":1730986200,\"earningsCallTimestampEnd\":1730986200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.73,\"trailingPE\":14.387387,\"dividendRate\":1.76,\"trailingAnnualDividendYield\":0.02795282,\"dividendYield\":2.84,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.44,\"epsForward\":5.93,\"epsCurrentYear\":5.77,\"priceEpsCurrentYear\":11.071057,\"sharesOutstanding\":194000000,\"bookValue\":64.626,\"fiftyDayAverage\":55.9598,\"fiftyDayAverageChange\":7.9202003,\"fiftyDayAverageChangePercent\":0.14153375,\"twoHundredDayAverage\":57.42625,\"twoHundredDayAverageChange\":6.4537506,\"twoHundredDayAverageChangePercent\":0.11238328,\"marketCap\":13155128320,\"forwardPE\":10.772345,\"priceToBook\":0.98845667,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.21538,\"symbol\":\"TAP\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":29.94,\"fiftyTwoWeekLow\":20.21,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"Peabody Energy Corporation\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1491226200000,\"priceHint\":2,\"postMarketChangePercent\":0.54229796,\"postMarketTime\":1731545326,\"postMarketPrice\":27.81,\"postMarketChange\":0.14999962,\"regularMarketChange\":0.860001,\"regularMarketTime\":1731531602,\"regularMarketPrice\":27.66,\"regularMarketDayHigh\":27.73,\"regularMarketDayRange\":\"26.68 - - 27.73\",\"regularMarketDayLow\":26.68,\"regularMarketVolume\":2323132,\"regularMarketPreviousClose\":26.8,\"bid\":27.8,\"ask\":27.99,\"bidSize\":10,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_32792\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Peabody - Energy Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":27.07,\"averageDailyVolume3Month\":2791553,\"averageDailyVolume10Day\":3642490,\"fiftyTwoWeekLowChange\":7.450001,\"fiftyTwoWeekLowChangePercent\":0.36862946,\"fiftyTwoWeekRange\":\"20.21 - - 29.94\",\"fiftyTwoWeekHighChange\":-2.2800007,\"fiftyTwoWeekHighChangePercent\":-0.076152325,\"fiftyTwoWeekChangePercent\":16.724741,\"dividendDate\":1733270400,\"earningsTimestamp\":1730375104,\"earningsTimestampStart\":1738848600,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1730386800,\"earningsCallTimestampEnd\":1730386800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.3,\"trailingPE\":7.0741687,\"dividendRate\":0.3,\"trailingAnnualDividendYield\":0.011194031,\"dividendYield\":1.12,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.91,\"epsForward\":2.68,\"epsCurrentYear\":2.9,\"priceEpsCurrentYear\":9.5379305,\"sharesOutstanding\":121500000,\"bookValue\":29.978,\"fiftyDayAverage\":24.9314,\"fiftyDayAverageChange\":2.7285995,\"fiftyDayAverageChangePercent\":0.1094443,\"twoHundredDayAverage\":23.8976,\"twoHundredDayAverageChange\":3.7623997,\"twoHundredDayAverageChangePercent\":0.15743838,\"marketCap\":3360689920,\"forwardPE\":10.320895,\"priceToBook\":0.9226766,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.20896,\"displayName\":\"Peabody - Energy\",\"symbol\":\"BTU\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":74.68,\"fiftyTwoWeekLow\":35.19,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"Pampa Energia S.A.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1255095000000,\"priceHint\":2,\"postMarketChangePercent\":0.37853017,\"postMarketTime\":1731531712,\"postMarketPrice\":74.25,\"postMarketChange\":0.27999878,\"regularMarketChange\":2.28,\"regularMarketTime\":1731531602,\"regularMarketPrice\":73.97,\"regularMarketDayHigh\":74.62,\"regularMarketDayRange\":\"71.985 - - 74.62\",\"regularMarketDayLow\":71.985,\"regularMarketVolume\":499859,\"regularMarketPreviousClose\":71.69,\"bid\":73.77,\"ask\":74.05,\"bidSize\":8,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_880369\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Pampa - Energ\xEDa S.A.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":72.01,\"averageDailyVolume3Month\":224820,\"averageDailyVolume10Day\":298010,\"fiftyTwoWeekLowChange\":38.780003,\"fiftyTwoWeekLowChangePercent\":1.1020178,\"fiftyTwoWeekRange\":\"35.19 - - 74.68\",\"fiftyTwoWeekHighChange\":-0.7099991,\"fiftyTwoWeekHighChangePercent\":-0.009507218,\"fiftyTwoWeekChangePercent\":106.389496,\"earningsTimestamp\":1730919600,\"earningsTimestampStart\":1730919600,\"earningsTimestampEnd\":1730919600,\"earningsCallTimestampStart\":1730991600,\"earningsCallTimestampEnd\":1730991600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":8.255581,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":8.96,\"epsForward\":7.61,\"epsCurrentYear\":8.34,\"priceEpsCurrentYear\":8.869305,\"sharesOutstanding\":54385700,\"bookValue\":2.343,\"fiftyDayAverage\":63.6912,\"fiftyDayAverageChange\":10.278801,\"fiftyDayAverageChangePercent\":0.16138494,\"twoHundredDayAverage\":50.1741,\"twoHundredDayAverageChange\":23.795902,\"twoHundredDayAverageChangePercent\":0.47426665,\"marketCap\":4628473344,\"forwardPE\":9.720105,\"priceToBook\":31.570637,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.18036,\"displayName\":\"Pampa - Energ\xEDa\",\"symbol\":\"PAM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":370.21,\"fiftyTwoWeekLow\":220.02,\"averageAnalystRating\":\"2.6 - - Hold\",\"shortName\":\"Cummins Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":99153000000,\"priceHint\":2,\"postMarketChangePercent\":-0.990884,\"postMarketTime\":1731545888,\"postMarketPrice\":362.71,\"postMarketChange\":-3.63,\"regularMarketChange\":11.26,\"regularMarketTime\":1731531602,\"regularMarketPrice\":366.34,\"regularMarketDayHigh\":367.07,\"regularMarketDayRange\":\"359.37 - - 367.07\",\"regularMarketDayLow\":359.37,\"regularMarketVolume\":960485,\"regularMarketPreviousClose\":355.08,\"bid\":365.94,\"ask\":366.24,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_265253\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Cummins - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":360.05,\"averageDailyVolume3Month\":638481,\"averageDailyVolume10Day\":755390,\"fiftyTwoWeekLowChange\":146.31999,\"fiftyTwoWeekLowChangePercent\":0.6650304,\"fiftyTwoWeekRange\":\"220.02 - - 370.21\",\"fiftyTwoWeekHighChange\":-3.869995,\"fiftyTwoWeekHighChangePercent\":-0.010453514,\"fiftyTwoWeekChangePercent\":63.969208,\"dividendDate\":1733356800,\"earningsTimestamp\":1730809800,\"earningsTimestampStart\":1738675800,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1730818800,\"earningsCallTimestampEnd\":1730818800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":6.86,\"trailingPE\":23.259682,\"dividendRate\":7.28,\"trailingAnnualDividendYield\":0.01931959,\"dividendYield\":2.05,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":15.75,\"epsForward\":22.52,\"epsCurrentYear\":21.83,\"priceEpsCurrentYear\":16.781494,\"sharesOutstanding\":137182000,\"bookValue\":75.192,\"fiftyDayAverage\":326.2,\"fiftyDayAverageChange\":40.139984,\"fiftyDayAverageChangePercent\":0.12305329,\"twoHundredDayAverage\":293.6066,\"twoHundredDayAverageChange\":72.7334,\"twoHundredDayAverageChangePercent\":0.247724,\"marketCap\":50255253504,\"forwardPE\":16.267317,\"priceToBook\":4.872061,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.17112,\"displayName\":\"Cummins\",\"symbol\":\"CMI\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NGM\",\"fiftyTwoWeekHigh\":509.62,\"fiftyTwoWeekLow\":212.74,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"MongoDB, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1508419800000,\"priceHint\":2,\"postMarketChangePercent\":0.335664,\"postMarketTime\":1731545984,\"postMarketPrice\":301.9,\"postMarketChange\":1.00998,\"regularMarketChange\":9.240021,\"regularMarketTime\":1731531601,\"regularMarketPrice\":300.89,\"regularMarketDayHigh\":320.68,\"regularMarketDayRange\":\"291.13 - - 320.68\",\"regularMarketDayLow\":291.13,\"regularMarketVolume\":2526896,\"regularMarketPreviousClose\":291.65,\"bid\":243.25,\"ask\":333.84,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_46952162\",\"fullExchangeName\":\"NasdaqGM\",\"longName\":\"MongoDB, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":291.13,\"averageDailyVolume3Month\":1229647,\"averageDailyVolume10Day\":1050270,\"fiftyTwoWeekLowChange\":88.15001,\"fiftyTwoWeekLowChangePercent\":0.41435558,\"fiftyTwoWeekRange\":\"212.74 - - 509.62\",\"fiftyTwoWeekHighChange\":-208.72998,\"fiftyTwoWeekHighChangePercent\":-0.40957966,\"fiftyTwoWeekChangePercent\":-25.039196,\"earningsTimestamp\":1724961904,\"earningsTimestampStart\":1733223540,\"earningsTimestampEnd\":1733745600,\"earningsCallTimestampStart\":1724965200,\"earningsCallTimestampEnd\":1724965200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-3.03,\"epsForward\":3.24,\"epsCurrentYear\":2.44,\"priceEpsCurrentYear\":123.315575,\"sharesOutstanding\":73869504,\"bookValue\":18.454,\"fiftyDayAverage\":277.9028,\"fiftyDayAverageChange\":22.987213,\"fiftyDayAverageChangePercent\":0.08271674,\"twoHundredDayAverage\":312.40955,\"twoHundredDayAverageChange\":-11.519531,\"twoHundredDayAverageChangePercent\":-0.036873173,\"marketCap\":22226595840,\"forwardPE\":92.86729,\"priceToBook\":16.304867,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.168188,\"displayName\":\"MongoDB\",\"symbol\":\"MDB\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":51.28,\"fiftyTwoWeekLow\":18.51,\"averageAnalystRating\":\"3.1 - - Hold\",\"shortName\":\"Intel Corporation\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":0.601925,\"postMarketTime\":1731545999,\"postMarketPrice\":25.07,\"postMarketChange\":0.15,\"regularMarketChange\":0.7600002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":24.92,\"regularMarketDayHigh\":25.14,\"regularMarketDayRange\":\"24.0626 - - 25.14\",\"regularMarketDayLow\":24.0626,\"regularMarketVolume\":58003134,\"regularMarketPreviousClose\":24.16,\"bid\":24.88,\"ask\":24.98,\"bidSize\":18,\"askSize\":15,\"market\":\"us_market\",\"messageBoardId\":\"finmb_21127\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Intel - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":24.085,\"averageDailyVolume3Month\":79848903,\"averageDailyVolume10Day\":92521480,\"fiftyTwoWeekLowChange\":6.41,\"fiftyTwoWeekLowChangePercent\":0.3462993,\"fiftyTwoWeekRange\":\"18.51 - - 51.28\",\"fiftyTwoWeekHighChange\":-26.359999,\"fiftyTwoWeekHighChangePercent\":-0.5140405,\"fiftyTwoWeekChangePercent\":-42.51442,\"dividendDate\":1725148800,\"earningsTimestamp\":1730404860,\"earningsTimestampStart\":1737676800,\"earningsTimestampEnd\":1738022400,\"earningsCallTimestampStart\":1730408400,\"earningsCallTimestampEnd\":1730408400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.495,\"dividendRate\":0.5,\"trailingAnnualDividendYield\":0.020488411,\"dividendYield\":2.24,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-3.86,\"epsForward\":0.97,\"epsCurrentYear\":-0.14,\"priceEpsCurrentYear\":-178.0,\"sharesOutstanding\":4312999936,\"bookValue\":23.099,\"fiftyDayAverage\":22.467,\"fiftyDayAverageChange\":2.453001,\"fiftyDayAverageChangePercent\":0.10918241,\"twoHundredDayAverage\":30.90575,\"twoHundredDayAverageChange\":-5.98575,\"twoHundredDayAverageChangePercent\":-0.19367756,\"marketCap\":107479957504,\"forwardPE\":25.690722,\"priceToBook\":1.0788345,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.1456962,\"displayName\":\"Intel\",\"symbol\":\"INTC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":30.59,\"fiftyTwoWeekLow\":18.48,\"averageAnalystRating\":\"1.8 - - Buy\",\"shortName\":\"Intercorp Financial Services In\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1561987800000,\"priceHint\":2,\"postMarketChangePercent\":4.71428,\"postMarketTime\":1731545488,\"postMarketPrice\":29.32,\"postMarketChange\":1.32,\"regularMarketChange\":0.85,\"regularMarketTime\":1731531602,\"regularMarketPrice\":28.0,\"regularMarketDayHigh\":28.7,\"regularMarketDayRange\":\"27.645 - - 28.7\",\"regularMarketDayLow\":27.645,\"regularMarketVolume\":585125,\"regularMarketPreviousClose\":27.15,\"bid\":28.02,\"ask\":28.54,\"bidSize\":32,\"askSize\":12,\"market\":\"us_market\",\"messageBoardId\":\"finmb_35196267\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Intercorp - Financial Services Inc.\",\"financialCurrency\":\"PEN\",\"regularMarketOpen\":27.07,\"averageDailyVolume3Month\":125777,\"averageDailyVolume10Day\":138520,\"fiftyTwoWeekLowChange\":9.52,\"fiftyTwoWeekLowChangePercent\":0.51515156,\"fiftyTwoWeekRange\":\"18.48 - - 30.59\",\"fiftyTwoWeekHighChange\":-2.5900002,\"fiftyTwoWeekHighChangePercent\":-0.0846682,\"fiftyTwoWeekChangePercent\":44.26142,\"dividendDate\":1714348800,\"earningsTimestamp\":1731445200,\"earningsTimestampStart\":1731445200,\"earningsTimestampEnd\":1731445200,\"earningsCallTimestampStart\":1731506400,\"earningsCallTimestampEnd\":1731506400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":3.714,\"trailingPE\":12.844036,\"dividendRate\":1.0,\"trailingAnnualDividendYield\":0.13679558,\"dividendYield\":3.68,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.18,\"epsForward\":4.0,\"epsCurrentYear\":2.68,\"priceEpsCurrentYear\":10.447761,\"sharesOutstanding\":114479000,\"bookValue\":88.642,\"fiftyDayAverage\":26.2156,\"fiftyDayAverageChange\":1.7844009,\"fiftyDayAverageChangePercent\":0.06806638,\"twoHundredDayAverage\":24.44985,\"twoHundredDayAverageChange\":3.55015,\"twoHundredDayAverageChangePercent\":0.1452013,\"marketCap\":3205412096,\"forwardPE\":7.0,\"priceToBook\":0.31587735,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.13076,\"displayName\":\"Intercorp - Financial Services\",\"symbol\":\"IFS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":60.36,\"fiftyTwoWeekLow\":44.72,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"United Parks & Resorts Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1366378200000,\"priceHint\":2,\"postMarketChangePercent\":0.017047437,\"postMarketTime\":1731537917,\"postMarketPrice\":58.66,\"postMarketChange\":0.0099983215,\"regularMarketChange\":1.78,\"regularMarketTime\":1731531602,\"regularMarketPrice\":58.65,\"regularMarketDayHigh\":58.685,\"regularMarketDayRange\":\"56.86 - - 58.685\",\"regularMarketDayLow\":56.86,\"regularMarketVolume\":871798,\"regularMarketPreviousClose\":56.87,\"bid\":57.39,\"ask\":61.11,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_864032\",\"fullExchangeName\":\"NYSE\",\"longName\":\"United - Parks & Resorts Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":56.92,\"averageDailyVolume3Month\":853046,\"averageDailyVolume10Day\":1016750,\"fiftyTwoWeekLowChange\":13.93,\"fiftyTwoWeekLowChangePercent\":0.31149372,\"fiftyTwoWeekRange\":\"44.72 - - 60.36\",\"fiftyTwoWeekHighChange\":-1.7099991,\"fiftyTwoWeekHighChangePercent\":-0.028330004,\"fiftyTwoWeekChangePercent\":18.257439,\"earningsTimestamp\":1730979018,\"earningsTimestampStart\":1730979018,\"earningsTimestampEnd\":1730979018,\"earningsCallTimestampStart\":1730988000,\"earningsCallTimestampEnd\":1730988000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":15.194302,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.86,\"epsForward\":4.56,\"epsCurrentYear\":4.03,\"priceEpsCurrentYear\":14.5533495,\"sharesOutstanding\":55003500,\"bookValue\":-8.175,\"fiftyDayAverage\":52.0606,\"fiftyDayAverageChange\":6.5894012,\"fiftyDayAverageChangePercent\":0.12657174,\"twoHundredDayAverage\":51.7934,\"twoHundredDayAverageChange\":6.8566017,\"twoHundredDayAverageChangePercent\":0.13238369,\"marketCap\":3225955328,\"forwardPE\":12.861842,\"priceToBook\":-7.174312,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"SeaWorld - Entertainment, Inc.\",\"nameChangeDate\":\"2024-11-08\",\"regularMarketChangePercent\":3.12995,\"displayName\":\"United - Parks & Resorts\",\"symbol\":\"PRKS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":312.76,\"fiftyTwoWeekLow\":242.81,\"averageAnalystRating\":\"2.7 - - Hold\",\"shortName\":\"Rockwell Automation, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":378657000000,\"priceHint\":2,\"postMarketChangePercent\":0.33848664,\"postMarketTime\":1731540411,\"postMarketPrice\":287.54,\"postMarketChange\":0.9700012,\"regularMarketChange\":8.69,\"regularMarketTime\":1731531602,\"regularMarketPrice\":286.57,\"regularMarketDayHigh\":288.54,\"regularMarketDayRange\":\"279.815 - - 288.54\",\"regularMarketDayLow\":279.815,\"regularMarketVolume\":897764,\"regularMarketPreviousClose\":277.88,\"bid\":286.16,\"ask\":287.59,\"bidSize\":9,\"askSize\":12,\"market\":\"us_market\",\"messageBoardId\":\"finmb_300504\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Rockwell - Automation, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":280.85,\"averageDailyVolume3Month\":679564,\"averageDailyVolume10Day\":1121430,\"fiftyTwoWeekLowChange\":43.76001,\"fiftyTwoWeekLowChangePercent\":0.18022326,\"fiftyTwoWeekRange\":\"242.81 - - 312.76\",\"fiftyTwoWeekHighChange\":-26.190002,\"fiftyTwoWeekHighChangePercent\":-0.083738334,\"fiftyTwoWeekChangePercent\":5.055356,\"dividendDate\":1733788800,\"earningsTimestamp\":1730980800,\"earningsTimestampStart\":1738161000,\"earningsTimestampEnd\":1738593000,\"earningsCallTimestampStart\":1730986200,\"earningsCallTimestampEnd\":1730986200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":5.0,\"trailingPE\":34.609905,\"dividendRate\":5.24,\"trailingAnnualDividendYield\":0.017993378,\"dividendYield\":1.89,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":8.28,\"epsForward\":11.4,\"epsCurrentYear\":9.85,\"priceEpsCurrentYear\":29.093401,\"sharesOutstanding\":113467000,\"bookValue\":30.768,\"fiftyDayAverage\":267.957,\"fiftyDayAverageChange\":18.613007,\"fiftyDayAverageChangePercent\":0.069462664,\"twoHundredDayAverage\":270.84805,\"twoHundredDayAverageChange\":15.721954,\"twoHundredDayAverageChangePercent\":0.05804714,\"marketCap\":32516239360,\"forwardPE\":25.13772,\"priceToBook\":9.313898,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.12725,\"displayName\":\"Rockwell - Automation\",\"symbol\":\"ROK\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":17.0,\"fiftyTwoWeekLow\":7.61,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"Magnite, Inc.\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1396445400000,\"priceHint\":2,\"postMarketChangePercent\":-0.47619,\"postMarketTime\":1731545885,\"postMarketPrice\":16.72,\"postMarketChange\":-0.0799999,\"regularMarketChange\":0.5,\"regularMarketTime\":1731531601,\"regularMarketPrice\":16.8,\"regularMarketDayHigh\":17.0,\"regularMarketDayRange\":\"16.31 - - 17.0\",\"regularMarketDayLow\":16.31,\"regularMarketVolume\":3937785,\"regularMarketPreviousClose\":16.3,\"bid\":16.76,\"ask\":16.84,\"bidSize\":2,\"askSize\":2,\"market\":\"us_market\",\"messageBoardId\":\"finmb_37502896\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Magnite, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":16.49,\"averageDailyVolume3Month\":1753088,\"averageDailyVolume10Day\":2520860,\"fiftyTwoWeekLowChange\":9.189999,\"fiftyTwoWeekLowChangePercent\":1.2076213,\"fiftyTwoWeekRange\":\"7.61 - - 17.0\",\"fiftyTwoWeekHighChange\":-0.20000076,\"fiftyTwoWeekHighChangePercent\":-0.011764751,\"fiftyTwoWeekChangePercent\":113.3508,\"earningsTimestamp\":1731013509,\"earningsTimestampStart\":1731013509,\"earningsTimestampEnd\":1731013509,\"earningsCallTimestampStart\":1731015000,\"earningsCallTimestampEnd\":1731015000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.03,\"epsForward\":0.92,\"epsCurrentYear\":0.76,\"priceEpsCurrentYear\":22.105263,\"sharesOutstanding\":140690000,\"bookValue\":5.143,\"fiftyDayAverage\":12.8992,\"fiftyDayAverageChange\":3.9007988,\"fiftyDayAverageChangePercent\":0.30240625,\"twoHundredDayAverage\":11.94405,\"twoHundredDayAverageChange\":4.8559494,\"twoHundredDayAverageChangePercent\":0.40655804,\"marketCap\":2363591936,\"forwardPE\":18.260868,\"priceToBook\":3.2665758,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"regularMarketChangePercent\":3.0674849,\"displayName\":\"Magnite\",\"symbol\":\"MGNI\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":258.69,\"fiftyTwoWeekLow\":135.29,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"Atlassian Corporation\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1449671400000,\"priceHint\":2,\"postMarketChangePercent\":-0.110768,\"postMarketTime\":1731545397,\"postMarketPrice\":252.5,\"postMarketChange\":-0.279999,\"regularMarketChange\":7.5,\"regularMarketTime\":1731531600,\"regularMarketPrice\":252.78,\"regularMarketDayHigh\":255.01,\"regularMarketDayRange\":\"244.3 - - 255.01\",\"regularMarketDayLow\":244.3,\"regularMarketVolume\":2543248,\"regularMarketPreviousClose\":245.28,\"bid\":232.33,\"ask\":253.19,\"bidSize\":1,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_253891410\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Atlassian - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":245.0,\"averageDailyVolume3Month\":2006512,\"averageDailyVolume10Day\":3473080,\"fiftyTwoWeekLowChange\":117.490005,\"fiftyTwoWeekLowChangePercent\":0.86843085,\"fiftyTwoWeekRange\":\"135.29 - - 258.69\",\"fiftyTwoWeekHighChange\":-5.9100037,\"fiftyTwoWeekHighChangePercent\":-0.02284589,\"fiftyTwoWeekChangePercent\":31.517422,\"earningsTimestamp\":1730405100,\"earningsTimestampStart\":1730405100,\"earningsTimestampEnd\":1730405100,\"earningsCallTimestampStart\":1730408400,\"earningsCallTimestampEnd\":1730408400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-1.57,\"epsForward\":4.11,\"epsCurrentYear\":3.28,\"priceEpsCurrentYear\":77.06707,\"sharesOutstanding\":161456000,\"bookValue\":3.946,\"fiftyDayAverage\":182.8032,\"fiftyDayAverageChange\":69.97679,\"fiftyDayAverageChangePercent\":0.3827985,\"twoHundredDayAverage\":183.04688,\"twoHundredDayAverageChange\":69.73312,\"twoHundredDayAverageChangePercent\":0.38095775,\"marketCap\":65832251392,\"forwardPE\":61.503647,\"priceToBook\":64.05981,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Atlassian - Corporation Plc\",\"nameChangeDate\":\"2024-11-08\",\"regularMarketChangePercent\":3.05773,\"displayName\":\"Atlassian\",\"symbol\":\"TEAM\"}],\"useRecords\":false}],\"error\":null}}" + string: xbV0f0TLaim headers: Age: - - '0' + - '1' + Connection: + - keep-alive + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=31536000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - private, max-age=60, stale-while-revalidate=30 + content-length: + - '11' + content-type: + - text/plain;charset=utf-8 + date: + - Mon, 20 Jan 2025 22:29:53 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-external-services-api--mtls-production-gq1.finance-k8s:4080/* + x-envoy-upstream-service-time: + - '1' + y-rid: + - 7dto9lhjotjj2 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate, br, zstd + Connection: + - keep-alive + Cookie: + - MOCK_COOKIE + method: GET + uri: https://query2.finance.yahoo.com/v1/finance/screener/predefined/saved?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&defaults=offset&defaults=size&defaults=sortAsc&defaults=sortField&defaults=userId&defaults=userIdType&formatted=false&lang=en-US&offset=0®ion=US&scrIds=day_gainers&size=250 + response: + body: + string: '{"finance":{"result":[{"id":"ec5bebb9-b7b2-4474-9e5c-3e258b61cbe6","title":"Day + Gainers","description":"Discover the equities with the greatest gains in the + trading day.","canonicalName":"DAY_GAINERS","criteriaMeta":{"size":25,"offset":0,"sortField":"percentchange","sortType":"DESC","quoteType":"EQUITY","criteria":[{"field":"percentchange","subField":null,"operators":["GT"],"values":[3.0],"labelsSelected":[],"dependentValues":[]},{"field":"region","subField":null,"operators":["EQ"],"values":[],"labelsSelected":[53],"dependentValues":[]},{"field":"intradaymarketcap","subField":null,"operators":["EQ"],"values":[],"labelsSelected":[1,2,3],"dependentValues":[]},{"field":"intradayprice","subField":null,"operators":["GTE"],"values":[5],"labelsSelected":[],"dependentValues":[]},{"field":"dayvolume","subField":null,"operators":["GT"],"values":[15000],"labelsSelected":[],"dependentValues":[]}],"topOperator":"AND"},"rawCriteria":"{\"offset\":0,\"size\":25,\"sortField\":\"percentchange\",\"sortType\":\"DESC\",\"quoteType\":\"EQUITY\",\"query\":{\"operator\":\"AND\",\"operands\":[{\"operator\":\"GT\",\"operands\":[\"percentchange\",3.0]},{\"operator\":\"eq\",\"operands\":[\"region\",\"us\"]},{\"operator\":\"or\",\"operands\":[{\"operator\":\"BTWN\",\"operands\":[\"intradaymarketcap\",2000000000,10000000000]},{\"operator\":\"BTWN\",\"operands\":[\"intradaymarketcap\",10000000000,100000000000]},{\"operator\":\"GT\",\"operands\":[\"intradaymarketcap\",100000000000]}]},{\"operator\":\"gte\",\"operands\":[\"intradayprice\",5]},{\"operator\":\"gt\",\"operands\":[\"dayvolume\",15000]}]}}","start":0,"count":25,"total":122,"quotes":[{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-0.799271,"lastClosePriceToNNWCPerShare":-12.430691447495041,"currency":"USD","regularMarketChangePercent":249900.0,"shortName":"Music + Licensing, Inc.","exchange":"PNK","fiftyTwoWeekHigh":1000.0,"fiftyTwoWeekLow":0.0175,"hasPrePostMarketData":false,"firstTradeDateMilliseconds":1660570200000,"priceHint":2,"regularMarketChange":224.66,"regularMarketTime":1737144000,"regularMarketPrice":224.75,"regularMarketDayHigh":0.1265,"regularMarketDayRange":"0.07 + - 0.1265","regularMarketDayLow":0.07,"regularMarketVolume":30511,"regularMarketPreviousClose":0.0899,"bid":0.0701,"ask":0.0894,"bidSize":292,"askSize":0,"market":"us_market","messageBoardId":"finmb_653604309","fullExchangeName":"OTC + Markets OTCPK","longName":"Music Licensing, Inc.","financialCurrency":"USD","regularMarketOpen":0.1265,"averageDailyVolume3Month":95092,"averageDailyVolume10Day":1002,"corporateActions":[],"fiftyTwoWeekLowChange":224.7325,"fiftyTwoWeekLowChangePercent":12841.857,"fiftyTwoWeekRange":"0.0175 + - 1000.0","fiftyTwoWeekHighChange":-775.25,"fiftyTwoWeekHighChangePercent":-0.77525,"fiftyTwoWeekChangePercent":28.428566,"trailingAnnualDividendRate":0.0,"trailingPE":0.01005381,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":22354.71,"sharesOutstanding":20006000,"bookValue":0.062,"fiftyDayAverage":4.5525465,"fiftyDayAverageChange":220.19745,"fiftyDayAverageChangePercent":48.367973,"twoHundredDayAverage":18.991764,"twoHundredDayAverageChange":205.75824,"twoHundredDayAverageChangePercent":10.834077,"marketCap":4496348672,"priceToBook":3625.0,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Nuvus + Gro Corp.","nameChangeDate":"2025-01-20","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"SONG"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastClosePriceToNNWCPerShare":-5.030390600797872E-4,"currency":"USD","regularMarketChangePercent":26.293997,"averageAnalystRating":"3.5 + - Hold","shortName":"Freddie Mac","exchange":"OQB","fiftyTwoWeekHigh":7.15,"fiftyTwoWeekLow":0.91,"hasPrePostMarketData":false,"firstTradeDateMilliseconds":597076200000,"priceHint":2,"regularMarketChange":1.27,"regularMarketTime":1737147686,"regularMarketPrice":6.1,"regularMarketDayHigh":6.35,"regularMarketDayRange":"4.76 + - 6.35","regularMarketDayLow":4.76,"regularMarketVolume":4858154,"regularMarketPreviousClose":4.83,"bid":6.01,"ask":6.03,"bidSize":400,"askSize":400,"market":"us_market","messageBoardId":"finmb_271199","fullExchangeName":"OTC + Markets OTCQB","longName":"Federal Home Loan Mortgage Corporation","financialCurrency":"USD","regularMarketOpen":4.83,"averageDailyVolume3Month":9088490,"averageDailyVolume10Day":15581950,"corporateActions":[],"fiftyTwoWeekLowChange":5.19,"fiftyTwoWeekLowChangePercent":5.7032967,"fiftyTwoWeekRange":"0.91 + - 7.15","fiftyTwoWeekHighChange":-1.0500002,"fiftyTwoWeekHighChangePercent":-0.14685318,"fiftyTwoWeekChangePercent":439.823,"earningsTimestamp":1730290467,"earningsTimestampStart":1739367000,"earningsTimestampEnd":1739799000,"earningsCallTimestampStart":1730293200,"earningsCallTimestampEnd":1730293200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.05,"epsForward":0.0,"epsCurrentYear":-0.01,"priceEpsCurrentYear":-610.0,"sharesOutstanding":650060032,"bookValue":-46.714,"fiftyDayAverage":3.1946,"fiftyDayAverageChange":2.9053998,"fiftyDayAverageChangePercent":0.90947217,"twoHundredDayAverage":1.75895,"twoHundredDayAverageChange":4.34105,"twoHundredDayAverageChangePercent":2.4679782,"marketCap":3965366016,"priceToBook":-0.13058184,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Freddie + Mac","nameChangeDate":"2025-01-20","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Federal + Home Loan Mortgage","symbol":"FMCC"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":19.761943,"lastClosePriceToNNWCPerShare":-5.3592251284638825,"currency":"USD","regularMarketChangePercent":14.431313,"averageAnalystRating":"2.9 + - Hold","shortName":"Qorvo, Inc.","exchange":"NMS","fiftyTwoWeekHigh":130.99,"fiftyTwoWeekLow":64.54,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1420209000000,"priceHint":2,"postMarketChangePercent":-0.427503,"postMarketTime":1737161979,"postMarketPrice":83.85,"postMarketChange":-0.360001,"regularMarketChange":10.620003,"regularMarketTime":1737147600,"regularMarketPrice":84.21,"regularMarketDayHigh":84.48,"regularMarketDayRange":"77.21 + - 84.48","regularMarketDayLow":77.21,"regularMarketVolume":10027136,"regularMarketPreviousClose":73.59,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_33821","fullExchangeName":"NasdaqGS","longName":"Qorvo, + Inc.","financialCurrency":"USD","regularMarketOpen":78.0,"averageDailyVolume3Month":2969652,"averageDailyVolume10Day":3802610,"corporateActions":[],"fiftyTwoWeekLowChange":19.669998,"fiftyTwoWeekLowChangePercent":0.3047722,"fiftyTwoWeekRange":"64.54 + - 130.99","fiftyTwoWeekHighChange":-46.780006,"fiftyTwoWeekHighChangePercent":-0.35712653,"fiftyTwoWeekChangePercent":-21.077787,"earningsTimestamp":1738098000,"earningsTimestampStart":1738098000,"earningsTimestampEnd":1738098000,"earningsCallTimestampStart":1738099800,"earningsCallTimestampEnd":1738099800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-1.45,"epsForward":5.96,"epsCurrentYear":4.82276,"priceEpsCurrentYear":17.460955,"sharesOutstanding":94526704,"bookValue":36.024,"fiftyDayAverage":70.1756,"fiftyDayAverageChange":14.034401,"fiftyDayAverageChangePercent":0.19998977,"twoHundredDayAverage":97.9903,"twoHundredDayAverageChange":-13.780304,"twoHundredDayAverageChangePercent":-0.14062926,"marketCap":7960093696,"forwardPE":14.129194,"priceToBook":2.3376083,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Qorvo","symbol":"QRVO"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastClosePriceToNNWCPerShare":-0.5148996409480455,"currency":"USD","regularMarketChangePercent":10.10729,"averageAnalystRating":"1.4 + - Strong Buy","shortName":"JD.com, Inc.","exchange":"NMS","fiftyTwoWeekHigh":47.82,"fiftyTwoWeekLow":20.82,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1400765400000,"priceHint":2,"postMarketChangePercent":0.07692,"postMarketTime":1737161986,"postMarketPrice":39.03,"postMarketChange":0.0299988,"regularMarketChange":3.5800018,"regularMarketTime":1737147601,"regularMarketPrice":39.0,"regularMarketDayHigh":39.24,"regularMarketDayRange":"37.21 + - 39.24","regularMarketDayLow":37.21,"regularMarketVolume":28483990,"regularMarketPreviousClose":35.42,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_36273923","fullExchangeName":"NasdaqGS","longName":"JD.com, + Inc.","financialCurrency":"CNY","regularMarketOpen":37.34,"averageDailyVolume3Month":10732739,"averageDailyVolume10Day":9937230,"corporateActions":[],"fiftyTwoWeekLowChange":18.18,"fiftyTwoWeekLowChangePercent":0.87319887,"fiftyTwoWeekRange":"20.82 + - 47.82","fiftyTwoWeekHighChange":-8.82,"fiftyTwoWeekHighChangePercent":-0.18444166,"fiftyTwoWeekChangePercent":80.055405,"dividendDate":1714348800,"earningsTimestamp":1731574825,"earningsTimestampStart":1741095000,"earningsTimestampEnd":1741613400,"earningsCallTimestampStart":1731585600,"earningsCallTimestampEnd":1731585600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":12.703584,"dividendRate":0.76,"trailingAnnualDividendYield":0.0,"dividendYield":2.28,"marketState":"CLOSED","epsTrailingTwelveMonths":3.07,"epsForward":4.14,"epsCurrentYear":29.59663,"priceEpsCurrentYear":1.3177176,"sharesOutstanding":1449500032,"bookValue":147.79,"fiftyDayAverage":36.3227,"fiftyDayAverageChange":2.6772995,"fiftyDayAverageChangePercent":0.07370871,"twoHundredDayAverage":32.069126,"twoHundredDayAverageChange":6.930874,"twoHundredDayAverageChangePercent":0.21612294,"marketCap":60696481792,"forwardPE":9.42029,"priceToBook":0.26388797,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"JD.com","symbol":"JD"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastClosePriceToNNWCPerShare":-0.19382228473470658,"currency":"USD","regularMarketChangePercent":9.704458,"averageAnalystRating":"3.1 + - Hold","shortName":"Bank OZK","exchange":"NMS","fiftyTwoWeekHigh":51.5,"fiftyTwoWeekLow":37.43,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":869146200000,"priceHint":2,"postMarketChangePercent":0.321672,"postMarketTime":1737161460,"postMarketPrice":49.9,"postMarketChange":0.16,"regularMarketChange":4.4000015,"regularMarketTime":1737147600,"regularMarketPrice":49.74,"regularMarketDayHigh":49.84,"regularMarketDayRange":"47.14 + - 49.84","regularMarketDayLow":47.14,"regularMarketVolume":4130137,"regularMarketPreviousClose":45.34,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_362889","fullExchangeName":"NasdaqGS","longName":"Bank + OZK","financialCurrency":"USD","regularMarketOpen":47.97,"averageDailyVolume3Month":1237959,"averageDailyVolume10Day":1882660,"corporateActions":[],"fiftyTwoWeekLowChange":12.310001,"fiftyTwoWeekLowChangePercent":0.3288806,"fiftyTwoWeekRange":"37.43 + - 51.5","fiftyTwoWeekHighChange":-1.7599983,"fiftyTwoWeekHighChangePercent":-0.034174725,"fiftyTwoWeekChangePercent":0.8924961,"dividendDate":1737417600,"earningsTimestamp":1737061303,"earningsTimestampStart":1744747200,"earningsTimestampEnd":1745265600,"earningsCallTimestampStart":1737129600,"earningsCallTimestampEnd":1737129600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":8.180922,"dividendRate":1.68,"trailingAnnualDividendYield":0.0,"dividendYield":3.38,"marketState":"CLOSED","epsTrailingTwelveMonths":6.08,"epsForward":5.93,"epsCurrentYear":6.0092,"priceEpsCurrentYear":8.277308,"sharesOutstanding":113447000,"bookValue":46.31,"fiftyDayAverage":46.5234,"fiftyDayAverageChange":3.2166023,"fiftyDayAverageChangePercent":0.06913945,"twoHundredDayAverage":43.9534,"twoHundredDayAverageChange":5.786602,"twoHundredDayAverageChangePercent":0.13165312,"marketCap":5642853888,"forwardPE":8.387859,"priceToBook":1.074066,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"OZK"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-170.664261,"lastClosePriceToNNWCPerShare":-227.7582916278126,"currency":"USD","regularMarketChangePercent":9.401712,"averageAnalystRating":"1.4 + - Strong Buy","shortName":"TeraWulf Inc.","exchange":"NCM","fiftyTwoWeekHigh":9.3,"fiftyTwoWeekLow":1.29,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":765552600000,"priceHint":2,"postMarketChangePercent":-0.156254,"postMarketTime":1737161989,"postMarketPrice":6.39,"postMarketChange":-0.0100002,"regularMarketChange":0.5500002,"regularMarketTime":1737147600,"regularMarketPrice":6.4,"regularMarketDayHigh":6.66,"regularMarketDayRange":"6.05 + - 6.66","regularMarketDayLow":6.05,"regularMarketVolume":58295784,"regularMarketPreviousClose":5.85,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_1671971858","fullExchangeName":"NasdaqCM","longName":"TeraWulf + Inc.","financialCurrency":"USD","regularMarketOpen":6.205,"averageDailyVolume3Month":29941396,"averageDailyVolume10Day":36262260,"corporateActions":[],"fiftyTwoWeekLowChange":5.11,"fiftyTwoWeekLowChangePercent":3.9612405,"fiftyTwoWeekRange":"1.29 + - 9.3","fiftyTwoWeekHighChange":-2.9,"fiftyTwoWeekHighChangePercent":-0.31182796,"fiftyTwoWeekChangePercent":341.3793,"earningsTimestamp":1731445501,"earningsTimestampStart":1742328341,"earningsTimestampEnd":1742673941,"earningsCallTimestampStart":1731448800,"earningsCallTimestampEnd":1731448800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.16,"epsForward":0.1,"epsCurrentYear":-0.155,"priceEpsCurrentYear":-41.29032,"sharesOutstanding":385908000,"bookValue":0.95,"fiftyDayAverage":6.8774,"fiftyDayAverageChange":-0.47739983,"fiftyDayAverageChangePercent":-0.06941574,"twoHundredDayAverage":4.6645,"twoHundredDayAverageChange":1.7354999,"twoHundredDayAverageChangePercent":0.37206554,"marketCap":2469811200,"forwardPE":64.0,"priceToBook":6.736842,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"TeraWulf","symbol":"WULF"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":-171.193498,"lastClosePriceToNNWCPerShare":-1.5496658817873963,"currency":"USD","regularMarketChangePercent":9.252667,"averageAnalystRating":"3.0 + - Hold","shortName":"Intel Corporation","exchange":"NMS","fiftyTwoWeekHigh":50.3,"fiftyTwoWeekLow":18.51,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":322151400000,"priceHint":2,"postMarketChangePercent":3.02466,"postMarketTime":1737161999,"postMarketPrice":22.14,"postMarketChange":0.65,"regularMarketChange":1.8199997,"regularMarketTime":1737147600,"regularMarketPrice":21.49,"regularMarketDayHigh":21.62,"regularMarketDayRange":"20.79 + - 21.62","regularMarketDayLow":20.79,"regularMarketVolume":166483914,"regularMarketPreviousClose":19.67,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_21127","fullExchangeName":"NasdaqGS","longName":"Intel + Corporation","financialCurrency":"USD","regularMarketOpen":21.26,"averageDailyVolume3Month":71669181,"averageDailyVolume10Day":67623900,"corporateActions":[],"fiftyTwoWeekLowChange":2.9799995,"fiftyTwoWeekLowChangePercent":0.16099404,"fiftyTwoWeekRange":"18.51 + - 50.3","fiftyTwoWeekHighChange":-28.81,"fiftyTwoWeekHighChangePercent":-0.57276344,"fiftyTwoWeekChangePercent":-55.43343,"dividendDate":1725148800,"earningsTimestamp":1738281600,"earningsTimestampStart":1738281600,"earningsTimestampEnd":1738281600,"earningsCallTimestampStart":1738274400,"earningsCallTimestampEnd":1738274400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.495,"dividendRate":0.5,"trailingAnnualDividendYield":0.025165226,"dividendYield":2.24,"marketState":"CLOSED","epsTrailingTwelveMonths":-3.74,"epsForward":0.97,"epsCurrentYear":-0.1467,"priceEpsCurrentYear":-146.48944,"sharesOutstanding":4312999936,"bookValue":23.099,"fiftyDayAverage":21.8908,"fiftyDayAverageChange":-0.4008007,"fiftyDayAverageChangePercent":-0.018309094,"twoHundredDayAverage":26.1791,"twoHundredDayAverageChange":-4.6891003,"twoHundredDayAverageChangePercent":-0.17911617,"marketCap":92686368768,"forwardPE":22.154638,"priceToBook":0.9303433,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Intel","symbol":"INTC"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastClosePriceToNNWCPerShare":-0.1460226354088364,"currency":"USD","regularMarketChangePercent":8.8681555,"shortName":"Futu + Holdings Limited","exchange":"NGM","fiftyTwoWeekHigh":130.5,"fiftyTwoWeekLow":43.61,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1552055400000,"priceHint":2,"postMarketChangePercent":-0.422707,"postMarketTime":1737161897,"postMarketPrice":87.16,"postMarketChange":-0.369995,"regularMarketChange":7.1299973,"regularMarketTime":1737147600,"regularMarketPrice":87.53,"regularMarketDayHigh":89.128,"regularMarketDayRange":"81.1 + - 89.128","regularMarketDayLow":81.1,"regularMarketVolume":5347118,"regularMarketPreviousClose":80.4,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_596529709","fullExchangeName":"NasdaqGM","longName":"Futu + Holdings Limited","financialCurrency":"HKD","regularMarketOpen":81.1,"averageDailyVolume3Month":2494173,"averageDailyVolume10Day":2035070,"corporateActions":[],"fiftyTwoWeekLowChange":43.92,"fiftyTwoWeekLowChangePercent":1.0071084,"fiftyTwoWeekRange":"43.61 + - 130.5","fiftyTwoWeekHighChange":-42.97,"fiftyTwoWeekHighChangePercent":-0.32927203,"fiftyTwoWeekChangePercent":94.252106,"dividendDate":1736467200,"earningsTimestamp":1732003200,"earningsTimestampStart":1732003200,"earningsTimestampEnd":1732003200,"earningsCallTimestampStart":1732019400,"earningsCallTimestampEnd":1732019400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":21.453432,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":4.08,"epsForward":5.45,"epsCurrentYear":38.62152,"priceEpsCurrentYear":2.266353,"sharesOutstanding":93478800,"bookValue":178.301,"fiftyDayAverage":86.1882,"fiftyDayAverageChange":1.3417969,"fiftyDayAverageChangePercent":0.01556822,"twoHundredDayAverage":75.42905,"twoHundredDayAverageChange":12.100952,"twoHundredDayAverageChangePercent":0.16042829,"marketCap":12072400896,"forwardPE":16.06055,"priceToBook":0.49091145,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Futu","symbol":"FUTU"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastClosePriceToNNWCPerShare":-4.976733530953796,"currency":"USD","regularMarketChangePercent":8.806035,"averageAnalystRating":"1.5 + - Buy","shortName":"Semtech Corporation","exchange":"NMS","fiftyTwoWeekHigh":75.7527,"fiftyTwoWeekLow":18.72,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":322151400000,"priceHint":2,"postMarketChangePercent":1.0,"postMarketTime":1737161748,"postMarketPrice":75.75,"postMarketChange":0.75,"regularMarketChange":6.0699997,"regularMarketTime":1737147601,"regularMarketPrice":75.0,"regularMarketDayHigh":75.7527,"regularMarketDayRange":"70.65 + - 75.7527","regularMarketDayLow":70.65,"regularMarketVolume":2812384,"regularMarketPreviousClose":68.93,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_302594","fullExchangeName":"NasdaqGS","longName":"Semtech + Corporation","financialCurrency":"USD","regularMarketOpen":71.5,"averageDailyVolume3Month":1742739,"averageDailyVolume10Day":1928890,"corporateActions":[],"fiftyTwoWeekLowChange":56.28,"fiftyTwoWeekLowChangePercent":3.0064104,"fiftyTwoWeekRange":"18.72 + - 75.7527","fiftyTwoWeekHighChange":-0.7527008,"fiftyTwoWeekHighChangePercent":-0.00993629,"fiftyTwoWeekChangePercent":240.29037,"earningsTimestamp":1732568400,"earningsTimestampStart":1742986740,"earningsTimestampEnd":1743422400,"earningsCallTimestampStart":1732572000,"earningsCallTimestampEnd":1732572000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-12.95,"epsForward":1.65,"epsCurrentYear":0.7835,"priceEpsCurrentYear":95.72431,"sharesOutstanding":86178896,"bookValue":-4.773,"fiftyDayAverage":60.4816,"fiftyDayAverageChange":14.518398,"fiftyDayAverageChangePercent":0.24004653,"twoHundredDayAverage":43.1028,"twoHundredDayAverageChange":31.897202,"twoHundredDayAverageChangePercent":0.74002624,"marketCap":6463417344,"forwardPE":45.454548,"priceToBook":-15.713388,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Semtech","symbol":"SMTC"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-157.499369,"lastClosePriceToNNWCPerShare":-11.126161920638765,"currency":"USD","regularMarketChangePercent":8.797817,"averageAnalystRating":"2.4 + - Buy","shortName":"MARA Holdings, Inc.","exchange":"NCM","fiftyTwoWeekHigh":34.09,"fiftyTwoWeekLow":13.17,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1336138200000,"priceHint":2,"postMarketChangePercent":0.900554,"postMarketTime":1737161998,"postMarketPrice":20.0893,"postMarketChange":0.1793,"regularMarketChange":1.6100006,"regularMarketTime":1737147601,"regularMarketPrice":19.91,"regularMarketDayHigh":20.98,"regularMarketDayRange":"18.96 + - 20.98","regularMarketDayLow":18.96,"regularMarketVolume":88413255,"regularMarketPreviousClose":18.3,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_158387416","fullExchangeName":"NasdaqCM","longName":"MARA + Holdings, Inc.","financialCurrency":"USD","regularMarketOpen":19.2525,"averageDailyVolume3Month":60402744,"averageDailyVolume10Day":40443580,"corporateActions":[],"fiftyTwoWeekLowChange":6.74,"fiftyTwoWeekLowChangePercent":0.5117692,"fiftyTwoWeekRange":"13.17 + - 34.09","fiftyTwoWeekHighChange":-14.18,"fiftyTwoWeekHighChangePercent":-0.41595778,"fiftyTwoWeekChangePercent":19.867552,"dividendDate":1554681600,"earningsTimestamp":1731445501,"earningsTimestampStart":1740567540,"earningsTimestampEnd":1741003200,"earningsCallTimestampStart":1731448800,"earningsCallTimestampEnd":1731448800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":23.987951,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":0.83,"epsForward":0.04,"epsCurrentYear":0.26,"priceEpsCurrentYear":76.57693,"sharesOutstanding":339382016,"bookValue":9.365,"fiftyDayAverage":21.4706,"fiftyDayAverageChange":-1.5606003,"fiftyDayAverageChangePercent":-0.07268545,"twoHundredDayAverage":19.06775,"twoHundredDayAverageChange":0.8422489,"twoHundredDayAverageChangePercent":0.04417138,"marketCap":6757095936,"forwardPE":497.75,"priceToBook":2.1260011,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Marathon + Patent Group, Inc.","nameChangeDate":"2025-01-20","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"MARA","symbol":"MARA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":3.303939,"lastClosePriceToNNWCPerShare":-0.050285125280001085,"currency":"USD","regularMarketChangePercent":8.43374,"shortName":"Sasol + Ltd.","exchange":"NYQ","fiftyTwoWeekHigh":9.33,"fiftyTwoWeekLow":4.29,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":388675800000,"priceHint":2,"postMarketChangePercent":1.6666607,"postMarketTime":1737161198,"postMarketPrice":5.49,"postMarketChange":0.089999676,"regularMarketChange":0.42,"regularMarketTime":1737147602,"regularMarketPrice":5.4,"regularMarketDayHigh":5.55,"regularMarketDayRange":"5.39 + - 5.55","regularMarketDayLow":5.39,"regularMarketVolume":2374510,"regularMarketPreviousClose":4.98,"bid":5.35,"ask":5.64,"bidSize":9,"askSize":30,"market":"us_market","messageBoardId":"finmb_527037","fullExchangeName":"NYSE","longName":"Sasol + Limited","financialCurrency":"ZAR","regularMarketOpen":5.5,"averageDailyVolume3Month":1108257,"averageDailyVolume10Day":1494030,"corporateActions":[],"fiftyTwoWeekLowChange":1.1100001,"fiftyTwoWeekLowChangePercent":0.2587413,"fiftyTwoWeekRange":"4.29 + - 9.33","fiftyTwoWeekHighChange":-3.9299998,"fiftyTwoWeekHighChangePercent":-0.42122185,"fiftyTwoWeekChangePercent":-35.174072,"dividendDate":1711670400,"earningsTimestamp":1740378600,"earningsTimestampStart":1740378600,"earningsTimestampEnd":1740378600,"earningsCallTimestampStart":1724137200,"earningsCallTimestampEnd":1724137200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":2.0,"dividendRate":0.63,"trailingAnnualDividendYield":0.4016064,"dividendYield":11.68,"marketState":"CLOSED","epsTrailingTwelveMonths":-3.71,"epsForward":2.93,"epsCurrentYear":2.47005,"priceEpsCurrentYear":2.1861906,"sharesOutstanding":629987968,"bookValue":225.056,"fiftyDayAverage":5.0922,"fiftyDayAverageChange":0.3078003,"fiftyDayAverageChangePercent":0.060445447,"twoHundredDayAverage":6.70265,"twoHundredDayAverageChange":-1.30265,"twoHundredDayAverageChangePercent":-0.1943485,"marketCap":3444962304,"forwardPE":1.8430034,"priceToBook":0.023994029,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"SSL"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-11.625152,"lastClosePriceToNNWCPerShare":-4106.875457443576,"currency":"USD","regularMarketChangePercent":8.33333,"averageAnalystRating":"1.9 + - Buy","shortName":"NuScale Power Corporation","exchange":"NYQ","fiftyTwoWeekHigh":32.3,"fiftyTwoWeekLow":2.01,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1646145000000,"priceHint":2,"postMarketChangePercent":1.4565389,"postMarketTime":1737161980,"postMarketPrice":22.29,"postMarketChange":0.3200016,"regularMarketChange":1.69,"regularMarketTime":1737147615,"regularMarketPrice":21.97,"regularMarketDayHigh":23.23,"regularMarketDayRange":"20.41 + - 23.23","regularMarketDayLow":20.41,"regularMarketVolume":11012390,"regularMarketPreviousClose":20.28,"bid":22.26,"ask":22.3,"bidSize":9,"askSize":8,"market":"us_market","messageBoardId":"finmb_49439457","fullExchangeName":"NYSE","longName":"NuScale + Power Corporation","financialCurrency":"USD","regularMarketOpen":20.995,"averageDailyVolume3Month":10782691,"averageDailyVolume10Day":8970890,"corporateActions":[],"fiftyTwoWeekLowChange":19.96,"fiftyTwoWeekLowChangePercent":9.930347,"fiftyTwoWeekRange":"2.01 + - 32.3","fiftyTwoWeekHighChange":-10.33,"fiftyTwoWeekHighChangePercent":-0.31981423,"fiftyTwoWeekChangePercent":907.7982,"earningsTimestamp":1731014100,"earningsTimestampStart":1741777140,"earningsTimestampEnd":1742212800,"earningsCallTimestampStart":1731016800,"earningsCallTimestampEnd":1731016800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.95,"epsForward":-0.47,"epsCurrentYear":-1.18943,"priceEpsCurrentYear":-18.471031,"sharesOutstanding":120898000,"bookValue":1.635,"fiftyDayAverage":22.7686,"fiftyDayAverageChange":-0.79860115,"fiftyDayAverageChangePercent":-0.03507467,"twoHundredDayAverage":13.1803,"twoHundredDayAverageChange":8.7897,"twoHundredDayAverageChangePercent":0.6668816,"marketCap":2656129024,"forwardPE":-46.74468,"priceToBook":13.437308,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"NuScale + Power","symbol":"SMR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":-80.588152,"lastClosePriceToNNWCPerShare":-20.359494361314837,"currency":"USD","regularMarketChangePercent":8.038147,"averageAnalystRating":"1.3 + - Strong Buy","shortName":"MicroStrategy Incorporated","exchange":"NMS","fiftyTwoWeekHigh":543.0,"fiftyTwoWeekLow":43.874,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":897571800000,"priceHint":2,"postMarketChangePercent":0.501889,"postMarketTime":1737161999,"postMarketPrice":398.49,"postMarketChange":1.98999,"regularMarketChange":29.5,"regularMarketTime":1737147601,"regularMarketPrice":396.5,"regularMarketDayHigh":398.6066,"regularMarketDayRange":"380.1528 + - 398.6066","regularMarketDayLow":380.1528,"regularMarketVolume":24339148,"regularMarketPreviousClose":367.0,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_384976","fullExchangeName":"NasdaqGS","longName":"MicroStrategy + Incorporated","financialCurrency":"USD","regularMarketOpen":383.685,"averageDailyVolume3Month":27908385,"averageDailyVolume10Day":20403120,"corporateActions":[],"fiftyTwoWeekLowChange":352.626,"fiftyTwoWeekLowChangePercent":8.037243,"fiftyTwoWeekRange":"43.874 + - 543.0","fiftyTwoWeekHighChange":-146.5,"fiftyTwoWeekHighChangePercent":-0.2697974,"fiftyTwoWeekChangePercent":743.2761,"earningsTimestamp":1730318460,"earningsTimestampStart":1738702800,"earningsTimestampEnd":1739221200,"earningsCallTimestampStart":1730322000,"earningsCallTimestampEnd":1730322000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-2.5,"epsForward":-0.43,"epsCurrentYear":-3.0685,"priceEpsCurrentYear":-129.21623,"sharesOutstanding":226848992,"bookValue":18.622,"fiftyDayAverage":357.2342,"fiftyDayAverageChange":39.26581,"fiftyDayAverageChangePercent":0.10991615,"twoHundredDayAverage":204.89201,"twoHundredDayAverageChange":191.60799,"twoHundredDayAverageChangePercent":0.9351657,"marketCap":97732886528,"forwardPE":-922.093,"priceToBook":21.29202,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"MSTR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":-10.936974,"lastClosePriceToNNWCPerShare":9.386235781855513,"currency":"USD","regularMarketChangePercent":7.6432443,"averageAnalystRating":"1.7 + - Buy","shortName":"Madrigal Pharmaceuticals, Inc.","exchange":"NMS","fiftyTwoWeekHigh":368.29,"fiftyTwoWeekLow":168.25,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1170772200000,"priceHint":2,"postMarketChangePercent":2.16588,"postMarketTime":1737161499,"postMarketPrice":300.0,"postMarketChange":6.35989,"regularMarketChange":20.850006,"regularMarketTime":1737147601,"regularMarketPrice":293.64,"regularMarketDayHigh":301.44,"regularMarketDayRange":"270.51 + - 301.44","regularMarketDayLow":270.51,"regularMarketVolume":866116,"regularMarketPreviousClose":272.79,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_144939852","fullExchangeName":"NasdaqGS","longName":"Madrigal + Pharmaceuticals, Inc.","financialCurrency":"USD","regularMarketOpen":273.61,"averageDailyVolume3Month":464344,"averageDailyVolume10Day":507430,"corporateActions":[],"fiftyTwoWeekLowChange":125.390015,"fiftyTwoWeekLowChangePercent":0.7452601,"fiftyTwoWeekRange":"168.25 + - 368.29","fiftyTwoWeekHighChange":-74.649994,"fiftyTwoWeekHighChangePercent":-0.2026935,"fiftyTwoWeekChangePercent":25.928461,"dividendDate":1469404800,"earningsTimestamp":1736768700,"earningsTimestampStart":1740576600,"earningsTimestampEnd":1741008600,"earningsCallTimestampStart":1730376000,"earningsCallTimestampEnd":1730376000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-25.02,"epsForward":-13.96,"epsCurrentYear":-23.52976,"priceEpsCurrentYear":-12.479516,"sharesOutstanding":21810400,"bookValue":35.639,"fiftyDayAverage":316.1374,"fiftyDayAverageChange":-22.497375,"fiftyDayAverageChangePercent":-0.07116329,"twoHundredDayAverage":261.19495,"twoHundredDayAverageChange":32.44507,"twoHundredDayAverageChangePercent":0.12421782,"marketCap":6404406272,"forwardPE":-21.034386,"priceToBook":8.239289,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Madrigal + Pharmaceuticals","symbol":"MDGL"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastClosePriceToNNWCPerShare":16.500824086228988,"currency":"USD","regularMarketChangePercent":7.51135,"averageAnalystRating":"2.0 + - Buy","shortName":"Oklo Inc.","exchange":"NYQ","fiftyTwoWeekHigh":31.91,"fiftyTwoWeekLow":5.35,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1625751000000,"priceHint":2,"postMarketChangePercent":2.11478,"postMarketTime":1737161993,"postMarketPrice":26.6009,"postMarketChange":0.550901,"regularMarketChange":1.82,"regularMarketTime":1737147602,"regularMarketPrice":26.05,"regularMarketDayHigh":26.79,"regularMarketDayRange":"24.2307 + - 26.79","regularMarketDayLow":24.2307,"regularMarketVolume":12755258,"regularMarketPreviousClose":24.23,"bid":26.5,"ask":26.62,"bidSize":10,"askSize":11,"market":"us_market","messageBoardId":"finmb_544611249","fullExchangeName":"NYSE","longName":"Oklo + Inc.","financialCurrency":"USD","regularMarketOpen":24.99,"averageDailyVolume3Month":18117913,"averageDailyVolume10Day":14751250,"corporateActions":[],"fiftyTwoWeekLowChange":20.699999,"fiftyTwoWeekLowChangePercent":3.8691587,"fiftyTwoWeekRange":"5.35 + - 31.91","fiftyTwoWeekHighChange":-5.8600006,"fiftyTwoWeekHighChangePercent":-0.18364151,"fiftyTwoWeekChangePercent":144.60094,"earningsTimestamp":1731618300,"earningsTimestampStart":1743105600,"earningsTimestampEnd":1743451200,"earningsCallTimestampStart":1731619800,"earningsCallTimestampEnd":1731619800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.12,"epsForward":-0.39,"epsCurrentYear":-5.64524,"priceEpsCurrentYear":-4.614507,"sharesOutstanding":136796000,"bookValue":-12.28,"fiftyDayAverage":22.4894,"fiftyDayAverageChange":3.5605984,"fiftyDayAverageChangePercent":0.15832339,"twoHundredDayAverage":13.4332,"twoHundredDayAverageChange":12.616799,"twoHundredDayAverageChangePercent":0.93922514,"marketCap":3563535616,"forwardPE":-66.794876,"priceToBook":-2.1213355,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Oklo","symbol":"OKLO"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":12.177321,"lastClosePriceToNNWCPerShare":-9.190396428382092,"currency":"USD","regularMarketChangePercent":7.0668936,"shortName":"ChampionX + Corporation","exchange":"NMS","fiftyTwoWeekHigh":39.95,"fiftyTwoWeekLow":25.57,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1524835800000,"priceHint":2,"postMarketChangePercent":-0.192244,"postMarketTime":1737150365,"postMarketPrice":31.15,"postMarketChange":-0.0599995,"regularMarketChange":2.0599995,"regularMarketTime":1737147601,"regularMarketPrice":31.21,"regularMarketDayHigh":31.81,"regularMarketDayRange":"29.44 + - 31.81","regularMarketDayLow":29.44,"regularMarketVolume":5654043,"regularMarketPreviousClose":29.15,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_545985501","fullExchangeName":"NasdaqGS","longName":"ChampionX + Corporation","financialCurrency":"USD","regularMarketOpen":29.52,"averageDailyVolume3Month":1890186,"averageDailyVolume10Day":2952850,"corporateActions":[],"fiftyTwoWeekLowChange":5.6399994,"fiftyTwoWeekLowChangePercent":0.22057097,"fiftyTwoWeekRange":"25.57 + - 39.95","fiftyTwoWeekHighChange":-8.740002,"fiftyTwoWeekHighChangePercent":-0.2187735,"fiftyTwoWeekChangePercent":16.238356,"dividendDate":1738281600,"earningsTimestamp":1729717200,"earningsTimestampStart":1738580340,"earningsTimestampEnd":1738929600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.37,"trailingPE":19.265432,"dividendRate":0.38,"trailingAnnualDividendYield":0.012692967,"dividendYield":1.22,"marketState":"CLOSED","epsTrailingTwelveMonths":1.62,"epsForward":1.98,"epsCurrentYear":1.83059,"priceEpsCurrentYear":17.049147,"sharesOutstanding":190500000,"bookValue":9.523,"fiftyDayAverage":29.1048,"fiftyDayAverageChange":2.1051998,"fiftyDayAverageChangePercent":0.072331704,"twoHundredDayAverage":31.54835,"twoHundredDayAverageChange":-0.3383503,"twoHundredDayAverageChangePercent":-0.010724817,"marketCap":5945504768,"forwardPE":15.762626,"priceToBook":3.2773285,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"ChampionX","symbol":"CHX"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":-221.094058,"lastClosePriceToNNWCPerShare":27.24181612488854,"currency":"USD","regularMarketChangePercent":6.9016495,"averageAnalystRating":"1.1 + - Strong Buy","shortName":"Life360, Inc.","exchange":"NMS","fiftyTwoWeekHigh":52.765,"fiftyTwoWeekLow":26.0,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1717680600000,"priceHint":2,"postMarketChangePercent":-0.830068,"postMarketTime":1737149871,"postMarketPrice":43.01,"postMarketChange":-0.360001,"regularMarketChange":2.7999992,"regularMarketTime":1737147601,"regularMarketPrice":43.37,"regularMarketDayHigh":44.07,"regularMarketDayRange":"42.19 + - 44.07","regularMarketDayLow":42.19,"regularMarketVolume":218400,"regularMarketPreviousClose":40.57,"bid":31.68,"ask":55.11,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_81686581","fullExchangeName":"NasdaqGS","longName":"Life360, + Inc.","financialCurrency":"USD","regularMarketOpen":42.67,"averageDailyVolume3Month":400350,"averageDailyVolume10Day":223480,"corporateActions":[],"fiftyTwoWeekLowChange":17.369999,"fiftyTwoWeekLowChangePercent":0.6680769,"fiftyTwoWeekRange":"26.0 + - 52.765","fiftyTwoWeekHighChange":-9.395,"fiftyTwoWeekHighChangePercent":-0.17805365,"fiftyTwoWeekChangePercent":60.62963,"earningsTimestamp":1740700800,"earningsTimestampStart":1740700800,"earningsTimestampEnd":1740700800,"earningsCallTimestampStart":1740695400,"earningsCallTimestampEnd":1740695400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.22,"epsForward":0.0,"epsCurrentYear":0.4433,"priceEpsCurrentYear":97.83442,"sharesOutstanding":74666600,"bookValue":1.517,"fiftyDayAverage":44.1058,"fiftyDayAverageChange":-0.7358017,"fiftyDayAverageChangePercent":-0.01668265,"twoHundredDayAverage":38.691418,"twoHundredDayAverageChange":4.678581,"twoHundredDayAverageChangePercent":0.12092039,"marketCap":3238290432,"priceToBook":28.589321,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2024-06-06","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Life360","symbol":"LIF"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":36.517769,"lastClosePriceToNNWCPerShare":-3.264909896180986,"currency":"USD","regularMarketChangePercent":6.61689,"averageAnalystRating":"1.7 + - Buy","shortName":"Shift4 Payments, Inc.","exchange":"NYQ","fiftyTwoWeekHigh":116.845,"fiftyTwoWeekLow":55.87,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1591363800000,"priceHint":2,"postMarketChangePercent":0.227593,"postMarketTime":1737161983,"postMarketPrice":114.5,"postMarketChange":0.260002,"regularMarketChange":7.09,"regularMarketTime":1737147602,"regularMarketPrice":114.24,"regularMarketDayHigh":114.25,"regularMarketDayRange":"107.49 + - 114.25","regularMarketDayLow":107.49,"regularMarketVolume":2192340,"regularMarketPreviousClose":107.15,"bid":113.82,"ask":114.5,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_22308082","fullExchangeName":"NYSE","longName":"Shift4 + Payments, Inc.","financialCurrency":"USD","regularMarketOpen":108.28,"averageDailyVolume3Month":1767404,"averageDailyVolume10Day":1102860,"corporateActions":[],"fiftyTwoWeekLowChange":58.37,"fiftyTwoWeekLowChangePercent":1.0447468,"fiftyTwoWeekRange":"55.87 + - 116.845","fiftyTwoWeekHighChange":-2.6050034,"fiftyTwoWeekHighChangePercent":-0.022294521,"fiftyTwoWeekChangePercent":52.462303,"earningsTimestamp":1739912400,"earningsTimestampStart":1739912400,"earningsTimestampEnd":1739912400,"earningsCallTimestampStart":1739913000,"earningsCallTimestampEnd":1739913000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":63.466667,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":1.8,"epsForward":4.81,"epsCurrentYear":3.73607,"priceEpsCurrentYear":30.577585,"sharesOutstanding":68665000,"bookValue":11.838,"fiftyDayAverage":104.2256,"fiftyDayAverageChange":10.014397,"fiftyDayAverageChangePercent":0.09608385,"twoHundredDayAverage":82.0818,"twoHundredDayAverageChange":32.158195,"twoHundredDayAverageChangePercent":0.39178228,"marketCap":10293229568,"forwardPE":23.750519,"priceToBook":9.650278,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2020-06-05","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Shift4 + Payments","symbol":"FOUR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":-29.547123,"lastClosePriceToNNWCPerShare":6.454284078143802,"currency":"USD","regularMarketChangePercent":6.606608,"averageAnalystRating":"1.4 + - Strong Buy","shortName":"HUTCHMED (China) Limited","exchange":"NMS","fiftyTwoWeekHigh":21.92,"fiftyTwoWeekLow":11.934,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1458135000000,"priceHint":2,"postMarketChangePercent":0.84507,"postMarketTime":1737150260,"postMarketPrice":14.32,"postMarketChange":0.12,"regularMarketChange":0.8800001,"regularMarketTime":1737147601,"regularMarketPrice":14.2,"regularMarketDayHigh":14.32,"regularMarketDayRange":"13.7925 + - 14.32","regularMarketDayLow":13.7925,"regularMarketVolume":106735,"regularMarketPreviousClose":13.32,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_26652603","fullExchangeName":"NasdaqGS","longName":"HUTCHMED + (China) Limited","financialCurrency":"USD","regularMarketOpen":13.99,"averageDailyVolume3Month":75334,"averageDailyVolume10Day":99870,"corporateActions":[],"fiftyTwoWeekLowChange":2.2659998,"fiftyTwoWeekLowChangePercent":0.18987764,"fiftyTwoWeekRange":"11.934 + - 21.92","fiftyTwoWeekHighChange":-7.7200003,"fiftyTwoWeekHighChangePercent":-0.35218978,"fiftyTwoWeekChangePercent":7.5757623,"earningsTimestampStart":1740569400,"earningsTimestampEnd":1741001400,"earningsCallTimestampStart":1722472200,"earningsCallTimestampEnd":1722472200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.25,"epsForward":0.14,"epsCurrentYear":-0.21808,"priceEpsCurrentYear":-65.113716,"sharesOutstanding":170936000,"bookValue":0.866,"fiftyDayAverage":16.1044,"fiftyDayAverageChange":-1.9044008,"fiftyDayAverageChangePercent":-0.11825344,"twoHundredDayAverage":17.95865,"twoHundredDayAverageChange":-3.7586508,"twoHundredDayAverageChangePercent":-0.20929472,"marketCap":2427291136,"forwardPE":101.428566,"priceToBook":16.397228,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Hutchison + China MediTech Limited","nameChangeDate":"2025-01-20","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"HUTCHMED + (China)","symbol":"HCM"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":137.157133,"lastClosePriceToNNWCPerShare":7.732130239380892,"currency":"USD","regularMarketChangePercent":6.5316243,"shortName":"Vicor + Corporation","exchange":"NMS","fiftyTwoWeekHigh":61.05,"fiftyTwoWeekLow":30.9,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":639149400000,"priceHint":2,"postMarketChangePercent":0.291032,"postMarketTime":1737149192,"postMarketPrice":51.69,"postMarketChange":0.149998,"regularMarketChange":3.1599998,"regularMarketTime":1737147600,"regularMarketPrice":51.54,"regularMarketDayHigh":51.84,"regularMarketDayRange":"48.47 + - 51.84","regularMarketDayLow":48.47,"regularMarketVolume":327204,"regularMarketPreviousClose":48.38,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_311959","fullExchangeName":"NasdaqGS","longName":"Vicor + Corporation","financialCurrency":"USD","regularMarketOpen":49.47,"averageDailyVolume3Month":269547,"averageDailyVolume10Day":170090,"corporateActions":[],"fiftyTwoWeekLowChange":20.640001,"fiftyTwoWeekLowChangePercent":0.66796124,"fiftyTwoWeekRange":"30.9 + - 61.05","fiftyTwoWeekHighChange":-9.509998,"fiftyTwoWeekHighChangePercent":-0.15577392,"fiftyTwoWeekChangePercent":37.110935,"dividendDate":1314748800,"earningsTimestamp":1729627500,"earningsTimestampStart":1740049140,"earningsTimestampEnd":1740398400,"earningsCallTimestampStart":1729630800,"earningsCallTimestampEnd":1729630800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":515.4,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":0.1,"epsForward":1.04,"epsCurrentYear":0.58,"priceEpsCurrentYear":88.862076,"sharesOutstanding":33394900,"bookValue":12.289,"fiftyDayAverage":53.0138,"fiftyDayAverageChange":-1.4738007,"fiftyDayAverageChangePercent":-0.02780032,"twoHundredDayAverage":41.09195,"twoHundredDayAverageChange":10.448051,"twoHundredDayAverageChangePercent":0.2542603,"marketCap":2326185728,"forwardPE":49.557693,"priceToBook":4.193995,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Vicor","symbol":"VICR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":-7.833164,"lastClosePriceToNNWCPerShare":-15.59454257466394,"currency":"USD","regularMarketChangePercent":6.368857,"averageAnalystRating":"2.3 + - Buy","shortName":"MaxLinear, Inc","exchange":"NMS","fiftyTwoWeekHigh":26.59,"fiftyTwoWeekLow":11.08,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1269437400000,"priceHint":2,"postMarketChangePercent":0.414137,"postMarketTime":1737161682,"postMarketPrice":24.1496,"postMarketChange":0.0995998,"regularMarketChange":1.4399986,"regularMarketTime":1737147601,"regularMarketPrice":24.05,"regularMarketDayHigh":24.11,"regularMarketDayRange":"22.7625 + - 24.11","regularMarketDayLow":22.7625,"regularMarketVolume":1355425,"regularMarketPreviousClose":22.61,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_23374622","fullExchangeName":"NasdaqGS","longName":"MaxLinear, + Inc.","financialCurrency":"USD","regularMarketOpen":23.0,"averageDailyVolume3Month":1547918,"averageDailyVolume10Day":1513650,"corporateActions":[],"fiftyTwoWeekLowChange":12.969999,"fiftyTwoWeekLowChangePercent":1.1705775,"fiftyTwoWeekRange":"11.08 + - 26.59","fiftyTwoWeekHighChange":-2.540001,"fiftyTwoWeekHighChangePercent":-0.09552467,"fiftyTwoWeekChangePercent":4.2479396,"earningsTimestamp":1738184400,"earningsTimestampStart":1738184400,"earningsTimestampEnd":1738184400,"earningsCallTimestampStart":1738186200,"earningsCallTimestampEnd":1738186200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-2.73,"epsForward":0.36,"epsCurrentYear":-0.94405,"priceEpsCurrentYear":-25.475344,"sharesOutstanding":84361800,"bookValue":6.601,"fiftyDayAverage":18.1898,"fiftyDayAverageChange":5.860199,"fiftyDayAverageChangePercent":0.3221695,"twoHundredDayAverage":17.375,"twoHundredDayAverageChange":6.674999,"twoHundredDayAverageChangePercent":0.38417262,"marketCap":2028901248,"forwardPE":66.80555,"priceToBook":3.6433873,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-12-13","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"MaxLinear","symbol":"MXL"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":188.23437,"lastClosePriceToNNWCPerShare":-2.898466537127742,"currency":"USD","regularMarketChangePercent":6.35451,"averageAnalystRating":"2.6 + - Hold","shortName":"Oscar Health, Inc.","exchange":"NYQ","fiftyTwoWeekHigh":23.79,"fiftyTwoWeekLow":10.7,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1614781800000,"priceHint":2,"postMarketChangePercent":2.07547,"postMarketTime":1737161983,"postMarketPrice":16.23,"postMarketChange":0.33,"regularMarketChange":0.95,"regularMarketTime":1737147602,"regularMarketPrice":15.9,"regularMarketDayHigh":16.1,"regularMarketDayRange":"15.09 + - 16.1","regularMarketDayLow":15.09,"regularMarketVolume":2653052,"regularMarketPreviousClose":14.95,"bid":15.9,"ask":16.51,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_246247134","fullExchangeName":"NYSE","longName":"Oscar + Health, Inc.","financialCurrency":"USD","regularMarketOpen":15.21,"averageDailyVolume3Month":4269993,"averageDailyVolume10Day":3229590,"corporateActions":[],"fiftyTwoWeekLowChange":5.2,"fiftyTwoWeekLowChangePercent":0.4859813,"fiftyTwoWeekRange":"10.7 + - 23.79","fiftyTwoWeekHighChange":-7.8900013,"fiftyTwoWeekHighChangePercent":-0.331652,"fiftyTwoWeekChangePercent":43.7613,"earningsTimestamp":1738702800,"earningsTimestampStart":1738702800,"earningsTimestampEnd":1738702800,"earningsCallTimestampStart":1738706400,"earningsCallTimestampEnd":1738706400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.02,"epsForward":0.56,"epsCurrentYear":0.09304,"priceEpsCurrentYear":170.89424,"sharesOutstanding":211755008,"bookValue":4.709,"fiftyDayAverage":15.0722,"fiftyDayAverageChange":0.8277998,"fiftyDayAverageChangePercent":0.054922294,"twoHundredDayAverage":17.37075,"twoHundredDayAverageChange":-1.4707508,"twoHundredDayAverageChangePercent":-0.084668234,"marketCap":3931576832,"forwardPE":28.392857,"priceToBook":3.376513,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-03-03","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Oscar + Health","symbol":"OSCR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":100.048485,"lastClosePriceToNNWCPerShare":8.919150868668298,"currency":"USD","regularMarketChangePercent":6.1717315,"averageAnalystRating":"1.6 + - Buy","shortName":"CleanSpark, Inc.","exchange":"NCM","fiftyTwoWeekHigh":24.72,"fiftyTwoWeekLow":6.59,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1479306600000,"priceHint":2,"postMarketChangePercent":0.759902,"postMarketTime":1737161990,"postMarketPrice":11.9602,"postMarketChange":0.0902004,"regularMarketChange":0.6899996,"regularMarketTime":1737147601,"regularMarketPrice":11.87,"regularMarketDayHigh":12.4,"regularMarketDayRange":"11.65 + - 12.4","regularMarketDayLow":11.65,"regularMarketVolume":27676607,"regularMarketPreviousClose":11.18,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_50979342","fullExchangeName":"NasdaqCM","longName":"CleanSpark, + Inc.","financialCurrency":"USD","regularMarketOpen":11.8,"averageDailyVolume3Month":34768077,"averageDailyVolume10Day":22910490,"corporateActions":[],"fiftyTwoWeekLowChange":5.2799997,"fiftyTwoWeekLowChangePercent":0.8012139,"fiftyTwoWeekRange":"6.59 + - 24.72","fiftyTwoWeekHighChange":-12.849999,"fiftyTwoWeekHighChangePercent":-0.519822,"fiftyTwoWeekChangePercent":67.1831,"dividendDate":1576022400,"earningsTimestamp":1733173506,"earningsTimestampStart":1738839540,"earningsTimestampEnd":1739188800,"earningsCallTimestampStart":1733175000,"earningsCallTimestampEnd":1733175000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.69,"epsForward":0.9,"epsCurrentYear":0.06,"priceEpsCurrentYear":197.83333,"sharesOutstanding":280801984,"bookValue":5.953,"fiftyDayAverage":12.5151,"fiftyDayAverageChange":-0.64509964,"fiftyDayAverageChangePercent":-0.051545706,"twoHundredDayAverage":13.6453,"twoHundredDayAverageChange":-1.7753,"twoHundredDayAverageChangePercent":-0.13010341,"marketCap":3333119488,"forwardPE":13.1888895,"priceToBook":1.9939526,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"CleanSpark","symbol":"CLSK"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastClosePriceToNNWCPerShare":-23.680336923736697,"currency":"USD","regularMarketChangePercent":6.106481,"averageAnalystRating":"1.4 + - Strong Buy","shortName":"Marvell Technology, Inc.","exchange":"NMS","fiftyTwoWeekHigh":126.15,"fiftyTwoWeekLow":53.19,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":962371800000,"priceHint":2,"postMarketChangePercent":0.633217,"postMarketTime":1737161991,"postMarketPrice":125.55,"postMarketChange":0.790001,"regularMarketChange":7.1800003,"regularMarketTime":1737147601,"regularMarketPrice":124.76,"regularMarketDayHigh":125.37,"regularMarketDayRange":"119.41 + - 125.37","regularMarketDayLow":119.41,"regularMarketVolume":14869595,"regularMarketPreviousClose":117.58,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_31158","fullExchangeName":"NasdaqGS","longName":"Marvell + Technology, Inc.","financialCurrency":"USD","regularMarketOpen":120.0,"averageDailyVolume3Month":12919078,"averageDailyVolume10Day":11100620,"corporateActions":[],"fiftyTwoWeekLowChange":71.57001,"fiftyTwoWeekLowChangePercent":1.3455539,"fiftyTwoWeekRange":"53.19 + - 126.15","fiftyTwoWeekHighChange":-1.3899994,"fiftyTwoWeekHighChangePercent":-0.011018624,"fiftyTwoWeekChangePercent":77.94894,"dividendDate":1738195200,"earningsTimestamp":1733259907,"earningsTimestampStart":1741219200,"earningsTimestampEnd":1741651200,"earningsCallTimestampStart":1733262300,"earningsCallTimestampEnd":1733262300,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"dividendRate":0.24,"trailingAnnualDividendYield":0.0,"dividendYield":0.25,"marketState":"CLOSED","epsTrailingTwelveMonths":-1.7,"epsForward":2.5,"epsCurrentYear":1.55729,"priceEpsCurrentYear":80.11353,"sharesOutstanding":865299968,"bookValue":17.136,"fiftyDayAverage":105.3212,"fiftyDayAverageChange":19.438805,"fiftyDayAverageChangePercent":0.18456689,"twoHundredDayAverage":79.59215,"twoHundredDayAverageChange":45.167854,"twoHundredDayAverageChangePercent":0.56749135,"marketCap":107954823168,"forwardPE":49.904,"priceToBook":7.280579,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Marvell + Technology Group Ltd.","nameChangeDate":"2025-01-20","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Marvell + Technology","symbol":"MRVL"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":11.149015,"lastClosePriceToNNWCPerShare":-4.371585523820495,"currency":"USD","regularMarketChangePercent":6.05987,"averageAnalystRating":"1.6 + - Buy","shortName":"Schlumberger N.V.","exchange":"NYQ","fiftyTwoWeekHigh":55.69,"fiftyTwoWeekLow":36.52,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":378657000000,"priceHint":2,"postMarketChangePercent":0.22946,"postMarketTime":1737161972,"postMarketPrice":43.68,"postMarketChange":0.0999985,"regularMarketChange":2.49,"regularMarketTime":1737147602,"regularMarketPrice":43.58,"regularMarketDayHigh":44.49,"regularMarketDayRange":"41.61 + - 44.49","regularMarketDayLow":41.61,"regularMarketVolume":30711447,"regularMarketPreviousClose":41.09,"bid":43.59,"ask":43.69,"bidSize":8,"askSize":9,"market":"us_market","messageBoardId":"finmb_301966","fullExchangeName":"NYSE","longName":"Schlumberger + Limited","financialCurrency":"USD","regularMarketOpen":42.15,"averageDailyVolume3Month":12306581,"averageDailyVolume10Day":14145140,"corporateActions":[{"header":"Dividend","message":"SLB + announced a cash dividend of 0.285 with an ex-date of Feb. 5, 2025","meta":{"eventType":"DIVIDEND","dateEpochMs":1738731600000,"amount":"0.285"}}],"fiftyTwoWeekLowChange":7.0600014,"fiftyTwoWeekLowChangePercent":0.19331877,"fiftyTwoWeekRange":"36.52 + - 55.69","fiftyTwoWeekHighChange":-12.109997,"fiftyTwoWeekHighChangePercent":-0.2174537,"fiftyTwoWeekChangePercent":-14.00947,"dividendDate":1743638400,"earningsTimestamp":1737115200,"earningsTimestampStart":1744887600,"earningsTimestampEnd":1745233200,"earningsCallTimestampStart":1737124200,"earningsCallTimestampEnd":1737124200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":14.012863,"dividendRate":1.1,"trailingAnnualDividendYield":0.0,"dividendYield":2.68,"marketState":"CLOSED","epsTrailingTwelveMonths":3.11,"epsForward":3.67,"epsCurrentYear":3.56085,"priceEpsCurrentYear":12.238651,"sharesOutstanding":1412150016,"bookValue":15.233,"fiftyDayAverage":41.0974,"fiftyDayAverageChange":2.4826012,"fiftyDayAverageChangePercent":0.060407743,"twoHundredDayAverage":44.52335,"twoHundredDayAverageChange":-0.94334793,"twoHundredDayAverageChangePercent":-0.021187712,"marketCap":61541498880,"forwardPE":11.87466,"priceToBook":2.8608942,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Schlumberger","symbol":"SLB"}],"useRecords":false,"predefinedScr":true,"versionId":10,"creationDate":1473796102800,"lastUpdated":1699393457948,"isPremium":false,"iconUrl":"https://s.yimg.com/cv/apiv2/fin/img/assets/predefined_screeners/trendingUp.png"}],"error":null}}' + headers: + Age: + - '1' Connection: - keep-alive Referrer-Policy: @@ -607,23 +225,23 @@ interactions: X-XSS-Protection: - 1; mode=block cache-control: - - private, no-cache, no-store + - public, max-age=60, stale-while-revalidate=30 content-encoding: - gzip content-type: - application/json;charset=utf-8 date: - - Thu, 14 Nov 2024 03:49:56 GMT + - Mon, 20 Jan 2025 22:29:53 GMT server: - ATS vary: - Origin,Accept-Encoding x-envoy-decorator-operation: - - finance-screeners--mtls-production-gq1.finance-k8s.svc.yahoo.local:4080/* + - finance-screeners--mtls-production-gq1.finance-k8s:4080/* x-envoy-upstream-service-time: - - '120' + - '57' y-rid: - - 1jvd1eljjasr4 + - 7dn85kljotjj2 status: code: 200 message: OK diff --git a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_growth_tech_equities_fetcher_urllib3_v1.yaml b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_growth_tech_equities_fetcher_urllib3_v1.yaml index 73f2e85c99b..a603362c558 100644 --- a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_growth_tech_equities_fetcher_urllib3_v1.yaml +++ b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_growth_tech_equities_fetcher_urllib3_v1.yaml @@ -1,16 +1,6 @@ interactions: - request: - body: '{"offset": 0, "size": 100, "sortField": "eodvolume", "sortType": "desc", - "quoteType": "equity", "query": {"operator": "and", "operands": [{"operator": - "or", "operands": [{"operator": "BTWN", "operands": ["quarterlyrevenuegrowth.quarterly", - 50, 100]}, {"operator": "GT", "operands": ["quarterlyrevenuegrowth.quarterly", - 100]}, {"operator": "BTWN", "operands": ["quarterlyrevenuegrowth.quarterly", - 25, 50]}]}, {"operator": "or", "operands": [{"operator": "BTWN", "operands": - ["epsgrowth.lasttwelvemonths", 25, 50]}, {"operator": "BTWN", "operands": ["epsgrowth.lasttwelvemonths", - 50, 100]}, {"operator": "GT", "operands": ["epsgrowth.lasttwelvemonths", 100]}]}, - {"operator": "eq", "operands": ["sector", "Technology"]}, {"operator": "or", - "operands": [{"operator": "eq", "operands": ["exchange", "NMS"]}, {"operator": - "eq", "operands": ["exchange", "NYQ"]}]}]}, "userId": "", "userIdType": "guid"}' + body: null headers: Accept: - '*/*' @@ -18,137 +8,173 @@ interactions: - gzip, deflate Connection: - keep-alive - Content-Length: - - '895' - Content-Type: - - application/json Cookie: - MOCK_COOKIE - method: POST - uri: https://query2.finance.yahoo.com/v1/finance/screener?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&formatted=false&lang=en-US®ion=US + method: GET + uri: https://query1.finance.yahoo.com/v1/test/getcrumb + response: + body: + string: xbV0f0TLaim + headers: + Age: + - '0' + Connection: + - keep-alive + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=31536000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - private, max-age=60, stale-while-revalidate=30 + content-length: + - '11' + content-type: + - text/plain;charset=utf-8 + date: + - Mon, 20 Jan 2025 22:33:41 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-external-services-api--mtls-production-gq1.finance-k8s:4080/* + x-envoy-upstream-service-time: + - '0' + y-rid: + - 7cg3qjpjotjq5 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - MOCK_COOKIE + method: GET + uri: https://query2.finance.yahoo.com/v1/finance/screener/predefined/saved?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&defaults=offset&defaults=size&defaults=sortAsc&defaults=sortField&defaults=userId&defaults=userIdType&formatted=false&lang=en-US&offset=0®ion=US&scrIds=growth_technology_stocks&size=250 response: body: string: !!binary | - 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 - KPyWPqwWizl2qRkOK3/99V8ijuvB+pQAAA== + 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 headers: Age: - '0' @@ -167,23 +193,23 @@ interactions: X-XSS-Protection: - 1; mode=block cache-control: - - private, no-cache, no-store + - public, max-age=60, stale-while-revalidate=30 content-encoding: - gzip content-type: - application/json;charset=utf-8 date: - - Thu, 14 Nov 2024 02:19:15 GMT + - Mon, 20 Jan 2025 22:33:41 GMT server: - ATS vary: - Origin,Accept-Encoding x-envoy-decorator-operation: - - finance-screeners--mtls-production-gq1.finance-k8s.svc.yahoo.local:4080/* + - finance-screeners--mtls-production-gq1.finance-k8s:4080/* x-envoy-upstream-service-time: - - '143' + - '47' y-rid: - - 3fh5if9jjanh3 + - 72o7a11jotjq5 status: code: 200 message: OK diff --git a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_growth_tech_equities_fetcher_urllib3_v2.yaml b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_growth_tech_equities_fetcher_urllib3_v2.yaml index d71b163de11..40f3752b73f 100644 --- a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_growth_tech_equities_fetcher_urllib3_v2.yaml +++ b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_growth_tech_equities_fetcher_urllib3_v2.yaml @@ -1,119 +1,138 @@ interactions: - request: - body: '{"offset": 0, "size": 100, "sortField": "eodvolume", "sortType": "desc", - "quoteType": "equity", "query": {"operator": "and", "operands": [{"operator": - "or", "operands": [{"operator": "BTWN", "operands": ["quarterlyrevenuegrowth.quarterly", - 50, 100]}, {"operator": "GT", "operands": ["quarterlyrevenuegrowth.quarterly", - 100]}, {"operator": "BTWN", "operands": ["quarterlyrevenuegrowth.quarterly", - 25, 50]}]}, {"operator": "or", "operands": [{"operator": "BTWN", "operands": - ["epsgrowth.lasttwelvemonths", 25, 50]}, {"operator": "BTWN", "operands": ["epsgrowth.lasttwelvemonths", - 50, 100]}, {"operator": "GT", "operands": ["epsgrowth.lasttwelvemonths", 100]}]}, - {"operator": "eq", "operands": ["sector", "Technology"]}, {"operator": "or", - "operands": [{"operator": "eq", "operands": ["exchange", "NMS"]}, {"operator": - "eq", "operands": ["exchange", "NYQ"]}]}]}, "userId": "", "userIdType": "guid"}' + body: null headers: Accept: - '*/*' Accept-Encoding: - - gzip, deflate + - gzip, deflate, br, zstd Connection: - keep-alive - Content-Length: - - '895' - Content-Type: - - application/json Cookie: - MOCK_COOKIE - method: POST - uri: https://query2.finance.yahoo.com/v1/finance/screener?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&formatted=false&lang=en-US®ion=US + method: GET + uri: https://query1.finance.yahoo.com/v1/test/getcrumb response: body: - string: '{"finance":{"result":[{"start":0,"count":16,"total":16,"quotes":[{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","exchange":"NYQ","fiftyTwoWeekHigh":63.39,"fiftyTwoWeekLow":15.664,"averageAnalystRating":"3.2 - - Hold","shortName":"Palantir Technologies Inc.","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1601472600000,"priceHint":2,"postMarketChangePercent":0.658975,"postMarketTime":1731545998,"postMarketPrice":61.1,"postMarketChange":0.399998,"regularMarketChange":0.850002,"regularMarketTime":1731531602,"regularMarketPrice":60.7,"regularMarketDayHigh":63.39,"regularMarketDayRange":"59.85 - - 63.39","regularMarketDayLow":59.85,"regularMarketVolume":82129745,"regularMarketPreviousClose":59.85,"bid":61.08,"ask":61.19,"bidSize":11,"askSize":9,"market":"us_market","messageBoardId":"finmb_43580005","fullExchangeName":"NYSE","longName":"Palantir - Technologies Inc.","financialCurrency":"USD","regularMarketOpen":61.52,"averageDailyVolume3Month":63014949,"averageDailyVolume10Day":88767680,"fiftyTwoWeekLowChange":45.036003,"fiftyTwoWeekLowChangePercent":2.875128,"fiftyTwoWeekRange":"15.664 - - 63.39","fiftyTwoWeekHighChange":-2.6899986,"fiftyTwoWeekHighChangePercent":-0.042435694,"fiftyTwoWeekChangePercent":202.73141,"earningsTimestamp":1730754300,"earningsTimestampStart":1738580340,"earningsTimestampEnd":1738929600,"earningsCallTimestampStart":1730757600,"earningsCallTimestampEnd":1730757600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":303.5,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.2,"epsForward":0.47,"epsCurrentYear":0.38,"priceEpsCurrentYear":159.73685,"sharesOutstanding":2180649984,"bookValue":1.982,"fiftyDayAverage":41.293,"fiftyDayAverageChange":19.407001,"fiftyDayAverageChangePercent":0.46998286,"twoHundredDayAverage":28.79675,"twoHundredDayAverageChange":31.903252,"twoHundredDayAverageChangePercent":1.1078769,"marketCap":138275815424,"forwardPE":129.14894,"priceToBook":30.625631,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2020-09-29","regularMarketChangePercent":1.42022,"displayName":"Palantir","symbol":"PLTR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","exchange":"NMS","fiftyTwoWeekHigh":149.77,"fiftyTwoWeekLow":45.01,"averageAnalystRating":"1.8 - - Buy","shortName":"NVIDIA Corporation","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":917015400000,"priceHint":2,"postMarketChangePercent":0.317903,"postMarketTime":1731545998,"postMarketPrice":146.735,"postMarketChange":0.464996,"regularMarketChange":-2.019989,"regularMarketTime":1731531600,"regularMarketPrice":146.27,"regularMarketDayHigh":149.33,"regularMarketDayRange":"146.15 - - 149.33","regularMarketDayLow":146.15,"regularMarketVolume":183582186,"regularMarketPreviousClose":148.29,"bid":146.37,"ask":146.47,"bidSize":2,"askSize":2,"market":"us_market","messageBoardId":"finmb_32307","fullExchangeName":"NasdaqGS","longName":"NVIDIA - Corporation","financialCurrency":"USD","regularMarketOpen":149.05,"averageDailyVolume3Month":276861556,"averageDailyVolume10Day":202267510,"fiftyTwoWeekLowChange":101.26001,"fiftyTwoWeekLowChangePercent":2.2497225,"fiftyTwoWeekRange":"45.01 - - 149.77","fiftyTwoWeekHighChange":-3.5,"fiftyTwoWeekHighChangePercent":-0.023369165,"fiftyTwoWeekChangePercent":195.61438,"dividendDate":1727913600,"earningsTimestamp":1732147200,"earningsTimestampStart":1732147200,"earningsTimestampEnd":1732147200,"earningsCallTimestampStart":1732140000,"earningsCallTimestampEnd":1732140000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.022,"trailingPE":69.32228,"dividendRate":0.04,"trailingAnnualDividendYield":1.4835795E-4,"dividendYield":0.03,"marketState":"POSTPOST","epsTrailingTwelveMonths":2.11,"epsForward":4.12,"epsCurrentYear":2.85,"priceEpsCurrentYear":51.32281,"sharesOutstanding":24529999872,"bookValue":2.368,"fiftyDayAverage":129.3936,"fiftyDayAverageChange":16.876404,"fiftyDayAverageChangePercent":0.13042688,"twoHundredDayAverage":108.0678,"twoHundredDayAverageChange":38.2022,"twoHundredDayAverageChangePercent":0.35350215,"marketCap":3637559427072,"forwardPE":35.50243,"priceToBook":61.76943,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Usual","nameChangeDate":"2024-11-08","regularMarketChangePercent":-1.3621883,"displayName":"NVIDIA","symbol":"NVDA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","exchange":"NYQ","fiftyTwoWeekHigh":10.29,"fiftyTwoWeekLow":5.7,"shortName":"Full - Truck Alliance Co. Ltd.","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1624455000000,"priceHint":2,"postMarketChangePercent":0.830364,"postMarketTime":1731542682,"postMarketPrice":8.5,"postMarketChange":0.0699997,"regularMarketChange":-0.0499992,"regularMarketTime":1731531602,"regularMarketPrice":8.43,"regularMarketDayHigh":8.54,"regularMarketDayRange":"8.35 - - 8.54","regularMarketDayLow":8.35,"regularMarketVolume":4664314,"regularMarketPreviousClose":8.48,"bid":8.3,"ask":8.5,"bidSize":40,"askSize":40,"market":"us_market","messageBoardId":"finmb_560353894","fullExchangeName":"NYSE","longName":"Full - Truck Alliance Co. Ltd.","financialCurrency":"CNY","regularMarketOpen":8.5,"averageDailyVolume3Month":9960950,"averageDailyVolume10Day":5993680,"fiftyTwoWeekLowChange":2.7300005,"fiftyTwoWeekLowChangePercent":0.47894746,"fiftyTwoWeekRange":"5.7 - - 10.29","fiftyTwoWeekHighChange":-1.8599997,"fiftyTwoWeekHighChangePercent":-0.18075798,"fiftyTwoWeekChangePercent":22.543346,"dividendDate":1713484800,"earningsTimestamp":1732109400,"earningsTimestampStart":1732109400,"earningsTimestampEnd":1732109400,"earningsCallTimestampStart":1732104000,"earningsCallTimestampEnd":1732104000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":25.545454,"dividendRate":0.14,"trailingAnnualDividendYield":0.0,"dividendYield":1.7,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.33,"epsForward":0.63,"epsCurrentYear":3.53259,"priceEpsCurrentYear":2.3863513,"sharesOutstanding":939156992,"bookValue":34.313,"fiftyDayAverage":8.5856,"fiftyDayAverageChange":-0.1555996,"fiftyDayAverageChangePercent":-0.018123323,"twoHundredDayAverage":7.9495,"twoHundredDayAverageChange":0.48050022,"twoHundredDayAverageChangePercent":0.06044408,"marketCap":8815673344,"forwardPE":13.380953,"priceToBook":0.2456795,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-06-22","regularMarketChangePercent":-0.589614,"displayName":"Full - Truck Alliance","symbol":"YMM"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","exchange":"NMS","fiftyTwoWeekHigh":292.86,"fiftyTwoWeekLow":35.79,"averageAnalystRating":"1.9 - - Buy","shortName":"Applovin Corporation","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1618493400000,"priceHint":2,"postMarketChangePercent":0.366252,"postMarketTime":1731545886,"postMarketPrice":285.0,"postMarketChange":1.04001,"regularMarketChange":-5.0700073,"regularMarketTime":1731531601,"regularMarketPrice":283.96,"regularMarketDayHigh":291.4493,"regularMarketDayRange":"278.2 - - 291.4493","regularMarketDayLow":278.2,"regularMarketVolume":4742712,"regularMarketPreviousClose":289.03,"bid":264.53,"ask":301.86,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_231651802","fullExchangeName":"NasdaqGS","longName":"AppLovin - Corporation","financialCurrency":"USD","regularMarketOpen":290.0,"averageDailyVolume3Month":4636668,"averageDailyVolume10Day":7353530,"fiftyTwoWeekLowChange":248.16998,"fiftyTwoWeekLowChangePercent":6.934059,"fiftyTwoWeekRange":"35.79 - - 292.86","fiftyTwoWeekHighChange":-8.899994,"fiftyTwoWeekHighChangePercent":-0.030389927,"fiftyTwoWeekChangePercent":642.4351,"earningsTimestamp":1730926800,"earningsTimestampStart":1739394000,"earningsTimestampEnd":1739826000,"earningsCallTimestampStart":1730930400,"earningsCallTimestampEnd":1730930400,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":87.641975,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":3.24,"epsForward":5.16,"epsCurrentYear":3.68,"priceEpsCurrentYear":77.16304,"sharesOutstanding":298668000,"bookValue":2.797,"fiftyDayAverage":147.1577,"fiftyDayAverageChange":136.80229,"fiftyDayAverageChangePercent":0.9296305,"twoHundredDayAverage":91.9647,"twoHundredDayAverageChange":191.9953,"twoHundredDayAverageChangePercent":2.0877066,"marketCap":96996188160,"forwardPE":55.031006,"priceToBook":101.52306,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-04-15","regularMarketChangePercent":-1.7541457,"displayName":"AppLovin","symbol":"APP"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","exchange":"NMS","fiftyTwoWeekHigh":15.46,"fiftyTwoWeekLow":9.1,"averageAnalystRating":"2.2 - - Buy","shortName":"Harmonic Inc.","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":801235800000,"priceHint":2,"postMarketChangePercent":2.19156,"postMarketTime":1731536135,"postMarketPrice":12.59,"postMarketChange":0.27,"regularMarketChange":-0.26000023,"regularMarketTime":1731531601,"regularMarketPrice":12.32,"regularMarketDayHigh":12.59,"regularMarketDayRange":"12.26 - - 12.59","regularMarketDayLow":12.26,"regularMarketVolume":1104710,"regularMarketPreviousClose":12.58,"bid":10.75,"ask":14.04,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_29282","fullExchangeName":"NasdaqGS","longName":"Harmonic - Inc.","financialCurrency":"USD","regularMarketOpen":12.5799,"averageDailyVolume3Month":1121712,"averageDailyVolume10Day":1344630,"fiftyTwoWeekLowChange":3.2199993,"fiftyTwoWeekLowChangePercent":0.35384607,"fiftyTwoWeekRange":"9.1 - - 15.46","fiftyTwoWeekHighChange":-3.1400003,"fiftyTwoWeekHighChangePercent":-0.20310481,"fiftyTwoWeekChangePercent":14.925373,"earningsTimestamp":1730145907,"earningsTimestampStart":1738011600,"earningsTimestampEnd":1738357200,"earningsCallTimestampStart":1730149200,"earningsCallTimestampEnd":1730149200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":16.87671,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.73,"epsForward":0.9,"epsCurrentYear":0.71,"priceEpsCurrentYear":17.352114,"sharesOutstanding":116528000,"bookValue":3.682,"fiftyDayAverage":13.4566,"fiftyDayAverageChange":-1.1366005,"fiftyDayAverageChangePercent":-0.08446416,"twoHundredDayAverage":12.63055,"twoHundredDayAverageChange":-0.3105507,"twoHundredDayAverageChangePercent":-0.024587264,"marketCap":1435624960,"forwardPE":13.688889,"priceToBook":3.3460076,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"regularMarketChangePercent":-2.0667744,"displayName":"Harmonic","symbol":"HLIT"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","exchange":"NMS","fiftyTwoWeekHigh":25.022,"fiftyTwoWeekLow":10.6,"averageAnalystRating":"2.5 - - Buy","shortName":"Bandwidth Inc.","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1510237800000,"priceHint":2,"postMarketChangePercent":1.8144,"postMarketTime":1731544858,"postMarketPrice":19.64,"postMarketChange":0.349998,"regularMarketChange":-0.02999878,"regularMarketTime":1731531602,"regularMarketPrice":19.29,"regularMarketDayHigh":19.79,"regularMarketDayRange":"19.26 - - 19.79","regularMarketDayLow":19.26,"regularMarketVolume":202767,"regularMarketPreviousClose":19.32,"bid":19.23,"ask":19.59,"bidSize":1,"askSize":3,"market":"us_market","messageBoardId":"finmb_1054561","fullExchangeName":"NasdaqGS","longName":"Bandwidth - Inc.","financialCurrency":"USD","regularMarketOpen":19.54,"averageDailyVolume3Month":223276,"averageDailyVolume10Day":339710,"fiftyTwoWeekLowChange":8.690001,"fiftyTwoWeekLowChangePercent":0.81981134,"fiftyTwoWeekRange":"10.6 - - 25.022","fiftyTwoWeekHighChange":-5.7319984,"fiftyTwoWeekHighChangePercent":-0.22907835,"fiftyTwoWeekChangePercent":61.53846,"earningsTimestamp":1730370543,"earningsTimestampStart":1730370543,"earningsTimestampEnd":1730370543,"earningsCallTimestampStart":1730376000,"earningsCallTimestampEnd":1730376000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.61,"epsForward":1.55,"epsCurrentYear":1.36,"priceEpsCurrentYear":14.183824,"sharesOutstanding":25552100,"bookValue":12.236,"fiftyDayAverage":17.8172,"fiftyDayAverageChange":1.4728012,"fiftyDayAverageChangePercent":0.08266177,"twoHundredDayAverage":17.925825,"twoHundredDayAverageChange":1.3641758,"twoHundredDayAverageChangePercent":0.07610115,"marketCap":531495456,"forwardPE":12.445162,"priceToBook":1.5764956,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"regularMarketChangePercent":-0.15527318,"displayName":"Bandwidth","symbol":"BAND"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","exchange":"NMS","fiftyTwoWeekHigh":13.94,"fiftyTwoWeekLow":6.18,"averageAnalystRating":"2.0 - - Buy","shortName":"Immersion Corporation","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":942417000000,"priceHint":2,"postMarketChangePercent":-0.472255,"postMarketTime":1731541859,"postMarketPrice":8.43,"postMarketChange":-0.04,"regularMarketChange":-0.17000008,"regularMarketTime":1731531601,"regularMarketPrice":8.47,"regularMarketDayHigh":8.68,"regularMarketDayRange":"8.39 - - 8.68","regularMarketDayLow":8.39,"regularMarketVolume":522157,"regularMarketPreviousClose":8.64,"bid":8.44,"ask":8.51,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_93473","fullExchangeName":"NasdaqGS","longName":"Immersion - Corporation","financialCurrency":"USD","regularMarketOpen":8.64,"averageDailyVolume3Month":836184,"averageDailyVolume10Day":627420,"fiftyTwoWeekLowChange":2.2900004,"fiftyTwoWeekLowChangePercent":0.37055025,"fiftyTwoWeekRange":"6.18 - - 13.94","fiftyTwoWeekHighChange":-5.4699993,"fiftyTwoWeekHighChangePercent":-0.39239594,"fiftyTwoWeekChangePercent":31.521738,"dividendDate":1729209600,"earningsTimestamp":1724097600,"earningsTimestampStart":1731495540,"earningsTimestampEnd":1731672000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.165,"trailingPE":4.705556,"dividendRate":0.18,"trailingAnnualDividendYield":0.019097222,"dividendYield":2.08,"marketState":"POSTPOST","epsTrailingTwelveMonths":1.8,"epsForward":0.55,"epsCurrentYear":2.15,"priceEpsCurrentYear":3.939535,"sharesOutstanding":32182400,"bookValue":7.205,"fiftyDayAverage":8.6454,"fiftyDayAverageChange":-0.17539978,"fiftyDayAverageChangePercent":-0.02028822,"twoHundredDayAverage":8.8317,"twoHundredDayAverageChange":-0.36170006,"twoHundredDayAverageChangePercent":-0.040954746,"marketCap":273375200,"forwardPE":15.400001,"priceToBook":1.1755725,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"regularMarketChangePercent":-1.9675934,"displayName":"Immersion","symbol":"IMMR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","exchange":"NYQ","fiftyTwoWeekHigh":37.0,"fiftyTwoWeekLow":14.77,"averageAnalystRating":"2.7 - - Hold","shortName":"Paymentus Holdings, Inc.","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1622035800000,"priceHint":2,"postMarketChangePercent":3.2544446,"postMarketTime":1731545803,"postMarketPrice":34.9,"postMarketChange":1.1000023,"regularMarketChange":7.19,"regularMarketTime":1731531602,"regularMarketPrice":33.8,"regularMarketDayHigh":37.0,"regularMarketDayRange":"28.5201 - - 37.0","regularMarketDayLow":28.5201,"regularMarketVolume":3037946,"regularMarketPreviousClose":26.61,"bid":33.6,"ask":35.47,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_713430507","fullExchangeName":"NYSE","longName":"Paymentus - Holdings, Inc.","financialCurrency":"USD","regularMarketOpen":32.11,"averageDailyVolume3Month":205834,"averageDailyVolume10Day":223660,"fiftyTwoWeekLowChange":19.029999,"fiftyTwoWeekLowChangePercent":1.2884223,"fiftyTwoWeekRange":"14.77 - - 37.0","fiftyTwoWeekHighChange":-3.2000008,"fiftyTwoWeekHighChangePercent":-0.0864865,"fiftyTwoWeekChangePercent":60.397827,"earningsTimestamp":1731445500,"earningsTimestampStart":1731445500,"earningsTimestampEnd":1731445500,"earningsCallTimestampStart":1731448800,"earningsCallTimestampEnd":1731448800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":130.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.26,"epsForward":0.5,"epsCurrentYear":0.41,"priceEpsCurrentYear":82.439026,"sharesOutstanding":22348900,"bookValue":3.628,"fiftyDayAverage":22.9134,"fiftyDayAverageChange":10.886599,"fiftyDayAverageChangePercent":0.4751193,"twoHundredDayAverage":20.49525,"twoHundredDayAverageChange":13.304749,"twoHundredDayAverageChangePercent":0.64916253,"marketCap":4207322624,"forwardPE":67.6,"priceToBook":9.316427,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-05-26","regularMarketChangePercent":27.0199,"displayName":"Paymentus","symbol":"PAY"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","exchange":"NYQ","fiftyTwoWeekHigh":28.25,"fiftyTwoWeekLow":18.98,"averageAnalystRating":"3.0 - - Hold","shortName":"Instructure Holdings, Inc.","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1626960600000,"priceHint":2,"postMarketChangePercent":5.932202,"postMarketTime":1731449808,"postMarketPrice":25.0,"postMarketChange":1.3999996,"regularMarketChange":0.0200005,"regularMarketTime":1731445202,"regularMarketPrice":23.6,"regularMarketDayHigh":23.62,"regularMarketDayRange":"23.58 - - 23.62","regularMarketDayLow":23.58,"regularMarketVolume":2689790,"regularMarketPreviousClose":23.58,"bid":0.0,"ask":23.99,"bidSize":22,"askSize":31,"market":"us_market","messageBoardId":"finmb_129936995","fullExchangeName":"NYSE","longName":"Instructure - Holdings, Inc.","financialCurrency":"USD","regularMarketOpen":23.58,"averageDailyVolume3Month":473933,"averageDailyVolume10Day":980000,"fiftyTwoWeekLowChange":4.620001,"fiftyTwoWeekLowChangePercent":0.24341416,"fiftyTwoWeekRange":"18.98 - - 28.25","fiftyTwoWeekHighChange":-4.6499996,"fiftyTwoWeekHighChangePercent":-0.16460176,"fiftyTwoWeekChangePercent":-6.7562222,"earningsTimestamp":1731099600,"earningsTimestampStart":1731099600,"earningsTimestampEnd":1731099600,"earningsCallTimestampStart":1722546000,"earningsCallTimestampEnd":1722546000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.37,"epsForward":0.96,"epsCurrentYear":0.86,"priceEpsCurrentYear":27.44186,"sharesOutstanding":146471008,"bookValue":8.588,"fiftyDayAverage":23.5306,"fiftyDayAverageChange":0.06940079,"fiftyDayAverageChangePercent":0.0029493845,"twoHundredDayAverage":22.67905,"twoHundredDayAverageChange":0.92094994,"twoHundredDayAverageChangePercent":0.04060796,"marketCap":3471300352,"forwardPE":24.583334,"priceToBook":2.7480204,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-07-22","regularMarketChangePercent":0.0848196,"symbol":"INST"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","exchange":"NMS","fiftyTwoWeekHigh":122.9,"fiftyTwoWeekLow":20.2,"averageAnalystRating":"2.9 - - Hold","shortName":"Super Micro Computer, Inc.","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1175175000000,"priceHint":2,"postMarketChangePercent":-6.24742,"postMarketTime":1731545996,"postMarketPrice":19.0599,"postMarketChange":-1.2701,"regularMarketChange":-1.3700008,"regularMarketTime":1731531600,"regularMarketPrice":20.33,"regularMarketDayHigh":21.7999,"regularMarketDayRange":"20.28 - - 21.7999","regularMarketDayLow":20.28,"regularMarketVolume":50676456,"regularMarketPreviousClose":21.7,"bid":20.28,"ask":20.39,"bidSize":38,"askSize":57,"market":"us_market","messageBoardId":"finmb_6479558","fullExchangeName":"NasdaqGS","longName":"Super - Micro Computer, Inc.","financialCurrency":"USD","regularMarketOpen":21.0149,"averageDailyVolume3Month":75080181,"averageDailyVolume10Day":87236540,"fiftyTwoWeekLowChange":0.12999916,"fiftyTwoWeekLowChangePercent":0.006435602,"fiftyTwoWeekRange":"20.2 - - 122.9","fiftyTwoWeekHighChange":-102.57,"fiftyTwoWeekHighChangePercent":-0.83458096,"fiftyTwoWeekChangePercent":-28.332216,"earningsTimestamp":1730841300,"earningsTimestampStart":1737975540,"earningsTimestampEnd":1738324800,"earningsCallTimestampStart":1730844000,"earningsCallTimestampEnd":1730844000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":10.813829,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":1.88,"epsForward":4.24,"epsCurrentYear":3.34,"priceEpsCurrentYear":6.0868263,"sharesOutstanding":585564992,"bookValue":9.32,"fiftyDayAverage":40.59122,"fiftyDayAverageChange":-20.26122,"fiftyDayAverageChangePercent":-0.49915278,"twoHundredDayAverage":71.22115,"twoHundredDayAverageChange":-50.89115,"twoHundredDayAverageChangePercent":-0.7145511,"marketCap":12706758656,"forwardPE":4.7948117,"priceToBook":2.1813304,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"regularMarketChangePercent":-6.313368,"displayName":"Super + string: xbV0f0TLaim + headers: + Age: + - '1' + Connection: + - keep-alive + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=31536000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - private, max-age=60, stale-while-revalidate=30 + content-length: + - '11' + content-type: + - text/plain;charset=utf-8 + date: + - Mon, 20 Jan 2025 22:32:38 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-external-services-api--mtls-production-gq1.finance-k8s:4080/* + x-envoy-upstream-service-time: + - '1' + y-rid: + - 22dgbnhjotjo7 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate, br, zstd + Connection: + - keep-alive + Cookie: + - MOCK_COOKIE + method: GET + uri: https://query2.finance.yahoo.com/v1/finance/screener/predefined/saved?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&defaults=offset&defaults=size&defaults=sortAsc&defaults=sortField&defaults=userId&defaults=userIdType&formatted=false&lang=en-US&offset=0®ion=US&scrIds=growth_technology_stocks&size=250 + response: + body: + string: '{"finance":{"result":[{"id":"e0c43708-7fa1-4f02-9425-697c0443d32f","title":"Growth + Technology Stocks","description":"Technology stocks with revenue and earnings + growth in excess of 25%.","canonicalName":"GROWTH_TECHNOLOGY_STOCKS","criteriaMeta":{"size":25,"offset":0,"sortField":"eodvolume","sortType":"DESC","quoteType":"EQUITY","criteria":[{"field":"quarterlyrevenuegrowth.quarterly","subField":null,"operators":["EQ"],"values":[],"labelsSelected":[2,3,4],"dependentValues":[]},{"field":"epsgrowth.lasttwelvemonths","subField":null,"operators":["EQ"],"values":[],"labelsSelected":[2,3,4],"dependentValues":[]},{"field":"sector","subField":null,"operators":["EQ"],"values":[],"labelsSelected":[10],"dependentValues":["Technology"]},{"field":"exchange","subField":null,"operators":["EQ"],"values":[],"labelsSelected":[0,1],"dependentValues":[]}],"topOperator":"AND"},"rawCriteria":"{\"offset\":0,\"size\":25,\"sortField\":\"eodvolume\",\"sortType\":\"desc\",\"quoteType\":\"equity\",\"query\":{\"operator\":\"and\",\"operands\":[{\"operator\":\"or\",\"operands\":[{\"operator\":\"BTWN\",\"operands\":[\"quarterlyrevenuegrowth.quarterly\",25,50]},{\"operator\":\"BTWN\",\"operands\":[\"quarterlyrevenuegrowth.quarterly\",50,100]},{\"operator\":\"GT\",\"operands\":[\"quarterlyrevenuegrowth.quarterly\",100]}]},{\"operator\":\"or\",\"operands\":[{\"operator\":\"BTWN\",\"operands\":[\"epsgrowth.lasttwelvemonths\",25,50]},{\"operator\":\"BTWN\",\"operands\":[\"epsgrowth.lasttwelvemonths\",50,100]},{\"operator\":\"GT\",\"operands\":[\"epsgrowth.lasttwelvemonths\",100]}]},{\"operator\":\"eq\",\"operands\":[\"sector\",\"Technology\"]},{\"operator\":\"or\",\"operands\":[{\"operator\":\"eq\",\"operands\":[\"exchange\",\"NMS\"]},{\"operator\":\"eq\",\"operands\":[\"exchange\",\"NYQ\"]}]}]}}","start":0,"count":12,"total":12,"quotes":[{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":367.13099,"lastClosePriceToNNWCPerShare":48.114253228840404,"currency":"USD","regularMarketChangePercent":3.6539555,"exchange":"NMS","fiftyTwoWeekHigh":84.797,"fiftyTwoWeekLow":16.03,"averageAnalystRating":"3.3 + - Hold","shortName":"Palantir Technologies Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1601472600000,"priceHint":2,"postMarketChangePercent":0.654871,"postMarketTime":1737161995,"postMarketPrice":72.24,"postMarketChange":0.470001,"regularMarketChange":2.5299988,"regularMarketTime":1737147601,"regularMarketPrice":71.77,"regularMarketDayHigh":72.34,"regularMarketDayRange":"69.95 + - 72.34","regularMarketDayLow":69.95,"regularMarketVolume":54753981,"regularMarketPreviousClose":69.24,"bid":0.0,"ask":0.0,"bidSize":11,"askSize":8,"market":"us_market","messageBoardId":"finmb_43580005","fullExchangeName":"NasdaqGS","longName":"Palantir + Technologies Inc.","financialCurrency":"USD","regularMarketOpen":70.8,"averageDailyVolume3Month":79006403,"averageDailyVolume10Day":72866110,"corporateActions":[],"fiftyTwoWeekLowChange":55.739998,"fiftyTwoWeekLowChangePercent":3.4772298,"fiftyTwoWeekRange":"16.03 + - 84.797","fiftyTwoWeekHighChange":-13.027,"fiftyTwoWeekHighChangePercent":-0.15362573,"fiftyTwoWeekChangePercent":307.7841,"earningsTimestamp":1738616400,"earningsTimestampStart":1738616400,"earningsTimestampEnd":1738616400,"earningsCallTimestampStart":1738620000,"earningsCallTimestampEnd":1738620000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":358.84998,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":0.2,"epsForward":0.47,"epsCurrentYear":0.38034,"priceEpsCurrentYear":188.69957,"sharesOutstanding":2180649984,"bookValue":1.982,"fiftyDayAverage":69.0566,"fiftyDayAverageChange":2.7133942,"fiftyDayAverageChangePercent":0.03929232,"twoHundredDayAverage":39.2078,"twoHundredDayAverageChange":32.562195,"twoHundredDayAverageChangePercent":0.8305029,"marketCap":163493494784,"forwardPE":152.70212,"priceToBook":36.210896,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2024-11-26","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Palantir","symbol":"PLTR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":63.954761,"lastClosePriceToNNWCPerShare":-36.949035671872146,"currency":"USD","regularMarketChangePercent":3.111348,"exchange":"NMS","fiftyTwoWeekHigh":417.635,"fiftyTwoWeekLow":40.71,"averageAnalystRating":"1.6 + - Buy","shortName":"Applovin Corporation","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1618493400000,"priceHint":2,"postMarketChangePercent":0.458611,"postMarketTime":1737161936,"postMarketPrice":343.91,"postMarketChange":1.57001,"regularMarketChange":10.329987,"regularMarketTime":1737147601,"regularMarketPrice":342.34,"regularMarketDayHigh":347.2081,"regularMarketDayRange":"336.77 + - 347.2081","regularMarketDayLow":336.77,"regularMarketVolume":4175716,"regularMarketPreviousClose":332.01,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_231651802","fullExchangeName":"NasdaqGS","longName":"AppLovin + Corporation","financialCurrency":"USD","regularMarketOpen":341.82,"averageDailyVolume3Month":5837985,"averageDailyVolume10Day":4064420,"corporateActions":[],"fiftyTwoWeekLowChange":301.63,"fiftyTwoWeekLowChangePercent":7.4092364,"fiftyTwoWeekRange":"40.71 + - 417.635","fiftyTwoWeekHighChange":-75.29501,"fiftyTwoWeekHighChangePercent":-0.18028903,"fiftyTwoWeekChangePercent":689.6206,"earningsTimestamp":1739394000,"earningsTimestampStart":1739394000,"earningsTimestampEnd":1739394000,"earningsCallTimestampStart":1739397600,"earningsCallTimestampEnd":1739397600,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":104.05471,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":3.29,"epsForward":5.16,"epsCurrentYear":5.21696,"priceEpsCurrentYear":65.62059,"sharesOutstanding":298668000,"bookValue":2.797,"fiftyDayAverage":321.6681,"fiftyDayAverageChange":20.671906,"fiftyDayAverageChangePercent":0.06426471,"twoHundredDayAverage":152.24858,"twoHundredDayAverageChange":190.09142,"twoHundredDayAverageChangePercent":1.2485595,"marketCap":114886565888,"forwardPE":66.34496,"priceToBook":122.395424,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-04-15","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"AppLovin","symbol":"APP"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":29.010221,"lastClosePriceToNNWCPerShare":-15.129159567799693,"currency":"USD","regularMarketChangePercent":-0.16103427,"exchange":"NMS","fiftyTwoWeekHigh":15.46,"fiftyTwoWeekLow":9.1,"averageAnalystRating":"2.0 + - Buy","shortName":"Harmonic Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":801235800000,"priceHint":2,"postMarketChangePercent":0.0,"postMarketTime":1737147719,"postMarketPrice":12.4,"postMarketChange":0.0,"regularMarketChange":-0.020000458,"regularMarketTime":1737147601,"regularMarketPrice":12.4,"regularMarketDayHigh":12.58,"regularMarketDayRange":"12.225 + - 12.58","regularMarketDayLow":12.225,"regularMarketVolume":1049434,"regularMarketPreviousClose":12.42,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_29282","fullExchangeName":"NasdaqGS","longName":"Harmonic + Inc.","financialCurrency":"USD","regularMarketOpen":12.57,"averageDailyVolume3Month":1158550,"averageDailyVolume10Day":917400,"corporateActions":[],"fiftyTwoWeekLowChange":3.2999992,"fiftyTwoWeekLowChangePercent":0.36263725,"fiftyTwoWeekRange":"9.1 + - 15.46","fiftyTwoWeekHighChange":-3.0600004,"fiftyTwoWeekHighChangePercent":-0.19793017,"fiftyTwoWeekChangePercent":6.346488,"earningsTimestamp":1730145907,"earningsTimestampStart":1738011600,"earningsTimestampEnd":1738357200,"earningsCallTimestampStart":1730149200,"earningsCallTimestampEnd":1730149200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":16.9863,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":0.73,"epsForward":0.9,"epsCurrentYear":0.7,"priceEpsCurrentYear":17.714285,"sharesOutstanding":116528000,"bookValue":3.682,"fiftyDayAverage":12.7734,"fiftyDayAverageChange":-0.3734007,"fiftyDayAverageChangePercent":-0.029232677,"twoHundredDayAverage":12.57965,"twoHundredDayAverageChange":-0.1796503,"twoHundredDayAverageChangePercent":-0.014281026,"marketCap":1444947200,"forwardPE":13.777778,"priceToBook":3.367735,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Harmonic","symbol":"HLIT"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":-36.251295,"lastClosePriceToNNWCPerShare":-0.8536050685611465,"currency":"USD","regularMarketChangePercent":-0.06373025,"exchange":"NMS","fiftyTwoWeekHigh":25.022,"fiftyTwoWeekLow":11.9,"shortName":"Bandwidth + Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1510237800000,"priceHint":2,"postMarketChangePercent":1.59439,"postMarketTime":1737157441,"postMarketPrice":15.93,"postMarketChange":0.25,"regularMarketChange":-0.009999275,"regularMarketTime":1737147601,"regularMarketPrice":15.68,"regularMarketDayHigh":15.98,"regularMarketDayRange":"15.49 + - 15.98","regularMarketDayLow":15.49,"regularMarketVolume":121096,"regularMarketPreviousClose":15.69,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_1054561","fullExchangeName":"NasdaqGS","longName":"Bandwidth + Inc.","financialCurrency":"USD","regularMarketOpen":15.96,"averageDailyVolume3Month":255663,"averageDailyVolume10Day":228620,"corporateActions":[],"fiftyTwoWeekLowChange":3.7800007,"fiftyTwoWeekLowChangePercent":0.31764713,"fiftyTwoWeekRange":"11.9 + - 25.022","fiftyTwoWeekHighChange":-9.341999,"fiftyTwoWeekHighChangePercent":-0.37335142,"fiftyTwoWeekChangePercent":9.344494,"earningsTimestamp":1730370543,"earningsTimestampStart":1740576600,"earningsTimestampEnd":1741008600,"earningsCallTimestampStart":1730376000,"earningsCallTimestampEnd":1730376000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.61,"epsForward":1.55,"epsCurrentYear":1.36014,"priceEpsCurrentYear":11.528226,"sharesOutstanding":25552100,"bookValue":12.236,"fiftyDayAverage":18.6196,"fiftyDayAverageChange":-2.9396,"fiftyDayAverageChangePercent":-0.15787664,"twoHundredDayAverage":18.34735,"twoHundredDayAverageChange":-2.6673489,"twoHundredDayAverageChangePercent":-0.14538062,"marketCap":431358368,"forwardPE":10.11613,"priceToBook":1.2814646,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Bandwidth","symbol":"BAND"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":12.762337,"lastClosePriceToNNWCPerShare":-0.9662674380708852,"currency":"USD","regularMarketChangePercent":0.93567157,"exchange":"NMS","fiftyTwoWeekHigh":13.94,"fiftyTwoWeekLow":6.54,"shortName":"Immersion + Corporation","hasPrePostMarketData":true,"firstTradeDateMilliseconds":942417000000,"priceHint":2,"postMarketChangePercent":-0.590958,"postMarketTime":1737158708,"postMarketPrice":8.579,"postMarketChange":-0.0509996,"regularMarketChange":0.07999992,"regularMarketTime":1737147601,"regularMarketPrice":8.63,"regularMarketDayHigh":8.6525,"regularMarketDayRange":"8.565 + - 8.6525","regularMarketDayLow":8.565,"regularMarketVolume":333591,"regularMarketPreviousClose":8.55,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_93473","fullExchangeName":"NasdaqGS","longName":"Immersion + Corporation","financialCurrency":"USD","regularMarketOpen":8.64,"averageDailyVolume3Month":802163,"averageDailyVolume10Day":792340,"corporateActions":[],"fiftyTwoWeekLowChange":2.0900002,"fiftyTwoWeekLowChangePercent":0.31957188,"fiftyTwoWeekRange":"6.54 + - 13.94","fiftyTwoWeekHighChange":-5.3099995,"fiftyTwoWeekHighChangePercent":-0.3809182,"fiftyTwoWeekChangePercent":22.759605,"dividendDate":1737676800,"earningsTimestamp":1731099600,"earningsTimestampStart":1732273140,"earningsTimestampEnd":1733400000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.165,"trailingPE":4.7944446,"dividendRate":0.18,"trailingAnnualDividendYield":0.019298246,"dividendYield":1.85,"marketState":"CLOSED","epsTrailingTwelveMonths":1.8,"epsForward":0.55,"epsCurrentYear":1.574,"priceEpsCurrentYear":5.4828463,"sharesOutstanding":32275700,"bookValue":5.807,"fiftyDayAverage":8.82,"fiftyDayAverageChange":-0.18999958,"fiftyDayAverageChangePercent":-0.021541903,"twoHundredDayAverage":9.1822,"twoHundredDayAverageChange":-0.5522003,"twoHundredDayAverageChangePercent":-0.060138125,"marketCap":278539296,"forwardPE":15.690909,"priceToBook":1.4861374,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Immersion","symbol":"IMMR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":78.730568,"lastClosePriceToNNWCPerShare":22.012982310714378,"currency":"USD","regularMarketChangePercent":-0.330689,"exchange":"NYQ","fiftyTwoWeekHigh":38.94,"fiftyTwoWeekLow":14.77,"averageAnalystRating":"2.7 + - Hold","shortName":"Paymentus Holdings, Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1622035800000,"priceHint":2,"postMarketChangePercent":2.7869947,"postMarketTime":1737159764,"postMarketPrice":30.98,"postMarketChange":0.84000015,"regularMarketChange":-0.1,"regularMarketTime":1737147602,"regularMarketPrice":30.14,"regularMarketDayHigh":30.74,"regularMarketDayRange":"29.7612 + - 30.74","regularMarketDayLow":29.7612,"regularMarketVolume":423570,"regularMarketPreviousClose":30.24,"bid":26.76,"ask":30.89,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_713430507","fullExchangeName":"NYSE","longName":"Paymentus + Holdings, Inc.","financialCurrency":"USD","regularMarketOpen":30.6,"averageDailyVolume3Month":474675,"averageDailyVolume10Day":577960,"corporateActions":[],"fiftyTwoWeekLowChange":15.369999,"fiftyTwoWeekLowChangePercent":1.0406228,"fiftyTwoWeekRange":"14.77 + - 38.94","fiftyTwoWeekHighChange":-8.799999,"fiftyTwoWeekHighChangePercent":-0.22598869,"fiftyTwoWeekChangePercent":80.58717,"earningsTimestamp":1731445500,"earningsTimestampStart":1731445500,"earningsTimestampEnd":1731445500,"earningsCallTimestampStart":1731448800,"earningsCallTimestampEnd":1731448800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":94.1875,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":0.32,"epsForward":0.5,"epsCurrentYear":0.48557,"priceEpsCurrentYear":62.071377,"sharesOutstanding":24522400,"bookValue":3.764,"fiftyDayAverage":33.237,"fiftyDayAverageChange":-3.0970001,"fiftyDayAverageChangePercent":-0.09317929,"twoHundredDayAverage":23.89245,"twoHundredDayAverageChange":6.247549,"twoHundredDayAverageChangePercent":0.26148632,"marketCap":3756468736,"forwardPE":60.28,"priceToBook":8.007439,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-05-26","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Paymentus","symbol":"PAY"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":9.790104,"lastClosePriceToNNWCPerShare":31.65999433247961,"currency":"USD","regularMarketChangePercent":-0.96401393,"exchange":"NMS","fiftyTwoWeekHigh":122.9,"fiftyTwoWeekLow":17.25,"averageAnalystRating":"2.8 + - Hold","shortName":"Super Micro Computer, Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1175175000000,"priceHint":2,"postMarketChangePercent":0.0973416,"postMarketTime":1737161996,"postMarketPrice":30.85,"postMarketChange":0.0300007,"regularMarketChange":-0.30000114,"regularMarketTime":1737147600,"regularMarketPrice":30.82,"regularMarketDayHigh":31.83,"regularMarketDayRange":"30.765 + - 31.83","regularMarketDayLow":30.765,"regularMarketVolume":24396463,"regularMarketPreviousClose":31.12,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_6479558","fullExchangeName":"NasdaqGS","longName":"Super + Micro Computer, Inc.","financialCurrency":"USD","regularMarketOpen":31.75,"averageDailyVolume3Month":76013254,"averageDailyVolume10Day":31381720,"corporateActions":[],"fiftyTwoWeekLowChange":13.57,"fiftyTwoWeekLowChangePercent":0.78666663,"fiftyTwoWeekRange":"17.25 + - 122.9","fiftyTwoWeekHighChange":-92.08,"fiftyTwoWeekHighChangePercent":-0.74922705,"fiftyTwoWeekChangePercent":-29.350817,"earningsTimestamp":1730841300,"earningsTimestampStart":1737975540,"earningsTimestampEnd":1738324800,"earningsCallTimestampStart":1730844000,"earningsCallTimestampEnd":1730844000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":15.333333,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":2.01,"epsForward":4.24,"epsCurrentYear":2.778,"priceEpsCurrentYear":11.094312,"sharesOutstanding":585564992,"bookValue":9.32,"fiftyDayAverage":31.9518,"fiftyDayAverageChange":-1.1317997,"fiftyDayAverageChangePercent":-0.035422094,"twoHundredDayAverage":58.778114,"twoHundredDayAverageChange":-27.958115,"twoHundredDayAverageChangePercent":-0.47565517,"marketCap":18047113216,"forwardPE":7.2688684,"priceToBook":3.3068671,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Super Micro Computer","symbol":"SMCI"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","exchange":"NMS","fiftyTwoWeekHigh":247.21,"fiftyTwoWeekLow":119.0,"averageAnalystRating":"2.0 - - Buy","shortName":"Nova Ltd.","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":955459800000,"priceHint":2,"postMarketChangePercent":0.675568,"postMarketTime":1731545248,"postMarketPrice":190.75,"postMarketChange":1.28,"regularMarketChange":-14.360001,"regularMarketTime":1731531601,"regularMarketPrice":189.47,"regularMarketDayHigh":205.17,"regularMarketDayRange":"189.3 - - 205.17","regularMarketDayLow":189.3,"regularMarketVolume":392539,"regularMarketPreviousClose":203.83,"bid":146.38,"ask":190.8,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_124752","fullExchangeName":"NasdaqGS","longName":"Nova - Ltd.","financialCurrency":"USD","regularMarketOpen":204.12,"averageDailyVolume3Month":199117,"averageDailyVolume10Day":249960,"fiftyTwoWeekLowChange":70.47,"fiftyTwoWeekLowChangePercent":0.5921849,"fiftyTwoWeekRange":"119.0 - - 247.21","fiftyTwoWeekHighChange":-57.740005,"fiftyTwoWeekHighChangePercent":-0.23356661,"fiftyTwoWeekChangePercent":57.52411,"earningsTimestamp":1730982607,"earningsTimestampStart":1739453400,"earningsTimestampEnd":1739799000,"earningsCallTimestampStart":1730986200,"earningsCallTimestampEnd":1730986200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":42.57753,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":4.45,"epsForward":7.54,"epsCurrentYear":6.54,"priceEpsCurrentYear":28.97095,"sharesOutstanding":29046300,"bookValue":31.18,"fiftyDayAverage":197.5134,"fiftyDayAverageChange":-8.043396,"fiftyDayAverageChangePercent":-0.040723294,"twoHundredDayAverage":196.2381,"twoHundredDayAverageChange":-6.768097,"twoHundredDayAverageChangePercent":-0.03448921,"marketCap":5926318592,"forwardPE":25.128647,"priceToBook":6.0766516,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Nova - Measuring Instruments Ltd.","nameChangeDate":"2024-11-08","regularMarketChangePercent":-7.0450864,"displayName":"Nova","symbol":"NVMI"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","exchange":"NMS","fiftyTwoWeekHigh":9.48,"fiftyTwoWeekLow":2.36,"averageAnalystRating":"2.0 - - Buy","shortName":"Applied Digital Corporation","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1649856600000,"priceHint":2,"postMarketChangePercent":0.412833,"postMarketTime":1731545914,"postMarketPrice":7.1996,"postMarketChange":0.0296001,"regularMarketChange":-0.42000008,"regularMarketTime":1731531602,"regularMarketPrice":7.17,"regularMarketDayHigh":7.85,"regularMarketDayRange":"6.965 - - 7.85","regularMarketDayLow":6.965,"regularMarketVolume":9938968,"regularMarketPreviousClose":7.59,"bid":7.12,"ask":7.2,"bidSize":69,"askSize":69,"market":"us_market","messageBoardId":"finmb_3563673","fullExchangeName":"NasdaqGS","longName":"Applied - Digital Corporation","financialCurrency":"USD","regularMarketOpen":7.635,"averageDailyVolume3Month":14645250,"averageDailyVolume10Day":15370440,"fiftyTwoWeekLowChange":4.8100004,"fiftyTwoWeekLowChangePercent":2.0381358,"fiftyTwoWeekRange":"2.36 - - 9.48","fiftyTwoWeekHighChange":-2.3099995,"fiftyTwoWeekHighChangePercent":-0.24367084,"fiftyTwoWeekChangePercent":77.33646,"earningsTimestamp":1728504300,"earningsTimestampStart":1736861400,"earningsTimestampEnd":1737379800,"earningsCallTimestampStart":1728507600,"earningsCallTimestampEnd":1728507600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-1.16,"epsForward":-0.34,"epsCurrentYear":-0.45,"priceEpsCurrentYear":-15.933334,"sharesOutstanding":215372992,"bookValue":1.536,"fiftyDayAverage":7.1266,"fiftyDayAverageChange":0.043400288,"fiftyDayAverageChangePercent":0.006089901,"twoHundredDayAverage":5.0466,"twoHundredDayAverageChange":2.1234002,"twoHundredDayAverageChangePercent":0.42075858,"marketCap":1544224384,"forwardPE":-21.088236,"priceToBook":4.6679688,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2022-04-13","prevName":"Applied - Science Products, Inc.","nameChangeDate":"2024-11-08","regularMarketChangePercent":-5.5335975,"displayName":"Applied + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":29.822548,"lastClosePriceToNNWCPerShare":28.114268189002484,"currency":"USD","regularMarketChangePercent":1.0646646,"exchange":"NMS","fiftyTwoWeekHigh":249.01,"fiftyTwoWeekLow":141.22,"averageAnalystRating":"1.5 + - Strong Buy","shortName":"Nova Ltd.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":955459800000,"priceHint":2,"postMarketChangePercent":-0.00816801,"postMarketTime":1737153071,"postMarketPrice":244.89,"postMarketChange":-0.0200043,"regularMarketChange":2.5800018,"regularMarketTime":1737147601,"regularMarketPrice":244.91,"regularMarketDayHigh":246.5,"regularMarketDayRange":"241.0 + - 246.5","regularMarketDayLow":241.0,"regularMarketVolume":107905,"regularMarketPreviousClose":242.33,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_124752","fullExchangeName":"NasdaqGS","longName":"Nova + Ltd.","financialCurrency":"USD","regularMarketOpen":245.41,"averageDailyVolume3Month":208414,"averageDailyVolume10Day":208630,"corporateActions":[],"fiftyTwoWeekLowChange":103.69,"fiftyTwoWeekLowChangePercent":0.73424447,"fiftyTwoWeekRange":"141.22 + - 249.01","fiftyTwoWeekHighChange":-4.099991,"fiftyTwoWeekHighChangePercent":-0.016465167,"fiftyTwoWeekChangePercent":71.58972,"earningsTimestamp":1739453400,"earningsTimestampStart":1739453400,"earningsTimestampEnd":1739453400,"earningsCallTimestampStart":1739453400,"earningsCallTimestampEnd":1739453400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":45.863297,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":5.34,"epsForward":7.54,"epsCurrentYear":6.55581,"priceEpsCurrentYear":37.357704,"sharesOutstanding":29046300,"bookValue":31.18,"fiftyDayAverage":197.1456,"fiftyDayAverageChange":47.764404,"fiftyDayAverageChangePercent":0.24227984,"twoHundredDayAverage":202.5533,"twoHundredDayAverageChange":42.356705,"twoHundredDayAverageChangePercent":0.20911387,"marketCap":7113729536,"forwardPE":32.481434,"priceToBook":7.8547144,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Nova + Measuring Instruments Ltd.","nameChangeDate":"2025-01-20","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Nova","symbol":"NVMI"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":-21.65055,"lastClosePriceToNNWCPerShare":-2.4617032462623545,"currency":"USD","regularMarketChangePercent":-0.89086777,"exchange":"NMS","fiftyTwoWeekHigh":11.25,"fiftyTwoWeekLow":2.36,"averageAnalystRating":"1.4 + - Strong Buy","shortName":"Applied Digital Corporation","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1649856600000,"priceHint":2,"postMarketChangePercent":0.112362,"postMarketTime":1737161992,"postMarketPrice":8.91,"postMarketChange":0.0100002,"regularMarketChange":-0.07999992,"regularMarketTime":1737147601,"regularMarketPrice":8.9,"regularMarketDayHigh":9.2,"regularMarketDayRange":"8.58 + - 9.2","regularMarketDayLow":8.58,"regularMarketVolume":23151534,"regularMarketPreviousClose":8.98,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_3563673","fullExchangeName":"NasdaqGS","longName":"Applied + Digital Corporation","financialCurrency":"USD","regularMarketOpen":9.17,"averageDailyVolume3Month":17864298,"averageDailyVolume10Day":25789240,"corporateActions":[],"fiftyTwoWeekLowChange":6.54,"fiftyTwoWeekLowChangePercent":2.7711866,"fiftyTwoWeekRange":"2.36 + - 11.25","fiftyTwoWeekHighChange":-2.3500004,"fiftyTwoWeekHighChangePercent":-0.20888892,"fiftyTwoWeekChangePercent":82.75153,"earningsTimestamp":1736888700,"earningsTimestampStart":1744196340,"earningsTimestampEnd":1744632000,"earningsCallTimestampStart":1736892000,"earningsCallTimestampEnd":1736892000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-1.9,"epsForward":-0.34,"epsCurrentYear":-0.4075,"priceEpsCurrentYear":-21.84049,"sharesOutstanding":222903008,"bookValue":0.898,"fiftyDayAverage":8.6963,"fiftyDayAverageChange":0.20370007,"fiftyDayAverageChangePercent":0.023423763,"twoHundredDayAverage":6.015775,"twoHundredDayAverageChange":2.8842244,"twoHundredDayAverageChangePercent":0.47944352,"marketCap":1983836672,"forwardPE":-26.17647,"priceToBook":9.9109125,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2022-04-13","prevName":"Applied + Science Products, Inc.","nameChangeDate":"2025-01-20","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Applied Digital","symbol":"APLD"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","exchange":"NMS","fiftyTwoWeekHigh":21.0,"fiftyTwoWeekLow":7.64,"averageAnalystRating":"1.7 - - Buy","shortName":"Cellebrite DI Ltd.","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1604673000000,"priceHint":2,"postMarketChangePercent":3.87367,"postMarketTime":1731545631,"postMarketPrice":18.4999,"postMarketChange":0.689901,"regularMarketChange":-0.77000046,"regularMarketTime":1731531601,"regularMarketPrice":17.81,"regularMarketDayHigh":18.7,"regularMarketDayRange":"17.76 - - 18.7","regularMarketDayLow":17.76,"regularMarketVolume":1388942,"regularMarketPreviousClose":18.58,"bid":17.76,"ask":17.83,"bidSize":7,"askSize":9,"market":"us_market","messageBoardId":"finmb_6939353","fullExchangeName":"NasdaqGS","longName":"Cellebrite - DI Ltd.","financialCurrency":"USD","regularMarketOpen":18.7,"averageDailyVolume3Month":1363869,"averageDailyVolume10Day":1781030,"fiftyTwoWeekLowChange":10.17,"fiftyTwoWeekLowChangePercent":1.3311518,"fiftyTwoWeekRange":"7.64 - - 21.0","fiftyTwoWeekHighChange":-3.1900005,"fiftyTwoWeekHighChangePercent":-0.15190479,"fiftyTwoWeekChangePercent":132.25,"earningsTimestamp":1730894401,"earningsTimestampStart":1739194200,"earningsTimestampEnd":1739539800,"earningsCallTimestampStart":1730899800,"earningsCallTimestampEnd":1730899800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-1.51,"epsForward":0.4,"epsCurrentYear":0.43,"priceEpsCurrentYear":41.418602,"sharesOutstanding":214843008,"bookValue":1.429,"fiftyDayAverage":17.6762,"fiftyDayAverageChange":0.1337986,"fiftyDayAverageChangePercent":0.0075694206,"twoHundredDayAverage":13.3749,"twoHundredDayAverageChange":4.4350996,"twoHundredDayAverageChangePercent":0.33159873,"marketCap":3993001984,"forwardPE":44.524998,"priceToBook":12.463261,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-08-31","regularMarketChangePercent":-4.1442437,"displayName":"Cellebrite + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":62.02736,"lastClosePriceToNNWCPerShare":33.555368741387426,"currency":"USD","regularMarketChangePercent":-0.87031704,"exchange":"NMS","fiftyTwoWeekHigh":23.5,"fiftyTwoWeekLow":8.53,"averageAnalystRating":"1.3 + - Strong Buy","shortName":"Cellebrite DI Ltd.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1604673000000,"priceHint":2,"postMarketChangePercent":2.19491,"postMarketTime":1737161648,"postMarketPrice":23.28,"postMarketChange":0.5,"regularMarketChange":-0.19999886,"regularMarketTime":1737147601,"regularMarketPrice":22.78,"regularMarketDayHigh":23.14,"regularMarketDayRange":"22.63 + - 23.14","regularMarketDayLow":22.63,"regularMarketVolume":1221577,"regularMarketPreviousClose":22.98,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_6939353","fullExchangeName":"NasdaqGS","longName":"Cellebrite + DI Ltd.","financialCurrency":"USD","regularMarketOpen":23.07,"averageDailyVolume3Month":1364457,"averageDailyVolume10Day":1490150,"corporateActions":[],"fiftyTwoWeekLowChange":14.250001,"fiftyTwoWeekLowChangePercent":1.6705747,"fiftyTwoWeekRange":"8.53 + - 23.5","fiftyTwoWeekHighChange":-0.7199993,"fiftyTwoWeekHighChangePercent":-0.030638268,"fiftyTwoWeekChangePercent":155.0952,"earningsTimestamp":1739453400,"earningsTimestampStart":1739453400,"earningsTimestampEnd":1739453400,"earningsCallTimestampStart":1739453400,"earningsCallTimestampEnd":1739453400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-1.58,"epsForward":0.4,"epsCurrentYear":0.42788,"priceEpsCurrentYear":53.239227,"sharesOutstanding":214843008,"bookValue":1.429,"fiftyDayAverage":20.5507,"fiftyDayAverageChange":2.2293015,"fiftyDayAverageChangePercent":0.10847813,"twoHundredDayAverage":15.537875,"twoHundredDayAverageChange":7.2421255,"twoHundredDayAverageChangePercent":0.46609497,"marketCap":4894124032,"forwardPE":56.95,"priceToBook":15.941217,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-08-31","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Cellebrite DI","symbol":"CLBT"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","exchange":"NYQ","fiftyTwoWeekHigh":15.21,"fiftyTwoWeekLow":6.12,"averageAnalystRating":"2.0 - - Buy","shortName":"Grindr Inc.","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1610634600000,"priceHint":2,"postMarketChangePercent":-0.21157,"postMarketTime":1731541913,"postMarketPrice":14.15,"postMarketChange":-0.0300007,"regularMarketChange":-0.45,"regularMarketTime":1731531602,"regularMarketPrice":14.18,"regularMarketDayHigh":14.715,"regularMarketDayRange":"14.13 - - 14.715","regularMarketDayLow":14.13,"regularMarketVolume":754352,"regularMarketPreviousClose":14.63,"bid":13.89,"ask":14.24,"bidSize":11,"askSize":8,"market":"us_market","messageBoardId":"finmb_244520896","fullExchangeName":"NYSE","longName":"Grindr - Inc.","financialCurrency":"USD","regularMarketOpen":14.65,"averageDailyVolume3Month":516952,"averageDailyVolume10Day":638540,"fiftyTwoWeekLowChange":8.06,"fiftyTwoWeekLowChangePercent":1.3169936,"fiftyTwoWeekRange":"6.12 - - 15.21","fiftyTwoWeekHighChange":-1.0299997,"fiftyTwoWeekHighChangePercent":-0.06771859,"fiftyTwoWeekChangePercent":118.6846,"earningsTimestamp":1731013501,"earningsTimestampStart":1731013501,"earningsTimestampEnd":1731013501,"earningsCallTimestampStart":1731016800,"earningsCallTimestampEnd":1731016800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.44,"epsForward":0.44,"epsCurrentYear":-0.03,"priceEpsCurrentYear":-472.6667,"sharesOutstanding":176188000,"bookValue":-0.076,"fiftyDayAverage":12.7188,"fiftyDayAverageChange":1.4612007,"fiftyDayAverageChangePercent":0.114885114,"twoHundredDayAverage":10.8638,"twoHundredDayAverageChange":3.3162003,"twoHundredDayAverageChangePercent":0.3052523,"marketCap":2504358144,"forwardPE":32.227272,"priceToBook":-186.57896,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"regularMarketChangePercent":-3.07587,"displayName":"Grindr","symbol":"GRND"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","exchange":"NMS","fiftyTwoWeekHigh":78.53,"fiftyTwoWeekLow":40.72,"shortName":"GitLab - Inc.","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1634218200000,"priceHint":2,"postMarketChangePercent":-0.656494,"postMarketTime":1731544135,"postMarketPrice":60.53,"postMarketChange":-0.400002,"regularMarketChange":0.97999954,"regularMarketTime":1731531601,"regularMarketPrice":60.93,"regularMarketDayHigh":63.34,"regularMarketDayRange":"60.15 - - 63.34","regularMarketDayLow":60.15,"regularMarketVolume":1928208,"regularMarketPreviousClose":59.95,"bid":60.85,"ask":61.05,"bidSize":13,"askSize":6,"market":"us_market","messageBoardId":"finmb_286753997","fullExchangeName":"NasdaqGS","longName":"GitLab - Inc.","financialCurrency":"USD","regularMarketOpen":60.15,"averageDailyVolume3Month":1773665,"averageDailyVolume10Day":1539120,"fiftyTwoWeekLowChange":20.21,"fiftyTwoWeekLowChangePercent":0.49631628,"fiftyTwoWeekRange":"40.72 - - 78.53","fiftyTwoWeekHighChange":-17.599998,"fiftyTwoWeekHighChangePercent":-0.22411816,"fiftyTwoWeekChangePercent":23.480951,"earningsTimestamp":1733432400,"earningsTimestampStart":1733432400,"earningsTimestampEnd":1733432400,"earningsCallTimestampStart":1733434200,"earningsCallTimestampEnd":1733434200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-2.34,"epsForward":0.64,"epsCurrentYear":0.4678,"priceEpsCurrentYear":130.24797,"sharesOutstanding":136462000,"bookValue":4.007,"fiftyDayAverage":54.1292,"fiftyDayAverageChange":6.8008003,"fiftyDayAverageChangePercent":0.12564014,"twoHundredDayAverage":54.72155,"twoHundredDayAverageChange":6.2084503,"twoHundredDayAverageChangePercent":0.11345531,"marketCap":9774694400,"forwardPE":95.203125,"priceToBook":15.20589,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-10-14","regularMarketChangePercent":1.6346948,"displayName":"GitLab","symbol":"GTLB"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","exchange":"NYQ","fiftyTwoWeekHigh":45.9,"fiftyTwoWeekLow":28.34,"averageAnalystRating":"1.8 - - Buy","shortName":"Rubrik, Inc.","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1714051800000,"priceHint":2,"postMarketChangePercent":-0.9421309,"postMarketTime":1731542105,"postMarketPrice":44.16,"postMarketChange":-0.42000198,"regularMarketChange":-0.23,"regularMarketTime":1731531602,"regularMarketPrice":44.58,"regularMarketDayHigh":45.58,"regularMarketDayRange":"43.65 - - 45.58","regularMarketDayLow":43.65,"regularMarketVolume":1406350,"regularMarketPreviousClose":44.81,"bid":44.6,"ask":44.93,"bidSize":13,"askSize":10,"market":"us_market","messageBoardId":"finmb_289284240","fullExchangeName":"NYSE","financialCurrency":"USD","regularMarketOpen":45.0,"averageDailyVolume3Month":1938604,"averageDailyVolume10Day":1076450,"fiftyTwoWeekLowChange":16.240002,"fiftyTwoWeekLowChangePercent":0.5730417,"fiftyTwoWeekRange":"28.34 - - 45.9","fiftyTwoWeekHighChange":-1.3199997,"fiftyTwoWeekHighChangePercent":-0.028758163,"fiftyTwoWeekChangePercent":21.108103,"earningsTimestamp":1733432400,"earningsTimestampStart":1733432400,"earningsTimestampEnd":1733432400,"earningsCallTimestampStart":1733436000,"earningsCallTimestampEnd":1733436000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-6.02,"epsForward":-1.34,"epsCurrentYear":-2.09,"priceEpsCurrentYear":-21.330145,"sharesOutstanding":69118096,"bookValue":-2.752,"fiftyDayAverage":36.4446,"fiftyDayAverageChange":8.135403,"fiftyDayAverageChangePercent":0.22322656,"twoHundredDayAverage":34.376785,"twoHundredDayAverageChange":10.203217,"twoHundredDayAverageChangePercent":0.29680544,"marketCap":8098090496,"forwardPE":-33.268658,"priceToBook":-16.199127,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"regularMarketChangePercent":-0.513277,"displayName":"Rubrik","symbol":"RBRK"}],"useRecords":false}],"error":null}}' + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":29.962785,"lastClosePriceToNNWCPerShare":-7.972519246540995,"currency":"USD","regularMarketChangePercent":0.648589,"exchange":"NYQ","fiftyTwoWeekHigh":18.425,"fiftyTwoWeekLow":7.93,"shortName":"Grindr + Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1610634600000,"priceHint":2,"postMarketChangePercent":-0.351491,"postMarketTime":1737159963,"postMarketPrice":17.01,"postMarketChange":-0.0599995,"regularMarketChange":0.110001,"regularMarketTime":1737147602,"regularMarketPrice":17.07,"regularMarketDayHigh":17.34,"regularMarketDayRange":"16.84 + - 17.34","regularMarketDayLow":16.84,"regularMarketVolume":548501,"regularMarketPreviousClose":16.96,"bid":15.11,"ask":17.63,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_244520896","fullExchangeName":"NYSE","longName":"Grindr + Inc.","financialCurrency":"USD","regularMarketOpen":17.16,"averageDailyVolume3Month":752088,"averageDailyVolume10Day":857320,"corporateActions":[],"fiftyTwoWeekLowChange":9.139999,"fiftyTwoWeekLowChangePercent":1.152585,"fiftyTwoWeekRange":"7.93 + - 18.425","fiftyTwoWeekHighChange":-1.3549995,"fiftyTwoWeekHighChangePercent":-0.073541366,"fiftyTwoWeekChangePercent":92.881355,"earningsTimestamp":1731013501,"earningsTimestampStart":1741172340,"earningsTimestampEnd":1741608000,"earningsCallTimestampStart":1731016800,"earningsCallTimestampEnd":1731016800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.3,"epsForward":0.44,"sharesOutstanding":176612000,"bookValue":-0.076,"fiftyDayAverage":16.0318,"fiftyDayAverageChange":1.0382004,"fiftyDayAverageChangePercent":0.064758815,"twoHundredDayAverage":12.43885,"twoHundredDayAverageChange":4.6311493,"twoHundredDayAverageChangePercent":0.3723133,"marketCap":3014766848,"forwardPE":38.795456,"priceToBook":-224.60527,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Grindr","symbol":"GRND"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-7.502177,"lastClosePriceToNNWCPerShare":-12.096663857378859,"currency":"USD","regularMarketChangePercent":-0.498236,"exchange":"NYQ","fiftyTwoWeekHigh":75.79,"fiftyTwoWeekLow":28.34,"averageAnalystRating":"1.4 + - Strong Buy","shortName":"Rubrik, Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1714051800000,"priceHint":2,"postMarketChangePercent":-0.0589115,"postMarketTime":1737161959,"postMarketPrice":67.86,"postMarketChange":-0.0400009,"regularMarketChange":-0.339996,"regularMarketTime":1737147602,"regularMarketPrice":67.9,"regularMarketDayHigh":70.1,"regularMarketDayRange":"67.33 + - 70.1","regularMarketDayLow":67.33,"regularMarketVolume":2333501,"regularMarketPreviousClose":68.24,"bid":67.86,"ask":69.45,"bidSize":8,"askSize":9,"market":"us_market","messageBoardId":"finmb_289284240","fullExchangeName":"NYSE","financialCurrency":"USD","regularMarketOpen":69.6,"averageDailyVolume3Month":2470591,"averageDailyVolume10Day":2705290,"corporateActions":[],"fiftyTwoWeekLowChange":39.56,"fiftyTwoWeekLowChangePercent":1.3959069,"fiftyTwoWeekRange":"28.34 + - 75.79","fiftyTwoWeekHighChange":-7.8899994,"fiftyTwoWeekHighChangePercent":-0.10410343,"fiftyTwoWeekChangePercent":83.51351,"earningsTimestamp":1733432460,"earningsTimestampStart":1733432460,"earningsTimestampEnd":1733432460,"earningsCallTimestampStart":1733436000,"earningsCallTimestampEnd":1733436000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-6.14,"epsForward":-1.34,"epsCurrentYear":-1.83807,"priceEpsCurrentYear":-36.94092,"sharesOutstanding":87102896,"bookValue":-23.702,"fiftyDayAverage":58.7538,"fiftyDayAverageChange":9.146202,"fiftyDayAverageChangePercent":0.15566997,"twoHundredDayAverage":40.69152,"twoHundredDayAverageChange":27.20848,"twoHundredDayAverageChangePercent":0.66865236,"marketCap":12578067456,"forwardPE":-50.671642,"priceToBook":-2.8647373,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Rubrik","symbol":"RBRK"}],"useRecords":false,"predefinedScr":true,"versionId":2,"creationDate":1473795431220,"lastUpdated":1628720235152,"isPremium":false,"iconUrl":"https://s.yimg.com/cv/apiv2/fin/img/assets/predefined_screeners/tech.png"}],"error":null}}' headers: Age: - '0' @@ -132,23 +151,23 @@ interactions: X-XSS-Protection: - 1; mode=block cache-control: - - private, no-cache, no-store + - public, max-age=60, stale-while-revalidate=30 content-encoding: - gzip content-type: - application/json;charset=utf-8 date: - - Thu, 14 Nov 2024 03:49:57 GMT + - Mon, 20 Jan 2025 22:32:39 GMT server: - ATS vary: - Origin,Accept-Encoding x-envoy-decorator-operation: - - finance-screeners--mtls-production-gq1.finance-k8s.svc.yahoo.local:4080/* + - finance-screeners--mtls-production-gq1.finance-k8s:4080/* x-envoy-upstream-service-time: - - '44' + - '51' y-rid: - - 3l9en41jjasr5 + - 4vkmlj1jotjo7 status: code: 200 message: OK diff --git a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_losers_fetcher_urllib3_v1.yaml b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_losers_fetcher_urllib3_v1.yaml index c85bb2c1f03..df2324dd911 100644 --- a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_losers_fetcher_urllib3_v1.yaml +++ b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_losers_fetcher_urllib3_v1.yaml @@ -1,13 +1,6 @@ interactions: - request: - body: '{"offset": 0, "size": 100, "sortField": "percentchange", "sortType": "ASC", - "quoteType": "EQUITY", "query": {"operator": "AND", "operands": [{"operator": - "lt", "operands": ["percentchange", -2.5]}, {"operator": "eq", "operands": ["region", - "us"]}, {"operator": "or", "operands": [{"operator": "BTWN", "operands": ["intradaymarketcap", - 2000000000, 10000000000]}, {"operator": "BTWN", "operands": ["intradaymarketcap", - 10000000000, 100000000000]}, {"operator": "GT", "operands": ["intradaymarketcap", - 100000000000]}]}, {"operator": "gte", "operands": ["intradayprice", 5]}, {"operator": - "gt", "operands": ["dayvolume", 20000]}]}, "userId": "", "userIdType": "guid"}' + body: null headers: Accept: - '*/*' @@ -15,654 +8,267 @@ interactions: - gzip, deflate Connection: - keep-alive - Content-Length: - - '663' - Content-Type: - - application/json Cookie: - MOCK_COOKIE - method: POST - uri: https://query2.finance.yahoo.com/v1/finance/screener?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&formatted=false&lang=en-US®ion=US + method: GET + uri: https://query1.finance.yahoo.com/v1/test/getcrumb + response: + body: + string: xbV0f0TLaim + headers: + Age: + - '0' + Connection: + - keep-alive + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=31536000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - private, max-age=60, stale-while-revalidate=30 + content-length: + - '11' + content-type: + - text/plain;charset=utf-8 + date: + - Mon, 20 Jan 2025 22:31:38 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-external-services-api--mtls-production-gq1.finance-k8s:4080/* + x-envoy-upstream-service-time: + - '1' + y-rid: + - 5vo40v1jotjma + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - MOCK_COOKIE + method: GET + uri: https://query2.finance.yahoo.com/v1/finance/screener/predefined/saved?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&defaults=offset&defaults=size&defaults=sortAsc&defaults=sortField&defaults=userId&defaults=userIdType&formatted=false&lang=en-US&offset=0®ion=US&scrIds=day_losers&size=250 response: body: string: !!binary | - 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 + +gAA headers: Age: - '0' @@ -681,23 +287,23 @@ interactions: X-XSS-Protection: - 1; mode=block cache-control: - - private, no-cache, no-store + - public, max-age=60, stale-while-revalidate=30 content-encoding: - gzip content-type: - application/json;charset=utf-8 date: - - Thu, 14 Nov 2024 02:19:14 GMT + - Mon, 20 Jan 2025 22:31:38 GMT server: - ATS vary: - Origin,Accept-Encoding x-envoy-decorator-operation: - - finance-screeners--mtls-production-gq1.finance-k8s.svc.yahoo.local:4080/* + - finance-screeners--mtls-production-gq1.finance-k8s:4080/* x-envoy-upstream-service-time: - - '42' + - '61' y-rid: - - 4rq6jlhjjanh2 + - 1gkmcfdjotjma status: code: 200 message: OK diff --git a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_losers_fetcher_urllib3_v2.yaml b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_losers_fetcher_urllib3_v2.yaml index 92d85082e01..2b9fa1ec78c 100644 --- a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_losers_fetcher_urllib3_v2.yaml +++ b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_losers_fetcher_urllib3_v2.yaml @@ -1,598 +1,216 @@ interactions: - request: - body: '{"offset": 0, "size": 100, "sortField": "percentchange", "sortType": "ASC", - "quoteType": "EQUITY", "query": {"operator": "AND", "operands": [{"operator": - "lt", "operands": ["percentchange", -2.5]}, {"operator": "eq", "operands": ["region", - "us"]}, {"operator": "or", "operands": [{"operator": "BTWN", "operands": ["intradaymarketcap", - 2000000000, 10000000000]}, {"operator": "BTWN", "operands": ["intradaymarketcap", - 10000000000, 100000000000]}, {"operator": "GT", "operands": ["intradaymarketcap", - 100000000000]}]}, {"operator": "gte", "operands": ["intradayprice", 5]}, {"operator": - "gt", "operands": ["dayvolume", 20000]}]}, "userId": "", "userIdType": "guid"}' + body: null headers: Accept: - '*/*' Accept-Encoding: - - gzip, deflate + - gzip, deflate, br, zstd Connection: - keep-alive - Content-Length: - - '663' - Content-Type: - - application/json Cookie: - MOCK_COOKIE - method: POST - uri: https://query2.finance.yahoo.com/v1/finance/screener?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&formatted=false&lang=en-US®ion=US + method: GET + uri: https://query1.finance.yahoo.com/v1/test/getcrumb response: body: - string: '{"finance":{"result":[{"start":0,"count":100,"total":213,"quotes":[{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-37.0659,"postMarketChangePercent":-6.5320997,"postMarketTime":1731546000,"postMarketPrice":16.5999,"postMarketChange":-1.1601009,"regularMarketChange":-10.46,"regularMarketTime":1731531602,"regularMarketPrice":17.76,"regularMarketDayHigh":28.51,"regularMarketDayRange":"17.19 - - 28.51","regularMarketDayLow":17.19,"regularMarketVolume":44413721,"regularMarketPreviousClose":28.22,"bid":16.51,"ask":16.6,"bidSize":9,"askSize":8,"market":"us_market","messageBoardId":"finmb_712701220","fullExchangeName":"NYSE","longName":"Zeta - Global Holdings Corp.","financialCurrency":"USD","regularMarketOpen":28.35,"averageDailyVolume3Month":3804358,"averageDailyVolume10Day":6056450,"fiftyTwoWeekLowChange":10.110001,"fiftyTwoWeekLowChangePercent":1.3215687,"fiftyTwoWeekRange":"7.65 - - 38.2","fiftyTwoWeekHighChange":-20.44,"fiftyTwoWeekHighChangePercent":-0.5350785,"fiftyTwoWeekChangePercent":234.75682,"earningsTimestamp":1731359100,"earningsTimestampStart":1731359100,"earningsTimestampEnd":1731359100,"earningsCallTimestampStart":1731360600,"earningsCallTimestampEnd":1731360600,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.87,"epsForward":0.74,"epsCurrentYear":0.58692,"priceEpsCurrentYear":30.25966,"sharesOutstanding":208999008,"bookValue":2.06,"fiftyDayAverage":29.047,"fiftyDayAverageChange":-11.287001,"fiftyDayAverageChangePercent":-0.38857713,"twoHundredDayAverage":18.9486,"twoHundredDayAverageChange":-1.1886005,"twoHundredDayAverageChangePercent":-0.062727615,"marketCap":4217076480,"forwardPE":24.0,"priceToBook":8.62136,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-06-10","exchange":"NYQ","fiftyTwoWeekHigh":38.2,"fiftyTwoWeekLow":7.65,"shortName":"Zeta - Global Holdings Corp.","averageAnalystRating":"1.5 - Strong Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1623331800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Zeta - Global","symbol":"ZETA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-19.495415,"postMarketChangePercent":-0.283947,"postMarketTime":1731545312,"postMarketPrice":10.5001,"postMarketChange":-0.0298996,"regularMarketChange":-2.5500002,"regularMarketTime":1731531601,"regularMarketPrice":10.53,"regularMarketDayHigh":11.41,"regularMarketDayRange":"10.19 - - 11.41","regularMarketDayLow":10.19,"regularMarketVolume":36635200,"regularMarketPreviousClose":13.08,"bid":10.54,"ask":10.59,"bidSize":67,"askSize":28,"market":"us_market","messageBoardId":"finmb_656458081","fullExchangeName":"NasdaqGS","longName":"ZoomInfo - Technologies Inc.","financialCurrency":"USD","regularMarketOpen":11.012,"averageDailyVolume3Month":6951012,"averageDailyVolume10Day":10569380,"fiftyTwoWeekLowChange":2.8799996,"fiftyTwoWeekLowChangePercent":0.37647054,"fiftyTwoWeekRange":"7.65 - - 19.39","fiftyTwoWeekHighChange":-8.86,"fiftyTwoWeekHighChangePercent":-0.45693657,"fiftyTwoWeekChangePercent":-1.7280221,"earningsTimestamp":1731445200,"earningsTimestampStart":1731445200,"earningsTimestampEnd":1731445200,"earningsCallTimestampStart":1731447000,"earningsCallTimestampEnd":1731447000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":263.25,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.04,"epsForward":0.96,"epsCurrentYear":0.88,"priceEpsCurrentYear":11.965909,"sharesOutstanding":365280000,"bookValue":4.907,"fiftyDayAverage":10.4874,"fiftyDayAverageChange":0.042599678,"fiftyDayAverageChangePercent":0.0040619867,"twoHundredDayAverage":12.8408,"twoHundredDayAverageChange":-2.3108006,"twoHundredDayAverageChangePercent":-0.17995767,"marketCap":3846398208,"forwardPE":10.96875,"priceToBook":2.1459138,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2020-06-04","exchange":"NMS","fiftyTwoWeekHigh":19.39,"fiftyTwoWeekLow":7.65,"shortName":"ZoomInfo - Technologies Inc.","averageAnalystRating":"2.8 - Hold","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1591277400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"ZoomInfo","symbol":"ZI"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-17.063492,"postMarketChangePercent":0.478472,"postMarketTime":1731545993,"postMarketPrice":6.3,"postMarketChange":0.0300002,"regularMarketChange":-1.29,"regularMarketTime":1731531601,"regularMarketPrice":6.27,"regularMarketDayHigh":6.75,"regularMarketDayRange":"6.06 - - 6.75","regularMarketDayLow":6.06,"regularMarketVolume":72646759,"regularMarketPreviousClose":7.56,"bid":6.24,"ask":6.33,"bidSize":66,"askSize":116,"market":"us_market","messageBoardId":"finmb_28748353","fullExchangeName":"NasdaqGM","longName":"SoundHound - AI, Inc.","financialCurrency":"USD","regularMarketOpen":6.605,"averageDailyVolume3Month":20061960,"averageDailyVolume10Day":37717470,"fiftyTwoWeekLowChange":4.65,"fiftyTwoWeekLowChangePercent":2.8703704,"fiftyTwoWeekRange":"1.62 - - 10.25","fiftyTwoWeekHighChange":-3.98,"fiftyTwoWeekHighChangePercent":-0.38829267,"fiftyTwoWeekChangePercent":258.29385,"earningsTimestamp":1731445680,"earningsTimestampStart":1731445680,"earningsTimestampEnd":1731445680,"earningsCallTimestampStart":1731448800,"earningsCallTimestampEnd":1731448800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.38,"epsForward":-0.2,"epsCurrentYear":-0.34,"priceEpsCurrentYear":-18.441175,"sharesOutstanding":325996992,"bookValue":0.802,"fiftyDayAverage":5.1788,"fiftyDayAverageChange":1.0911999,"fiftyDayAverageChangePercent":0.21070516,"twoHundredDayAverage":4.8765,"twoHundredDayAverageChange":1.3934999,"twoHundredDayAverageChangePercent":0.2857582,"marketCap":2249255936,"forwardPE":-31.35,"priceToBook":7.817955,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NGM","fiftyTwoWeekHigh":10.25,"fiftyTwoWeekLow":1.62,"shortName":"SoundHound - AI, Inc.","averageAnalystRating":"1.9 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1651152600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"SoundHound - AI","symbol":"SOUN"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-16.00504,"postMarketChangePercent":2.65066,"postMarketTime":1731545698,"postMarketPrice":82.1,"postMarketChange":2.12,"regularMarketChange":-15.239998,"regularMarketTime":1731531600,"regularMarketPrice":79.98,"regularMarketDayHigh":87.02,"regularMarketDayRange":"79.47 - - 87.02","regularMarketDayLow":79.47,"regularMarketVolume":436192,"regularMarketPreviousClose":95.22,"bid":79.77,"ask":80.22,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_31639","fullExchangeName":"NasdaqGS","longName":"ePlus - inc.","financialCurrency":"USD","regularMarketOpen":85.0,"averageDailyVolume3Month":154995,"averageDailyVolume10Day":233190,"fiftyTwoWeekLowChange":23.650002,"fiftyTwoWeekLowChangePercent":0.41984734,"fiftyTwoWeekRange":"56.33 - - 106.98","fiftyTwoWeekHighChange":-27.0,"fiftyTwoWeekHighChangePercent":-0.25238362,"fiftyTwoWeekChangePercent":31.243849,"dividendDate":1356480000,"earningsTimestamp":1731445509,"earningsTimestampStart":1738666740,"earningsTimestampEnd":1739188800,"earningsCallTimestampStart":1731447000,"earningsCallTimestampEnd":1731447000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":19.602942,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":4.08,"epsForward":5.87,"epsCurrentYear":5.03,"priceEpsCurrentYear":15.900597,"sharesOutstanding":26865900,"bookValue":35.338,"fiftyDayAverage":95.4594,"fiftyDayAverageChange":-15.479393,"fiftyDayAverageChangePercent":-0.16215684,"twoHundredDayAverage":83.69955,"twoHundredDayAverageChange":-3.7195435,"twoHundredDayAverageChangePercent":-0.04443923,"marketCap":2148734720,"forwardPE":13.625214,"priceToBook":2.263286,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":106.98,"fiftyTwoWeekLow":56.33,"shortName":"ePlus - inc.","averageAnalystRating":"2.0 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":848068200000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"ePlus","symbol":"PLUS"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-15.031195,"postMarketChangePercent":1.93592,"postMarketTime":1731545999,"postMarketPrice":15.27,"postMarketChange":0.290001,"regularMarketChange":-2.6499996,"regularMarketTime":1731531601,"regularMarketPrice":14.98,"regularMarketDayHigh":17.9699,"regularMarketDayRange":"14.81 - - 17.9699","regularMarketDayLow":14.81,"regularMarketVolume":56246445,"regularMarketPreviousClose":17.63,"bid":14.83,"ask":15.02,"bidSize":35,"askSize":100,"market":"us_market","messageBoardId":"finmb_50979342","fullExchangeName":"NasdaqCM","longName":"CleanSpark, - Inc.","financialCurrency":"USD","regularMarketOpen":17.295,"averageDailyVolume3Month":25234985,"averageDailyVolume10Day":33669530,"fiftyTwoWeekLowChange":11.23,"fiftyTwoWeekLowChangePercent":2.9946666,"fiftyTwoWeekRange":"3.75 - - 24.72","fiftyTwoWeekHighChange":-9.74,"fiftyTwoWeekHighChangePercent":-0.39401296,"fiftyTwoWeekChangePercent":359.1146,"dividendDate":1576022400,"earningsTimestampStart":1732827600,"earningsTimestampEnd":1733173200,"earningsCallTimestampStart":1723235400,"earningsCallTimestampEnd":1723235400,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.84,"epsForward":0.9,"epsCurrentYear":-0.62,"priceEpsCurrentYear":-24.16129,"sharesOutstanding":258167008,"bookValue":5.953,"fiftyDayAverage":10.5418,"fiftyDayAverageChange":4.4382,"fiftyDayAverageChangePercent":0.42100972,"twoHundredDayAverage":14.539325,"twoHundredDayAverageChange":0.44067478,"twoHundredDayAverageChangePercent":0.030309165,"marketCap":3867341568,"forwardPE":16.644444,"priceToBook":2.5163782,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NCM","fiftyTwoWeekHigh":24.72,"fiftyTwoWeekLow":3.75,"shortName":"CleanSpark, - Inc.","averageAnalystRating":"1.9 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1479306600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"CleanSpark","symbol":"CLSK"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-13.991276,"postMarketChangePercent":1.75115,"postMarketTime":1731545995,"postMarketPrice":22.08,"postMarketChange":0.379999,"regularMarketChange":-3.5299988,"regularMarketTime":1731531601,"regularMarketPrice":21.7,"regularMarketDayHigh":26.19,"regularMarketDayRange":"21.43 - - 26.19","regularMarketDayLow":21.43,"regularMarketVolume":92696206,"regularMarketPreviousClose":25.23,"bid":21.5,"ask":21.75,"bidSize":47,"askSize":135,"market":"us_market","messageBoardId":"finmb_158387416","fullExchangeName":"NasdaqCM","longName":"MARA - Holdings, Inc.","financialCurrency":"USD","regularMarketOpen":24.308,"averageDailyVolume3Month":39899496,"averageDailyVolume10Day":56385110,"fiftyTwoWeekLowChange":12.490001,"fiftyTwoWeekLowChangePercent":1.3561347,"fiftyTwoWeekRange":"9.21 - - 34.09","fiftyTwoWeekHighChange":-12.389999,"fiftyTwoWeekHighChangePercent":-0.36344966,"fiftyTwoWeekChangePercent":158.5041,"dividendDate":1554681600,"earningsTimestamp":1731445501,"earningsTimestampStart":1731445501,"earningsTimestampEnd":1731445501,"earningsCallTimestampStart":1731448800,"earningsCallTimestampEnd":1731448800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":24.111113,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.9,"epsForward":0.04,"epsCurrentYear":-0.115,"priceEpsCurrentYear":-188.69565,"sharesOutstanding":294475008,"bookValue":9.365,"fiftyDayAverage":16.9502,"fiftyDayAverageChange":4.7498016,"fiftyDayAverageChangePercent":0.280221,"twoHundredDayAverage":19.27295,"twoHundredDayAverageChange":2.4270515,"twoHundredDayAverageChangePercent":0.12593047,"marketCap":6390107648,"forwardPE":542.50006,"priceToBook":2.3171384,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Marathon - Patent Group, Inc.","nameChangeDate":"2024-11-08","exchange":"NCM","fiftyTwoWeekHigh":34.09,"fiftyTwoWeekLow":9.21,"shortName":"MARA - Holdings, Inc.","averageAnalystRating":"2.3 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1336138200000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"MARA","symbol":"MARA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-13.892145,"postMarketChangePercent":0.204225,"postMarketTime":1731545968,"postMarketPrice":7.36,"postMarketChange":0.0150003,"regularMarketChange":-1.185,"regularMarketTime":1731531601,"regularMarketPrice":7.345,"regularMarketDayHigh":9.3,"regularMarketDayRange":"7.32 - - 9.3","regularMarketDayLow":7.32,"regularMarketVolume":41934541,"regularMarketPreviousClose":8.53,"bid":6.59,"ask":9.44,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_1671971858","fullExchangeName":"NasdaqCM","longName":"TeraWulf - Inc.","financialCurrency":"USD","regularMarketOpen":8.75,"averageDailyVolume3Month":24165339,"averageDailyVolume10Day":30159950,"fiftyTwoWeekLowChange":6.335,"fiftyTwoWeekLowChangePercent":6.2722774,"fiftyTwoWeekRange":"1.01 - - 9.3","fiftyTwoWeekHighChange":-1.9550004,"fiftyTwoWeekHighChangePercent":-0.21021509,"fiftyTwoWeekChangePercent":613.5922,"earningsTimestamp":1731445501,"earningsTimestampStart":1731445501,"earningsTimestampEnd":1731445501,"earningsCallTimestampStart":1731448800,"earningsCallTimestampEnd":1731448800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.18,"epsForward":0.1,"epsCurrentYear":-0.1,"priceEpsCurrentYear":-73.45,"sharesOutstanding":382598016,"bookValue":0.95,"fiftyDayAverage":5.3694,"fiftyDayAverageChange":1.9755998,"fiftyDayAverageChangePercent":0.3679368,"twoHundredDayAverage":3.669,"twoHundredDayAverageChange":3.6759999,"twoHundredDayAverageChangePercent":1.0019078,"marketCap":2810182400,"forwardPE":73.45,"priceToBook":7.731579,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NCM","fiftyTwoWeekHigh":9.3,"fiftyTwoWeekLow":1.01,"shortName":"TeraWulf - Inc.","averageAnalystRating":"1.9 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":765552600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"TeraWulf","symbol":"WULF"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-13.747043,"postMarketChangePercent":0.0584207,"postMarketTime":1731545896,"postMarketPrice":25.5199,"postMarketChange":0.0149002,"regularMarketChange":-4.0650005,"regularMarketTime":1731531600,"regularMarketPrice":25.505,"regularMarketDayHigh":30.11,"regularMarketDayRange":"25.381 - - 30.11","regularMarketDayLow":25.381,"regularMarketVolume":2322080,"regularMarketPreviousClose":29.57,"bid":25.45,"ask":25.56,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_35623987","fullExchangeName":"NasdaqGS","longName":"Surgery - Partners, Inc.","financialCurrency":"USD","regularMarketOpen":29.76,"averageDailyVolume3Month":824039,"averageDailyVolume10Day":953540,"fiftyTwoWeekLowChange":3.2549992,"fiftyTwoWeekLowChangePercent":0.14629209,"fiftyTwoWeekRange":"22.25 - - 36.915","fiftyTwoWeekHighChange":-11.410002,"fiftyTwoWeekHighChangePercent":-0.3090885,"fiftyTwoWeekChangePercent":-3.962326,"earningsTimestamp":1731414602,"earningsTimestampStart":1731414602,"earningsTimestampEnd":1731414602,"earningsCallTimestampStart":1731418200,"earningsCallTimestampEnd":1731418200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.22,"epsForward":1.26,"epsCurrentYear":1.06,"priceEpsCurrentYear":24.061321,"sharesOutstanding":127124000,"bookValue":15.789,"fiftyDayAverage":30.9936,"fiftyDayAverageChange":-5.4886017,"fiftyDayAverageChangePercent":-0.17708822,"twoHundredDayAverage":28.80565,"twoHundredDayAverageChange":-3.3006516,"twoHundredDayAverageChangePercent":-0.11458348,"marketCap":3759054080,"forwardPE":20.242064,"priceToBook":1.6153651,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":36.915,"fiftyTwoWeekLow":22.25,"shortName":"Surgery - Partners, Inc.","averageAnalystRating":"2.0 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1443619800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Surgery - Partners","symbol":"SGRY"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-12.318337,"postMarketChangePercent":-0.157857,"postMarketTime":1731545999,"postMarketPrice":12.65,"postMarketChange":-0.0200005,"regularMarketChange":-1.7799997,"regularMarketTime":1731531600,"regularMarketPrice":12.67,"regularMarketDayHigh":14.8299,"regularMarketDayRange":"12.49 - - 14.8299","regularMarketDayLow":12.49,"regularMarketVolume":43584240,"regularMarketPreviousClose":14.45,"bid":12.65,"ask":12.68,"bidSize":61,"askSize":8,"market":"us_market","messageBoardId":"finmb_1532998","fullExchangeName":"NasdaqCM","longName":"Riot - Platforms, Inc.","financialCurrency":"USD","regularMarketOpen":14.185,"averageDailyVolume3Month":20943307,"averageDailyVolume10Day":36508430,"fiftyTwoWeekLowChange":6.315,"fiftyTwoWeekLowChangePercent":0.99370575,"fiftyTwoWeekRange":"6.355 - - 18.75","fiftyTwoWeekHighChange":-6.08,"fiftyTwoWeekHighChangePercent":-0.32426667,"fiftyTwoWeekChangePercent":42.224407,"dividendDate":1508284800,"earningsTimestamp":1730319308,"earningsTimestampStart":1730319308,"earningsTimestampEnd":1730319308,"earningsCallTimestampStart":1730320200,"earningsCallTimestampEnd":1730320200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":97.46154,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.13,"epsForward":-0.34,"epsCurrentYear":-0.08,"priceEpsCurrentYear":-158.375,"sharesOutstanding":332326016,"bookValue":8.477,"fiftyDayAverage":8.7444,"fiftyDayAverageChange":3.9256,"fiftyDayAverageChangePercent":0.4489273,"twoHundredDayAverage":10.22365,"twoHundredDayAverageChange":2.44635,"twoHundredDayAverageChangePercent":0.23928344,"marketCap":4210570752,"forwardPE":-37.264706,"priceToBook":1.4946325,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Riot - Blockchain, Inc.","nameChangeDate":"2024-11-08","exchange":"NCM","fiftyTwoWeekHigh":18.75,"fiftyTwoWeekLow":6.355,"shortName":"Riot - Platforms, Inc.","averageAnalystRating":"1.8 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1459431000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Riot - Platforms","symbol":"RIOT"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-12.258061,"postMarketChangePercent":0.642459,"postMarketTime":1731545998,"postMarketPrice":10.9499,"postMarketChange":0.0698996,"regularMarketChange":-1.5199995,"regularMarketTime":1731531601,"regularMarketPrice":10.88,"regularMarketDayHigh":12.42,"regularMarketDayRange":"10.7036 - - 12.42","regularMarketDayLow":10.7036,"regularMarketVolume":30413682,"regularMarketPreviousClose":12.4,"bid":8.8,"ask":10.98,"bidSize":1,"askSize":115,"market":"us_market","messageBoardId":"finmb_706254871","fullExchangeName":"NasdaqGS","longName":"Iris - Energy Limited","financialCurrency":"USD","regularMarketOpen":12.2,"averageDailyVolume3Month":15246053,"averageDailyVolume10Day":17581990,"fiftyTwoWeekLowChange":8.09,"fiftyTwoWeekLowChangePercent":2.8996418,"fiftyTwoWeekRange":"2.79 - - 15.75","fiftyTwoWeekHighChange":-4.87,"fiftyTwoWeekHighChangePercent":-0.30920634,"fiftyTwoWeekChangePercent":335.08774,"earningsTimestamp":1732654800,"earningsTimestampStart":1732654800,"earningsTimestampEnd":1732654800,"earningsCallTimestampStart":1732658400,"earningsCallTimestampEnd":1732658400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.29,"epsForward":0.34,"epsCurrentYear":0.43,"priceEpsCurrentYear":25.302326,"sharesOutstanding":189346000,"bookValue":5.841,"fiftyDayAverage":8.7168,"fiftyDayAverageChange":2.1632004,"fiftyDayAverageChangePercent":0.24816452,"twoHundredDayAverage":7.89905,"twoHundredDayAverageChange":2.9809499,"twoHundredDayAverageChangePercent":0.3773808,"marketCap":2060084480,"forwardPE":32.0,"priceToBook":1.8626947,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-11-17","exchange":"NMS","fiftyTwoWeekHigh":15.75,"fiftyTwoWeekLow":2.79,"shortName":"Iris - Energy Limited","averageAnalystRating":"1.9 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1637159400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Iris - Energy","symbol":"IREN"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-11.005378,"postMarketChangePercent":-0.278938,"postMarketTime":1731545577,"postMarketPrice":42.9,"postMarketChange":-0.119999,"regularMarketChange":-5.3199997,"regularMarketTime":1731531601,"regularMarketPrice":43.02,"regularMarketDayHigh":46.49,"regularMarketDayRange":"41.57 - - 46.49","regularMarketDayLow":41.57,"regularMarketVolume":11832478,"regularMarketPreviousClose":48.34,"bid":39.91,"ask":45.07,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_223421317","fullExchangeName":"NasdaqGS","longName":"Maplebear - Inc.","financialCurrency":"USD","regularMarketOpen":45.31,"averageDailyVolume3Month":3468531,"averageDailyVolume10Day":3551500,"fiftyTwoWeekLowChange":20.890001,"fiftyTwoWeekLowChangePercent":0.9439676,"fiftyTwoWeekRange":"22.13 - - 50.01","fiftyTwoWeekHighChange":-6.989998,"fiftyTwoWeekHighChangePercent":-0.13977201,"fiftyTwoWeekChangePercent":93.051125,"earningsTimestamp":1731445200,"earningsTimestampStart":1739307600,"earningsTimestampEnd":1739826000,"earningsCallTimestampStart":1731448800,"earningsCallTimestampEnd":1731448800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-4.95,"epsForward":1.34,"epsCurrentYear":1.15,"priceEpsCurrentYear":37.408695,"sharesOutstanding":257104992,"bookValue":11.53,"fiftyDayAverage":41.6603,"fiftyDayAverageChange":1.3596992,"fiftyDayAverageChangePercent":0.032637767,"twoHundredDayAverage":35.48675,"twoHundredDayAverageChange":7.533249,"twoHundredDayAverageChangePercent":0.21228342,"marketCap":12428435456,"forwardPE":32.104477,"priceToBook":3.7311363,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2023-09-19","exchange":"NMS","fiftyTwoWeekHigh":50.01,"fiftyTwoWeekLow":22.13,"shortName":"Maplebear - Inc.","averageAnalystRating":"2.3 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1695130200000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"CART"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-10.782441,"postMarketChangePercent":1.67884,"postMarketTime":1731545994,"postMarketPrice":289.5,"postMarketChange":4.78,"regularMarketChange":-34.410004,"regularMarketTime":1731531601,"regularMarketPrice":284.72,"regularMarketDayHigh":332.3199,"regularMarketDayRange":"282.66 - - 332.3199","regularMarketDayLow":282.66,"regularMarketVolume":27551858,"regularMarketPreviousClose":319.13,"bid":284.27,"ask":285.58,"bidSize":4,"askSize":2,"market":"us_market","messageBoardId":"finmb_377154867","fullExchangeName":"NasdaqGS","longName":"Coinbase - Global, Inc.","financialCurrency":"USD","regularMarketOpen":324.915,"averageDailyVolume3Month":10233880,"averageDailyVolume10Day":20095100,"fiftyTwoWeekLowChange":190.27,"fiftyTwoWeekLowChangePercent":2.0145051,"fiftyTwoWeekRange":"94.45 - - 334.86","fiftyTwoWeekHighChange":-50.139984,"fiftyTwoWeekHighChangePercent":-0.14973417,"fiftyTwoWeekChangePercent":229.27156,"earningsTimestamp":1730319120,"earningsTimestampStart":1739444340,"earningsTimestampEnd":1739793600,"earningsCallTimestampStart":1730323800,"earningsCallTimestampEnd":1730323800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":54.026566,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":5.27,"epsForward":3.57,"epsCurrentYear":5.22,"priceEpsCurrentYear":54.544064,"sharesOutstanding":204910000,"bookValue":34.872,"fiftyDayAverage":190.7366,"fiftyDayAverageChange":93.9834,"fiftyDayAverageChangePercent":0.4927392,"twoHundredDayAverage":210.28755,"twoHundredDayAverageChange":74.43245,"twoHundredDayAverageChangePercent":0.35395557,"marketCap":79894429696,"forwardPE":79.7535,"priceToBook":8.164717,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-04-14","exchange":"NMS","fiftyTwoWeekHigh":334.86,"fiftyTwoWeekLow":94.45,"shortName":"Coinbase - Global, Inc.","averageAnalystRating":"2.4 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1618407000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Coinbase - Global","symbol":"COIN"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-9.970733,"postMarketChangePercent":1.88556,"postMarketTime":1731543235,"postMarketPrice":94.02,"postMarketChange":1.74,"regularMarketChange":-10.220001,"regularMarketTime":1731531601,"regularMarketPrice":92.28,"regularMarketDayHigh":97.47,"regularMarketDayRange":"90.46 - - 97.47","regularMarketDayLow":90.46,"regularMarketVolume":1602123,"regularMarketPreviousClose":102.5,"bid":92.03,"ask":92.4,"bidSize":1,"askSize":2,"market":"us_market","messageBoardId":"finmb_25304","fullExchangeName":"NasdaqGS","longName":"Light - & Wonder, Inc.","financialCurrency":"USD","regularMarketOpen":91.76,"averageDailyVolume3Month":696707,"averageDailyVolume10Day":561030,"fiftyTwoWeekLowChange":15.760002,"fiftyTwoWeekLowChangePercent":0.20595926,"fiftyTwoWeekRange":"76.52 - - 115.0","fiftyTwoWeekHighChange":-22.720001,"fiftyTwoWeekHighChangePercent":-0.19756523,"fiftyTwoWeekChangePercent":8.144844,"earningsTimestamp":1731445200,"earningsTimestampStart":1731445200,"earningsTimestampEnd":1731445200,"earningsCallTimestampStart":1731447000,"earningsCallTimestampEnd":1731447000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":27.879154,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":3.31,"epsForward":5.54,"epsCurrentYear":3.5703,"priceEpsCurrentYear":25.846567,"sharesOutstanding":88724200,"bookValue":9.64,"fiftyDayAverage":98.5878,"fiftyDayAverageChange":-6.3078003,"fiftyDayAverageChangePercent":-0.06398155,"twoHundredDayAverage":98.3182,"twoHundredDayAverageChange":-6.0382004,"twoHundredDayAverageChangePercent":-0.06141488,"marketCap":8187469312,"forwardPE":16.65704,"priceToBook":9.572614,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Scientific - Games Corporation","nameChangeDate":"2024-11-08","exchange":"NMS","fiftyTwoWeekHigh":115.0,"fiftyTwoWeekLow":76.52,"shortName":"Light - & Wonder, Inc.","averageAnalystRating":"1.9 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":462115800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Light - & Wonder","symbol":"LNW"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-9.931973,"postMarketChangePercent":1.20846,"postMarketTime":1731545894,"postMarketPrice":6.7,"postMarketChange":0.0799999,"regularMarketChange":-0.73,"regularMarketTime":1731531601,"regularMarketPrice":6.62,"regularMarketDayHigh":7.7472,"regularMarketDayRange":"6.62 - - 7.7472","regularMarketDayLow":6.62,"regularMarketVolume":11488912,"regularMarketPreviousClose":7.35,"bid":6.46,"ask":6.84,"bidSize":119,"askSize":119,"market":"us_market","messageBoardId":"finmb_706582752","fullExchangeName":"NasdaqGS","longName":"Cipher - Mining Inc.","financialCurrency":"USD","regularMarketOpen":7.4,"averageDailyVolume3Month":10558849,"averageDailyVolume10Day":14939870,"fiftyTwoWeekLowChange":4.465,"fiftyTwoWeekLowChangePercent":2.0719259,"fiftyTwoWeekRange":"2.155 - - 7.99","fiftyTwoWeekHighChange":-1.3699999,"fiftyTwoWeekHighChangePercent":-0.17146432,"fiftyTwoWeekChangePercent":194.0,"earningsTimestamp":1730372402,"earningsTimestampStart":1730372402,"earningsTimestampEnd":1730372402,"earningsCallTimestampStart":1730376000,"earningsCallTimestampEnd":1730376000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.14,"epsForward":0.0,"epsCurrentYear":-0.25,"priceEpsCurrentYear":-26.48,"sharesOutstanding":347806016,"bookValue":1.932,"fiftyDayAverage":4.386,"fiftyDayAverageChange":2.2339997,"fiftyDayAverageChangePercent":0.50934786,"twoHundredDayAverage":4.191825,"twoHundredDayAverageChange":2.428175,"twoHundredDayAverageChangePercent":0.5792644,"marketCap":2302475776,"priceToBook":3.4265008,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Good - Works Acquisition Corp.","nameChangeDate":"2024-11-08","exchange":"NMS","fiftyTwoWeekHigh":7.99,"fiftyTwoWeekLow":2.155,"shortName":"Cipher - Mining Inc.","averageAnalystRating":"1.9 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1603200600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Cipher - Mining","symbol":"CIFR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-9.577227,"postMarketChangePercent":1.14505,"postMarketTime":1731545959,"postMarketPrice":10.6,"postMarketChange":0.120001,"regularMarketChange":-1.1100006,"regularMarketTime":1731531600,"regularMarketPrice":10.48,"regularMarketDayHigh":11.48,"regularMarketDayRange":"10.69 - - 11.48","regularMarketDayLow":10.69,"regularMarketVolume":11970492,"regularMarketPreviousClose":11.59,"bid":10.45,"ask":10.53,"bidSize":8,"askSize":3,"market":"us_market","messageBoardId":"finmb_584499446","fullExchangeName":"NasdaqGS","longName":"StoneCo - Ltd.","financialCurrency":"BRL","regularMarketOpen":11.48,"averageDailyVolume3Month":4747063,"averageDailyVolume10Day":4138180,"fiftyTwoWeekLowChange":-0.1600008,"fiftyTwoWeekLowChangePercent":-0.015037669,"fiftyTwoWeekRange":"10.64 - - 19.46","fiftyTwoWeekHighChange":-8.98,"fiftyTwoWeekHighChangePercent":-0.4614594,"fiftyTwoWeekChangePercent":-15.277779,"earningsTimestamp":1731445200,"earningsTimestampStart":1731445200,"earningsTimestampEnd":1731445200,"earningsCallTimestampStart":1731448800,"earningsCallTimestampEnd":1731448800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":10.174757,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":1.03,"epsForward":1.4,"epsCurrentYear":1.17,"priceEpsCurrentYear":8.957265,"sharesOutstanding":287593984,"bookValue":49.863,"fiftyDayAverage":11.3784,"fiftyDayAverageChange":-0.8984003,"fiftyDayAverageChangePercent":-0.07895665,"twoHundredDayAverage":14.0441,"twoHundredDayAverageChange":-3.5641003,"twoHundredDayAverageChangePercent":-0.2537792,"marketCap":3210464256,"forwardPE":7.485714,"priceToBook":0.21017587,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":19.46,"fiftyTwoWeekLow":10.64,"shortName":"StoneCo - Ltd.","averageAnalystRating":"2.3 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1540474200000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"StoneCo","symbol":"STNE"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-9.14191,"postMarketChangePercent":0.799126,"postMarketTime":1731545986,"postMarketPrice":55.5,"postMarketChange":0.439999,"regularMarketChange":-5.539997,"regularMarketTime":1731531601,"regularMarketPrice":55.06,"regularMarketDayHigh":61.23,"regularMarketDayRange":"54.5401 - - 61.23","regularMarketDayLow":54.5401,"regularMarketVolume":6865886,"regularMarketPreviousClose":60.6,"bid":54.94,"ask":58.37,"bidSize":21,"askSize":1,"market":"us_market","messageBoardId":"finmb_246791410","fullExchangeName":"NasdaqCM","longName":"Viking - Therapeutics, Inc.","financialCurrency":"USD","regularMarketOpen":61.16,"averageDailyVolume3Month":4053928,"averageDailyVolume10Day":7532800,"fiftyTwoWeekLowChange":44.72,"fiftyTwoWeekLowChangePercent":4.3249516,"fiftyTwoWeekRange":"10.34 - - 99.41","fiftyTwoWeekHighChange":-44.350002,"fiftyTwoWeekHighChangePercent":-0.44613218,"fiftyTwoWeekChangePercent":475.4986,"earningsTimestamp":1729713912,"earningsTimestampStart":1738789200,"earningsTimestampEnd":1739221200,"earningsCallTimestampStart":1729715400,"earningsCallTimestampEnd":1729715400,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.85,"epsForward":-1.51,"epsCurrentYear":-0.98,"priceEpsCurrentYear":-56.183674,"sharesOutstanding":111436000,"bookValue":8.179,"fiftyDayAverage":64.7857,"fiftyDayAverageChange":-9.725697,"fiftyDayAverageChangePercent":-0.15012105,"twoHundredDayAverage":61.313873,"twoHundredDayAverageChange":-6.253872,"twoHundredDayAverageChangePercent":-0.101997666,"marketCap":6756633088,"forwardPE":-36.463577,"priceToBook":6.7318745,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NCM","fiftyTwoWeekHigh":99.41,"fiftyTwoWeekLow":10.34,"shortName":"Viking - Therapeutics, Inc.","averageAnalystRating":"1.5 - Strong Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1430227800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Viking - Therapeutics","symbol":"VKTX"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-9.07336,"postMarketChangePercent":-0.571125,"postMarketTime":1731545866,"postMarketPrice":14.0493,"postMarketChange":-0.0806999,"regularMarketChange":-1.41,"regularMarketTime":1731531602,"regularMarketPrice":14.13,"regularMarketDayHigh":14.44,"regularMarketDayRange":"13.375 - - 14.44","regularMarketDayLow":13.375,"regularMarketVolume":12568911,"regularMarketPreviousClose":15.54,"bid":13.9,"ask":14.1,"bidSize":22,"askSize":22,"market":"us_market","messageBoardId":"finmb_675705521","fullExchangeName":"NYSE","longName":"Rocket - Companies, Inc.","financialCurrency":"USD","regularMarketOpen":13.9,"averageDailyVolume3Month":3277801,"averageDailyVolume10Day":3473730,"fiftyTwoWeekLowChange":5.3199997,"fiftyTwoWeekLowChangePercent":0.6038592,"fiftyTwoWeekRange":"8.81 - - 21.38","fiftyTwoWeekHighChange":-7.249999,"fiftyTwoWeekHighChangePercent":-0.33910194,"fiftyTwoWeekChangePercent":74.02016,"dividendDate":1647907200,"earningsTimestamp":1731445200,"earningsTimestampStart":1731445200,"earningsTimestampEnd":1731445200,"earningsCallTimestampStart":1731447000,"earningsCallTimestampEnd":1731447000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":7.841287,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":1.802,"epsForward":0.66,"epsCurrentYear":0.29,"priceEpsCurrentYear":48.72414,"sharesOutstanding":138400000,"bookValue":4.602,"fiftyDayAverage":17.904,"fiftyDayAverageChange":-3.7739992,"fiftyDayAverageChangePercent":-0.21079084,"twoHundredDayAverage":15.104,"twoHundredDayAverageChange":-0.974,"twoHundredDayAverageChangePercent":-0.06448623,"marketCap":28080547840,"forwardPE":21.40909,"priceToBook":3.070404,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2020-08-06","exchange":"NYQ","fiftyTwoWeekHigh":21.38,"fiftyTwoWeekLow":8.81,"shortName":"Rocket - Companies, Inc.","averageAnalystRating":"3.3 - Hold","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1596720600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Rocket - Companies","symbol":"RKT"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-8.94057,"postMarketChangePercent":-0.28377134,"postMarketTime":1731545301,"postMarketPrice":52.71,"postMarketChange":-0.15000153,"regularMarketChange":-5.19,"regularMarketTime":1731531602,"regularMarketPrice":52.86,"regularMarketDayHigh":56.73,"regularMarketDayRange":"52.56 - - 56.73","regularMarketDayLow":52.56,"regularMarketVolume":4316922,"regularMarketPreviousClose":58.05,"bid":52.71,"ask":52.72,"bidSize":14,"askSize":8,"market":"us_market","messageBoardId":"finmb_128585388","fullExchangeName":"NYSE","longName":"Doximity, - Inc.","financialCurrency":"USD","regularMarketOpen":56.59,"averageDailyVolume3Month":1655950,"averageDailyVolume10Day":2655300,"fiftyTwoWeekLowChange":29.900002,"fiftyTwoWeekLowChangePercent":1.3022649,"fiftyTwoWeekRange":"22.96 - - 61.75","fiftyTwoWeekHighChange":-8.889999,"fiftyTwoWeekHighChangePercent":-0.1439676,"fiftyTwoWeekChangePercent":128.5433,"earningsTimestamp":1731013260,"earningsTimestampStart":1738839540,"earningsTimestampEnd":1739188800,"earningsCallTimestampStart":1731016800,"earningsCallTimestampEnd":1731016800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":60.75862,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.87,"epsForward":1.19,"epsCurrentYear":1.14631,"priceEpsCurrentYear":46.113182,"sharesOutstanding":128136000,"bookValue":5.146,"fiftyDayAverage":42.4874,"fiftyDayAverageChange":10.372601,"fiftyDayAverageChangePercent":0.24413356,"twoHundredDayAverage":31.7613,"twoHundredDayAverageChange":21.098701,"twoHundredDayAverageChangePercent":0.66428965,"marketCap":9868538880,"forwardPE":44.420166,"priceToBook":10.272057,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-06-24","exchange":"NYQ","fiftyTwoWeekHigh":61.75,"fiftyTwoWeekLow":22.96,"shortName":"Doximity, - Inc.","averageAnalystRating":"2.5 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1624541400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Doximity","symbol":"DOCS"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-8.37743,"postMarketChangePercent":0.4669992,"postMarketTime":1731544138,"postMarketPrice":81.75,"postMarketChange":0.37999725,"regularMarketChange":-7.43999,"regularMarketTime":1731531602,"regularMarketPrice":81.37,"regularMarketDayHigh":88.825,"regularMarketDayRange":"81.3208 - - 88.825","regularMarketDayLow":81.3208,"regularMarketVolume":431806,"regularMarketPreviousClose":88.81,"bid":80.99,"ask":81.79,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_697354917","fullExchangeName":"NYSE","longName":"Sylvamo - Corporation","financialCurrency":"USD","regularMarketOpen":88.13,"averageDailyVolume3Month":283787,"averageDailyVolume10Day":256050,"fiftyTwoWeekLowChange":36.430004,"fiftyTwoWeekLowChangePercent":0.8106365,"fiftyTwoWeekRange":"44.94 - - 98.02","fiftyTwoWeekHighChange":-16.649994,"fiftyTwoWeekHighChangePercent":-0.16986324,"fiftyTwoWeekChangePercent":84.253105,"dividendDate":1729123200,"earningsTimestamp":1731412800,"earningsTimestampStart":1731412800,"earningsTimestampEnd":1731412800,"earningsCallTimestampStart":1731423600,"earningsCallTimestampEnd":1731423600,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":14.714286,"dividendRate":1.8,"trailingAnnualDividendYield":0.0,"dividendYield":1.89,"marketState":"POSTPOST","epsTrailingTwelveMonths":5.53,"epsForward":7.82,"epsCurrentYear":7.175,"priceEpsCurrentYear":11.340767,"sharesOutstanding":41001300,"bookValue":21.869,"fiftyDayAverage":83.47,"fiftyDayAverageChange":-2.0999985,"fiftyDayAverageChangePercent":-0.02515872,"twoHundredDayAverage":69.7143,"twoHundredDayAverageChange":11.655701,"twoHundredDayAverageChangePercent":0.16719238,"marketCap":3336275968,"forwardPE":10.405371,"priceToBook":3.7207923,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":98.02,"fiftyTwoWeekLow":44.94,"shortName":"Sylvamo - Corporation","averageAnalystRating":"2.3 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1632403800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Sylvamo","symbol":"SLVM"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-8.369226,"postMarketChangePercent":4.99873,"postMarketTime":1731537219,"postMarketPrice":330.62,"postMarketChange":15.74,"regularMarketChange":-28.76001,"regularMarketTime":1731531600,"regularMarketPrice":314.88,"regularMarketDayHigh":349.77,"regularMarketDayRange":"308.73 - - 349.77","regularMarketDayLow":308.73,"regularMarketVolume":71668,"regularMarketPreviousClose":343.64,"bid":311.63,"ask":317.54,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_340904","fullExchangeName":"NasdaqCM","longName":"UFP - Technologies, Inc.","financialCurrency":"USD","regularMarketOpen":349.77,"averageDailyVolume3Month":62935,"averageDailyVolume10Day":94420,"fiftyTwoWeekLowChange":162.45001,"fiftyTwoWeekLowChangePercent":1.0657352,"fiftyTwoWeekRange":"152.43 - - 366.41","fiftyTwoWeekHighChange":-51.53,"fiftyTwoWeekHighChangePercent":-0.1406348,"fiftyTwoWeekChangePercent":100.38183,"earningsTimestamp":1730815200,"earningsTimestampStart":1730815200,"earningsTimestampEnd":1730815200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":53.733788,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":5.86,"epsForward":8.58,"epsCurrentYear":7.41,"priceEpsCurrentYear":42.493927,"sharesOutstanding":7674360,"bookValue":42.891,"fiftyDayAverage":310.3862,"fiftyDayAverageChange":4.493805,"fiftyDayAverageChangePercent":0.014478108,"twoHundredDayAverage":269.6232,"twoHundredDayAverageChange":45.256805,"twoHundredDayAverageChangePercent":0.16785204,"marketCap":2633842176,"forwardPE":36.699303,"priceToBook":7.3414006,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NCM","fiftyTwoWeekHigh":366.41,"fiftyTwoWeekLow":152.43,"shortName":"UFP - Technologies, Inc.","averageAnalystRating":"2.3 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":756138600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"UFP","symbol":"UFPT"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-8.24592,"postMarketChangePercent":0.476341,"postMarketTime":1731545795,"postMarketPrice":31.64,"postMarketChange":0.15,"regularMarketChange":-2.83,"regularMarketTime":1731531600,"regularMarketPrice":31.49,"regularMarketDayHigh":35.23,"regularMarketDayRange":"31.05 - - 35.23","regularMarketDayLow":31.05,"regularMarketVolume":1561064,"regularMarketPreviousClose":34.32,"bid":25.2,"ask":39.91,"bidSize":1,"askSize":2,"market":"us_market","messageBoardId":"finmb_247089947","fullExchangeName":"NasdaqGM","longName":"Symbotic - Inc.","financialCurrency":"USD","regularMarketOpen":34.3,"averageDailyVolume3Month":1810915,"averageDailyVolume10Day":1073610,"fiftyTwoWeekLowChange":14.379999,"fiftyTwoWeekLowChangePercent":0.8404441,"fiftyTwoWeekRange":"17.11 - - 59.82","fiftyTwoWeekHighChange":-28.33,"fiftyTwoWeekHighChangePercent":-0.47358742,"fiftyTwoWeekChangePercent":-4.6401796,"earningsTimestamp":1731963600,"earningsTimestampStart":1731963600,"earningsTimestampEnd":1731963600,"earningsCallTimestampStart":1731967200,"earningsCallTimestampEnd":1731967200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.2,"epsForward":0.36,"epsCurrentYear":0.08,"priceEpsCurrentYear":393.625,"sharesOutstanding":103779000,"bookValue":4.061,"fiftyDayAverage":26.0179,"fiftyDayAverageChange":5.4720993,"fiftyDayAverageChangePercent":0.21032056,"twoHundredDayAverage":35.076126,"twoHundredDayAverageChange":-3.5861263,"twoHundredDayAverageChangePercent":-0.10223838,"marketCap":18439821312,"forwardPE":87.47222,"priceToBook":7.754248,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NGM","fiftyTwoWeekHigh":59.82,"fiftyTwoWeekLow":17.11,"shortName":"Symbotic - Inc.","averageAnalystRating":"2.2 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1615300200000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Symbotic","symbol":"SYM"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-8.212052,"postMarketChangePercent":1.4043,"postMarketTime":1731545859,"postMarketPrice":44.77,"postMarketChange":0.619999,"regularMarketChange":-3.949997,"regularMarketTime":1731531601,"regularMarketPrice":44.15,"regularMarketDayHigh":46.61,"regularMarketDayRange":"42.5 - - 46.61","regularMarketDayLow":42.5,"regularMarketVolume":716690,"regularMarketPreviousClose":48.1,"bid":44.05,"ask":55.02,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_81686581","fullExchangeName":"NasdaqGS","longName":"Life360, - Inc.","financialCurrency":"USD","regularMarketOpen":43.57,"averageDailyVolume3Month":261742,"averageDailyVolume10Day":254220,"fiftyTwoWeekLowChange":18.150002,"fiftyTwoWeekLowChangePercent":0.69807696,"fiftyTwoWeekRange":"26.0 - - 48.9","fiftyTwoWeekHighChange":-4.75,"fiftyTwoWeekHighChangePercent":-0.09713701,"fiftyTwoWeekChangePercent":78.14815,"earningsTimestamp":1731447900,"earningsTimestampStart":1731447900,"earningsTimestampEnd":1731447900,"earningsCallTimestampStart":1731450600,"earningsCallTimestampEnd":1731450600,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.4,"epsForward":0.0,"epsCurrentYear":-0.36,"priceEpsCurrentYear":-122.638885,"sharesOutstanding":74135200,"bookValue":1.661,"fiftyDayAverage":40.8846,"fiftyDayAverageChange":3.2654,"fiftyDayAverageChangePercent":0.0798687,"twoHundredDayAverage":36.694775,"twoHundredDayAverageChange":7.455227,"twoHundredDayAverageChangePercent":0.20316863,"marketCap":3296530432,"priceToBook":26.580374,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2024-06-06","exchange":"NMS","fiftyTwoWeekHigh":48.9,"fiftyTwoWeekLow":26.0,"shortName":"Life360, - Inc.","averageAnalystRating":"2.0 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1717680600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Life360","symbol":"LIF"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-8.13755,"postMarketChangePercent":0.3582912,"postMarketTime":1731544301,"postMarketPrice":81.23,"postMarketChange":0.29000092,"regularMarketChange":-7.17,"regularMarketTime":1731531602,"regularMarketPrice":80.94,"regularMarketDayHigh":86.9,"regularMarketDayRange":"78.43 - - 86.9","regularMarketDayLow":78.43,"regularMarketVolume":664941,"regularMarketPreviousClose":88.11,"bid":70.0,"ask":84.0,"bidSize":10,"askSize":8,"market":"us_market","messageBoardId":"finmb_1876857378","fullExchangeName":"NYSE","longName":"Loar - Holdings Inc.","financialCurrency":"USD","regularMarketOpen":86.33,"averageDailyVolume3Month":265030,"averageDailyVolume10Day":425130,"fiftyTwoWeekLowChange":38.370003,"fiftyTwoWeekLowChangePercent":0.90133905,"fiftyTwoWeekRange":"42.57 - - 95.35","fiftyTwoWeekHighChange":-14.409996,"fiftyTwoWeekHighChangePercent":-0.15112738,"fiftyTwoWeekChangePercent":80.55328,"earningsTimestamp":1731502800,"earningsTimestampStart":1731502800,"earningsTimestampEnd":1731502800,"earningsCallTimestampStart":1731511800,"earningsCallTimestampEnd":1731511800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":674.50006,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.12,"epsForward":0.67,"epsCurrentYear":0.41,"priceEpsCurrentYear":197.41464,"sharesOutstanding":89703600,"bookValue":8.455,"fiftyDayAverage":78.2398,"fiftyDayAverageChange":2.700203,"fiftyDayAverageChangePercent":0.034511887,"twoHundredDayAverage":65.58843,"twoHundredDayAverageChange":15.35157,"twoHundredDayAverageChangePercent":0.23405911,"marketCap":7903783424,"forwardPE":120.80597,"priceToBook":9.573034,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":95.35,"fiftyTwoWeekLow":42.57,"shortName":"Loar - Holdings Inc.","averageAnalystRating":"1.7 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1714051800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Loar","symbol":"LOAR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-7.9511733,"postMarketChangePercent":0.0,"postMarketTime":1731532800,"postMarketPrice":52.79,"postMarketChange":0.0,"regularMarketChange":-4.5599976,"regularMarketTime":1731531601,"regularMarketPrice":52.79,"regularMarketDayHigh":58.29,"regularMarketDayRange":"51.525 - - 58.29","regularMarketDayLow":51.525,"regularMarketVolume":558113,"regularMarketPreviousClose":57.35,"bid":52.45,"ask":53.09,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_1816591253","fullExchangeName":"NasdaqGM","longName":"Apogee - Therapeutics, Inc.","financialCurrency":"USD","regularMarketOpen":57.32,"averageDailyVolume3Month":389547,"averageDailyVolume10Day":424180,"fiftyTwoWeekLowChange":36.4,"fiftyTwoWeekLowChangePercent":2.2208664,"fiftyTwoWeekRange":"16.39 - - 72.29","fiftyTwoWeekHighChange":-19.5,"fiftyTwoWeekHighChangePercent":-0.26974684,"fiftyTwoWeekChangePercent":241.16597,"earningsTimestamp":1731412801,"earningsTimestampStart":1731412801,"earningsTimestampEnd":1731412801,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-1.93,"epsForward":-3.8,"epsCurrentYear":-2.79,"priceEpsCurrentYear":-18.921148,"sharesOutstanding":43194300,"bookValue":7.5,"fiftyDayAverage":54.6118,"fiftyDayAverageChange":-1.8218002,"fiftyDayAverageChangePercent":-0.033359095,"twoHundredDayAverage":49.49265,"twoHundredDayAverageChange":3.2973518,"twoHundredDayAverageChangePercent":0.06662306,"marketCap":3003904256,"forwardPE":-13.892106,"priceToBook":7.0386667,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2023-07-14","exchange":"NGM","fiftyTwoWeekHigh":72.29,"fiftyTwoWeekLow":16.39,"shortName":"Apogee - Therapeutics, Inc.","averageAnalystRating":"1.1 - Strong Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1689341400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Apogee - Therapeutics","symbol":"APGE"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-7.9110436,"postMarketChangePercent":2.86558,"postMarketTime":1731545997,"postMarketPrice":337.79,"postMarketChange":9.41,"regularMarketChange":-28.209991,"regularMarketTime":1731531601,"regularMarketPrice":328.38,"regularMarketDayHigh":383.4,"regularMarketDayRange":"321.7 - - 383.4","regularMarketDayLow":321.7,"regularMarketVolume":45375949,"regularMarketPreviousClose":356.59,"bid":315.0,"ask":329.24,"bidSize":5,"askSize":4,"market":"us_market","messageBoardId":"finmb_384976","fullExchangeName":"NasdaqGS","longName":"MicroStrategy - Incorporated","financialCurrency":"USD","regularMarketOpen":366.83,"averageDailyVolume3Month":16455159,"averageDailyVolume10Day":28151780,"fiftyTwoWeekLowChange":284.506,"fiftyTwoWeekLowChangePercent":6.4846153,"fiftyTwoWeekRange":"43.874 - - 383.4","fiftyTwoWeekHighChange":-55.01999,"fiftyTwoWeekHighChangePercent":-0.14350545,"fiftyTwoWeekChangePercent":571.4239,"earningsTimestamp":1730318460,"earningsTimestampStart":1738702800,"earningsTimestampEnd":1739221200,"earningsCallTimestampStart":1730322000,"earningsCallTimestampEnd":1730322000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-2.5,"epsForward":-0.43,"epsCurrentYear":-1.11,"priceEpsCurrentYear":-295.83783,"sharesOutstanding":183004000,"bookValue":18.622,"fiftyDayAverage":196.1382,"fiftyDayAverageChange":132.2418,"fiftyDayAverageChangePercent":0.6742277,"twoHundredDayAverage":149.92224,"twoHundredDayAverageChange":178.45776,"twoHundredDayAverageChangePercent":1.1903355,"marketCap":69220532224,"forwardPE":-763.67444,"priceToBook":17.633982,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":383.4,"fiftyTwoWeekLow":43.874,"shortName":"MicroStrategy - Incorporated","averageAnalystRating":"1.8 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":897571800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"MSTR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-7.744424,"postMarketChangePercent":0.87318,"postMarketTime":1731545320,"postMarketPrice":320.0,"postMarketChange":2.76999,"regularMarketChange":-26.629974,"regularMarketTime":1731531601,"regularMarketPrice":317.23,"regularMarketDayHigh":346.281,"regularMarketDayRange":"316.07 - - 346.281","regularMarketDayLow":316.07,"regularMarketVolume":455216,"regularMarketPreviousClose":343.86,"bid":316.37,"ask":318.47,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_297711","fullExchangeName":"NasdaqGS","longName":"Powell - Industries, Inc.","financialCurrency":"USD","regularMarketOpen":344.9,"averageDailyVolume3Month":405593,"averageDailyVolume10Day":436230,"fiftyTwoWeekLowChange":242.18001,"fiftyTwoWeekLowChangePercent":3.2269154,"fiftyTwoWeekRange":"75.05 - - 364.98","fiftyTwoWeekHighChange":-47.75,"fiftyTwoWeekHighChangePercent":-0.13082908,"fiftyTwoWeekChangePercent":286.0655,"dividendDate":1726617600,"earningsTimestamp":1732050000,"earningsTimestampStart":1732050000,"earningsTimestampEnd":1732050000,"earningsCallTimestampStart":1732118400,"earningsCallTimestampEnd":1732118400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":1.055,"trailingPE":29.6754,"dividendRate":1.06,"trailingAnnualDividendYield":0.003068109,"dividendYield":0.31,"marketState":"POSTPOST","epsTrailingTwelveMonths":10.69,"epsForward":12.45,"epsCurrentYear":12.06,"priceEpsCurrentYear":26.304312,"sharesOutstanding":11987800,"bookValue":36.432,"fiftyDayAverage":242.358,"fiftyDayAverageChange":74.87201,"fiftyDayAverageChangePercent":0.30893144,"twoHundredDayAverage":176.505,"twoHundredDayAverageChange":140.725,"twoHundredDayAverageChangePercent":0.7972862,"marketCap":3802889984,"forwardPE":25.480322,"priceToBook":8.707456,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":364.98,"fiftyTwoWeekLow":75.05,"shortName":"Powell - Industries, Inc.","averageAnalystRating":"2.5 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":322151400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Powell - Industries","symbol":"POWL"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-7.120739,"postMarketChangePercent":1.0,"postMarketTime":1731545626,"postMarketPrice":9.09,"postMarketChange":0.0900002,"regularMarketChange":-0.6899996,"regularMarketTime":1731531601,"regularMarketPrice":9.0,"regularMarketDayHigh":9.9267,"regularMarketDayRange":"8.935 - - 9.9267","regularMarketDayLow":8.935,"regularMarketVolume":9299362,"regularMarketPreviousClose":9.69,"bid":8.95,"ask":9.04,"bidSize":6,"askSize":6,"market":"us_market","messageBoardId":"finmb_40424708","fullExchangeName":"NasdaqGM","longName":"Iovance - Biotherapeutics, Inc.","financialCurrency":"USD","regularMarketOpen":9.76,"averageDailyVolume3Month":5893960,"averageDailyVolume10Day":9452420,"fiftyTwoWeekLowChange":4.67,"fiftyTwoWeekLowChangePercent":1.078522,"fiftyTwoWeekRange":"4.33 - - 18.33","fiftyTwoWeekHighChange":-9.33,"fiftyTwoWeekHighChangePercent":-0.5090016,"fiftyTwoWeekChangePercent":104.54545,"earningsTimestamp":1731013261,"earningsTimestampStart":1731013261,"earningsTimestampEnd":1731013261,"earningsCallTimestampStart":1731015000,"earningsCallTimestampEnd":1731015000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-1.48,"epsForward":-0.82,"epsCurrentYear":-1.26,"priceEpsCurrentYear":-7.142857,"sharesOutstanding":304780992,"bookValue":2.539,"fiftyDayAverage":10.1184,"fiftyDayAverageChange":-1.1183996,"fiftyDayAverageChangePercent":-0.11053128,"twoHundredDayAverage":10.774,"twoHundredDayAverageChange":-1.7740002,"twoHundredDayAverageChangePercent":-0.16465567,"marketCap":2743028992,"forwardPE":-10.97561,"priceToBook":3.5447025,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NGM","fiftyTwoWeekHigh":18.33,"fiftyTwoWeekLow":4.33,"shortName":"Iovance - Biotherapeutics, Inc.","averageAnalystRating":"1.9 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1287149400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Iovance - Biotherapeutics","symbol":"IOVA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-7.04637,"postMarketChangePercent":-0.0475944,"postMarketTime":1731541204,"postMarketPrice":315.0,"postMarketChange":-0.149994,"regularMarketChange":-23.890015,"regularMarketTime":1731531601,"regularMarketPrice":315.15,"regularMarketDayHigh":342.58,"regularMarketDayRange":"314.02 - - 342.58","regularMarketDayLow":314.02,"regularMarketVolume":479457,"regularMarketPreviousClose":339.04,"bid":314.08,"ask":315.29,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_144939852","fullExchangeName":"NasdaqGS","longName":"Madrigal - Pharmaceuticals, Inc.","financialCurrency":"USD","regularMarketOpen":342.58,"averageDailyVolume3Month":354628,"averageDailyVolume10Day":915830,"fiftyTwoWeekLowChange":155.0,"fiftyTwoWeekLowChangePercent":0.9678427,"fiftyTwoWeekRange":"160.15 - - 368.29","fiftyTwoWeekHighChange":-53.140015,"fiftyTwoWeekHighChangePercent":-0.14428851,"fiftyTwoWeekChangePercent":86.82198,"dividendDate":1469404800,"earningsTimestamp":1730372402,"earningsTimestampStart":1730372402,"earningsTimestampEnd":1730372402,"earningsCallTimestampStart":1730376000,"earningsCallTimestampEnd":1730376000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-25.04,"epsForward":-13.96,"epsCurrentYear":-23.63,"priceEpsCurrentYear":-13.33686,"sharesOutstanding":21810400,"bookValue":35.639,"fiftyDayAverage":241.8126,"fiftyDayAverageChange":73.33739,"fiftyDayAverageChangePercent":0.3032819,"twoHundredDayAverage":245.4899,"twoHundredDayAverageChange":69.660095,"twoHundredDayAverageChangePercent":0.2837595,"marketCap":6873547264,"forwardPE":-22.575214,"priceToBook":8.84284,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":368.29,"fiftyTwoWeekLow":160.15,"shortName":"Madrigal - Pharmaceuticals, Inc.","averageAnalystRating":"2.0 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1170772200000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Madrigal - Pharmaceuticals","symbol":"MDGL"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-7.0450864,"postMarketChangePercent":0.675568,"postMarketTime":1731545248,"postMarketPrice":190.75,"postMarketChange":1.28,"regularMarketChange":-14.360001,"regularMarketTime":1731531601,"regularMarketPrice":189.47,"regularMarketDayHigh":205.17,"regularMarketDayRange":"189.3 - - 205.17","regularMarketDayLow":189.3,"regularMarketVolume":392539,"regularMarketPreviousClose":203.83,"bid":146.38,"ask":190.8,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_124752","fullExchangeName":"NasdaqGS","longName":"Nova - Ltd.","financialCurrency":"USD","regularMarketOpen":204.12,"averageDailyVolume3Month":199117,"averageDailyVolume10Day":249960,"fiftyTwoWeekLowChange":70.47,"fiftyTwoWeekLowChangePercent":0.5921849,"fiftyTwoWeekRange":"119.0 - - 247.21","fiftyTwoWeekHighChange":-57.740005,"fiftyTwoWeekHighChangePercent":-0.23356661,"fiftyTwoWeekChangePercent":57.52411,"earningsTimestamp":1730982607,"earningsTimestampStart":1739453400,"earningsTimestampEnd":1739799000,"earningsCallTimestampStart":1730986200,"earningsCallTimestampEnd":1730986200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":42.57753,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":4.45,"epsForward":7.54,"epsCurrentYear":6.54,"priceEpsCurrentYear":28.97095,"sharesOutstanding":29046300,"bookValue":31.18,"fiftyDayAverage":197.5134,"fiftyDayAverageChange":-8.043396,"fiftyDayAverageChangePercent":-0.040723294,"twoHundredDayAverage":196.2381,"twoHundredDayAverageChange":-6.768097,"twoHundredDayAverageChangePercent":-0.03448921,"marketCap":5926318592,"forwardPE":25.128647,"priceToBook":6.0766516,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Nova - Measuring Instruments Ltd.","nameChangeDate":"2024-11-08","exchange":"NMS","fiftyTwoWeekHigh":247.21,"fiftyTwoWeekLow":119.0,"shortName":"Nova - Ltd.","averageAnalystRating":"2.0 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":955459800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Nova","symbol":"NVMI"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-7.0116796,"postMarketChangePercent":-0.268407,"postMarketTime":1731532877,"postMarketPrice":11.1101,"postMarketChange":-0.0299006,"regularMarketChange":-0.8399992,"regularMarketTime":1731531601,"regularMarketPrice":11.14,"regularMarketDayHigh":12.33,"regularMarketDayRange":"11.09 - - 12.33","regularMarketDayLow":11.09,"regularMarketVolume":171663,"regularMarketPreviousClose":11.98,"bid":8.62,"ask":11.2,"bidSize":1,"askSize":2,"market":"us_market","messageBoardId":"finmb_671730212","fullExchangeName":"NasdaqGS","longName":"EverCommerce - Inc.","financialCurrency":"USD","regularMarketOpen":12.0,"averageDailyVolume3Month":96831,"averageDailyVolume10Day":128860,"fiftyTwoWeekLowChange":4.9200006,"fiftyTwoWeekLowChangePercent":0.7909969,"fiftyTwoWeekRange":"6.22 - - 12.351","fiftyTwoWeekHighChange":-1.2109995,"fiftyTwoWeekHighChangePercent":-0.0980487,"fiftyTwoWeekChangePercent":49.190533,"earningsTimestamp":1731445503,"earningsTimestampStart":1731445503,"earningsTimestampEnd":1731445503,"earningsCallTimestampStart":1731448800,"earningsCallTimestampEnd":1731448800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.24,"epsForward":0.66,"epsCurrentYear":0.66,"priceEpsCurrentYear":16.878788,"sharesOutstanding":184252992,"bookValue":4.193,"fiftyDayAverage":10.5883,"fiftyDayAverageChange":0.5517006,"fiftyDayAverageChangePercent":0.052104738,"twoHundredDayAverage":10.164125,"twoHundredDayAverageChange":0.9758749,"twoHundredDayAverageChangePercent":0.09601169,"marketCap":2052578432,"forwardPE":16.878788,"priceToBook":2.656809,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-07-01","exchange":"NMS","fiftyTwoWeekHigh":12.351,"fiftyTwoWeekLow":6.22,"shortName":"EverCommerce - Inc.","averageAnalystRating":"2.2 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1625146200000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"EverCommerce","symbol":"EVCM"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-6.872037,"postMarketChangePercent":-1.61153,"postMarketTime":1731545240,"postMarketPrice":11.6,"postMarketChange":-0.19,"regularMarketChange":-0.8699999,"regularMarketTime":1731531600,"regularMarketPrice":11.79,"regularMarketDayHigh":12.88,"regularMarketDayRange":"11.63 - - 12.88","regularMarketDayLow":11.63,"regularMarketVolume":3708761,"regularMarketPreviousClose":12.66,"bid":9.19,"ask":11.86,"bidSize":1,"askSize":16,"market":"us_market","messageBoardId":"finmb_582019472","fullExchangeName":"NasdaqCM","longName":"PureCycle - Technologies, Inc.","financialCurrency":"USD","regularMarketOpen":12.8,"averageDailyVolume3Month":2872755,"averageDailyVolume10Day":3072410,"fiftyTwoWeekLowChange":9.405,"fiftyTwoWeekLowChangePercent":3.943396,"fiftyTwoWeekRange":"2.385 - - 15.58","fiftyTwoWeekHighChange":-3.79,"fiftyTwoWeekHighChangePercent":-0.24326059,"fiftyTwoWeekChangePercent":205.06024,"earningsTimestamp":1730986200,"earningsTimestampStart":1730986200,"earningsTimestampEnd":1730986200,"earningsCallTimestampStart":1730991600,"earningsCallTimestampEnd":1730991600,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.94,"epsForward":-0.6,"epsCurrentYear":-1.22,"priceEpsCurrentYear":-9.663934,"sharesOutstanding":173490000,"bookValue":1.77,"fiftyDayAverage":10.0179,"fiftyDayAverageChange":1.7720995,"fiftyDayAverageChangePercent":0.17689331,"twoHundredDayAverage":6.7185,"twoHundredDayAverageChange":5.0715,"twoHundredDayAverageChangePercent":0.75485593,"marketCap":2045447040,"forwardPE":-19.65,"priceToBook":6.661017,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-03-18","exchange":"NCM","fiftyTwoWeekHigh":15.58,"fiftyTwoWeekLow":2.385,"shortName":"PureCycle - Technologies, Inc.","averageAnalystRating":"2.2 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1594733400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"PureCycle","symbol":"PCT"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-6.841408,"postMarketChangePercent":1.71674,"postMarketTime":1731532504,"postMarketPrice":21.33,"postMarketChange":0.360001,"regularMarketChange":-1.5400009,"regularMarketTime":1731531601,"regularMarketPrice":20.97,"regularMarketDayHigh":23.49,"regularMarketDayRange":"20.0 - - 23.49","regularMarketDayLow":20.0,"regularMarketVolume":369782,"regularMarketPreviousClose":22.51,"bid":16.28,"ask":26.91,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_1685761306","fullExchangeName":"NasdaqGM","longName":"Trump - Media & Technology Group Corp.","financialCurrency":"USD","regularMarketOpen":23.29,"averageDailyVolume3Month":783041,"averageDailyVolume10Day":961638,"fiftyTwoWeekLowChange":14.439999,"fiftyTwoWeekLowChangePercent":2.211332,"fiftyTwoWeekRange":"6.53 - - 44.83","fiftyTwoWeekHighChange":-23.860003,"fiftyTwoWeekHighChangePercent":-0.53223294,"fiftyTwoWeekChangePercent":-12.3949585,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.39,"sharesOutstanding":0,"bookValue":3.809,"fiftyDayAverage":17.559986,"fiftyDayAverageChange":3.4100132,"fiftyDayAverageChangePercent":0.19419225,"twoHundredDayAverage":19.316874,"twoHundredDayAverageChange":1.6531258,"twoHundredDayAverageChangePercent":0.085579365,"marketCap":6647720448,"priceToBook":5.5053816,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2024-03-26","prevName":"Digital - World Acquisition Corp.","nameChangeDate":"2024-11-08","exchange":"NGM","fiftyTwoWeekHigh":44.83,"fiftyTwoWeekLow":6.53,"shortName":"Trump - Media & Technology Group ","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1711459800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Trump - Media & Technology","symbol":"DJTWW"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-6.69822,"postMarketChangePercent":3.199382,"postMarketTime":1731545850,"postMarketPrice":26.45,"postMarketChange":0.8200016,"regularMarketChange":-1.84,"regularMarketTime":1731531602,"regularMarketPrice":25.63,"regularMarketDayHigh":27.55,"regularMarketDayRange":"25.63 - - 27.55","regularMarketDayLow":25.63,"regularMarketVolume":258799,"regularMarketPreviousClose":27.47,"bid":25.85,"ask":26.01,"bidSize":8,"askSize":11,"market":"us_market","messageBoardId":"finmb_1685545783","fullExchangeName":"NYSE","longName":"KinderCare - Learning Companies, Inc.","financialCurrency":"USD","regularMarketOpen":27.4,"averageDailyVolume3Month":984520,"averageDailyVolume10Day":297230,"fiftyTwoWeekLowChange":1.0299988,"fiftyTwoWeekLowChangePercent":0.041869868,"fiftyTwoWeekRange":"24.6 - - 29.89","fiftyTwoWeekHighChange":-4.26,"fiftyTwoWeekHighChangePercent":-0.14252259,"fiftyTwoWeekChangePercent":5.128205,"trailingAnnualDividendRate":0.0,"trailingPE":54.531914,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.47,"epsForward":0.64,"epsCurrentYear":0.24,"priceEpsCurrentYear":106.791664,"sharesOutstanding":117966000,"bookValue":0.314,"fiftyDayAverage":28.1876,"fiftyDayAverageChange":-2.5576,"fiftyDayAverageChangePercent":-0.09073494,"twoHundredDayAverage":28.1876,"twoHundredDayAverageChange":-2.5576,"twoHundredDayAverageChangePercent":-0.09073494,"marketCap":3240528896,"forwardPE":40.046875,"priceToBook":81.6242,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-11-18","exchange":"NYQ","fiftyTwoWeekHigh":29.89,"fiftyTwoWeekLow":24.6,"shortName":"KinderCare - Learning Companies, ","averageAnalystRating":"2.3 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1728480600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"KinderCare - Learning Companies","symbol":"KLC"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-6.64557,"postMarketChangePercent":1.0169482,"postMarketTime":1731545997,"postMarketPrice":5.96,"postMarketChange":0.059999943,"regularMarketChange":-0.42,"regularMarketTime":1731531602,"regularMarketPrice":5.9,"regularMarketDayHigh":6.295,"regularMarketDayRange":"5.78 - - 6.295","regularMarketDayLow":5.78,"regularMarketVolume":18366379,"regularMarketPreviousClose":6.32,"bid":5.91,"ask":5.91,"bidSize":30,"askSize":32,"market":"us_market","messageBoardId":"finmb_551384045","fullExchangeName":"NYSE","longName":"Joby - Aviation, Inc.","financialCurrency":"USD","regularMarketOpen":6.28,"averageDailyVolume3Month":11570361,"averageDailyVolume10Day":18013200,"fiftyTwoWeekLowChange":1.4000001,"fiftyTwoWeekLowChangePercent":0.31111112,"fiftyTwoWeekRange":"4.5 - - 7.69","fiftyTwoWeekHighChange":-1.79,"fiftyTwoWeekHighChangePercent":-0.23276982,"fiftyTwoWeekChangePercent":5.509186,"earningsTimestamp":1730927100,"earningsTimestampStart":1730927100,"earningsTimestampEnd":1730927100,"earningsCallTimestampStart":1730930400,"earningsCallTimestampEnd":1730930400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.65,"epsForward":-0.6,"epsCurrentYear":-0.7,"priceEpsCurrentYear":-8.428572,"sharesOutstanding":765086016,"bookValue":1.089,"fiftyDayAverage":5.366,"fiftyDayAverageChange":0.5339999,"fiftyDayAverageChangePercent":0.09951545,"twoHundredDayAverage":5.3299,"twoHundredDayAverageChange":0.5701003,"twoHundredDayAverageChangePercent":0.106962666,"marketCap":4835339264,"forwardPE":-9.833333,"priceToBook":5.4178147,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":7.69,"fiftyTwoWeekLow":4.5,"shortName":"Joby - Aviation, Inc.","averageAnalystRating":"2.6 - Hold","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1604932200000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Joby - Aviation","symbol":"JOBY"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-6.6185384,"postMarketChangePercent":0.420641,"postMarketTime":1731545970,"postMarketPrice":604.0,"postMarketChange":2.53003,"regularMarketChange":-42.630005,"regularMarketTime":1731531601,"regularMarketPrice":601.47,"regularMarketDayHigh":640.795,"regularMarketDayRange":"599.05 - - 640.795","regularMarketDayLow":599.05,"regularMarketVolume":1568931,"regularMarketPreviousClose":644.1,"bid":600.11,"ask":603.02,"bidSize":2,"askSize":2,"market":"us_market","messageBoardId":"finmb_3051626","fullExchangeName":"NasdaqGS","longName":"Monolithic - Power Systems, Inc.","financialCurrency":"USD","regularMarketOpen":633.0,"averageDailyVolume3Month":693103,"averageDailyVolume10Day":1651960,"fiftyTwoWeekLowChange":68.609985,"fiftyTwoWeekLowChangePercent":0.128758,"fiftyTwoWeekRange":"532.86 - - 959.64","fiftyTwoWeekHighChange":-358.17004,"fiftyTwoWeekHighChangePercent":-0.37323377,"fiftyTwoWeekChangePercent":12.009764,"dividendDate":1728950400,"earningsTimestamp":1730318489,"earningsTimestampStart":1738753140,"earningsTimestampEnd":1739188800,"earningsCallTimestampStart":1730322000,"earningsCallTimestampEnd":1730322000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":4.75,"trailingPE":67.7331,"dividendRate":5.0,"trailingAnnualDividendYield":0.0073746317,"dividendYield":0.78,"marketState":"POSTPOST","epsTrailingTwelveMonths":8.88,"epsForward":17.18,"epsCurrentYear":14.07435,"priceEpsCurrentYear":42.735184,"sharesOutstanding":48780000,"bookValue":48.211,"fiftyDayAverage":866.4182,"fiftyDayAverageChange":-264.94824,"fiftyDayAverageChangePercent":-0.3057972,"twoHundredDayAverage":783.7225,"twoHundredDayAverageChange":-182.2525,"twoHundredDayAverageChangePercent":-0.23254724,"marketCap":29339705344,"forwardPE":35.00989,"priceToBook":12.475783,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":959.64,"fiftyTwoWeekLow":532.86,"shortName":"Monolithic - Power Systems, Inc.","averageAnalystRating":"1.9 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1100874600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Monolithic - Power Systems","symbol":"MPWR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-6.37326,"postMarketChangePercent":0.18705544,"postMarketTime":1731545935,"postMarketPrice":123.19,"postMarketChange":0.23000336,"regularMarketChange":-8.37,"regularMarketTime":1731531602,"regularMarketPrice":122.96,"regularMarketDayHigh":132.52,"regularMarketDayRange":"122.175 - - 132.52","regularMarketDayLow":122.175,"regularMarketVolume":2145734,"regularMarketPreviousClose":131.33,"bid":122.99,"ask":123.37,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_104554559","fullExchangeName":"NYSE","longName":"e.l.f. - Beauty, Inc.","financialCurrency":"USD","regularMarketOpen":132.25,"averageDailyVolume3Month":2532358,"averageDailyVolume10Day":3672300,"fiftyTwoWeekLowChange":24.46,"fiftyTwoWeekLowChangePercent":0.24832487,"fiftyTwoWeekRange":"98.5 - - 221.83","fiftyTwoWeekHighChange":-98.87,"fiftyTwoWeekHighChangePercent":-0.44570166,"fiftyTwoWeekChangePercent":17.384697,"earningsTimestamp":1730927100,"earningsTimestampStart":1738666740,"earningsTimestampEnd":1739188800,"earningsCallTimestampStart":1730928600,"earningsCallTimestampEnd":1730928600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":71.07514,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":1.73,"epsForward":4.31,"epsCurrentYear":3.59,"priceEpsCurrentYear":34.250698,"sharesOutstanding":56331000,"bookValue":12.918,"fiftyDayAverage":111.97,"fiftyDayAverageChange":10.989998,"fiftyDayAverageChangePercent":0.098151274,"twoHundredDayAverage":162.83585,"twoHundredDayAverageChange":-39.875847,"twoHundredDayAverageChangePercent":-0.24488372,"marketCap":7397949952,"forwardPE":28.529003,"priceToBook":9.518501,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":221.83,"fiftyTwoWeekLow":98.5,"shortName":"e.l.f. - Beauty, Inc.","averageAnalystRating":"1.9 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1474551000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"e.l.f. - Beauty","symbol":"ELF"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-6.330005,"postMarketChangePercent":0.250748,"postMarketTime":1731545964,"postMarketPrice":79.96,"postMarketChange":0.199997,"regularMarketChange":-5.3899994,"regularMarketTime":1731531601,"regularMarketPrice":79.76,"regularMarketDayHigh":85.27,"regularMarketDayRange":"79.58 - - 85.27","regularMarketDayLow":79.58,"regularMarketVolume":1844038,"regularMarketPreviousClose":85.15,"bid":79.59,"ask":79.95,"bidSize":3,"askSize":7,"market":"us_market","messageBoardId":"finmb_8285048","fullExchangeName":"NasdaqGM","longName":"Lantheus - Holdings, Inc.","financialCurrency":"USD","regularMarketOpen":85.04,"averageDailyVolume3Month":837150,"averageDailyVolume10Day":1923010,"fiftyTwoWeekLowChange":29.560001,"fiftyTwoWeekLowChangePercent":0.58884466,"fiftyTwoWeekRange":"50.2 - - 126.89","fiftyTwoWeekHighChange":-47.129997,"fiftyTwoWeekHighChangePercent":-0.37142405,"fiftyTwoWeekChangePercent":24.944973,"earningsTimestamp":1730894400,"earningsTimestampStart":1730894400,"earningsTimestampEnd":1730894400,"earningsCallTimestampStart":1730898000,"earningsCallTimestampEnd":1730898000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":14.141845,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":5.64,"epsForward":6.93,"epsCurrentYear":6.69,"priceEpsCurrentYear":11.922273,"sharesOutstanding":69526800,"bookValue":16.971,"fiftyDayAverage":106.4798,"fiftyDayAverageChange":-26.719795,"fiftyDayAverageChangePercent":-0.2509377,"twoHundredDayAverage":85.37253,"twoHundredDayAverageChange":-5.612526,"twoHundredDayAverageChangePercent":-0.06574159,"marketCap":5922299904,"forwardPE":11.50938,"priceToBook":4.699782,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NGM","fiftyTwoWeekHigh":126.89,"fiftyTwoWeekLow":50.2,"shortName":"Lantheus - Holdings, Inc.","averageAnalystRating":"1.9 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1435239000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Lantheus","symbol":"LNTH"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-6.313368,"postMarketChangePercent":-6.24742,"postMarketTime":1731545996,"postMarketPrice":19.0599,"postMarketChange":-1.2701,"regularMarketChange":-1.3700008,"regularMarketTime":1731531600,"regularMarketPrice":20.33,"regularMarketDayHigh":21.7999,"regularMarketDayRange":"20.28 - - 21.7999","regularMarketDayLow":20.28,"regularMarketVolume":50676456,"regularMarketPreviousClose":21.7,"bid":20.28,"ask":20.39,"bidSize":38,"askSize":57,"market":"us_market","messageBoardId":"finmb_6479558","fullExchangeName":"NasdaqGS","longName":"Super - Micro Computer, Inc.","financialCurrency":"USD","regularMarketOpen":21.0149,"averageDailyVolume3Month":75080181,"averageDailyVolume10Day":87236540,"fiftyTwoWeekLowChange":0.12999916,"fiftyTwoWeekLowChangePercent":0.006435602,"fiftyTwoWeekRange":"20.2 - - 122.9","fiftyTwoWeekHighChange":-102.57,"fiftyTwoWeekHighChangePercent":-0.83458096,"fiftyTwoWeekChangePercent":-28.332216,"earningsTimestamp":1730841300,"earningsTimestampStart":1737975540,"earningsTimestampEnd":1738324800,"earningsCallTimestampStart":1730844000,"earningsCallTimestampEnd":1730844000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":10.813829,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":1.88,"epsForward":4.24,"epsCurrentYear":3.34,"priceEpsCurrentYear":6.0868263,"sharesOutstanding":585564992,"bookValue":9.32,"fiftyDayAverage":40.59122,"fiftyDayAverageChange":-20.26122,"fiftyDayAverageChangePercent":-0.49915278,"twoHundredDayAverage":71.22115,"twoHundredDayAverageChange":-50.89115,"twoHundredDayAverageChangePercent":-0.7145511,"marketCap":12706758656,"forwardPE":4.7948117,"priceToBook":2.1813304,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":122.9,"fiftyTwoWeekLow":20.2,"shortName":"Super - Micro Computer, Inc.","averageAnalystRating":"2.9 - Hold","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1175175000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Super - Micro Computer","symbol":"SMCI"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-6.228533,"postMarketChangePercent":0.0,"postMarketTime":1731533762,"postMarketPrice":60.07,"postMarketChange":0.0,"regularMarketChange":-3.9899979,"regularMarketTime":1731531600,"regularMarketPrice":60.07,"regularMarketDayHigh":65.25,"regularMarketDayRange":"59.88 - - 65.25","regularMarketDayLow":59.88,"regularMarketVolume":825075,"regularMarketPreviousClose":64.06,"bid":46.37,"ask":60.08,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_309184792","fullExchangeName":"NasdaqGM","longName":"Rhythm - Pharmaceuticals, Inc.","financialCurrency":"USD","regularMarketOpen":64.4,"averageDailyVolume3Month":466547,"averageDailyVolume10Day":876810,"fiftyTwoWeekLowChange":29.17,"fiftyTwoWeekLowChangePercent":0.94401294,"fiftyTwoWeekRange":"30.9 - - 68.58","fiftyTwoWeekHighChange":-8.510002,"fiftyTwoWeekHighChangePercent":-0.12408868,"fiftyTwoWeekChangePercent":97.350586,"earningsTimestamp":1730840460,"earningsTimestampStart":1730840460,"earningsTimestampEnd":1730840460,"earningsCallTimestampStart":1730844000,"earningsCallTimestampEnd":1730844000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-4.05,"epsForward":-2.67,"epsCurrentYear":-4.36,"priceEpsCurrentYear":-13.777522,"sharesOutstanding":61457100,"bookValue":0.183,"fiftyDayAverage":51.735,"fiftyDayAverageChange":8.334999,"fiftyDayAverageChangePercent":0.16110948,"twoHundredDayAverage":45.3021,"twoHundredDayAverageChange":14.767899,"twoHundredDayAverageChangePercent":0.32598704,"marketCap":3936404992,"forwardPE":-22.498127,"priceToBook":328.25137,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NGM","fiftyTwoWeekHigh":68.58,"fiftyTwoWeekLow":30.9,"shortName":"Rhythm - Pharmaceuticals, Inc.","averageAnalystRating":"1.9 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1507555800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Rhythm - Pharmaceuticals","symbol":"RYTM"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-6.213877,"postMarketChangePercent":0.410888,"postMarketTime":1731544652,"postMarketPrice":19.55,"postMarketChange":0.0799999,"regularMarketChange":-1.2900009,"regularMarketTime":1731531601,"regularMarketPrice":19.47,"regularMarketDayHigh":21.74,"regularMarketDayRange":"19.43 - - 21.74","regularMarketDayLow":19.43,"regularMarketVolume":1895193,"regularMarketPreviousClose":20.76,"bid":19.4,"ask":19.61,"bidSize":2,"askSize":2,"market":"us_market","messageBoardId":"finmb_11611587","fullExchangeName":"NasdaqGM","longName":"Summit - Therapeutics Inc.","financialCurrency":"USD","regularMarketOpen":21.27,"averageDailyVolume3Month":5175101,"averageDailyVolume10Day":2215660,"fiftyTwoWeekLowChange":17.63,"fiftyTwoWeekLowChangePercent":9.581521,"fiftyTwoWeekRange":"1.84 - - 33.89","fiftyTwoWeekHighChange":-14.42,"fiftyTwoWeekHighChangePercent":-0.42549425,"fiftyTwoWeekChangePercent":1016.129,"earningsTimestamp":1730286000,"earningsTimestampStart":1730286000,"earningsTimestampEnd":1730286000,"earningsCallTimestampStart":1730293200,"earningsCallTimestampEnd":1730293200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.23,"epsForward":-0.38,"epsCurrentYear":-0.3,"priceEpsCurrentYear":-64.899994,"sharesOutstanding":737448000,"bookValue":0.594,"fiftyDayAverage":21.0607,"fiftyDayAverageChange":-1.5907001,"fiftyDayAverageChangePercent":-0.075529315,"twoHundredDayAverage":10.21985,"twoHundredDayAverageChange":9.25015,"twoHundredDayAverageChangePercent":0.905116,"marketCap":14358112256,"forwardPE":-51.23684,"priceToBook":32.77778,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Summit - Therapeutics plc","nameChangeDate":"2024-11-08","exchange":"NGM","fiftyTwoWeekHigh":33.89,"fiftyTwoWeekLow":1.84,"shortName":"Summit - Therapeutics Inc.","averageAnalystRating":"1.8 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1425565800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Summit - Therapeutics","symbol":"SMMT"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-6.1201873,"postMarketChangePercent":-0.964933,"postMarketTime":1731542848,"postMarketPrice":42.08,"postMarketChange":-0.41,"regularMarketChange":-2.7699966,"regularMarketTime":1731531600,"regularMarketPrice":42.49,"regularMarketDayHigh":46.21,"regularMarketDayRange":"42.1 - - 46.21","regularMarketDayLow":42.1,"regularMarketVolume":962077,"regularMarketPreviousClose":45.26,"bid":42.38,"ask":42.64,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_242825322","fullExchangeName":"NasdaqGS","longName":"Twist - Bioscience Corporation","financialCurrency":"USD","regularMarketOpen":45.21,"averageDailyVolume3Month":686931,"averageDailyVolume10Day":735310,"fiftyTwoWeekLowChange":23.690002,"fiftyTwoWeekLowChangePercent":1.2601066,"fiftyTwoWeekRange":"18.8 - - 60.9","fiftyTwoWeekHighChange":-18.41,"fiftyTwoWeekHighChangePercent":-0.30229884,"fiftyTwoWeekChangePercent":137.33614,"earningsTimestamp":1731936600,"earningsTimestampStart":1731936600,"earningsTimestampEnd":1731936600,"earningsCallTimestampStart":1731934800,"earningsCallTimestampEnd":1731934800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-3.58,"epsForward":-2.43,"epsCurrentYear":-3.55,"priceEpsCurrentYear":-11.969015,"sharesOutstanding":58586000,"bookValue":8.393,"fiftyDayAverage":43.8576,"fiftyDayAverageChange":-1.3675995,"fiftyDayAverageChangePercent":-0.031182725,"twoHundredDayAverage":42.56425,"twoHundredDayAverageChange":-0.07424927,"twoHundredDayAverageChangePercent":-0.0017444044,"marketCap":2652850432,"forwardPE":-17.485598,"priceToBook":5.0625525,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":60.9,"fiftyTwoWeekLow":18.8,"shortName":"Twist - Bioscience Corporation","averageAnalystRating":"2.1 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1540992600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Twist - Bioscience","symbol":"TWST"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-5.96307,"postMarketChangePercent":2.1324415,"postMarketTime":1731545994,"postMarketPrice":36.4,"postMarketChange":0.76000214,"regularMarketChange":-2.26,"regularMarketTime":1731531602,"regularMarketPrice":35.64,"regularMarketDayHigh":39.82,"regularMarketDayRange":"35.62 - - 39.82","regularMarketDayLow":35.62,"regularMarketVolume":3638288,"regularMarketPreviousClose":37.9,"bid":35.7,"ask":36.5,"bidSize":9,"askSize":8,"market":"us_market","messageBoardId":"finmb_82334289","fullExchangeName":"NYSE","longName":"Sweetgreen, - Inc.","financialCurrency":"USD","regularMarketOpen":38.87,"averageDailyVolume3Month":3290722,"averageDailyVolume10Day":4009110,"fiftyTwoWeekLowChange":26.43,"fiftyTwoWeekLowChangePercent":2.8697069,"fiftyTwoWeekRange":"9.21 - - 42.77","fiftyTwoWeekHighChange":-7.130001,"fiftyTwoWeekHighChangePercent":-0.16670565,"fiftyTwoWeekChangePercent":283.99188,"earningsTimestamp":1731013501,"earningsTimestampStart":1731013501,"earningsTimestampEnd":1731013501,"earningsCallTimestampStart":1731016800,"earningsCallTimestampEnd":1731016800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.78,"epsForward":-0.43,"epsCurrentYear":-0.73,"priceEpsCurrentYear":-48.821915,"sharesOutstanding":103414000,"bookValue":4.007,"fiftyDayAverage":35.9158,"fiftyDayAverageChange":-0.2757988,"fiftyDayAverageChangePercent":-0.0076790387,"twoHundredDayAverage":27.59685,"twoHundredDayAverageChange":8.04315,"twoHundredDayAverageChangePercent":0.29145175,"marketCap":4122514432,"forwardPE":-82.88372,"priceToBook":8.894435,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-11-18","exchange":"NYQ","fiftyTwoWeekHigh":42.77,"fiftyTwoWeekLow":9.21,"shortName":"Sweetgreen, - Inc.","averageAnalystRating":"2.1 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1637245800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"SG"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-5.9186134,"postMarketChangePercent":2.75229,"postMarketTime":1731545747,"postMarketPrice":15.68,"postMarketChange":0.42,"regularMarketChange":-0.9599991,"regularMarketTime":1731531600,"regularMarketPrice":15.26,"regularMarketDayHigh":16.28,"regularMarketDayRange":"15.26 - - 16.28","regularMarketDayLow":15.26,"regularMarketVolume":1491994,"regularMarketPreviousClose":16.22,"bid":15.2,"ask":15.33,"bidSize":16,"askSize":7,"market":"us_market","messageBoardId":"finmb_9794870","fullExchangeName":"NasdaqCM","longName":"QXO, - Inc.","financialCurrency":"USD","regularMarketOpen":15.755,"averageDailyVolume3Month":2475792,"averageDailyVolume10Day":2627410,"fiftyTwoWeekLowChange":4.6500006,"fiftyTwoWeekLowChangePercent":0.43826586,"fiftyTwoWeekRange":"10.61 - - 290.0","fiftyTwoWeekHighChange":-274.74,"fiftyTwoWeekHighChangePercent":-0.9473793,"fiftyTwoWeekChangePercent":-43.36592,"dividendDate":1718150400,"earningsTimestamp":1731499200,"earningsTimestampStart":1731499200,"earningsTimestampEnd":1731499200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-12.27,"epsForward":0.32,"epsCurrentYear":0.32,"priceEpsCurrentYear":47.6875,"sharesOutstanding":409430016,"bookValue":711.369,"fiftyDayAverage":15.0444,"fiftyDayAverageChange":0.21560001,"fiftyDayAverageChangePercent":0.014330914,"twoHundredDayAverage":74.3437,"twoHundredDayAverageChange":-59.083694,"twoHundredDayAverageChangePercent":-0.7947371,"marketCap":6247902208,"forwardPE":47.6875,"priceToBook":0.021451594,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"SilverSun - Technologies, Inc.","nameChangeDate":"2024-11-08","exchange":"NCM","fiftyTwoWeekHigh":290.0,"fiftyTwoWeekLow":10.61,"shortName":"QXO, - Inc.","averageAnalystRating":"2.0 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1334669400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"QXO","symbol":"QXO"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-5.8139534,"regularMarketChange":-0.5,"regularMarketTime":1731531366,"regularMarketPrice":8.1,"regularMarketDayHigh":8.5,"regularMarketDayRange":"7.9 - - 8.5","regularMarketDayLow":7.9,"regularMarketVolume":21860,"regularMarketPreviousClose":8.6,"bid":8.0,"ask":8.14,"bidSize":400,"askSize":418,"market":"us_market","messageBoardId":"finmb_271135","fullExchangeName":"OTC - Markets OTCQB","longName":"Federal National Mortgage Association","financialCurrency":"USD","regularMarketOpen":8.45,"averageDailyVolume3Month":73281,"averageDailyVolume10Day":207240,"fiftyTwoWeekLowChange":6.38,"fiftyTwoWeekLowChangePercent":3.7093024,"fiftyTwoWeekRange":"1.72 - - 8.6","fiftyTwoWeekHighChange":-0.5,"fiftyTwoWeekHighChangePercent":-0.058139533,"fiftyTwoWeekChangePercent":362.85715,"dividendDate":1222732800,"earningsTimestamp":1730374008,"earningsTimestampStart":1739453400,"earningsTimestampEnd":1739799000,"earningsCallTimestampStart":1730376000,"earningsCallTimestampEnd":1730376000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":1157.1428,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.007,"sharesOutstanding":5738840064,"bookValue":-8.614,"fiftyDayAverage":4.155,"fiftyDayAverageChange":3.9450002,"fiftyDayAverageChangePercent":0.9494585,"twoHundredDayAverage":3.73485,"twoHundredDayAverageChange":4.3651505,"twoHundredDayAverageChangePercent":1.168762,"marketCap":11180349440,"priceToBook":-0.94032973,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"OQB","fiftyTwoWeekHigh":8.6,"fiftyTwoWeekLow":1.72,"shortName":"Fannie - Mae","hasPrePostMarketData":false,"firstTradeDateMilliseconds":1277991000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"FNMAJ"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-5.747459,"postMarketChangePercent":0.0,"postMarketTime":1731544459,"postMarketPrice":64.12,"postMarketChange":0.0,"regularMarketChange":-3.909996,"regularMarketTime":1731531601,"regularMarketPrice":64.12,"regularMarketDayHigh":68.93,"regularMarketDayRange":"64.0 - - 68.93","regularMarketDayLow":64.0,"regularMarketVolume":582868,"regularMarketPreviousClose":68.03,"bid":63.95,"ask":64.28,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_34231914","fullExchangeName":"NasdaqGS","longName":"StepStone - Group Inc.","financialCurrency":"USD","regularMarketOpen":68.93,"averageDailyVolume3Month":630341,"averageDailyVolume10Day":712920,"fiftyTwoWeekLowChange":39.060005,"fiftyTwoWeekLowChangePercent":1.5586594,"fiftyTwoWeekRange":"25.06 - - 70.38","fiftyTwoWeekHighChange":-6.2599945,"fiftyTwoWeekHighChangePercent":-0.08894565,"fiftyTwoWeekChangePercent":159.3595,"dividendDate":1726185600,"earningsTimestamp":1731013512,"earningsTimestampStart":1738875600,"earningsTimestampEnd":1739221200,"earningsCallTimestampStart":1731016800,"earningsCallTimestampEnd":1731016800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.87,"trailingPE":105.11475,"dividendRate":0.96,"trailingAnnualDividendYield":0.012788476,"dividendYield":1.41,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.61,"epsForward":2.21,"epsCurrentYear":1.87,"priceEpsCurrentYear":34.288773,"sharesOutstanding":72681200,"bookValue":5.469,"fiftyDayAverage":58.7806,"fiftyDayAverageChange":5.3394012,"fiftyDayAverageChangePercent":0.09083611,"twoHundredDayAverage":45.42865,"twoHundredDayAverageChange":18.691353,"twoHundredDayAverageChangePercent":0.41144416,"marketCap":7594629632,"forwardPE":29.013575,"priceToBook":11.724265,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2020-09-16","exchange":"NMS","fiftyTwoWeekHigh":70.38,"fiftyTwoWeekLow":25.06,"shortName":"StepStone - Group Inc.","averageAnalystRating":"2.4 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1600263000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"StepStone","symbol":"STEP"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-5.72818,"postMarketChangePercent":0.776981,"postMarketTime":1731545389,"postMarketPrice":166.02,"postMarketChange":1.28,"regularMarketChange":-10.01,"regularMarketTime":1731531602,"regularMarketPrice":164.74,"regularMarketDayHigh":173.93,"regularMarketDayRange":"164.54 - - 173.93","regularMarketDayLow":164.54,"regularMarketVolume":843241,"regularMarketPreviousClose":174.75,"bid":165.0,"ask":165.29,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_33946","fullExchangeName":"NYSE","longName":"Onto - Innovation Inc.","financialCurrency":"USD","regularMarketOpen":174.21,"averageDailyVolume3Month":658312,"averageDailyVolume10Day":1064530,"fiftyTwoWeekLowChange":32.960007,"fiftyTwoWeekLowChangePercent":0.25011387,"fiftyTwoWeekRange":"131.78 - - 238.93","fiftyTwoWeekHighChange":-74.18999,"fiftyTwoWeekHighChangePercent":-0.31050932,"fiftyTwoWeekChangePercent":29.300774,"earningsTimestamp":1730405100,"earningsTimestampStart":1738839540,"earningsTimestampEnd":1739188800,"earningsCallTimestampStart":1730406600,"earningsCallTimestampEnd":1730406600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":44.524326,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":3.7,"epsForward":6.71,"epsCurrentYear":5.23625,"priceEpsCurrentYear":31.461449,"sharesOutstanding":49391300,"bookValue":38.541,"fiftyDayAverage":198.048,"fiftyDayAverageChange":-33.308,"fiftyDayAverageChangePercent":-0.16818143,"twoHundredDayAverage":197.7646,"twoHundredDayAverageChange":-33.024597,"twoHundredDayAverageChangePercent":-0.16698943,"marketCap":8136722944,"forwardPE":24.551416,"priceToBook":4.2744093,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":238.93,"fiftyTwoWeekLow":131.78,"shortName":"Onto - Innovation Inc.","averageAnalystRating":"1.2 - Strong Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1572269400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Onto - Innovation","symbol":"ONTO"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-5.7220364,"postMarketChangePercent":1.36403,"postMarketTime":1731542537,"postMarketPrice":81.0,"postMarketChange":1.09,"regularMarketChange":-4.8499985,"regularMarketTime":1731531601,"regularMarketPrice":79.91,"regularMarketDayHigh":86.7,"regularMarketDayRange":"79.69 - - 86.7","regularMarketDayLow":79.69,"regularMarketVolume":747975,"regularMarketPreviousClose":84.76,"bid":61.95,"ask":80.11,"bidSize":1,"askSize":2,"market":"us_market","messageBoardId":"finmb_527153","fullExchangeName":"NasdaqGM","longName":"Camtek - Ltd.","financialCurrency":"USD","regularMarketOpen":86.25,"averageDailyVolume3Month":573253,"averageDailyVolume10Day":676490,"fiftyTwoWeekLowChange":20.580002,"fiftyTwoWeekLowChangePercent":0.34687343,"fiftyTwoWeekRange":"59.33 - - 140.5","fiftyTwoWeekHighChange":-60.589996,"fiftyTwoWeekHighChangePercent":-0.43124554,"fiftyTwoWeekChangePercent":29.408909,"dividendDate":1713398400,"earningsTimestamp":1731411003,"earningsTimestampStart":1731411003,"earningsTimestampEnd":1731411003,"earningsCallTimestampStart":1731420000,"earningsCallTimestampEnd":1731420000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":43.194595,"dividendRate":1.33,"trailingAnnualDividendYield":0.0,"dividendYield":1.69,"marketState":"POSTPOST","epsTrailingTwelveMonths":1.85,"epsForward":3.15,"epsCurrentYear":2.71,"priceEpsCurrentYear":29.487085,"sharesOutstanding":45366200,"bookValue":10.604,"fiftyDayAverage":79.4322,"fiftyDayAverageChange":0.4778061,"fiftyDayAverageChangePercent":0.0060152696,"twoHundredDayAverage":90.67115,"twoHundredDayAverageChange":-10.761147,"twoHundredDayAverageChangePercent":-0.11868325,"marketCap":3847059456,"forwardPE":25.368254,"priceToBook":7.5358357,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NGM","fiftyTwoWeekHigh":140.5,"fiftyTwoWeekLow":59.33,"shortName":"Camtek - Ltd.","averageAnalystRating":"1.6 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":964791000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Camtek","symbol":"CAMT"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-5.54583,"postMarketChangePercent":0.02644359,"postMarketTime":1731546000,"postMarketPrice":37.82,"postMarketChange":0.0099983215,"regularMarketChange":-2.22,"regularMarketTime":1731531602,"regularMarketPrice":37.81,"regularMarketDayHigh":40.3331,"regularMarketDayRange":"36.6103 - - 40.3331","regularMarketDayLow":36.6103,"regularMarketVolume":8561500,"regularMarketPreviousClose":40.03,"bid":38.0,"ask":38.11,"bidSize":9,"askSize":13,"market":"us_market","messageBoardId":"finmb_314896","fullExchangeName":"NYSE","longName":"United - States Steel Corporation","financialCurrency":"USD","regularMarketOpen":40.3,"averageDailyVolume3Month":6152550,"averageDailyVolume10Day":5578720,"fiftyTwoWeekLowChange":10.890001,"fiftyTwoWeekLowChangePercent":0.404532,"fiftyTwoWeekRange":"26.92 - - 50.2","fiftyTwoWeekHighChange":-12.389999,"fiftyTwoWeekHighChangePercent":-0.24681273,"fiftyTwoWeekChangePercent":9.817017,"dividendDate":1733875200,"earningsTimestamp":1730405820,"earningsTimestampStart":1738270800,"earningsTimestampEnd":1738616400,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.2,"trailingPE":25.37584,"dividendRate":0.2,"trailingAnnualDividendYield":0.004996253,"dividendYield":0.5,"marketState":"POSTPOST","epsTrailingTwelveMonths":1.49,"epsForward":2.65,"epsCurrentYear":2.35,"priceEpsCurrentYear":16.089363,"sharesOutstanding":225171008,"bookValue":51.42,"fiftyDayAverage":37.0884,"fiftyDayAverageChange":0.7215996,"fiftyDayAverageChangePercent":0.019456206,"twoHundredDayAverage":39.44335,"twoHundredDayAverageChange":-1.6333504,"twoHundredDayAverageChangePercent":-0.04141003,"marketCap":9013602304,"forwardPE":14.267924,"priceToBook":0.73531705,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":50.2,"fiftyTwoWeekLow":26.92,"shortName":"United - States Steel Corporation","averageAnalystRating":"2.1 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":671463000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"United - States Steel","symbol":"X"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-5.51137,"postMarketChangePercent":2.0445,"postMarketTime":1731545963,"postMarketPrice":33.94,"postMarketChange":0.68,"regularMarketChange":-1.9400024,"regularMarketTime":1731531601,"regularMarketPrice":33.26,"regularMarketDayHigh":35.72,"regularMarketDayRange":"33.01 - - 35.72","regularMarketDayLow":33.01,"regularMarketVolume":658321,"regularMarketPreviousClose":35.2,"bid":33.15,"ask":42.36,"bidSize":3,"askSize":1,"market":"us_market","messageBoardId":"finmb_595539666","fullExchangeName":"NasdaqGS","longName":"Edgewise - Therapeutics, Inc.","financialCurrency":"USD","regularMarketOpen":35.45,"averageDailyVolume3Month":1164115,"averageDailyVolume10Day":773810,"fiftyTwoWeekLowChange":27.329998,"fiftyTwoWeekLowChangePercent":4.608769,"fiftyTwoWeekRange":"5.93 - - 38.12","fiftyTwoWeekHighChange":-4.8600006,"fiftyTwoWeekHighChangePercent":-0.12749214,"fiftyTwoWeekChangePercent":454.33072,"earningsTimestamp":1730984400,"earningsTimestampStart":1730984400,"earningsTimestampEnd":1730984400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-1.53,"epsForward":-1.85,"epsCurrentYear":-1.48,"priceEpsCurrentYear":-22.472971,"sharesOutstanding":94688496,"bookValue":5.178,"fiftyDayAverage":28.6235,"fiftyDayAverageChange":4.6364975,"fiftyDayAverageChangePercent":0.1619822,"twoHundredDayAverage":20.655874,"twoHundredDayAverageChange":12.604124,"twoHundredDayAverageChangePercent":0.61019564,"marketCap":3149339136,"forwardPE":-17.978376,"priceToBook":6.4233294,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-03-26","exchange":"NMS","fiftyTwoWeekHigh":38.12,"fiftyTwoWeekLow":5.93,"shortName":"Edgewise - Therapeutics, Inc.","averageAnalystRating":"1.7 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1616765400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Edgewise - Therapeutics","symbol":"EWTX"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-5.45135,"postMarketChangePercent":0.433984,"postMarketTime":1731545934,"postMarketPrice":16.2,"postMarketChange":0.0700016,"regularMarketChange":-0.9300003,"regularMarketTime":1731531602,"regularMarketPrice":16.13,"regularMarketDayHigh":17.38,"regularMarketDayRange":"16.01 - - 17.38","regularMarketDayLow":16.01,"regularMarketVolume":9901516,"regularMarketPreviousClose":17.06,"bid":16.07,"ask":16.3,"bidSize":28,"askSize":51,"market":"us_market","messageBoardId":"finmb_575837243","fullExchangeName":"NasdaqGS","longName":"Core - Scientific, Inc.","financialCurrency":"USD","regularMarketOpen":17.12,"averageDailyVolume3Month":10742773,"averageDailyVolume10Day":12772680,"fiftyTwoWeekLowChange":13.5199995,"fiftyTwoWeekLowChangePercent":5.1800766,"fiftyTwoWeekRange":"2.61 - - 18.03","fiftyTwoWeekHighChange":-1.9000015,"fiftyTwoWeekHighChangePercent":-0.105380006,"fiftyTwoWeekChangePercent":395.93024,"earningsTimestamp":1730927400,"earningsTimestampStart":1730927400,"earningsTimestampEnd":1730927400,"earningsCallTimestampStart":1730928600,"earningsCallTimestampEnd":1730928600,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-4.0,"epsForward":0.31,"epsCurrentYear":-3.72,"priceEpsCurrentYear":-4.3360214,"sharesOutstanding":279252992,"bookValue":-2.607,"fiftyDayAverage":12.6354,"fiftyDayAverageChange":3.4945993,"fiftyDayAverageChangePercent":0.2765721,"twoHundredDayAverage":7.746625,"twoHundredDayAverageChange":8.383374,"twoHundredDayAverageChangePercent":1.082197,"marketCap":4768334336,"forwardPE":52.032253,"priceToBook":-6.1871877,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2024-01-24","exchange":"NMS","fiftyTwoWeekHigh":18.03,"fiftyTwoWeekLow":2.61,"shortName":"Core - Scientific, Inc.","averageAnalystRating":"1.6 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1706106600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Core - Scientific","symbol":"CORZ"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-5.4481535,"postMarketChangePercent":-1.34759,"postMarketTime":1731544433,"postMarketPrice":21.23,"postMarketChange":-0.290001,"regularMarketChange":-1.2399998,"regularMarketTime":1731531600,"regularMarketPrice":21.52,"regularMarketDayHigh":23.02,"regularMarketDayRange":"21.4493 - - 23.02","regularMarketDayLow":21.4493,"regularMarketVolume":3368944,"regularMarketPreviousClose":22.76,"bid":21.42,"ask":21.51,"bidSize":4,"askSize":1,"market":"us_market","messageBoardId":"finmb_38893720","fullExchangeName":"NasdaqGS","longName":"EchoStar - Corporation","financialCurrency":"USD","regularMarketOpen":22.685,"averageDailyVolume3Month":1671807,"averageDailyVolume10Day":1968690,"fiftyTwoWeekLowChange":11.990001,"fiftyTwoWeekLowChangePercent":1.2581323,"fiftyTwoWeekRange":"9.53 - - 30.08","fiftyTwoWeekHighChange":-8.559999,"fiftyTwoWeekHighChangePercent":-0.28457445,"fiftyTwoWeekChangePercent":122.31405,"earningsTimestamp":1731415368,"earningsTimestampStart":1731415368,"earningsTimestampEnd":1731415368,"earningsCallTimestampStart":1731427200,"earningsCallTimestampEnd":1731427200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-9.15,"epsForward":-2.75,"epsCurrentYear":-2.1113,"priceEpsCurrentYear":-10.192773,"sharesOutstanding":140332000,"bookValue":71.526,"fiftyDayAverage":24.7908,"fiftyDayAverageChange":-3.2707996,"fiftyDayAverageChangePercent":-0.13193603,"twoHundredDayAverage":18.51415,"twoHundredDayAverageChange":3.0058498,"twoHundredDayAverageChangePercent":0.16235419,"marketCap":5849954304,"forwardPE":-7.8254547,"priceToBook":0.3008696,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":30.08,"fiftyTwoWeekLow":9.53,"shortName":"EchoStar - Corporation","averageAnalystRating":"2.5 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1199284200000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"EchoStar","symbol":"SATS"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-5.389216,"postMarketChangePercent":0.0,"postMarketTime":1731533762,"postMarketPrice":94.8,"postMarketChange":0.0,"regularMarketChange":-5.399994,"regularMarketTime":1731531602,"regularMarketPrice":94.8,"regularMarketDayHigh":99.28,"regularMarketDayRange":"94.32 - - 99.28","regularMarketDayLow":94.32,"regularMarketVolume":828903,"regularMarketPreviousClose":100.2,"bid":94.72,"ask":94.87,"bidSize":4,"askSize":2,"market":"us_market","messageBoardId":"finmb_11129585","fullExchangeName":"NasdaqGS","longName":"HealthEquity, - Inc.","financialCurrency":"USD","regularMarketOpen":97.79,"averageDailyVolume3Month":582387,"averageDailyVolume10Day":755510,"fiftyTwoWeekLowChange":32.700005,"fiftyTwoWeekLowChangePercent":0.52657014,"fiftyTwoWeekRange":"62.1 - - 101.17","fiftyTwoWeekHighChange":-6.369995,"fiftyTwoWeekHighChangePercent":-0.062963285,"fiftyTwoWeekChangePercent":47.331272,"earningsTimestamp":1733778000,"earningsTimestampStart":1733778000,"earningsTimestampEnd":1733778000,"earningsCallTimestampStart":1733779800,"earningsCallTimestampEnd":1733779800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":83.1579,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":1.14,"epsForward":3.69,"epsCurrentYear":3.09,"priceEpsCurrentYear":30.679613,"sharesOutstanding":87324496,"bookValue":24.702,"fiftyDayAverage":83.998,"fiftyDayAverageChange":10.802002,"fiftyDayAverageChangePercent":0.12859832,"twoHundredDayAverage":80.61433,"twoHundredDayAverageChange":14.185677,"twoHundredDayAverageChangePercent":0.17596968,"marketCap":8278362624,"forwardPE":25.691057,"priceToBook":3.8377461,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":101.17,"fiftyTwoWeekLow":62.1,"shortName":"HealthEquity, - Inc.","averageAnalystRating":"1.6 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1406813400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"HealthEquity","symbol":"HQY"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-5.350015,"postMarketChangePercent":2.50712,"postMarketTime":1731536462,"postMarketPrice":89.95,"postMarketChange":2.2,"regularMarketChange":-4.959999,"regularMarketTime":1731531602,"regularMarketPrice":87.75,"regularMarketDayHigh":89.47,"regularMarketDayRange":"82.01 - - 89.47","regularMarketDayLow":82.01,"regularMarketVolume":3113059,"regularMarketPreviousClose":92.71,"bid":87.67,"ask":88.01,"bidSize":3,"askSize":5,"market":"us_market","messageBoardId":"finmb_24686","fullExchangeName":"NasdaqGS","longName":"Amdocs - Limited","financialCurrency":"USD","regularMarketOpen":85.265,"averageDailyVolume3Month":588923,"averageDailyVolume10Day":824750,"fiftyTwoWeekLowChange":13.339996,"fiftyTwoWeekLowChangePercent":0.17927693,"fiftyTwoWeekRange":"74.41 - - 94.04","fiftyTwoWeekHighChange":-6.290001,"fiftyTwoWeekHighChangePercent":-0.06688644,"fiftyTwoWeekChangePercent":6.699908,"dividendDate":1729814400,"earningsTimestamp":1731445260,"earningsTimestampStart":1738666740,"earningsTimestampEnd":1739188800,"earningsCallTimestampStart":1731448800,"earningsCallTimestampEnd":1731448800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":1.828,"trailingPE":21.298544,"dividendRate":1.92,"trailingAnnualDividendYield":0.019717397,"dividendYield":2.07,"marketState":"POSTPOST","epsTrailingTwelveMonths":4.12,"epsForward":7.03,"epsCurrentYear":6.44,"priceEpsCurrentYear":13.625776,"sharesOutstanding":115000000,"bookValue":30.689,"fiftyDayAverage":88.177,"fiftyDayAverageChange":-0.42700195,"fiftyDayAverageChangePercent":-0.0048425547,"twoHundredDayAverage":85.82395,"twoHundredDayAverageChange":1.9260483,"twoHundredDayAverageChangePercent":0.022441851,"marketCap":10091249664,"forwardPE":12.482219,"priceToBook":2.859331,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":94.04,"fiftyTwoWeekLow":74.41,"shortName":"Amdocs - Limited","averageAnalystRating":"1.7 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":898263000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Amdocs","symbol":"DOX"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-5.33854,"postMarketChangePercent":1.7881721,"postMarketTime":1731545943,"postMarketPrice":7.4,"postMarketChange":0.13000011,"regularMarketChange":-0.41,"regularMarketTime":1731531600,"regularMarketPrice":7.27,"regularMarketDayHigh":7.75,"regularMarketDayRange":"7.265 - - 7.75","regularMarketDayLow":7.265,"regularMarketVolume":6662460,"regularMarketPreviousClose":7.68,"bid":7.38,"ask":7.33,"bidSize":18,"askSize":22,"market":"us_market","messageBoardId":"finmb_23428489","fullExchangeName":"NYSE - American","longName":"Uranium Energy Corp.","financialCurrency":"USD","regularMarketOpen":7.73,"averageDailyVolume3Month":8326370,"averageDailyVolume10Day":7918730,"fiftyTwoWeekLowChange":3.21,"fiftyTwoWeekLowChangePercent":0.7906404,"fiftyTwoWeekRange":"4.06 - - 8.67","fiftyTwoWeekHighChange":-1.4000001,"fiftyTwoWeekHighChangePercent":-0.16147636,"fiftyTwoWeekChangePercent":18.019485,"earningsTimestamp":1727380800,"earningsTimestampStart":1733751000,"earningsTimestampEnd":1734096600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.07,"epsForward":0.23,"epsCurrentYear":0.0,"sharesOutstanding":411406016,"bookValue":1.896,"fiftyDayAverage":6.732,"fiftyDayAverageChange":0.5380001,"fiftyDayAverageChangePercent":0.079916835,"twoHundredDayAverage":6.5021,"twoHundredDayAverageChange":0.7679,"twoHundredDayAverageChangePercent":0.11810031,"marketCap":3159600128,"forwardPE":31.608694,"priceToBook":3.834388,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"ASE","fiftyTwoWeekHigh":8.67,"fiftyTwoWeekLow":4.06,"shortName":"Uranium - Energy Corp.","averageAnalystRating":"1.8 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1175779800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Uranium - Energy","symbol":"UEC"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-5.3076916,"postMarketChangePercent":0.189547,"postMarketTime":1731545961,"postMarketPrice":37.0,"postMarketChange":0.0699997,"regularMarketChange":-2.0699997,"regularMarketTime":1731531600,"regularMarketPrice":36.93,"regularMarketDayHigh":39.5,"regularMarketDayRange":"36.855 - - 39.5","regularMarketDayLow":36.855,"regularMarketVolume":822864,"regularMarketPreviousClose":39.0,"bid":27.72,"ask":37.03,"bidSize":1,"askSize":3,"market":"us_market","messageBoardId":"finmb_25217246","fullExchangeName":"NasdaqGM","longName":"Verona - Pharma plc","financialCurrency":"USD","regularMarketOpen":39.0,"averageDailyVolume3Month":1030209,"averageDailyVolume10Day":1337690,"fiftyTwoWeekLowChange":25.54,"fiftyTwoWeekLowChangePercent":2.242318,"fiftyTwoWeekRange":"11.39 - - 40.129","fiftyTwoWeekHighChange":-3.1990013,"fiftyTwoWeekHighChangePercent":-0.07971794,"fiftyTwoWeekChangePercent":184.87947,"earningsTimestamp":1730727000,"earningsTimestampStart":1730727000,"earningsTimestampEnd":1730727000,"earningsCallTimestampStart":1730728800,"earningsCallTimestampEnd":1730728800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-2.0,"epsForward":-0.28,"epsCurrentYear":-1.69,"priceEpsCurrentYear":-21.85207,"sharesOutstanding":81831200,"bookValue":1.595,"fiftyDayAverage":32.2307,"fiftyDayAverageChange":4.699299,"fiftyDayAverageChangePercent":0.14580195,"twoHundredDayAverage":21.326824,"twoHundredDayAverageChange":15.603176,"twoHundredDayAverageChangePercent":0.7316221,"marketCap":3022026240,"forwardPE":-131.89285,"priceToBook":23.153605,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NGM","fiftyTwoWeekHigh":40.129,"fiftyTwoWeekLow":11.39,"shortName":"Verona - Pharma plc","averageAnalystRating":"1.6 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1493386200000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Verona - Pharma","symbol":"VRNA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-5.2551055,"postMarketChangePercent":-0.430802,"postMarketTime":1731545479,"postMarketPrice":18.49,"postMarketChange":-0.0799999,"regularMarketChange":-1.0300007,"regularMarketTime":1731531600,"regularMarketPrice":18.57,"regularMarketDayHigh":20.0,"regularMarketDayRange":"18.42 - - 20.0","regularMarketDayLow":18.42,"regularMarketVolume":2077599,"regularMarketPreviousClose":19.6,"bid":15.92,"ask":21.33,"bidSize":3,"askSize":3,"market":"us_market","messageBoardId":"finmb_52034495","fullExchangeName":"NasdaqGS","financialCurrency":"USD","regularMarketOpen":19.43,"averageDailyVolume3Month":7495158,"averageDailyVolume10Day":6227600,"fiftyTwoWeekLowChange":4.4799995,"fiftyTwoWeekLowChangePercent":0.31795597,"fiftyTwoWeekRange":"14.09 - - 24.5","fiftyTwoWeekHighChange":-5.9300003,"fiftyTwoWeekHighChangePercent":-0.24204083,"fiftyTwoWeekChangePercent":-1.9999981,"earningsTimestamp":1730373096,"earningsTimestampStart":1739444340,"earningsTimestampEnd":1739793600,"earningsCallTimestampStart":1730379600,"earningsCallTimestampEnd":1730379600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.01,"sharesOutstanding":166072992,"bookValue":14.416,"fiftyDayAverage":20.250587,"fiftyDayAverageChange":-1.6805878,"fiftyDayAverageChangePercent":-0.08298958,"twoHundredDayAverage":20.250587,"twoHundredDayAverageChange":-1.6805878,"twoHundredDayAverageChangePercent":-0.08298958,"marketCap":3954723072,"priceToBook":1.288152,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Yandex - N.V.","nameChangeDate":"2024-11-08","exchange":"NMS","fiftyTwoWeekHigh":24.5,"fiftyTwoWeekLow":14.09,"shortName":"Nebius - Group N.V.","averageAnalystRating":"2.0 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1729517400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Nebius","symbol":"NBIS"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-5.20805,"postMarketChangePercent":0.14534883,"postMarketTime":1731546000,"postMarketPrice":172.25,"postMarketChange":0.25,"regularMarketChange":-9.45,"regularMarketTime":1731531602,"regularMarketPrice":172.0,"regularMarketDayHigh":182.351,"regularMarketDayRange":"171.64 - - 182.351","regularMarketDayLow":171.64,"regularMarketVolume":2272040,"regularMarketPreviousClose":181.45,"bid":171.76,"ask":172.32,"bidSize":10,"askSize":8,"market":"us_market","messageBoardId":"finmb_160233","fullExchangeName":"NYSE","longName":"Booz - Allen Hamilton Holding Corporation","financialCurrency":"USD","regularMarketOpen":182.3,"averageDailyVolume3Month":833109,"averageDailyVolume10Day":1425360,"fiftyTwoWeekLowChange":48.83,"fiftyTwoWeekLowChangePercent":0.39644396,"fiftyTwoWeekRange":"123.17 - - 190.59","fiftyTwoWeekHighChange":-18.589996,"fiftyTwoWeekHighChangePercent":-0.0975392,"fiftyTwoWeekChangePercent":34.553707,"dividendDate":1733270400,"earningsTimestamp":1729853100,"earningsTimestampStart":1737725400,"earningsTimestampEnd":1738071000,"earningsCallTimestampStart":1729857600,"earningsCallTimestampEnd":1729857600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":2.0,"trailingPE":27.086615,"dividendRate":2.04,"trailingAnnualDividendYield":0.01102232,"dividendYield":1.12,"marketState":"POSTPOST","epsTrailingTwelveMonths":6.35,"epsForward":6.99,"epsCurrentYear":6.28,"priceEpsCurrentYear":27.388535,"sharesOutstanding":127773000,"bookValue":9.388,"fiftyDayAverage":165.7308,"fiftyDayAverageChange":6.2691956,"fiftyDayAverageChangePercent":0.03782758,"twoHundredDayAverage":153.4953,"twoHundredDayAverageChange":18.5047,"twoHundredDayAverageChangePercent":0.12055548,"marketCap":21976956928,"forwardPE":24.60658,"priceToBook":18.321262,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":190.59,"fiftyTwoWeekLow":123.17,"shortName":"Booz - Allen Hamilton Holding Cor","averageAnalystRating":"2.5 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1290090600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Booz - Allen Hamilton Holding","symbol":"BAH"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-5.16923,"postMarketChangePercent":-1.36275,"postMarketTime":1731543554,"postMarketPrice":30.4,"postMarketChange":-0.42,"regularMarketChange":-1.68,"regularMarketTime":1731531602,"regularMarketPrice":30.82,"regularMarketDayHigh":32.399,"regularMarketDayRange":"30.76 - - 32.399","regularMarketDayLow":30.76,"regularMarketVolume":1327024,"regularMarketPreviousClose":32.5,"bid":29.75,"ask":33.01,"bidSize":8,"askSize":11,"market":"us_market","messageBoardId":"finmb_642230","fullExchangeName":"NYSE","longName":"Calix, - Inc.","financialCurrency":"USD","regularMarketOpen":32.3,"averageDailyVolume3Month":506596,"averageDailyVolume10Day":820330,"fiftyTwoWeekLowChange":4.0599995,"fiftyTwoWeekLowChangePercent":0.15171896,"fiftyTwoWeekRange":"26.76 - - 45.15","fiftyTwoWeekHighChange":-14.330002,"fiftyTwoWeekHighChangePercent":-0.3173865,"fiftyTwoWeekChangePercent":-16.363638,"earningsTimestamp":1730146200,"earningsTimestampStart":1737975540,"earningsTimestampEnd":1738324800,"earningsCallTimestampStart":1730205000,"earningsCallTimestampEnd":1730205000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.27,"epsForward":0.68,"epsCurrentYear":0.51,"priceEpsCurrentYear":60.431374,"sharesOutstanding":66316000,"bookValue":11.742,"fiftyDayAverage":36.876,"fiftyDayAverageChange":-6.0559998,"fiftyDayAverageChangePercent":-0.16422606,"twoHundredDayAverage":34.84255,"twoHundredDayAverageChange":-4.0225487,"twoHundredDayAverageChangePercent":-0.115449324,"marketCap":2155270144,"forwardPE":45.32353,"priceToBook":2.6247659,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":45.15,"fiftyTwoWeekLow":26.76,"shortName":"Calix, - Inc","averageAnalystRating":"2.3 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1269437400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Calix","symbol":"CALX"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-5.16899,"postMarketChangePercent":1.1530362,"postMarketTime":1731545847,"postMarketPrice":9.65,"postMarketChange":0.10999966,"regularMarketChange":-0.52,"regularMarketTime":1731531602,"regularMarketPrice":9.54,"regularMarketDayHigh":10.185,"regularMarketDayRange":"9.51 - - 10.185","regularMarketDayLow":9.51,"regularMarketVolume":8869606,"regularMarketPreviousClose":10.06,"bid":9.57,"ask":9.52,"bidSize":10,"askSize":30,"market":"us_market","messageBoardId":"finmb_113921345","fullExchangeName":"NYSE","longName":"TAL - Education Group","financialCurrency":"USD","regularMarketOpen":10.17,"averageDailyVolume3Month":7583631,"averageDailyVolume10Day":6004990,"fiftyTwoWeekLowChange":2.19,"fiftyTwoWeekLowChangePercent":0.2979592,"fiftyTwoWeekRange":"7.35 - - 15.52","fiftyTwoWeekHighChange":-5.9800005,"fiftyTwoWeekHighChangePercent":-0.3853093,"fiftyTwoWeekChangePercent":0.4210472,"dividendDate":1495670400,"earningsTimestamp":1729760405,"earningsTimestampStart":1737639000,"earningsTimestampEnd":1737984600,"earningsCallTimestampStart":1729771200,"earningsCallTimestampEnd":1729771200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":86.72727,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.11,"epsForward":0.49,"epsCurrentYear":0.29,"priceEpsCurrentYear":32.896553,"sharesOutstanding":458143008,"bookValue":6.208,"fiftyDayAverage":10.0468,"fiftyDayAverageChange":-0.5067997,"fiftyDayAverageChangePercent":-0.050443895,"twoHundredDayAverage":11.05845,"twoHundredDayAverageChange":-1.5184498,"twoHundredDayAverageChangePercent":-0.13731126,"marketCap":6079088128,"forwardPE":19.469387,"priceToBook":1.5367267,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":15.52,"fiftyTwoWeekLow":7.35,"shortName":"TAL - Education Group","averageAnalystRating":"1.7 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1287581400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"TAL - Education","symbol":"TAL"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-5.15365,"postMarketChangePercent":0.7087445,"postMarketTime":1731543526,"postMarketPrice":29.84,"postMarketChange":0.21000099,"regularMarketChange":-1.61,"regularMarketTime":1731531704,"regularMarketPrice":29.63,"regularMarketDayHigh":31.49,"regularMarketDayRange":"29.4 - - 31.49","regularMarketDayLow":29.4,"regularMarketVolume":1693242,"regularMarketPreviousClose":31.24,"bid":29.61,"ask":31.25,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_145132373","fullExchangeName":"NYSE","longName":"Amentum - Holdings, Inc.","financialCurrency":"USD","regularMarketOpen":31.36,"averageDailyVolume3Month":2720230,"averageDailyVolume10Day":1089440,"fiftyTwoWeekLowChange":6.049999,"fiftyTwoWeekLowChangePercent":0.25657335,"fiftyTwoWeekRange":"23.58 - - 34.5","fiftyTwoWeekHighChange":-4.870001,"fiftyTwoWeekHighChangePercent":-0.14115945,"fiftyTwoWeekChangePercent":5.862415,"trailingAnnualDividendRate":0.0,"trailingPE":18.63522,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":1.59,"sharesOutstanding":243302000,"fiftyDayAverage":28.810278,"fiftyDayAverageChange":0.8197212,"fiftyDayAverageChangePercent":0.028452389,"twoHundredDayAverage":28.810278,"twoHundredDayAverageChange":0.8197212,"twoHundredDayAverageChangePercent":0.028452389,"marketCap":7209037824,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Amentum - Services, Inc.","nameChangeDate":"2024-11-08","exchange":"NYQ","fiftyTwoWeekHigh":34.5,"fiftyTwoWeekLow":23.58,"shortName":"Amentum - Holdings, Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1727184600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Amentum","symbol":"AMTM"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-5.078309,"postMarketChangePercent":0.500002,"postMarketTime":1731541801,"postMarketPrice":40.2,"postMarketChange":0.200001,"regularMarketChange":-2.1399994,"regularMarketTime":1731531601,"regularMarketPrice":40.0,"regularMarketDayHigh":42.63,"regularMarketDayRange":"39.96 - - 42.63","regularMarketDayLow":39.96,"regularMarketVolume":674786,"regularMarketPreviousClose":42.14,"bid":35.13,"ask":46.08,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_28648","fullExchangeName":"NasdaqGS","longName":"FormFactor, - Inc.","financialCurrency":"USD","regularMarketOpen":41.9,"averageDailyVolume3Month":613332,"averageDailyVolume10Day":984920,"fiftyTwoWeekLowChange":3.8899994,"fiftyTwoWeekLowChangePercent":0.10772637,"fiftyTwoWeekRange":"36.11 - - 63.63","fiftyTwoWeekHighChange":-23.630001,"fiftyTwoWeekHighChangePercent":-0.37136573,"fiftyTwoWeekChangePercent":3.439355,"earningsTimestamp":1730318460,"earningsTimestampStart":1738800000,"earningsTimestampEnd":1739232000,"earningsCallTimestampStart":1730319900,"earningsCallTimestampEnd":1730319900,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":23.121387,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":1.73,"epsForward":1.67,"epsCurrentYear":1.17,"priceEpsCurrentYear":34.188034,"sharesOutstanding":77450600,"bookValue":12.331,"fiftyDayAverage":43.7168,"fiftyDayAverageChange":-3.7168007,"fiftyDayAverageChangePercent":-0.08501996,"twoHundredDayAverage":48.0354,"twoHundredDayAverageChange":-8.0354,"twoHundredDayAverageChangePercent":-0.16728081,"marketCap":3098023936,"forwardPE":23.952097,"priceToBook":3.243857,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":63.63,"fiftyTwoWeekLow":36.11,"shortName":"FormFactor, - Inc.","averageAnalystRating":"2.5 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1055424600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"FormFactor","symbol":"FORM"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-5.0541487,"postMarketChangePercent":0.587626,"postMarketTime":1731545996,"postMarketPrice":29.1,"postMarketChange":0.17,"regularMarketChange":-1.539999,"regularMarketTime":1731531601,"regularMarketPrice":28.93,"regularMarketDayHigh":31.22,"regularMarketDayRange":"28.8 - - 31.22","regularMarketDayLow":28.8,"regularMarketVolume":20649763,"regularMarketPreviousClose":30.47,"bid":28.91,"ask":32.0,"bidSize":1,"askSize":34,"market":"us_market","messageBoardId":"finmb_1685761306","fullExchangeName":"NasdaqGM","longName":"Trump - Media & Technology Group Corp.","financialCurrency":"USD","regularMarketOpen":30.965,"averageDailyVolume3Month":38474068,"averageDailyVolume10Day":102594080,"fiftyTwoWeekLowChange":17.18,"fiftyTwoWeekLowChangePercent":1.4621277,"fiftyTwoWeekRange":"11.75 - - 79.38","fiftyTwoWeekHighChange":-50.449997,"fiftyTwoWeekHighChangePercent":-0.6355505,"fiftyTwoWeekChangePercent":82.67386,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.4,"sharesOutstanding":216924000,"bookValue":3.809,"fiftyDayAverage":24.6121,"fiftyDayAverageChange":4.3178997,"fiftyDayAverageChangePercent":0.17543808,"twoHundredDayAverage":34.9704,"twoHundredDayAverageChange":-6.0404015,"twoHundredDayAverageChangePercent":-0.17272897,"marketCap":6610042368,"priceToBook":7.5951695,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2024-03-26","prevName":"Digital - World Acquisition Corp.","nameChangeDate":"2024-11-08","exchange":"NGM","fiftyTwoWeekHigh":79.38,"fiftyTwoWeekLow":11.75,"shortName":"Trump - Media & Technology Group ","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1633008600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Trump - Media & Technology","symbol":"DJT"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-5.0501947,"postMarketChangePercent":0.0,"postMarketTime":1731536591,"postMarketPrice":92.69,"postMarketChange":0.0,"regularMarketChange":-4.9300003,"regularMarketTime":1731531602,"regularMarketPrice":92.69,"regularMarketDayHigh":94.93,"regularMarketDayRange":"90.0 - - 94.93","regularMarketDayLow":90.0,"regularMarketVolume":4306062,"regularMarketPreviousClose":97.62,"bid":92.56,"ask":100.81,"bidSize":6,"askSize":1,"market":"us_market","messageBoardId":"finmb_263559030","fullExchangeName":"NasdaqGS","longName":"Liberty - Broadband Corporation","financialCurrency":"USD","regularMarketOpen":93.64,"averageDailyVolume3Month":1104374,"averageDailyVolume10Day":1566980,"fiftyTwoWeekLowChange":46.230003,"fiftyTwoWeekLowChangePercent":0.9950496,"fiftyTwoWeekRange":"46.46 - - 101.5","fiftyTwoWeekHighChange":-8.809998,"fiftyTwoWeekHighChangePercent":-0.086798005,"fiftyTwoWeekChangePercent":16.672647,"earningsTimestamp":1730985300,"earningsTimestampStart":1730985300,"earningsTimestampEnd":1730985300,"earningsCallTimestampStart":1730996100,"earningsCallTimestampEnd":1730996100,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":17.069983,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":5.43,"epsForward":8.86,"epsCurrentYear":6.41226,"priceEpsCurrentYear":14.455122,"sharesOutstanding":122589000,"bookValue":66.644,"fiftyDayAverage":76.722,"fiftyDayAverageChange":15.968002,"fiftyDayAverageChangePercent":0.20812808,"twoHundredDayAverage":61.78555,"twoHundredDayAverageChange":30.904453,"twoHundredDayAverageChangePercent":0.500189,"marketCap":13225565184,"forwardPE":10.461626,"priceToBook":1.390823,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":101.5,"fiftyTwoWeekLow":46.46,"shortName":"Liberty - Broadband Corporation","averageAnalystRating":"2.2 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1415197800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"LBRDK"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-5.04133,"postMarketChangePercent":2.001745,"postMarketTime":1731545681,"postMarketPrice":11.72,"postMarketChange":0.2300005,"regularMarketChange":-0.610001,"regularMarketTime":1731531602,"regularMarketPrice":11.49,"regularMarketDayHigh":12.45,"regularMarketDayRange":"11.47 - - 12.45","regularMarketDayLow":11.47,"regularMarketVolume":2029256,"regularMarketPreviousClose":12.1,"bid":11.49,"ask":12.21,"bidSize":10,"askSize":8,"market":"us_market","messageBoardId":"finmb_679030261","fullExchangeName":"NYSE","longName":"Rush - Street Interactive, Inc.","financialCurrency":"USD","regularMarketOpen":12.3,"averageDailyVolume3Month":1886477,"averageDailyVolume10Day":3724910,"fiftyTwoWeekLowChange":7.93,"fiftyTwoWeekLowChangePercent":2.227528,"fiftyTwoWeekRange":"3.56 - - 12.45","fiftyTwoWeekHighChange":-0.96000004,"fiftyTwoWeekHighChangePercent":-0.077108435,"fiftyTwoWeekChangePercent":162.47289,"earningsTimestamp":1730320276,"earningsTimestampStart":1730320276,"earningsTimestampEnd":1730320276,"earningsCallTimestampStart":1730325600,"earningsCallTimestampEnd":1730325600,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.02,"epsForward":0.36,"epsCurrentYear":0.18,"priceEpsCurrentYear":63.83333,"sharesOutstanding":88607000,"bookValue":0.743,"fiftyDayAverage":10.55,"fiftyDayAverageChange":0.9399996,"fiftyDayAverageChangePercent":0.08909948,"twoHundredDayAverage":8.5095,"twoHundredDayAverageChange":2.9805002,"twoHundredDayAverageChangePercent":0.35025564,"marketCap":2593246976,"forwardPE":31.916664,"priceToBook":15.4643345,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Rush - Street Interactive, LP","nameChangeDate":"2024-11-08","exchange":"NYQ","fiftyTwoWeekHigh":12.45,"fiftyTwoWeekLow":3.56,"shortName":"Rush - Street Interactive, Inc.","averageAnalystRating":"2.0 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1587994200000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Rush - Street Interactive","symbol":"RSI"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.9486156,"postMarketChangePercent":0.0,"postMarketTime":1731532800,"postMarketPrice":35.15,"postMarketChange":0.0,"regularMarketChange":-1.829998,"regularMarketTime":1731531601,"regularMarketPrice":35.15,"regularMarketDayHigh":38.01,"regularMarketDayRange":"35.06 - - 38.01","regularMarketDayLow":35.06,"regularMarketVolume":404172,"regularMarketPreviousClose":36.98,"bid":34.9,"ask":35.44,"bidSize":4,"askSize":4,"market":"us_market","messageBoardId":"finmb_115902660","fullExchangeName":"NasdaqGS","longName":"CG - Oncology, Inc.","financialCurrency":"USD","regularMarketOpen":37.45,"averageDailyVolume3Month":649465,"averageDailyVolume10Day":394070,"fiftyTwoWeekLowChange":9.380001,"fiftyTwoWeekLowChangePercent":0.36398917,"fiftyTwoWeekRange":"25.77 - - 50.23","fiftyTwoWeekHighChange":-15.079998,"fiftyTwoWeekHighChangePercent":-0.30021897,"fiftyTwoWeekChangePercent":-0.5111635,"earningsTimestamp":1731416400,"earningsTimestampStart":1731416400,"earningsTimestampEnd":1731416400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-1.08,"epsForward":-1.78,"epsCurrentYear":-1.39,"priceEpsCurrentYear":-25.287771,"sharesOutstanding":67077000,"bookValue":-23.572,"fiftyDayAverage":36.8706,"fiftyDayAverageChange":-1.7206001,"fiftyDayAverageChangePercent":-0.046665907,"twoHundredDayAverage":36.4689,"twoHundredDayAverageChange":-1.3188972,"twoHundredDayAverageChangePercent":-0.036164988,"marketCap":2480507392,"forwardPE":-19.747192,"priceToBook":-1.491176,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2024-01-25","exchange":"NMS","fiftyTwoWeekHigh":50.23,"fiftyTwoWeekLow":25.77,"shortName":"CG - Oncology, Inc.","averageAnalystRating":"1.9 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1706193000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"CG - Oncology","symbol":"CGON"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-4.93537,"postMarketChangePercent":5.56242,"postMarketTime":1731545911,"postMarketPrice":8.54,"postMarketChange":0.45,"regularMarketChange":-0.42,"regularMarketTime":1731531602,"regularMarketPrice":8.09,"regularMarketDayHigh":8.54,"regularMarketDayRange":"8.06 - - 8.54","regularMarketDayLow":8.06,"regularMarketVolume":6797289,"regularMarketPreviousClose":8.51,"bid":8.53,"ask":8.49,"bidSize":40,"askSize":30,"market":"us_market","messageBoardId":"finmb_547797906","fullExchangeName":"NYSE","longName":"PagSeguro - Digital Ltd.","financialCurrency":"BRL","regularMarketOpen":8.49,"averageDailyVolume3Month":6067614,"averageDailyVolume10Day":4577620,"fiftyTwoWeekLowChange":0.19500017,"fiftyTwoWeekLowChangePercent":0.024699198,"fiftyTwoWeekRange":"7.895 - - 14.98","fiftyTwoWeekHighChange":-6.8899994,"fiftyTwoWeekHighChangePercent":-0.45994657,"fiftyTwoWeekChangePercent":-1.5046299,"earningsTimestamp":1731531600,"earningsTimestampStart":1731531600,"earningsTimestampEnd":1731531600,"earningsCallTimestampStart":1731535200,"earningsCallTimestampEnd":1731535200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":8.340206,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.97,"epsForward":1.28,"epsCurrentYear":1.16,"priceEpsCurrentYear":6.9741383,"sharesOutstanding":198610000,"bookValue":44.874,"fiftyDayAverage":8.6232,"fiftyDayAverageChange":-0.53320026,"fiftyDayAverageChangePercent":-0.06183322,"twoHundredDayAverage":11.68585,"twoHundredDayAverageChange":-3.59585,"twoHundredDayAverageChangePercent":-0.30770975,"marketCap":2715279104,"forwardPE":6.320313,"priceToBook":0.18028256,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":14.98,"fiftyTwoWeekLow":7.895,"shortName":"PagSeguro - Digital Ltd.","averageAnalystRating":"2.1 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1516804200000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"PagSeguro - Digital","symbol":"PAGS"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-4.8170424,"postMarketChangePercent":0.337898,"postMarketTime":1731545387,"postMarketPrice":267.26,"postMarketChange":0.900024,"regularMarketChange":-13.480011,"regularMarketTime":1731531601,"regularMarketPrice":266.36,"regularMarketDayHigh":286.7923,"regularMarketDayRange":"265.0 - - 286.7923","regularMarketDayLow":265.0,"regularMarketVolume":138336,"regularMarketPreviousClose":279.84,"bid":265.32,"ask":266.86,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_377023","fullExchangeName":"NasdaqGM","longName":"IES - Holdings, Inc.","financialCurrency":"USD","regularMarketOpen":281.24,"averageDailyVolume3Month":129867,"averageDailyVolume10Day":141450,"fiftyTwoWeekLowChange":201.85999,"fiftyTwoWeekLowChangePercent":3.1296122,"fiftyTwoWeekRange":"64.5 - - 297.07","fiftyTwoWeekHighChange":-30.710022,"fiftyTwoWeekHighChangePercent":-0.10337638,"fiftyTwoWeekChangePercent":311.74835,"earningsTimestampStart":1733405400,"earningsTimestampEnd":1733751000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":32.883945,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":8.1,"sharesOutstanding":19978200,"bookValue":28.255,"fiftyDayAverage":207.8626,"fiftyDayAverageChange":58.49739,"fiftyDayAverageChangePercent":0.28142336,"twoHundredDayAverage":153.89384,"twoHundredDayAverageChange":112.46614,"twoHundredDayAverageChangePercent":0.7308034,"marketCap":5321393152,"priceToBook":9.427004,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NGM","fiftyTwoWeekHigh":297.07,"fiftyTwoWeekLow":64.5,"shortName":"IES - Holdings, Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":885997800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"IES","symbol":"IESC"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.8098636,"postMarketChangePercent":0.200658,"postMarketTime":1731545991,"postMarketPrice":54.93,"postMarketChange":0.110001,"regularMarketChange":-2.7700005,"regularMarketTime":1731531602,"regularMarketPrice":54.82,"regularMarketDayHigh":59.26,"regularMarketDayRange":"53.84 - - 59.26","regularMarketDayLow":53.84,"regularMarketVolume":12649202,"regularMarketPreviousClose":57.59,"bid":54.68,"ask":54.94,"bidSize":10,"askSize":15,"market":"us_market","messageBoardId":"finmb_695381746","fullExchangeName":"NasdaqGS","longName":"Affirm - Holdings, Inc.","financialCurrency":"USD","regularMarketOpen":58.44,"averageDailyVolume3Month":11200695,"averageDailyVolume10Day":14741380,"fiftyTwoWeekLowChange":32.57,"fiftyTwoWeekLowChangePercent":1.4638202,"fiftyTwoWeekRange":"22.25 - - 59.26","fiftyTwoWeekHighChange":-4.4399986,"fiftyTwoWeekHighChangePercent":-0.074924044,"fiftyTwoWeekChangePercent":134.67807,"earningsTimestamp":1731013200,"earningsTimestampStart":1738875600,"earningsTimestampEnd":1739221200,"earningsCallTimestampStart":1731016800,"earningsCallTimestampEnd":1731016800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-1.34,"epsForward":0.47,"epsCurrentYear":-0.51,"priceEpsCurrentYear":-107.4902,"sharesOutstanding":271918016,"bookValue":9.031,"fiftyDayAverage":43.5679,"fiftyDayAverageChange":11.252098,"fiftyDayAverageChangePercent":0.2582658,"twoHundredDayAverage":35.745125,"twoHundredDayAverageChange":19.074875,"twoHundredDayAverageChangePercent":0.5336357,"marketCap":17216548864,"forwardPE":116.6383,"priceToBook":6.0702024,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-01-13","exchange":"NMS","fiftyTwoWeekHigh":59.26,"fiftyTwoWeekLow":22.25,"shortName":"Affirm - Holdings, Inc.","averageAnalystRating":"2.4 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1610548200000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Affirm","symbol":"AFRM"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-4.76114,"postMarketChangePercent":0.8112486,"postMarketTime":1731545816,"postMarketPrice":237.35,"postMarketChange":1.9100037,"regularMarketChange":-11.77,"regularMarketTime":1731531602,"regularMarketPrice":235.44,"regularMarketDayHigh":247.7325,"regularMarketDayRange":"235.355 - - 247.7325","regularMarketDayLow":235.355,"regularMarketVolume":773714,"regularMarketPreviousClose":247.21,"bid":227.0,"ask":235.43,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_340196","fullExchangeName":"NYSE","longName":"ResMed - Inc.","financialCurrency":"USD","regularMarketOpen":246.41,"averageDailyVolume3Month":1018596,"averageDailyVolume10Day":977930,"fiftyTwoWeekLowChange":88.05,"fiftyTwoWeekLowChangePercent":0.5973947,"fiftyTwoWeekRange":"147.39 - - 260.49","fiftyTwoWeekHighChange":-25.049988,"fiftyTwoWeekHighChangePercent":-0.096164875,"fiftyTwoWeekChangePercent":58.11955,"dividendDate":1733961600,"earningsTimestamp":1729800300,"earningsTimestampStart":1737543540,"earningsTimestampEnd":1737979200,"earningsCallTimestampStart":1729801800,"earningsCallTimestampEnd":1729801800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":1.97,"trailingPE":31.225464,"dividendRate":2.12,"trailingAnnualDividendYield":0.007968933,"dividendYield":0.86,"marketState":"POSTPOST","epsTrailingTwelveMonths":7.54,"epsForward":10.29,"epsCurrentYear":9.36,"priceEpsCurrentYear":25.153847,"sharesOutstanding":146796000,"bookValue":35.394,"fiftyDayAverage":243.309,"fiftyDayAverageChange":-7.8690033,"fiftyDayAverageChangePercent":-0.032341603,"twoHundredDayAverage":212.366,"twoHundredDayAverageChange":23.074005,"twoHundredDayAverageChangePercent":0.10865207,"marketCap":36289310720,"forwardPE":22.880466,"priceToBook":6.6519747,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":260.49,"fiftyTwoWeekLow":147.39,"shortName":"ResMed - Inc.","averageAnalystRating":"2.3 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":802099800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"ResMed","symbol":"RMD"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.7177124,"postMarketChangePercent":0.680505,"postMarketTime":1731535997,"postMarketPrice":85.81,"postMarketChange":0.579994,"regularMarketChange":-4.2199936,"regularMarketTime":1731531601,"regularMarketPrice":85.23,"regularMarketDayHigh":89.77,"regularMarketDayRange":"85.21 - - 89.77","regularMarketDayLow":85.21,"regularMarketVolume":1191619,"regularMarketPreviousClose":89.45,"bid":85.11,"ask":85.39,"bidSize":2,"askSize":1,"market":"us_market","messageBoardId":"finmb_553033","fullExchangeName":"NasdaqGS","longName":"Weatherford - International plc","financialCurrency":"USD","regularMarketOpen":89.37,"averageDailyVolume3Month":975696,"averageDailyVolume10Day":945350,"fiftyTwoWeekLowChange":8.230003,"fiftyTwoWeekLowChangePercent":0.10688316,"fiftyTwoWeekRange":"77.0 - - 135.0","fiftyTwoWeekHighChange":-49.769997,"fiftyTwoWeekHighChangePercent":-0.36866665,"fiftyTwoWeekChangePercent":-2.7294457,"dividendDate":1733356800,"earningsTimestamp":1729629000,"earningsTimestampStart":1738702800,"earningsTimestampEnd":1739221200,"earningsCallTimestampStart":1729686600,"earningsCallTimestampEnd":1729686600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.25,"trailingPE":12.515419,"dividendRate":1.0,"trailingAnnualDividendYield":0.0027948576,"dividendYield":1.12,"marketState":"POSTPOST","epsTrailingTwelveMonths":6.81,"epsForward":7.91,"epsCurrentYear":6.94,"priceEpsCurrentYear":12.28098,"sharesOutstanding":72652000,"bookValue":18.501,"fiftyDayAverage":88.1602,"fiftyDayAverageChange":-2.9301987,"fiftyDayAverageChangePercent":-0.033237204,"twoHundredDayAverage":107.44685,"twoHundredDayAverageChange":-22.21685,"twoHundredDayAverageChangePercent":-0.2067706,"marketCap":6500245504,"forwardPE":10.774969,"priceToBook":4.606778,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-06-02","exchange":"NMS","fiftyTwoWeekHigh":135.0,"fiftyTwoWeekLow":77.0,"shortName":"Weatherford - International plc","averageAnalystRating":"1.6 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1609770600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Weatherford","symbol":"WFRD"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-4.717289,"regularMarketChange":-1.460001,"regularMarketTime":1731531563,"regularMarketPrice":29.49,"regularMarketDayHigh":30.1,"regularMarketDayRange":"29.26 - - 30.1","regularMarketDayLow":29.26,"regularMarketVolume":383880,"regularMarketPreviousClose":30.95,"bid":29.46,"ask":29.5,"bidSize":400,"askSize":400,"market":"us_market","messageBoardId":"finmb_23013","fullExchangeName":"OTC - Markets OTCPK","longName":"SoftBank Group Corp.","financialCurrency":"JPY","regularMarketOpen":30.0,"averageDailyVolume3Month":454137,"averageDailyVolume10Day":593610,"fiftyTwoWeekLowChange":10.25,"fiftyTwoWeekLowChangePercent":0.5327443,"fiftyTwoWeekRange":"19.24 - - 37.19","fiftyTwoWeekHighChange":-7.699999,"fiftyTwoWeekHighChangePercent":-0.20704488,"fiftyTwoWeekChangePercent":47.032417,"dividendDate":1577059200,"earningsTimestamp":1731393000,"earningsTimestampStart":1738821600,"earningsTimestampEnd":1739167200,"earningsCallTimestampStart":1731409140,"earningsCallTimestampEnd":1731409140,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":44.0,"trailingPE":245.75,"dividendRate":0.15,"trailingAnnualDividendYield":1.4216478,"dividendYield":0.47,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.12,"sharesOutstanding":2889400064,"bookValue":7293.003,"fiftyDayAverage":29.73,"fiftyDayAverageChange":-0.23999977,"fiftyDayAverageChangePercent":-0.008072646,"twoHundredDayAverage":28.99485,"twoHundredDayAverageChange":0.4951496,"twoHundredDayAverageChangePercent":0.017077157,"marketCap":88578523136,"priceToBook":0.004043602,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"PNK","fiftyTwoWeekHigh":37.19,"fiftyTwoWeekLow":19.24,"shortName":"Softbank - Group Corp","hasPrePostMarketData":false,"firstTradeDateMilliseconds":1297866600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"SFTBY"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-4.71454,"postMarketChangePercent":-0.07731139,"postMarketTime":1731545400,"postMarketPrice":25.85,"postMarketChange":-0.020000458,"regularMarketChange":-1.28,"regularMarketTime":1731531602,"regularMarketPrice":25.87,"regularMarketDayHigh":26.21,"regularMarketDayRange":"25.695 - - 26.21","regularMarketDayLow":25.695,"regularMarketVolume":4990316,"regularMarketPreviousClose":27.15,"bid":25.88,"ask":25.94,"bidSize":32,"askSize":32,"market":"us_market","messageBoardId":"finmb_138644","fullExchangeName":"NYSE","longName":"STMicroelectronics - N.V.","financialCurrency":"USD","regularMarketOpen":26.09,"averageDailyVolume3Month":4798817,"averageDailyVolume10Day":5750500,"fiftyTwoWeekLowChange":0.17500114,"fiftyTwoWeekLowChangePercent":0.006810708,"fiftyTwoWeekRange":"25.695 - - 51.27","fiftyTwoWeekHighChange":-25.4,"fiftyTwoWeekHighChangePercent":-0.4954164,"fiftyTwoWeekChangePercent":-42.967373,"dividendDate":1735257600,"earningsTimestamp":1730354400,"earningsTimestampStart":1737617400,"earningsTimestampEnd":1737963000,"earningsCallTimestampStart":1730363400,"earningsCallTimestampEnd":1730363400,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.36,"trailingPE":11.150863,"dividendRate":0.36,"trailingAnnualDividendYield":0.013259669,"dividendYield":1.33,"marketState":"POSTPOST","epsTrailingTwelveMonths":2.32,"epsForward":1.39,"epsCurrentYear":1.66,"priceEpsCurrentYear":15.584338,"sharesOutstanding":899718976,"bookValue":19.482,"fiftyDayAverage":27.96,"fiftyDayAverageChange":-2.0899982,"fiftyDayAverageChangePercent":-0.07474958,"twoHundredDayAverage":37.33915,"twoHundredDayAverageChange":-11.469149,"twoHundredDayAverageChangePercent":-0.30716148,"marketCap":24345145344,"forwardPE":18.611511,"priceToBook":1.3278924,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":51.27,"fiftyTwoWeekLow":25.695,"shortName":"STMicroelectronics - N.V.","averageAnalystRating":"2.1 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":786897000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"STMicroelectronics","symbol":"STM"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.674072,"postMarketChangePercent":0.923487,"postMarketTime":1731533249,"postMarketPrice":45.9,"postMarketChange":0.420002,"regularMarketChange":-2.2299995,"regularMarketTime":1731531601,"regularMarketPrice":45.48,"regularMarketDayHigh":47.99,"regularMarketDayRange":"45.385 - - 47.99","regularMarketDayLow":45.385,"regularMarketVolume":412399,"regularMarketPreviousClose":47.71,"bid":45.28,"ask":45.57,"bidSize":4,"askSize":1,"market":"us_market","messageBoardId":"finmb_2003650","fullExchangeName":"NasdaqGS","longName":"Amphastar - Pharmaceuticals, Inc.","financialCurrency":"USD","regularMarketOpen":47.695,"averageDailyVolume3Month":347079,"averageDailyVolume10Day":466530,"fiftyTwoWeekLowChange":8.919998,"fiftyTwoWeekLowChangePercent":0.24398243,"fiftyTwoWeekRange":"36.56 - - 65.92","fiftyTwoWeekHighChange":-20.439999,"fiftyTwoWeekHighChangePercent":-0.3100728,"fiftyTwoWeekChangePercent":-15.06142,"earningsTimestamp":1730926800,"earningsTimestampStart":1730926800,"earningsTimestampEnd":1730926800,"earningsCallTimestampStart":1730930400,"earningsCallTimestampEnd":1730930400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":15.84669,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":2.87,"epsForward":4.37,"epsCurrentYear":3.96,"priceEpsCurrentYear":11.484848,"sharesOutstanding":48081400,"bookValue":15.043,"fiftyDayAverage":48.4488,"fiftyDayAverageChange":-2.9687996,"fiftyDayAverageChangePercent":-0.06127705,"twoHundredDayAverage":45.05785,"twoHundredDayAverageChange":0.42214966,"twoHundredDayAverageChangePercent":0.0093690595,"marketCap":2186742016,"forwardPE":10.407323,"priceToBook":3.023333,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":65.92,"fiftyTwoWeekLow":36.56,"shortName":"Amphastar - Pharmaceuticals, Inc.","averageAnalystRating":"2.2 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1403703000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Amphastar - Pharmaceuticals","symbol":"AMPH"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.671831,"postMarketChangePercent":-0.24938,"postMarketTime":1731535974,"postMarketPrice":92.0,"postMarketChange":-0.230003,"regularMarketChange":-4.5199966,"regularMarketTime":1731531601,"regularMarketPrice":92.23,"regularMarketDayHigh":94.35,"regularMarketDayRange":"89.34 - - 94.35","regularMarketDayLow":89.34,"regularMarketVolume":566312,"regularMarketPreviousClose":96.75,"bid":92.07,"ask":93.28,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_263559030","fullExchangeName":"NasdaqGS","longName":"Liberty - Broadband Corporation","financialCurrency":"USD","regularMarketOpen":92.95,"averageDailyVolume3Month":148687,"averageDailyVolume10Day":171320,"fiftyTwoWeekLowChange":45.060005,"fiftyTwoWeekLowChangePercent":0.9552683,"fiftyTwoWeekRange":"47.17 - - 100.44","fiftyTwoWeekHighChange":-8.209999,"fiftyTwoWeekHighChangePercent":-0.081740335,"fiftyTwoWeekChangePercent":15.854395,"dividendDate":1610668800,"earningsTimestamp":1730985300,"earningsTimestampStart":1730985300,"earningsTimestampEnd":1730985300,"earningsCallTimestampStart":1730996100,"earningsCallTimestampEnd":1730996100,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":16.985268,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":5.43,"epsForward":5.92,"epsCurrentYear":5.8,"priceEpsCurrentYear":15.901724,"sharesOutstanding":18236200,"bookValue":66.644,"fiftyDayAverage":76.019,"fiftyDayAverageChange":16.211006,"fiftyDayAverageChangePercent":0.21324942,"twoHundredDayAverage":61.4355,"twoHundredDayAverageChange":30.794502,"twoHundredDayAverageChangePercent":0.5012493,"marketCap":13283793920,"forwardPE":15.579392,"priceToBook":1.3839207,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":100.44,"fiftyTwoWeekLow":47.17,"shortName":"Liberty - Broadband Corporation","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1415111400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Liberty - Broadband","symbol":"LBRDA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-4.66357,"postMarketChangePercent":0.0902513,"postMarketTime":1731545908,"postMarketPrice":55.45,"postMarketChange":0.0499992,"regularMarketChange":-2.71,"regularMarketTime":1731531601,"regularMarketPrice":55.4,"regularMarketDayHigh":58.27,"regularMarketDayRange":"55.3 - - 58.27","regularMarketDayLow":55.3,"regularMarketVolume":1840640,"regularMarketPreviousClose":58.11,"bid":55.0,"ask":55.5,"bidSize":8,"askSize":10,"market":"us_market","messageBoardId":"finmb_27816540","fullExchangeName":"NYSE","longName":"New - Oriental Education & Technology Group Inc.","financialCurrency":"USD","regularMarketOpen":58.63,"averageDailyVolume3Month":1999323,"averageDailyVolume10Day":1394050,"fiftyTwoWeekLowChange":0.10000229,"fiftyTwoWeekLowChangePercent":0.0018083596,"fiftyTwoWeekRange":"55.3 - - 98.2","fiftyTwoWeekHighChange":-42.799995,"fiftyTwoWeekHighChangePercent":-0.43584517,"fiftyTwoWeekChangePercent":-19.698507,"dividendDate":1727308800,"earningsTimestamp":1729674004,"earningsTimestampStart":1737552600,"earningsTimestampEnd":1737984600,"earningsCallTimestampStart":1729684800,"earningsCallTimestampEnd":1729684800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":25.296804,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":2.19,"epsForward":4.32,"epsCurrentYear":3.25,"priceEpsCurrentYear":17.046154,"sharesOutstanding":163528992,"bookValue":24.072,"fiftyDayAverage":65.9658,"fiftyDayAverageChange":-10.565796,"fiftyDayAverageChangePercent":-0.16017082,"twoHundredDayAverage":76.74765,"twoHundredDayAverageChange":-21.347649,"twoHundredDayAverageChangePercent":-0.27815378,"marketCap":9474010112,"forwardPE":12.824074,"priceToBook":2.301429,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":98.2,"fiftyTwoWeekLow":55.3,"shortName":"New - Oriental Education & Techno","averageAnalystRating":"1.6 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1158327000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"New - Oriental Education & Technology","symbol":"EDU"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.579343,"postMarketChangePercent":1.45089,"postMarketTime":1731545775,"postMarketPrice":9.09,"postMarketChange":0.13,"regularMarketChange":-0.4300003,"regularMarketTime":1731531601,"regularMarketPrice":8.96,"regularMarketDayHigh":9.415,"regularMarketDayRange":"8.91 - - 9.415","regularMarketDayLow":8.91,"regularMarketVolume":4779214,"regularMarketPreviousClose":9.39,"bid":8.93,"ask":9.0,"bidSize":33,"askSize":33,"market":"us_market","messageBoardId":"finmb_547804145","fullExchangeName":"NasdaqGS","longName":"New - Fortress Energy Inc.","financialCurrency":"USD","regularMarketOpen":9.32,"averageDailyVolume3Month":5184758,"averageDailyVolume10Day":6235310,"fiftyTwoWeekLowChange":1.1399999,"fiftyTwoWeekLowChangePercent":0.14578003,"fiftyTwoWeekRange":"7.82 - - 40.04","fiftyTwoWeekHighChange":-31.080002,"fiftyTwoWeekHighChangePercent":-0.7762238,"fiftyTwoWeekChangePercent":-73.30111,"dividendDate":1719446400,"earningsTimestamp":1730980800,"earningsTimestampStart":1730980800,"earningsTimestampEnd":1730980800,"earningsCallTimestampStart":1730984400,"earningsCallTimestampEnd":1730984400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.4,"trailingPE":9.846153,"dividendRate":0.4,"trailingAnnualDividendYield":0.04259851,"dividendYield":4.26,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.91,"epsForward":1.11,"epsCurrentYear":0.2,"priceEpsCurrentYear":44.8,"sharesOutstanding":251416992,"bookValue":7.607,"fiftyDayAverage":9.5859,"fiftyDayAverageChange":-0.62590027,"fiftyDayAverageChangePercent":-0.06529384,"twoHundredDayAverage":21.176325,"twoHundredDayAverageChange":-12.216325,"twoHundredDayAverageChangePercent":-0.576886,"marketCap":2252696320,"forwardPE":8.072072,"priceToBook":1.1778625,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"New - Fortress Energy LLC","nameChangeDate":"2024-11-08","exchange":"NMS","fiftyTwoWeekHigh":40.04,"fiftyTwoWeekLow":7.82,"shortName":"New - Fortress Energy Inc.","averageAnalystRating":"2.1 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1548945000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"New - Fortress Energy","symbol":"NFE"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.5622716,"postMarketChangePercent":-2.63781,"postMarketTime":1731541664,"postMarketPrice":180.86,"postMarketChange":-4.89999,"regularMarketChange":-8.880005,"regularMarketTime":1731531601,"regularMarketPrice":185.76,"regularMarketDayHigh":196.26,"regularMarketDayRange":"185.76 - - 196.26","regularMarketDayLow":185.76,"regularMarketVolume":274959,"regularMarketPreviousClose":194.64,"bid":185.51,"ask":186.5,"bidSize":2,"askSize":1,"market":"us_market","messageBoardId":"finmb_427445","fullExchangeName":"NasdaqGS","longName":"Impinj, - Inc.","financialCurrency":"USD","regularMarketOpen":195.73,"averageDailyVolume3Month":554923,"averageDailyVolume10Day":535510,"fiftyTwoWeekLowChange":107.59,"fiftyTwoWeekLowChangePercent":1.3763592,"fiftyTwoWeekRange":"78.17 - - 239.88","fiftyTwoWeekHighChange":-54.12001,"fiftyTwoWeekHighChangePercent":-0.22561285,"fiftyTwoWeekChangePercent":144.98427,"earningsTimestamp":1729714500,"earningsTimestampStart":1738839540,"earningsTimestampEnd":1739188800,"earningsCallTimestampStart":1729717200,"earningsCallTimestampEnd":1729717200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":204.13185,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.91,"epsForward":2.75,"epsCurrentYear":2.07,"priceEpsCurrentYear":89.73913,"sharesOutstanding":28116000,"bookValue":4.815,"fiftyDayAverage":204.5714,"fiftyDayAverageChange":-18.811401,"fiftyDayAverageChangePercent":-0.09195519,"twoHundredDayAverage":157.4203,"twoHundredDayAverageChange":28.339691,"twoHundredDayAverageChangePercent":0.18002564,"marketCap":5254889984,"forwardPE":67.54909,"priceToBook":38.579437,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":239.88,"fiftyTwoWeekLow":78.17,"shortName":"Impinj, - Inc.","averageAnalystRating":"2.0 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1469107800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Impinj","symbol":"PI"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-4.4928,"postMarketChangePercent":0.88923615,"postMarketTime":1731545310,"postMarketPrice":183.8,"postMarketChange":1.6200104,"regularMarketChange":-8.57001,"regularMarketTime":1731531602,"regularMarketPrice":182.18,"regularMarketDayHigh":195.49,"regularMarketDayRange":"181.45 - - 195.49","regularMarketDayLow":181.45,"regularMarketVolume":653697,"regularMarketPreviousClose":190.75,"bid":181.6,"ask":183.12,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_59661803","fullExchangeName":"NYSE","longName":"Inspire - Medical Systems, Inc.","financialCurrency":"USD","regularMarketOpen":190.55,"averageDailyVolume3Month":581884,"averageDailyVolume10Day":706770,"fiftyTwoWeekLowChange":59.179993,"fiftyTwoWeekLowChangePercent":0.48113814,"fiftyTwoWeekRange":"123.0 - - 257.4","fiftyTwoWeekHighChange":-75.22,"fiftyTwoWeekHighChangePercent":-0.29223,"fiftyTwoWeekChangePercent":33.075203,"earningsTimestamp":1730754120,"earningsTimestampStart":1738666740,"earningsTimestampEnd":1739188800,"earningsCallTimestampStart":1730757600,"earningsCallTimestampEnd":1730757600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":171.86792,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":1.06,"epsForward":1.98,"epsCurrentYear":1.32,"priceEpsCurrentYear":138.01514,"sharesOutstanding":29966900,"bookValue":23.247,"fiftyDayAverage":203.3466,"fiftyDayAverageChange":-21.16661,"fiftyDayAverageChangePercent":-0.104091294,"twoHundredDayAverage":187.7586,"twoHundredDayAverageChange":-5.5786133,"twoHundredDayAverageChangePercent":-0.029711625,"marketCap":5459369472,"forwardPE":92.01009,"priceToBook":7.83671,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":257.4,"fiftyTwoWeekLow":123.0,"shortName":"Inspire - Medical Systems, Inc.","averageAnalystRating":"2.2 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1525354200000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Inspire - Medical Systems","symbol":"INSP"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.434743,"postMarketChangePercent":-0.204374,"postMarketTime":1731545934,"postMarketPrice":83.01,"postMarketChange":-0.169998,"regularMarketChange":-3.8600006,"regularMarketTime":1731531600,"regularMarketPrice":83.18,"regularMarketDayHigh":86.52,"regularMarketDayRange":"82.18 - - 86.52","regularMarketDayLow":82.18,"regularMarketVolume":5581210,"regularMarketPreviousClose":87.04,"bid":83.05,"ask":83.26,"bidSize":4,"askSize":9,"market":"us_market","messageBoardId":"finmb_1462309","fullExchangeName":"NasdaqGS","longName":"Skyworks - Solutions, Inc.","financialCurrency":"USD","regularMarketOpen":84.78,"averageDailyVolume3Month":2059448,"averageDailyVolume10Day":2814430,"fiftyTwoWeekLowChange":1.050003,"fiftyTwoWeekLowChangePercent":0.012784648,"fiftyTwoWeekRange":"82.13 - - 120.86","fiftyTwoWeekHighChange":-37.68,"fiftyTwoWeekHighChangePercent":-0.31176567,"fiftyTwoWeekChangePercent":-10.9135685,"dividendDate":1725926400,"earningsTimestamp":1731445260,"earningsTimestampStart":1738061940,"earningsTimestampEnd":1738584000,"earningsCallTimestampStart":1731447000,"earningsCallTimestampEnd":1731447000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":2.72,"trailingPE":17.18595,"dividendRate":2.8,"trailingAnnualDividendYield":0.03125,"dividendYield":3.22,"marketState":"POSTPOST","epsTrailingTwelveMonths":4.84,"epsForward":6.4,"epsCurrentYear":6.25,"priceEpsCurrentYear":13.3088,"sharesOutstanding":159716000,"bookValue":39.677,"fiftyDayAverage":95.7858,"fiftyDayAverageChange":-12.605797,"fiftyDayAverageChangePercent":-0.13160403,"twoHundredDayAverage":101.4934,"twoHundredDayAverageChange":-18.3134,"twoHundredDayAverageChangePercent":-0.18043932,"marketCap":13901707264,"forwardPE":12.996875,"priceToBook":2.0964289,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":120.86,"fiftyTwoWeekLow":82.13,"shortName":"Skyworks - Solutions, Inc.","averageAnalystRating":"2.8 - Hold","hasPrePostMarketData":true,"firstTradeDateMilliseconds":463411800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Skyworks","symbol":"SWKS"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.4189134,"postMarketChangePercent":0.0,"postMarketTime":1731532255,"postMarketPrice":21.63,"postMarketChange":0.0,"regularMarketChange":-1.0,"regularMarketTime":1731531601,"regularMarketPrice":21.63,"regularMarketDayHigh":23.1,"regularMarketDayRange":"21.59 - - 23.1","regularMarketDayLow":21.59,"regularMarketVolume":1515993,"regularMarketPreviousClose":22.63,"bid":16.3,"ask":21.62,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_707979303","fullExchangeName":"NasdaqGS","longName":"Flywire - Corporation","financialCurrency":"USD","regularMarketOpen":22.96,"averageDailyVolume3Month":1108290,"averageDailyVolume10Day":1862260,"fiftyTwoWeekLowChange":6.4399996,"fiftyTwoWeekLowChangePercent":0.42396313,"fiftyTwoWeekRange":"15.19 - - 31.54","fiftyTwoWeekHighChange":-9.910002,"fiftyTwoWeekHighChangePercent":-0.31420425,"fiftyTwoWeekChangePercent":0.6672621,"earningsTimestamp":1731013524,"earningsTimestampStart":1731013524,"earningsTimestampEnd":1731013524,"earningsCallTimestampStart":1731016800,"earningsCallTimestampEnd":1731016800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":127.23529,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.17,"epsForward":0.25,"epsCurrentYear":0.01,"priceEpsCurrentYear":2163.0,"sharesOutstanding":122544000,"bookValue":6.776,"fiftyDayAverage":17.3736,"fiftyDayAverageChange":4.256399,"fiftyDayAverageChangePercent":0.24499236,"twoHundredDayAverage":19.363476,"twoHundredDayAverageChange":2.2665234,"twoHundredDayAverageChangePercent":0.117051475,"marketCap":2691139584,"forwardPE":86.52,"priceToBook":3.1921487,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-05-26","exchange":"NMS","fiftyTwoWeekHigh":31.54,"fiftyTwoWeekLow":15.19,"shortName":"Flywire - Corporation - Voting","averageAnalystRating":"1.8 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1622035800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Flywire","symbol":"FLYW"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-4.4096603,"regularMarketChange":-3.380005,"regularMarketTime":1731531578,"regularMarketPrice":73.27,"regularMarketDayHigh":74.74,"regularMarketDayRange":"72.93 - - 74.74","regularMarketDayLow":72.93,"regularMarketVolume":27865,"regularMarketPreviousClose":76.65,"bid":73.2,"ask":73.2,"bidSize":3060,"askSize":400,"market":"us_market","messageBoardId":"finmb_874944","fullExchangeName":"OTC - Markets OTCPK","longName":"Tokyo Electron Limited","financialCurrency":"JPY","regularMarketOpen":74.49,"averageDailyVolume3Month":153295,"averageDailyVolume10Day":152920,"fiftyTwoWeekLowChange":1.7299957,"fiftyTwoWeekLowChangePercent":0.024182215,"fiftyTwoWeekRange":"71.54 - - 134.91","fiftyTwoWeekHighChange":-61.640007,"fiftyTwoWeekHighChangePercent":-0.45689723,"fiftyTwoWeekChangePercent":-8.071577,"dividendDate":1575936000,"earningsTimestamp":1731394800,"earningsTimestampStart":1738909800,"earningsTimestampEnd":1739255400,"earningsCallTimestampStart":1731394800,"earningsCallTimestampEnd":1731394800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":510.0,"trailingPE":24.505016,"dividendRate":1.29,"trailingAnnualDividendYield":6.6536202,"dividendYield":1.68,"marketState":"POSTPOST","epsTrailingTwelveMonths":2.99,"sharesOutstanding":921532032,"bookValue":3901.769,"fiftyDayAverage":81.266,"fiftyDayAverageChange":-7.996002,"fiftyDayAverageChangePercent":-0.09839296,"twoHundredDayAverage":103.21825,"twoHundredDayAverageChange":-29.94825,"twoHundredDayAverageChangePercent":-0.29014492,"marketCap":67520647168,"priceToBook":0.018778661,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"PNK","fiftyTwoWeekHigh":134.91,"fiftyTwoWeekLow":71.54,"shortName":"Tokyo - Electron Ltd.","hasPrePostMarketData":false,"firstTradeDateMilliseconds":1262701800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"TOELY"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-4.40252,"postMarketChangePercent":0.4934245,"postMarketTime":1731544976,"postMarketPrice":6.11,"postMarketChange":0.03000021,"regularMarketChange":-0.28,"regularMarketTime":1731531602,"regularMarketPrice":6.08,"regularMarketDayHigh":6.52,"regularMarketDayRange":"6.05 - - 6.52","regularMarketDayLow":6.05,"regularMarketVolume":7965807,"regularMarketPreviousClose":6.36,"bid":6.08,"ask":6.12,"bidSize":40,"askSize":32,"market":"us_market","messageBoardId":"finmb_262033","fullExchangeName":"NYSE","longName":"Coeur - Mining, Inc.","financialCurrency":"USD","regularMarketOpen":6.46,"averageDailyVolume3Month":9463325,"averageDailyVolume10Day":12116870,"fiftyTwoWeekLowChange":3.6899998,"fiftyTwoWeekLowChangePercent":1.5439329,"fiftyTwoWeekRange":"2.39 - - 7.72","fiftyTwoWeekHighChange":-1.6399999,"fiftyTwoWeekHighChangePercent":-0.21243522,"fiftyTwoWeekChangePercent":145.1613,"earningsTimestamp":1730926800,"earningsTimestampStart":1730926800,"earningsTimestampEnd":1730926800,"earningsCallTimestampStart":1730995200,"earningsCallTimestampEnd":1730995200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.01,"epsForward":0.63,"epsCurrentYear":0.11,"priceEpsCurrentYear":55.272728,"sharesOutstanding":399240992,"bookValue":2.713,"fiftyDayAverage":6.5998,"fiftyDayAverageChange":-0.5198002,"fiftyDayAverageChangePercent":-0.07875999,"twoHundredDayAverage":5.27625,"twoHundredDayAverageChange":0.80375004,"twoHundredDayAverageChangePercent":0.15233359,"marketCap":2539172096,"forwardPE":9.650794,"priceToBook":2.2410614,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":7.72,"fiftyTwoWeekLow":2.39,"shortName":"Coeur - Mining, Inc.","averageAnalystRating":"2.1 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":322151400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Coeur - Mining","symbol":"CDE"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-4.37941,"postMarketChangePercent":-0.0018455944,"postMarketTime":1731543727,"postMarketPrice":542.35,"postMarketChange":-0.010009766,"regularMarketChange":-24.84,"regularMarketTime":1731531602,"regularMarketPrice":542.36,"regularMarketDayHigh":568.25,"regularMarketDayRange":"541.72 - - 568.25","regularMarketDayLow":541.72,"regularMarketVolume":308775,"regularMarketPreviousClose":567.2,"bid":528.43,"ask":571.2,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_93425","fullExchangeName":"NYSE","longName":"CACI - International Inc","financialCurrency":"USD","regularMarketOpen":567.44,"averageDailyVolume3Month":107207,"averageDailyVolume10Day":145790,"fiftyTwoWeekLowChange":228.29999,"fiftyTwoWeekLowChangePercent":0.72693115,"fiftyTwoWeekRange":"314.06 - - 588.26","fiftyTwoWeekHighChange":-45.900024,"fiftyTwoWeekHighChangePercent":-0.078026764,"fiftyTwoWeekChangePercent":68.434784,"earningsTimestamp":1729714501,"earningsTimestampStart":1737543540,"earningsTimestampEnd":1737979200,"earningsCallTimestampStart":1729771200,"earningsCallTimestampEnd":1729771200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":26.862803,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":20.19,"epsForward":26.9,"epsCurrentYear":23.9381,"priceEpsCurrentYear":22.656767,"sharesOutstanding":22408200,"bookValue":163.712,"fiftyDayAverage":518.4498,"fiftyDayAverageChange":23.910156,"fiftyDayAverageChangePercent":0.046118554,"twoHundredDayAverage":437.9794,"twoHundredDayAverageChange":104.380585,"twoHundredDayAverageChangePercent":0.23832305,"marketCap":12153311232,"forwardPE":20.16208,"priceToBook":3.3128908,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":588.26,"fiftyTwoWeekLow":314.06,"shortName":"CACI - International, Inc.","averageAnalystRating":"1.7 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":322151400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"CACI","symbol":"CACI"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.354545,"postMarketChangePercent":3.68099,"postMarketTime":1731537101,"postMarketPrice":32.11,"postMarketChange":1.14,"regularMarketChange":-1.4100018,"regularMarketTime":1731531601,"regularMarketPrice":30.97,"regularMarketDayHigh":32.785,"regularMarketDayRange":"30.95 - - 32.785","regularMarketDayLow":30.95,"regularMarketVolume":543754,"regularMarketPreviousClose":32.38,"bid":30.94,"ask":31.09,"bidSize":6,"askSize":1,"market":"us_market","messageBoardId":"finmb_571820600","fullExchangeName":"NasdaqGS","longName":"Akero - Therapeutics, Inc.","financialCurrency":"USD","regularMarketOpen":32.58,"averageDailyVolume3Month":521009,"averageDailyVolume10Day":689050,"fiftyTwoWeekLowChange":17.11,"fiftyTwoWeekLowChangePercent":1.2344878,"fiftyTwoWeekRange":"13.86 - - 37.0","fiftyTwoWeekHighChange":-6.0300007,"fiftyTwoWeekHighChangePercent":-0.16297299,"fiftyTwoWeekChangePercent":124.23823,"earningsTimestamp":1731067200,"earningsTimestampStart":1731067200,"earningsTimestampEnd":1731067200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-3.61,"epsForward":-4.25,"epsCurrentYear":-3.74,"priceEpsCurrentYear":-8.280748,"sharesOutstanding":69799200,"bookValue":10.606,"fiftyDayAverage":29.2668,"fiftyDayAverageChange":1.7031994,"fiftyDayAverageChangePercent":0.058195613,"twoHundredDayAverage":24.99415,"twoHundredDayAverageChange":5.975849,"twoHundredDayAverageChangePercent":0.2390899,"marketCap":2260097536,"forwardPE":-7.287059,"priceToBook":2.9200451,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":37.0,"fiftyTwoWeekLow":13.86,"shortName":"Akero - Therapeutics, Inc.","averageAnalystRating":"1.9 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1561037400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Akero - Therapeutics","symbol":"AKRO"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-4.35307,"postMarketChangePercent":0.99739176,"postMarketTime":1731545644,"postMarketPrice":208.6,"postMarketChange":2.0600128,"regularMarketChange":-9.40001,"regularMarketTime":1731531602,"regularMarketPrice":206.54,"regularMarketDayHigh":217.2275,"regularMarketDayRange":"205.675 - - 217.2275","regularMarketDayLow":205.675,"regularMarketVolume":843840,"regularMarketPreviousClose":215.94,"bid":206.91,"ask":206.53,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_91093","fullExchangeName":"NYSE","longName":"Charles - River Laboratories International, Inc.","financialCurrency":"USD","regularMarketOpen":216.12,"averageDailyVolume3Month":687823,"averageDailyVolume10Day":965530,"fiftyTwoWeekLowChange":30.059998,"fiftyTwoWeekLowChangePercent":0.17033091,"fiftyTwoWeekRange":"176.48 - - 275.0","fiftyTwoWeekHighChange":-68.46001,"fiftyTwoWeekHighChangePercent":-0.24894547,"fiftyTwoWeekChangePercent":8.957588,"earningsTimestamp":1730894400,"earningsTimestampStart":1739367000,"earningsTimestampEnd":1739799000,"earningsCallTimestampStart":1730903400,"earningsCallTimestampEnd":1730903400,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":26.963446,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":7.66,"epsForward":10.28,"epsCurrentYear":10.17,"priceEpsCurrentYear":20.30875,"sharesOutstanding":51136200,"bookValue":73.968,"fiftyDayAverage":195.1476,"fiftyDayAverageChange":11.392395,"fiftyDayAverageChangePercent":0.05837835,"twoHundredDayAverage":219.97675,"twoHundredDayAverageChange":-13.436752,"twoHundredDayAverageChangePercent":-0.061082605,"marketCap":11042351104,"forwardPE":20.09144,"priceToBook":2.7922883,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":275.0,"fiftyTwoWeekLow":176.48,"shortName":"Charles - River Laboratories Inte","averageAnalystRating":"2.8 - Hold","hasPrePostMarketData":true,"firstTradeDateMilliseconds":961767000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Charles - River Laboratories","symbol":"CRL"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-4.32761,"postMarketChangePercent":2.168224,"postMarketTime":1731539057,"postMarketPrice":27.33,"postMarketChange":0.5799999,"regularMarketChange":-1.21,"regularMarketTime":1731531602,"regularMarketPrice":26.75,"regularMarketDayHigh":28.285,"regularMarketDayRange":"26.62 - - 28.285","regularMarketDayLow":26.62,"regularMarketVolume":391454,"regularMarketPreviousClose":27.96,"bid":26.95,"ask":27.73,"bidSize":8,"askSize":11,"market":"us_market","messageBoardId":"finmb_1763672656","fullExchangeName":"NYSE","longName":"Excelerate - Energy, Inc.","financialCurrency":"USD","regularMarketOpen":28.18,"averageDailyVolume3Month":218923,"averageDailyVolume10Day":321470,"fiftyTwoWeekLowChange":13.37,"fiftyTwoWeekLowChangePercent":0.9992526,"fiftyTwoWeekRange":"13.38 - - 28.6","fiftyTwoWeekHighChange":-1.8500004,"fiftyTwoWeekHighChangePercent":-0.06468533,"fiftyTwoWeekChangePercent":57.966103,"dividendDate":1733356800,"earningsTimestamp":1730928600,"earningsTimestampStart":1730928600,"earningsTimestampEnd":1730928600,"earningsCallTimestampStart":1730986200,"earningsCallTimestampEnd":1730986200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.135,"trailingPE":27.577318,"dividendRate":0.24,"trailingAnnualDividendYield":0.0048283264,"dividendYield":0.86,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.97,"epsForward":1.25,"epsCurrentYear":1.16,"priceEpsCurrentYear":23.060345,"sharesOutstanding":24687300,"bookValue":20.342,"fiftyDayAverage":22.3662,"fiftyDayAverageChange":4.3838005,"fiftyDayAverageChangePercent":0.19600114,"twoHundredDayAverage":18.46205,"twoHundredDayAverageChange":8.2879505,"twoHundredDayAverageChangePercent":0.44891822,"marketCap":2971710976,"forwardPE":21.4,"priceToBook":1.3150133,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2022-04-13","exchange":"NYQ","fiftyTwoWeekHigh":28.6,"fiftyTwoWeekLow":13.38,"shortName":"Excelerate - Energy, Inc.","averageAnalystRating":"2.2 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1649856600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"EE"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.307269,"postMarketChangePercent":0.0,"postMarketTime":1731533763,"postMarketPrice":34.88,"postMarketChange":0.0,"regularMarketChange":-1.5699997,"regularMarketTime":1731531601,"regularMarketPrice":34.88,"regularMarketDayHigh":36.29,"regularMarketDayRange":"34.85 - - 36.29","regularMarketDayLow":34.85,"regularMarketVolume":1288321,"regularMarketPreviousClose":36.45,"bid":34.83,"ask":40.11,"bidSize":6,"askSize":1,"market":"us_market","messageBoardId":"finmb_1038773","fullExchangeName":"NasdaqGS","longName":"Golar - LNG Limited","financialCurrency":"USD","regularMarketOpen":36.2,"averageDailyVolume3Month":1117104,"averageDailyVolume10Day":1184870,"fiftyTwoWeekLowChange":14.940001,"fiftyTwoWeekLowChangePercent":0.7492477,"fiftyTwoWeekRange":"19.94 - - 39.4","fiftyTwoWeekHighChange":-4.5200005,"fiftyTwoWeekHighChangePercent":-0.11472082,"fiftyTwoWeekChangePercent":60.441578,"dividendDate":1725321600,"earningsTimestamp":1731409883,"earningsTimestampStart":1731409883,"earningsTimestampEnd":1731409883,"earningsCallTimestampStart":1731416400,"earningsCallTimestampEnd":1731416400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":1.0,"trailingPE":26.424242,"dividendRate":1.0,"trailingAnnualDividendYield":0.02743484,"dividendYield":2.74,"marketState":"POSTPOST","epsTrailingTwelveMonths":1.32,"epsForward":1.92,"epsCurrentYear":1.67,"priceEpsCurrentYear":20.886229,"sharesOutstanding":104000000,"bookValue":19.445,"fiftyDayAverage":36.1282,"fiftyDayAverageChange":-1.2481995,"fiftyDayAverageChangePercent":-0.034549173,"twoHundredDayAverage":29.57695,"twoHundredDayAverageChange":5.303051,"twoHundredDayAverageChangePercent":0.17929675,"marketCap":3627520000,"forwardPE":18.166668,"priceToBook":1.7937773,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":39.4,"fiftyTwoWeekLow":19.94,"shortName":"Golar - LNG Limited","averageAnalystRating":"1.5 - Strong Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1058275800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Golar - LNG","symbol":"GLNG"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-4.264098,"postMarketChangePercent":-0.431037,"postMarketTime":1731538178,"postMarketPrice":13.86,"postMarketChange":-0.0600004,"regularMarketChange":-0.6199999,"regularMarketTime":1731531601,"regularMarketPrice":13.92,"regularMarketDayHigh":14.685,"regularMarketDayRange":"13.81 - - 14.685","regularMarketDayLow":13.81,"regularMarketVolume":836258,"regularMarketPreviousClose":14.54,"bid":13.9,"ask":13.98,"bidSize":2,"askSize":1,"market":"us_market","messageBoardId":"finmb_236721760","fullExchangeName":"NasdaqGM","longName":"eXp - World Holdings, Inc.","financialCurrency":"USD","regularMarketOpen":14.62,"averageDailyVolume3Month":875830,"averageDailyVolume10Day":998990,"fiftyTwoWeekLowChange":5.01,"fiftyTwoWeekLowChangePercent":0.5622896,"fiftyTwoWeekRange":"8.91 - - 17.11","fiftyTwoWeekHighChange":-3.1900005,"fiftyTwoWeekHighChangePercent":-0.1864407,"fiftyTwoWeekChangePercent":13.328135,"dividendDate":1724976000,"earningsTimestamp":1731014103,"earningsTimestampStart":1731014103,"earningsTimestampEnd":1731014103,"earningsCallTimestampStart":1731016800,"earningsCallTimestampEnd":1731016800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.2,"dividendRate":0.2,"trailingAnnualDividendYield":0.0137551585,"dividendYield":1.38,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.21,"epsForward":0.3,"epsCurrentYear":-0.13,"priceEpsCurrentYear":-107.07693,"sharesOutstanding":153551008,"bookValue":1.375,"fiftyDayAverage":13.4593,"fiftyDayAverageChange":0.46070004,"fiftyDayAverageChangePercent":0.034229122,"twoHundredDayAverage":12.083525,"twoHundredDayAverageChange":1.8364754,"twoHundredDayAverageChangePercent":0.15198176,"marketCap":2137430016,"forwardPE":46.399998,"priceToBook":10.123636,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NGM","fiftyTwoWeekHigh":17.11,"fiftyTwoWeekLow":8.91,"shortName":"eXp - World Holdings, Inc.","averageAnalystRating":"2.3 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1518013800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"eXp - World","symbol":"EXPI"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.2477064,"postMarketChangePercent":1.54998,"postMarketTime":1731541668,"postMarketPrice":19.0,"postMarketChange":0.290001,"regularMarketChange":-0.83000183,"regularMarketTime":1731531600,"regularMarketPrice":18.71,"regularMarketDayHigh":19.65,"regularMarketDayRange":"18.71 - - 19.65","regularMarketDayLow":18.71,"regularMarketVolume":2282053,"regularMarketPreviousClose":19.54,"bid":18.71,"ask":18.75,"bidSize":12,"askSize":6,"market":"us_market","messageBoardId":"finmb_106530929","fullExchangeName":"NasdaqGS","longName":"Sabra - Health Care REIT, Inc.","financialCurrency":"USD","regularMarketOpen":19.62,"averageDailyVolume3Month":2079464,"averageDailyVolume10Day":2687590,"fiftyTwoWeekLowChange":5.879999,"fiftyTwoWeekLowChangePercent":0.4583008,"fiftyTwoWeekRange":"12.83 - - 20.03","fiftyTwoWeekHighChange":-1.3200016,"fiftyTwoWeekHighChangePercent":-0.06590123,"fiftyTwoWeekChangePercent":31.57525,"dividendDate":1732838400,"earningsTimestamp":1730405100,"earningsTimestampStart":1730405100,"earningsTimestampEnd":1730405100,"earningsCallTimestampStart":1730480400,"earningsCallTimestampEnd":1730480400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":1.2,"trailingPE":47.974358,"dividendRate":1.2,"trailingAnnualDividendYield":0.061412487,"dividendYield":6.14,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.39,"epsForward":0.68,"epsCurrentYear":0.52,"priceEpsCurrentYear":35.98077,"sharesOutstanding":236587008,"bookValue":11.602,"fiftyDayAverage":18.5612,"fiftyDayAverageChange":0.1487999,"fiftyDayAverageChangePercent":0.008016718,"twoHundredDayAverage":15.73325,"twoHundredDayAverageChange":2.9767494,"twoHundredDayAverageChangePercent":0.18920118,"marketCap":4625280000,"forwardPE":27.514704,"priceToBook":1.6126529,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":20.03,"fiftyTwoWeekLow":12.83,"shortName":"Sabra - Health Care REIT, Inc.","averageAnalystRating":"2.1 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1017757800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Sabra - Health Care REIT","symbol":"SBRA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-4.17983,"postMarketChangePercent":4.963159,"postMarketTime":1731542162,"postMarketPrice":54.14,"postMarketChange":2.5599976,"regularMarketChange":-2.25,"regularMarketTime":1731531602,"regularMarketPrice":51.58,"regularMarketDayHigh":52.36,"regularMarketDayRange":"51.565 - - 52.36","regularMarketDayLow":51.565,"regularMarketVolume":246007,"regularMarketPreviousClose":53.83,"bid":51.0,"ask":53.23,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_381388","fullExchangeName":"NYSE","longName":"POSCO - Holdings Inc.","financialCurrency":"KRW","regularMarketOpen":52.35,"averageDailyVolume3Month":221681,"averageDailyVolume10Day":237720,"fiftyTwoWeekLowChange":0.020000458,"fiftyTwoWeekLowChangePercent":3.8790648E-4,"fiftyTwoWeekRange":"51.56 - - 96.98","fiftyTwoWeekHighChange":-45.4,"fiftyTwoWeekHighChangePercent":-0.46813777,"fiftyTwoWeekChangePercent":-42.73343,"dividendDate":1725580800,"earningsTimestamp":1730285940,"earningsTimestampStart":1737457140,"earningsTimestampEnd":1737979200,"earningsCallTimestampStart":1730268000,"earningsCallTimestampEnd":1730268000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":10000.0,"trailingPE":19.390978,"dividendRate":1.87,"trailingAnnualDividendYield":185.77,"dividendYield":3.47,"marketState":"POSTPOST","epsTrailingTwelveMonths":2.66,"epsForward":5.93,"epsCurrentYear":4.25,"priceEpsCurrentYear":12.136471,"sharesOutstanding":302817984,"bookValue":669333.4,"fiftyDayAverage":64.6446,"fiftyDayAverageChange":-13.064598,"fiftyDayAverageChangePercent":-0.20209883,"twoHundredDayAverage":70.1591,"twoHundredDayAverageChange":-18.579102,"twoHundredDayAverageChangePercent":-0.26481384,"marketCap":15619352576,"forwardPE":8.698146,"priceToBook":7.706175E-5,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"POSCO","nameChangeDate":"2024-11-08","exchange":"NYQ","fiftyTwoWeekHigh":96.98,"fiftyTwoWeekLow":51.56,"shortName":"POSCO - Holdings Inc.","averageAnalystRating":"2.0 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":782141400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"PKX"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.1469464,"postMarketChangePercent":0.355591,"postMarketTime":1731543580,"postMarketPrice":50.8,"postMarketChange":0.18,"regularMarketChange":-2.1900024,"regularMarketTime":1731531601,"regularMarketPrice":50.62,"regularMarketDayHigh":52.34,"regularMarketDayRange":"50.53 - - 52.34","regularMarketDayLow":50.53,"regularMarketVolume":1489475,"regularMarketPreviousClose":52.81,"bid":48.92,"ask":53.54,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_284137","fullExchangeName":"NasdaqGS","longName":"Lattice - Semiconductor Corporation","financialCurrency":"USD","regularMarketOpen":51.89,"averageDailyVolume3Month":2634185,"averageDailyVolume10Day":3336080,"fiftyTwoWeekLowChange":9.969997,"fiftyTwoWeekLowChangePercent":0.24526438,"fiftyTwoWeekRange":"40.65 - - 85.69","fiftyTwoWeekHighChange":-35.070004,"fiftyTwoWeekHighChangePercent":-0.409266,"fiftyTwoWeekChangePercent":-14.072311,"earningsTimestamp":1730754000,"earningsTimestampStart":1739185140,"earningsTimestampEnd":1739534400,"earningsCallTimestampStart":1730757600,"earningsCallTimestampEnd":1730757600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":49.62745,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":1.02,"epsForward":1.06,"epsCurrentYear":0.94,"priceEpsCurrentYear":53.851063,"sharesOutstanding":137971008,"bookValue":5.101,"fiftyDayAverage":51.1444,"fiftyDayAverageChange":-0.5244026,"fiftyDayAverageChangePercent":-0.010253373,"twoHundredDayAverage":61.7409,"twoHundredDayAverageChange":-11.120899,"twoHundredDayAverageChangePercent":-0.18012208,"marketCap":6984092160,"forwardPE":47.75472,"priceToBook":9.923545,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":85.69,"fiftyTwoWeekLow":40.65,"shortName":"Lattice - Semiconductor Corporati","averageAnalystRating":"2.1 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":626625000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Lattice - Semiconductor","symbol":"LSCC"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.1442437,"postMarketChangePercent":3.87367,"postMarketTime":1731545631,"postMarketPrice":18.4999,"postMarketChange":0.689901,"regularMarketChange":-0.77000046,"regularMarketTime":1731531601,"regularMarketPrice":17.81,"regularMarketDayHigh":18.7,"regularMarketDayRange":"17.76 - - 18.7","regularMarketDayLow":17.76,"regularMarketVolume":1388942,"regularMarketPreviousClose":18.58,"bid":17.76,"ask":17.83,"bidSize":7,"askSize":9,"market":"us_market","messageBoardId":"finmb_6939353","fullExchangeName":"NasdaqGS","longName":"Cellebrite - DI Ltd.","financialCurrency":"USD","regularMarketOpen":18.7,"averageDailyVolume3Month":1363869,"averageDailyVolume10Day":1781030,"fiftyTwoWeekLowChange":10.17,"fiftyTwoWeekLowChangePercent":1.3311518,"fiftyTwoWeekRange":"7.64 - - 21.0","fiftyTwoWeekHighChange":-3.1900005,"fiftyTwoWeekHighChangePercent":-0.15190479,"fiftyTwoWeekChangePercent":132.25,"earningsTimestamp":1730894401,"earningsTimestampStart":1739194200,"earningsTimestampEnd":1739539800,"earningsCallTimestampStart":1730899800,"earningsCallTimestampEnd":1730899800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-1.51,"epsForward":0.4,"epsCurrentYear":0.43,"priceEpsCurrentYear":41.418602,"sharesOutstanding":214843008,"bookValue":1.429,"fiftyDayAverage":17.6762,"fiftyDayAverageChange":0.1337986,"fiftyDayAverageChangePercent":0.0075694206,"twoHundredDayAverage":13.3749,"twoHundredDayAverageChange":4.4350996,"twoHundredDayAverageChangePercent":0.33159873,"marketCap":3993001984,"forwardPE":44.524998,"priceToBook":12.463261,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-08-31","exchange":"NMS","fiftyTwoWeekHigh":21.0,"fiftyTwoWeekLow":7.64,"shortName":"Cellebrite - DI Ltd.","averageAnalystRating":"1.7 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1604673000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Cellebrite - DI","symbol":"CLBT"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.1354604,"postMarketChangePercent":0.0,"postMarketTime":1731532800,"postMarketPrice":56.33,"postMarketChange":0.0,"regularMarketChange":-2.4299965,"regularMarketTime":1731531601,"regularMarketPrice":56.33,"regularMarketDayHigh":59.14,"regularMarketDayRange":"56.29 - - 59.14","regularMarketDayLow":56.29,"regularMarketVolume":337246,"regularMarketPreviousClose":58.76,"bid":55.57,"ask":57.23,"bidSize":4,"askSize":4,"market":"us_market","messageBoardId":"finmb_266907","fullExchangeName":"NasdaqGS","longName":"Diodes - Incorporated","financialCurrency":"USD","regularMarketOpen":58.78,"averageDailyVolume3Month":319464,"averageDailyVolume10Day":373660,"fiftyTwoWeekLowChange":0.040000916,"fiftyTwoWeekLowChangePercent":7.1062206E-4,"fiftyTwoWeekRange":"56.29 - - 86.74","fiftyTwoWeekHighChange":-30.409996,"fiftyTwoWeekHighChangePercent":-0.35058793,"fiftyTwoWeekChangePercent":-18.196339,"earningsTimestamp":1731013500,"earningsTimestampStart":1738703100,"earningsTimestampEnd":1739221500,"earningsCallTimestampStart":1731016800,"earningsCallTimestampEnd":1731016800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":42.674244,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":1.32,"epsForward":2.63,"epsCurrentYear":1.37667,"priceEpsCurrentYear":40.917576,"sharesOutstanding":46332900,"bookValue":39.101,"fiftyDayAverage":62.2302,"fiftyDayAverageChange":-5.9002,"fiftyDayAverageChangePercent":-0.09481248,"twoHundredDayAverage":68.79405,"twoHundredDayAverageChange":-12.46405,"twoHundredDayAverageChangePercent":-0.18117918,"marketCap":2609932288,"forwardPE":21.418251,"priceToBook":1.440628,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":86.74,"fiftyTwoWeekLow":56.29,"shortName":"Diodes - Incorporated","averageAnalystRating":"2.5 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":99153000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"DIOD"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.0890408,"postMarketChangePercent":2.69947,"postMarketTime":1731541850,"postMarketPrice":103.1,"postMarketChange":2.71,"regularMarketChange":-4.279999,"regularMarketTime":1731531602,"regularMarketPrice":100.39,"regularMarketDayHigh":104.48,"regularMarketDayRange":"100.38 - - 104.48","regularMarketDayLow":100.38,"regularMarketVolume":1080741,"regularMarketPreviousClose":104.67,"bid":100.37,"ask":100.51,"bidSize":1,"askSize":1,"market":"us_market","messageBoardId":"finmb_26515","fullExchangeName":"NasdaqGS","longName":"Cirrus - Logic, Inc.","financialCurrency":"USD","regularMarketOpen":103.67,"averageDailyVolume3Month":628343,"averageDailyVolume10Day":994840,"fiftyTwoWeekLowChange":25.589996,"fiftyTwoWeekLowChangePercent":0.34211224,"fiftyTwoWeekRange":"74.8 - - 147.46","fiftyTwoWeekHighChange":-47.070007,"fiftyTwoWeekHighChangePercent":-0.31920525,"fiftyTwoWeekChangePercent":32.405697,"earningsTimestamp":1730754000,"earningsTimestampStart":1738702800,"earningsTimestampEnd":1739221200,"earningsCallTimestampStart":1730757600,"earningsCallTimestampEnd":1730757600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":17.102215,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":5.87,"epsForward":6.66,"epsCurrentYear":6.39,"priceEpsCurrentYear":15.710485,"sharesOutstanding":53139900,"bookValue":36.289,"fiftyDayAverage":120.2334,"fiftyDayAverageChange":-19.8434,"fiftyDayAverageChangePercent":-0.16504066,"twoHundredDayAverage":112.33895,"twoHundredDayAverageChange":-11.948952,"twoHundredDayAverageChangePercent":-0.106365174,"marketCap":5334714368,"forwardPE":15.073574,"priceToBook":2.766403,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":147.46,"fiftyTwoWeekLow":74.8,"shortName":"Cirrus - Logic, Inc.","averageAnalystRating":"2.4 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":613402200000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Cirrus - Logic","symbol":"CRUS"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-4.01537,"postMarketChangePercent":0.230188,"postMarketTime":1731545990,"postMarketPrice":100.15,"postMarketChange":0.230003,"regularMarketChange":-4.1800003,"regularMarketTime":1731531601,"regularMarketPrice":99.92,"regularMarketDayHigh":103.3402,"regularMarketDayRange":"99.82 - - 103.3402","regularMarketDayLow":99.82,"regularMarketVolume":18032441,"regularMarketPreviousClose":104.1,"bid":99.79,"ask":100.08,"bidSize":4,"askSize":3,"market":"us_market","messageBoardId":"finmb_289030","fullExchangeName":"NasdaqGS","longName":"Micron - Technology, Inc.","financialCurrency":"USD","regularMarketOpen":102.85,"averageDailyVolume3Month":22404368,"averageDailyVolume10Day":16293510,"fiftyTwoWeekLowChange":26.989998,"fiftyTwoWeekLowChangePercent":0.37008086,"fiftyTwoWeekRange":"72.93 - - 157.54","fiftyTwoWeekHighChange":-57.619995,"fiftyTwoWeekHighChangePercent":-0.36574838,"fiftyTwoWeekChangePercent":30.324768,"dividendDate":1729641600,"earningsTimestamp":1727294825,"earningsTimestampStart":1734555600,"earningsTimestampEnd":1734987600,"earningsCallTimestampStart":1727296200,"earningsCallTimestampEnd":1727296200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.46,"trailingPE":149.13432,"dividendRate":0.46,"trailingAnnualDividendYield":0.004418828,"dividendYield":0.44,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.67,"epsForward":12.87,"epsCurrentYear":8.9,"priceEpsCurrentYear":11.226967,"sharesOutstanding":1108739968,"bookValue":40.695,"fiftyDayAverage":100.9334,"fiftyDayAverageChange":-1.0134048,"fiftyDayAverageChangePercent":-0.010040332,"twoHundredDayAverage":109.14775,"twoHundredDayAverageChange":-9.227753,"twoHundredDayAverageChangePercent":-0.08454368,"marketCap":115420585984,"forwardPE":7.7637916,"priceToBook":2.4553385,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":157.54,"fiftyTwoWeekLow":72.93,"shortName":"Micron - Technology, Inc.","averageAnalystRating":"1.9 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":454944600000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Micron - Technology","symbol":"MU"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-4.0075,"postMarketChangePercent":0.0,"postMarketTime":1731540376,"postMarketPrice":56.29,"postMarketChange":0.0,"regularMarketChange":-2.35,"regularMarketTime":1731531602,"regularMarketPrice":56.29,"regularMarketDayHigh":59.84,"regularMarketDayRange":"56.28 - - 59.84","regularMarketDayLow":56.28,"regularMarketVolume":782673,"regularMarketPreviousClose":58.64,"bid":56.52,"ask":58.13,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_24604","fullExchangeName":"NYSE","longName":"Bread - Financial Holdings, Inc.","financialCurrency":"USD","regularMarketOpen":58.72,"averageDailyVolume3Month":925517,"averageDailyVolume10Day":930250,"fiftyTwoWeekLowChange":30.02,"fiftyTwoWeekLowChangePercent":1.1427484,"fiftyTwoWeekRange":"26.27 - - 63.01","fiftyTwoWeekHighChange":-6.7199974,"fiftyTwoWeekHighChangePercent":-0.1066497,"fiftyTwoWeekChangePercent":113.7054,"dividendDate":1734048000,"earningsTimestamp":1729773000,"earningsTimestampStart":1737639000,"earningsTimestampEnd":1737984600,"earningsCallTimestampStart":1729773000,"earningsCallTimestampEnd":1729773000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.84,"trailingPE":8.878549,"dividendRate":0.84,"trailingAnnualDividendYield":0.014324693,"dividendYield":1.43,"marketState":"POSTPOST","epsTrailingTwelveMonths":6.34,"epsForward":5.62,"epsCurrentYear":7.43,"priceEpsCurrentYear":7.576043,"sharesOutstanding":49715100,"bookValue":62.616,"fiftyDayAverage":51.189,"fiftyDayAverageChange":5.1010017,"fiftyDayAverageChangePercent":0.09965035,"twoHundredDayAverage":44.53245,"twoHundredDayAverageChange":11.757549,"twoHundredDayAverageChangePercent":0.26402205,"marketCap":2798462976,"forwardPE":10.016015,"priceToBook":0.8989715,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Alliance - Data Systems Corporation","nameChangeDate":"2024-11-08","exchange":"NYQ","fiftyTwoWeekHigh":63.01,"fiftyTwoWeekLow":26.27,"shortName":"Bread - Financial Holdings, Inc.","averageAnalystRating":"2.7 - Hold","hasPrePostMarketData":true,"firstTradeDateMilliseconds":992611800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Bread - Financial","symbol":"BFH"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-3.95708,"postMarketChangePercent":1.6061487,"postMarketTime":1731544476,"postMarketPrice":29.1,"postMarketChange":0.460001,"regularMarketChange":-1.18,"regularMarketTime":1731531602,"regularMarketPrice":28.64,"regularMarketDayHigh":30.43,"regularMarketDayRange":"28.55 - - 30.43","regularMarketDayLow":28.55,"regularMarketVolume":754962,"regularMarketPreviousClose":29.82,"bid":28.4,"ask":30.0,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_549296186","fullExchangeName":"NYSE","longName":"Dream - Finders Homes, Inc.","financialCurrency":"USD","regularMarketOpen":30.25,"averageDailyVolume3Month":396182,"averageDailyVolume10Day":419900,"fiftyTwoWeekLowChange":5.1800003,"fiftyTwoWeekLowChangePercent":0.22080138,"fiftyTwoWeekRange":"23.46 - - 44.38","fiftyTwoWeekHighChange":-15.740002,"fiftyTwoWeekHighChangePercent":-0.3546643,"fiftyTwoWeekChangePercent":22.766567,"earningsTimestamp":1730372400,"earningsTimestampStart":1730372400,"earningsTimestampEnd":1730372400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":9.875861,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":2.9,"epsForward":3.36,"epsCurrentYear":3.19,"priceEpsCurrentYear":8.978056,"sharesOutstanding":34250100,"bookValue":11.929,"fiftyDayAverage":33.2104,"fiftyDayAverageChange":-4.5704,"fiftyDayAverageChangePercent":-0.13761955,"twoHundredDayAverage":32.4806,"twoHundredDayAverageChange":-3.840599,"twoHundredDayAverageChangePercent":-0.11824287,"marketCap":2787462400,"forwardPE":8.523809,"priceToBook":2.4008718,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-01-21","exchange":"NYQ","fiftyTwoWeekHigh":44.38,"fiftyTwoWeekLow":23.46,"shortName":"Dream - Finders Homes, Inc.","averageAnalystRating":"3.0 - Hold","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1611239400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Dream - Finders Homes","symbol":"DFH"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","currency":"USD","regularMarketChangePercent":-3.9430962,"postMarketChangePercent":0.294265,"postMarketTime":1731541246,"postMarketPrice":204.5,"postMarketChange":0.600006,"regularMarketChange":-8.37001,"regularMarketTime":1731531602,"regularMarketPrice":203.9,"regularMarketDayHigh":212.1,"regularMarketDayRange":"203.83 - - 212.1","regularMarketDayLow":203.83,"regularMarketVolume":1780452,"regularMarketPreviousClose":212.27,"bid":203.64,"ask":261.23,"bidSize":3,"askSize":1,"market":"us_market","messageBoardId":"finmb_397809","fullExchangeName":"NasdaqGS","longName":"ICON - Public Limited Company","financialCurrency":"USD","regularMarketOpen":212.08,"averageDailyVolume3Month":991706,"averageDailyVolume10Day":1831160,"fiftyTwoWeekLowChange":0.069992065,"fiftyTwoWeekLowChangePercent":3.433845E-4,"fiftyTwoWeekRange":"203.83 - - 347.72","fiftyTwoWeekHighChange":-143.82,"fiftyTwoWeekHighChangePercent":-0.41360867,"fiftyTwoWeekChangePercent":-24.217648,"earningsTimestamp":1729714500,"earningsTimestampStart":1729714500,"earningsTimestampEnd":1729714500,"earningsCallTimestampStart":1729771200,"earningsCallTimestampEnd":1729771200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":22.655556,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":9.0,"epsForward":15.07,"epsCurrentYear":13.99,"priceEpsCurrentYear":14.574696,"sharesOutstanding":82559400,"bookValue":118.394,"fiftyDayAverage":271.447,"fiftyDayAverageChange":-67.547,"fiftyDayAverageChangePercent":-0.24884047,"twoHundredDayAverage":304.5045,"twoHundredDayAverageChange":-100.60449,"twoHundredDayAverageChangePercent":-0.33038756,"marketCap":16833861632,"forwardPE":13.530192,"priceToBook":1.7222157,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NMS","fiftyTwoWeekHigh":347.72,"fiftyTwoWeekLow":203.83,"shortName":"ICON - plc","averageAnalystRating":"1.9 - Buy","hasPrePostMarketData":true,"firstTradeDateMilliseconds":895239000000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"ICLR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq - Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-3.85035,"postMarketChangePercent":-0.18889,"postMarketTime":1731545818,"postMarketPrice":26.42,"postMarketChange":-0.0499992,"regularMarketChange":-1.06,"regularMarketTime":1731531602,"regularMarketPrice":26.47,"regularMarketDayHigh":28.0,"regularMarketDayRange":"26.3107 - - 28.0","regularMarketDayLow":26.3107,"regularMarketVolume":4116504,"regularMarketPreviousClose":27.53,"bid":26.31,"ask":26.8,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_717692078","fullExchangeName":"NYSE","longName":"Clear - Secure, Inc.","financialCurrency":"USD","regularMarketOpen":28.0,"averageDailyVolume3Month":2331803,"averageDailyVolume10Day":3425660,"fiftyTwoWeekLowChange":10.42,"fiftyTwoWeekLowChangePercent":0.64922124,"fiftyTwoWeekRange":"16.05 - - 38.88","fiftyTwoWeekHighChange":-12.410002,"fiftyTwoWeekHighChangePercent":-0.31918728,"fiftyTwoWeekChangePercent":39.53371,"dividendDate":1734393600,"earningsTimestamp":1730977200,"earningsTimestampStart":1730977200,"earningsTimestampEnd":1730977200,"earningsCallTimestampStart":1730984400,"earningsCallTimestampEnd":1730984400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.38,"trailingPE":30.779068,"dividendRate":0.5,"trailingAnnualDividendYield":0.0138031235,"dividendYield":1.82,"marketState":"POSTPOST","epsTrailingTwelveMonths":0.86,"epsForward":1.4,"epsCurrentYear":1.22,"priceEpsCurrentYear":21.69672,"sharesOutstanding":94015104,"bookValue":1.364,"fiftyDayAverage":32.9918,"fiftyDayAverageChange":-6.521799,"fiftyDayAverageChangePercent":-0.1976794,"twoHundredDayAverage":23.3196,"twoHundredDayAverageChange":3.1504002,"twoHundredDayAverageChangePercent":0.13509667,"marketCap":3690050048,"forwardPE":18.907143,"priceToBook":19.406158,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-06-30","exchange":"NYQ","fiftyTwoWeekHigh":38.88,"fiftyTwoWeekLow":16.05,"shortName":"Clear - Secure, Inc.","averageAnalystRating":"2.7 - Hold","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1625059800000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Clear - Secure","symbol":"YOU"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed - Quote","triggerable":false,"customPriceAlertConfidence":"LOW","currency":"USD","regularMarketChangePercent":-3.83352,"postMarketChangePercent":0.0,"postMarketTime":1731545234,"postMarketPrice":8.78,"postMarketChange":0.0,"regularMarketChange":-0.35,"regularMarketTime":1731531602,"regularMarketPrice":8.78,"regularMarketDayHigh":9.12,"regularMarketDayRange":"8.765 - - 9.12","regularMarketDayLow":8.765,"regularMarketVolume":1403140,"regularMarketPreviousClose":9.13,"bid":8.51,"ask":9.31,"bidSize":18,"askSize":30,"market":"us_market","messageBoardId":"finmb_345779","fullExchangeName":"NYSE","longName":"Bausch - Health Companies Inc.","financialCurrency":"USD","regularMarketOpen":9.12,"averageDailyVolume3Month":2175614,"averageDailyVolume10Day":2878790,"fiftyTwoWeekLowChange":4.8199997,"fiftyTwoWeekLowChangePercent":1.2171717,"fiftyTwoWeekRange":"3.96 - - 11.46","fiftyTwoWeekHighChange":-2.6800003,"fiftyTwoWeekHighChangePercent":-0.23385692,"fiftyTwoWeekChangePercent":33.84147,"earningsTimestamp":1730318700,"earningsTimestampStart":1730318700,"earningsTimestampEnd":1730318700,"earningsCallTimestampStart":1730322000,"earningsCallTimestampEnd":1730322000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"POSTPOST","epsTrailingTwelveMonths":-0.46,"epsForward":4.41,"epsCurrentYear":3.72,"priceEpsCurrentYear":2.360215,"sharesOutstanding":367803008,"bookValue":-3.193,"fiftyDayAverage":8.0844,"fiftyDayAverageChange":0.69559956,"fiftyDayAverageChangePercent":0.086042196,"twoHundredDayAverage":7.7067,"twoHundredDayAverageChange":1.0732999,"twoHundredDayAverageChangePercent":0.13926841,"marketCap":3370826240,"forwardPE":1.9909297,"priceToBook":-2.749765,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"exchange":"NYQ","fiftyTwoWeekHigh":11.46,"fiftyTwoWeekLow":3.96,"shortName":"Bausch - Health Companies Inc.","averageAnalystRating":"3.0 - Hold","hasPrePostMarketData":true,"firstTradeDateMilliseconds":764951400000,"priceHint":2,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Bausch - Health Companies","symbol":"BHC"}],"useRecords":false}],"error":null}}' + string: xbV0f0TLaim + headers: + Age: + - '0' + Connection: + - keep-alive + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=31536000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - private, max-age=60, stale-while-revalidate=30 + content-length: + - '11' + content-type: + - text/plain;charset=utf-8 + date: + - Mon, 20 Jan 2025 22:31:28 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-external-services-api--mtls-production-gq1.finance-k8s:4080/* + x-envoy-upstream-service-time: + - '1' + y-rid: + - 7048mr1jotjm0 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate, br, zstd + Connection: + - keep-alive + Cookie: + - MOCK_COOKIE + method: GET + uri: https://query2.finance.yahoo.com/v1/finance/screener/predefined/saved?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&defaults=offset&defaults=size&defaults=sortAsc&defaults=sortField&defaults=userId&defaults=userIdType&formatted=false&lang=en-US&offset=0®ion=US&scrIds=day_losers&size=250 + response: + body: + string: '{"finance":{"result":[{"id":"8ecefa87-a8b0-434a-9b39-e061a0baef9b","title":"Day + Losers","description":"Discover the equities with the greatest losses in the + trading day.","canonicalName":"DAY_LOSERS","criteriaMeta":{"size":25,"offset":0,"sortField":"percentchange","sortType":"ASC","quoteType":"EQUITY","criteria":[{"field":"percentchange","subField":null,"operators":["LT"],"values":[-2.5],"labelsSelected":[],"dependentValues":[]},{"field":"region","subField":null,"operators":["EQ"],"values":[],"labelsSelected":[53],"dependentValues":[]},{"field":"intradaymarketcap","subField":null,"operators":["EQ"],"values":[],"labelsSelected":[1,2,3],"dependentValues":[]},{"field":"intradayprice","subField":null,"operators":["GTE"],"values":[5],"labelsSelected":[],"dependentValues":[]},{"field":"dayvolume","subField":null,"operators":["GT"],"values":[20000],"labelsSelected":[],"dependentValues":[]}],"topOperator":"AND"},"rawCriteria":"{\"offset\":0,\"size\":25,\"sortField\":\"percentchange\",\"sortType\":\"ASC\",\"quoteType\":\"EQUITY\",\"query\":{\"operator\":\"AND\",\"operands\":[{\"operator\":\"LT\",\"operands\":[\"percentchange\",-2.5]},{\"operator\":\"eq\",\"operands\":[\"region\",\"us\"]},{\"operator\":\"or\",\"operands\":[{\"operator\":\"BTWN\",\"operands\":[\"intradaymarketcap\",2000000000,10000000000]},{\"operator\":\"BTWN\",\"operands\":[\"intradaymarketcap\",10000000000,100000000000]},{\"operator\":\"GT\",\"operands\":[\"intradaymarketcap\",100000000000]}]},{\"operator\":\"gte\",\"operands\":[\"intradayprice\",5]},{\"operator\":\"gt\",\"operands\":[\"dayvolume\",20000]}]}}","start":0,"count":25,"total":68,"quotes":[{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-3.820312,"lastClosePriceToNNWCPerShare":49.99928987009621,"currency":"USD","regularMarketChangePercent":-12.544483,"exchange":"NCM","fiftyTwoWeekHigh":21.42,"fiftyTwoWeekLow":0.66,"averageAnalystRating":"1.2 + - Strong Buy","shortName":"Rigetti Computing, Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1619098200000,"priceHint":2,"postMarketChangePercent":1.32248,"postMarketTime":1737161996,"postMarketPrice":9.96,"postMarketChange":0.13,"regularMarketChange":-1.4099998,"regularMarketTime":1737147601,"regularMarketPrice":9.83,"regularMarketDayHigh":11.16,"regularMarketDayRange":"9.77 + - 11.16","regularMarketDayLow":9.77,"regularMarketVolume":155069687,"regularMarketPreviousClose":11.24,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_270093415","fullExchangeName":"NasdaqCM","longName":"Rigetti + Computing, Inc.","financialCurrency":"USD","regularMarketOpen":10.53,"averageDailyVolume3Month":117215037,"averageDailyVolume10Day":222531440,"corporateActions":[],"fiftyTwoWeekLowChange":9.17,"fiftyTwoWeekLowChangePercent":13.893939,"fiftyTwoWeekRange":"0.66 + - 21.42","fiftyTwoWeekHighChange":-11.59,"fiftyTwoWeekHighChangePercent":-0.5410831,"fiftyTwoWeekChangePercent":793.63635,"earningsTimestamp":1731411049,"earningsTimestampStart":1741809600,"earningsTimestampEnd":1742241600,"earningsCallTimestampStart":1731418200,"earningsCallTimestampEnd":1731418200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.37,"epsForward":-0.33,"epsCurrentYear":-0.29,"priceEpsCurrentYear":-33.896553,"sharesOutstanding":280048992,"bookValue":0.64,"fiftyDayAverage":7.1178,"fiftyDayAverageChange":2.7121997,"fiftyDayAverageChangePercent":0.38104466,"twoHundredDayAverage":2.55015,"twoHundredDayAverageChange":7.27985,"twoHundredDayAverageChangePercent":2.8546753,"marketCap":2752881664,"forwardPE":-29.787878,"priceToBook":15.359375,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2022-03-02","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Rigetti + Computing","symbol":"RGTI"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":144.060179,"lastClosePriceToNNWCPerShare":-38.9413222350355,"currency":"USD","regularMarketChangePercent":-8.392874,"exchange":"NMS","fiftyTwoWeekHigh":142.64,"fiftyTwoWeekLow":74.03,"averageAnalystRating":"1.2 + - Strong Buy","shortName":"Agilysys, Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":322151400000,"priceHint":2,"postMarketChangePercent":3.24276,"postMarketTime":1737159414,"postMarketPrice":125.76,"postMarketChange":3.95,"regularMarketChange":-11.160004,"regularMarketTime":1737147601,"regularMarketPrice":121.81,"regularMarketDayHigh":134.96,"regularMarketDayRange":"121.55 + - 134.96","regularMarketDayLow":121.55,"regularMarketVolume":606242,"regularMarketPreviousClose":132.97,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_297147","fullExchangeName":"NasdaqGS","longName":"Agilysys, + Inc.","financialCurrency":"USD","regularMarketOpen":134.96,"averageDailyVolume3Month":225880,"averageDailyVolume10Day":222950,"corporateActions":[],"fiftyTwoWeekLowChange":47.78,"fiftyTwoWeekLowChangePercent":0.645414,"fiftyTwoWeekRange":"74.03 + - 142.64","fiftyTwoWeekHighChange":-20.830002,"fiftyTwoWeekHighChangePercent":-0.14603198,"fiftyTwoWeekChangePercent":40.479755,"dividendDate":1249257600,"earningsTimestamp":1737493200,"earningsTimestampStart":1737493200,"earningsTimestampEnd":1737493200,"earningsCallTimestampStart":1737495000,"earningsCallTimestampEnd":1737495000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":34.605114,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":3.52,"epsForward":1.68,"epsCurrentYear":1.325,"priceEpsCurrentYear":91.93207,"sharesOutstanding":27950500,"bookValue":9.432,"fiftyDayAverage":130.1712,"fiftyDayAverageChange":-8.361206,"fiftyDayAverageChangePercent":-0.06423238,"twoHundredDayAverage":108.00735,"twoHundredDayAverageChange":13.80265,"twoHundredDayAverageChangePercent":0.12779362,"marketCap":3404650240,"forwardPE":72.50595,"priceToBook":12.914546,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Agilysys","symbol":"AGYS"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":5.672358,"lastClosePriceToNNWCPerShare":-0.7832374919632439,"currency":"USD","regularMarketChangePercent":-7.45151,"exchange":"NYQ","fiftyTwoWeekHigh":80.72,"fiftyTwoWeekLow":37.89,"averageAnalystRating":"2.0 + - Buy","shortName":"Mercury General Corporation","hasPrePostMarketData":true,"firstTradeDateMilliseconds":501345000000,"priceHint":2,"postMarketChangePercent":1.68085,"postMarketTime":1737159679,"postMarketPrice":49.0,"postMarketChange":0.810001,"regularMarketChange":-3.88,"regularMarketTime":1737147602,"regularMarketPrice":48.19,"regularMarketDayHigh":52.63,"regularMarketDayRange":"48.14 + - 52.63","regularMarketDayLow":48.14,"regularMarketVolume":1124653,"regularMarketPreviousClose":52.07,"bid":47.34,"ask":49.41,"bidSize":8,"askSize":12,"market":"us_market","messageBoardId":"finmb_287366","fullExchangeName":"NYSE","longName":"Mercury + General Corporation","financialCurrency":"USD","regularMarketOpen":52.63,"averageDailyVolume3Month":431122,"averageDailyVolume10Day":1243970,"corporateActions":[],"fiftyTwoWeekLowChange":10.299999,"fiftyTwoWeekLowChangePercent":0.27183953,"fiftyTwoWeekRange":"37.89 + - 80.72","fiftyTwoWeekHighChange":-32.530003,"fiftyTwoWeekHighChangePercent":-0.40299803,"fiftyTwoWeekChangePercent":17.593945,"dividendDate":1735171200,"earningsTimestamp":1730232303,"earningsTimestampStart":1739271540,"earningsTimestampEnd":1739793600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":1.27,"trailingPE":4.7760158,"dividendRate":1.27,"trailingAnnualDividendYield":0.024390243,"dividendYield":2.64,"marketState":"CLOSED","epsTrailingTwelveMonths":10.09,"epsForward":6.5,"epsCurrentYear":5.05,"priceEpsCurrentYear":9.542574,"sharesOutstanding":55371100,"bookValue":33.633,"fiftyDayAverage":69.3518,"fiftyDayAverageChange":-21.1618,"fiftyDayAverageChangePercent":-0.305137,"twoHundredDayAverage":61.1556,"twoHundredDayAverageChange":-12.965603,"twoHundredDayAverageChangePercent":-0.21201006,"marketCap":2668333312,"forwardPE":7.413846,"priceToBook":1.4328189,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Mercury + General","symbol":"MCY"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":25.208744,"lastClosePriceToNNWCPerShare":-5.745930693678308,"currency":"USD","regularMarketChangePercent":-7.384533,"exchange":"NMS","fiftyTwoWeekHigh":219.51,"fiftyTwoWeekLow":153.12,"averageAnalystRating":"1.8 + - Buy","shortName":"J.B. Hunt Transport Services, I","hasPrePostMarketData":true,"firstTradeDateMilliseconds":438359400000,"priceHint":2,"postMarketChangePercent":0.115974,"postMarketTime":1737160619,"postMarketPrice":172.65,"postMarketChange":0.199997,"regularMarketChange":-13.75,"regularMarketTime":1737147601,"regularMarketPrice":172.45,"regularMarketDayHigh":178.39,"regularMarketDayRange":"171.41 + - 178.39","regularMarketDayLow":171.41,"regularMarketVolume":3299660,"regularMarketPreviousClose":186.2,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_278576","fullExchangeName":"NasdaqGS","longName":"J.B. + Hunt Transport Services, Inc.","financialCurrency":"USD","regularMarketOpen":175.0,"averageDailyVolume3Month":853809,"averageDailyVolume10Day":1097890,"corporateActions":[],"fiftyTwoWeekLowChange":19.330002,"fiftyTwoWeekLowChangePercent":0.12624088,"fiftyTwoWeekRange":"153.12 + - 219.51","fiftyTwoWeekHighChange":-47.059998,"fiftyTwoWeekHighChangePercent":-0.21438658,"fiftyTwoWeekChangePercent":-16.923595,"dividendDate":1732233600,"earningsTimestamp":1737061500,"earningsTimestampStart":1744628340,"earningsTimestampEnd":1744977600,"earningsCallTimestampStart":1737064800,"earningsCallTimestampEnd":1737064800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":31.072071,"dividendRate":1.72,"trailingAnnualDividendYield":0.0,"dividendYield":0.92,"marketState":"CLOSED","epsTrailingTwelveMonths":5.55,"epsForward":7.18,"epsCurrentYear":6.4135,"priceEpsCurrentYear":26.888594,"sharesOutstanding":100555000,"bookValue":39.673,"fiftyDayAverage":181.0442,"fiftyDayAverageChange":-8.594208,"fiftyDayAverageChangePercent":-0.047470216,"twoHundredDayAverage":171.61095,"twoHundredDayAverageChange":0.8390503,"twoHundredDayAverageChangePercent":0.0048892586,"marketCap":17340708864,"forwardPE":24.018106,"priceToBook":4.346785,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"J.B. + Hunt Transport Services","symbol":"JBHT"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":-82.02927,"lastClosePriceToNNWCPerShare":-3.8570780204861244,"currency":"USD","regularMarketChangePercent":-7.3170753,"exchange":"NMS","fiftyTwoWeekHigh":26.12,"fiftyTwoWeekLow":12.74,"averageAnalystRating":"1.7 + - Buy","shortName":"Fluence Energy, Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1635427800000,"priceHint":2,"postMarketChangePercent":0.621196,"postMarketTime":1737161989,"postMarketPrice":14.5297,"postMarketChange":0.0897007,"regularMarketChange":-1.1400003,"regularMarketTime":1737147601,"regularMarketPrice":14.44,"regularMarketDayHigh":14.8,"regularMarketDayRange":"13.98 + - 14.8","regularMarketDayLow":13.98,"regularMarketVolume":7467764,"regularMarketPreviousClose":15.58,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_1683252955","fullExchangeName":"NasdaqGS","longName":"Fluence + Energy, Inc.","financialCurrency":"USD","regularMarketOpen":14.24,"averageDailyVolume3Month":2979283,"averageDailyVolume10Day":3624310,"corporateActions":[],"fiftyTwoWeekLowChange":1.6999998,"fiftyTwoWeekLowChangePercent":0.13343798,"fiftyTwoWeekRange":"12.74 + - 26.12","fiftyTwoWeekHighChange":-11.680001,"fiftyTwoWeekHighChangePercent":-0.44716695,"fiftyTwoWeekChangePercent":-31.596397,"earningsTimestamp":1732568400,"earningsTimestampStart":1732568400,"earningsTimestampEnd":1732568400,"earningsCallTimestampStart":1732627800,"earningsCallTimestampEnd":1732627800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":111.07693,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":0.13,"epsForward":0.65,"epsCurrentYear":0.80644,"priceEpsCurrentYear":17.905857,"sharesOutstanding":129621000,"bookValue":3.268,"fiftyDayAverage":18.0662,"fiftyDayAverageChange":-3.6262007,"fiftyDayAverageChangePercent":-0.20071739,"twoHundredDayAverage":18.8324,"twoHundredDayAverageChange":-4.3924,"twoHundredDayAverageChangePercent":-0.23323633,"marketCap":2615372800,"forwardPE":22.215385,"priceToBook":4.418605,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-10-28","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Fluence + Energy","symbol":"FLNC"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-23.020114,"lastClosePriceToNNWCPerShare":-13.173857304390557,"currency":"USD","regularMarketChangePercent":-6.4739137,"exchange":"NGM","fiftyTwoWeekHigh":52.2,"fiftyTwoWeekLow":17.11,"averageAnalystRating":"2.0 + - Buy","shortName":"Symbotic Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1615300200000,"priceHint":2,"postMarketChangePercent":-0.0339362,"postMarketTime":1737161973,"postMarketPrice":29.7499,"postMarketChange":-0.0100994,"regularMarketChange":-2.0599995,"regularMarketTime":1737147600,"regularMarketPrice":29.76,"regularMarketDayHigh":32.3754,"regularMarketDayRange":"29.65 + - 32.3754","regularMarketDayLow":29.65,"regularMarketVolume":4202911,"regularMarketPreviousClose":31.82,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_247089947","fullExchangeName":"NasdaqGM","longName":"Symbotic + Inc.","financialCurrency":"USD","regularMarketOpen":31.59,"averageDailyVolume3Month":2619027,"averageDailyVolume10Day":3022600,"corporateActions":[],"fiftyTwoWeekLowChange":12.65,"fiftyTwoWeekLowChangePercent":0.7393337,"fiftyTwoWeekRange":"17.11 + - 52.2","fiftyTwoWeekHighChange":-22.44,"fiftyTwoWeekHighChangePercent":-0.42988506,"fiftyTwoWeekChangePercent":-34.304638,"earningsTimestamp":1731963600,"earningsTimestampStart":1731963600,"earningsTimestampEnd":1731963600,"earningsCallTimestampStart":1731967200,"earningsCallTimestampEnd":1731967200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.14,"epsForward":0.36,"epsCurrentYear":0.30656,"priceEpsCurrentYear":97.07724,"sharesOutstanding":106353000,"bookValue":4.061,"fiftyDayAverage":28.5294,"fiftyDayAverageChange":1.2306004,"fiftyDayAverageChangePercent":0.043134462,"twoHundredDayAverage":31.540476,"twoHundredDayAverageChange":-1.7804756,"twoHundredDayAverageChangePercent":-0.0564505,"marketCap":17481590784,"forwardPE":82.666664,"priceToBook":7.3282447,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Symbotic","symbol":"SYM"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastClosePriceToNNWCPerShare":-7.604427629528767E-4,"currency":"USD","regularMarketChangePercent":-6.43196,"exchange":"NYQ","fiftyTwoWeekHigh":118.42,"fiftyTwoWeekLow":28.62,"averageAnalystRating":"2.1 + - Buy","shortName":"Banco Macro S.A.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1143469800000,"priceHint":2,"postMarketChangePercent":0.8999545,"postMarketTime":1737162000,"postMarketPrice":105.39,"postMarketChange":0.94000244,"regularMarketChange":-7.18,"regularMarketTime":1737147602,"regularMarketPrice":104.45,"regularMarketDayHigh":111.95,"regularMarketDayRange":"102.1001 + - 111.95","regularMarketDayLow":102.1001,"regularMarketVolume":564169,"regularMarketPreviousClose":111.63,"bid":104.0,"ask":105.4,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_878443","fullExchangeName":"NYSE","longName":"Banco + Macro S.A.","financialCurrency":"ARS","regularMarketOpen":112.21,"averageDailyVolume3Month":322052,"averageDailyVolume10Day":394610,"corporateActions":[],"fiftyTwoWeekLowChange":75.829994,"fiftyTwoWeekLowChangePercent":2.6495454,"fiftyTwoWeekRange":"28.62 + - 118.42","fiftyTwoWeekHighChange":-13.970001,"fiftyTwoWeekHighChangePercent":-0.11796995,"fiftyTwoWeekChangePercent":245.63203,"dividendDate":1724371200,"earningsTimestamp":1732746248,"earningsTimestampStart":1740567540,"earningsTimestampEnd":1741003200,"earningsCallTimestampStart":1733155200,"earningsCallTimestampEnd":1733155200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":14.752825,"dividendRate":21.57,"trailingAnnualDividendYield":0.0,"dividendYield":26.29,"marketState":"CLOSED","epsTrailingTwelveMonths":7.08,"epsForward":10.12,"epsCurrentYear":6533.047,"priceEpsCurrentYear":0.015987946,"sharesOutstanding":62817800,"bookValue":3196.936,"fiftyDayAverage":93.0364,"fiftyDayAverageChange":11.413597,"fiftyDayAverageChangePercent":0.12267883,"twoHundredDayAverage":68.38335,"twoHundredDayAverageChange":36.06665,"twoHundredDayAverageChangePercent":0.5274186,"marketCap":8042775040,"forwardPE":10.321146,"priceToBook":0.032671906,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Banco + Macro","symbol":"BMA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-25.994505,"lastClosePriceToNNWCPerShare":41.5927949759476,"currency":"USD","regularMarketChangePercent":-6.40192,"exchange":"NYQ","fiftyTwoWeekHigh":54.74,"fiftyTwoWeekLow":6.22,"averageAnalystRating":"1.8 + - Buy","shortName":"IonQ, Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1609770600000,"priceHint":2,"postMarketChangePercent":1.05426,"postMarketTime":1737161997,"postMarketPrice":39.3,"postMarketChange":0.41,"regularMarketChange":-2.66,"regularMarketTime":1737147602,"regularMarketPrice":38.89,"regularMarketDayHigh":42.35,"regularMarketDayRange":"38.77 + - 42.35","regularMarketDayLow":38.77,"regularMarketVolume":29706808,"regularMarketPreviousClose":41.55,"bid":39.2,"ask":39.3,"bidSize":13,"askSize":10,"market":"us_market","messageBoardId":"finmb_531207172","fullExchangeName":"NYSE","longName":"IonQ, + Inc.","financialCurrency":"USD","regularMarketOpen":40.03,"averageDailyVolume3Month":32890160,"averageDailyVolume10Day":52498540,"corporateActions":[],"fiftyTwoWeekLowChange":32.67,"fiftyTwoWeekLowChangePercent":5.2524114,"fiftyTwoWeekRange":"6.22 + - 54.74","fiftyTwoWeekHighChange":-15.850002,"fiftyTwoWeekHighChangePercent":-0.28955063,"fiftyTwoWeekChangePercent":231.82594,"earningsTimestamp":1730927100,"earningsTimestampStart":1740603600,"earningsTimestampEnd":1741035600,"earningsCallTimestampStart":1730928600,"earningsCallTimestampEnd":1730928600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.82,"epsForward":-0.88,"epsCurrentYear":-0.428,"priceEpsCurrentYear":-90.86449,"sharesOutstanding":216392000,"bookValue":2.017,"fiftyDayAverage":34.3892,"fiftyDayAverageChange":4.500801,"fiftyDayAverageChangePercent":0.13087834,"twoHundredDayAverage":15.10205,"twoHundredDayAverageChange":23.787949,"twoHundredDayAverageChangePercent":1.575147,"marketCap":8415484928,"forwardPE":-44.19318,"priceToBook":19.28111,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"IonQ","symbol":"IONQ"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":100.861399,"lastClosePriceToNNWCPerShare":-4.915961092057552,"currency":"USD","regularMarketChangePercent":-6.3500023,"exchange":"NMS","fiftyTwoWeekHigh":181.64,"fiftyTwoWeekLow":49.81,"averageAnalystRating":"1.5 + - Strong Buy","shortName":"FTAI Aviation Ltd.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1431610200000,"priceHint":2,"postMarketChangePercent":0.201726,"postMarketTime":1737161961,"postMarketPrice":112.607,"postMarketChange":0.2267,"regularMarketChange":-7.6200027,"regularMarketTime":1737147601,"regularMarketPrice":112.38,"regularMarketDayHigh":128.24,"regularMarketDayRange":"110.37 + - 128.24","regularMarketDayLow":110.37,"regularMarketVolume":5554301,"regularMarketPreviousClose":120.0,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_253706543","fullExchangeName":"NasdaqGS","longName":"FTAI + Aviation Ltd.","financialCurrency":"USD","regularMarketOpen":123.18,"averageDailyVolume3Month":1892855,"averageDailyVolume10Day":4844180,"corporateActions":[],"fiftyTwoWeekLowChange":62.569996,"fiftyTwoWeekLowChangePercent":1.2561734,"fiftyTwoWeekRange":"49.81 + - 181.64","fiftyTwoWeekHighChange":-69.26,"fiftyTwoWeekHighChangePercent":-0.3813037,"fiftyTwoWeekChangePercent":120.137115,"dividendDate":1732492800,"earningsTimestamp":1730319300,"earningsTimestampStart":1740085200,"earningsTimestampEnd":1740430800,"earningsCallTimestampStart":1730379600,"earningsCallTimestampEnd":1730379600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":1.2,"dividendRate":1.2,"trailingAnnualDividendYield":0.010000001,"dividendYield":1.07,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.08,"epsForward":4.91,"epsCurrentYear":3.16,"priceEpsCurrentYear":35.56329,"sharesOutstanding":102550000,"bookValue":1.154,"fiftyDayAverage":150.2553,"fiftyDayAverageChange":-37.875298,"fiftyDayAverageChangePercent":-0.25207296,"twoHundredDayAverage":115.91095,"twoHundredDayAverageChange":-3.5309525,"twoHundredDayAverageChangePercent":-0.03046263,"marketCap":11524569088,"forwardPE":22.887983,"priceToBook":97.38301,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Fortress + Transportation and Infrastructure Investors LLC","nameChangeDate":"2025-01-20","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"FTAI"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-13.265789,"lastClosePriceToNNWCPerShare":-26.874579396914612,"currency":"USD","regularMarketChangePercent":-6.341586,"exchange":"NGM","fiftyTwoWeekHigh":53.69,"fiftyTwoWeekLow":21.85,"averageAnalystRating":"1.9 + - Buy","shortName":"Tandem Diabetes Care, Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1384439400000,"priceHint":2,"postMarketChangePercent":-0.995739,"postMarketTime":1737148083,"postMarketPrice":34.8,"postMarketChange":-0.350002,"regularMarketChange":-2.3799973,"regularMarketTime":1737147600,"regularMarketPrice":35.15,"regularMarketDayHigh":37.84,"regularMarketDayRange":"34.33 + - 37.84","regularMarketDayLow":34.33,"regularMarketVolume":1917785,"regularMarketPreviousClose":37.53,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_46368713","fullExchangeName":"NasdaqGM","longName":"Tandem + Diabetes Care, Inc.","financialCurrency":"USD","regularMarketOpen":37.73,"averageDailyVolume3Month":1348421,"averageDailyVolume10Day":1021360,"corporateActions":[],"fiftyTwoWeekLowChange":13.300001,"fiftyTwoWeekLowChangePercent":0.6086957,"fiftyTwoWeekRange":"21.85 + - 53.69","fiftyTwoWeekHighChange":-18.539997,"fiftyTwoWeekHighChangePercent":-0.34531567,"fiftyTwoWeekChangePercent":44.76936,"dividendDate":1507593600,"earningsTimestamp":1740603600,"earningsTimestampStart":1740603600,"earningsTimestampEnd":1740603600,"earningsCallTimestampStart":1740605400,"earningsCallTimestampEnd":1740605400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-1.94,"epsForward":-1.21,"epsCurrentYear":-1.71676,"priceEpsCurrentYear":-20.474615,"sharesOutstanding":65676500,"bookValue":3.621,"fiftyDayAverage":33.3571,"fiftyDayAverageChange":1.7929001,"fiftyDayAverageChangePercent":0.05374868,"twoHundredDayAverage":39.202724,"twoHundredDayAverageChange":-4.052723,"twoHundredDayAverageChangePercent":-0.1033786,"marketCap":2308529152,"forwardPE":-29.049587,"priceToBook":9.707264,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Tandem + Diabetes Care","symbol":"TNDM"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-60.77614,"lastClosePriceToNNWCPerShare":-132.60627239257073,"currency":"USD","regularMarketChangePercent":-6.25477,"exchange":"NYQ","fiftyTwoWeekHigh":27.1,"fiftyTwoWeekLow":11.35,"averageAnalystRating":"2.1 + - Buy","shortName":"Warby Parker Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1632922200000,"priceHint":2,"postMarketChangePercent":-0.12205324,"postMarketTime":1737161377,"postMarketPrice":24.55,"postMarketChange":-0.030000687,"regularMarketChange":-1.64,"regularMarketTime":1737147602,"regularMarketPrice":24.58,"regularMarketDayHigh":26.21,"regularMarketDayRange":"24.24 + - 26.21","regularMarketDayLow":24.24,"regularMarketVolume":2568537,"regularMarketPreviousClose":26.22,"bid":24.55,"ask":27.0,"bidSize":10,"askSize":13,"market":"us_market","messageBoardId":"finmb_107146021","fullExchangeName":"NYSE","longName":"Warby + Parker Inc.","financialCurrency":"USD","regularMarketOpen":25.85,"averageDailyVolume3Month":1692883,"averageDailyVolume10Day":1743640,"corporateActions":[],"fiftyTwoWeekLowChange":13.23,"fiftyTwoWeekLowChangePercent":1.1656387,"fiftyTwoWeekRange":"11.35 + - 27.1","fiftyTwoWeekHighChange":-2.5200005,"fiftyTwoWeekHighChangePercent":-0.092988946,"fiftyTwoWeekChangePercent":85.64955,"earningsTimestamp":1730979900,"earningsTimestampStart":1740576600,"earningsTimestampEnd":1741008600,"earningsCallTimestampStart":1730984400,"earningsCallTimestampEnd":1730984400,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.27,"epsForward":0.32,"epsCurrentYear":0.23464,"priceEpsCurrentYear":104.75622,"sharesOutstanding":101662000,"bookValue":2.8,"fiftyDayAverage":23.5658,"fiftyDayAverageChange":1.0142002,"fiftyDayAverageChangePercent":0.043036953,"twoHundredDayAverage":17.29375,"twoHundredDayAverageChange":7.286249,"twoHundredDayAverageChangePercent":0.42132267,"marketCap":2957883392,"forwardPE":76.8125,"priceToBook":8.778571,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-09-29","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Warby + Parker","symbol":"WRBY"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":-85.938245,"lastClosePriceToNNWCPerShare":45.069990546917744,"currency":"USD","regularMarketChangePercent":-6.0178037,"exchange":"NMS","fiftyTwoWeekHigh":183.0,"fiftyTwoWeekLow":62.96,"averageAnalystRating":"1.4 + - Strong Buy","shortName":"Natera, Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1435757400000,"priceHint":2,"postMarketChangePercent":0.435718,"postMarketTime":1737161864,"postMarketPrice":159.05,"postMarketChange":0.690002,"regularMarketChange":-10.139999,"regularMarketTime":1737147601,"regularMarketPrice":158.36,"regularMarketDayHigh":169.52,"regularMarketDayRange":"157.51 + - 169.52","regularMarketDayLow":157.51,"regularMarketVolume":2384856,"regularMarketPreviousClose":168.5,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_27603970","fullExchangeName":"NasdaqGS","longName":"Natera, + Inc.","financialCurrency":"USD","regularMarketOpen":168.92,"averageDailyVolume3Month":1271159,"averageDailyVolume10Day":1413380,"corporateActions":[],"fiftyTwoWeekLowChange":95.4,"fiftyTwoWeekLowChangePercent":1.5152478,"fiftyTwoWeekRange":"62.96 + - 183.0","fiftyTwoWeekHighChange":-24.64,"fiftyTwoWeekHighChangePercent":-0.1346448,"fiftyTwoWeekChangePercent":137.4925,"earningsTimestamp":1736727600,"earningsTimestampStart":1740603600,"earningsTimestampEnd":1741035600,"earningsCallTimestampStart":1731447000,"earningsCallTimestampEnd":1731447000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-1.76,"epsForward":-1.21,"epsCurrentYear":-1.56395,"priceEpsCurrentYear":-101.25644,"sharesOutstanding":132021000,"bookValue":7.077,"fiftyDayAverage":161.0026,"fiftyDayAverageChange":-2.6425934,"fiftyDayAverageChangePercent":-0.016413359,"twoHundredDayAverage":123.69665,"twoHundredDayAverageChange":34.663353,"twoHundredDayAverageChangePercent":0.2802287,"marketCap":20906846208,"forwardPE":-130.87602,"priceToBook":22.376713,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Natera","symbol":"NTRA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":9.141455,"lastClosePriceToNNWCPerShare":-0.037814377544773514,"currency":"USD","regularMarketChangePercent":-5.47945,"exchange":"NYQ","fiftyTwoWeekHigh":15.27,"fiftyTwoWeekLow":5.09,"averageAnalystRating":"2.5 + - Buy","shortName":"Cosan S.A.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1615213800000,"priceHint":2,"postMarketChangePercent":0.181164,"postMarketTime":1737157517,"postMarketPrice":5.53,"postMarketChange":0.0100002,"regularMarketChange":-0.32,"regularMarketTime":1737147602,"regularMarketPrice":5.52,"regularMarketDayHigh":5.755,"regularMarketDayRange":"5.51 + - 5.755","regularMarketDayLow":5.51,"regularMarketVolume":1099207,"regularMarketPreviousClose":5.84,"bid":5.52,"ask":5.59,"bidSize":22,"askSize":40,"market":"us_market","messageBoardId":"finmb_5522655","fullExchangeName":"NYSE","longName":"Cosan + S.A.","financialCurrency":"BRL","regularMarketOpen":5.72,"averageDailyVolume3Month":938972,"averageDailyVolume10Day":1061630,"corporateActions":[],"fiftyTwoWeekLowChange":0.42999983,"fiftyTwoWeekLowChangePercent":0.08447933,"fiftyTwoWeekRange":"5.09 + - 15.27","fiftyTwoWeekHighChange":-9.75,"fiftyTwoWeekHighChangePercent":-0.6385068,"fiftyTwoWeekChangePercent":-61.82573,"dividendDate":1720396800,"earningsTimestamp":1740596400,"earningsTimestampStart":1740596400,"earningsTimestampEnd":1740596400,"earningsCallTimestampStart":1740653940,"earningsCallTimestampEnd":1740653940,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":6.9873414,"dividendRate":0.35,"trailingAnnualDividendYield":0.0,"dividendYield":6.28,"marketState":"CLOSED","epsTrailingTwelveMonths":0.79,"epsForward":0.25,"epsCurrentYear":-3.037,"priceEpsCurrentYear":-1.8175832,"sharesOutstanding":465705984,"bookValue":26.463,"fiftyDayAverage":6.4902,"fiftyDayAverageChange":-0.97020006,"fiftyDayAverageChangePercent":-0.14948693,"twoHundredDayAverage":9.098,"twoHundredDayAverageChange":-3.5779996,"twoHundredDayAverageChangePercent":-0.39327323,"marketCap":2672590848,"forwardPE":22.08,"priceToBook":0.20859313,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Cosan","symbol":"CSAN"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":27.798235,"lastClosePriceToNNWCPerShare":-2.7664688463901026,"currency":"USD","regularMarketChangePercent":-5.27266,"exchange":"NYQ","fiftyTwoWeekHigh":148.15,"fiftyTwoWeekLow":78.17,"averageAnalystRating":"2.2 + - Buy","shortName":"Novo Nordisk A/S","hasPrePostMarketData":true,"firstTradeDateMilliseconds":357485400000,"priceHint":2,"postMarketChangePercent":0.276904,"postMarketTime":1737161981,"postMarketPrice":78.9079,"postMarketChange":0.217896,"regularMarketChange":-4.38,"regularMarketTime":1737147602,"regularMarketPrice":78.69,"regularMarketDayHigh":80.88,"regularMarketDayRange":"78.17 + - 80.88","regularMarketDayLow":78.17,"regularMarketVolume":20851001,"regularMarketPreviousClose":83.07,"bid":78.9,"ask":78.95,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_323452","fullExchangeName":"NYSE","longName":"Novo + Nordisk A/S","financialCurrency":"DKK","regularMarketOpen":79.94,"averageDailyVolume3Month":7327234,"averageDailyVolume10Day":9769880,"corporateActions":[],"fiftyTwoWeekLowChange":0.5200043,"fiftyTwoWeekLowChangePercent":0.006652223,"fiftyTwoWeekRange":"78.17 + - 148.15","fiftyTwoWeekHighChange":-69.45999,"fiftyTwoWeekHighChangePercent":-0.4688491,"fiftyTwoWeekChangePercent":-25.405252,"dividendDate":1724630400,"earningsTimestamp":1738737000,"earningsTimestampStart":1738737000,"earningsTimestampEnd":1738737000,"earningsCallTimestampStart":1730985300,"earningsCallTimestampEnd":1730985300,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":9.9,"trailingPE":26.856655,"dividendRate":1.45,"trailingAnnualDividendYield":0.1191766,"dividendYield":1.84,"marketState":"CLOSED","epsTrailingTwelveMonths":2.93,"epsForward":4.07,"epsCurrentYear":23.0552,"priceEpsCurrentYear":3.4131129,"sharesOutstanding":3365789952,"bookValue":27.07,"fiftyDayAverage":99.0528,"fiftyDayAverageChange":-20.3628,"fiftyDayAverageChangePercent":-0.20557521,"twoHundredDayAverage":122.38205,"twoHundredDayAverageChange":-43.692047,"twoHundredDayAverageChangePercent":-0.35701352,"marketCap":352918339584,"forwardPE":19.334152,"priceToBook":2.906908,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"NVO"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastClosePriceToNNWCPerShare":-3.9355486311109162,"currency":"USD","regularMarketChangePercent":-5.23561,"exchange":"NYQ","fiftyTwoWeekHigh":8.99,"fiftyTwoWeekLow":4.99,"shortName":"Hafnia + Limited","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1712755800000,"priceHint":2,"postMarketChangePercent":0.92081386,"postMarketTime":1737160862,"postMarketPrice":5.48,"postMarketChange":0.05000019,"regularMarketChange":-0.3,"regularMarketTime":1737147602,"regularMarketPrice":5.43,"regularMarketDayHigh":5.565,"regularMarketDayRange":"5.37 + - 5.565","regularMarketDayLow":5.37,"regularMarketVolume":3466866,"regularMarketPreviousClose":5.73,"bid":5.45,"ask":5.49,"bidSize":9,"askSize":215,"market":"us_market","messageBoardId":"finmb_589287859","fullExchangeName":"NYSE","longName":"Hafnia + Limited","financialCurrency":"USD","regularMarketOpen":5.46,"averageDailyVolume3Month":2600319,"averageDailyVolume10Day":2809060,"corporateActions":[],"fiftyTwoWeekLowChange":0.44000006,"fiftyTwoWeekLowChangePercent":0.08817637,"fiftyTwoWeekRange":"4.99 + - 8.99","fiftyTwoWeekHighChange":-3.56,"fiftyTwoWeekHighChangePercent":-0.39599556,"fiftyTwoWeekChangePercent":-26.372879,"dividendDate":1733961600,"earningsTimestamp":1732705140,"earningsTimestampStart":1732705140,"earningsTimestampEnd":1732705140,"earningsCallTimestampStart":1732714200,"earningsCallTimestampEnd":1732714200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":3.2130175,"dividendRate":1.52,"trailingAnnualDividendYield":0.0,"dividendYield":26.88,"marketState":"CLOSED","epsTrailingTwelveMonths":1.69,"epsCurrentYear":1.45,"priceEpsCurrentYear":3.7448273,"sharesOutstanding":501631008,"bookValue":4.425,"fiftyDayAverage":5.507,"fiftyDayAverageChange":-0.07700014,"fiftyDayAverageChangePercent":-0.01398223,"twoHundredDayAverage":7.0941796,"twoHundredDayAverageChange":-1.6641798,"twoHundredDayAverageChangePercent":-0.23458382,"marketCap":2767296256,"priceToBook":1.2271186,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Hafnia","symbol":"HAFN"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":55.325097,"lastClosePriceToNNWCPerShare":-39.2768992350813,"currency":"USD","regularMarketChangePercent":-5.19753,"exchange":"NYQ","fiftyTwoWeekHigh":221.83,"fiftyTwoWeekLow":98.5,"averageAnalystRating":"1.6 + - Buy","shortName":"e.l.f. Beauty, Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1474551000000,"priceHint":2,"postMarketChangePercent":0.842857,"postMarketTime":1737161935,"postMarketPrice":128.02,"postMarketChange":1.07001,"regularMarketChange":-6.96001,"regularMarketTime":1737147602,"regularMarketPrice":126.95,"regularMarketDayHigh":136.0,"regularMarketDayRange":"126.9 + - 136.0","regularMarketDayLow":126.9,"regularMarketVolume":1817015,"regularMarketPreviousClose":133.91,"bid":127.35,"ask":128.77,"bidSize":10,"askSize":9,"market":"us_market","messageBoardId":"finmb_104554559","fullExchangeName":"NYSE","longName":"e.l.f. + Beauty, Inc.","financialCurrency":"USD","regularMarketOpen":135.33,"averageDailyVolume3Month":2207544,"averageDailyVolume10Day":1456790,"corporateActions":[],"fiftyTwoWeekLowChange":28.449997,"fiftyTwoWeekLowChangePercent":0.28883246,"fiftyTwoWeekRange":"98.5 + - 221.83","fiftyTwoWeekHighChange":-94.880005,"fiftyTwoWeekHighChangePercent":-0.42771494,"fiftyTwoWeekChangePercent":-17.489927,"earningsTimestamp":1730927100,"earningsTimestampStart":1738666740,"earningsTimestampEnd":1739188800,"earningsCallTimestampStart":1730928600,"earningsCallTimestampEnd":1730928600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":68.62162,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":1.85,"epsForward":4.31,"epsCurrentYear":3.60187,"priceEpsCurrentYear":35.24558,"sharesOutstanding":56331000,"bookValue":12.918,"fiftyDayAverage":127.9422,"fiftyDayAverageChange":-0.99220276,"fiftyDayAverageChangePercent":-0.007755086,"twoHundredDayAverage":149.70795,"twoHundredDayAverageChange":-22.75795,"twoHundredDayAverageChangePercent":-0.15201564,"marketCap":7151220224,"forwardPE":29.454756,"priceToBook":9.827373,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"e.l.f. + Beauty","symbol":"ELF"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":50.897505,"lastClosePriceToNNWCPerShare":-15.461066549620428,"currency":"USD","regularMarketChangePercent":-4.20803,"exchange":"NYQ","fiftyTwoWeekHigh":972.53,"fiftyTwoWeekLow":614.82,"averageAnalystRating":"1.8 + - Buy","shortName":"Eli Lilly and Company","hasPrePostMarketData":true,"firstTradeDateMilliseconds":76253400000,"priceHint":2,"postMarketChangePercent":0.32106283,"postMarketTime":1737161997,"postMarketPrice":728.05,"postMarketChange":2.330017,"regularMarketChange":-31.88,"regularMarketTime":1737147602,"regularMarketPrice":725.72,"regularMarketDayHigh":755.28,"regularMarketDayRange":"725.01 + - 755.28","regularMarketDayLow":725.01,"regularMarketVolume":4870239,"regularMarketPreviousClose":757.6,"bid":728.05,"ask":728.45,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_285467","fullExchangeName":"NYSE","longName":"Eli + Lilly and Company","financialCurrency":"USD","regularMarketOpen":747.83,"averageDailyVolume3Month":4158285,"averageDailyVolume10Day":4518030,"corporateActions":[{"header":"Dividend","message":"LLY + announced a cash dividend of 1.50 with an ex-date of Feb. 14, 2025","meta":{"eventType":"DIVIDEND","dateEpochMs":1739509200000,"amount":"1.50"}}],"fiftyTwoWeekLowChange":110.89996,"fiftyTwoWeekLowChangePercent":0.18037793,"fiftyTwoWeekRange":"614.82 + - 972.53","fiftyTwoWeekHighChange":-246.81006,"fiftyTwoWeekHighChangePercent":-0.25378144,"fiftyTwoWeekChangePercent":15.03297,"dividendDate":1741564800,"earningsTimestamp":1738848600,"earningsTimestampStart":1738848600,"earningsTimestampEnd":1738848600,"earningsCallTimestampStart":1738854000,"earningsCallTimestampEnd":1738854000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":5.03,"trailingPE":78.1184,"dividendRate":6.0,"trailingAnnualDividendYield":0.006639388,"dividendYield":0.83,"marketState":"CLOSED","epsTrailingTwelveMonths":9.29,"epsForward":22.66,"epsCurrentYear":12.98436,"priceEpsCurrentYear":55.891857,"sharesOutstanding":899315968,"bookValue":15.825,"fiftyDayAverage":782.596,"fiftyDayAverageChange":-56.876038,"fiftyDayAverageChangePercent":-0.072676115,"twoHundredDayAverage":839.2994,"twoHundredDayAverageChange":-113.57941,"twoHundredDayAverageChangePercent":-0.13532645,"marketCap":652651528192,"forwardPE":32.026478,"priceToBook":45.85908,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"symbol":"LLY"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":-279.328004,"lastClosePriceToNNWCPerShare":-8.83570571578972,"currency":"USD","regularMarketChangePercent":-4.1324215,"exchange":"NMS","fiftyTwoWeekHigh":53.5,"fiftyTwoWeekLow":35.25,"averageAnalystRating":"2.0 + - Buy","shortName":"Tenable Holdings, Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1532611800000,"priceHint":2,"postMarketChangePercent":0.416356,"postMarketTime":1737158943,"postMarketPrice":41.0,"postMarketChange":0.169998,"regularMarketChange":-1.7599983,"regularMarketTime":1737147600,"regularMarketPrice":40.83,"regularMarketDayHigh":43.35,"regularMarketDayRange":"40.77 + - 43.35","regularMarketDayLow":40.77,"regularMarketVolume":1091487,"regularMarketPreviousClose":42.59,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_369965505","fullExchangeName":"NasdaqGS","longName":"Tenable + Holdings, Inc.","financialCurrency":"USD","regularMarketOpen":42.9,"averageDailyVolume3Month":972693,"averageDailyVolume10Day":971510,"corporateActions":[],"fiftyTwoWeekLowChange":5.580002,"fiftyTwoWeekLowChangePercent":0.15829793,"fiftyTwoWeekRange":"35.25 + - 53.5","fiftyTwoWeekHighChange":-12.669998,"fiftyTwoWeekHighChangePercent":-0.2368224,"fiftyTwoWeekChangePercent":-14.222688,"earningsTimestamp":1730318753,"earningsTimestampStart":1738666740,"earningsTimestampEnd":1739188800,"earningsCallTimestampStart":1730320200,"earningsCallTimestampEnd":1730320200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.51,"epsForward":1.45,"epsCurrentYear":1.22461,"priceEpsCurrentYear":33.34123,"sharesOutstanding":120135000,"bookValue":3.375,"fiftyDayAverage":41.1774,"fiftyDayAverageChange":-0.34739685,"fiftyDayAverageChangePercent":-0.00843659,"twoHundredDayAverage":42.20085,"twoHundredDayAverageChange":-1.3708496,"twoHundredDayAverageChangePercent":-0.03248393,"marketCap":4905112064,"forwardPE":28.15862,"priceToBook":12.097778,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Tenable","symbol":"TENB"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":4.640644,"lastClosePriceToNNWCPerShare":4.076517794048082,"currency":"USD","regularMarketChangePercent":-4.123435,"exchange":"NMS","fiftyTwoWeekHigh":39.38,"fiftyTwoWeekLow":14.09,"averageAnalystRating":"2.0 + - Buy","shortName":"Nebius Group N.V.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1729517400000,"priceHint":2,"postMarketChangePercent":-1.19312,"postMarketTime":1737161965,"postMarketPrice":35.61,"postMarketChange":-0.43,"regularMarketChange":-1.5499992,"regularMarketTime":1737147601,"regularMarketPrice":36.04,"regularMarketDayHigh":38.39,"regularMarketDayRange":"35.61 + - 38.39","regularMarketDayLow":35.61,"regularMarketVolume":4959412,"regularMarketPreviousClose":37.59,"bid":35.54,"ask":36.48,"bidSize":23,"askSize":23,"market":"us_market","messageBoardId":"finmb_52034495","fullExchangeName":"NasdaqGS","financialCurrency":"USD","regularMarketOpen":38.37,"averageDailyVolume3Month":7196298,"averageDailyVolume10Day":7179500,"corporateActions":[],"fiftyTwoWeekLowChange":21.95,"fiftyTwoWeekLowChangePercent":1.5578425,"fiftyTwoWeekRange":"14.09 + - 39.38","fiftyTwoWeekHighChange":-3.3400002,"fiftyTwoWeekHighChangePercent":-0.08481463,"fiftyTwoWeekChangePercent":80.200005,"earningsTimestamp":1730373096,"earningsTimestampStart":1739444340,"earningsTimestampEnd":1739793600,"earningsCallTimestampStart":1730379600,"earningsCallTimestampEnd":1730379600,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.01,"epsCurrentYear":-113.354,"priceEpsCurrentYear":-0.31794205,"sharesOutstanding":199756000,"bookValue":14.416,"fiftyDayAverage":27.3181,"fiftyDayAverageChange":8.721901,"fiftyDayAverageChangePercent":0.31927186,"twoHundredDayAverage":26.07746,"twoHundredDayAverageChange":9.962542,"twoHundredDayAverageChangePercent":0.3820365,"marketCap":8485762560,"priceToBook":2.5,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Yandex + N.V.","nameChangeDate":"2025-01-20","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Nebius","symbol":"NBIS"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastClosePriceToNNWCPerShare":-6.58181357676206E-4,"currency":"USD","regularMarketChangePercent":-4.048643,"exchange":"NCM","fiftyTwoWeekHigh":74.0,"fiftyTwoWeekLow":17.27,"averageAnalystRating":"1.4 + - Strong Buy","shortName":"Grupo Financiero Galicia S.A.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":964531800000,"priceHint":2,"postMarketChangePercent":1.38661,"postMarketTime":1737160685,"postMarketPrice":68.0,"postMarketChange":0.93,"regularMarketChange":-2.8300018,"regularMarketTime":1737147601,"regularMarketPrice":67.07,"regularMarketDayHigh":70.4,"regularMarketDayRange":"65.6325 + - 70.4","regularMarketDayLow":65.6325,"regularMarketVolume":1614424,"regularMarketPreviousClose":69.9,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_1532718","fullExchangeName":"NasdaqCM","longName":"Grupo + Financiero Galicia S.A.","financialCurrency":"ARS","regularMarketOpen":69.86,"averageDailyVolume3Month":1099193,"averageDailyVolume10Day":1234250,"corporateActions":[],"fiftyTwoWeekLowChange":49.8,"fiftyTwoWeekLowChangePercent":2.883613,"fiftyTwoWeekRange":"17.27 + - 74.0","fiftyTwoWeekHighChange":-6.9300003,"fiftyTwoWeekHighChangePercent":-0.09364865,"fiftyTwoWeekChangePercent":268.9219,"dividendDate":1724630400,"earningsTimestamp":1730804340,"earningsTimestampStart":1741085940,"earningsTimestampEnd":1741608000,"earningsCallTimestampStart":1730836800,"earningsCallTimestampEnd":1730836800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":12.97292,"dividendRate":2.63,"trailingAnnualDividendYield":0.0,"dividendYield":3.92,"marketState":"CLOSED","epsTrailingTwelveMonths":5.17,"epsForward":7.12,"epsCurrentYear":17.34333,"priceEpsCurrentYear":3.8671927,"sharesOutstanding":119347000,"bookValue":3018.418,"fiftyDayAverage":61.434,"fiftyDayAverageChange":5.6360016,"fiftyDayAverageChangePercent":0.09174076,"twoHundredDayAverage":42.47835,"twoHundredDayAverageChange":24.591648,"twoHundredDayAverageChangePercent":0.5789219,"marketCap":11103506432,"forwardPE":9.419944,"priceToBook":0.022220248,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Grupo + Financiero Galicia","symbol":"GGAL"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":-140.542219,"lastClosePriceToNNWCPerShare":-0.0012682314113772037,"currency":"USD","regularMarketChangePercent":-3.90128,"exchange":"NYQ","fiftyTwoWeekHigh":15.54,"fiftyTwoWeekLow":5.52,"averageAnalystRating":"4.3 + - Underperform","shortName":"Telecom Argentina SA","hasPrePostMarketData":true,"firstTradeDateMilliseconds":786983400000,"priceHint":2,"postMarketChangePercent":4.391058,"postMarketTime":1737152950,"postMarketPrice":12.6,"postMarketChange":0.5300007,"regularMarketChange":-0.490001,"regularMarketTime":1737147602,"regularMarketPrice":12.07,"regularMarketDayHigh":12.5002,"regularMarketDayRange":"11.91 + - 12.5002","regularMarketDayLow":11.91,"regularMarketVolume":163836,"regularMarketPreviousClose":12.56,"bid":11.0,"ask":12.75,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_778699","fullExchangeName":"NYSE","longName":"Telecom + Argentina S.A.","financialCurrency":"ARS","regularMarketOpen":12.5,"averageDailyVolume3Month":269427,"averageDailyVolume10Day":299600,"corporateActions":[],"fiftyTwoWeekLowChange":6.5499997,"fiftyTwoWeekLowChangePercent":1.1865941,"fiftyTwoWeekRange":"5.52 + - 15.54","fiftyTwoWeekHighChange":-3.4700003,"fiftyTwoWeekHighChangePercent":-0.22329473,"fiftyTwoWeekChangePercent":54.1507,"dividendDate":1733702400,"earningsTimestamp":1731013200,"earningsTimestampStart":1741633200,"earningsTimestampEnd":1741978800,"earningsCallTimestampStart":1723546740,"earningsCallTimestampEnd":1723546740,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":12.572917,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":0.96,"epsForward":-0.75,"epsCurrentYear":2.4755,"priceEpsCurrentYear":4.8757825,"sharesOutstanding":125612000,"bookValue":2385.943,"fiftyDayAverage":12.9268,"fiftyDayAverageChange":-0.8568001,"fiftyDayAverageChangePercent":-0.06628091,"twoHundredDayAverage":8.99455,"twoHundredDayAverageChange":3.07545,"twoHundredDayAverageChangePercent":0.3419237,"marketCap":4187131136,"forwardPE":-16.093332,"priceToBook":0.005058796,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Telecom + Argentina","symbol":"TEO"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":84.402519,"lastClosePriceToNNWCPerShare":-8.841863545321152,"currency":"USD","regularMarketChangePercent":-3.7001464,"exchange":"NMS","fiftyTwoWeekHigh":130.39,"fiftyTwoWeekLow":50.47,"averageAnalystRating":"2.5 + - Hold","shortName":"Goosehead Insurance, Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1524835800000,"priceHint":2,"postMarketChangePercent":-0.679656,"postMarketTime":1737151153,"postMarketPrice":109.6,"postMarketChange":-0.75,"regularMarketChange":-4.239998,"regularMarketTime":1737147601,"regularMarketPrice":110.35,"regularMarketDayHigh":115.95,"regularMarketDayRange":"110.2401 + - 115.95","regularMarketDayLow":110.2401,"regularMarketVolume":258391,"regularMarketPreviousClose":114.59,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_557929974","fullExchangeName":"NasdaqGS","longName":"Goosehead + Insurance, Inc","financialCurrency":"USD","regularMarketOpen":115.924,"averageDailyVolume3Month":243239,"averageDailyVolume10Day":246780,"corporateActions":[{"header":"Dividend","message":"GSHD + announced a cash dividend of 5.91 with an ex-date of Jan. 21, 2025","meta":{"eventType":"DIVIDEND","dateEpochMs":1737435600000,"amount":"5.91"}}],"fiftyTwoWeekLowChange":59.879997,"fiftyTwoWeekLowChangePercent":1.1864473,"fiftyTwoWeekRange":"50.47 + - 130.39","fiftyTwoWeekHighChange":-20.04,"fiftyTwoWeekHighChangePercent":-0.15369278,"fiftyTwoWeekChangePercent":42.49742,"dividendDate":1738281600,"earningsTimestamp":1729713713,"earningsTimestampStart":1739962740,"earningsTimestampEnd":1740398400,"earningsCallTimestampStart":1729715400,"earningsCallTimestampEnd":1729715400,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":157.64285,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":0.7,"epsForward":2.13,"epsCurrentYear":1.59859,"priceEpsCurrentYear":69.02958,"sharesOutstanding":24392900,"bookValue":2.394,"fiftyDayAverage":114.2029,"fiftyDayAverageChange":-3.8529053,"fiftyDayAverageChangePercent":-0.033737365,"twoHundredDayAverage":84.33502,"twoHundredDayAverageChange":26.014977,"twoHundredDayAverageChangePercent":0.3084718,"marketCap":4094945024,"forwardPE":51.807507,"priceToBook":46.094402,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Goosehead + Insurance","symbol":"GSHD"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":-52.472532,"lastClosePriceToNNWCPerShare":-40.88477201036208,"currency":"USD","regularMarketChangePercent":-3.6835275,"exchange":"NMS","fiftyTwoWeekHigh":60.58,"fiftyTwoWeekLow":41.13,"averageAnalystRating":"2.0 + - Buy","shortName":"Varonis Systems, Inc.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1393597800000,"priceHint":2,"postMarketChangePercent":0.0,"postMarketTime":1737153865,"postMarketPrice":44.19,"postMarketChange":0.0,"regularMarketChange":-1.6900024,"regularMarketTime":1737147601,"regularMarketPrice":44.19,"regularMarketDayHigh":46.5534,"regularMarketDayRange":"43.61 + - 46.5534","regularMarketDayLow":43.61,"regularMarketVolume":2419146,"regularMarketPreviousClose":45.88,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_21813301","fullExchangeName":"NasdaqGS","longName":"Varonis + Systems, Inc.","financialCurrency":"USD","regularMarketOpen":46.26,"averageDailyVolume3Month":1606609,"averageDailyVolume10Day":1599680,"corporateActions":[],"fiftyTwoWeekLowChange":3.0599976,"fiftyTwoWeekLowChangePercent":0.07439819,"fiftyTwoWeekRange":"41.13 + - 60.58","fiftyTwoWeekHighChange":-16.390003,"fiftyTwoWeekHighChangePercent":-0.27055138,"fiftyTwoWeekChangePercent":-2.7722776,"earningsTimestamp":1738702800,"earningsTimestampStart":1738702800,"earningsTimestampEnd":1738702800,"earningsCallTimestampStart":1738704600,"earningsCallTimestampEnd":1738704600,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":-0.74,"epsForward":0.31,"epsCurrentYear":0.26769,"priceEpsCurrentYear":165.079,"sharesOutstanding":112471000,"bookValue":3.812,"fiftyDayAverage":48.093,"fiftyDayAverageChange":-3.9029999,"fiftyDayAverageChangePercent":-0.08115526,"twoHundredDayAverage":49.41995,"twoHundredDayAverageChange":-5.22995,"twoHundredDayAverageChangePercent":-0.1058267,"marketCap":4970093568,"forwardPE":142.54839,"priceToBook":11.5923395,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Varonis + Systems","symbol":"VRNS"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":43.332872,"lastClosePriceToNNWCPerShare":80.3050524112027,"currency":"USD","regularMarketChangePercent":-3.668062,"exchange":"NGM","fiftyTwoWeekHigh":23.64,"fiftyTwoWeekLow":5.0,"averageAnalystRating":"1.0 + - Strong Buy","shortName":"ADMA Biologics Inc","hasPrePostMarketData":true,"firstTradeDateMilliseconds":1382016600000,"priceHint":2,"postMarketChangePercent":1.4357,"postMarketTime":1737159909,"postMarketPrice":16.25,"postMarketChange":0.23,"regularMarketChange":-0.6099987,"regularMarketTime":1737147601,"regularMarketPrice":16.02,"regularMarketDayHigh":16.865,"regularMarketDayRange":"15.98 + - 16.865","regularMarketDayLow":15.98,"regularMarketVolume":3061135,"regularMarketPreviousClose":16.63,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_51119246","fullExchangeName":"NasdaqGM","longName":"ADMA + Biologics, Inc.","financialCurrency":"USD","regularMarketOpen":16.77,"averageDailyVolume3Month":2983663,"averageDailyVolume10Day":2559690,"corporateActions":[],"fiftyTwoWeekLowChange":11.02,"fiftyTwoWeekLowChangePercent":2.204,"fiftyTwoWeekRange":"5.0 + - 23.64","fiftyTwoWeekHighChange":-7.619999,"fiftyTwoWeekHighChangePercent":-0.32233498,"fiftyTwoWeekChangePercent":202.83554,"earningsTimestamp":1736769600,"earningsTimestampStart":1740567540,"earningsTimestampEnd":1741003200,"earningsCallTimestampStart":1731015000,"earningsCallTimestampEnd":1731015000,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":59.333332,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":0.27,"epsForward":0.72,"epsCurrentYear":0.515,"priceEpsCurrentYear":31.106798,"sharesOutstanding":236390000,"bookValue":0.981,"fiftyDayAverage":19.1541,"fiftyDayAverageChange":-3.1341,"fiftyDayAverageChangePercent":-0.16362554,"twoHundredDayAverage":14.539375,"twoHundredDayAverageChange":1.4806252,"twoHundredDayAverageChangePercent":0.10183554,"marketCap":3786967808,"forwardPE":22.25,"priceToBook":16.330276,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"ADMA + Biologics","symbol":"ADMA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastClosePriceToNNWCPerShare":-4.681214010522388E-4,"currency":"USD","regularMarketChangePercent":-3.65317,"exchange":"NYQ","fiftyTwoWeekHigh":25.01,"fiftyTwoWeekLow":5.01,"averageAnalystRating":"2.0 + - Buy","shortName":"Banco BBVA Argentina S.A.","hasPrePostMarketData":true,"firstTradeDateMilliseconds":754151400000,"priceHint":2,"postMarketChangePercent":0.913663,"postMarketTime":1737161966,"postMarketPrice":22.09,"postMarketChange":0.200001,"regularMarketChange":-0.83,"regularMarketTime":1737147602,"regularMarketPrice":21.89,"regularMarketDayHigh":22.88,"regularMarketDayRange":"21.47 + - 22.88","regularMarketDayLow":21.47,"regularMarketVolume":1109041,"regularMarketPreviousClose":22.72,"bid":21.75,"ask":23.0,"bidSize":8,"askSize":11,"market":"us_market","messageBoardId":"finmb_390918","fullExchangeName":"NYSE","longName":"Banco + BBVA Argentina S.A.","financialCurrency":"ARS","regularMarketOpen":22.7,"averageDailyVolume3Month":897688,"averageDailyVolume10Day":1265960,"corporateActions":[],"fiftyTwoWeekLowChange":16.88,"fiftyTwoWeekLowChangePercent":3.3692613,"fiftyTwoWeekRange":"5.01 + - 25.01","fiftyTwoWeekHighChange":-3.1200008,"fiftyTwoWeekHighChangePercent":-0.12475013,"fiftyTwoWeekChangePercent":292.2939,"dividendDate":1723161600,"earningsTimestamp":1741201200,"earningsTimestampStart":1741201200,"earningsTimestampEnd":1741201200,"earningsCallTimestampStart":1741258740,"earningsCallTimestampEnd":1741258740,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":23.793478,"dividendRate":1.71,"trailingAnnualDividendYield":0.0,"dividendYield":9.73,"marketState":"CLOSED","epsTrailingTwelveMonths":0.92,"epsForward":1.35,"epsCurrentYear":1.94,"priceEpsCurrentYear":11.2835045,"sharesOutstanding":204236992,"bookValue":2295.0,"fiftyDayAverage":18.3644,"fiftyDayAverageChange":3.5255985,"fiftyDayAverageChangePercent":0.19198005,"twoHundredDayAverage":12.25835,"twoHundredDayAverageChange":9.631649,"twoHundredDayAverageChangePercent":0.7857215,"marketCap":5078195712,"forwardPE":16.214813,"priceToBook":0.009538126,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"displayName":"Banco + BBVA Argentina","symbol":"BBAR"}],"useRecords":false,"predefinedScr":true,"versionId":8,"creationDate":1473801651414,"lastUpdated":1699393574578,"isPremium":false,"iconUrl":"https://s.yimg.com/cv/apiv2/fin/img/assets/predefined_screeners/trendingDown.png"}],"error":null}}' headers: Age: - '0' @@ -611,23 +229,23 @@ interactions: X-XSS-Protection: - 1; mode=block cache-control: - - private, no-cache, no-store + - public, max-age=60, stale-while-revalidate=30 content-encoding: - gzip content-type: - application/json;charset=utf-8 date: - - Thu, 14 Nov 2024 03:49:56 GMT + - Mon, 20 Jan 2025 22:31:28 GMT server: - ATS vary: - Origin,Accept-Encoding x-envoy-decorator-operation: - - finance-screeners--mtls-production-gq1.finance-k8s.svc.yahoo.local:4080/* + - finance-screeners--mtls-production-gq1.finance-k8s:4080/* x-envoy-upstream-service-time: - - '111' + - '59' y-rid: - - 2fq9g2ljjasr4 + - 5q0nijtjotjm0 status: code: 200 message: OK diff --git a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_growth_equities_fetcher_urllib3_v1.yaml b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_growth_equities_fetcher_urllib3_v1.yaml index 5f937f1ec75..e815c992f0a 100644 --- a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_growth_equities_fetcher_urllib3_v1.yaml +++ b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_growth_equities_fetcher_urllib3_v1.yaml @@ -1,15 +1,6 @@ interactions: - request: - body: '{"offset": 0, "size": 100, "sortType": "DESC", "sortField": "eodvolume", - "quoteType": "EQUITY", "query": {"operator": "and", "operands": [{"operator": - "or", "operands": [{"operator": "BTWN", "operands": ["peratio.lasttwelvemonths", - 0, 20]}]}, {"operator": "or", "operands": [{"operator": "LT", "operands": ["pegratio_5y", - 1]}]}, {"operator": "or", "operands": [{"operator": "BTWN", "operands": ["epsgrowth.lasttwelvemonths", - 25, 50]}, {"operator": "BTWN", "operands": ["epsgrowth.lasttwelvemonths", 50, - 100]}, {"operator": "GT", "operands": ["epsgrowth.lasttwelvemonths", 100]}]}, - {"operator": "or", "operands": [{"operator": "eq", "operands": ["exchange", - "NMS"]}, {"operator": "eq", "operands": ["exchange", "NYQ"]}]}]}, "userId": - "", "userIdType": "guid"}' + body: null headers: Accept: - '*/*' @@ -17,671 +8,270 @@ interactions: - gzip, deflate Connection: - keep-alive - Content-Length: - - '758' - Content-Type: - - application/json Cookie: - MOCK_COOKIE - method: POST - uri: https://query2.finance.yahoo.com/v1/finance/screener?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&formatted=false&lang=en-US®ion=US + method: GET + uri: https://query1.finance.yahoo.com/v1/test/getcrumb + response: + body: + string: xbV0f0TLaim + headers: + Age: + - '1' + Connection: + - keep-alive + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=31536000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - private, max-age=60, stale-while-revalidate=30 + content-length: + - '11' + content-type: + - text/plain;charset=utf-8 + date: + - Mon, 20 Jan 2025 22:34:29 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-external-services-api--mtls-production-gq1.finance-k8s:4080/* + x-envoy-upstream-service-time: + - '1' + y-rid: + - 3vuf5v5jotjrm + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - MOCK_COOKIE + method: GET + uri: https://query2.finance.yahoo.com/v1/finance/screener/predefined/saved?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&defaults=offset&defaults=size&defaults=sortAsc&defaults=sortField&defaults=userId&defaults=userIdType&formatted=false&lang=en-US&offset=0®ion=US&scrIds=undervalued_growth_stocks&size=250 response: body: string: !!binary | - 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 headers: Age: - '1' @@ -700,23 +290,23 @@ interactions: X-XSS-Protection: - 1; mode=block cache-control: - - private, no-cache, no-store + - public, max-age=60, stale-while-revalidate=30 content-encoding: - gzip content-type: - application/json;charset=utf-8 date: - - Thu, 14 Nov 2024 02:19:14 GMT + - Mon, 20 Jan 2025 22:34:29 GMT server: - ATS vary: - Origin,Accept-Encoding x-envoy-decorator-operation: - - finance-screeners--mtls-production-gq1.finance-k8s.svc.yahoo.local:4080/* + - finance-screeners--mtls-production-gq1.finance-k8s:4080/* x-envoy-upstream-service-time: - - '103' + - '59' y-rid: - - 4rg8tp1jjanh3 + - 42p9co1jotjrm status: code: 200 message: OK diff --git a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_growth_equities_fetcher_urllib3_v2.yaml b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_growth_equities_fetcher_urllib3_v2.yaml index 49312d7949f..26b3f3441c0 100644 --- a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_growth_equities_fetcher_urllib3_v2.yaml +++ b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_growth_equities_fetcher_urllib3_v2.yaml @@ -1,592 +1,227 @@ interactions: - request: - body: '{"offset": 0, "size": 100, "sortType": "DESC", "sortField": "eodvolume", - "quoteType": "EQUITY", "query": {"operator": "and", "operands": [{"operator": - "or", "operands": [{"operator": "BTWN", "operands": ["peratio.lasttwelvemonths", - 0, 20]}]}, {"operator": "or", "operands": [{"operator": "LT", "operands": ["pegratio_5y", - 1]}]}, {"operator": "or", "operands": [{"operator": "BTWN", "operands": ["epsgrowth.lasttwelvemonths", - 25, 50]}, {"operator": "BTWN", "operands": ["epsgrowth.lasttwelvemonths", 50, - 100]}, {"operator": "GT", "operands": ["epsgrowth.lasttwelvemonths", 100]}]}, - {"operator": "or", "operands": [{"operator": "eq", "operands": ["exchange", - "NMS"]}, {"operator": "eq", "operands": ["exchange", "NYQ"]}]}]}, "userId": - "", "userIdType": "guid"}' + body: null headers: Accept: - '*/*' Accept-Encoding: - - gzip, deflate + - gzip, deflate, br, zstd Connection: - keep-alive - Content-Length: - - '758' - Content-Type: - - application/json Cookie: - MOCK_COOKIE - method: POST - uri: https://query2.finance.yahoo.com/v1/finance/screener?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&formatted=false&lang=en-US®ion=US + method: GET + uri: https://query1.finance.yahoo.com/v1/test/getcrumb response: body: - string: "{\"finance\":{\"result\":[{\"start\":0,\"count\":100,\"total\":162,\"quotes\":[{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.522556,\"postMarketChangePercent\":0.207941,\"postMarketTime\":1731545977,\"postMarketPrice\":57.83,\"postMarketChange\":0.120003,\"regularMarketChange\":0.299999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":57.71,\"regularMarketDayHigh\":58.42,\"regularMarketDayRange\":\"57.55 - - 58.42\",\"regularMarketDayLow\":57.55,\"regularMarketVolume\":10036321,\"regularMarketPreviousClose\":57.41,\"bid\":57.75,\"ask\":57.85,\"bidSize\":18,\"askSize\":18,\"market\":\"us_market\",\"messageBoardId\":\"finmb_61206100\",\"fullExchangeName\":\"NYSE\",\"longName\":\"General - Motors Company\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":57.61,\"averageDailyVolume3Month\":12503343,\"averageDailyVolume10Day\":11287260,\"fiftyTwoWeekLowChange\":30.289999,\"fiftyTwoWeekLowChangePercent\":1.1046681,\"fiftyTwoWeekRange\":\"27.42 - - 58.42\",\"fiftyTwoWeekHighChange\":-0.7099991,\"fiftyTwoWeekHighChangePercent\":-0.012153357,\"fiftyTwoWeekChangePercent\":110.007286,\"dividendDate\":1734566400,\"earningsTimestamp\":1738063800,\"earningsTimestampStart\":1738063800,\"earningsTimestampEnd\":1738063800,\"earningsCallTimestampStart\":1729600200,\"earningsCallTimestampEnd\":1729600200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.45,\"trailingPE\":6.126327,\"dividendRate\":0.48,\"trailingAnnualDividendYield\":0.007838355,\"dividendYield\":0.84,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":9.42,\"epsForward\":10.57,\"epsCurrentYear\":10.4,\"priceEpsCurrentYear\":5.5490384,\"sharesOutstanding\":1099600000,\"bookValue\":64.486,\"fiftyDayAverage\":49.3328,\"fiftyDayAverageChange\":8.377197,\"fiftyDayAverageChangePercent\":0.16980988,\"twoHundredDayAverage\":45.41855,\"twoHundredDayAverageChange\":12.2914505,\"twoHundredDayAverageChangePercent\":0.27062622,\"marketCap\":63457914880,\"forwardPE\":5.459792,\"priceToBook\":0.8949229,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":58.42,\"fiftyTwoWeekLow\":27.42,\"shortName\":\"General - Motors Company\",\"averageAnalystRating\":\"2.4 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1290090600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"GM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.293262,\"postMarketChangePercent\":0.0292349,\"postMarketTime\":1731545958,\"postMarketPrice\":17.105,\"postMarketChange\":0.00499916,\"regularMarketChange\":0.0500011,\"regularMarketTime\":1731531602,\"regularMarketPrice\":17.1,\"regularMarketDayHigh\":17.15,\"regularMarketDayRange\":\"16.99 - - 17.15\",\"regularMarketDayLow\":16.99,\"regularMarketVolume\":9349545,\"regularMarketPreviousClose\":17.05,\"bid\":17.1,\"ask\":17.11,\"bidSize\":29,\"askSize\":394,\"market\":\"us_market\",\"messageBoardId\":\"finmb_23812789\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Energy - Transfer LP\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":17.12,\"averageDailyVolume3Month\":12961860,\"averageDailyVolume10Day\":20991050,\"fiftyTwoWeekLowChange\":3.9800005,\"fiftyTwoWeekLowChangePercent\":0.3033537,\"fiftyTwoWeekRange\":\"13.12 - - 17.71\",\"fiftyTwoWeekHighChange\":-0.6099987,\"fiftyTwoWeekHighChangePercent\":-0.034443747,\"fiftyTwoWeekChangePercent\":29.742039,\"dividendDate\":1731974400,\"earningsTimestamp\":1730927400,\"earningsTimestampStart\":1739357940,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730928600,\"earningsCallTimestampEnd\":1730928600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.275,\"trailingPE\":12.573529,\"dividendRate\":1.29,\"trailingAnnualDividendYield\":0.07478006,\"dividendYield\":7.57,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.36,\"epsForward\":1.58,\"epsCurrentYear\":1.39,\"priceEpsCurrentYear\":12.302158,\"sharesOutstanding\":3423920128,\"bookValue\":9.157,\"fiftyDayAverage\":16.3724,\"fiftyDayAverageChange\":0.7276001,\"fiftyDayAverageChangePercent\":0.04444065,\"twoHundredDayAverage\":15.7871,\"twoHundredDayAverageChange\":1.3129005,\"twoHundredDayAverageChangePercent\":0.083162874,\"marketCap\":58549035008,\"forwardPE\":10.822784,\"priceToBook\":1.867424,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":17.71,\"fiftyTwoWeekLow\":13.12,\"shortName\":\"Energy - Transfer LP\",\"averageAnalystRating\":\"1.6 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1138977000000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"ET\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.6858693,\"postMarketChangePercent\":0.0458647,\"postMarketTime\":1731545958,\"postMarketPrice\":22.0301,\"postMarketChange\":0.0100994,\"regularMarketChange\":0.14999962,\"regularMarketTime\":1731531602,\"regularMarketPrice\":22.02,\"regularMarketDayHigh\":22.265,\"regularMarketDayRange\":\"21.365 - - 22.265\",\"regularMarketDayLow\":21.365,\"regularMarketVolume\":6316062,\"regularMarketPreviousClose\":21.87,\"bid\":21.99,\"ask\":22.05,\"bidSize\":26,\"askSize\":41,\"market\":\"us_market\",\"messageBoardId\":\"finmb_169838\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"APA - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":21.8748,\"averageDailyVolume3Month\":6168970,\"averageDailyVolume10Day\":8365610,\"fiftyTwoWeekLowChange\":0.87000084,\"fiftyTwoWeekLowChangePercent\":0.041134793,\"fiftyTwoWeekRange\":\"21.15 - - 37.82\",\"fiftyTwoWeekHighChange\":-15.799999,\"fiftyTwoWeekHighChangePercent\":-0.41776836,\"fiftyTwoWeekChangePercent\":-38.577408,\"dividendDate\":1732233600,\"earningsTimestamp\":1730926800,\"earningsTimestampStart\":1730926800,\"earningsTimestampEnd\":1730926800,\"earningsCallTimestampStart\":1730995200,\"earningsCallTimestampEnd\":1730995200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.0,\"trailingPE\":3.127841,\"dividendRate\":1.0,\"trailingAnnualDividendYield\":0.045724735,\"dividendYield\":4.57,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":7.04,\"epsForward\":2.75,\"epsCurrentYear\":3.86,\"priceEpsCurrentYear\":5.7046633,\"sharesOutstanding\":369947008,\"bookValue\":13.825,\"fiftyDayAverage\":24.635,\"fiftyDayAverageChange\":-2.6149998,\"fiftyDayAverageChangePercent\":-0.10614978,\"twoHundredDayAverage\":29.0889,\"twoHundredDayAverageChange\":-7.068899,\"twoHundredDayAverageChangePercent\":-0.2430102,\"marketCap\":8146233344,\"forwardPE\":8.007273,\"priceToBook\":1.5927668,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Apache - Corporation\",\"nameChangeDate\":\"2024-11-08\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":37.82,\"fiftyTwoWeekLow\":21.15,\"shortName\":\"APA - Corporation\",\"averageAnalystRating\":\"2.8 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":295623000000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"APA\",\"symbol\":\"APA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-2.21053,\"postMarketChangePercent\":0.538215,\"postMarketTime\":1731545837,\"postMarketPrice\":9.34,\"postMarketChange\":0.0500002,\"regularMarketChange\":-0.21,\"regularMarketTime\":1731531602,\"regularMarketPrice\":9.29,\"regularMarketDayHigh\":9.68,\"regularMarketDayRange\":\"9.23 - - 9.68\",\"regularMarketDayLow\":9.23,\"regularMarketVolume\":15194789,\"regularMarketPreviousClose\":9.5,\"bid\":9.24,\"ask\":9.31,\"bidSize\":30,\"askSize\":292,\"market\":\"us_market\",\"messageBoardId\":\"finmb_297179\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Kinross - Gold Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":9.59,\"averageDailyVolume3Month\":15774600,\"averageDailyVolume10Day\":19831460,\"fiftyTwoWeekLowChange\":4.54,\"fiftyTwoWeekLowChangePercent\":0.95578945,\"fiftyTwoWeekRange\":\"4.75 - - 10.82\",\"fiftyTwoWeekHighChange\":-1.5299997,\"fiftyTwoWeekHighChangePercent\":-0.1414048,\"fiftyTwoWeekChangePercent\":71.08656,\"dividendDate\":1733961600,\"earningsTimestamp\":1730844025,\"earningsTimestampStart\":1730844025,\"earningsTimestampEnd\":1730844025,\"earningsCallTimestampStart\":1730898000,\"earningsCallTimestampEnd\":1730898000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.12,\"trailingPE\":15.745764,\"dividendRate\":0.12,\"trailingAnnualDividendYield\":0.012631578,\"dividendYield\":1.26,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.59,\"epsForward\":0.88,\"epsCurrentYear\":0.69,\"priceEpsCurrentYear\":13.463768,\"sharesOutstanding\":1229049984,\"bookValue\":5.407,\"fiftyDayAverage\":9.7774,\"fiftyDayAverageChange\":-0.48740005,\"fiftyDayAverageChangePercent\":-0.04984966,\"twoHundredDayAverage\":7.8548,\"twoHundredDayAverageChange\":1.4351997,\"twoHundredDayAverageChangePercent\":0.18271627,\"marketCap\":11696481280,\"forwardPE\":10.556818,\"priceToBook\":1.7181431,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":10.82,\"fiftyTwoWeekLow\":4.75,\"shortName\":\"Kinross - Gold Corporation\",\"averageAnalystRating\":\"2.3 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":353687400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Kinross - Gold\",\"symbol\":\"KGC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.16251726,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731533763,\"postMarketPrice\":18.49,\"postMarketChange\":0.0,\"regularMarketChange\":0.030000687,\"regularMarketTime\":1731531601,\"regularMarketPrice\":18.49,\"regularMarketDayHigh\":18.74,\"regularMarketDayRange\":\"18.49 - - 18.74\",\"regularMarketDayLow\":18.49,\"regularMarketVolume\":396112,\"regularMarketPreviousClose\":18.46,\"bid\":16.09,\"ask\":21.23,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_34999\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Laureate - Education, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":18.63,\"averageDailyVolume3Month\":644760,\"averageDailyVolume10Day\":873430,\"fiftyTwoWeekLowChange\":6.04,\"fiftyTwoWeekLowChangePercent\":0.48514056,\"fiftyTwoWeekRange\":\"12.45 - - 19.12\",\"fiftyTwoWeekHighChange\":-0.63000107,\"fiftyTwoWeekHighChangePercent\":-0.032949846,\"fiftyTwoWeekChangePercent\":39.11078,\"dividendDate\":1701302400,\"earningsTimestamp\":1730374201,\"earningsTimestampStart\":1730374201,\"earningsTimestampEnd\":1730374201,\"earningsCallTimestampStart\":1730377800,\"earningsCallTimestampEnd\":1730377800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":11.484472,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.61,\"epsForward\":1.41,\"epsCurrentYear\":1.75,\"priceEpsCurrentYear\":10.565714,\"sharesOutstanding\":150684992,\"bookValue\":5.957,\"fiftyDayAverage\":16.1936,\"fiftyDayAverageChange\":2.2964,\"fiftyDayAverageChangePercent\":0.14180912,\"twoHundredDayAverage\":14.9385,\"twoHundredDayAverageChange\":3.5514994,\"twoHundredDayAverageChangePercent\":0.23774135,\"marketCap\":2786165504,\"forwardPE\":13.113476,\"priceToBook\":3.1039114,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":19.12,\"fiftyTwoWeekLow\":12.45,\"shortName\":\"Laureate - Education, Inc.\",\"averageAnalystRating\":\"2.0 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1485959400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Laureate - Education\",\"symbol\":\"LAUR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":2.11817,\"postMarketChangePercent\":-0.054586403,\"postMarketTime\":1731544749,\"postMarketPrice\":18.31,\"postMarketChange\":-0.010000229,\"regularMarketChange\":0.379999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":18.32,\"regularMarketDayHigh\":18.72,\"regularMarketDayRange\":\"18.08 - - 18.72\",\"regularMarketDayLow\":18.08,\"regularMarketVolume\":3773011,\"regularMarketPreviousClose\":17.94,\"bid\":18.22,\"ask\":18.44,\"bidSize\":14,\"askSize\":14,\"market\":\"us_market\",\"messageBoardId\":\"finmb_332273\",\"fullExchangeName\":\"NYSE\",\"longName\":\"American - Eagle Outfitters, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":18.28,\"averageDailyVolume3Month\":4245614,\"averageDailyVolume10Day\":4229450,\"fiftyTwoWeekLowChange\":2.3999996,\"fiftyTwoWeekLowChangePercent\":0.15075375,\"fiftyTwoWeekRange\":\"15.92 - - 26.44\",\"fiftyTwoWeekHighChange\":-8.120001,\"fiftyTwoWeekHighChangePercent\":-0.30711046,\"fiftyTwoWeekChangePercent\":-4.4340134,\"dividendDate\":1730246400,\"earningsTimestamp\":1724932800,\"earningsTimestampStart\":1732023000,\"earningsTimestampEnd\":1732541400,\"earningsCallTimestampStart\":1724943600,\"earningsCallTimestampEnd\":1724943600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.475,\"trailingPE\":14.3125,\"dividendRate\":0.5,\"trailingAnnualDividendYield\":0.026477145,\"dividendYield\":2.79,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.28,\"epsForward\":1.94,\"epsCurrentYear\":1.79,\"priceEpsCurrentYear\":10.234637,\"sharesOutstanding\":192064000,\"bookValue\":8.824,\"fiftyDayAverage\":20.1178,\"fiftyDayAverageChange\":-1.7978001,\"fiftyDayAverageChangePercent\":-0.08936365,\"twoHundredDayAverage\":21.7468,\"twoHundredDayAverageChange\":-3.4267998,\"twoHundredDayAverageChangePercent\":-0.1575772,\"marketCap\":3518612480,\"forwardPE\":9.443298,\"priceToBook\":2.076156,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":26.44,\"fiftyTwoWeekLow\":15.92,\"shortName\":\"American - Eagle Outfitters, Inc.\",\"averageAnalystRating\":\"2.8 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":766330200000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"American - Eagle Outfitters\",\"symbol\":\"AEO\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.3739375,\"postMarketChangePercent\":0.586252,\"postMarketTime\":1731543179,\"postMarketPrice\":43.3225,\"postMarketChange\":0.252499,\"regularMarketChange\":-0.5999985,\"regularMarketTime\":1731531601,\"regularMarketPrice\":43.07,\"regularMarketDayHigh\":43.845,\"regularMarketDayRange\":\"42.915 - - 43.845\",\"regularMarketDayLow\":42.915,\"regularMarketVolume\":7032105,\"regularMarketPreviousClose\":43.67,\"bid\":41.32,\"ask\":45.1,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_425005479\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Baker - Hughes Company\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":43.76,\"averageDailyVolume3Month\":6537851,\"averageDailyVolume10Day\":8028360,\"fiftyTwoWeekLowChange\":14.75,\"fiftyTwoWeekLowChangePercent\":0.5208333,\"fiftyTwoWeekRange\":\"28.32 - - 44.5\",\"fiftyTwoWeekHighChange\":-1.4300003,\"fiftyTwoWeekHighChangePercent\":-0.03213484,\"fiftyTwoWeekChangePercent\":29.57281,\"dividendDate\":1731542400,\"earningsTimestamp\":1729630800,\"earningsTimestampStart\":1737457140,\"earningsTimestampEnd\":1737979200,\"earningsCallTimestampStart\":1729690200,\"earningsCallTimestampEnd\":1729690200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.83,\"trailingPE\":19.577272,\"dividendRate\":0.84,\"trailingAnnualDividendYield\":0.019006183,\"dividendYield\":1.92,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.2,\"epsForward\":2.57,\"epsCurrentYear\":2.3,\"priceEpsCurrentYear\":18.726088,\"sharesOutstanding\":989526016,\"bookValue\":16.368,\"fiftyDayAverage\":37.122,\"fiftyDayAverageChange\":5.947998,\"fiftyDayAverageChangePercent\":0.16022837,\"twoHundredDayAverage\":33.9908,\"twoHundredDayAverageChange\":9.079201,\"twoHundredDayAverageChangePercent\":0.2671076,\"marketCap\":43212562432,\"forwardPE\":16.758755,\"priceToBook\":2.6313539,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-12-07\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":44.5,\"fiftyTwoWeekLow\":28.32,\"shortName\":\"Baker - Hughes Company\",\"averageAnalystRating\":\"1.9 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":544714200000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"BKR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.45336592,\"postMarketChangePercent\":0.292779,\"postMarketTime\":1731545830,\"postMarketPrice\":30.83,\"postMarketChange\":0.0900002,\"regularMarketChange\":-0.13999939,\"regularMarketTime\":1731531601,\"regularMarketPrice\":30.74,\"regularMarketDayHigh\":31.04,\"regularMarketDayRange\":\"30.36 - - 31.04\",\"regularMarketDayLow\":30.36,\"regularMarketVolume\":4835194,\"regularMarketPreviousClose\":30.88,\"bid\":30.69,\"ask\":30.8,\"bidSize\":3,\"askSize\":5,\"market\":\"us_market\",\"messageBoardId\":\"finmb_355279\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Match - Group, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":30.69,\"averageDailyVolume3Month\":4276634,\"averageDailyVolume10Day\":7403730,\"fiftyTwoWeekLowChange\":3.084999,\"fiftyTwoWeekLowChangePercent\":0.11155303,\"fiftyTwoWeekRange\":\"27.655 - - 42.425\",\"fiftyTwoWeekHighChange\":-11.684999,\"fiftyTwoWeekHighChangePercent\":-0.27542722,\"fiftyTwoWeekChangePercent\":-2.659911,\"dividendDate\":1545177600,\"earningsTimestamp\":1730927462,\"earningsTimestampStart\":1738098000,\"earningsTimestampEnd\":1738616400,\"earningsCallTimestampStart\":1730986200,\"earningsCallTimestampEnd\":1730986200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":13.846847,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.22,\"epsForward\":2.48,\"epsCurrentYear\":2.04,\"priceEpsCurrentYear\":15.068627,\"sharesOutstanding\":257895008,\"bookValue\":-0.353,\"fiftyDayAverage\":36.3607,\"fiftyDayAverageChange\":-5.620699,\"fiftyDayAverageChangePercent\":-0.15458171,\"twoHundredDayAverage\":34.28095,\"twoHundredDayAverageChange\":-3.5409489,\"twoHundredDayAverageChangePercent\":-0.10329203,\"marketCap\":7927692288,\"forwardPE\":12.395161,\"priceToBook\":-87.08215,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":42.425,\"fiftyTwoWeekLow\":27.655,\"shortName\":\"Match - Group, Inc.\",\"averageAnalystRating\":\"2.3 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":727453800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Match\",\"symbol\":\"MTCH\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.129929,\"postMarketChangePercent\":-0.21682237,\"postMarketTime\":1731538880,\"postMarketPrice\":23.01,\"postMarketChange\":-0.049999237,\"regularMarketChange\":-0.0300007,\"regularMarketTime\":1731531602,\"regularMarketPrice\":23.06,\"regularMarketDayHigh\":23.6,\"regularMarketDayRange\":\"23.01 - - 23.6\",\"regularMarketDayLow\":23.01,\"regularMarketVolume\":1383133,\"regularMarketPreviousClose\":23.09,\"bid\":22.7,\"ask\":23.43,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_32215\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Nordstrom, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":23.15,\"averageDailyVolume3Month\":2313704,\"averageDailyVolume10Day\":1773140,\"fiftyTwoWeekLowChange\":9.379999,\"fiftyTwoWeekLowChangePercent\":0.68567246,\"fiftyTwoWeekRange\":\"13.68 - - 24.93\",\"fiftyTwoWeekHighChange\":-1.8700008,\"fiftyTwoWeekHighChangePercent\":-0.07501006,\"fiftyTwoWeekChangePercent\":59.584774,\"dividendDate\":1726617600,\"earningsTimestamp\":1732654800,\"earningsTimestampStart\":1732654800,\"earningsTimestampEnd\":1732654800,\"earningsCallTimestampStart\":1732657500,\"earningsCallTimestampEnd\":1732657500,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.76,\"trailingPE\":13.329479,\"dividendRate\":0.76,\"trailingAnnualDividendYield\":0.03291468,\"dividendYield\":3.29,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.73,\"epsForward\":1.99,\"epsCurrentYear\":1.88,\"priceEpsCurrentYear\":12.265957,\"sharesOutstanding\":164211008,\"bookValue\":5.773,\"fiftyDayAverage\":22.7302,\"fiftyDayAverageChange\":0.32979965,\"fiftyDayAverageChangePercent\":0.014509316,\"twoHundredDayAverage\":21.1235,\"twoHundredDayAverageChange\":1.9364986,\"twoHundredDayAverageChangePercent\":0.09167508,\"marketCap\":3791640320,\"forwardPE\":11.587939,\"priceToBook\":3.994457,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":24.93,\"fiftyTwoWeekLow\":13.68,\"shortName\":\"Nordstrom, - Inc.\",\"averageAnalystRating\":\"3.1 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Nordstrom\",\"symbol\":\"JWN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":1.03897,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731545914,\"postMarketPrice\":3.89,\"postMarketChange\":0.0,\"regularMarketChange\":0.0400002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":3.89,\"regularMarketDayHigh\":3.98,\"regularMarketDayRange\":\"3.765 - - 3.98\",\"regularMarketDayLow\":3.765,\"regularMarketVolume\":15728810,\"regularMarketPreviousClose\":3.85,\"bid\":3.85,\"ask\":3.95,\"bidSize\":13,\"askSize\":31,\"market\":\"us_market\",\"messageBoardId\":\"finmb_8955572\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Kosmos - Energy Ltd.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":3.84,\"averageDailyVolume3Month\":7683714,\"averageDailyVolume10Day\":10926410,\"fiftyTwoWeekLowChange\":0.4000001,\"fiftyTwoWeekLowChangePercent\":0.114613205,\"fiftyTwoWeekRange\":\"3.49 - - 7.2\",\"fiftyTwoWeekHighChange\":-3.3099997,\"fiftyTwoWeekHighChangePercent\":-0.4597222,\"fiftyTwoWeekChangePercent\":-42.87812,\"dividendDate\":1585180800,\"earningsTimestamp\":1730703607,\"earningsTimestampStart\":1730703607,\"earningsTimestampEnd\":1730703607,\"earningsCallTimestampStart\":1730736000,\"earningsCallTimestampEnd\":1730736000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":8.644444,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.45,\"epsForward\":0.67,\"epsCurrentYear\":0.482,\"priceEpsCurrentYear\":8.070539,\"sharesOutstanding\":471895008,\"bookValue\":2.537,\"fiftyDayAverage\":4.0732,\"fiftyDayAverageChange\":-0.18320012,\"fiftyDayAverageChangePercent\":-0.04497695,\"twoHundredDayAverage\":5.2329,\"twoHundredDayAverageChange\":-1.3429,\"twoHundredDayAverageChangePercent\":-0.25662634,\"marketCap\":1835671680,\"forwardPE\":5.80597,\"priceToBook\":1.5333071,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":7.2,\"fiftyTwoWeekLow\":3.49,\"shortName\":\"Kosmos - Energy Ltd.\",\"averageAnalystRating\":\"1.7 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1305120600000,\"priceHint\":4,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Kosmos - Energy\",\"symbol\":\"KOS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.99404,\"postMarketChangePercent\":1.2048181,\"postMarketTime\":1731545306,\"postMarketPrice\":5.04,\"postMarketChange\":0.059999943,\"regularMarketChange\":-0.0500002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":4.98,\"regularMarketDayHigh\":5.1399,\"regularMarketDayRange\":\"4.975 - - 5.1399\",\"regularMarketDayLow\":4.975,\"regularMarketVolume\":7250601,\"regularMarketPreviousClose\":5.03,\"bid\":4.99,\"ask\":5.0,\"bidSize\":280,\"askSize\":407,\"market\":\"us_market\",\"messageBoardId\":\"finmb_880318\",\"fullExchangeName\":\"NYSE\",\"longName\":\"IAMGOLD - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":5.07,\"averageDailyVolume3Month\":8726000,\"averageDailyVolume10Day\":8219900,\"fiftyTwoWeekLowChange\":2.8700001,\"fiftyTwoWeekLowChangePercent\":1.3601897,\"fiftyTwoWeekRange\":\"2.11 - - 6.37\",\"fiftyTwoWeekHighChange\":-1.3899999,\"fiftyTwoWeekHighChangePercent\":-0.21821034,\"fiftyTwoWeekChangePercent\":111.01694,\"dividendDate\":1373587200,\"earningsTimestamp\":1731016800,\"earningsTimestampStart\":1739480400,\"earningsTimestampEnd\":1739826000,\"earningsCallTimestampStart\":1731072600,\"earningsCallTimestampEnd\":1731072600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":3.7164178,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.34,\"epsForward\":0.8,\"epsCurrentYear\":0.54,\"priceEpsCurrentYear\":9.222222,\"sharesOutstanding\":571200000,\"bookValue\":5.699,\"fiftyDayAverage\":5.2924,\"fiftyDayAverageChange\":-0.31239986,\"fiftyDayAverageChangePercent\":-0.059028015,\"twoHundredDayAverage\":4.09715,\"twoHundredDayAverageChange\":0.88285017,\"twoHundredDayAverageChangePercent\":0.2154791,\"marketCap\":2880018688,\"forwardPE\":6.225,\"priceToBook\":0.87383753,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":6.37,\"fiftyTwoWeekLow\":2.11,\"shortName\":\"Iamgold - Corporation\",\"averageAnalystRating\":\"2.5 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1058275800000,\"priceHint\":4,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"IAMGOLD\",\"symbol\":\"IAG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.0153478,\"postMarketChangePercent\":0.0767742,\"postMarketTime\":1731545456,\"postMarketPrice\":65.18,\"postMarketChange\":0.0500031,\"regularMarketChange\":0.00999451,\"regularMarketTime\":1731531602,\"regularMarketPrice\":65.13,\"regularMarketDayHigh\":67.19,\"regularMarketDayRange\":\"64.9701 - - 67.19\",\"regularMarketDayLow\":64.9701,\"regularMarketVolume\":5324127,\"regularMarketPreviousClose\":65.12,\"bid\":65.18,\"ask\":66.62,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_260334235\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Synchrony - Financial\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":65.39,\"averageDailyVolume3Month\":3505622,\"averageDailyVolume10Day\":5028600,\"fiftyTwoWeekLowChange\":36.289997,\"fiftyTwoWeekLowChangePercent\":1.2583216,\"fiftyTwoWeekRange\":\"28.84 - - 67.76\",\"fiftyTwoWeekHighChange\":-2.630005,\"fiftyTwoWeekHighChangePercent\":-0.03881353,\"fiftyTwoWeekChangePercent\":125.25077,\"dividendDate\":1731628800,\"earningsTimestamp\":1729072804,\"earningsTimestampStart\":1737457200,\"earningsTimestampEnd\":1737975600,\"earningsCallTimestampStart\":1729080000,\"earningsCallTimestampEnd\":1729080000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.0,\"trailingPE\":8.458442,\"dividendRate\":1.0,\"trailingAnnualDividendYield\":0.015356265,\"dividendYield\":1.54,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":7.7,\"epsForward\":6.47,\"epsCurrentYear\":8.47,\"priceEpsCurrentYear\":7.6894917,\"sharesOutstanding\":389344000,\"bookValue\":37.916,\"fiftyDayAverage\":53.0292,\"fiftyDayAverageChange\":12.100796,\"fiftyDayAverageChangePercent\":0.22819117,\"twoHundredDayAverage\":46.3677,\"twoHundredDayAverageChange\":18.762299,\"twoHundredDayAverageChangePercent\":0.40464157,\"marketCap\":25357973504,\"forwardPE\":10.066461,\"priceToBook\":1.7177444,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":67.76,\"fiftyTwoWeekLow\":28.84,\"shortName\":\"Synchrony - Financial\",\"averageAnalystRating\":\"2.3 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1406813400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"SYF\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.26538873,\"postMarketChangePercent\":1.33049,\"postMarketTime\":1731541000,\"postMarketPrice\":19.04,\"postMarketChange\":0.25,\"regularMarketChange\":-0.049999237,\"regularMarketTime\":1731531601,\"regularMarketPrice\":18.79,\"regularMarketDayHigh\":19.18,\"regularMarketDayRange\":\"18.77 - - 19.18\",\"regularMarketDayLow\":18.77,\"regularMarketVolume\":2274950,\"regularMarketPreviousClose\":18.84,\"bid\":18.77,\"ask\":19.95,\"bidSize\":10,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_31197\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Mattel, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":18.97,\"averageDailyVolume3Month\":2458737,\"averageDailyVolume10Day\":2908240,\"fiftyTwoWeekLowChange\":2.920001,\"fiftyTwoWeekLowChangePercent\":0.18399502,\"fiftyTwoWeekRange\":\"15.87 - - 20.6\",\"fiftyTwoWeekHighChange\":-1.8099995,\"fiftyTwoWeekHighChangePercent\":-0.08786405,\"fiftyTwoWeekChangePercent\":-0.6345868,\"dividendDate\":1505433600,\"earningsTimestamp\":1729713900,\"earningsTimestampStart\":1738789500,\"earningsTimestampEnd\":1739221500,\"earningsCallTimestampStart\":1729717200,\"earningsCallTimestampEnd\":1729717200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":11.968153,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.57,\"epsForward\":1.59,\"epsCurrentYear\":1.47,\"priceEpsCurrentYear\":12.782313,\"sharesOutstanding\":336859008,\"bookValue\":6.865,\"fiftyDayAverage\":19.0982,\"fiftyDayAverageChange\":-0.30819893,\"fiftyDayAverageChangePercent\":-0.01613759,\"twoHundredDayAverage\":18.6397,\"twoHundredDayAverageChange\":0.15030098,\"twoHundredDayAverageChangePercent\":0.008063487,\"marketCap\":6329581056,\"forwardPE\":11.817611,\"priceToBook\":2.7370722,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":20.6,\"fiftyTwoWeekLow\":15.87,\"shortName\":\"Mattel, - Inc.\",\"averageAnalystRating\":\"1.9 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":203866200000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Mattel\",\"symbol\":\"MAT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-10.7271,\"postMarketChangePercent\":0.133514,\"postMarketTime\":1731545753,\"postMarketPrice\":15.0,\"postMarketChange\":0.0200005,\"regularMarketChange\":-1.8,\"regularMarketTime\":1731531602,\"regularMarketPrice\":14.98,\"regularMarketDayHigh\":15.83,\"regularMarketDayRange\":\"14.97 - - 15.83\",\"regularMarketDayLow\":14.97,\"regularMarketVolume\":1167109,\"regularMarketPreviousClose\":16.78,\"bid\":14.28,\"ask\":15.46,\"bidSize\":11,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_30301231\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Dole - plc\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":15.51,\"averageDailyVolume3Month\":668428,\"averageDailyVolume10Day\":470940,\"fiftyTwoWeekLowChange\":4.2699995,\"fiftyTwoWeekLowChangePercent\":0.39869276,\"fiftyTwoWeekRange\":\"10.71 - - 17.12\",\"fiftyTwoWeekHighChange\":-2.1400013,\"fiftyTwoWeekHighChangePercent\":-0.12500007,\"fiftyTwoWeekChangePercent\":51.580845,\"dividendDate\":1727913600,\"earningsTimestamp\":1731495600,\"earningsTimestampStart\":1731495600,\"earningsTimestampEnd\":1731495600,\"earningsCallTimestampStart\":1731502800,\"earningsCallTimestampEnd\":1731502800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":8.511363,\"dividendRate\":0.32,\"trailingAnnualDividendYield\":0.0,\"dividendYield\":1.91,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.76,\"epsForward\":1.42,\"epsCurrentYear\":1.24,\"priceEpsCurrentYear\":12.080645,\"sharesOutstanding\":94952000,\"bookValue\":13.163,\"fiftyDayAverage\":16.27,\"fiftyDayAverageChange\":-1.2900009,\"fiftyDayAverageChangePercent\":-0.07928708,\"twoHundredDayAverage\":13.52445,\"twoHundredDayAverageChange\":1.4555492,\"twoHundredDayAverageChangePercent\":0.10762354,\"marketCap\":1423279744,\"forwardPE\":10.549295,\"priceToBook\":1.1380384,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-07-30\",\"prevName\":\"Total - Produce plc\",\"nameChangeDate\":\"2024-11-08\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":17.12,\"fiftyTwoWeekLow\":10.71,\"shortName\":\"Dole - plc\",\"averageAnalystRating\":\"2.5 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1627651800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Dole\",\"symbol\":\"DOLE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.5279851,\"postMarketChangePercent\":0.417012,\"postMarketTime\":1731545960,\"postMarketPrice\":9.5597,\"postMarketChange\":0.0396996,\"regularMarketChange\":0.05000019,\"regularMarketTime\":1731531601,\"regularMarketPrice\":9.52,\"regularMarketDayHigh\":9.58,\"regularMarketDayRange\":\"9.48 - - 9.58\",\"regularMarketDayLow\":9.48,\"regularMarketVolume\":16754656,\"regularMarketPreviousClose\":9.47,\"bid\":9.5,\"ask\":10.02,\"bidSize\":98,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_41018622\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"AGNC - Investment Corp.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":9.52,\"averageDailyVolume3Month\":17844470,\"averageDailyVolume10Day\":22057970,\"fiftyTwoWeekLowChange\":0.95000076,\"fiftyTwoWeekLowChangePercent\":0.1108519,\"fiftyTwoWeekRange\":\"8.57 - - 10.85\",\"fiftyTwoWeekHighChange\":-1.3299999,\"fiftyTwoWeekHighChangePercent\":-0.12258063,\"fiftyTwoWeekChangePercent\":9.677422,\"dividendDate\":1731369600,\"earningsTimestamp\":1729540864,\"earningsTimestampStart\":1737370740,\"earningsTimestampEnd\":1737720000,\"earningsCallTimestampStart\":1729600200,\"earningsCallTimestampEnd\":1729600200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.44,\"trailingPE\":6.389262,\"dividendRate\":1.44,\"trailingAnnualDividendYield\":0.15205914,\"dividendYield\":15.2,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.49,\"epsForward\":1.73,\"epsCurrentYear\":1.97,\"priceEpsCurrentYear\":4.8324876,\"sharesOutstanding\":885640000,\"bookValue\":9.502,\"fiftyDayAverage\":10.1162,\"fiftyDayAverageChange\":-0.5962,\"fiftyDayAverageChangePercent\":-0.05893517,\"twoHundredDayAverage\":9.8249,\"twoHundredDayAverageChange\":-0.30489922,\"twoHundredDayAverageChangePercent\":-0.031033317,\"marketCap\":8431293440,\"forwardPE\":5.5028906,\"priceToBook\":1.0018944,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":10.85,\"fiftyTwoWeekLow\":8.57,\"shortName\":\"AGNC - Investment Corp.\",\"averageAnalystRating\":\"2.2 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1210858200000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"AGNC - Inv\",\"symbol\":\"AGNC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.81379,\"postMarketChangePercent\":6.22472E-4,\"postMarketTime\":1731545956,\"postMarketPrice\":16.2401,\"postMarketChange\":1.01089E-4,\"regularMarketChange\":-0.300001,\"regularMarketTime\":1731531602,\"regularMarketPrice\":16.24,\"regularMarketDayHigh\":16.615,\"regularMarketDayRange\":\"16.1401 - - 16.615\",\"regularMarketDayLow\":16.1401,\"regularMarketVolume\":3042168,\"regularMarketPreviousClose\":16.54,\"bid\":16.08,\"ask\":16.41,\"bidSize\":22,\"askSize\":30,\"market\":\"us_market\",\"messageBoardId\":\"finmb_31900\",\"fullExchangeName\":\"NYSE\",\"longName\":\"NOV - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":16.61,\"averageDailyVolume3Month\":3655096,\"averageDailyVolume10Day\":3488010,\"fiftyTwoWeekLowChange\":1.25,\"fiftyTwoWeekLowChangePercent\":0.083388925,\"fiftyTwoWeekRange\":\"14.99 - - 21.23\",\"fiftyTwoWeekHighChange\":-4.99,\"fiftyTwoWeekHighChangePercent\":-0.23504475,\"fiftyTwoWeekChangePercent\":-13.294178,\"dividendDate\":1727395200,\"earningsTimestamp\":1729806300,\"earningsTimestampStart\":1738274400,\"earningsTimestampEnd\":1738620000,\"earningsCallTimestampStart\":1729868400,\"earningsCallTimestampEnd\":1729868400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.25,\"trailingPE\":6.1283016,\"dividendRate\":0.3,\"trailingAnnualDividendYield\":0.015114872,\"dividendYield\":1.81,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.65,\"epsForward\":1.56,\"epsCurrentYear\":1.5,\"priceEpsCurrentYear\":10.826667,\"sharesOutstanding\":389084000,\"bookValue\":16.613,\"fiftyDayAverage\":16.0346,\"fiftyDayAverageChange\":0.20540047,\"fiftyDayAverageChangePercent\":0.012809829,\"twoHundredDayAverage\":17.8004,\"twoHundredDayAverageChange\":-1.5604,\"twoHundredDayAverageChangePercent\":-0.08766095,\"marketCap\":6435457024,\"forwardPE\":10.410256,\"priceToBook\":0.97754765,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"National - Oilwell Varco, Inc.\",\"nameChangeDate\":\"2024-11-08\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":21.23,\"fiftyTwoWeekLow\":14.99,\"shortName\":\"NOV - Inc.\",\"averageAnalystRating\":\"2.3 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":846599400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"NOV\",\"symbol\":\"NOV\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.218978,\"postMarketChangePercent\":-0.9997558,\"postMarketTime\":1731541902,\"postMarketPrice\":81.2,\"postMarketChange\":-0.8199997,\"regularMarketChange\":-0.18,\"regularMarketTime\":1731531602,\"regularMarketPrice\":82.02,\"regularMarketDayHigh\":82.8342,\"regularMarketDayRange\":\"81.945 - - 82.8342\",\"regularMarketDayLow\":81.945,\"regularMarketVolume\":1603748,\"regularMarketPreviousClose\":82.2,\"bid\":82.2,\"ask\":82.36,\"bidSize\":11,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_185648\",\"fullExchangeName\":\"NYSE\",\"longName\":\"MetLife, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":82.11,\"averageDailyVolume3Month\":3241420,\"averageDailyVolume10Day\":4189800,\"fiftyTwoWeekLowChange\":20.409996,\"fiftyTwoWeekLowChangePercent\":0.3312773,\"fiftyTwoWeekRange\":\"61.61 - - 86.95\",\"fiftyTwoWeekHighChange\":-4.9300003,\"fiftyTwoWeekHighChangePercent\":-0.056699257,\"fiftyTwoWeekChangePercent\":32.22635,\"dividendDate\":1734307200,\"earningsTimestamp\":1730319300,\"earningsTimestampStart\":1738184400,\"earningsTimestampEnd\":1738616400,\"earningsCallTimestampStart\":1730379600,\"earningsCallTimestampEnd\":1730379600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":2.13,\"trailingPE\":16.636917,\"dividendRate\":2.18,\"trailingAnnualDividendYield\":0.025912412,\"dividendYield\":2.65,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.93,\"epsForward\":9.69,\"epsCurrentYear\":8.31,\"priceEpsCurrentYear\":9.870035,\"sharesOutstanding\":692419968,\"bookValue\":44.525,\"fiftyDayAverage\":81.2908,\"fiftyDayAverageChange\":0.72919464,\"fiftyDayAverageChangePercent\":0.008970198,\"twoHundredDayAverage\":74.00925,\"twoHundredDayAverageChange\":8.01075,\"twoHundredDayAverageChangePercent\":0.10823985,\"marketCap\":56792285184,\"forwardPE\":8.464396,\"priceToBook\":1.842111,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":86.95,\"fiftyTwoWeekLow\":61.61,\"shortName\":\"MetLife, - Inc.\",\"averageAnalystRating\":\"2.1 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":954941400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"MetLife\",\"symbol\":\"MET\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.2634312,\"postMarketChangePercent\":0.0264087,\"postMarketTime\":1731540052,\"postMarketPrice\":37.87,\"postMarketChange\":0.00999832,\"regularMarketChange\":-0.099998474,\"regularMarketTime\":1731531601,\"regularMarketPrice\":37.86,\"regularMarketDayHigh\":38.495,\"regularMarketDayRange\":\"37.82 - - 38.495\",\"regularMarketDayLow\":37.82,\"regularMarketVolume\":1806797,\"regularMarketPreviousClose\":37.96,\"bid\":37.83,\"ask\":43.67,\"bidSize\":13,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_26510\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Flex - Ltd.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":38.02,\"averageDailyVolume3Month\":3371243,\"averageDailyVolume10Day\":2905200,\"fiftyTwoWeekLowChange\":19.058191,\"fiftyTwoWeekLowChangePercent\":1.013636,\"fiftyTwoWeekRange\":\"18.80181 - - 40.3\",\"fiftyTwoWeekHighChange\":-2.4399986,\"fiftyTwoWeekHighChangePercent\":-0.060545873,\"fiftyTwoWeekChangePercent\":90.44814,\"earningsTimestamp\":1730289903,\"earningsTimestampStart\":1730289903,\"earningsTimestampEnd\":1730289903,\"earningsCallTimestampStart\":1730291400,\"earningsCallTimestampEnd\":1730291400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":18.201923,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.08,\"epsForward\":2.78,\"epsCurrentYear\":2.45,\"priceEpsCurrentYear\":15.453061,\"sharesOutstanding\":387783008,\"bookValue\":12.836,\"fiftyDayAverage\":33.8164,\"fiftyDayAverageChange\":4.043602,\"fiftyDayAverageChangePercent\":0.11957518,\"twoHundredDayAverage\":30.6017,\"twoHundredDayAverageChange\":7.258301,\"twoHundredDayAverageChangePercent\":0.2371862,\"marketCap\":14681464832,\"forwardPE\":13.618706,\"priceToBook\":2.949517,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":40.3,\"fiftyTwoWeekLow\":18.80181,\"shortName\":\"Flex - Ltd.\",\"averageAnalystRating\":\"1.8 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":764001000000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Flex\",\"symbol\":\"FLEX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.36975,\"postMarketChangePercent\":-0.0114775,\"postMarketTime\":1731545929,\"postMarketPrice\":261.34,\"postMarketChange\":-0.0299988,\"regularMarketChange\":-0.970001,\"regularMarketTime\":1731531602,\"regularMarketPrice\":261.37,\"regularMarketDayHigh\":263.655,\"regularMarketDayRange\":\"260.84 - - 263.655\",\"regularMarketDayLow\":260.84,\"regularMarketVolume\":1427773,\"regularMarketPreviousClose\":262.34,\"bid\":261.92,\"ask\":262.14,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_33352\",\"fullExchangeName\":\"NYSE\",\"longName\":\"The - Progressive Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":263.655,\"averageDailyVolume3Month\":2221406,\"averageDailyVolume10Day\":2478340,\"fiftyTwoWeekLowChange\":112.229996,\"fiftyTwoWeekLowChangePercent\":0.75251436,\"fiftyTwoWeekRange\":\"149.14 - - 263.85\",\"fiftyTwoWeekHighChange\":-2.480011,\"fiftyTwoWeekHighChangePercent\":-0.009399321,\"fiftyTwoWeekChangePercent\":63.41753,\"dividendDate\":1728604800,\"earningsTimestamp\":1731677400,\"earningsTimestampStart\":1731677400,\"earningsTimestampEnd\":1731677400,\"earningsCallTimestampStart\":1730817000,\"earningsCallTimestampEnd\":1730817000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.15,\"trailingPE\":18.981117,\"dividendRate\":0.4,\"trailingAnnualDividendYield\":0.004383624,\"dividendYield\":0.15,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":13.77,\"epsForward\":13.8,\"epsCurrentYear\":13.13,\"priceEpsCurrentYear\":19.90632,\"sharesOutstanding\":585811968,\"bookValue\":46.363,\"fiftyDayAverage\":251.9184,\"fiftyDayAverageChange\":9.451599,\"fiftyDayAverageChangePercent\":0.037518494,\"twoHundredDayAverage\":220.08025,\"twoHundredDayAverageChange\":41.28975,\"twoHundredDayAverageChangePercent\":0.18761225,\"marketCap\":153681887232,\"forwardPE\":18.939854,\"priceToBook\":5.63747,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":263.85,\"fiftyTwoWeekLow\":149.14,\"shortName\":\"Progressive - Corporation (The)\",\"averageAnalystRating\":\"2.1 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"The - Progressive\",\"symbol\":\"PGR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-2.06074,\"postMarketChangePercent\":-0.32557997,\"postMarketTime\":1731545513,\"postMarketPrice\":9.0006,\"postMarketChange\":-0.029399872,\"regularMarketChange\":-0.190001,\"regularMarketTime\":1731531602,\"regularMarketPrice\":9.03,\"regularMarketDayHigh\":9.565,\"regularMarketDayRange\":\"8.99 - - 9.565\",\"regularMarketDayLow\":8.99,\"regularMarketVolume\":4876709,\"regularMarketPreviousClose\":9.22,\"bid\":9.01,\"ask\":9.05,\"bidSize\":40,\"askSize\":18,\"market\":\"us_market\",\"messageBoardId\":\"finmb_410154\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Harmony - Gold Mining Company Limited\",\"financialCurrency\":\"ZAR\",\"regularMarketOpen\":9.5,\"averageDailyVolume3Month\":4041467,\"averageDailyVolume10Day\":3627800,\"fiftyTwoWeekLowChange\":3.7099996,\"fiftyTwoWeekLowChangePercent\":0.6973683,\"fiftyTwoWeekRange\":\"5.32 - - 12.29\",\"fiftyTwoWeekHighChange\":-3.2600002,\"fiftyTwoWeekHighChangePercent\":-0.26525632,\"fiftyTwoWeekChangePercent\":65.68807,\"dividendDate\":1729468800,\"earningsTimestamp\":1725533940,\"earningsTimestampStart\":1725533940,\"earningsTimestampEnd\":1725533940,\"earningsCallTimestampStart\":1725533940,\"earningsCallTimestampEnd\":1725533940,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":2.41,\"trailingPE\":12.04,\"dividendRate\":0.17,\"trailingAnnualDividendYield\":0.2613883,\"dividendYield\":1.88,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.75,\"epsForward\":1.43,\"epsCurrentYear\":1.27,\"priceEpsCurrentYear\":7.110236,\"sharesOutstanding\":622068992,\"bookValue\":65.771,\"fiftyDayAverage\":10.2814,\"fiftyDayAverageChange\":-1.2514,\"fiftyDayAverageChangePercent\":-0.12171494,\"twoHundredDayAverage\":8.98835,\"twoHundredDayAverageChange\":0.04164982,\"twoHundredDayAverageChangePercent\":0.004633756,\"marketCap\":5835357696,\"forwardPE\":6.3146853,\"priceToBook\":0.13729455,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":12.29,\"fiftyTwoWeekLow\":5.32,\"shortName\":\"Harmony - Gold Mining Company Lim\",\"averageAnalystRating\":\"3.0 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":769181400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Harmony - Gold Mining Company\",\"symbol\":\"HMY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.275054,\"postMarketChangePercent\":-0.328153,\"postMarketTime\":1731545494,\"postMarketPrice\":592.27,\"postMarketChange\":-1.94995,\"regularMarketChange\":1.62994,\"regularMarketTime\":1731531602,\"regularMarketPrice\":594.22,\"regularMarketDayHigh\":603.5499,\"regularMarketDayRange\":\"592.65 - - 603.5499\",\"regularMarketDayLow\":592.65,\"regularMarketVolume\":1762554,\"regularMarketPreviousClose\":592.59,\"bid\":593.33,\"ask\":596.98,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_398625\",\"fullExchangeName\":\"NYSE\",\"longName\":\"The - Goldman Sachs Group, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":594.63,\"averageDailyVolume3Month\":1961214,\"averageDailyVolume10Day\":2955360,\"fiftyTwoWeekLowChange\":259.66998,\"fiftyTwoWeekLowChangePercent\":0.7761769,\"fiftyTwoWeekRange\":\"334.55 - - 607.15\",\"fiftyTwoWeekHighChange\":-12.930054,\"fiftyTwoWeekHighChangePercent\":-0.021296307,\"fiftyTwoWeekChangePercent\":76.499245,\"dividendDate\":1735516800,\"earningsTimestamp\":1737034200,\"earningsTimestampStart\":1737034200,\"earningsTimestampEnd\":1737034200,\"earningsCallTimestampStart\":1737037800,\"earningsCallTimestampEnd\":1737037800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":11.25,\"trailingPE\":17.359625,\"dividendRate\":12.0,\"trailingAnnualDividendYield\":0.018984457,\"dividendYield\":2.03,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":34.23,\"epsForward\":41.56,\"epsCurrentYear\":36.41,\"priceEpsCurrentYear\":16.32024,\"sharesOutstanding\":313910016,\"bookValue\":327.611,\"fiftyDayAverage\":513.78,\"fiftyDayAverageChange\":80.43994,\"fiftyDayAverageChangePercent\":0.15656495,\"twoHundredDayAverage\":459.42075,\"twoHundredDayAverageChange\":134.79922,\"twoHundredDayAverageChangePercent\":0.29341128,\"marketCap\":186531594240,\"forwardPE\":14.297881,\"priceToBook\":1.8137974,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":607.15,\"fiftyTwoWeekLow\":334.55,\"shortName\":\"Goldman - Sachs Group, Inc. (The)\",\"averageAnalystRating\":\"2.1 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":925824600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"The - Goldman Sachs\",\"symbol\":\"GS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":1.3815361,\"postMarketChangePercent\":0.687724,\"postMarketTime\":1731541241,\"postMarketPrice\":39.53,\"postMarketChange\":0.27,\"regularMarketChange\":0.53499985,\"regularMarketTime\":1731531600,\"regularMarketPrice\":39.26,\"regularMarketDayHigh\":40.48,\"regularMarketDayRange\":\"38.835 - - 40.48\",\"regularMarketDayLow\":38.835,\"regularMarketVolume\":1481438,\"regularMarketPreviousClose\":38.725,\"bid\":33.85,\"ask\":39.32,\"bidSize\":1,\"askSize\":2,\"market\":\"us_market\",\"messageBoardId\":\"finmb_330706\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Urban - Outfitters, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":39.08,\"averageDailyVolume3Month\":1799164,\"averageDailyVolume10Day\":1213950,\"fiftyTwoWeekLowChange\":7.8899975,\"fiftyTwoWeekLowChangePercent\":0.2515141,\"fiftyTwoWeekRange\":\"31.37 - - 48.9\",\"fiftyTwoWeekHighChange\":-9.640003,\"fiftyTwoWeekHighChangePercent\":-0.19713707,\"fiftyTwoWeekChangePercent\":11.21813,\"earningsTimestamp\":1732654800,\"earningsTimestampStart\":1732654800,\"earningsTimestampEnd\":1732654800,\"earningsCallTimestampStart\":1732659300,\"earningsCallTimestampEnd\":1732659300,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":11.861027,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.31,\"epsForward\":3.85,\"epsCurrentYear\":3.68,\"priceEpsCurrentYear\":10.668478,\"sharesOutstanding\":92260304,\"bookValue\":24.295,\"fiftyDayAverage\":36.723,\"fiftyDayAverageChange\":2.5369987,\"fiftyDayAverageChangePercent\":0.06908473,\"twoHundredDayAverage\":40.51835,\"twoHundredDayAverageChange\":-1.2583504,\"twoHundredDayAverageChangePercent\":-0.03105631,\"marketCap\":3622139392,\"forwardPE\":10.197402,\"priceToBook\":1.6159703,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":48.9,\"fiftyTwoWeekLow\":31.37,\"shortName\":\"Urban - Outfitters, Inc.\",\"averageAnalystRating\":\"2.9 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":752855400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Urban - Outfitters\",\"symbol\":\"URBN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.392716,\"postMarketChangePercent\":0.7744341,\"postMarketTime\":1731537010,\"postMarketPrice\":71.57,\"postMarketChange\":0.55000305,\"regularMarketChange\":-0.280006,\"regularMarketTime\":1731531602,\"regularMarketPrice\":71.02,\"regularMarketDayHigh\":71.44,\"regularMarketDayRange\":\"70.67 - - 71.44\",\"regularMarketDayLow\":70.67,\"regularMarketVolume\":882808,\"regularMarketPreviousClose\":71.3,\"bid\":71.18,\"ask\":72.06,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_166762\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Unum - Group\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":70.9,\"averageDailyVolume3Month\":1228500,\"averageDailyVolume10Day\":1392790,\"fiftyTwoWeekLowChange\":29.159996,\"fiftyTwoWeekLowChangePercent\":0.69660765,\"fiftyTwoWeekRange\":\"41.86 - - 71.44\",\"fiftyTwoWeekHighChange\":-0.4200058,\"fiftyTwoWeekHighChangePercent\":-0.0058791405,\"fiftyTwoWeekChangePercent\":68.77376,\"dividendDate\":1731628800,\"earningsTimestamp\":1738702800,\"earningsTimestampStart\":1738702800,\"earningsTimestampEnd\":1738702800,\"earningsCallTimestampStart\":1738760400,\"earningsCallTimestampEnd\":1738760400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.57,\"trailingPE\":7.736383,\"dividendRate\":1.68,\"trailingAnnualDividendYield\":0.022019636,\"dividendYield\":2.36,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":9.18,\"epsForward\":9.04,\"epsCurrentYear\":8.55,\"priceEpsCurrentYear\":8.306432,\"sharesOutstanding\":182612000,\"bookValue\":59.357,\"fiftyDayAverage\":61.1924,\"fiftyDayAverageChange\":9.827595,\"fiftyDayAverageChangePercent\":0.16060156,\"twoHundredDayAverage\":54.1604,\"twoHundredDayAverageChange\":16.859596,\"twoHundredDayAverageChangePercent\":0.3112901,\"marketCap\":13020237824,\"forwardPE\":7.8561945,\"priceToBook\":1.196489,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":71.44,\"fiftyTwoWeekLow\":41.86,\"shortName\":\"Unum - Group\",\"averageAnalystRating\":\"2.2 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":531671400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Unum\",\"symbol\":\"UNM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.0650633,\"postMarketChangePercent\":1.9531263,\"postMarketTime\":1731543480,\"postMarketPrice\":15.66,\"postMarketChange\":0.3000002,\"regularMarketChange\":-0.0100002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":15.36,\"regularMarketDayHigh\":15.705,\"regularMarketDayRange\":\"15.24 - - 15.705\",\"regularMarketDayLow\":15.24,\"regularMarketVolume\":1769324,\"regularMarketPreviousClose\":15.37,\"bid\":15.16,\"ask\":15.71,\"bidSize\":9,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_877535\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Eldorado - Gold Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":15.51,\"averageDailyVolume3Month\":1447632,\"averageDailyVolume10Day\":1925170,\"fiftyTwoWeekLowChange\":5.6399994,\"fiftyTwoWeekLowChangePercent\":0.5802468,\"fiftyTwoWeekRange\":\"9.72 - - 19.06\",\"fiftyTwoWeekHighChange\":-3.6999998,\"fiftyTwoWeekHighChangePercent\":-0.19412382,\"fiftyTwoWeekChangePercent\":38.25382,\"dividendDate\":1546214400,\"earningsTimestamp\":1730408480,\"earningsTimestampStart\":1730408480,\"earningsTimestampEnd\":1730408480,\"earningsCallTimestampStart\":1730475000,\"earningsCallTimestampEnd\":1730475000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":10.893617,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.41,\"epsForward\":1.78,\"epsCurrentYear\":1.43,\"priceEpsCurrentYear\":10.741259,\"sharesOutstanding\":204910000,\"bookValue\":18.443,\"fiftyDayAverage\":17.2532,\"fiftyDayAverageChange\":-1.8932009,\"fiftyDayAverageChangePercent\":-0.109730415,\"twoHundredDayAverage\":15.38975,\"twoHundredDayAverageChange\":-0.02974987,\"twoHundredDayAverageChangePercent\":-0.0019330964,\"marketCap\":3155420160,\"forwardPE\":8.629213,\"priceToBook\":0.8328363,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":19.06,\"fiftyTwoWeekLow\":9.72,\"shortName\":\"Eldorado - Gold Corporation\",\"averageAnalystRating\":\"2.4 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1043332200000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Eldorado - Gold\",\"symbol\":\"EGO\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.059333026,\"postMarketChangePercent\":-0.583123,\"postMarketTime\":1731541322,\"postMarketPrice\":100.59,\"postMarketChange\":-0.590004,\"regularMarketChange\":0.05999756,\"regularMarketTime\":1731531601,\"regularMarketPrice\":101.18,\"regularMarketDayHigh\":102.125,\"regularMarketDayRange\":\"100.76 - - 102.125\",\"regularMarketDayLow\":100.76,\"regularMarketVolume\":1736044,\"regularMarketPreviousClose\":101.12,\"bid\":101.1,\"ask\":101.27,\"bidSize\":15,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_346919\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Arch - Capital Group Ltd.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":101.12,\"averageDailyVolume3Month\":1687909,\"averageDailyVolume10Day\":2513360,\"fiftyTwoWeekLowChange\":28.330002,\"fiftyTwoWeekLowChangePercent\":0.3888813,\"fiftyTwoWeekRange\":\"72.85 - - 116.47\",\"fiftyTwoWeekHighChange\":-15.290001,\"fiftyTwoWeekHighChangePercent\":-0.13127844,\"fiftyTwoWeekChangePercent\":20.869673,\"earningsTimestamp\":1730318700,\"earningsTimestampStart\":1739357940,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730386800,\"earningsCallTimestampEnd\":1730386800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":6.790604,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":14.9,\"epsForward\":9.04,\"epsCurrentYear\":8.9,\"priceEpsCurrentYear\":11.36854,\"sharesOutstanding\":376241984,\"bookValue\":57.234,\"fiftyDayAverage\":108.4482,\"fiftyDayAverageChange\":-7.268196,\"fiftyDayAverageChangePercent\":-0.067019984,\"twoHundredDayAverage\":98.85385,\"twoHundredDayAverageChange\":2.326149,\"twoHundredDayAverageChangePercent\":0.023531193,\"marketCap\":38068162560,\"forwardPE\":11.192478,\"priceToBook\":1.7678303,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":116.47,\"fiftyTwoWeekLow\":72.85,\"shortName\":\"Arch - Capital Group Ltd.\",\"averageAnalystRating\":\"2.0 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":811085400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Arch - Capital\",\"symbol\":\"ACGL\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.05932,\"postMarketChangePercent\":0.6423926,\"postMarketTime\":1731540107,\"postMarketPrice\":9.4,\"postMarketChange\":0.059999466,\"regularMarketChange\":-0.0999994,\"regularMarketTime\":1731531602,\"regularMarketPrice\":9.34,\"regularMarketDayHigh\":9.425,\"regularMarketDayRange\":\"9.28 - - 9.425\",\"regularMarketDayLow\":9.28,\"regularMarketVolume\":1529694,\"regularMarketPreviousClose\":9.44,\"bid\":9.3,\"ask\":9.35,\"bidSize\":22,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_199526\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Banco - Bilbao Vizcaya Argentaria, S.A.\",\"financialCurrency\":\"EUR\",\"regularMarketOpen\":9.41,\"averageDailyVolume3Month\":1395014,\"averageDailyVolume10Day\":2020570,\"fiftyTwoWeekLowChange\":0.71000004,\"fiftyTwoWeekLowChangePercent\":0.08227115,\"fiftyTwoWeekRange\":\"8.63 - - 12.2\",\"fiftyTwoWeekHighChange\":-2.8599997,\"fiftyTwoWeekHighChangePercent\":-0.2344262,\"fiftyTwoWeekChangePercent\":5.2987576,\"dividendDate\":1729814400,\"earningsTimestamp\":1730359800,\"earningsTimestampStart\":1738049400,\"earningsTimestampEnd\":1738567800,\"earningsCallTimestampStart\":1730363400,\"earningsCallTimestampEnd\":1730363400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.68,\"trailingPE\":5.526627,\"dividendRate\":0.75,\"trailingAnnualDividendYield\":0.072033904,\"dividendYield\":7.94,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.69,\"epsForward\":1.6,\"epsCurrentYear\":1.64,\"priceEpsCurrentYear\":5.6951222,\"sharesOutstanding\":5752289792,\"bookValue\":9.177,\"fiftyDayAverage\":10.1896,\"fiftyDayAverageChange\":-0.84959984,\"fiftyDayAverageChangePercent\":-0.08337911,\"twoHundredDayAverage\":10.46295,\"twoHundredDayAverageChange\":-1.1229496,\"twoHundredDayAverageChangePercent\":-0.10732629,\"marketCap\":54659829760,\"forwardPE\":5.8375,\"priceToBook\":1.0177618,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":12.2,\"fiftyTwoWeekLow\":8.63,\"shortName\":\"Banco - Bilbao Vizcaya Argentaria\",\"averageAnalystRating\":\"3.0 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":598199400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Banco - Bilbao Vizcaya Argentaria\",\"symbol\":\"BBVA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.09891,\"postMarketChangePercent\":3.9999962,\"postMarketTime\":1731544442,\"postMarketPrice\":4.68,\"postMarketChange\":0.17999983,\"regularMarketChange\":-0.0500002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":4.5,\"regularMarketDayHigh\":4.555,\"regularMarketDayRange\":\"4.5 - - 4.555\",\"regularMarketDayLow\":4.5,\"regularMarketVolume\":301953,\"regularMarketPreviousClose\":4.55,\"bid\":4.48,\"ask\":4.84,\"bidSize\":32,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_34120227\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Banco - Santander (Brasil) S.A.\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":4.55,\"averageDailyVolume3Month\":286309,\"averageDailyVolume10Day\":327380,\"fiftyTwoWeekLowChange\":0.0,\"fiftyTwoWeekLowChangePercent\":0.0,\"fiftyTwoWeekRange\":\"4.5 - - 6.66\",\"fiftyTwoWeekHighChange\":-2.1599998,\"fiftyTwoWeekHighChangePercent\":-0.3243243,\"fiftyTwoWeekChangePercent\":-30.76923,\"dividendDate\":1731888000,\"earningsTimestamp\":1738755000,\"earningsTimestampStart\":1738755000,\"earningsTimestampEnd\":1738755000,\"earningsCallTimestampStart\":1738753140,\"earningsCallTimestampEnd\":1738753140,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.844,\"trailingPE\":16.071428,\"dividendRate\":0.3,\"trailingAnnualDividendYield\":0.1854945,\"dividendYield\":6.63,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.28,\"epsForward\":0.78,\"epsCurrentYear\":0.68,\"priceEpsCurrentYear\":6.617647,\"sharesOutstanding\":7460469760,\"bookValue\":11.899,\"fiftyDayAverage\":5.1512,\"fiftyDayAverageChange\":-0.6511998,\"fiftyDayAverageChangePercent\":-0.12641712,\"twoHundredDayAverage\":5.3593,\"twoHundredDayAverageChange\":-0.85930014,\"twoHundredDayAverageChangePercent\":-0.16033812,\"marketCap\":33572114432,\"forwardPE\":5.769231,\"priceToBook\":0.37818304,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":6.66,\"fiftyTwoWeekLow\":4.5,\"shortName\":\"Banco - Santander Brasil SA\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1254922200000,\"priceHint\":4,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Banco - Santander (Brasil)\",\"symbol\":\"BSBR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.955627,\"postMarketChangePercent\":0.7925553,\"postMarketTime\":1731544978,\"postMarketPrice\":58.5,\"postMarketChange\":0.45999908,\"regularMarketChange\":-0.559998,\"regularMarketTime\":1731531602,\"regularMarketPrice\":58.04,\"regularMarketDayHigh\":59.19,\"regularMarketDayRange\":\"57.585 - - 59.19\",\"regularMarketDayLow\":57.585,\"regularMarketVolume\":5625821,\"regularMarketPreviousClose\":58.6,\"bid\":58.35,\"ask\":59.0,\"bidSize\":14,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_26273\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Centene - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":58.75,\"averageDailyVolume3Month\":5104606,\"averageDailyVolume10Day\":6614810,\"fiftyTwoWeekLowChange\":0.47999954,\"fiftyTwoWeekLowChangePercent\":0.008339116,\"fiftyTwoWeekRange\":\"57.56 - - 81.42\",\"fiftyTwoWeekHighChange\":-23.379997,\"fiftyTwoWeekHighChangePercent\":-0.287153,\"fiftyTwoWeekChangePercent\":-20.721214,\"earningsTimestamp\":1729850406,\"earningsTimestampStart\":1738666800,\"earningsTimestampEnd\":1739185200,\"earningsCallTimestampStart\":1729859400,\"earningsCallTimestampEnd\":1729859400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":10.024179,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":5.79,\"epsForward\":7.04,\"epsCurrentYear\":6.69,\"priceEpsCurrentYear\":8.675635,\"sharesOutstanding\":504864992,\"bookValue\":53.535,\"fiftyDayAverage\":68.6066,\"fiftyDayAverageChange\":-10.566597,\"fiftyDayAverageChangePercent\":-0.15401721,\"twoHundredDayAverage\":72.7431,\"twoHundredDayAverageChange\":-14.703102,\"twoHundredDayAverageChangePercent\":-0.20212366,\"marketCap\":29302364160,\"forwardPE\":8.244318,\"priceToBook\":1.0841506,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":81.42,\"fiftyTwoWeekLow\":57.56,\"shortName\":\"Centene - Corporation\",\"averageAnalystRating\":\"2.3 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1008253800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Centene\",\"symbol\":\"CNC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.220528,\"postMarketChangePercent\":-0.03400282,\"postMarketTime\":1731539030,\"postMarketPrice\":117.6,\"postMarketChange\":-0.040000916,\"regularMarketChange\":-0.260002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":117.64,\"regularMarketDayHigh\":118.3,\"regularMarketDayRange\":\"117.36 - - 118.3\",\"regularMarketDayLow\":117.36,\"regularMarketVolume\":1126711,\"regularMarketPreviousClose\":117.9,\"bid\":117.76,\"ask\":117.79,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_341546\",\"fullExchangeName\":\"NYSE\",\"longName\":\"The - Hartford Financial Services Group, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":117.56,\"averageDailyVolume3Month\":1461531,\"averageDailyVolume10Day\":1581750,\"fiftyTwoWeekLowChange\":42.28,\"fiftyTwoWeekLowChangePercent\":0.56104034,\"fiftyTwoWeekRange\":\"75.36 - - 123.23\",\"fiftyTwoWeekHighChange\":-5.590004,\"fiftyTwoWeekHighChangePercent\":-0.04536236,\"fiftyTwoWeekChangePercent\":54.07989,\"dividendDate\":1735862400,\"earningsTimestamp\":1729800900,\"earningsTimestampStart\":1738270800,\"earningsTimestampEnd\":1738616400,\"earningsCallTimestampStart\":1729861200,\"earningsCallTimestampEnd\":1729861200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.88,\"trailingPE\":11.811245,\"dividendRate\":2.08,\"trailingAnnualDividendYield\":0.015945716,\"dividendYield\":1.76,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":9.96,\"epsForward\":11.61,\"epsCurrentYear\":10.07,\"priceEpsCurrentYear\":11.682224,\"sharesOutstanding\":289891008,\"bookValue\":57.335,\"fiftyDayAverage\":116.4122,\"fiftyDayAverageChange\":1.2277985,\"fiftyDayAverageChangePercent\":0.010546992,\"twoHundredDayAverage\":104.9127,\"twoHundredDayAverageChange\":12.727303,\"twoHundredDayAverageChangePercent\":0.121313274,\"marketCap\":34102777856,\"forwardPE\":10.132645,\"priceToBook\":2.0518007,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":123.23,\"fiftyTwoWeekLow\":75.36,\"shortName\":\"Hartford - Financial Services Gro\",\"averageAnalystRating\":\"2.5 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":819037800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"The - Hartford Financial Services\",\"symbol\":\"HIG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.134231,\"postMarketChangePercent\":-0.26809627,\"postMarketTime\":1731538974,\"postMarketPrice\":7.44,\"postMarketChange\":-0.01999998,\"regularMarketChange\":0.0100002,\"regularMarketTime\":1731531601,\"regularMarketPrice\":7.46,\"regularMarketDayHigh\":7.49,\"regularMarketDayRange\":\"7.4292 - - 7.49\",\"regularMarketDayLow\":7.4292,\"regularMarketVolume\":581374,\"regularMarketPreviousClose\":7.45,\"bid\":7.43,\"ask\":7.5,\"bidSize\":14,\"askSize\":31,\"market\":\"us_market\",\"messageBoardId\":\"finmb_3590566\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Liberty - All-Star Equity Fund\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":7.47,\"averageDailyVolume3Month\":603332,\"averageDailyVolume10Day\":675460,\"fiftyTwoWeekLowChange\":1.48,\"fiftyTwoWeekLowChangePercent\":0.24749164,\"fiftyTwoWeekRange\":\"5.98 - - 7.49\",\"fiftyTwoWeekHighChange\":-0.029999733,\"fiftyTwoWeekHighChangePercent\":-0.004005305,\"fiftyTwoWeekChangePercent\":21.498371,\"dividendDate\":1552262400,\"earningsTimestamp\":1724929140,\"earningsTimestampStart\":1733173200,\"earningsTimestampEnd\":1733518800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.66,\"trailingPE\":5.920635,\"dividendRate\":0.72,\"trailingAnnualDividendYield\":0.08859061,\"dividendYield\":9.66,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.26,\"epsForward\":0.01,\"sharesOutstanding\":282593984,\"bookValue\":7.018,\"fiftyDayAverage\":7.1188,\"fiftyDayAverageChange\":0.34119987,\"fiftyDayAverageChangePercent\":0.047929406,\"twoHundredDayAverage\":6.88075,\"twoHundredDayAverageChange\":0.57924986,\"twoHundredDayAverageChangePercent\":0.08418412,\"marketCap\":2108151168,\"forwardPE\":746.0,\"priceToBook\":1.0629809,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":7.49,\"fiftyTwoWeekLow\":5.98,\"shortName\":\"Liberty - All-Star Equity Fund\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":530544600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"USA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":1.28636,\"postMarketChangePercent\":0.0494594,\"postMarketTime\":1731545710,\"postMarketPrice\":141.8,\"postMarketChange\":0.0700989,\"regularMarketChange\":1.8,\"regularMarketTime\":1731531602,\"regularMarketPrice\":141.73,\"regularMarketDayHigh\":144.6699,\"regularMarketDayRange\":\"140.975 - - 144.6699\",\"regularMarketDayLow\":140.975,\"regularMarketVolume\":1436016,\"regularMarketPreviousClose\":139.93,\"bid\":142.05,\"ask\":143.0,\"bidSize\":8,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_353867\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Abercrombie - & Fitch Co.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":141.51,\"averageDailyVolume3Month\":1712575,\"averageDailyVolume10Day\":1326100,\"fiftyTwoWeekLowChange\":76.13,\"fiftyTwoWeekLowChangePercent\":1.1605183,\"fiftyTwoWeekRange\":\"65.6 - - 196.99\",\"fiftyTwoWeekHighChange\":-55.26001,\"fiftyTwoWeekHighChangePercent\":-0.2805219,\"fiftyTwoWeekChangePercent\":105.46534,\"dividendDate\":1584316800,\"earningsTimestamp\":1732624200,\"earningsTimestampStart\":1732624200,\"earningsTimestampEnd\":1732624200,\"earningsCallTimestampStart\":1732627800,\"earningsCallTimestampEnd\":1732627800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":14.840837,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":9.55,\"epsForward\":10.84,\"epsCurrentYear\":10.38,\"priceEpsCurrentYear\":13.654142,\"sharesOutstanding\":51078700,\"bookValue\":23.625,\"fiftyDayAverage\":141.4782,\"fiftyDayAverageChange\":0.25180054,\"fiftyDayAverageChangePercent\":0.0017797834,\"twoHundredDayAverage\":142.3085,\"twoHundredDayAverageChange\":-0.57850647,\"twoHundredDayAverageChangePercent\":-0.0040651574,\"marketCap\":7239384064,\"forwardPE\":13.074722,\"priceToBook\":5.999153,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":196.99,\"fiftyTwoWeekLow\":65.6,\"shortName\":\"Abercrombie - & Fitch Company\",\"averageAnalystRating\":\"2.2 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":843744600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Abercrombie - & Fitch\",\"symbol\":\"ANF\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.8065,\"postMarketChangePercent\":0.4079628,\"postMarketTime\":1731545459,\"postMarketPrice\":189.51,\"postMarketChange\":0.769989,\"regularMarketChange\":1.51001,\"regularMarketTime\":1731531602,\"regularMarketPrice\":188.74,\"regularMarketDayHigh\":189.627,\"regularMarketDayRange\":\"184.86 - - 189.627\",\"regularMarketDayLow\":184.86,\"regularMarketVolume\":1106718,\"regularMarketPreviousClose\":187.23,\"bid\":188.07,\"ask\":189.52,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_265777695\",\"fullExchangeName\":\"NYSE\",\"longName\":\"GoDaddy - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":186.17,\"averageDailyVolume3Month\":1101065,\"averageDailyVolume10Day\":1491690,\"fiftyTwoWeekLowChange\":97.060005,\"fiftyTwoWeekLowChangePercent\":1.0586824,\"fiftyTwoWeekRange\":\"91.68 - - 189.627\",\"fiftyTwoWeekHighChange\":-0.8869934,\"fiftyTwoWeekHighChangePercent\":-0.004677569,\"fiftyTwoWeekChangePercent\":103.00336,\"earningsTimestamp\":1730318723,\"earningsTimestampStart\":1739271540,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730322000,\"earningsCallTimestampEnd\":1730322000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":15.039044,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":12.55,\"epsForward\":6.71,\"epsCurrentYear\":6.51,\"priceEpsCurrentYear\":28.99232,\"sharesOutstanding\":140391008,\"bookValue\":2.542,\"fiftyDayAverage\":160.8276,\"fiftyDayAverageChange\":27.9124,\"fiftyDayAverageChangePercent\":0.17355478,\"twoHundredDayAverage\":139.9066,\"twoHundredDayAverageChange\":48.833405,\"twoHundredDayAverageChangePercent\":0.3490429,\"marketCap\":26497398784,\"forwardPE\":28.128168,\"priceToBook\":74.24863,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":189.627,\"fiftyTwoWeekLow\":91.68,\"shortName\":\"GoDaddy - Inc.\",\"averageAnalystRating\":\"2.2 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1427808600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"GoDaddy\",\"symbol\":\"GDDY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.643094,\"postMarketChangePercent\":-0.35942551,\"postMarketTime\":1731543043,\"postMarketPrice\":12.475,\"postMarketChange\":-0.045000076,\"regularMarketChange\":0.0800009,\"regularMarketTime\":1731531602,\"regularMarketPrice\":12.52,\"regularMarketDayHigh\":12.795,\"regularMarketDayRange\":\"12.28 - - 12.795\",\"regularMarketDayLow\":12.28,\"regularMarketVolume\":1737381,\"regularMarketPreviousClose\":12.44,\"bid\":12.59,\"ask\":12.59,\"bidSize\":8,\"askSize\":12,\"market\":\"us_market\",\"messageBoardId\":\"finmb_60839208\",\"fullExchangeName\":\"NYSE\",\"longName\":\"DigitalBridge - Group, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":12.44,\"averageDailyVolume3Month\":2814890,\"averageDailyVolume10Day\":3614380,\"fiftyTwoWeekLowChange\":1.4500008,\"fiftyTwoWeekLowChangePercent\":0.13098471,\"fiftyTwoWeekRange\":\"11.07 - - 20.99\",\"fiftyTwoWeekHighChange\":-8.469999,\"fiftyTwoWeekHighChangePercent\":-0.40352547,\"fiftyTwoWeekChangePercent\":-24.007332,\"dividendDate\":1736899200,\"earningsTimestamp\":1730459700,\"earningsTimestampStart\":1730459700,\"earningsTimestampEnd\":1730459700,\"earningsCallTimestampStart\":1730462400,\"earningsCallTimestampEnd\":1730462400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.04,\"trailingPE\":13.758242,\"dividendRate\":0.04,\"trailingAnnualDividendYield\":0.003215434,\"dividendYield\":0.32,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.91,\"epsForward\":0.4,\"epsCurrentYear\":0.27,\"priceEpsCurrentYear\":46.37037,\"sharesOutstanding\":174023008,\"bookValue\":6.807,\"fiftyDayAverage\":14.3294,\"fiftyDayAverageChange\":-1.8093996,\"fiftyDayAverageChangePercent\":-0.12627183,\"twoHundredDayAverage\":15.2665,\"twoHundredDayAverageChange\":-2.7465,\"twoHundredDayAverageChangePercent\":-0.1799037,\"marketCap\":2319793408,\"forwardPE\":31.300001,\"priceToBook\":1.8392831,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":20.99,\"fiftyTwoWeekLow\":11.07,\"shortName\":\"DigitalBridge - Group, Inc.\",\"averageAnalystRating\":\"2.0 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1403875800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"DigitalBridge\",\"symbol\":\"DBRG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.136292,\"postMarketChangePercent\":-1.1990674,\"postMarketTime\":1731537011,\"postMarketPrice\":101.35,\"postMarketChange\":-1.2300034,\"regularMarketChange\":-0.139999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":102.58,\"regularMarketDayHigh\":103.935,\"regularMarketDayRange\":\"102.14 - - 103.935\",\"regularMarketDayLow\":102.14,\"regularMarketVolume\":525217,\"regularMarketPreviousClose\":102.72,\"bid\":102.3,\"ask\":102.31,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_296568\",\"fullExchangeName\":\"NYSE\",\"longName\":\"PVH - Corp.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":102.76,\"averageDailyVolume3Month\":743200,\"averageDailyVolume10Day\":686590,\"fiftyTwoWeekLowChange\":20.650002,\"fiftyTwoWeekLowChangePercent\":0.25204444,\"fiftyTwoWeekRange\":\"81.93 - - 141.15\",\"fiftyTwoWeekHighChange\":-38.569992,\"fiftyTwoWeekHighChangePercent\":-0.27325535,\"fiftyTwoWeekChangePercent\":23.799181,\"dividendDate\":1734480000,\"earningsTimestamp\":1724789700,\"earningsTimestampStart\":1732705140,\"earningsTimestampEnd\":1733140800,\"earningsCallTimestampStart\":1724850000,\"earningsCallTimestampEnd\":1724850000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.15,\"trailingPE\":8.2064,\"dividendRate\":0.15,\"trailingAnnualDividendYield\":0.0014602804,\"dividendYield\":0.15,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":12.5,\"epsForward\":12.67,\"epsCurrentYear\":11.72,\"priceEpsCurrentYear\":8.75256,\"sharesOutstanding\":55814100,\"bookValue\":92.885,\"fiftyDayAverage\":97.584,\"fiftyDayAverageChange\":4.996002,\"fiftyDayAverageChangePercent\":0.05119694,\"twoHundredDayAverage\":110.209,\"twoHundredDayAverageChange\":-7.628998,\"twoHundredDayAverageChangePercent\":-0.069223,\"marketCap\":5733227008,\"forwardPE\":8.096291,\"priceToBook\":1.1043763,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":141.15,\"fiftyTwoWeekLow\":81.93,\"shortName\":\"PVH - Corp.\",\"averageAnalystRating\":\"2.2 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"PVH\",\"symbol\":\"PVH\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.511639,\"postMarketChangePercent\":0.8927702,\"postMarketTime\":1731543962,\"postMarketPrice\":258.9615,\"postMarketChange\":2.2914734,\"regularMarketChange\":-1.31998,\"regularMarketTime\":1731531601,\"regularMarketPrice\":256.67,\"regularMarketDayHigh\":258.76,\"regularMarketDayRange\":\"256.25 - - 258.76\",\"regularMarketDayLow\":256.25,\"regularMarketVolume\":526807,\"regularMarketPreviousClose\":257.99,\"bid\":256.0,\"ask\":259.02,\"bidSize\":9,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_392856\",\"fullExchangeName\":\"NYSE\",\"longName\":\"The - Travelers Companies, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":256.62,\"averageDailyVolume3Month\":1155759,\"averageDailyVolume10Day\":1207140,\"fiftyTwoWeekLowChange\":87.49002,\"fiftyTwoWeekLowChangePercent\":0.51714164,\"fiftyTwoWeekRange\":\"169.18 - - 269.56\",\"fiftyTwoWeekHighChange\":-12.889984,\"fiftyTwoWeekHighChangePercent\":-0.04781861,\"fiftyTwoWeekChangePercent\":49.496185,\"dividendDate\":1735603200,\"earningsTimestamp\":1729162620,\"earningsTimestampStart\":1737120600,\"earningsTimestampEnd\":1737466200,\"earningsCallTimestampStart\":1729170000,\"earningsCallTimestampEnd\":1729170000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":4.1,\"trailingPE\":13.244067,\"dividendRate\":4.2,\"trailingAnnualDividendYield\":0.015892088,\"dividendYield\":1.63,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":19.38,\"epsForward\":21.25,\"epsCurrentYear\":18.94,\"priceEpsCurrentYear\":13.551743,\"sharesOutstanding\":227019008,\"bookValue\":122.009,\"fiftyDayAverage\":243.405,\"fiftyDayAverageChange\":13.265015,\"fiftyDayAverageChangePercent\":0.054497708,\"twoHundredDayAverage\":222.8075,\"twoHundredDayAverageChange\":33.86252,\"twoHundredDayAverageChangePercent\":0.15198106,\"marketCap\":58568503296,\"forwardPE\":12.0785885,\"priceToBook\":2.1036973,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":269.56,\"fiftyTwoWeekLow\":169.18,\"shortName\":\"The - Travelers Companies, Inc.\",\"averageAnalystRating\":\"2.7 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":185466600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"The - Travelers Companies\",\"symbol\":\"TRV\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.243307,\"postMarketChangePercent\":-1.32114,\"postMarketTime\":1731542443,\"postMarketPrice\":12.1375,\"postMarketChange\":-0.1625,\"regularMarketChange\":-0.0299997,\"regularMarketTime\":1731531602,\"regularMarketPrice\":12.3,\"regularMarketDayHigh\":12.39,\"regularMarketDayRange\":\"12.09 - - 12.39\",\"regularMarketDayLow\":12.09,\"regularMarketVolume\":777056,\"regularMarketPreviousClose\":12.33,\"bid\":12.13,\"ask\":12.67,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_392824\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Compa\xF1\xEDa - de Minas Buenaventura S.A.A.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":12.35,\"averageDailyVolume3Month\":1303968,\"averageDailyVolume10Day\":1215160,\"fiftyTwoWeekLowChange\":3.67,\"fiftyTwoWeekLowChangePercent\":0.42526072,\"fiftyTwoWeekRange\":\"8.63 - - 18.84\",\"fiftyTwoWeekHighChange\":-6.54,\"fiftyTwoWeekHighChangePercent\":-0.34713376,\"fiftyTwoWeekChangePercent\":40.41096,\"dividendDate\":1715299200,\"earningsTimestamp\":1730327400,\"earningsTimestampStart\":1730327400,\"earningsTimestampEnd\":1730327400,\"earningsCallTimestampStart\":1730390400,\"earningsCallTimestampEnd\":1730390400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.073,\"trailingPE\":8.4827585,\"dividendRate\":0.07,\"trailingAnnualDividendYield\":0.005920519,\"dividendYield\":0.59,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.45,\"epsForward\":1.07,\"epsCurrentYear\":1.07,\"priceEpsCurrentYear\":11.495327,\"sharesOutstanding\":253715008,\"bookValue\":13.218,\"fiftyDayAverage\":13.1974,\"fiftyDayAverageChange\":-0.8973999,\"fiftyDayAverageChangePercent\":-0.06799824,\"twoHundredDayAverage\":15.354,\"twoHundredDayAverageChange\":-3.054,\"twoHundredDayAverageChangePercent\":-0.19890581,\"marketCap\":3120694528,\"forwardPE\":11.495327,\"priceToBook\":0.93054926,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":18.84,\"fiftyTwoWeekLow\":8.63,\"shortName\":\"Buenaventura - Mining Company Inc\",\"averageAnalystRating\":\"2.8 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":832167000000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Compa\xF1\xEDa - de Minas Buenaventura S.A.A\",\"symbol\":\"BVN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.610999,\"postMarketChangePercent\":0.26990527,\"postMarketTime\":1731546000,\"postMarketPrice\":14.86,\"postMarketChange\":0.03999996,\"regularMarketChange\":0.0900002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":14.82,\"regularMarketDayHigh\":15.05,\"regularMarketDayRange\":\"14.8 - - 15.05\",\"regularMarketDayLow\":14.8,\"regularMarketVolume\":488804,\"regularMarketPreviousClose\":14.73,\"bid\":14.82,\"ask\":14.88,\"bidSize\":11,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_36344150\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Chimera - Investment Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":14.92,\"averageDailyVolume3Month\":511978,\"averageDailyVolume10Day\":623820,\"fiftyTwoWeekLowChange\":3.5299997,\"fiftyTwoWeekLowChangePercent\":0.31266606,\"fiftyTwoWeekRange\":\"11.29 - - 16.89\",\"fiftyTwoWeekHighChange\":-2.0699997,\"fiftyTwoWeekHighChangePercent\":-0.122557715,\"fiftyTwoWeekChangePercent\":-1.2000024,\"dividendDate\":1730332800,\"earningsTimestamp\":1730893500,\"earningsTimestampStart\":1739367000,\"earningsTimestampEnd\":1739799000,\"earningsCallTimestampStart\":1730899800,\"earningsCallTimestampEnd\":1730899800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.38,\"trailingPE\":4.4504504,\"dividendRate\":1.48,\"trailingAnnualDividendYield\":0.09368636,\"dividendYield\":10.05,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.33,\"epsForward\":1.73,\"epsCurrentYear\":1.77,\"priceEpsCurrentYear\":8.372881,\"sharesOutstanding\":80875296,\"bookValue\":33.842,\"fiftyDayAverage\":15.5622,\"fiftyDayAverageChange\":-0.7421999,\"fiftyDayAverageChangePercent\":-0.04769248,\"twoHundredDayAverage\":13.9997,\"twoHundredDayAverageChange\":0.8203001,\"twoHundredDayAverageChangePercent\":0.058594123,\"marketCap\":1198571904,\"forwardPE\":8.566474,\"priceToBook\":0.43791738,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":16.89,\"fiftyTwoWeekLow\":11.29,\"shortName\":\"Chimera - Investment Corporation\",\"averageAnalystRating\":\"3.0 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1196346600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Chimera - Inv\",\"symbol\":\"CIM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.939095,\"postMarketChangePercent\":0.5458162,\"postMarketTime\":1731544136,\"postMarketPrice\":35.0,\"postMarketChange\":0.18999863,\"regularMarketChange\":-0.329998,\"regularMarketTime\":1731531602,\"regularMarketPrice\":34.81,\"regularMarketDayHigh\":35.81,\"regularMarketDayRange\":\"34.7625 - - 35.81\",\"regularMarketDayLow\":34.7625,\"regularMarketVolume\":2413892,\"regularMarketPreviousClose\":35.14,\"bid\":34.79,\"ask\":35.19,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_25708\",\"fullExchangeName\":\"NYSE\",\"longName\":\"BorgWarner - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":35.39,\"averageDailyVolume3Month\":2265267,\"averageDailyVolume10Day\":2578150,\"fiftyTwoWeekLowChange\":5.300001,\"fiftyTwoWeekLowChangePercent\":0.17960018,\"fiftyTwoWeekRange\":\"29.51 - - 38.23\",\"fiftyTwoWeekHighChange\":-3.4199982,\"fiftyTwoWeekHighChangePercent\":-0.089458495,\"fiftyTwoWeekChangePercent\":2.9272676,\"dividendDate\":1734307200,\"earningsTimestamp\":1730370604,\"earningsTimestampStart\":1738848600,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1730381400,\"earningsCallTimestampEnd\":1730381400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.44,\"trailingPE\":8.616337,\"dividendRate\":0.44,\"trailingAnnualDividendYield\":0.012521343,\"dividendYield\":1.25,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.04,\"epsForward\":4.66,\"epsCurrentYear\":4.23,\"priceEpsCurrentYear\":8.229315,\"sharesOutstanding\":218700000,\"bookValue\":28.148,\"fiftyDayAverage\":34.1912,\"fiftyDayAverageChange\":0.6188011,\"fiftyDayAverageChangePercent\":0.018098257,\"twoHundredDayAverage\":33.57785,\"twoHundredDayAverageChange\":1.232151,\"twoHundredDayAverageChangePercent\":0.03669535,\"marketCap\":7612947456,\"forwardPE\":7.469958,\"priceToBook\":1.2366775,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":38.23,\"fiftyTwoWeekLow\":29.51,\"shortName\":\"BorgWarner - Inc.\",\"averageAnalystRating\":\"2.3 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":745248600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"BorgWarner\",\"symbol\":\"BWA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.06514186,\"postMarketChangePercent\":0.390628,\"postMarketTime\":1731535731,\"postMarketPrice\":15.42,\"postMarketChange\":0.0600004,\"regularMarketChange\":0.009999275,\"regularMarketTime\":1731531601,\"regularMarketPrice\":15.36,\"regularMarketDayHigh\":15.415,\"regularMarketDayRange\":\"15.29 - - 15.415\",\"regularMarketDayLow\":15.29,\"regularMarketVolume\":939053,\"regularMarketPreviousClose\":15.35,\"bid\":15.34,\"ask\":19.69,\"bidSize\":2,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_81683203\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Golub - Capital BDC, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":15.355,\"averageDailyVolume3Month\":1325062,\"averageDailyVolume10Day\":1080820,\"fiftyTwoWeekLowChange\":1.3099995,\"fiftyTwoWeekLowChangePercent\":0.0932384,\"fiftyTwoWeekRange\":\"14.05 - - 17.72\",\"fiftyTwoWeekHighChange\":-2.3599997,\"fiftyTwoWeekHighChangePercent\":-0.13318282,\"fiftyTwoWeekChangePercent\":3.5040379,\"dividendDate\":1734048000,\"earningsTimestamp\":1732050000,\"earningsTimestampStart\":1732050000,\"earningsTimestampEnd\":1732050000,\"earningsCallTimestampStart\":1732114800,\"earningsCallTimestampEnd\":1732114800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.52,\"trailingPE\":9.660377,\"dividendRate\":1.56,\"trailingAnnualDividendYield\":0.0990228,\"dividendYield\":10.16,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.59,\"epsForward\":1.72,\"epsCurrentYear\":1.48,\"priceEpsCurrentYear\":10.378378,\"sharesOutstanding\":264608992,\"bookValue\":15.319,\"fiftyDayAverage\":15.1234,\"fiftyDayAverageChange\":0.23659992,\"fiftyDayAverageChangePercent\":0.015644625,\"twoHundredDayAverage\":15.67205,\"twoHundredDayAverageChange\":-0.31205082,\"twoHundredDayAverageChangePercent\":-0.019911295,\"marketCap\":4064393984,\"forwardPE\":8.930232,\"priceToBook\":1.0026764,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":17.72,\"fiftyTwoWeekLow\":14.05,\"shortName\":\"Golub - Capital BDC, Inc.\",\"averageAnalystRating\":\"2.0 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1271338200000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Golub - Capital BDC\",\"symbol\":\"GBDC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":1.2149099,\"postMarketChangePercent\":-0.144867,\"postMarketTime\":1731545501,\"postMarketPrice\":48.25,\"postMarketChange\":-0.0699997,\"regularMarketChange\":0.579998,\"regularMarketTime\":1731531602,\"regularMarketPrice\":48.32,\"regularMarketDayHigh\":49.46,\"regularMarketDayRange\":\"48.155 - - 49.46\",\"regularMarketDayLow\":48.155,\"regularMarketVolume\":1268740,\"regularMarketPreviousClose\":47.74,\"bid\":35.31,\"ask\":49.89,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_319496\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"The - Cheesecake Factory Incorporated\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":49.02,\"averageDailyVolume3Month\":1026848,\"averageDailyVolume10Day\":1291610,\"fiftyTwoWeekLowChange\":17.36,\"fiftyTwoWeekLowChangePercent\":0.56072354,\"fiftyTwoWeekRange\":\"30.96 - - 50.75\",\"fiftyTwoWeekHighChange\":-2.4300003,\"fiftyTwoWeekHighChangePercent\":-0.04788178,\"fiftyTwoWeekChangePercent\":50.248753,\"dividendDate\":1732579200,\"earningsTimestamp\":1730232900,\"earningsTimestampStart\":1730232900,\"earningsTimestampEnd\":1730232900,\"earningsCallTimestampStart\":1730235600,\"earningsCallTimestampEnd\":1730235600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.08,\"trailingPE\":18.30303,\"dividendRate\":1.08,\"trailingAnnualDividendYield\":0.022622539,\"dividendYield\":2.25,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.64,\"epsForward\":3.69,\"epsCurrentYear\":3.31,\"priceEpsCurrentYear\":14.598187,\"sharesOutstanding\":51039700,\"bookValue\":7.781,\"fiftyDayAverage\":41.5136,\"fiftyDayAverageChange\":6.8064003,\"fiftyDayAverageChangePercent\":0.16395591,\"twoHundredDayAverage\":38.0214,\"twoHundredDayAverageChange\":10.298599,\"twoHundredDayAverageChangePercent\":0.27086323,\"marketCap\":2466238208,\"forwardPE\":13.094851,\"priceToBook\":6.2099986,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":50.75,\"fiftyTwoWeekLow\":30.96,\"shortName\":\"The - Cheesecake Factory Incorpor\",\"averageAnalystRating\":\"2.5 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":716823000000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"CAKE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":2.28402,\"postMarketChangePercent\":-1.94175,\"postMarketTime\":1731545897,\"postMarketPrice\":10.1,\"postMarketChange\":-0.2,\"regularMarketChange\":0.23,\"regularMarketTime\":1731531602,\"regularMarketPrice\":10.3,\"regularMarketDayHigh\":10.38,\"regularMarketDayRange\":\"10.05 - - 10.38\",\"regularMarketDayLow\":10.05,\"regularMarketVolume\":1052112,\"regularMarketPreviousClose\":10.07,\"bid\":10.1,\"ask\":10.6,\"bidSize\":9,\"askSize\":22,\"market\":\"us_market\",\"messageBoardId\":\"finmb_8390736\",\"fullExchangeName\":\"NYSE\",\"longName\":\"SFL - Corporation Ltd.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":10.06,\"averageDailyVolume3Month\":841306,\"averageDailyVolume10Day\":1106550,\"fiftyTwoWeekLowChange\":0.28999996,\"fiftyTwoWeekLowChangePercent\":0.028971024,\"fiftyTwoWeekRange\":\"10.01 - - 14.62\",\"fiftyTwoWeekHighChange\":-4.3199997,\"fiftyTwoWeekHighChangePercent\":-0.29548562,\"fiftyTwoWeekChangePercent\":-5.677658,\"dividendDate\":1735257600,\"earningsTimestamp\":1730892626,\"earningsTimestampStart\":1739367000,\"earningsTimestampEnd\":1739799000,\"earningsCallTimestampStart\":1730905200,\"earningsCallTimestampEnd\":1730905200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.07,\"trailingPE\":10.3,\"dividendRate\":1.08,\"trailingAnnualDividendYield\":0.10625622,\"dividendYield\":10.72,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.0,\"epsForward\":0.82,\"epsCurrentYear\":1.05,\"priceEpsCurrentYear\":9.809525,\"sharesOutstanding\":133943000,\"bookValue\":8.508,\"fiftyDayAverage\":11.1058,\"fiftyDayAverageChange\":-0.8057995,\"fiftyDayAverageChangePercent\":-0.07255664,\"twoHundredDayAverage\":12.5008,\"twoHundredDayAverageChange\":-2.2008,\"twoHundredDayAverageChangePercent\":-0.17605272,\"marketCap\":1379612928,\"forwardPE\":12.560976,\"priceToBook\":1.2106253,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":14.62,\"fiftyTwoWeekLow\":10.01,\"shortName\":\"SFL - Corporation Ltd\",\"averageAnalystRating\":\"2.2 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1087479000000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"SFL\",\"symbol\":\"SFL\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.319727,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731539408,\"postMarketPrice\":40.53,\"postMarketChange\":0.0,\"regularMarketChange\":-0.130001,\"regularMarketTime\":1731531602,\"regularMarketPrice\":40.53,\"regularMarketDayHigh\":40.58,\"regularMarketDayRange\":\"40.075 - - 40.58\",\"regularMarketDayLow\":40.075,\"regularMarketVolume\":2043646,\"regularMarketPreviousClose\":40.66,\"bid\":40.0,\"ask\":40.33,\"bidSize\":8,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_256839\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Brown-Forman - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":40.38,\"averageDailyVolume3Month\":2189100,\"averageDailyVolume10Day\":2514960,\"fiftyTwoWeekLowChange\":0.45499802,\"fiftyTwoWeekLowChangePercent\":0.011353662,\"fiftyTwoWeekRange\":\"40.075 - - 60.97\",\"fiftyTwoWeekHighChange\":-20.440002,\"fiftyTwoWeekHighChangePercent\":-0.3352469,\"fiftyTwoWeekChangePercent\":-29.745192,\"dividendDate\":1727740800,\"earningsTimestamp\":1733403600,\"earningsTimestampStart\":1733403600,\"earningsTimestampEnd\":1733403600,\"earningsCallTimestampStart\":1733410800,\"earningsCallTimestampEnd\":1733410800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.859,\"trailingPE\":19.57971,\"dividendRate\":0.87,\"trailingAnnualDividendYield\":0.021126416,\"dividendYield\":2.14,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.07,\"epsForward\":1.9,\"epsCurrentYear\":1.8,\"priceEpsCurrentYear\":22.516666,\"sharesOutstanding\":303536992,\"bookValue\":7.331,\"fiftyDayAverage\":46.3864,\"fiftyDayAverageChange\":-5.8563995,\"fiftyDayAverageChangePercent\":-0.12625252,\"twoHundredDayAverage\":48.0277,\"twoHundredDayAverageChange\":-7.4976997,\"twoHundredDayAverageChangePercent\":-0.156112,\"marketCap\":19028793344,\"forwardPE\":21.33158,\"priceToBook\":5.5285773,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":60.97,\"fiftyTwoWeekLow\":40.075,\"shortName\":\"Brown - Forman Inc\",\"averageAnalystRating\":\"3.0 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"BF-B\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.44673467,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731536591,\"postMarketPrice\":43.455,\"postMarketChange\":0.0,\"regularMarketChange\":-0.1949997,\"regularMarketTime\":1731531601,\"regularMarketPrice\":43.455,\"regularMarketDayHigh\":43.64,\"regularMarketDayRange\":\"42.98 - - 43.64\",\"regularMarketDayLow\":42.98,\"regularMarketVolume\":523961,\"regularMarketPreviousClose\":43.65,\"bid\":43.38,\"ask\":43.49,\"bidSize\":8,\"askSize\":3,\"market\":\"us_market\",\"messageBoardId\":\"finmb_546623668\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Fox - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":43.64,\"averageDailyVolume3Month\":879985,\"averageDailyVolume10Day\":950750,\"fiftyTwoWeekLowChange\":17.640001,\"fiftyTwoWeekLowChangePercent\":0.6833237,\"fiftyTwoWeekRange\":\"25.815 - - 43.675\",\"fiftyTwoWeekHighChange\":-0.2199974,\"fiftyTwoWeekHighChangePercent\":-0.0050371476,\"fiftyTwoWeekChangePercent\":55.11727,\"dividendDate\":1727222400,\"earningsTimestamp\":1730725214,\"earningsTimestampStart\":1738762200,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1730727000,\"earningsCallTimestampEnd\":1730727000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.53,\"trailingPE\":10.676904,\"dividendRate\":0.54,\"trailingAnnualDividendYield\":0.012142038,\"dividendYield\":1.24,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.07,\"epsForward\":2.35,\"sharesOutstanding\":235580992,\"bookValue\":24.629,\"fiftyDayAverage\":38.6506,\"fiftyDayAverageChange\":4.8044014,\"fiftyDayAverageChangePercent\":0.12430341,\"twoHundredDayAverage\":32.94455,\"twoHundredDayAverageChange\":10.510452,\"twoHundredDayAverageChangePercent\":0.31903464,\"marketCap\":20657682432,\"forwardPE\":18.491491,\"priceToBook\":1.7643836,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":43.675,\"fiftyTwoWeekLow\":25.815,\"shortName\":\"Fox - Corporation\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1552483800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Fox\",\"symbol\":\"FOX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.289259,\"postMarketChangePercent\":0.9494062,\"postMarketTime\":1731539074,\"postMarketPrice\":84.0,\"postMarketChange\":0.7900009,\"regularMarketChange\":0.239998,\"regularMarketTime\":1731531602,\"regularMarketPrice\":83.21,\"regularMarketDayHigh\":83.59,\"regularMarketDayRange\":\"82.5 - - 83.59\",\"regularMarketDayLow\":82.5,\"regularMarketVolume\":634883,\"regularMarketPreviousClose\":82.97,\"bid\":83.44,\"ask\":84.46,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_285930\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Loews - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":82.94,\"averageDailyVolume3Month\":674240,\"averageDailyVolume10Day\":854760,\"fiftyTwoWeekLowChange\":16.61,\"fiftyTwoWeekLowChangePercent\":0.24939941,\"fiftyTwoWeekRange\":\"66.6 - - 84.56\",\"fiftyTwoWeekHighChange\":-1.3499985,\"fiftyTwoWeekHighChangePercent\":-0.015964977,\"fiftyTwoWeekChangePercent\":24.08291,\"dividendDate\":1725321600,\"earningsTimestamp\":1730727000,\"earningsTimestampStart\":1738589400,\"earningsTimestampEnd\":1738935000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.25,\"trailingPE\":11.06516,\"dividendRate\":0.25,\"trailingAnnualDividendYield\":0.0030131373,\"dividendYield\":0.3,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":7.52,\"epsForward\":2.9,\"sharesOutstanding\":216576992,\"bookValue\":79.281,\"fiftyDayAverage\":79.7092,\"fiftyDayAverageChange\":3.500801,\"fiftyDayAverageChangePercent\":0.043919664,\"twoHundredDayAverage\":77.16545,\"twoHundredDayAverageChange\":6.044548,\"twoHundredDayAverageChangePercent\":0.07833231,\"marketCap\":18021371904,\"forwardPE\":28.693102,\"priceToBook\":1.0495579,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":84.56,\"fiftyTwoWeekLow\":66.6,\"shortName\":\"Loews - Corporation\",\"averageAnalystRating\":\"3.0 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Loews\",\"symbol\":\"L\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.168918,\"postMarketChangePercent\":-0.6986199,\"postMarketTime\":1731544858,\"postMarketPrice\":41.22,\"postMarketChange\":-0.2899971,\"regularMarketChange\":0.0699997,\"regularMarketTime\":1731531602,\"regularMarketPrice\":41.51,\"regularMarketDayHigh\":41.64,\"regularMarketDayRange\":\"41.14 - - 41.64\",\"regularMarketDayLow\":41.14,\"regularMarketVolume\":592862,\"regularMarketPreviousClose\":41.44,\"bid\":40.68,\"ask\":42.12,\"bidSize\":18,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_881430\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Pembina - Pipeline Corporation\",\"financialCurrency\":\"CAD\",\"regularMarketOpen\":41.48,\"averageDailyVolume3Month\":1131185,\"averageDailyVolume10Day\":906210,\"fiftyTwoWeekLowChange\":9.989998,\"fiftyTwoWeekLowChangePercent\":0.31694156,\"fiftyTwoWeekRange\":\"31.52 - - 43.44\",\"fiftyTwoWeekHighChange\":-1.9300003,\"fiftyTwoWeekHighChangePercent\":-0.044429105,\"fiftyTwoWeekChangePercent\":30.53459,\"dividendDate\":1735603200,\"earningsTimestampStart\":1723150860,\"earningsTimestampEnd\":1723150860,\"earningsCallTimestampStart\":1730905200,\"earningsCallTimestampEnd\":1730905200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":2.713,\"trailingPE\":17.514769,\"dividendRate\":1.99,\"trailingAnnualDividendYield\":0.06546815,\"dividendYield\":4.79,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.37,\"epsForward\":2.36,\"epsCurrentYear\":2.25,\"priceEpsCurrentYear\":18.448889,\"sharesOutstanding\":580531008,\"bookValue\":25.571,\"fiftyDayAverage\":41.694,\"fiftyDayAverageChange\":-0.18400192,\"fiftyDayAverageChangePercent\":-0.004413151,\"twoHundredDayAverage\":37.74085,\"twoHundredDayAverageChange\":3.7691498,\"twoHundredDayAverageChangePercent\":0.09986924,\"marketCap\":24097841152,\"forwardPE\":17.588984,\"priceToBook\":1.6233233,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":43.44,\"fiftyTwoWeekLow\":31.52,\"shortName\":\"Pembina - Pipeline Corp.\",\"averageAnalystRating\":\"2.2 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1286371800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Pembina - Pipeline\",\"symbol\":\"PBA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.07045275,\"postMarketChangePercent\":-1.27693,\"postMarketTime\":1731540580,\"postMarketPrice\":126.02,\"postMarketChange\":-1.63,\"regularMarketChange\":-0.08999634,\"regularMarketTime\":1731531601,\"regularMarketPrice\":127.65,\"regularMarketDayHigh\":128.99,\"regularMarketDayRange\":\"127.14 - - 128.99\",\"regularMarketDayLow\":127.14,\"regularMarketVolume\":802503,\"regularMarketPreviousClose\":127.74,\"bid\":127.5,\"ask\":128.5,\"bidSize\":2,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_6724933\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Jazz - Pharmaceuticals plc\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":128.08,\"averageDailyVolume3Month\":671037,\"averageDailyVolume10Day\":812300,\"fiftyTwoWeekLowChange\":28.590004,\"fiftyTwoWeekLowChangePercent\":0.28861302,\"fiftyTwoWeekRange\":\"99.06 - - 134.17\",\"fiftyTwoWeekHighChange\":-6.5199966,\"fiftyTwoWeekHighChangePercent\":-0.04859504,\"fiftyTwoWeekChangePercent\":4.811561,\"earningsTimestamp\":1730927131,\"earningsTimestampStart\":1730927131,\"earningsTimestampEnd\":1730927131,\"earningsCallTimestampStart\":1730928600,\"earningsCallTimestampEnd\":1730928600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":18.080736,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":7.06,\"epsForward\":21.56,\"epsCurrentYear\":20.09237,\"priceEpsCurrentYear\":6.3531585,\"sharesOutstanding\":60454600,\"bookValue\":69.008,\"fiftyDayAverage\":111.6116,\"fiftyDayAverageChange\":16.038399,\"fiftyDayAverageChangePercent\":0.1436983,\"twoHundredDayAverage\":112.9489,\"twoHundredDayAverageChange\":14.701103,\"twoHundredDayAverageChangePercent\":0.13015711,\"marketCap\":7717029888,\"forwardPE\":5.9206867,\"priceToBook\":1.8497854,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":134.17,\"fiftyTwoWeekLow\":99.06,\"shortName\":\"Jazz - Pharmaceuticals plc\",\"averageAnalystRating\":\"1.7 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1180704600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Jazz - Pharmaceuticals\",\"symbol\":\"JAZZ\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.07132099,\"postMarketChangePercent\":0.0274462,\"postMarketTime\":1731545813,\"postMarketPrice\":182.18,\"postMarketChange\":0.0499878,\"regularMarketChange\":-0.12998962,\"regularMarketTime\":1731531601,\"regularMarketPrice\":182.13,\"regularMarketDayHigh\":185.35,\"regularMarketDayRange\":\"178.97 - - 185.35\",\"regularMarketDayLow\":178.97,\"regularMarketVolume\":2603077,\"regularMarketPreviousClose\":182.26,\"bid\":172.42,\"ask\":189.28,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_4593731\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"First - Solar, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":181.78,\"averageDailyVolume3Month\":2545071,\"averageDailyVolume10Day\":4442670,\"fiftyTwoWeekLowChange\":46.25,\"fiftyTwoWeekLowChangePercent\":0.34037384,\"fiftyTwoWeekRange\":\"135.88 - - 306.77\",\"fiftyTwoWeekHighChange\":-124.639984,\"fiftyTwoWeekHighChangePercent\":-0.40629783,\"fiftyTwoWeekChangePercent\":17.875862,\"earningsTimestamp\":1730232120,\"earningsTimestampStart\":1730232120,\"earningsTimestampEnd\":1730232120,\"earningsCallTimestampStart\":1730233800,\"earningsCallTimestampEnd\":1730233800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":15.700862,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":11.6,\"epsForward\":20.86,\"epsCurrentYear\":13.23,\"priceEpsCurrentYear\":13.76644,\"sharesOutstanding\":107058000,\"bookValue\":70.93,\"fiftyDayAverage\":217.036,\"fiftyDayAverageChange\":-34.90599,\"fiftyDayAverageChangePercent\":-0.16083042,\"twoHundredDayAverage\":205.08165,\"twoHundredDayAverageChange\":-22.951645,\"twoHundredDayAverageChangePercent\":-0.11191467,\"marketCap\":19510130688,\"forwardPE\":8.731064,\"priceToBook\":2.5677428,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":306.77,\"fiftyTwoWeekLow\":135.88,\"shortName\":\"First - Solar, Inc.\",\"averageAnalystRating\":\"1.9 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1163773800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"First - Solar\",\"symbol\":\"FSLR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.453514,\"postMarketChangePercent\":1.30923,\"postMarketTime\":1731540097,\"postMarketPrice\":17.7899,\"postMarketChange\":0.2299,\"regularMarketChange\":-0.0799999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":17.56,\"regularMarketDayHigh\":17.66,\"regularMarketDayRange\":\"17.322 - - 17.66\",\"regularMarketDayLow\":17.322,\"regularMarketVolume\":467420,\"regularMarketPreviousClose\":17.64,\"bid\":17.54,\"ask\":17.55,\"bidSize\":9,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_22287203\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Genco - Shipping & Trading Limited\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":17.67,\"averageDailyVolume3Month\":436374,\"averageDailyVolume10Day\":554010,\"fiftyTwoWeekLowChange\":3.6599998,\"fiftyTwoWeekLowChangePercent\":0.26330936,\"fiftyTwoWeekRange\":\"13.9 - - 23.43\",\"fiftyTwoWeekHighChange\":-5.870001,\"fiftyTwoWeekHighChangePercent\":-0.25053355,\"fiftyTwoWeekChangePercent\":24.488354,\"dividendDate\":1732492800,\"earningsTimestamp\":1730928623,\"earningsTimestampStart\":1730928623,\"earningsTimestampEnd\":1730928623,\"earningsCallTimestampStart\":1730986200,\"earningsCallTimestampEnd\":1730986200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.57,\"trailingPE\":11.113923,\"dividendRate\":1.6,\"trailingAnnualDividendYield\":0.089002274,\"dividendYield\":9.07,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.58,\"epsForward\":1.73,\"epsCurrentYear\":1.8,\"priceEpsCurrentYear\":9.755555,\"sharesOutstanding\":42757900,\"bookValue\":21.749,\"fiftyDayAverage\":17.3402,\"fiftyDayAverageChange\":0.21979904,\"fiftyDayAverageChangePercent\":0.012675692,\"twoHundredDayAverage\":19.444,\"twoHundredDayAverageChange\":-1.8840008,\"twoHundredDayAverageChangePercent\":-0.09689368,\"marketCap\":750828672,\"forwardPE\":10.150289,\"priceToBook\":0.8073934,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":23.43,\"fiftyTwoWeekLow\":13.9,\"shortName\":\"Genco - Shipping & Trading Limite\",\"averageAnalystRating\":\"2.2 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1405431000000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Genco - Shipping & Trading\",\"symbol\":\"GNK\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.03421221,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731533762,\"postMarketPrice\":29.24,\"postMarketChange\":0.0,\"regularMarketChange\":0.010000229,\"regularMarketTime\":1731531601,\"regularMarketPrice\":29.24,\"regularMarketDayHigh\":29.5,\"regularMarketDayRange\":\"28.93 - - 29.5\",\"regularMarketDayLow\":28.93,\"regularMarketVolume\":1394247,\"regularMarketPreviousClose\":29.23,\"bid\":29.19,\"ask\":33.4,\"bidSize\":5,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_24572\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Alkermes - plc\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":29.23,\"averageDailyVolume3Month\":1684821,\"averageDailyVolume10Day\":1665420,\"fiftyTwoWeekLowChange\":7.1800003,\"fiftyTwoWeekLowChangePercent\":0.325476,\"fiftyTwoWeekRange\":\"22.06 - - 32.88\",\"fiftyTwoWeekHighChange\":-3.6400013,\"fiftyTwoWeekHighChangePercent\":-0.11070563,\"fiftyTwoWeekChangePercent\":25.117672,\"earningsTimestamp\":1729767616,\"earningsTimestampStart\":1739453400,\"earningsTimestampEnd\":1739799000,\"earningsCallTimestampStart\":1729771200,\"earningsCallTimestampEnd\":1729771200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":12.768559,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.29,\"epsForward\":2.01,\"epsCurrentYear\":2.60492,\"priceEpsCurrentYear\":11.224914,\"sharesOutstanding\":161803008,\"bookValue\":7.987,\"fiftyDayAverage\":27.7314,\"fiftyDayAverageChange\":1.5086002,\"fiftyDayAverageChangePercent\":0.054400437,\"twoHundredDayAverage\":26.56215,\"twoHundredDayAverageChange\":2.6778507,\"twoHundredDayAverageChangePercent\":0.100814536,\"marketCap\":4731120128,\"forwardPE\":14.547264,\"priceToBook\":3.660949,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":32.88,\"fiftyTwoWeekLow\":22.06,\"shortName\":\"Alkermes - plc\",\"averageAnalystRating\":\"2.0 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":679671000000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Alkermes\",\"symbol\":\"ALKS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.335347,\"postMarketChangePercent\":-1.1776531,\"postMarketTime\":1731539917,\"postMarketPrice\":14.685,\"postMarketChange\":-0.17499924,\"regularMarketChange\":-0.0500002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":14.86,\"regularMarketDayHigh\":15.06,\"regularMarketDayRange\":\"14.655 - - 15.06\",\"regularMarketDayLow\":14.655,\"regularMarketVolume\":669756,\"regularMarketPreviousClose\":14.91,\"bid\":14.46,\"ask\":14.88,\"bidSize\":13,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_247252999\",\"fullExchangeName\":\"NYSE\",\"longName\":\"DNOW - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":14.96,\"averageDailyVolume3Month\":782220,\"averageDailyVolume10Day\":1060340,\"fiftyTwoWeekLowChange\":5.42,\"fiftyTwoWeekLowChangePercent\":0.5741526,\"fiftyTwoWeekRange\":\"9.44 - - 15.645\",\"fiftyTwoWeekHighChange\":-0.7850008,\"fiftyTwoWeekHighChangePercent\":-0.050175823,\"fiftyTwoWeekChangePercent\":47.623764,\"earningsTimestamp\":1730979900,\"earningsTimestampStart\":1739453400,\"earningsTimestampEnd\":1739799000,\"earningsCallTimestampStart\":1730988000,\"earningsCallTimestampEnd\":1730988000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":7.213592,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.06,\"epsForward\":0.84,\"epsCurrentYear\":0.8,\"priceEpsCurrentYear\":18.574999,\"sharesOutstanding\":105846000,\"bookValue\":10.507,\"fiftyDayAverage\":12.5498,\"fiftyDayAverageChange\":2.3101997,\"fiftyDayAverageChangePercent\":0.1840826,\"twoHundredDayAverage\":13.38125,\"twoHundredDayAverageChange\":1.4787493,\"twoHundredDayAverageChangePercent\":0.11050905,\"marketCap\":1578161664,\"forwardPE\":17.690475,\"priceToBook\":1.4142952,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"NOW - Inc.\",\"nameChangeDate\":\"2024-11-08\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":15.645,\"fiftyTwoWeekLow\":9.44,\"shortName\":\"DNOW - Inc.\",\"averageAnalystRating\":\"1.7 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1400592600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"DNOW\",\"symbol\":\"DNOW\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.606065,\"postMarketChangePercent\":4.9196763,\"postMarketTime\":1731539370,\"postMarketPrice\":10.45,\"postMarketChange\":0.48999977,\"regularMarketChange\":0.0600004,\"regularMarketTime\":1731531602,\"regularMarketPrice\":9.96,\"regularMarketDayHigh\":10.07,\"regularMarketDayRange\":\"9.8 - - 10.07\",\"regularMarketDayLow\":9.8,\"regularMarketVolume\":1046005,\"regularMarketPreviousClose\":9.9,\"bid\":9.54,\"ask\":10.42,\"bidSize\":10,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_113895714\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Grupo - Supervielle S.A.\",\"financialCurrency\":\"ARS\",\"regularMarketOpen\":10.0,\"averageDailyVolume3Month\":1149992,\"averageDailyVolume10Day\":1261060,\"fiftyTwoWeekLowChange\":8.05,\"fiftyTwoWeekLowChangePercent\":4.2146597,\"fiftyTwoWeekRange\":\"1.91 - - 10.07\",\"fiftyTwoWeekHighChange\":-0.10999966,\"fiftyTwoWeekHighChangePercent\":-0.010923501,\"fiftyTwoWeekChangePercent\":405.10205,\"dividendDate\":1717113600,\"earningsTimestamp\":1732568400,\"earningsTimestampStart\":1732568400,\"earningsTimestampEnd\":1732568400,\"earningsCallTimestampStart\":1732618740,\"earningsCallTimestampEnd\":1732618740,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":44.036,\"trailingPE\":8.892858,\"dividendRate\":0.17,\"trailingAnnualDividendYield\":4.448081,\"dividendYield\":1.72,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.12,\"epsForward\":1.12,\"epsCurrentYear\":1.3,\"priceEpsCurrentYear\":7.6615386,\"sharesOutstanding\":75178600,\"bookValue\":1480.624,\"fiftyDayAverage\":8.1548,\"fiftyDayAverageChange\":1.8051996,\"fiftyDayAverageChangePercent\":0.2213665,\"twoHundredDayAverage\":6.537,\"twoHundredDayAverageChange\":3.4229999,\"twoHundredDayAverageChangePercent\":0.5236347,\"marketCap\":993200192,\"forwardPE\":8.892858,\"priceToBook\":0.0067268936,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":10.07,\"fiftyTwoWeekLow\":1.91,\"shortName\":\"Grupo - Supervielle S.A.\",\"averageAnalystRating\":\"3.7 - Underperform\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1463664600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Grupo - Supervielle\",\"symbol\":\"SUPV\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.0324746,\"postMarketChangePercent\":0.341427,\"postMarketTime\":1731535479,\"postMarketPrice\":52.9,\"postMarketChange\":0.18,\"regularMarketChange\":-0.54999924,\"regularMarketTime\":1731531601,\"regularMarketPrice\":52.72,\"regularMarketDayHigh\":53.66,\"regularMarketDayRange\":\"52.52 - - 53.66\",\"regularMarketDayLow\":52.52,\"regularMarketVolume\":634210,\"regularMarketPreviousClose\":53.27,\"bid\":52.64,\"ask\":52.79,\"bidSize\":4,\"askSize\":6,\"market\":\"us_market\",\"messageBoardId\":\"finmb_296917\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Pilgrim's - Pride Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":53.44,\"averageDailyVolume3Month\":1425575,\"averageDailyVolume10Day\":1109990,\"fiftyTwoWeekLowChange\":27.490002,\"fiftyTwoWeekLowChangePercent\":1.089576,\"fiftyTwoWeekRange\":\"25.23 - - 55.5\",\"fiftyTwoWeekHighChange\":-2.7799988,\"fiftyTwoWeekHighChangePercent\":-0.050090067,\"fiftyTwoWeekChangePercent\":103.08166,\"dividendDate\":1463529600,\"earningsTimestamp\":1730320201,\"earningsTimestampStart\":1730320201,\"earningsTimestampEnd\":1730320201,\"earningsCallTimestampStart\":1730379600,\"earningsCallTimestampEnd\":1730379600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":12.8272505,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.11,\"epsForward\":4.5,\"epsCurrentYear\":5.07,\"priceEpsCurrentYear\":10.398422,\"sharesOutstanding\":237123008,\"bookValue\":17.732,\"fiftyDayAverage\":46.0968,\"fiftyDayAverageChange\":6.6231995,\"fiftyDayAverageChangePercent\":0.14368024,\"twoHundredDayAverage\":38.87395,\"twoHundredDayAverageChange\":13.84605,\"twoHundredDayAverageChangePercent\":0.3561781,\"marketCap\":12633926656,\"forwardPE\":11.715556,\"priceToBook\":2.973156,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":55.5,\"fiftyTwoWeekLow\":25.23,\"shortName\":\"Pilgrim's - Pride Corporation\",\"averageAnalystRating\":\"2.7 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":567873000000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Pilgrim's - Pride\",\"symbol\":\"PPC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.779498,\"postMarketChangePercent\":0.104348,\"postMarketTime\":1731545044,\"postMarketPrice\":163.1,\"postMarketChange\":0.170013,\"regularMarketChange\":-1.28001,\"regularMarketTime\":1731531602,\"regularMarketPrice\":162.93,\"regularMarketDayHigh\":165.57,\"regularMarketDayRange\":\"161.86 - - 165.57\",\"regularMarketDayLow\":161.86,\"regularMarketVolume\":909001,\"regularMarketPreviousClose\":164.21,\"bid\":155.93,\"ask\":168.95,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_107911\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Tenet - Healthcare Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":165.06,\"averageDailyVolume3Month\":1144829,\"averageDailyVolume10Day\":1299740,\"fiftyTwoWeekLowChange\":105.27999,\"fiftyTwoWeekLowChangePercent\":1.8261924,\"fiftyTwoWeekRange\":\"57.65 - - 171.2\",\"fiftyTwoWeekHighChange\":-8.270004,\"fiftyTwoWeekHighChangePercent\":-0.0483061,\"fiftyTwoWeekChangePercent\":180.23737,\"earningsTimestamp\":1730198700,\"earningsTimestampStart\":1738848600,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1730210400,\"earningsCallTimestampEnd\":1730210400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":5.159278,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":31.58,\"epsForward\":11.46,\"sharesOutstanding\":95097000,\"bookValue\":40.323,\"fiftyDayAverage\":159.5284,\"fiftyDayAverageChange\":3.401596,\"fiftyDayAverageChangePercent\":0.021322824,\"twoHundredDayAverage\":131.0529,\"twoHundredDayAverageChange\":31.87709,\"twoHundredDayAverageChangePercent\":0.24323834,\"marketCap\":15494153216,\"forwardPE\":14.217277,\"priceToBook\":4.0406218,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":171.2,\"fiftyTwoWeekLow\":57.65,\"shortName\":\"Tenet - Healthcare Corporation\",\"averageAnalystRating\":\"2.0 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Tenet - Healthcare\",\"symbol\":\"THC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.251736,\"postMarketChangePercent\":1.6739887,\"postMarketTime\":1731543015,\"postMarketPrice\":48.59,\"postMarketChange\":0.79999924,\"regularMarketChange\":0.120003,\"regularMarketTime\":1731531602,\"regularMarketPrice\":47.79,\"regularMarketDayHigh\":48.5494,\"regularMarketDayRange\":\"47.2719 - - 48.5494\",\"regularMarketDayLow\":47.2719,\"regularMarketVolume\":627337,\"regularMarketPreviousClose\":47.67,\"bid\":46.65,\"ask\":48.98,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_433384628\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Vista - Energy, S.A.B. de C.V.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":47.71,\"averageDailyVolume3Month\":849812,\"averageDailyVolume10Day\":966960,\"fiftyTwoWeekLowChange\":22.79,\"fiftyTwoWeekLowChangePercent\":0.91160005,\"fiftyTwoWeekRange\":\"25.0 - - 54.0\",\"fiftyTwoWeekHighChange\":-6.209999,\"fiftyTwoWeekHighChangePercent\":-0.11499998,\"fiftyTwoWeekChangePercent\":85.847946,\"earningsTimestamp\":1729713600,\"earningsTimestampStart\":1729713600,\"earningsTimestampEnd\":1729713600,\"earningsCallTimestampStart\":1729774800,\"earningsCallTimestampEnd\":1729774800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":9.208093,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":5.19,\"epsForward\":7.49,\"epsCurrentYear\":5.94,\"priceEpsCurrentYear\":8.045455,\"sharesOutstanding\":95195904,\"bookValue\":15.97,\"fiftyDayAverage\":48.2104,\"fiftyDayAverageChange\":-0.4203987,\"fiftyDayAverageChangePercent\":-0.008720083,\"twoHundredDayAverage\":44.1974,\"twoHundredDayAverageChange\":3.5926018,\"twoHundredDayAverageChangePercent\":0.081285365,\"marketCap\":4590110208,\"forwardPE\":6.3805075,\"priceToBook\":2.992486,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Vista - Oil & Gas, S.A.B. de C.V.\",\"nameChangeDate\":\"2024-11-08\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":54.0,\"fiftyTwoWeekLow\":25.0,\"shortName\":\"Vista - Energy S.A.B. de C.V.\",\"averageAnalystRating\":\"1.8 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1564147800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Vista - Energy, S.A.B. de C.V\",\"symbol\":\"VIST\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.21322,\"postMarketChangePercent\":-0.32058886,\"postMarketTime\":1731545538,\"postMarketPrice\":202.1,\"postMarketChange\":-0.6499939,\"regularMarketChange\":-2.49001,\"regularMarketTime\":1731531602,\"regularMarketPrice\":202.75,\"regularMarketDayHigh\":206.83,\"regularMarketDayRange\":\"202.455 - - 206.83\",\"regularMarketDayLow\":202.455,\"regularMarketVolume\":414709,\"regularMarketPreviousClose\":205.24,\"bid\":203.43,\"ask\":203.61,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_36040\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Universal - Health Services, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":206.36,\"averageDailyVolume3Month\":730628,\"averageDailyVolume10Day\":797720,\"fiftyTwoWeekLowChange\":70.009995,\"fiftyTwoWeekLowChangePercent\":0.52742195,\"fiftyTwoWeekRange\":\"132.74 - - 243.25\",\"fiftyTwoWeekHighChange\":-40.5,\"fiftyTwoWeekHighChangePercent\":-0.16649537,\"fiftyTwoWeekChangePercent\":50.79955,\"dividendDate\":1726531200,\"earningsTimestamp\":1729800967,\"earningsTimestampStart\":1729800967,\"earningsTimestampEnd\":1729800967,\"earningsCallTimestampStart\":1729861200,\"earningsCallTimestampEnd\":1729861200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.8,\"trailingPE\":13.662398,\"dividendRate\":0.8,\"trailingAnnualDividendYield\":0.0038978755,\"dividendYield\":0.39,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":14.84,\"epsForward\":18.16,\"epsCurrentYear\":15.93,\"priceEpsCurrentYear\":12.727558,\"sharesOutstanding\":59461600,\"bookValue\":100.138,\"fiftyDayAverage\":222.4964,\"fiftyDayAverageChange\":-19.746399,\"fiftyDayAverageChangePercent\":-0.0887493,\"twoHundredDayAverage\":194.0384,\"twoHundredDayAverageChange\":8.711594,\"twoHundredDayAverageChangePercent\":0.044896234,\"marketCap\":13538793472,\"forwardPE\":11.164648,\"priceToBook\":2.024706,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":243.25,\"fiftyTwoWeekLow\":132.74,\"shortName\":\"Universal - Health Services, Inc.\",\"averageAnalystRating\":\"2.4 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":363533400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"UHS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-2.0667744,\"postMarketChangePercent\":2.19156,\"postMarketTime\":1731536135,\"postMarketPrice\":12.59,\"postMarketChange\":0.27,\"regularMarketChange\":-0.26000023,\"regularMarketTime\":1731531601,\"regularMarketPrice\":12.32,\"regularMarketDayHigh\":12.59,\"regularMarketDayRange\":\"12.26 - - 12.59\",\"regularMarketDayLow\":12.26,\"regularMarketVolume\":1104710,\"regularMarketPreviousClose\":12.58,\"bid\":10.75,\"ask\":14.04,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_29282\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Harmonic - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":12.5799,\"averageDailyVolume3Month\":1121712,\"averageDailyVolume10Day\":1344630,\"fiftyTwoWeekLowChange\":3.2199993,\"fiftyTwoWeekLowChangePercent\":0.35384607,\"fiftyTwoWeekRange\":\"9.1 - - 15.46\",\"fiftyTwoWeekHighChange\":-3.1400003,\"fiftyTwoWeekHighChangePercent\":-0.20310481,\"fiftyTwoWeekChangePercent\":14.925373,\"earningsTimestamp\":1730145907,\"earningsTimestampStart\":1738011600,\"earningsTimestampEnd\":1738357200,\"earningsCallTimestampStart\":1730149200,\"earningsCallTimestampEnd\":1730149200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":16.87671,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.73,\"epsForward\":0.9,\"epsCurrentYear\":0.71,\"priceEpsCurrentYear\":17.352114,\"sharesOutstanding\":116528000,\"bookValue\":3.682,\"fiftyDayAverage\":13.4566,\"fiftyDayAverageChange\":-1.1366005,\"fiftyDayAverageChangePercent\":-0.08446416,\"twoHundredDayAverage\":12.63055,\"twoHundredDayAverageChange\":-0.3105507,\"twoHundredDayAverageChangePercent\":-0.024587264,\"marketCap\":1435624960,\"forwardPE\":13.688889,\"priceToBook\":3.3460076,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":15.46,\"fiftyTwoWeekLow\":9.1,\"shortName\":\"Harmonic - Inc.\",\"averageAnalystRating\":\"2.2 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":801235800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Harmonic\",\"symbol\":\"HLIT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.6775708,\"postMarketChangePercent\":0.272991,\"postMarketTime\":1731544988,\"postMarketPrice\":58.77,\"postMarketChange\":0.16,\"regularMarketChange\":-1.0,\"regularMarketTime\":1731531601,\"regularMarketPrice\":58.61,\"regularMarketDayHigh\":60.37,\"regularMarketDayRange\":\"58.46 - - 60.37\",\"regularMarketDayLow\":58.46,\"regularMarketVolume\":830615,\"regularMarketPreviousClose\":59.61,\"bid\":51.23,\"ask\":58.72,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_7931206\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Halozyme - Therapeutics, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":59.79,\"averageDailyVolume3Month\":1369523,\"averageDailyVolume10Day\":1609910,\"fiftyTwoWeekLowChange\":25.46,\"fiftyTwoWeekLowChangePercent\":0.7680241,\"fiftyTwoWeekRange\":\"33.15 - - 65.53\",\"fiftyTwoWeekHighChange\":-6.919998,\"fiftyTwoWeekHighChangePercent\":-0.10560046,\"fiftyTwoWeekChangePercent\":48.304653,\"earningsTimestamp\":1730404864,\"earningsTimestampStart\":1730404864,\"earningsTimestampEnd\":1730404864,\"earningsCallTimestampStart\":1730406600,\"earningsCallTimestampEnd\":1730406600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":19.407286,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.02,\"epsForward\":4.84,\"epsCurrentYear\":4.15,\"priceEpsCurrentYear\":14.122891,\"sharesOutstanding\":127227000,\"bookValue\":3.559,\"fiftyDayAverage\":56.4556,\"fiftyDayAverageChange\":2.1543999,\"fiftyDayAverageChangePercent\":0.038160957,\"twoHundredDayAverage\":48.86085,\"twoHundredDayAverageChange\":9.749149,\"twoHundredDayAverageChangePercent\":0.19952884,\"marketCap\":7456774656,\"forwardPE\":12.109504,\"priceToBook\":16.46811,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":65.53,\"fiftyTwoWeekLow\":33.15,\"shortName\":\"Halozyme - Therapeutics, Inc.\",\"averageAnalystRating\":\"2.5 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1079447400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Halozyme - Therapeutics\",\"symbol\":\"HALO\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-4.7177124,\"postMarketChangePercent\":0.680505,\"postMarketTime\":1731535997,\"postMarketPrice\":85.81,\"postMarketChange\":0.579994,\"regularMarketChange\":-4.2199936,\"regularMarketTime\":1731531601,\"regularMarketPrice\":85.23,\"regularMarketDayHigh\":89.77,\"regularMarketDayRange\":\"85.21 - - 89.77\",\"regularMarketDayLow\":85.21,\"regularMarketVolume\":1191619,\"regularMarketPreviousClose\":89.45,\"bid\":85.11,\"ask\":85.39,\"bidSize\":2,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_553033\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Weatherford - International plc\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":89.37,\"averageDailyVolume3Month\":975696,\"averageDailyVolume10Day\":945350,\"fiftyTwoWeekLowChange\":8.230003,\"fiftyTwoWeekLowChangePercent\":0.10688316,\"fiftyTwoWeekRange\":\"77.0 - - 135.0\",\"fiftyTwoWeekHighChange\":-49.769997,\"fiftyTwoWeekHighChangePercent\":-0.36866665,\"fiftyTwoWeekChangePercent\":-2.7294457,\"dividendDate\":1733356800,\"earningsTimestamp\":1729629000,\"earningsTimestampStart\":1738702800,\"earningsTimestampEnd\":1739221200,\"earningsCallTimestampStart\":1729686600,\"earningsCallTimestampEnd\":1729686600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.25,\"trailingPE\":12.515419,\"dividendRate\":1.0,\"trailingAnnualDividendYield\":0.0027948576,\"dividendYield\":1.12,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":6.81,\"epsForward\":7.91,\"epsCurrentYear\":6.94,\"priceEpsCurrentYear\":12.28098,\"sharesOutstanding\":72652000,\"bookValue\":18.501,\"fiftyDayAverage\":88.1602,\"fiftyDayAverageChange\":-2.9301987,\"fiftyDayAverageChangePercent\":-0.033237204,\"twoHundredDayAverage\":107.44685,\"twoHundredDayAverageChange\":-22.21685,\"twoHundredDayAverageChangePercent\":-0.2067706,\"marketCap\":6500245504,\"forwardPE\":10.774969,\"priceToBook\":4.606778,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-06-02\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":135.0,\"fiftyTwoWeekLow\":77.0,\"shortName\":\"Weatherford - International plc\",\"averageAnalystRating\":\"1.6 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1609770600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Weatherford\",\"symbol\":\"WFRD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.480887,\"postMarketChangePercent\":-0.3051855,\"postMarketTime\":1731541209,\"postMarketPrice\":156.8,\"postMarketChange\":-0.47999573,\"regularMarketChange\":-0.759995,\"regularMarketTime\":1731531602,\"regularMarketPrice\":157.28,\"regularMarketDayHigh\":159.71,\"regularMarketDayRange\":\"156.5341 - - 159.71\",\"regularMarketDayLow\":156.5341,\"regularMarketVolume\":794805,\"regularMarketPreviousClose\":158.04,\"bid\":156.74,\"ask\":157.91,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_35644\",\"fullExchangeName\":\"NYSE\",\"longName\":\"DaVita - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":158.62,\"averageDailyVolume3Month\":771909,\"averageDailyVolume10Day\":869590,\"fiftyTwoWeekLowChange\":64.6,\"fiftyTwoWeekLowChangePercent\":0.697022,\"fiftyTwoWeekRange\":\"92.68 - - 168.5\",\"fiftyTwoWeekHighChange\":-11.220001,\"fiftyTwoWeekHighChangePercent\":-0.066587545,\"fiftyTwoWeekChangePercent\":66.02976,\"earningsTimestamp\":1730232308,\"earningsTimestampStart\":1739271540,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730235600,\"earningsCallTimestampEnd\":1730235600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":16.948277,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":9.28,\"epsForward\":11.27,\"epsCurrentYear\":9.74,\"priceEpsCurrentYear\":16.147844,\"sharesOutstanding\":82024000,\"bookValue\":4.68,\"fiftyDayAverage\":157.4614,\"fiftyDayAverageChange\":-0.18139648,\"fiftyDayAverageChangePercent\":-0.0011520061,\"twoHundredDayAverage\":141.5996,\"twoHundredDayAverageChange\":15.680405,\"twoHundredDayAverageChangePercent\":0.11073764,\"marketCap\":12900734976,\"forwardPE\":13.955634,\"priceToBook\":33.60684,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":168.5,\"fiftyTwoWeekLow\":92.68,\"shortName\":\"DaVita - Inc.\",\"averageAnalystRating\":\"2.9 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":815149800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"DaVita\",\"symbol\":\"DVA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-2.21089,\"postMarketChangePercent\":1.7165226,\"postMarketTime\":1731545538,\"postMarketPrice\":5.8487,\"postMarketChange\":0.09870005,\"regularMarketChange\":-0.13,\"regularMarketTime\":1731531602,\"regularMarketPrice\":5.75,\"regularMarketDayHigh\":5.86,\"regularMarketDayRange\":\"5.7443 - - 5.86\",\"regularMarketDayLow\":5.7443,\"regularMarketVolume\":534755,\"regularMarketPreviousClose\":5.88,\"bid\":5.81,\"ask\":5.8,\"bidSize\":40,\"askSize\":31,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1288232\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Nomura - Holdings, Inc.\",\"financialCurrency\":\"JPY\",\"regularMarketOpen\":5.8,\"averageDailyVolume3Month\":847742,\"averageDailyVolume10Day\":996610,\"fiftyTwoWeekLowChange\":1.7199998,\"fiftyTwoWeekLowChangePercent\":0.42679894,\"fiftyTwoWeekRange\":\"4.03 - - 6.62\",\"fiftyTwoWeekHighChange\":-0.8699999,\"fiftyTwoWeekHighChangePercent\":-0.13141993,\"fiftyTwoWeekChangePercent\":41.27765,\"dividendDate\":1718236800,\"earningsTimestamp\":1730440800,\"earningsTimestampStart\":1738132200,\"earningsTimestampEnd\":1738564200,\"earningsCallTimestampStart\":1730453400,\"earningsCallTimestampEnd\":1730453400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":38.0,\"trailingPE\":9.913794,\"dividendRate\":0.1,\"trailingAnnualDividendYield\":6.462585,\"dividendYield\":1.62,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.58,\"epsForward\":0.56,\"epsCurrentYear\":0.61481,\"priceEpsCurrentYear\":9.352483,\"sharesOutstanding\":2955020032,\"bookValue\":1117.0,\"fiftyDayAverage\":5.4144,\"fiftyDayAverageChange\":0.3355999,\"fiftyDayAverageChangePercent\":0.06198284,\"twoHundredDayAverage\":5.7528,\"twoHundredDayAverageChange\":-0.0027999878,\"twoHundredDayAverageChangePercent\":-4.8671738E-4,\"marketCap\":17314342912,\"forwardPE\":10.267858,\"priceToBook\":0.005147717,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":6.62,\"fiftyTwoWeekLow\":4.03,\"shortName\":\"Nomura - Holdings Inc\",\"averageAnalystRating\":\"3.0 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1008599400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Nomura\",\"symbol\":\"NMR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.308642,\"postMarketChangePercent\":1.470585,\"postMarketTime\":1731538116,\"postMarketPrice\":6.555,\"postMarketChange\":0.09499979,\"regularMarketChange\":-0.02,\"regularMarketTime\":1731531602,\"regularMarketPrice\":6.46,\"regularMarketDayHigh\":6.47,\"regularMarketDayRange\":\"6.36 - - 6.47\",\"regularMarketDayLow\":6.36,\"regularMarketVolume\":412900,\"regularMarketPreviousClose\":6.48,\"bid\":6.11,\"ask\":6.77,\"bidSize\":10,\"askSize\":29,\"market\":\"us_market\",\"messageBoardId\":\"finmb_392996\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Companhia - Paranaense de Energia - COPEL\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":6.43,\"averageDailyVolume3Month\":277859,\"averageDailyVolume10Day\":288060,\"fiftyTwoWeekLowChange\":0.099999905,\"fiftyTwoWeekLowChangePercent\":0.015723255,\"fiftyTwoWeekRange\":\"6.36 - - 10.64\",\"fiftyTwoWeekHighChange\":-4.1800003,\"fiftyTwoWeekHighChangePercent\":-0.39285716,\"fiftyTwoWeekChangePercent\":-32.14286,\"dividendDate\":1733702400,\"earningsTimestamp\":1730919600,\"earningsTimestampStart\":1730919600,\"earningsTimestampEnd\":1730919600,\"earningsCallTimestampStart\":1730984400,\"earningsCallTimestampEnd\":1730984400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.38,\"trailingPE\":11.333334,\"dividendRate\":0.15,\"trailingAnnualDividendYield\":0.058641974,\"dividendYield\":2.37,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.57,\"epsForward\":0.73,\"epsCurrentYear\":0.128,\"priceEpsCurrentYear\":50.468746,\"sharesOutstanding\":419833984,\"bookValue\":8.547,\"fiftyDayAverage\":7.1822,\"fiftyDayAverageChange\":-0.7221999,\"fiftyDayAverageChangePercent\":-0.10055414,\"twoHundredDayAverage\":7.41605,\"twoHundredDayAverageChange\":-0.9560499,\"twoHundredDayAverageChangePercent\":-0.12891632,\"marketCap\":4667311616,\"forwardPE\":8.849315,\"priceToBook\":0.75582075,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":10.64,\"fiftyTwoWeekLow\":6.36,\"shortName\":\"Companhia - Paranaense de Energia\",\"averageAnalystRating\":\"1.3 - Strong Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":896880600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"ELP\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.227796,\"postMarketChangePercent\":2.272725,\"postMarketTime\":1731545612,\"postMarketPrice\":4.5,\"postMarketChange\":0.099999905,\"regularMarketChange\":0.0100002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":4.4,\"regularMarketDayHigh\":4.55,\"regularMarketDayRange\":\"4.275 - - 4.55\",\"regularMarketDayLow\":4.275,\"regularMarketVolume\":1580364,\"regularMarketPreviousClose\":4.39,\"bid\":4.2,\"ask\":4.6,\"bidSize\":18,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_322777\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Gray - Television, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":4.43,\"averageDailyVolume3Month\":1207968,\"averageDailyVolume10Day\":2062770,\"fiftyTwoWeekLowChange\":0.45000005,\"fiftyTwoWeekLowChangePercent\":0.113924064,\"fiftyTwoWeekRange\":\"3.95 - - 10.07\",\"fiftyTwoWeekHighChange\":-5.6699996,\"fiftyTwoWeekHighChangePercent\":-0.56305856,\"fiftyTwoWeekChangePercent\":-42.782837,\"dividendDate\":1735603200,\"earningsTimestamp\":1731063611,\"earningsTimestampStart\":1731063611,\"earningsTimestampEnd\":1731063611,\"earningsCallTimestampStart\":1731081600,\"earningsCallTimestampEnd\":1731081600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.32,\"trailingPE\":2.9333334,\"dividendRate\":0.32,\"trailingAnnualDividendYield\":0.07289294,\"dividendYield\":7.29,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.5,\"epsForward\":-0.7,\"epsCurrentYear\":3.3,\"priceEpsCurrentYear\":1.3333334,\"sharesOutstanding\":90824400,\"bookValue\":22.334,\"fiftyDayAverage\":5.2638,\"fiftyDayAverageChange\":-0.86380005,\"fiftyDayAverageChangePercent\":-0.16410199,\"twoHundredDayAverage\":5.7701,\"twoHundredDayAverageChange\":-1.3701,\"twoHundredDayAverageChangePercent\":-0.23744823,\"marketCap\":459716416,\"forwardPE\":-6.2857146,\"priceToBook\":0.19700906,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":10.07,\"fiftyTwoWeekLow\":3.95,\"shortName\":\"Gray - Television, Inc.\",\"averageAnalystRating\":\"2.6 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1030714200000,\"priceHint\":4,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Gray - Television\",\"symbol\":\"GTN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":1.04095,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731538116,\"postMarketPrice\":14.56,\"postMarketChange\":0.0,\"regularMarketChange\":0.150001,\"regularMarketTime\":1731531602,\"regularMarketPrice\":14.56,\"regularMarketDayHigh\":14.669,\"regularMarketDayRange\":\"14.4 - - 14.669\",\"regularMarketDayLow\":14.4,\"regularMarketVolume\":422417,\"regularMarketPreviousClose\":14.41,\"bid\":14.64,\"ask\":14.65,\"bidSize\":8,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_154059697\",\"fullExchangeName\":\"NYSE\",\"longName\":\"SiriusPoint - Ltd.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":14.5,\"averageDailyVolume3Month\":437877,\"averageDailyVolume10Day\":586610,\"fiftyTwoWeekLowChange\":4.2400007,\"fiftyTwoWeekLowChangePercent\":0.4108528,\"fiftyTwoWeekRange\":\"10.32 - - 15.16\",\"fiftyTwoWeekHighChange\":-0.5999994,\"fiftyTwoWeekHighChangePercent\":-0.0395778,\"fiftyTwoWeekChangePercent\":35.30517,\"earningsTimestamp\":1730406043,\"earningsTimestampStart\":1730406043,\"earningsTimestampEnd\":1730406043,\"earningsCallTimestampStart\":1730464200,\"earningsCallTimestampEnd\":1730464200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":8.987655,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.62,\"epsForward\":1.8,\"epsCurrentYear\":1.5,\"priceEpsCurrentYear\":9.706667,\"sharesOutstanding\":161867008,\"bookValue\":15.413,\"fiftyDayAverage\":13.8838,\"fiftyDayAverageChange\":0.67620087,\"fiftyDayAverageChangePercent\":0.048704308,\"twoHundredDayAverage\":13.06445,\"twoHundredDayAverageChange\":1.4955502,\"twoHundredDayAverageChangePercent\":0.11447479,\"marketCap\":2356783616,\"forwardPE\":8.088889,\"priceToBook\":0.94465715,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Third - Point Reinsurance Ltd.\",\"nameChangeDate\":\"2024-11-08\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":15.16,\"fiftyTwoWeekLow\":10.32,\"shortName\":\"SiriusPoint - Ltd.\",\"averageAnalystRating\":\"3.0 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1376573400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"SiriusPoint\",\"symbol\":\"SPNT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.719298,\"postMarketChangePercent\":0.58866286,\"postMarketTime\":1731541203,\"postMarketPrice\":111.07,\"postMarketChange\":0.6500015,\"regularMarketChange\":-0.800003,\"regularMarketTime\":1731531602,\"regularMarketPrice\":110.42,\"regularMarketDayHigh\":112.42,\"regularMarketDayRange\":\"110.3225 - - 112.42\",\"regularMarketDayLow\":110.3225,\"regularMarketVolume\":429589,\"regularMarketPreviousClose\":111.22,\"bid\":109.86,\"ask\":111.04,\"bidSize\":9,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_294167\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Oshkosh - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":111.53,\"averageDailyVolume3Month\":543731,\"averageDailyVolume10Day\":555750,\"fiftyTwoWeekLowChange\":17.080002,\"fiftyTwoWeekLowChangePercent\":0.18298696,\"fiftyTwoWeekRange\":\"93.34 - - 127.98\",\"fiftyTwoWeekHighChange\":-17.560005,\"fiftyTwoWeekHighChangePercent\":-0.13720897,\"fiftyTwoWeekChangePercent\":15.538347,\"dividendDate\":1732838400,\"earningsTimestamp\":1730286000,\"earningsTimestampStart\":1738071000,\"earningsTimestampEnd\":1738589400,\"earningsCallTimestampStart\":1730295000,\"earningsCallTimestampEnd\":1730295000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.79,\"trailingPE\":10.720388,\"dividendRate\":1.84,\"trailingAnnualDividendYield\":0.016094226,\"dividendYield\":1.65,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":10.3,\"epsForward\":10.83,\"epsCurrentYear\":11.33,\"priceEpsCurrentYear\":9.745808,\"sharesOutstanding\":65065000,\"bookValue\":63.047,\"fiftyDayAverage\":103.434,\"fiftyDayAverageChange\":6.986,\"fiftyDayAverageChangePercent\":0.06754065,\"twoHundredDayAverage\":109.86745,\"twoHundredDayAverageChange\":0.55255127,\"twoHundredDayAverageChangePercent\":0.0050292537,\"marketCap\":7236529152,\"forwardPE\":10.195752,\"priceToBook\":1.7513918,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":127.98,\"fiftyTwoWeekLow\":93.34,\"shortName\":\"Oshkosh - Corporation (Holding Co\",\"averageAnalystRating\":\"2.4 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":497107800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Oshkosh\",\"symbol\":\"OSK\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.019271938,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731532255,\"postMarketPrice\":103.78,\"postMarketChange\":0.0,\"regularMarketChange\":-0.020004272,\"regularMarketTime\":1731531601,\"regularMarketPrice\":103.78,\"regularMarketDayHigh\":104.46,\"regularMarketDayRange\":\"103.33 - - 104.46\",\"regularMarketDayLow\":103.33,\"regularMarketVolume\":238828,\"regularMarketPreviousClose\":103.8,\"bid\":103.61,\"ask\":103.93,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_28274\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Euronet - Worldwide, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":103.33,\"averageDailyVolume3Month\":291823,\"averageDailyVolume10Day\":274430,\"fiftyTwoWeekLowChange\":21.79,\"fiftyTwoWeekLowChangePercent\":0.26576415,\"fiftyTwoWeekRange\":\"81.99 - - 117.66\",\"fiftyTwoWeekHighChange\":-13.880005,\"fiftyTwoWeekHighChangePercent\":-0.11796706,\"fiftyTwoWeekChangePercent\":25.687302,\"earningsTimestamp\":1729738833,\"earningsTimestampStart\":1738762200,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1729774800,\"earningsCallTimestampEnd\":1729774800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":15.084302,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":6.88,\"epsForward\":9.7,\"epsCurrentYear\":8.6203,\"priceEpsCurrentYear\":12.039023,\"sharesOutstanding\":43931600,\"bookValue\":30.997,\"fiftyDayAverage\":99.3884,\"fiftyDayAverageChange\":4.3916016,\"fiftyDayAverageChangePercent\":0.04418626,\"twoHundredDayAverage\":104.7872,\"twoHundredDayAverageChange\":-1.0072021,\"twoHundredDayAverageChangePercent\":-0.009611881,\"marketCap\":4559221248,\"forwardPE\":10.698969,\"priceToBook\":3.3480659,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":117.66,\"fiftyTwoWeekLow\":81.99,\"shortName\":\"Euronet - Worldwide, Inc.\",\"averageAnalystRating\":\"1.7 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":857745000000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Euronet - Worldwide\",\"symbol\":\"EEFT\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.5056366,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731533762,\"postMarketPrice\":25.58,\"postMarketChange\":0.0,\"regularMarketChange\":-0.12999916,\"regularMarketTime\":1731531601,\"regularMarketPrice\":25.58,\"regularMarketDayHigh\":26.1004,\"regularMarketDayRange\":\"25.39 - - 26.1004\",\"regularMarketDayLow\":25.39,\"regularMarketVolume\":440024,\"regularMarketPreviousClose\":25.71,\"bid\":25.53,\"ask\":25.63,\"bidSize\":2,\"askSize\":2,\"market\":\"us_market\",\"messageBoardId\":\"finmb_178946\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Interface, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":25.89,\"averageDailyVolume3Month\":553576,\"averageDailyVolume10Day\":789630,\"fiftyTwoWeekLowChange\":15.8,\"fiftyTwoWeekLowChangePercent\":1.6155419,\"fiftyTwoWeekRange\":\"9.78 - - 26.11\",\"fiftyTwoWeekHighChange\":-0.5300007,\"fiftyTwoWeekHighChangePercent\":-0.020298762,\"fiftyTwoWeekChangePercent\":156.56972,\"dividendDate\":1726185600,\"earningsTimestamp\":1730453400,\"earningsTimestampStart\":1730453400,\"earningsTimestampEnd\":1730453400,\"earningsCallTimestampStart\":1730462400,\"earningsCallTimestampEnd\":1730462400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.04,\"trailingPE\":17.763887,\"dividendRate\":0.04,\"trailingAnnualDividendYield\":0.0015558149,\"dividendYield\":0.16,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.44,\"epsForward\":1.51,\"epsCurrentYear\":1.4,\"priceEpsCurrentYear\":18.27143,\"sharesOutstanding\":58303600,\"bookValue\":8.603,\"fiftyDayAverage\":19.647,\"fiftyDayAverageChange\":5.9330006,\"fiftyDayAverageChangePercent\":0.30198,\"twoHundredDayAverage\":16.6698,\"twoHundredDayAverageChange\":8.9102,\"twoHundredDayAverageChangePercent\":0.5345115,\"marketCap\":1491406080,\"forwardPE\":16.940397,\"priceToBook\":2.9733815,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":26.11,\"fiftyTwoWeekLow\":9.78,\"shortName\":\"Interface, - Inc.\",\"averageAnalystRating\":\"1.5 - Strong Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":419178600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Interface\",\"symbol\":\"TILE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.72722,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731544115,\"postMarketPrice\":49.5,\"postMarketChange\":0.0,\"regularMarketChange\":-0.869999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":49.5,\"regularMarketDayHigh\":50.585,\"regularMarketDayRange\":\"48.64 - - 50.585\",\"regularMarketDayLow\":48.64,\"regularMarketVolume\":1291045,\"regularMarketPreviousClose\":50.37,\"bid\":48.3,\"ask\":55.55,\"bidSize\":14,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_269488\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Valaris - Limited\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":50.71,\"averageDailyVolume3Month\":1305150,\"averageDailyVolume10Day\":1765900,\"fiftyTwoWeekLowChange\":1.4599991,\"fiftyTwoWeekLowChangePercent\":0.03039132,\"fiftyTwoWeekRange\":\"48.04 - - 84.2\",\"fiftyTwoWeekHighChange\":-34.699997,\"fiftyTwoWeekHighChangePercent\":-0.412114,\"fiftyTwoWeekChangePercent\":-24.107277,\"earningsTimestamp\":1730320440,\"earningsTimestampStart\":1730320440,\"earningsTimestampEnd\":1730320440,\"earningsCallTimestampStart\":1730383200,\"earningsCallTimestampEnd\":1730383200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":3.4446764,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":14.37,\"epsForward\":5.27,\"epsCurrentYear\":4.18,\"priceEpsCurrentYear\":11.842106,\"sharesOutstanding\":71118400,\"bookValue\":29.62,\"fiftyDayAverage\":53.0848,\"fiftyDayAverageChange\":-3.5848007,\"fiftyDayAverageChangePercent\":-0.0675297,\"twoHundredDayAverage\":65.8516,\"twoHundredDayAverageChange\":-16.3516,\"twoHundredDayAverageChangePercent\":-0.24830985,\"marketCap\":3520360704,\"forwardPE\":9.39279,\"priceToBook\":1.6711681,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Valaris - plc\",\"nameChangeDate\":\"2024-11-08\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":84.2,\"fiftyTwoWeekLow\":48.04,\"shortName\":\"Valaris - Limited\",\"averageAnalystRating\":\"1.9 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1620048600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Valaris\",\"symbol\":\"VAL\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":2.07355,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731539654,\"postMarketPrice\":167.37,\"postMarketChange\":0.0,\"regularMarketChange\":3.39999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":167.37,\"regularMarketDayHigh\":169.12,\"regularMarketDayRange\":\"164.06 - - 169.12\",\"regularMarketDayLow\":164.06,\"regularMarketVolume\":288213,\"regularMarketPreviousClose\":163.97,\"bid\":158.69,\"ask\":167.72,\"bidSize\":8,\"askSize\":12,\"market\":\"us_market\",\"messageBoardId\":\"finmb_248450\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Matson, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":165.5,\"averageDailyVolume3Month\":287759,\"averageDailyVolume10Day\":366320,\"fiftyTwoWeekLowChange\":75.38999,\"fiftyTwoWeekLowChangePercent\":0.81963456,\"fiftyTwoWeekRange\":\"91.98 - - 169.12\",\"fiftyTwoWeekHighChange\":-1.75,\"fiftyTwoWeekHighChangePercent\":-0.010347682,\"fiftyTwoWeekChangePercent\":79.04365,\"dividendDate\":1733356800,\"earningsTimestamp\":1730318710,\"earningsTimestampStart\":1730318710,\"earningsTimestampEnd\":1730318710,\"earningsCallTimestampStart\":1730320200,\"earningsCallTimestampEnd\":1730320200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.3,\"trailingPE\":13.798021,\"dividendRate\":1.36,\"trailingAnnualDividendYield\":0.007928279,\"dividendYield\":0.83,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":12.13,\"epsForward\":10.0,\"epsCurrentYear\":13.32,\"priceEpsCurrentYear\":12.565315,\"sharesOutstanding\":33210100,\"bookValue\":76.986,\"fiftyDayAverage\":140.151,\"fiftyDayAverageChange\":27.218994,\"fiftyDayAverageChangePercent\":0.19421192,\"twoHundredDayAverage\":124.5629,\"twoHundredDayAverageChange\":42.8071,\"twoHundredDayAverageChangePercent\":0.3436585,\"marketCap\":5558374400,\"forwardPE\":16.737,\"priceToBook\":2.1740315,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":169.12,\"fiftyTwoWeekLow\":91.98,\"shortName\":\"Matson, - Inc.\",\"averageAnalystRating\":\"1.7 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":105283800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Matson\",\"symbol\":\"MATX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":1.57458,\"postMarketChangePercent\":0.89746535,\"postMarketTime\":1731545416,\"postMarketPrice\":37.1,\"postMarketChange\":0.32999802,\"regularMarketChange\":0.57,\"regularMarketTime\":1731531602,\"regularMarketPrice\":36.77,\"regularMarketDayHigh\":37.165,\"regularMarketDayRange\":\"36.25 - - 37.165\",\"regularMarketDayLow\":36.25,\"regularMarketVolume\":1420385,\"regularMarketPreviousClose\":36.2,\"bid\":36.2,\"ask\":36.76,\"bidSize\":9,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_223971217\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Western - Midstream Partners, LP\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":36.3,\"averageDailyVolume3Month\":1106676,\"averageDailyVolume10Day\":1802680,\"fiftyTwoWeekLowChange\":9.960001,\"fiftyTwoWeekLowChangePercent\":0.3715032,\"fiftyTwoWeekRange\":\"26.81 - - 42.8\",\"fiftyTwoWeekHighChange\":-6.029999,\"fiftyTwoWeekHighChangePercent\":-0.14088783,\"fiftyTwoWeekChangePercent\":30.30957,\"dividendDate\":1731542400,\"earningsTimestamp\":1730927106,\"earningsTimestampStart\":1730927106,\"earningsTimestampEnd\":1730927106,\"earningsCallTimestampStart\":1731412800,\"earningsCallTimestampEnd\":1731412800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":3.2,\"trailingPE\":9.404092,\"dividendRate\":3.5,\"trailingAnnualDividendYield\":0.088397786,\"dividendYield\":9.67,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.91,\"epsForward\":3.7,\"epsCurrentYear\":4.09,\"priceEpsCurrentYear\":8.99022,\"sharesOutstanding\":380555008,\"bookValue\":8.477,\"fiftyDayAverage\":38.388,\"fiftyDayAverageChange\":-1.618,\"fiftyDayAverageChangePercent\":-0.04214859,\"twoHundredDayAverage\":36.88345,\"twoHundredDayAverageChange\":-0.1134491,\"twoHundredDayAverageChangePercent\":-0.003075881,\"marketCap\":13993008128,\"forwardPE\":9.937838,\"priceToBook\":4.3376193,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":42.8,\"fiftyTwoWeekLow\":26.81,\"shortName\":\"Western - Midstream Partners, LP\",\"averageAnalystRating\":\"2.9 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1355149800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"WES\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.13746,\"postMarketChangePercent\":-0.20646754,\"postMarketTime\":1731538953,\"postMarketPrice\":14.5,\"postMarketChange\":-0.029999733,\"regularMarketChange\":-0.0200005,\"regularMarketTime\":1731531602,\"regularMarketPrice\":14.53,\"regularMarketDayHigh\":14.57,\"regularMarketDayRange\":\"14.46 - - 14.57\",\"regularMarketDayLow\":14.46,\"regularMarketVolume\":528653,\"regularMarketPreviousClose\":14.55,\"bid\":14.5,\"ask\":14.55,\"bidSize\":14,\"askSize\":13,\"market\":\"us_market\",\"messageBoardId\":\"finmb_3660976\",\"fullExchangeName\":\"NYSE\",\"longName\":\"PIMCO - Corporate & Income Opportunity Fund\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":14.57,\"averageDailyVolume3Month\":592748,\"averageDailyVolume10Day\":587710,\"fiftyTwoWeekLowChange\":1.5299997,\"fiftyTwoWeekLowChangePercent\":0.117692284,\"fiftyTwoWeekRange\":\"13.0 - - 15.1\",\"fiftyTwoWeekHighChange\":-0.57000065,\"fiftyTwoWeekHighChangePercent\":-0.037748385,\"fiftyTwoWeekChangePercent\":8.110118,\"dividendDate\":1548979200,\"earningsTimestampStart\":1585753140,\"earningsTimestampEnd\":1586361600,\"trailingAnnualDividendRate\":1.426,\"trailingPE\":10.605839,\"dividendRate\":1.43,\"trailingAnnualDividendYield\":0.098006874,\"dividendYield\":9.8,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.37,\"sharesOutstanding\":162714000,\"bookValue\":11.169,\"fiftyDayAverage\":14.455,\"fiftyDayAverageChange\":0.07499981,\"fiftyDayAverageChangePercent\":0.005188503,\"twoHundredDayAverage\":14.3336,\"twoHundredDayAverageChange\":0.19639969,\"twoHundredDayAverageChangePercent\":0.013702049,\"marketCap\":2364234496,\"priceToBook\":1.3009222,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":15.1,\"fiftyTwoWeekLow\":13.0,\"shortName\":\"Pimco - Corporate & Income Opport\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1040913000000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"PTY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.14104,\"regularMarketChange\":0.0199995,\"regularMarketTime\":1731531602,\"regularMarketPrice\":14.2,\"regularMarketDayHigh\":14.24,\"regularMarketDayRange\":\"14.1557 - - 14.24\",\"regularMarketDayLow\":14.1557,\"regularMarketVolume\":114228,\"regularMarketPreviousClose\":14.18,\"bid\":14.2,\"ask\":14.22,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_21934596\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Eaton - Vance Tax-Managed Buy-Write Opportunities Fund\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":14.19,\"averageDailyVolume3Month\":169487,\"averageDailyVolume10Day\":156230,\"fiftyTwoWeekLowChange\":2.38,\"fiftyTwoWeekLowChangePercent\":0.20135365,\"fiftyTwoWeekRange\":\"11.82 - - 14.24\",\"fiftyTwoWeekHighChange\":-0.03999996,\"fiftyTwoWeekHighChangePercent\":-0.0028089862,\"fiftyTwoWeekChangePercent\":17.161715,\"dividendDate\":1548892800,\"trailingAnnualDividendRate\":1.152,\"trailingPE\":6.513761,\"dividendRate\":1.19,\"trailingAnnualDividendYield\":0.08124118,\"dividendYield\":8.4,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.18,\"sharesOutstanding\":116755000,\"bookValue\":14.253,\"fiftyDayAverage\":13.7506,\"fiftyDayAverageChange\":0.44939995,\"fiftyDayAverageChangePercent\":0.032682206,\"twoHundredDayAverage\":13.26,\"twoHundredDayAverageChange\":0.9399996,\"twoHundredDayAverageChangePercent\":0.07088986,\"marketCap\":1657921024,\"priceToBook\":0.99628145,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":14.24,\"fiftyTwoWeekLow\":11.82,\"shortName\":\"Eaton - Vance Corporation Eaton V\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1119965400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"ETV\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.79881,\"postMarketChangePercent\":1.5430593,\"postMarketTime\":1731540111,\"postMarketPrice\":102.0,\"postMarketChange\":1.550003,\"regularMarketChange\":-1.84,\"regularMarketTime\":1731531602,\"regularMarketPrice\":100.45,\"regularMarketDayHigh\":102.58,\"regularMarketDayRange\":\"100.45 - - 102.58\",\"regularMarketDayLow\":100.45,\"regularMarketVolume\":640009,\"regularMarketPreviousClose\":102.29,\"bid\":100.06,\"ask\":103.9,\"bidSize\":13,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_4973712\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Stride, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":102.29,\"averageDailyVolume3Month\":1167289,\"averageDailyVolume10Day\":891320,\"fiftyTwoWeekLowChange\":45.639996,\"fiftyTwoWeekLowChangePercent\":0.83269465,\"fiftyTwoWeekRange\":\"54.81 - - 103.98\",\"fiftyTwoWeekHighChange\":-3.5300064,\"fiftyTwoWeekHighChangePercent\":-0.0339489,\"fiftyTwoWeekChangePercent\":75.95026,\"earningsTimestamp\":1729628100,\"earningsTimestampStart\":1737457140,\"earningsTimestampEnd\":1737979200,\"earningsCallTimestampStart\":1729630800,\"earningsCallTimestampEnd\":1729630800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":18.533209,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":5.42,\"epsForward\":7.26,\"epsCurrentYear\":6.52,\"priceEpsCurrentYear\":15.406442,\"sharesOutstanding\":43592500,\"bookValue\":28.336,\"fiftyDayAverage\":83.6458,\"fiftyDayAverageChange\":16.8042,\"fiftyDayAverageChangePercent\":0.20089711,\"twoHundredDayAverage\":71.65005,\"twoHundredDayAverageChange\":28.79995,\"twoHundredDayAverageChangePercent\":0.40195298,\"marketCap\":4459075584,\"forwardPE\":13.836087,\"priceToBook\":3.5449603,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"K12 - Inc.\",\"nameChangeDate\":\"2024-11-08\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":103.98,\"fiftyTwoWeekLow\":54.81,\"shortName\":\"Stride, - Inc.\",\"averageAnalystRating\":\"2.0 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1197556200000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Stride\",\"symbol\":\"LRN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.9675934,\"postMarketChangePercent\":-0.472255,\"postMarketTime\":1731541859,\"postMarketPrice\":8.43,\"postMarketChange\":-0.04,\"regularMarketChange\":-0.17000008,\"regularMarketTime\":1731531601,\"regularMarketPrice\":8.47,\"regularMarketDayHigh\":8.68,\"regularMarketDayRange\":\"8.39 - - 8.68\",\"regularMarketDayLow\":8.39,\"regularMarketVolume\":522157,\"regularMarketPreviousClose\":8.64,\"bid\":8.44,\"ask\":8.51,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_93473\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Immersion - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":8.64,\"averageDailyVolume3Month\":836184,\"averageDailyVolume10Day\":627420,\"fiftyTwoWeekLowChange\":2.2900004,\"fiftyTwoWeekLowChangePercent\":0.37055025,\"fiftyTwoWeekRange\":\"6.18 - - 13.94\",\"fiftyTwoWeekHighChange\":-5.4699993,\"fiftyTwoWeekHighChangePercent\":-0.39239594,\"fiftyTwoWeekChangePercent\":31.521738,\"dividendDate\":1729209600,\"earningsTimestamp\":1724097600,\"earningsTimestampStart\":1731495540,\"earningsTimestampEnd\":1731672000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.165,\"trailingPE\":4.705556,\"dividendRate\":0.18,\"trailingAnnualDividendYield\":0.019097222,\"dividendYield\":2.08,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.8,\"epsForward\":0.55,\"epsCurrentYear\":2.15,\"priceEpsCurrentYear\":3.939535,\"sharesOutstanding\":32182400,\"bookValue\":7.205,\"fiftyDayAverage\":8.6454,\"fiftyDayAverageChange\":-0.17539978,\"fiftyDayAverageChangePercent\":-0.02028822,\"twoHundredDayAverage\":8.8317,\"twoHundredDayAverageChange\":-0.36170006,\"twoHundredDayAverageChangePercent\":-0.040954746,\"marketCap\":273375200,\"forwardPE\":15.400001,\"priceToBook\":1.1755725,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":13.94,\"fiftyTwoWeekLow\":6.18,\"shortName\":\"Immersion - Corporation\",\"averageAnalystRating\":\"2.0 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":942417000000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Immersion\",\"symbol\":\"IMMR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.288287,\"postMarketChangePercent\":1.8227491,\"postMarketTime\":1731541625,\"postMarketPrice\":81.0,\"postMarketChange\":1.449997,\"regularMarketChange\":-0.229996,\"regularMarketTime\":1731531602,\"regularMarketPrice\":79.55,\"regularMarketDayHigh\":81.0,\"regularMarketDayRange\":\"78.5001 - - 81.0\",\"regularMarketDayLow\":78.5001,\"regularMarketVolume\":257831,\"regularMarketPreviousClose\":79.78,\"bid\":75.06,\"ask\":81.01,\"bidSize\":40,\"askSize\":13,\"market\":\"us_market\",\"messageBoardId\":\"finmb_878443\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Banco - Macro S.A.\",\"financialCurrency\":\"ARS\",\"regularMarketOpen\":80.07,\"averageDailyVolume3Month\":278004,\"averageDailyVolume10Day\":272900,\"fiftyTwoWeekLowChange\":60.640003,\"fiftyTwoWeekLowChangePercent\":3.206769,\"fiftyTwoWeekRange\":\"18.91 - - 83.69\",\"fiftyTwoWeekHighChange\":-4.1399994,\"fiftyTwoWeekHighChangePercent\":-0.049468268,\"fiftyTwoWeekChangePercent\":312.38986,\"dividendDate\":1724371200,\"earningsTimestamp\":1724364708,\"earningsTimestampStart\":1732129200,\"earningsTimestampEnd\":1732561200,\"earningsCallTimestampStart\":1724428800,\"earningsCallTimestampEnd\":1724428800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":628.288,\"trailingPE\":10.808424,\"dividendRate\":21.57,\"trailingAnnualDividendYield\":7.8752575,\"dividendYield\":27.04,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":7.36,\"epsForward\":10.12,\"epsCurrentYear\":9.45,\"priceEpsCurrentYear\":8.41799,\"sharesOutstanding\":62817800,\"bookValue\":4993.388,\"fiftyDayAverage\":71.6868,\"fiftyDayAverageChange\":7.863205,\"fiftyDayAverageChangePercent\":0.10968833,\"twoHundredDayAverage\":56.3266,\"twoHundredDayAverageChange\":23.223404,\"twoHundredDayAverageChangePercent\":0.41229907,\"marketCap\":5786435584,\"forwardPE\":7.8606725,\"priceToBook\":0.015931068,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":83.69,\"fiftyTwoWeekLow\":18.91,\"shortName\":\"Banco - Macro S.A.\",\"averageAnalystRating\":\"3.0 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1143469800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Banco - Macro\",\"symbol\":\"BMA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.66052,\"postMarketChangePercent\":0.7504683,\"postMarketTime\":1731542214,\"postMarketPrice\":5.37,\"postMarketChange\":0.03999996,\"regularMarketChange\":-0.0900002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":5.33,\"regularMarketDayHigh\":5.45,\"regularMarketDayRange\":\"5.33 - - 5.45\",\"regularMarketDayLow\":5.33,\"regularMarketVolume\":208431,\"regularMarketPreviousClose\":5.42,\"bid\":5.33,\"ask\":5.43,\"bidSize\":12,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_406029\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Templeton - Emerging Markets Income Fund\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":5.41,\"averageDailyVolume3Month\":133876,\"averageDailyVolume10Day\":156030,\"fiftyTwoWeekLowChange\":0.5499997,\"fiftyTwoWeekLowChangePercent\":0.1150627,\"fiftyTwoWeekRange\":\"4.78 - - 5.94\",\"fiftyTwoWeekHighChange\":-0.61000013,\"fiftyTwoWeekHighChangePercent\":-0.102693625,\"fiftyTwoWeekChangePercent\":9.445583,\"dividendDate\":1551312000,\"trailingAnnualDividendRate\":0.568,\"trailingPE\":8.2,\"dividendRate\":0.57,\"trailingAnnualDividendYield\":0.10479705,\"dividendYield\":10.52,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.65,\"sharesOutstanding\":47228400,\"bookValue\":5.81,\"fiftyDayAverage\":5.6782,\"fiftyDayAverageChange\":-0.34819984,\"fiftyDayAverageChangePercent\":-0.061322223,\"twoHundredDayAverage\":5.45925,\"twoHundredDayAverageChange\":-0.12925005,\"twoHundredDayAverageChangePercent\":-0.023675423,\"marketCap\":251727376,\"priceToBook\":0.9173838,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":5.94,\"fiftyTwoWeekLow\":4.78,\"shortName\":\"Templeton - Emerging Markets Inco\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":748791000000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"TEI\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.0,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731535109,\"postMarketPrice\":4.33,\"postMarketChange\":0.0,\"regularMarketChange\":0.0,\"regularMarketTime\":1731531601,\"regularMarketPrice\":4.33,\"regularMarketDayHigh\":4.4,\"regularMarketDayRange\":\"4.165 - - 4.4\",\"regularMarketDayLow\":4.165,\"regularMarketVolume\":1859800,\"regularMarketPreviousClose\":4.33,\"bid\":3.12,\"ask\":5.4,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_255323\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Berry - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":4.33,\"averageDailyVolume3Month\":1168514,\"averageDailyVolume10Day\":1514010,\"fiftyTwoWeekLowChange\":0.16499996,\"fiftyTwoWeekLowChangePercent\":0.039615836,\"fiftyTwoWeekRange\":\"4.165 - - 8.88\",\"fiftyTwoWeekHighChange\":-4.55,\"fiftyTwoWeekHighChangePercent\":-0.5123874,\"fiftyTwoWeekChangePercent\":-36.041363,\"dividendDate\":1724976000,\"earningsTimestamp\":1730980808,\"earningsTimestampStart\":1730980808,\"earningsTimestampEnd\":1730980808,\"earningsCallTimestampStart\":1730995200,\"earningsCallTimestampEnd\":1730995200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.58,\"trailingPE\":4.009259,\"dividendRate\":0.58,\"trailingAnnualDividendYield\":0.13394919,\"dividendYield\":13.39,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.08,\"epsForward\":0.66,\"epsCurrentYear\":0.65,\"priceEpsCurrentYear\":6.6615386,\"sharesOutstanding\":76939000,\"bookValue\":9.517,\"fiftyDayAverage\":5.2312,\"fiftyDayAverageChange\":-0.9012003,\"fiftyDayAverageChangePercent\":-0.1722741,\"twoHundredDayAverage\":6.5919,\"twoHundredDayAverageChange\":-2.2619,\"twoHundredDayAverageChangePercent\":-0.34313324,\"marketCap\":333917056,\"forwardPE\":6.5606055,\"priceToBook\":0.45497528,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":8.88,\"fiftyTwoWeekLow\":4.165,\"shortName\":\"Berry - Corporation (bry)\",\"averageAnalystRating\":\"2.6 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1531920600000,\"priceHint\":4,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Berry\",\"symbol\":\"BRY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.545815,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731538116,\"postMarketPrice\":85.64,\"postMarketChange\":0.0,\"regularMarketChange\":-0.470001,\"regularMarketTime\":1731531602,\"regularMarketPrice\":85.64,\"regularMarketDayHigh\":87.97,\"regularMarketDayRange\":\"85.24 - - 87.97\",\"regularMarketDayLow\":85.24,\"regularMarketVolume\":216453,\"regularMarketPreviousClose\":86.11,\"bid\":85.78,\"ask\":85.91,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_237656125\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Century - Communities, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":88.04,\"averageDailyVolume3Month\":277174,\"averageDailyVolume10Day\":263470,\"fiftyTwoWeekLowChange\":14.82,\"fiftyTwoWeekLowChangePercent\":0.20926292,\"fiftyTwoWeekRange\":\"70.82 - - 108.42\",\"fiftyTwoWeekHighChange\":-22.779999,\"fiftyTwoWeekHighChangePercent\":-0.21010883,\"fiftyTwoWeekChangePercent\":19.381666,\"dividendDate\":1733875200,\"earningsTimestamp\":1729713914,\"earningsTimestampStart\":1738148340,\"earningsTimestampEnd\":1738584000,\"earningsCallTimestampStart\":1729717200,\"earningsCallTimestampEnd\":1729717200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.01,\"trailingPE\":8.581162,\"dividendRate\":1.04,\"trailingAnnualDividendYield\":0.011729184,\"dividendYield\":1.21,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":9.98,\"epsForward\":12.38,\"epsCurrentYear\":10.37,\"priceEpsCurrentYear\":8.258438,\"sharesOutstanding\":31337100,\"bookValue\":81.294,\"fiftyDayAverage\":96.9968,\"fiftyDayAverageChange\":-11.356804,\"fiftyDayAverageChangePercent\":-0.11708431,\"twoHundredDayAverage\":90.0551,\"twoHundredDayAverageChange\":-4.4151,\"twoHundredDayAverageChangePercent\":-0.049026653,\"marketCap\":2698430720,\"forwardPE\":6.9176087,\"priceToBook\":1.0534602,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":108.42,\"fiftyTwoWeekLow\":70.82,\"shortName\":\"Century - Communities, Inc.\",\"averageAnalystRating\":\"3.0 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1403098200000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Century - Communities\",\"symbol\":\"CCS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-2.46815,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731544872,\"postMarketPrice\":36.75,\"postMarketChange\":0.0,\"regularMarketChange\":-0.93,\"regularMarketTime\":1731531602,\"regularMarketPrice\":36.75,\"regularMarketDayHigh\":37.7053,\"regularMarketDayRange\":\"36.75 - - 37.7053\",\"regularMarketDayLow\":36.75,\"regularMarketVolume\":587533,\"regularMarketPreviousClose\":37.68,\"bid\":37.01,\"ask\":39.12,\"bidSize\":8,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1814625476\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Madison - Square Garden Entertainment Corp.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":37.55,\"averageDailyVolume3Month\":327246,\"averageDailyVolume10Day\":434350,\"fiftyTwoWeekLowChange\":7.1100006,\"fiftyTwoWeekLowChangePercent\":0.23987857,\"fiftyTwoWeekRange\":\"29.64 - - 44.14\",\"fiftyTwoWeekHighChange\":-7.3899994,\"fiftyTwoWeekHighChangePercent\":-0.16742183,\"fiftyTwoWeekChangePercent\":25.391018,\"earningsTimestamp\":1731067210,\"earningsTimestampStart\":1738762200,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1731072600,\"earningsCallTimestampEnd\":1731072600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":10.560345,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.48,\"epsForward\":1.96,\"epsCurrentYear\":1.78,\"priceEpsCurrentYear\":20.646069,\"sharesOutstanding\":41605800,\"bookValue\":-1.005,\"fiftyDayAverage\":41.5278,\"fiftyDayAverageChange\":-4.7778015,\"fiftyDayAverageChangePercent\":-0.11505067,\"twoHundredDayAverage\":38.4463,\"twoHundredDayAverageChange\":-1.6963005,\"twoHundredDayAverageChangePercent\":-0.044121295,\"marketCap\":1826445568,\"forwardPE\":18.75,\"priceToBook\":-36.567165,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Live - Entertainment and MSG Networks Businesses of Madison Square Garden Entertainment - Corp.\",\"nameChangeDate\":\"2024-11-08\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":44.14,\"fiftyTwoWeekLow\":29.64,\"shortName\":\"Madison - Square Garden Entertain\",\"averageAnalystRating\":\"2.1 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1683034200000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Madison - Square Garden Entertainment\",\"symbol\":\"MSGE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-7.476636,\"postMarketChangePercent\":3.0303,\"postMarketTime\":1731541750,\"postMarketPrice\":3.06,\"postMarketChange\":0.0899999,\"regularMarketChange\":-0.24000001,\"regularMarketTime\":1731531600,\"regularMarketPrice\":2.97,\"regularMarketDayHigh\":3.22,\"regularMarketDayRange\":\"2.96 - - 3.22\",\"regularMarketDayLow\":2.96,\"regularMarketVolume\":451427,\"regularMarketPreviousClose\":3.21,\"bid\":2.93,\"ask\":3.01,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_128739842\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Puma - Biotechnology, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":3.21,\"averageDailyVolume3Month\":343396,\"averageDailyVolume10Day\":614540,\"fiftyTwoWeekLowChange\":0.74,\"fiftyTwoWeekLowChangePercent\":0.33183858,\"fiftyTwoWeekRange\":\"2.23 - - 7.73\",\"fiftyTwoWeekHighChange\":-4.76,\"fiftyTwoWeekHighChangePercent\":-0.6157827,\"fiftyTwoWeekChangePercent\":-19.548876,\"earningsTimestamp\":1731013500,\"earningsTimestampStart\":1731013500,\"earningsTimestampEnd\":1731013500,\"earningsCallTimestampStart\":1731015000,\"earningsCallTimestampEnd\":1731015000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":15.631579,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.19,\"epsForward\":0.24,\"epsCurrentYear\":0.26,\"priceEpsCurrentYear\":11.423078,\"sharesOutstanding\":49046700,\"bookValue\":1.449,\"fiftyDayAverage\":2.703,\"fiftyDayAverageChange\":0.26699996,\"fiftyDayAverageChangePercent\":0.09877912,\"twoHundredDayAverage\":3.9743,\"twoHundredDayAverageChange\":-1.0042999,\"twoHundredDayAverageChangePercent\":-0.25269857,\"marketCap\":145790464,\"forwardPE\":12.375,\"priceToBook\":2.0496895,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":7.73,\"fiftyTwoWeekLow\":2.23,\"shortName\":\"Puma - Biotechnology Inc\",\"averageAnalystRating\":\"3.0 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1335274200000,\"priceHint\":4,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Puma - Biotechnology\",\"symbol\":\"PBYI\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":1.17695,\"postMarketChangePercent\":0.46265495,\"postMarketTime\":1731535500,\"postMarketPrice\":76.0,\"postMarketChange\":0.34999847,\"regularMarketChange\":0.880005,\"regularMarketTime\":1731531602,\"regularMarketPrice\":75.65,\"regularMarketDayHigh\":77.11,\"regularMarketDayRange\":\"74.81 - - 77.11\",\"regularMarketDayLow\":74.81,\"regularMarketVolume\":650398,\"regularMarketPreviousClose\":74.77,\"bid\":75.75,\"ask\":79.61,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_263232\",\"fullExchangeName\":\"NYSE\",\"longName\":\"CONMED - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":75.05,\"averageDailyVolume3Month\":405362,\"averageDailyVolume10Day\":561180,\"fiftyTwoWeekLowChange\":14.600002,\"fiftyTwoWeekLowChangePercent\":0.23914827,\"fiftyTwoWeekRange\":\"61.05 - - 117.27\",\"fiftyTwoWeekHighChange\":-41.619995,\"fiftyTwoWeekHighChangePercent\":-0.35490745,\"fiftyTwoWeekChangePercent\":-29.53614,\"dividendDate\":1728000000,\"earningsTimestamp\":1730318700,\"earningsTimestampStart\":1738148340,\"earningsTimestampEnd\":1738584000,\"earningsCallTimestampStart\":1730320200,\"earningsCallTimestampEnd\":1730320200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.8,\"trailingPE\":17.716627,\"dividendRate\":0.8,\"trailingAnnualDividendYield\":0.010699479,\"dividendYield\":1.07,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.27,\"epsForward\":4.84,\"epsCurrentYear\":4.03,\"priceEpsCurrentYear\":18.771711,\"sharesOutstanding\":30890900,\"bookValue\":30.206,\"fiftyDayAverage\":69.8206,\"fiftyDayAverageChange\":5.829399,\"fiftyDayAverageChangePercent\":0.0834911,\"twoHundredDayAverage\":73.07645,\"twoHundredDayAverageChange\":2.573555,\"twoHundredDayAverageChangePercent\":0.035217296,\"marketCap\":2336896512,\"forwardPE\":15.630165,\"priceToBook\":2.5044694,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":117.27,\"fiftyTwoWeekLow\":61.05,\"shortName\":\"CONMED - Corporation\",\"averageAnalystRating\":\"2.2 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":554045400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"CONMED\",\"symbol\":\"CNMD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.0151662,\"postMarketChangePercent\":0.21224892,\"postMarketTime\":1731540115,\"postMarketPrice\":66.1,\"postMarketChange\":0.13999939,\"regularMarketChange\":0.0100021,\"regularMarketTime\":1731531602,\"regularMarketPrice\":65.96,\"regularMarketDayHigh\":66.7499,\"regularMarketDayRange\":\"65.51 - - 66.7499\",\"regularMarketDayLow\":65.51,\"regularMarketVolume\":286770,\"regularMarketPreviousClose\":65.95,\"bid\":65.0,\"ask\":70.0,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_332311\",\"fullExchangeName\":\"NYSE\",\"longName\":\"The - Greenbrier Companies, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":66.5,\"averageDailyVolume3Month\":284803,\"averageDailyVolume10Day\":334670,\"fiftyTwoWeekLowChange\":29.75,\"fiftyTwoWeekLowChangePercent\":0.82159626,\"fiftyTwoWeekRange\":\"36.21 - - 66.75\",\"fiftyTwoWeekHighChange\":-0.7900009,\"fiftyTwoWeekHighChangePercent\":-0.011835219,\"fiftyTwoWeekChangePercent\":79.923615,\"dividendDate\":1732665600,\"earningsTimestamp\":1729714521,\"earningsTimestampStart\":1735911000,\"earningsTimestampEnd\":1736256600,\"earningsCallTimestampStart\":1729717200,\"earningsCallTimestampEnd\":1729717200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.2,\"trailingPE\":13.298387,\"dividendRate\":1.2,\"trailingAnnualDividendYield\":0.018195605,\"dividendYield\":1.82,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.96,\"epsForward\":5.0,\"epsCurrentYear\":4.85,\"priceEpsCurrentYear\":13.6,\"sharesOutstanding\":31340000,\"bookValue\":44.198,\"fiftyDayAverage\":53.5596,\"fiftyDayAverageChange\":12.400398,\"fiftyDayAverageChangePercent\":0.23152521,\"twoHundredDayAverage\":50.6964,\"twoHundredDayAverageChange\":15.263599,\"twoHundredDayAverageChangePercent\":0.30107856,\"marketCap\":2067186432,\"forwardPE\":13.191999,\"priceToBook\":1.4923751,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":66.75,\"fiftyTwoWeekLow\":36.21,\"shortName\":\"Greenbrier - Companies, Inc. (The\",\"averageAnalystRating\":\"2.7 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":774192600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"The - Greenbrier Companies\",\"symbol\":\"GBX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.0779441,\"postMarketChangePercent\":1.2480488,\"postMarketTime\":1731543761,\"postMarketPrice\":12.98,\"postMarketChange\":0.15999985,\"regularMarketChange\":-0.0100002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":12.82,\"regularMarketDayHigh\":12.98,\"regularMarketDayRange\":\"12.72 - - 12.98\",\"regularMarketDayLow\":12.72,\"regularMarketVolume\":414985,\"regularMarketPreviousClose\":12.83,\"bid\":12.65,\"ask\":13.0,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_10336570\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Kayne - Anderson Energy Infrastructure Fund, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":12.94,\"averageDailyVolume3Month\":401415,\"averageDailyVolume10Day\":467320,\"fiftyTwoWeekLowChange\":4.6399994,\"fiftyTwoWeekLowChangePercent\":0.5672371,\"fiftyTwoWeekRange\":\"8.18 - - 13.05\",\"fiftyTwoWeekHighChange\":-0.2300005,\"fiftyTwoWeekHighChangePercent\":-0.017624559,\"fiftyTwoWeekChangePercent\":55.582523,\"dividendDate\":1553817600,\"earningsTimestampStart\":1737666000,\"earningsTimestampEnd\":1738011600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.9,\"trailingPE\":4.259136,\"dividendRate\":0.96,\"trailingAnnualDividendYield\":0.07014809,\"dividendYield\":7.48,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.01,\"epsForward\":2.88,\"sharesOutstanding\":169126000,\"bookValue\":12.599,\"fiftyDayAverage\":11.5496,\"fiftyDayAverageChange\":1.2704,\"fiftyDayAverageChangePercent\":0.10999516,\"twoHundredDayAverage\":10.29445,\"twoHundredDayAverageChange\":2.52555,\"twoHundredDayAverageChangePercent\":0.24533121,\"marketCap\":2169887488,\"forwardPE\":4.451389,\"priceToBook\":1.017541,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Kayne - Anderson MLP/Midstream Investment Company\",\"nameChangeDate\":\"2024-11-08\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":13.05,\"fiftyTwoWeekLow\":8.18,\"shortName\":\"Kayne - Anderson MLP/Midstream In\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1096378200000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Kayne - Anderson Energy Infrastructure Fund\",\"symbol\":\"KYN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.10476787,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731532800,\"postMarketPrice\":400.45,\"postMarketChange\":0.0,\"regularMarketChange\":-0.4199829,\"regularMarketTime\":1731531601,\"regularMarketPrice\":400.45,\"regularMarketDayHigh\":405.0,\"regularMarketDayRange\":\"398.97 - - 405.0\",\"regularMarketDayLow\":398.97,\"regularMarketVolume\":299332,\"regularMarketPreviousClose\":400.87,\"bid\":399.95,\"ask\":401.32,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_36018\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"United - Therapeutics Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":400.02,\"averageDailyVolume3Month\":392354,\"averageDailyVolume10Day\":407020,\"fiftyTwoWeekLowChange\":191.83002,\"fiftyTwoWeekLowChangePercent\":0.9195188,\"fiftyTwoWeekRange\":\"208.62 - - 417.82\",\"fiftyTwoWeekHighChange\":-17.369995,\"fiftyTwoWeekHighChangePercent\":-0.041572914,\"fiftyTwoWeekChangePercent\":76.69769,\"earningsTimestamp\":1730284200,\"earningsTimestampStart\":1730284200,\"earningsTimestampEnd\":1730284200,\"earningsCallTimestampStart\":1730293200,\"earningsCallTimestampEnd\":1730293200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":17.602198,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":22.75,\"epsForward\":27.88,\"epsCurrentYear\":24.5,\"priceEpsCurrentYear\":16.344898,\"sharesOutstanding\":44644500,\"bookValue\":136.743,\"fiftyDayAverage\":361.8492,\"fiftyDayAverageChange\":38.6008,\"fiftyDayAverageChangePercent\":0.10667648,\"twoHundredDayAverage\":297.107,\"twoHundredDayAverageChange\":103.34302,\"twoHundredDayAverageChangePercent\":0.34783098,\"marketCap\":17889984512,\"forwardPE\":14.363344,\"priceToBook\":2.9284863,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":417.82,\"fiftyTwoWeekLow\":208.62,\"shortName\":\"United - Therapeutics Corporation\",\"averageAnalystRating\":\"2.2 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":929626200000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"United - Therapeutics\",\"symbol\":\"UTHR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.816193,\"postMarketChangePercent\":-3.09414,\"postMarketTime\":1731543776,\"postMarketPrice\":29.44,\"postMarketChange\":-0.939999,\"regularMarketChange\":-0.25,\"regularMarketTime\":1731531602,\"regularMarketPrice\":30.38,\"regularMarketDayHigh\":30.99,\"regularMarketDayRange\":\"30.14 - - 30.99\",\"regularMarketDayLow\":30.14,\"regularMarketVolume\":329467,\"regularMarketPreviousClose\":30.63,\"bid\":30.24,\"ask\":31.44,\"bidSize\":9,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_113541117\",\"fullExchangeName\":\"NYSE\",\"longName\":\"REV - Group, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":30.89,\"averageDailyVolume3Month\":636444,\"averageDailyVolume10Day\":568680,\"fiftyTwoWeekLowChange\":15.659999,\"fiftyTwoWeekLowChangePercent\":1.0638586,\"fiftyTwoWeekRange\":\"14.72 - - 31.85\",\"fiftyTwoWeekHighChange\":-1.4700012,\"fiftyTwoWeekHighChangePercent\":-0.046153884,\"fiftyTwoWeekChangePercent\":102.044846,\"dividendDate\":1728604800,\"earningsTimestamp\":1725447600,\"earningsTimestampStart\":1733923800,\"earningsTimestampEnd\":1734355800,\"earningsCallTimestampStart\":1725458400,\"earningsCallTimestampEnd\":1725458400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.2,\"trailingPE\":6.936073,\"dividendRate\":0.2,\"trailingAnnualDividendYield\":0.0065295463,\"dividendYield\":0.65,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.38,\"epsForward\":2.11,\"epsCurrentYear\":1.58,\"priceEpsCurrentYear\":19.227846,\"sharesOutstanding\":51998600,\"bookValue\":7.589,\"fiftyDayAverage\":27.6914,\"fiftyDayAverageChange\":2.6885986,\"fiftyDayAverageChangePercent\":0.097091466,\"twoHundredDayAverage\":24.8923,\"twoHundredDayAverageChange\":5.4876995,\"twoHundredDayAverageChangePercent\":0.22045772,\"marketCap\":1592717056,\"forwardPE\":14.398105,\"priceToBook\":4.0031624,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":31.85,\"fiftyTwoWeekLow\":14.72,\"shortName\":\"REV - Group, Inc.\",\"averageAnalystRating\":\"2.5 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1485527400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"REV\",\"symbol\":\"REVG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.25874,\"postMarketChangePercent\":-0.035399,\"postMarketTime\":1731531620,\"postMarketPrice\":14.12,\"postMarketChange\":-0.00500011,\"regularMarketChange\":-0.18,\"regularMarketTime\":1731531602,\"regularMarketPrice\":14.12,\"regularMarketDayHigh\":14.28,\"regularMarketDayRange\":\"14.05 - - 14.28\",\"regularMarketDayLow\":14.05,\"regularMarketVolume\":501412,\"regularMarketPreviousClose\":14.3,\"bid\":13.77,\"ask\":14.42,\"bidSize\":22,\"askSize\":30,\"market\":\"us_market\",\"messageBoardId\":\"finmb_413394\",\"fullExchangeName\":\"NYSE\",\"longName\":\"TIM - S.A.\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":14.23,\"averageDailyVolume3Month\":516360,\"averageDailyVolume10Day\":632800,\"fiftyTwoWeekLowChange\":0.3800001,\"fiftyTwoWeekLowChangePercent\":0.027656486,\"fiftyTwoWeekRange\":\"13.74 - - 19.14\",\"fiftyTwoWeekHighChange\":-5.0199995,\"fiftyTwoWeekHighChangePercent\":-0.26227793,\"fiftyTwoWeekChangePercent\":-18.850576,\"dividendDate\":1730246400,\"earningsTimestamp\":1730746800,\"earningsTimestampStart\":1738753140,\"earningsTimestampEnd\":1739188800,\"earningsCallTimestampStart\":1730811600,\"earningsCallTimestampEnd\":1730811600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.271,\"trailingPE\":12.495575,\"dividendRate\":0.8,\"trailingAnnualDividendYield\":0.01895105,\"dividendYield\":5.56,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.13,\"epsForward\":1.46,\"epsCurrentYear\":1.27,\"priceEpsCurrentYear\":11.118111,\"sharesOutstanding\":484081984,\"bookValue\":10.326,\"fiftyDayAverage\":15.7214,\"fiftyDayAverageChange\":-1.6014004,\"fiftyDayAverageChangePercent\":-0.10186118,\"twoHundredDayAverage\":16.3873,\"twoHundredDayAverageChange\":-2.2673006,\"twoHundredDayAverageChangePercent\":-0.13835718,\"marketCap\":7004084736,\"forwardPE\":9.671232,\"priceToBook\":1.367422,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"TIM - Participa\xE7\xF5es S.A.\",\"nameChangeDate\":\"2024-11-08\",\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":19.14,\"fiftyTwoWeekLow\":13.74,\"shortName\":\"TIM - S.A.\",\"averageAnalystRating\":\"2.1 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":911226600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"TIM\",\"symbol\":\"TIMB\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.2486567,\"postMarketChangePercent\":-0.65029,\"postMarketTime\":1731534782,\"postMarketPrice\":165.0,\"postMarketChange\":-1.08,\"regularMarketChange\":-2.0999908,\"regularMarketTime\":1731531600,\"regularMarketPrice\":166.08,\"regularMarketDayHigh\":168.61,\"regularMarketDayRange\":\"164.895 - - 168.61\",\"regularMarketDayLow\":164.895,\"regularMarketVolume\":323778,\"regularMarketPreviousClose\":168.18,\"bid\":165.7,\"ask\":166.66,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_518638\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Nexstar - Media Group, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":168.61,\"averageDailyVolume3Month\":291892,\"averageDailyVolume10Day\":502490,\"fiftyTwoWeekLowChange\":24.699997,\"fiftyTwoWeekLowChangePercent\":0.17470644,\"fiftyTwoWeekRange\":\"141.38 - - 191.86\",\"fiftyTwoWeekHighChange\":-25.779999,\"fiftyTwoWeekHighChangePercent\":-0.1343688,\"fiftyTwoWeekChangePercent\":12.726534,\"dividendDate\":1732838400,\"earningsTimestamp\":1730980800,\"earningsTimestampStart\":1730980800,\"earningsTimestampEnd\":1730980800,\"earningsCallTimestampStart\":1730991600,\"earningsCallTimestampEnd\":1730991600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":6.42,\"trailingPE\":9.763668,\"dividendRate\":6.76,\"trailingAnnualDividendYield\":0.03817339,\"dividendYield\":4.02,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":17.01,\"epsForward\":15.49,\"epsCurrentYear\":23.74,\"priceEpsCurrentYear\":6.9957876,\"sharesOutstanding\":31021900,\"bookValue\":70.498,\"fiftyDayAverage\":168.5448,\"fiftyDayAverageChange\":-2.464798,\"fiftyDayAverageChangePercent\":-0.014623993,\"twoHundredDayAverage\":166.81454,\"twoHundredDayAverageChange\":-0.73454285,\"twoHundredDayAverageChangePercent\":-0.00440335,\"marketCap\":5217552896,\"forwardPE\":10.721756,\"priceToBook\":2.3558116,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":191.86,\"fiftyTwoWeekLow\":141.38,\"shortName\":\"Nexstar - Media Group, Inc.\",\"averageAnalystRating\":\"2.0 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1069770600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Nexstar - Media\",\"symbol\":\"NXST\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":3.38078,\"postMarketChangePercent\":0.40160468,\"postMarketTime\":1731538116,\"postMarketPrice\":35.0,\"postMarketChange\":0.13999939,\"regularMarketChange\":1.14,\"regularMarketTime\":1731531602,\"regularMarketPrice\":34.86,\"regularMarketDayHigh\":35.3,\"regularMarketDayRange\":\"33.65 - - 35.3\",\"regularMarketDayLow\":33.65,\"regularMarketVolume\":547399,\"regularMarketPreviousClose\":33.72,\"bid\":33.41,\"ask\":35.58,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_30133\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Dine - Brands Global, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":33.95,\"averageDailyVolume3Month\":627793,\"averageDailyVolume10Day\":589510,\"fiftyTwoWeekLowChange\":6.6100006,\"fiftyTwoWeekLowChangePercent\":0.23398232,\"fiftyTwoWeekRange\":\"28.25 - - 52.05\",\"fiftyTwoWeekHighChange\":-17.189999,\"fiftyTwoWeekHighChangePercent\":-0.33025935,\"fiftyTwoWeekChangePercent\":-22.636486,\"dividendDate\":1728345600,\"earningsTimestamp\":1730894400,\"earningsTimestampStart\":1730894400,\"earningsTimestampEnd\":1730894400,\"earningsCallTimestampStart\":1730901600,\"earningsCallTimestampEnd\":1730901600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":2.04,\"trailingPE\":5.613527,\"dividendRate\":2.04,\"trailingAnnualDividendYield\":0.06049822,\"dividendYield\":6.05,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":6.21,\"epsForward\":5.94,\"epsCurrentYear\":5.82,\"priceEpsCurrentYear\":5.989691,\"sharesOutstanding\":15246500,\"bookValue\":-14.186,\"fiftyDayAverage\":31.3006,\"fiftyDayAverageChange\":3.5594006,\"fiftyDayAverageChangePercent\":0.113716684,\"twoHundredDayAverage\":38.04115,\"twoHundredDayAverageChange\":-3.1811485,\"twoHundredDayAverageChangePercent\":-0.08362388,\"marketCap\":531492992,\"forwardPE\":5.868687,\"priceToBook\":-2.4573524,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":52.05,\"fiftyTwoWeekLow\":28.25,\"shortName\":\"Dine - Brands Global, Inc. Common\",\"averageAnalystRating\":\"2.5 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":679325400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Dine - Brands Global\",\"symbol\":\"DIN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.3292942,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731533762,\"postMarketPrice\":93.83,\"postMarketChange\":0.0,\"regularMarketChange\":-0.30999756,\"regularMarketTime\":1731531600,\"regularMarketPrice\":93.83,\"regularMarketDayHigh\":94.86,\"regularMarketDayRange\":\"93.415 - - 94.86\",\"regularMarketDayLow\":93.415,\"regularMarketVolume\":241480,\"regularMarketPreviousClose\":94.14,\"bid\":93.85,\"ask\":94.01,\"bidSize\":2,\"askSize\":2,\"market\":\"us_market\",\"messageBoardId\":\"finmb_245507\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Visteon - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":94.67,\"averageDailyVolume3Month\":280414,\"averageDailyVolume10Day\":302020,\"fiftyTwoWeekLowChange\":7.060005,\"fiftyTwoWeekLowChangePercent\":0.08136459,\"fiftyTwoWeekRange\":\"86.77 - - 131.7\",\"fiftyTwoWeekHighChange\":-37.869995,\"fiftyTwoWeekHighChangePercent\":-0.28754744,\"fiftyTwoWeekChangePercent\":-20.341284,\"dividendDate\":1453420800,\"earningsTimestamp\":1729767300,\"earningsTimestampStart\":1729767300,\"earningsTimestampEnd\":1729767300,\"earningsCallTimestampStart\":1729774800,\"earningsCallTimestampEnd\":1729774800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":5.1273227,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":18.3,\"epsForward\":9.07,\"epsCurrentYear\":8.42,\"priceEpsCurrentYear\":11.143705,\"sharesOutstanding\":27618900,\"bookValue\":42.935,\"fiftyDayAverage\":92.733,\"fiftyDayAverageChange\":1.0970001,\"fiftyDayAverageChangePercent\":0.011829662,\"twoHundredDayAverage\":105.86605,\"twoHundredDayAverageChange\":-12.036049,\"twoHundredDayAverageChangePercent\":-0.1136913,\"marketCap\":2591481344,\"forwardPE\":10.345095,\"priceToBook\":2.1853964,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":131.7,\"fiftyTwoWeekLow\":86.77,\"shortName\":\"Visteon - Corporation\",\"averageAnalystRating\":\"2.2 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1286285400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Visteon\",\"symbol\":\"VC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.0891683,\"regularMarketChange\":0.0200005,\"regularMarketTime\":1731531602,\"regularMarketPrice\":22.45,\"regularMarketDayHigh\":22.53,\"regularMarketDayRange\":\"22.33 - - 22.53\",\"regularMarketDayLow\":22.33,\"regularMarketVolume\":130950,\"regularMarketPreviousClose\":22.43,\"bid\":22.12,\"ask\":22.75,\"bidSize\":10,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_318159\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Adams - Diversified Equity Fund, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":22.37,\"averageDailyVolume3Month\":206778,\"averageDailyVolume10Day\":224600,\"fiftyTwoWeekLowChange\":5.9800014,\"fiftyTwoWeekLowChangePercent\":0.3630845,\"fiftyTwoWeekRange\":\"16.47 - - 22.58\",\"fiftyTwoWeekHighChange\":-0.12999916,\"fiftyTwoWeekHighChangePercent\":-0.0057572704,\"fiftyTwoWeekChangePercent\":26.907862,\"dividendDate\":1551398400,\"earningsTimestamp\":1729195515,\"earningsTimestampStart\":1729195515,\"earningsTimestampEnd\":1729195515,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.3,\"trailingPE\":4.4106092,\"dividendRate\":1.76,\"trailingAnnualDividendYield\":0.05795809,\"dividendYield\":7.85,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":5.09,\"sharesOutstanding\":111647000,\"bookValue\":23.691,\"fiftyDayAverage\":21.578,\"fiftyDayAverageChange\":0.87200165,\"fiftyDayAverageChangePercent\":0.040411606,\"twoHundredDayAverage\":20.4753,\"twoHundredDayAverageChange\":1.9747009,\"twoHundredDayAverageChangePercent\":0.09644308,\"marketCap\":2506475264,\"priceToBook\":0.9476173,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":22.58,\"fiftyTwoWeekLow\":16.47,\"shortName\":\"Adams - Diversified Equity Fund I\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Adams - Diversified Equity Fund\",\"symbol\":\"ADX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.67969346,\"postMarketChangePercent\":2.02531,\"postMarketTime\":1731541703,\"postMarketPrice\":12.09,\"postMarketChange\":0.24,\"regularMarketChange\":0.07999992,\"regularMarketTime\":1731531601,\"regularMarketPrice\":11.85,\"regularMarketDayHigh\":12.09,\"regularMarketDayRange\":\"11.79 - - 12.09\",\"regularMarketDayLow\":11.79,\"regularMarketVolume\":565406,\"regularMarketPreviousClose\":11.77,\"bid\":10.31,\"ask\":11.88,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_321905\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"EZCORP, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":11.81,\"averageDailyVolume3Month\":464876,\"averageDailyVolume10Day\":411660,\"fiftyTwoWeekLowChange\":4.1300006,\"fiftyTwoWeekLowChangePercent\":0.53497416,\"fiftyTwoWeekRange\":\"7.72 - - 12.23\",\"fiftyTwoWeekHighChange\":-0.37999916,\"fiftyTwoWeekHighChangePercent\":-0.031071069,\"fiftyTwoWeekChangePercent\":42.427887,\"earningsTimestamp\":1731531600,\"earningsTimestampStart\":1738184400,\"earningsTimestampEnd\":1738616400,\"earningsCallTimestampStart\":1731592800,\"earningsCallTimestampEnd\":1731592800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":9.875,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.2,\"epsForward\":1.24,\"epsCurrentYear\":1.13,\"priceEpsCurrentYear\":10.486726,\"sharesOutstanding\":51771900,\"bookValue\":14.641,\"fiftyDayAverage\":11.335,\"fiftyDayAverageChange\":0.51500034,\"fiftyDayAverageChangePercent\":0.045434523,\"twoHundredDayAverage\":10.8067,\"twoHundredDayAverageChange\":1.0433006,\"twoHundredDayAverageChangePercent\":0.09654202,\"marketCap\":648693888,\"forwardPE\":9.556452,\"priceToBook\":0.809371,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":12.23,\"fiftyTwoWeekLow\":7.72,\"shortName\":\"EZCORP, - Inc.\",\"averageAnalystRating\":\"1.5 - Strong Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":683299800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"EZCORP\",\"symbol\":\"EZPW\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.04493,\"postMarketChangePercent\":2.1647298,\"postMarketTime\":1731537409,\"postMarketPrice\":19.35,\"postMarketChange\":0.40999985,\"regularMarketChange\":-0.199999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":18.94,\"regularMarketDayHigh\":19.25,\"regularMarketDayRange\":\"18.81 - - 19.25\",\"regularMarketDayLow\":18.81,\"regularMarketVolume\":103348,\"regularMarketPreviousClose\":19.14,\"bid\":18.24,\"ask\":19.3,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_543556126\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Corporaci\xF3n - Am\xE9rica Airports S.A.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":19.07,\"averageDailyVolume3Month\":141253,\"averageDailyVolume10Day\":146650,\"fiftyTwoWeekLowChange\":8.370001,\"fiftyTwoWeekLowChangePercent\":0.79186386,\"fiftyTwoWeekRange\":\"10.57 - - 19.95\",\"fiftyTwoWeekHighChange\":-1.0100002,\"fiftyTwoWeekHighChangePercent\":-0.050626576,\"fiftyTwoWeekChangePercent\":67.89473,\"earningsTimestamp\":1724272260,\"earningsTimestampStart\":1724272260,\"earningsTimestampEnd\":1724272260,\"earningsCallTimestampStart\":1724331600,\"earningsCallTimestampEnd\":1724331600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":8.531531,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.22,\"epsForward\":2.33,\"epsCurrentYear\":1.125,\"priceEpsCurrentYear\":16.835556,\"sharesOutstanding\":160972000,\"bookValue\":7.792,\"fiftyDayAverage\":17.7326,\"fiftyDayAverageChange\":1.2074013,\"fiftyDayAverageChangePercent\":0.06808936,\"twoHundredDayAverage\":16.7354,\"twoHundredDayAverageChange\":2.2046013,\"twoHundredDayAverageChangePercent\":0.13173282,\"marketCap\":3048809728,\"forwardPE\":8.128756,\"priceToBook\":2.4306984,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":19.95,\"fiftyTwoWeekLow\":10.57,\"shortName\":\"Corporacion - America Airports SA\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1517495400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Corporaci\xF3n - Am\xE9rica Airports\",\"symbol\":\"CAAP\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.6927868,\"postMarketChangePercent\":-0.892859,\"postMarketTime\":1731545921,\"postMarketPrice\":15.54,\"postMarketChange\":-0.14,\"regularMarketChange\":-0.2699995,\"regularMarketTime\":1731531601,\"regularMarketPrice\":15.68,\"regularMarketDayHigh\":15.99,\"regularMarketDayRange\":\"15.61 - - 15.99\",\"regularMarketDayLow\":15.61,\"regularMarketVolume\":380754,\"regularMarketPreviousClose\":15.95,\"bid\":15.63,\"ask\":15.72,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_282655\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Kelly - Services, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":15.94,\"averageDailyVolume3Month\":201725,\"averageDailyVolume10Day\":298030,\"fiftyTwoWeekLowChange\":0.07000065,\"fiftyTwoWeekLowChangePercent\":0.0044843466,\"fiftyTwoWeekRange\":\"15.61 - - 25.27\",\"fiftyTwoWeekHighChange\":-9.59,\"fiftyTwoWeekHighChangePercent\":-0.37950137,\"fiftyTwoWeekChangePercent\":-24.14127,\"dividendDate\":1725408000,\"earningsTimestamp\":1730982602,\"earningsTimestampStart\":1739453400,\"earningsTimestampEnd\":1739799000,\"earningsCallTimestampStart\":1730988000,\"earningsCallTimestampEnd\":1730988000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.3,\"trailingPE\":13.754386,\"dividendRate\":0.3,\"trailingAnnualDividendYield\":0.018808778,\"dividendYield\":1.88,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.14,\"epsForward\":2.66,\"epsCurrentYear\":2.27,\"priceEpsCurrentYear\":6.9074893,\"sharesOutstanding\":32314000,\"bookValue\":36.031,\"fiftyDayAverage\":20.1678,\"fiftyDayAverageChange\":-4.4878006,\"fiftyDayAverageChangePercent\":-0.22252305,\"twoHundredDayAverage\":21.8744,\"twoHundredDayAverageChange\":-6.194399,\"twoHundredDayAverageChangePercent\":-0.2831803,\"marketCap\":568730880,\"forwardPE\":5.894737,\"priceToBook\":0.43518084,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":25.27,\"fiftyTwoWeekLow\":15.61,\"shortName\":\"Kelly - Services, Inc.\",\"averageAnalystRating\":\"2.0 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Kelly - Services\",\"symbol\":\"KELYA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.97739667,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731531714,\"postMarketPrice\":16.53,\"postMarketChange\":0.0,\"regularMarketChange\":0.15999985,\"regularMarketTime\":1731531602,\"regularMarketPrice\":16.53,\"regularMarketDayHigh\":16.61,\"regularMarketDayRange\":\"16.34 - - 16.61\",\"regularMarketDayLow\":16.34,\"regularMarketVolume\":132257,\"regularMarketPreviousClose\":16.37,\"bid\":16.5,\"ask\":16.56,\"bidSize\":1,\"askSize\":2,\"market\":\"us_market\",\"messageBoardId\":\"finmb_26149448\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Carlyle - Secured Lending, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":16.38,\"averageDailyVolume3Month\":188149,\"averageDailyVolume10Day\":212240,\"fiftyTwoWeekLowChange\":1.8860006,\"fiftyTwoWeekLowChangePercent\":0.12878999,\"fiftyTwoWeekRange\":\"14.644 - - 18.74\",\"fiftyTwoWeekHighChange\":-2.209999,\"fiftyTwoWeekHighChangePercent\":-0.11792952,\"fiftyTwoWeekChangePercent\":11.133742,\"dividendDate\":1729123200,\"earningsTimestamp\":1730840400,\"earningsTimestampStart\":1730840400,\"earningsTimestampEnd\":1730840400,\"earningsCallTimestampStart\":1730908800,\"earningsCallTimestampEnd\":1730908800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.57,\"trailingPE\":9.445715,\"dividendRate\":1.8,\"trailingAnnualDividendYield\":0.095907144,\"dividendYield\":11.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.75,\"epsForward\":1.76,\"epsCurrentYear\":1.96,\"priceEpsCurrentYear\":8.433674,\"sharesOutstanding\":50906300,\"bookValue\":16.846,\"fiftyDayAverage\":17.12,\"fiftyDayAverageChange\":-0.59000015,\"fiftyDayAverageChangePercent\":-0.034462623,\"twoHundredDayAverage\":16.952425,\"twoHundredDayAverageChange\":-0.42242432,\"twoHundredDayAverageChangePercent\":-0.024918223,\"marketCap\":841481152,\"forwardPE\":9.392046,\"priceToBook\":0.9812418,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"TCG - BDC, Inc.\",\"nameChangeDate\":\"2024-11-08\",\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":18.74,\"fiftyTwoWeekLow\":14.644,\"shortName\":\"Carlyle - Secured Lending, Inc.\",\"averageAnalystRating\":\"2.8 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1497447000000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Carlyle - Secured Lending\",\"symbol\":\"CGBD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.401072,\"regularMarketChange\":0.0600004,\"regularMarketTime\":1731531602,\"regularMarketPrice\":15.02,\"regularMarketDayHigh\":15.29,\"regularMarketDayRange\":\"14.93 - - 15.29\",\"regularMarketDayLow\":14.93,\"regularMarketVolume\":412223,\"regularMarketPreviousClose\":14.96,\"bid\":15.05,\"ask\":15.06,\"bidSize\":11,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_24766779\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Eaton - Vance Tax-Managed Diversified Equity Income Fund\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":14.97,\"averageDailyVolume3Month\":246690,\"averageDailyVolume10Day\":254060,\"fiftyTwoWeekLowChange\":3.5200005,\"fiftyTwoWeekLowChangePercent\":0.306087,\"fiftyTwoWeekRange\":\"11.5 - - 15.29\",\"fiftyTwoWeekHighChange\":-0.2699995,\"fiftyTwoWeekHighChangePercent\":-0.017658569,\"fiftyTwoWeekChangePercent\":29.930794,\"dividendDate\":1548892800,\"trailingAnnualDividendRate\":0.985,\"trailingPE\":6.0080004,\"dividendRate\":1.19,\"trailingAnnualDividendYield\":0.06584225,\"dividendYield\":8.5,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.5,\"sharesOutstanding\":157388000,\"bookValue\":13.401,\"fiftyDayAverage\":14.5498,\"fiftyDayAverageChange\":0.47020054,\"fiftyDayAverageChangePercent\":0.032316633,\"twoHundredDayAverage\":13.7653,\"twoHundredDayAverageChange\":1.2547007,\"twoHundredDayAverageChangePercent\":0.09114953,\"marketCap\":2363967744,\"priceToBook\":1.1208119,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":15.29,\"fiftyTwoWeekLow\":11.5,\"shortName\":\"Eaton - Vance Tax-Managed Diversi\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1164724200000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"ETY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":0.0721517,\"regularMarketChange\":0.0100002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":13.87,\"regularMarketDayHigh\":13.88,\"regularMarketDayRange\":\"13.8201 - - 13.88\",\"regularMarketDayLow\":13.8201,\"regularMarketVolume\":176917,\"regularMarketPreviousClose\":13.86,\"bid\":13.8,\"ask\":13.9,\"bidSize\":18,\"askSize\":13,\"market\":\"us_market\",\"messageBoardId\":\"finmb_3603521\",\"fullExchangeName\":\"NYSE\",\"longName\":\"PIMCO - Corporate & Income Strategy Fund\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":13.91,\"averageDailyVolume3Month\":189668,\"averageDailyVolume10Day\":207720,\"fiftyTwoWeekLowChange\":1.96,\"fiftyTwoWeekLowChangePercent\":0.16456759,\"fiftyTwoWeekRange\":\"11.91 - - 14.36\",\"fiftyTwoWeekHighChange\":-0.48999977,\"fiftyTwoWeekHighChangePercent\":-0.03412255,\"fiftyTwoWeekChangePercent\":13.595414,\"dividendDate\":1548979200,\"earningsTimestamp\":1727121600,\"earningsTimestampStart\":1727121600,\"earningsTimestampEnd\":1727121600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.35,\"trailingPE\":10.198529,\"dividendRate\":1.35,\"trailingAnnualDividendYield\":0.0974026,\"dividendYield\":9.74,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.36,\"sharesOutstanding\":57728000,\"bookValue\":11.396,\"fiftyDayAverage\":13.9218,\"fiftyDayAverageChange\":-0.051799774,\"fiftyDayAverageChangePercent\":-0.003720767,\"twoHundredDayAverage\":13.4682,\"twoHundredDayAverageChange\":0.40180016,\"twoHundredDayAverageChangePercent\":0.02983325,\"marketCap\":800687360,\"priceToBook\":1.2170937,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":14.36,\"fiftyTwoWeekLow\":11.91,\"shortName\":\"Pimco - Corporate & Income Strate\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1008772200000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"PCN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.07794,\"postMarketChangePercent\":3.0732028,\"postMarketTime\":1731546000,\"postMarketPrice\":36.8899,\"postMarketChange\":1.0998993,\"regularMarketChange\":-0.389999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":35.79,\"regularMarketDayHigh\":36.2613,\"regularMarketDayRange\":\"35.66 - - 36.2613\",\"regularMarketDayLow\":35.66,\"regularMarketVolume\":355294,\"regularMarketPreviousClose\":36.18,\"bid\":35.6,\"ask\":36.97,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_249248\",\"fullExchangeName\":\"NYSE\",\"longName\":\"AllianceBernstein - Holding L.P.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":36.18,\"averageDailyVolume3Month\":255082,\"averageDailyVolume10Day\":325840,\"fiftyTwoWeekLowChange\":8.390001,\"fiftyTwoWeekLowChangePercent\":0.30620444,\"fiftyTwoWeekRange\":\"27.4 - - 38.96\",\"fiftyTwoWeekHighChange\":-3.1699982,\"fiftyTwoWeekHighChangePercent\":-0.08136546,\"fiftyTwoWeekChangePercent\":27.41189,\"dividendDate\":1732147200,\"earningsTimestamp\":1729776600,\"earningsTimestampStart\":1738666740,\"earningsTimestampEnd\":1739188800,\"earningsCallTimestampStart\":1729778400,\"earningsCallTimestampEnd\":1729778400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":3.27,\"trailingPE\":10.40407,\"dividendRate\":2.98,\"trailingAnnualDividendYield\":0.09038143,\"dividendYield\":8.24,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.44,\"epsForward\":3.61,\"epsCurrentYear\":3.08,\"priceEpsCurrentYear\":11.620131,\"sharesOutstanding\":113435000,\"bookValue\":18.496,\"fiftyDayAverage\":35.8218,\"fiftyDayAverageChange\":-0.031799316,\"fiftyDayAverageChangePercent\":-8.877085E-4,\"twoHundredDayAverage\":34.2144,\"twoHundredDayAverageChange\":1.5755997,\"twoHundredDayAverageChangePercent\":0.046050776,\"marketCap\":4104075264,\"forwardPE\":9.914128,\"priceToBook\":1.9350129,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":38.96,\"fiftyTwoWeekLow\":27.4,\"shortName\":\"AllianceBernstein - Holding L.P.\",\"averageAnalystRating\":\"2.1 - Buy\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":577027800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"AllianceBernstein - Holding L.P\",\"symbol\":\"AB\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-1.32979,\"regularMarketChange\":-0.0999999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":7.42,\"regularMarketDayHigh\":7.53,\"regularMarketDayRange\":\"7.41 - - 7.53\",\"regularMarketDayLow\":7.41,\"regularMarketVolume\":300425,\"regularMarketPreviousClose\":7.52,\"bid\":7.36,\"ask\":8.48,\"bidSize\":8,\"askSize\":18,\"market\":\"us_market\",\"messageBoardId\":\"finmb_10698517\",\"fullExchangeName\":\"NYSE\",\"longName\":\"PIMCO - Income Strategy Fund II\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":7.52,\"averageDailyVolume3Month\":286992,\"averageDailyVolume10Day\":325100,\"fiftyTwoWeekLowChange\":0.8200002,\"fiftyTwoWeekLowChangePercent\":0.124242455,\"fiftyTwoWeekRange\":\"6.6 - - 7.77\",\"fiftyTwoWeekHighChange\":-0.3499999,\"fiftyTwoWeekHighChangePercent\":-0.045045033,\"fiftyTwoWeekChangePercent\":10.416662,\"dividendDate\":1548979200,\"earningsTimestamp\":1725480000,\"earningsTimestampStart\":1725480000,\"earningsTimestampEnd\":1725480000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.862,\"dividendRate\":0.86,\"trailingAnnualDividendYield\":0.11462766,\"dividendYield\":11.46,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":-0.05,\"sharesOutstanding\":87827000,\"bookValue\":6.926,\"fiftyDayAverage\":7.5418,\"fiftyDayAverageChange\":-0.121799946,\"fiftyDayAverageChangePercent\":-0.016149983,\"twoHundredDayAverage\":7.3705,\"twoHundredDayAverageChange\":0.04949999,\"twoHundredDayAverageChangePercent\":0.006715961,\"marketCap\":651676352,\"priceToBook\":1.0713254,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":7.77,\"fiftyTwoWeekLow\":6.6,\"shortName\":\"PIMCO - Income Strategy Fund II\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1098883800000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"PFN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.519631,\"postMarketChangePercent\":-0.6964535,\"postMarketTime\":1731539165,\"postMarketPrice\":17.11,\"postMarketChange\":-0.11999893,\"regularMarketChange\":-0.0900002,\"regularMarketTime\":1731531602,\"regularMarketPrice\":17.23,\"regularMarketDayHigh\":17.4235,\"regularMarketDayRange\":\"17.13 - - 17.4235\",\"regularMarketDayLow\":17.13,\"regularMarketVolume\":285047,\"regularMarketPreviousClose\":17.32,\"bid\":17.0,\"ask\":17.42,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_5546978\",\"fullExchangeName\":\"NYSE\",\"longName\":\"The - India Fund, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":17.3,\"averageDailyVolume3Month\":120639,\"averageDailyVolume10Day\":193680,\"fiftyTwoWeekLowChange\":0.6099987,\"fiftyTwoWeekLowChangePercent\":0.03670269,\"fiftyTwoWeekRange\":\"16.62 - - 21.25\",\"fiftyTwoWeekHighChange\":-4.0200005,\"fiftyTwoWeekHighChangePercent\":-0.18917648,\"fiftyTwoWeekChangePercent\":-1.2607455,\"dividendDate\":1547078400,\"earningsTimestamp\":1725620340,\"earningsTimestampStart\":1725620340,\"earningsTimestampEnd\":1725620340,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.7,\"trailingPE\":3.2632573,\"dividendRate\":2.0,\"trailingAnnualDividendYield\":0.09815243,\"dividendYield\":11.55,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":5.28,\"epsForward\":-1.57,\"sharesOutstanding\":37926900,\"bookValue\":19.934,\"fiftyDayAverage\":18.3004,\"fiftyDayAverageChange\":-1.0704002,\"fiftyDayAverageChangePercent\":-0.058490537,\"twoHundredDayAverage\":18.62265,\"twoHundredDayAverageChange\":-1.3926506,\"twoHundredDayAverageChangePercent\":-0.074782625,\"marketCap\":653480448,\"forwardPE\":-10.974522,\"priceToBook\":0.86435235,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":21.25,\"fiftyTwoWeekLow\":16.62,\"shortName\":\"India - Fund, Inc. (The)\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":761322600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"The - India Fund\",\"symbol\":\"IFN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"currency\":\"USD\",\"regularMarketChangePercent\":-0.414293,\"regularMarketChange\":-0.0799999,\"regularMarketTime\":1731531602,\"regularMarketPrice\":19.23,\"regularMarketDayHigh\":19.44,\"regularMarketDayRange\":\"19.2 - - 19.44\",\"regularMarketDayLow\":19.2,\"regularMarketVolume\":64757,\"regularMarketPreviousClose\":19.31,\"bid\":19.05,\"ask\":19.49,\"bidSize\":12,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_7904491\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Eaton - Vance Tax-Advantaged Global Dividend Income Fund\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":19.31,\"averageDailyVolume3Month\":114064,\"averageDailyVolume10Day\":123480,\"fiftyTwoWeekLowChange\":3.29,\"fiftyTwoWeekLowChangePercent\":0.206399,\"fiftyTwoWeekRange\":\"15.94 - - 19.56\",\"fiftyTwoWeekHighChange\":-0.32999992,\"fiftyTwoWeekHighChangePercent\":-0.016871162,\"fiftyTwoWeekChangePercent\":20.488728,\"dividendDate\":1548892800,\"earningsTimestampStart\":1735297140,\"earningsTimestampEnd\":1735646400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.201,\"trailingPE\":6.1242037,\"dividendRate\":1.55,\"trailingAnnualDividendYield\":0.062195756,\"dividendYield\":8.34,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.14,\"sharesOutstanding\":76459000,\"bookValue\":19.678,\"fiftyDayAverage\":19.0766,\"fiftyDayAverageChange\":0.15340042,\"fiftyDayAverageChangePercent\":0.008041288,\"twoHundredDayAverage\":18.41935,\"twoHundredDayAverageChange\":0.8106499,\"twoHundredDayAverageChangePercent\":0.044010777,\"marketCap\":1470306560,\"priceToBook\":0.97723347,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":19.56,\"fiftyTwoWeekLow\":15.94,\"shortName\":\"Eaton - Vance Tax-Advantaged Glob\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1075386600000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"symbol\":\"ETG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"currency\":\"USD\",\"regularMarketChangePercent\":-6.313368,\"postMarketChangePercent\":-6.24742,\"postMarketTime\":1731545996,\"postMarketPrice\":19.0599,\"postMarketChange\":-1.2701,\"regularMarketChange\":-1.3700008,\"regularMarketTime\":1731531600,\"regularMarketPrice\":20.33,\"regularMarketDayHigh\":21.7999,\"regularMarketDayRange\":\"20.28 - - 21.7999\",\"regularMarketDayLow\":20.28,\"regularMarketVolume\":50676456,\"regularMarketPreviousClose\":21.7,\"bid\":20.28,\"ask\":20.39,\"bidSize\":38,\"askSize\":57,\"market\":\"us_market\",\"messageBoardId\":\"finmb_6479558\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Super - Micro Computer, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":21.0149,\"averageDailyVolume3Month\":75080181,\"averageDailyVolume10Day\":87236540,\"fiftyTwoWeekLowChange\":0.12999916,\"fiftyTwoWeekLowChangePercent\":0.006435602,\"fiftyTwoWeekRange\":\"20.2 - - 122.9\",\"fiftyTwoWeekHighChange\":-102.57,\"fiftyTwoWeekHighChangePercent\":-0.83458096,\"fiftyTwoWeekChangePercent\":-28.332216,\"earningsTimestamp\":1730841300,\"earningsTimestampStart\":1737975540,\"earningsTimestampEnd\":1738324800,\"earningsCallTimestampStart\":1730844000,\"earningsCallTimestampEnd\":1730844000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":10.813829,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.88,\"epsForward\":4.24,\"epsCurrentYear\":3.34,\"priceEpsCurrentYear\":6.0868263,\"sharesOutstanding\":585564992,\"bookValue\":9.32,\"fiftyDayAverage\":40.59122,\"fiftyDayAverageChange\":-20.26122,\"fiftyDayAverageChangePercent\":-0.49915278,\"twoHundredDayAverage\":71.22115,\"twoHundredDayAverageChange\":-50.89115,\"twoHundredDayAverageChangePercent\":-0.7145511,\"marketCap\":12706758656,\"forwardPE\":4.7948117,\"priceToBook\":2.1813304,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":122.9,\"fiftyTwoWeekLow\":20.2,\"shortName\":\"Super - Micro Computer, Inc.\",\"averageAnalystRating\":\"2.9 - Hold\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1175175000000,\"priceHint\":2,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"displayName\":\"Super - Micro Computer\",\"symbol\":\"SMCI\"}],\"useRecords\":false}],\"error\":null}}" + string: xbV0f0TLaim + headers: + Age: + - '1' + Connection: + - keep-alive + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=31536000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - private, max-age=60, stale-while-revalidate=30 + content-length: + - '11' + content-type: + - text/plain;charset=utf-8 + date: + - Mon, 20 Jan 2025 22:34:20 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-external-services-api--mtls-production-gq1.finance-k8s:4080/* + x-envoy-upstream-service-time: + - '1' + y-rid: + - 33qpcf5jotjrd + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate, br, zstd + Connection: + - keep-alive + Cookie: + - MOCK_COOKIE + method: GET + uri: https://query2.finance.yahoo.com/v1/finance/screener/predefined/saved?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&defaults=offset&defaults=size&defaults=sortAsc&defaults=sortField&defaults=userId&defaults=userIdType&formatted=false&lang=en-US&offset=0®ion=US&scrIds=undervalued_growth_stocks&size=250 + response: + body: + string: '{"finance":{"result":[{"id":"b597175e-7243-4b42-82da-6811218a0945","title":"Undervalued + Growth Stocks","description":"Stocks with earnings growth rates better than + 25% and relatively low PE and PEG ratios.","canonicalName":"UNDERVALUED_GROWTH_STOCKS","criteriaMeta":{"size":25,"offset":0,"sortField":"eodvolume","sortType":"DESC","quoteType":"EQUITY","criteria":[{"field":"peratio.lasttwelvemonths","subField":null,"operators":["EQ"],"values":[],"labelsSelected":[1],"dependentValues":[]},{"field":"pegratio_5y","subField":null,"operators":["EQ"],"values":[],"labelsSelected":[0],"dependentValues":[]},{"field":"epsgrowth.lasttwelvemonths","subField":null,"operators":["EQ"],"values":[],"labelsSelected":[2,3,4],"dependentValues":[]},{"field":"exchange","subField":null,"operators":["EQ"],"values":[],"labelsSelected":[0,1],"dependentValues":[]}],"topOperator":"AND"},"rawCriteria":"{\"offset\":0,\"size\":25,\"sortType\":\"DESC\",\"sortField\":\"eodvolume\",\"quoteType\":\"EQUITY\",\"query\":{\"operator\":\"and\",\"operands\":[{\"operator\":\"or\",\"operands\":[{\"operator\":\"BTWN\",\"operands\":[\"peratio.lasttwelvemonths\",0,20]}]},{\"operator\":\"or\",\"operands\":[{\"operator\":\"LT\",\"operands\":[\"pegratio_5y\",1]}]},{\"operator\":\"or\",\"operands\":[{\"operator\":\"BTWN\",\"operands\":[\"epsgrowth.lasttwelvemonths\",25,50]},{\"operator\":\"BTWN\",\"operands\":[\"epsgrowth.lasttwelvemonths\",50,100]},{\"operator\":\"GT\",\"operands\":[\"epsgrowth.lasttwelvemonths\",100]}]},{\"operator\":\"or\",\"operands\":[{\"operator\":\"eq\",\"operands\":[\"exchange\",\"NMS\"]},{\"operator\":\"eq\",\"operands\":[\"exchange\",\"NYQ\"]}]}]}}","start":0,"count":25,"total":152,"quotes":[{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":13.999724,"lastClosePriceToNNWCPerShare":-0.44390684279319614,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":61.24,"fiftyTwoWeekLow":34.56,"averageAnalystRating":"2.2 + - Buy","regularMarketChangePercent":-1.67824,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1290090600000,"priceHint":2,"postMarketChangePercent":0.0980954,"postMarketTime":1737161943,"postMarketPrice":51.02,"postMarketChange":0.0499992,"regularMarketChange":-0.869999,"regularMarketTime":1737147602,"regularMarketPrice":50.97,"regularMarketDayHigh":52.1892,"regularMarketDayRange":"50.73 + - 52.1892","regularMarketDayLow":50.73,"regularMarketVolume":7030290,"regularMarketPreviousClose":51.84,"bid":51.02,"ask":51.2,"bidSize":10,"askSize":9,"market":"us_market","messageBoardId":"finmb_61206100","fullExchangeName":"NYSE","longName":"General + Motors Company","financialCurrency":"USD","regularMarketOpen":51.93,"averageDailyVolume3Month":11563518,"averageDailyVolume10Day":8151560,"corporateActions":[],"fiftyTwoWeekLowChange":16.41,"fiftyTwoWeekLowChangePercent":0.47482637,"fiftyTwoWeekRange":"34.56 + - 61.24","fiftyTwoWeekHighChange":-10.27,"fiftyTwoWeekHighChangePercent":-0.16770086,"fiftyTwoWeekChangePercent":44.309174,"dividendDate":1734566400,"earningsTimestamp":1738063800,"earningsTimestampStart":1738063800,"earningsTimestampEnd":1738063800,"earningsCallTimestampStart":1729600200,"earningsCallTimestampEnd":1729600200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.45,"trailingPE":5.4397016,"dividendRate":0.48,"trailingAnnualDividendYield":0.008680555,"dividendYield":0.94,"marketState":"CLOSED","epsTrailingTwelveMonths":9.37,"epsForward":10.57,"epsCurrentYear":10.26779,"priceEpsCurrentYear":4.9640675,"sharesOutstanding":1099600000,"bookValue":64.486,"fiftyDayAverage":53.7346,"fiftyDayAverageChange":-2.7645988,"fiftyDayAverageChangePercent":-0.05144914,"twoHundredDayAverage":48.18415,"twoHundredDayAverageChange":2.7858505,"twoHundredDayAverageChangePercent":0.05781674,"marketCap":56046612480,"forwardPE":4.8221383,"priceToBook":0.79040414,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"General + Motors Company","symbol":"GM"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":14.124679,"lastClosePriceToNNWCPerShare":-0.972402163657841,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":20.4,"fiftyTwoWeekLow":13.79,"averageAnalystRating":"1.5 + - Strong Buy","regularMarketChangePercent":0.197535,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1138977000000,"priceHint":2,"postMarketChangePercent":0.29570952,"postMarketTime":1737161969,"postMarketPrice":20.35,"postMarketChange":0.059999466,"regularMarketChange":0.0400009,"regularMarketTime":1737147602,"regularMarketPrice":20.29,"regularMarketDayHigh":20.4,"regularMarketDayRange":"20.1114 + - 20.4","regularMarketDayLow":20.1114,"regularMarketVolume":14179260,"regularMarketPreviousClose":20.25,"bid":20.31,"ask":20.36,"bidSize":30,"askSize":18,"market":"us_market","messageBoardId":"finmb_23812789","fullExchangeName":"NYSE","longName":"Energy + Transfer LP","financialCurrency":"USD","regularMarketOpen":20.31,"averageDailyVolume3Month":15662870,"averageDailyVolume10Day":14385380,"corporateActions":[],"fiftyTwoWeekLowChange":6.500001,"fiftyTwoWeekLowChangePercent":0.47135612,"fiftyTwoWeekRange":"13.79 + - 20.4","fiftyTwoWeekHighChange":-0.1099987,"fiftyTwoWeekHighChangePercent":-0.005392093,"fiftyTwoWeekChangePercent":46.18156,"dividendDate":1731974400,"earningsTimestamp":1739307600,"earningsTimestampStart":1739307600,"earningsTimestampEnd":1739307600,"earningsCallTimestampStart":1739309400,"earningsCallTimestampEnd":1739309400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":1.275,"trailingPE":14.919118,"dividendRate":1.29,"trailingAnnualDividendYield":0.062962964,"dividendYield":6.36,"marketState":"CLOSED","epsTrailingTwelveMonths":1.36,"epsForward":1.58,"epsCurrentYear":1.32088,"priceEpsCurrentYear":15.360971,"sharesOutstanding":3423920128,"bookValue":9.157,"fiftyDayAverage":18.8354,"fiftyDayAverageChange":1.4546013,"fiftyDayAverageChangePercent":0.077227,"twoHundredDayAverage":16.6964,"twoHundredDayAverageChange":3.5936012,"twoHundredDayAverageChangePercent":0.2152321,"marketCap":69471338496,"forwardPE":12.841772,"priceToBook":2.2157915,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Energy + Transfer LP","symbol":"ET"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":7.560951,"lastClosePriceToNNWCPerShare":-0.7007193391828083,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":36.05,"fiftyTwoWeekLow":20.32,"averageAnalystRating":"2.6 + - Hold","regularMarketChangePercent":-2.9821074,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":295623000000,"priceHint":2,"postMarketChangePercent":0.245899,"postMarketTime":1737161445,"postMarketPrice":24.46,"postMarketChange":0.0599995,"regularMarketChange":-0.75,"regularMarketTime":1737147601,"regularMarketPrice":24.4,"regularMarketDayHigh":25.27,"regularMarketDayRange":"24.19 + - 25.27","regularMarketDayLow":24.19,"regularMarketVolume":9424739,"regularMarketPreviousClose":25.15,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_169838","fullExchangeName":"NasdaqGS","longName":"APA + Corporation","financialCurrency":"USD","regularMarketOpen":25.2,"averageDailyVolume3Month":6605503,"averageDailyVolume10Day":6483150,"corporateActions":[{"header":"Dividend","message":"APA + announced a cash dividend of 0.25 with an ex-date of Jan. 22, 2025","meta":{"eventType":"DIVIDEND","dateEpochMs":1737522000000,"amount":"0.25"}}],"fiftyTwoWeekLowChange":4.08,"fiftyTwoWeekLowChangePercent":0.2007874,"fiftyTwoWeekRange":"20.32 + - 36.05","fiftyTwoWeekHighChange":-11.65,"fiftyTwoWeekHighChangePercent":-0.32316226,"fiftyTwoWeekChangePercent":-20.54705,"dividendDate":1740096000,"earningsTimestamp":1730934067,"earningsTimestampStart":1739998800,"earningsTimestampEnd":1740430800,"earningsCallTimestampStart":1730995200,"earningsCallTimestampEnd":1730995200,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":1.0,"trailingPE":3.465909,"dividendRate":1.0,"trailingAnnualDividendYield":0.03976143,"dividendYield":4.1,"marketState":"CLOSED","epsTrailingTwelveMonths":7.04,"epsForward":2.75,"epsCurrentYear":4.05631,"priceEpsCurrentYear":6.015319,"sharesOutstanding":369947008,"bookValue":13.825,"fiftyDayAverage":22.64,"fiftyDayAverageChange":1.7600002,"fiftyDayAverageChangePercent":0.07773853,"twoHundredDayAverage":27.1882,"twoHundredDayAverageChange":-2.7882004,"twoHundredDayAverageChangePercent":-0.102551855,"marketCap":9026706432,"forwardPE":8.872727,"priceToBook":1.7649186,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"Apache + Corporation","nameChangeDate":"2025-01-20","shortName":"APA Corporation","displayName":"APA","symbol":"APA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":11.463369,"lastClosePriceToNNWCPerShare":-4.186975526270498,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":10.82,"fiftyTwoWeekLow":4.75,"averageAnalystRating":"2.2 + - Buy","regularMarketChangePercent":0.782022,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":353687400000,"priceHint":2,"postMarketChangePercent":-0.00291375,"postMarketTime":1737161963,"postMarketPrice":10.3097,"postMarketChange":-3.00407E-4,"regularMarketChange":0.0800009,"regularMarketTime":1737147602,"regularMarketPrice":10.31,"regularMarketDayHigh":10.41,"regularMarketDayRange":"10.0601 + - 10.41","regularMarketDayLow":10.0601,"regularMarketVolume":21213410,"regularMarketPreviousClose":10.23,"bid":10.06,"ask":10.31,"bidSize":215,"askSize":369,"market":"us_market","messageBoardId":"finmb_297179","fullExchangeName":"NYSE","longName":"Kinross + Gold Corporation","financialCurrency":"USD","regularMarketOpen":10.16,"averageDailyVolume3Month":17535945,"averageDailyVolume10Day":21970440,"corporateActions":[],"fiftyTwoWeekLowChange":5.5600004,"fiftyTwoWeekLowChangePercent":1.1705264,"fiftyTwoWeekRange":"4.75 + - 10.82","fiftyTwoWeekHighChange":-0.5099993,"fiftyTwoWeekHighChangePercent":-0.04713487,"fiftyTwoWeekChangePercent":89.522064,"dividendDate":1733961600,"earningsTimestamp":1739394000,"earningsTimestampStart":1739394000,"earningsTimestampEnd":1739394000,"earningsCallTimestampStart":1739451600,"earningsCallTimestampEnd":1739451600,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.12,"trailingPE":17.183332,"dividendRate":0.12,"trailingAnnualDividendYield":0.011730205,"dividendYield":1.16,"marketState":"CLOSED","epsTrailingTwelveMonths":0.6,"epsForward":0.88,"epsCurrentYear":0.72872,"priceEpsCurrentYear":14.148096,"sharesOutstanding":1229049984,"bookValue":5.407,"fiftyDayAverage":9.8232,"fiftyDayAverageChange":0.4868002,"fiftyDayAverageChangePercent":0.04955617,"twoHundredDayAverage":8.8031,"twoHundredDayAverageChange":1.5069008,"twoHundredDayAverageChangePercent":0.17117843,"marketCap":12728417280,"forwardPE":11.71591,"priceToBook":1.9067875,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Kinross + Gold Corporation","displayName":"Kinross Gold","symbol":"KGC"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":8.71903,"lastClosePriceToNNWCPerShare":-3.741163210534129,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":19.98,"fiftyTwoWeekLow":12.52,"averageAnalystRating":"2.0 + - Buy","regularMarketChangePercent":-0.4779615,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1485959400000,"priceHint":2,"postMarketChangePercent":0.0,"postMarketTime":1737149498,"postMarketPrice":18.74,"postMarketChange":0.0,"regularMarketChange":-0.09000015,"regularMarketTime":1737147601,"regularMarketPrice":18.74,"regularMarketDayHigh":19.16,"regularMarketDayRange":"18.72 + - 19.16","regularMarketDayLow":18.72,"regularMarketVolume":428819,"regularMarketPreviousClose":18.83,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_34999","fullExchangeName":"NasdaqGS","longName":"Laureate + Education, Inc.","financialCurrency":"USD","regularMarketOpen":19.16,"averageDailyVolume3Month":635829,"averageDailyVolume10Day":503290,"corporateActions":[],"fiftyTwoWeekLowChange":6.2199993,"fiftyTwoWeekLowChangePercent":0.49680504,"fiftyTwoWeekRange":"12.52 + - 19.98","fiftyTwoWeekHighChange":-1.2399998,"fiftyTwoWeekHighChangePercent":-0.06206205,"fiftyTwoWeekChangePercent":41.00828,"dividendDate":1701302400,"earningsTimestamp":1730374201,"earningsTimestampStart":1740058200,"earningsTimestampEnd":1740403800,"earningsCallTimestampStart":1730377800,"earningsCallTimestampEnd":1730377800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.0,"trailingPE":11.639751,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":1.61,"epsForward":1.41,"epsCurrentYear":1.75,"priceEpsCurrentYear":10.708571,"sharesOutstanding":150684992,"bookValue":5.957,"fiftyDayAverage":18.6064,"fiftyDayAverageChange":0.13360023,"fiftyDayAverageChangePercent":0.007180338,"twoHundredDayAverage":16.08145,"twoHundredDayAverageChange":2.6585503,"twoHundredDayAverageChangePercent":0.16531782,"marketCap":2823836672,"forwardPE":13.29078,"priceToBook":3.1458788,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Laureate + Education, Inc.","displayName":"Laureate Education","symbol":"LAUR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":14.335158,"lastClosePriceToNNWCPerShare":-3.6508076880435687,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":47.47,"fiftyTwoWeekLow":28.32,"averageAnalystRating":"1.7 + - Buy","regularMarketChangePercent":0.45326805,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":544714200000,"priceHint":2,"postMarketChangePercent":0.709063,"postMarketTime":1737161465,"postMarketPrice":46.87,"postMarketChange":0.329998,"regularMarketChange":0.20999908,"regularMarketTime":1737147601,"regularMarketPrice":46.54,"regularMarketDayHigh":47.47,"regularMarketDayRange":"46.395 + - 47.47","regularMarketDayLow":46.395,"regularMarketVolume":8479649,"regularMarketPreviousClose":46.33,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_425005479","fullExchangeName":"NasdaqGS","longName":"Baker + Hughes Company","financialCurrency":"USD","regularMarketOpen":46.84,"averageDailyVolume3Month":6494026,"averageDailyVolume10Day":6700060,"corporateActions":[],"fiftyTwoWeekLowChange":18.220001,"fiftyTwoWeekLowChangePercent":0.6433616,"fiftyTwoWeekRange":"28.32 + - 47.47","fiftyTwoWeekHighChange":-0.9300003,"fiftyTwoWeekHighChangePercent":-0.019591326,"fiftyTwoWeekChangePercent":50.22595,"dividendDate":1731542400,"earningsTimestamp":1738270800,"earningsTimestampStart":1738270800,"earningsTimestampEnd":1738270800,"earningsCallTimestampStart":1738333800,"earningsCallTimestampEnd":1738333800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.83,"trailingPE":20.869955,"dividendRate":0.84,"trailingAnnualDividendYield":0.017914956,"dividendYield":1.8,"marketState":"CLOSED","epsTrailingTwelveMonths":2.23,"epsForward":2.57,"epsCurrentYear":2.29322,"priceEpsCurrentYear":20.294607,"sharesOutstanding":989526016,"bookValue":16.368,"fiftyDayAverage":42.7068,"fiftyDayAverageChange":3.8332024,"fiftyDayAverageChangePercent":0.08975626,"twoHundredDayAverage":36.57645,"twoHundredDayAverageChange":9.963551,"twoHundredDayAverageChangePercent":0.27240342,"marketCap":46052540416,"forwardPE":18.10895,"priceToBook":2.843353,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-12-07","shortName":"Baker + Hughes Company","symbol":"BKR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":12.445099,"lastClosePriceToNNWCPerShare":-2.4234152024974462,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":39.91,"fiftyTwoWeekLow":27.655,"averageAnalystRating":"2.3 + - Buy","regularMarketChangePercent":0.061126087,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":727453800000,"priceHint":2,"postMarketChangePercent":0.0351176,"postMarketTime":1737161405,"postMarketPrice":32.7515,"postMarketChange":0.0114975,"regularMarketChange":0.020000458,"regularMarketTime":1737147602,"regularMarketPrice":32.74,"regularMarketDayHigh":33.18,"regularMarketDayRange":"32.45 + - 33.18","regularMarketDayLow":32.45,"regularMarketVolume":4687277,"regularMarketPreviousClose":32.72,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_355279","fullExchangeName":"NasdaqGS","longName":"Match + Group, Inc.","financialCurrency":"USD","regularMarketOpen":33.05,"averageDailyVolume3Month":4518981,"averageDailyVolume10Day":3904370,"corporateActions":[],"fiftyTwoWeekLowChange":5.085001,"fiftyTwoWeekLowChangePercent":0.18387274,"fiftyTwoWeekRange":"27.655 + - 39.91","fiftyTwoWeekHighChange":-7.169998,"fiftyTwoWeekHighChangePercent":-0.17965418,"fiftyTwoWeekChangePercent":-9.607953,"dividendDate":1737417600,"earningsTimestamp":1738702800,"earningsTimestampStart":1738702800,"earningsTimestampEnd":1738702800,"earningsCallTimestampStart":1738762200,"earningsCallTimestampEnd":1738762200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":14.681615,"dividendRate":0.76,"trailingAnnualDividendYield":0.0,"dividendYield":2.32,"marketState":"CLOSED","epsTrailingTwelveMonths":2.23,"epsForward":2.48,"epsCurrentYear":3.06517,"priceEpsCurrentYear":10.6813,"sharesOutstanding":251091008,"bookValue":-0.349,"fiftyDayAverage":32.2771,"fiftyDayAverageChange":0.46290207,"fiftyDayAverageChangePercent":0.0143415015,"twoHundredDayAverage":33.529774,"twoHundredDayAverageChange":-0.78977203,"twoHundredDayAverageChangePercent":-0.02355435,"marketCap":8220720128,"forwardPE":13.201613,"priceToBook":-93.81089,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Match + Group, Inc.","displayName":"Match","symbol":"MTCH"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":8.607422,"lastClosePriceToNNWCPerShare":-0.3809968711224685,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":6.58,"fiftyTwoWeekLow":2.62,"averageAnalystRating":"1.7 + - Buy","regularMarketChangePercent":-1.91257,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1305120600000,"priceHint":4,"postMarketChangePercent":0.81059,"postMarketTime":1737161243,"postMarketPrice":3.6191,"postMarketChange":0.0291002,"regularMarketChange":-0.0700002,"regularMarketTime":1737147602,"regularMarketPrice":3.59,"regularMarketDayHigh":3.69,"regularMarketDayRange":"3.545 + - 3.69","regularMarketDayLow":3.545,"regularMarketVolume":4480241,"regularMarketPreviousClose":3.66,"bid":3.56,"ask":3.62,"bidSize":215,"askSize":40,"market":"us_market","messageBoardId":"finmb_8955572","fullExchangeName":"NYSE","longName":"Kosmos + Energy Ltd.","financialCurrency":"USD","regularMarketOpen":3.67,"averageDailyVolume3Month":9460109,"averageDailyVolume10Day":6965510,"corporateActions":[],"fiftyTwoWeekLowChange":0.97,"fiftyTwoWeekLowChangePercent":0.37022904,"fiftyTwoWeekRange":"2.62 + - 6.58","fiftyTwoWeekHighChange":-2.99,"fiftyTwoWeekHighChangePercent":-0.4544073,"fiftyTwoWeekChangePercent":-42.559998,"dividendDate":1585180800,"earningsTimestamp":1740403800,"earningsTimestampStart":1740403800,"earningsTimestampEnd":1740403800,"earningsCallTimestampStart":1740412800,"earningsCallTimestampEnd":1740412800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":7.977778,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":0.45,"epsForward":0.67,"epsCurrentYear":0.525,"priceEpsCurrentYear":6.838095,"sharesOutstanding":471895008,"bookValue":2.537,"fiftyDayAverage":3.615,"fiftyDayAverageChange":-0.025000095,"fiftyDayAverageChangePercent":-0.0069156555,"twoHundredDayAverage":4.7595,"twoHundredDayAverageChange":-1.1695001,"twoHundredDayAverageChangePercent":-0.2457191,"marketCap":1694103040,"forwardPE":5.3582087,"priceToBook":1.4150572,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Kosmos + Energy Ltd.","displayName":"Kosmos Energy","symbol":"KOS"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":9.182962,"lastClosePriceToNNWCPerShare":-2.0526120275765702,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":6.37,"fiftyTwoWeekLow":2.28,"averageAnalystRating":"2.4 + - Buy","regularMarketChangePercent":2.38532,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1058275800000,"priceHint":2,"postMarketChangePercent":0.177421,"postMarketTime":1737161962,"postMarketPrice":5.5899,"postMarketChange":0.00990009,"regularMarketChange":0.13,"regularMarketTime":1737147602,"regularMarketPrice":5.58,"regularMarketDayHigh":5.66,"regularMarketDayRange":"5.32 + - 5.66","regularMarketDayLow":5.32,"regularMarketVolume":11314741,"regularMarketPreviousClose":5.45,"bid":5.58,"ask":5.6,"bidSize":215,"askSize":270,"market":"us_market","messageBoardId":"finmb_880318","fullExchangeName":"NYSE","longName":"IAMGOLD + Corporation","financialCurrency":"USD","regularMarketOpen":5.36,"averageDailyVolume3Month":7978834,"averageDailyVolume10Day":11626530,"corporateActions":[],"fiftyTwoWeekLowChange":3.3,"fiftyTwoWeekLowChangePercent":1.4473684,"fiftyTwoWeekRange":"2.28 + - 6.37","fiftyTwoWeekHighChange":-0.78999996,"fiftyTwoWeekHighChangePercent":-0.12401883,"fiftyTwoWeekChangePercent":142.60869,"dividendDate":1373587200,"earningsTimestamp":1740085200,"earningsTimestampStart":1740085200,"earningsTimestampEnd":1740085200,"earningsCallTimestampStart":1740144600,"earningsCallTimestampEnd":1740144600,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":4.133333,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":1.35,"epsForward":0.8,"epsCurrentYear":0.57418,"priceEpsCurrentYear":9.718206,"sharesOutstanding":571200000,"bookValue":5.699,"fiftyDayAverage":5.388,"fiftyDayAverageChange":0.19199991,"fiftyDayAverageChangePercent":0.035634726,"twoHundredDayAverage":4.65425,"twoHundredDayAverageChange":0.9257498,"twoHundredDayAverageChangePercent":0.19890417,"marketCap":3209699584,"forwardPE":6.975,"priceToBook":0.9791191,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Iamgold + Corporation","displayName":"IAMGOLD","symbol":"IAG"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastClosePriceToNNWCPerShare":-0.3216772163774227,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":69.386,"fiftyTwoWeekLow":36.85,"averageAnalystRating":"1.9 + - Buy","regularMarketChangePercent":1.38623,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1406813400000,"priceHint":2,"postMarketChangePercent":-1.4254594,"postMarketTime":1737160499,"postMarketPrice":67.77,"postMarketChange":-0.98000336,"regularMarketChange":0.940002,"regularMarketTime":1737147602,"regularMarketPrice":68.75,"regularMarketDayHigh":69.0,"regularMarketDayRange":"67.45 + - 69.0","regularMarketDayLow":67.45,"regularMarketVolume":2326362,"regularMarketPreviousClose":67.81,"bid":68.75,"ask":69.8,"bidSize":9,"askSize":9,"market":"us_market","messageBoardId":"finmb_260334235","fullExchangeName":"NYSE","longName":"Synchrony + Financial","financialCurrency":"USD","regularMarketOpen":68.2,"averageDailyVolume3Month":3456213,"averageDailyVolume10Day":2519140,"corporateActions":[],"fiftyTwoWeekLowChange":31.900002,"fiftyTwoWeekLowChangePercent":0.8656717,"fiftyTwoWeekRange":"36.85 + - 69.386","fiftyTwoWeekHighChange":-0.6360016,"fiftyTwoWeekHighChangePercent":-0.009166137,"fiftyTwoWeekChangePercent":82.02277,"dividendDate":1731628800,"earningsTimestamp":1738062000,"earningsTimestampStart":1738062000,"earningsTimestampEnd":1738062000,"earningsCallTimestampStart":1738069200,"earningsCallTimestampEnd":1738069200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":1.0,"trailingPE":8.928572,"dividendRate":1.0,"trailingAnnualDividendYield":0.014747088,"dividendYield":1.45,"marketState":"CLOSED","epsTrailingTwelveMonths":7.7,"epsForward":6.47,"epsCurrentYear":6.59823,"priceEpsCurrentYear":10.419461,"sharesOutstanding":389344000,"bookValue":37.916,"fiftyDayAverage":66.037,"fiftyDayAverageChange":2.7129974,"fiftyDayAverageChangePercent":0.04108299,"twoHundredDayAverage":51.9896,"twoHundredDayAverageChange":16.760399,"twoHundredDayAverageChangePercent":0.32237983,"marketCap":26767400960,"forwardPE":10.625966,"priceToBook":1.8132187,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Synchrony + Financial","symbol":"SYF"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":11.597969,"lastClosePriceToNNWCPerShare":-3.253018715740947,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":20.6,"fiftyTwoWeekLow":15.87,"averageAnalystRating":"1.7 + - Buy","regularMarketChangePercent":-0.055742636,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":203866200000,"priceHint":2,"postMarketChangePercent":0.557727,"postMarketTime":1737161356,"postMarketPrice":18.03,"postMarketChange":0.1,"regularMarketChange":-0.010000229,"regularMarketTime":1737147601,"regularMarketPrice":17.93,"regularMarketDayHigh":18.115,"regularMarketDayRange":"17.805 + - 18.115","regularMarketDayLow":17.805,"regularMarketVolume":2398607,"regularMarketPreviousClose":17.94,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_31197","fullExchangeName":"NasdaqGS","longName":"Mattel, + Inc.","financialCurrency":"USD","regularMarketOpen":18.08,"averageDailyVolume3Month":3290722,"averageDailyVolume10Day":2658170,"corporateActions":[],"fiftyTwoWeekLowChange":2.0600004,"fiftyTwoWeekLowChangePercent":0.12980469,"fiftyTwoWeekRange":"15.87 + - 20.6","fiftyTwoWeekHighChange":-2.67,"fiftyTwoWeekHighChangePercent":-0.12961166,"fiftyTwoWeekChangePercent":0.7869601,"dividendDate":1505433600,"earningsTimestamp":1738703100,"earningsTimestampStart":1738703100,"earningsTimestampEnd":1738703100,"earningsCallTimestampStart":1738706400,"earningsCallTimestampEnd":1738706400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":11.420382,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":1.57,"epsForward":1.59,"epsCurrentYear":1.45059,"priceEpsCurrentYear":12.360488,"sharesOutstanding":336859008,"bookValue":6.865,"fiftyDayAverage":18.6144,"fiftyDayAverageChange":-0.68440056,"fiftyDayAverageChangePercent":-0.036767263,"twoHundredDayAverage":18.45515,"twoHundredDayAverageChange":-0.5251503,"twoHundredDayAverageChangePercent":-0.028455487,"marketCap":6039882240,"forwardPE":11.27673,"priceToBook":2.611799,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Mattel, + Inc.","displayName":"Mattel","symbol":"MAT"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":10.160892,"lastClosePriceToNNWCPerShare":-0.7119339174984624,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":17.12,"fiftyTwoWeekLow":10.71,"regularMarketChangePercent":2.00462,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1627651800000,"priceHint":2,"postMarketChangePercent":0.151175,"postMarketTime":1737161149,"postMarketPrice":13.25,"postMarketChange":0.0200005,"regularMarketChange":0.259999,"regularMarketTime":1737147602,"regularMarketPrice":13.23,"regularMarketDayHigh":13.26,"regularMarketDayRange":"13.065 + - 13.26","regularMarketDayLow":13.065,"regularMarketVolume":825535,"regularMarketPreviousClose":12.97,"bid":13.0,"ask":13.35,"bidSize":14,"askSize":9,"market":"us_market","messageBoardId":"finmb_30301231","fullExchangeName":"NYSE","longName":"Dole + plc","financialCurrency":"USD","regularMarketOpen":13.09,"averageDailyVolume3Month":499544,"averageDailyVolume10Day":494430,"corporateActions":[],"fiftyTwoWeekLowChange":2.5199995,"fiftyTwoWeekLowChangePercent":0.23529407,"fiftyTwoWeekRange":"10.71 + - 17.12","fiftyTwoWeekHighChange":-3.8900013,"fiftyTwoWeekHighChangePercent":-0.22721969,"fiftyTwoWeekChangePercent":14.347446,"dividendDate":1735862400,"earningsTimestamp":1731495600,"earningsTimestampStart":1740576600,"earningsTimestampEnd":1741008600,"earningsCallTimestampStart":1731502800,"earningsCallTimestampEnd":1731502800,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":0.08,"trailingPE":7.517045,"dividendRate":0.32,"trailingAnnualDividendYield":0.00616808,"dividendYield":2.42,"marketState":"CLOSED","epsTrailingTwelveMonths":1.76,"epsForward":1.42,"epsCurrentYear":1.22704,"priceEpsCurrentYear":10.782043,"sharesOutstanding":95012000,"bookValue":14.629,"fiftyDayAverage":14.4514,"fiftyDayAverageChange":-1.2214003,"fiftyDayAverageChangePercent":-0.084517784,"twoHundredDayAverage":14.11385,"twoHundredDayAverageChange":-0.8838501,"twoHundredDayAverageChangePercent":-0.06262289,"marketCap":1257008768,"forwardPE":9.316901,"priceToBook":0.90436804,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"ipoExpectedDate":"2021-07-30","prevName":"Total + Produce plc","nameChangeDate":"2025-01-20","shortName":"Dole plc","displayName":"Dole","symbol":"DOLE"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastClosePriceToNNWCPerShare":-0.12780368692302166,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":10.85,"fiftyTwoWeekLow":8.92,"averageAnalystRating":"2.1 + - Buy","regularMarketChangePercent":0.6282667,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1210858200000,"priceHint":2,"postMarketChangePercent":0.0,"postMarketTime":1737161879,"postMarketPrice":9.61,"postMarketChange":0.0,"regularMarketChange":0.059999466,"regularMarketTime":1737147601,"regularMarketPrice":9.61,"regularMarketDayHigh":9.65,"regularMarketDayRange":"9.56 + - 9.65","regularMarketDayLow":9.56,"regularMarketVolume":17710255,"regularMarketPreviousClose":9.55,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_41018622","fullExchangeName":"NasdaqGS","longName":"AGNC + Investment Corp.","financialCurrency":"USD","regularMarketOpen":9.58,"averageDailyVolume3Month":19430640,"averageDailyVolume10Day":17971950,"corporateActions":[{"header":"Dividend","message":"AGNC + announced a cash dividend of 0.12 with an ex-date of Jan. 31, 2025","meta":{"eventType":"DIVIDEND","dateEpochMs":1738299600000,"amount":"0.12"}}],"fiftyTwoWeekLowChange":0.6899996,"fiftyTwoWeekLowChangePercent":0.077354215,"fiftyTwoWeekRange":"8.92 + - 10.85","fiftyTwoWeekHighChange":-1.2400007,"fiftyTwoWeekHighChangePercent":-0.114285775,"fiftyTwoWeekChangePercent":-0.9278357,"dividendDate":1739232000,"earningsTimestamp":1738011600,"earningsTimestampStart":1738011600,"earningsTimestampEnd":1738011600,"earningsCallTimestampStart":1738071000,"earningsCallTimestampEnd":1738071000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":1.44,"trailingPE":6.449664,"dividendRate":1.44,"trailingAnnualDividendYield":0.15078534,"dividendYield":14.98,"marketState":"CLOSED","epsTrailingTwelveMonths":1.49,"epsForward":1.73,"epsCurrentYear":1.9712,"priceEpsCurrentYear":4.8752027,"sharesOutstanding":885640000,"bookValue":9.502,"fiftyDayAverage":9.4998,"fiftyDayAverageChange":0.11019993,"fiftyDayAverageChangePercent":0.011600237,"twoHundredDayAverage":9.80435,"twoHundredDayAverageChange":-0.19435024,"twoHundredDayAverageChangePercent":-0.019822858,"marketCap":8511000064,"forwardPE":5.554913,"priceToBook":1.011366,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"AGNC + Investment Corp.","displayName":"AGNC Inv","symbol":"AGNC"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":9.672952,"lastClosePriceToNNWCPerShare":-4.100608609096467,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":21.23,"fiftyTwoWeekLow":13.95,"averageAnalystRating":"2.5 + - Buy","regularMarketChangePercent":3.30688,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":846599400000,"priceHint":2,"postMarketChangePercent":1.02433,"postMarketTime":1737161960,"postMarketPrice":15.78,"postMarketChange":0.16,"regularMarketChange":0.5,"regularMarketTime":1737147602,"regularMarketPrice":15.62,"regularMarketDayHigh":15.645,"regularMarketDayRange":"15.14 + - 15.645","regularMarketDayLow":15.14,"regularMarketVolume":5315024,"regularMarketPreviousClose":15.12,"bid":15.4,"ask":15.84,"bidSize":22,"askSize":8,"market":"us_market","messageBoardId":"finmb_31900","fullExchangeName":"NYSE","longName":"NOV + Inc.","financialCurrency":"USD","regularMarketOpen":15.17,"averageDailyVolume3Month":4021821,"averageDailyVolume10Day":2966250,"corporateActions":[],"fiftyTwoWeekLowChange":1.6700001,"fiftyTwoWeekLowChangePercent":0.11971327,"fiftyTwoWeekRange":"13.95 + - 21.23","fiftyTwoWeekHighChange":-5.6099997,"fiftyTwoWeekHighChangePercent":-0.2642487,"fiftyTwoWeekChangePercent":-21.782673,"dividendDate":1734652800,"earningsTimestamp":1738706400,"earningsTimestampStart":1738706400,"earningsTimestampEnd":1738706400,"earningsCallTimestampStart":1738771200,"earningsCallTimestampEnd":1738771200,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.25,"trailingPE":5.785185,"dividendRate":0.3,"trailingAnnualDividendYield":0.016534392,"dividendYield":1.92,"marketState":"CLOSED","epsTrailingTwelveMonths":2.7,"epsForward":1.56,"epsCurrentYear":1.43445,"priceEpsCurrentYear":10.889191,"sharesOutstanding":389084000,"bookValue":16.613,"fiftyDayAverage":15.3798,"fiftyDayAverageChange":0.24020004,"fiftyDayAverageChangePercent":0.015617891,"twoHundredDayAverage":17.20365,"twoHundredDayAverageChange":-1.5836496,"twoHundredDayAverageChangePercent":-0.09205312,"marketCap":6077492224,"forwardPE":10.012821,"priceToBook":0.94022745,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"prevName":"National + Oilwell Varco, Inc.","nameChangeDate":"2025-01-20","shortName":"NOV Inc.","displayName":"NOV","symbol":"NOV"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":13.073732,"lastClosePriceToNNWCPerShare":-0.1735892940149526,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":89.05,"fiftyTwoWeekLow":64.61,"averageAnalystRating":"1.8 + - Buy","regularMarketChangePercent":1.03621,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":954941400000,"priceHint":2,"postMarketChangePercent":0.0,"postMarketTime":1737161297,"postMarketPrice":86.78,"postMarketChange":0.0,"regularMarketChange":0.889999,"regularMarketTime":1737147602,"regularMarketPrice":86.78,"regularMarketDayHigh":87.39,"regularMarketDayRange":"85.87 + - 87.39","regularMarketDayLow":85.87,"regularMarketVolume":5116201,"regularMarketPreviousClose":85.89,"bid":85.3,"ask":87.46,"bidSize":10,"askSize":12,"market":"us_market","messageBoardId":"finmb_185648","fullExchangeName":"NYSE","longName":"MetLife, + Inc.","financialCurrency":"USD","regularMarketOpen":86.28,"averageDailyVolume3Month":3387049,"averageDailyVolume10Day":3732030,"corporateActions":[{"header":"Dividend","message":"MET + announced a cash dividend of 0.545 with an ex-date of Feb. 4, 2025","meta":{"eventType":"DIVIDEND","dateEpochMs":1738645200000,"amount":"0.545"}}],"fiftyTwoWeekLowChange":22.169998,"fiftyTwoWeekLowChangePercent":0.3431357,"fiftyTwoWeekRange":"64.61 + - 89.05","fiftyTwoWeekHighChange":-2.2700043,"fiftyTwoWeekHighChangePercent":-0.025491344,"fiftyTwoWeekChangePercent":24.863316,"dividendDate":1741651200,"earningsTimestamp":1738789200,"earningsTimestampStart":1738789200,"earningsTimestampEnd":1738789200,"earningsCallTimestampStart":1738850400,"earningsCallTimestampEnd":1738850400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":2.13,"trailingPE":17.602434,"dividendRate":2.18,"trailingAnnualDividendYield":0.024799163,"dividendYield":2.51,"marketState":"CLOSED","epsTrailingTwelveMonths":4.93,"epsForward":9.69,"epsCurrentYear":8.18014,"priceEpsCurrentYear":10.608621,"sharesOutstanding":692419968,"bookValue":44.525,"fiftyDayAverage":83.1618,"fiftyDayAverageChange":3.6182022,"fiftyDayAverageChangePercent":0.043507986,"twoHundredDayAverage":76.8607,"twoHundredDayAverageChange":9.919296,"twoHundredDayAverageChangePercent":0.1290555,"marketCap":60088205312,"forwardPE":8.955625,"priceToBook":1.9490173,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"MetLife, + Inc.","displayName":"MetLife","symbol":"MET"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":14.963644,"lastClosePriceToNNWCPerShare":-2.667757006837193,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":44.45,"fiftyTwoWeekLow":22.57,"averageAnalystRating":"1.7 + - Buy","regularMarketChangePercent":0.7784898,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":764001000000,"priceHint":2,"postMarketChangePercent":0.187261,"postMarketTime":1737157103,"postMarketPrice":42.8,"postMarketChange":0.079998,"regularMarketChange":0.33000183,"regularMarketTime":1737147601,"regularMarketPrice":42.72,"regularMarketDayHigh":42.9,"regularMarketDayRange":"42.32 + - 42.9","regularMarketDayLow":42.32,"regularMarketVolume":2206786,"regularMarketPreviousClose":42.39,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_26510","fullExchangeName":"NasdaqGS","longName":"Flex + Ltd.","financialCurrency":"USD","regularMarketOpen":42.75,"averageDailyVolume3Month":4278522,"averageDailyVolume10Day":2999320,"corporateActions":[],"fiftyTwoWeekLowChange":20.150002,"fiftyTwoWeekLowChangePercent":0.8927781,"fiftyTwoWeekRange":"22.57 + - 44.45","fiftyTwoWeekHighChange":-1.7299995,"fiftyTwoWeekHighChangePercent":-0.038920123,"fiftyTwoWeekChangePercent":84.37635,"earningsTimestamp":1738157400,"earningsTimestampStart":1738157400,"earningsTimestampEnd":1738157400,"earningsCallTimestampStart":1738157400,"earningsCallTimestampEnd":1738157400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":20.538464,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":2.08,"epsForward":2.78,"epsCurrentYear":2.45163,"priceEpsCurrentYear":17.42514,"sharesOutstanding":387783008,"bookValue":12.836,"fiftyDayAverage":39.1494,"fiftyDayAverageChange":3.5706024,"fiftyDayAverageChangePercent":0.091204524,"twoHundredDayAverage":33.0717,"twoHundredDayAverageChange":9.6483,"twoHundredDayAverageChangePercent":0.29173887,"marketCap":16566090752,"forwardPE":15.366907,"priceToBook":3.3281395,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Flex + Ltd.","displayName":"Flex","symbol":"FLEX"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":15.186159,"lastClosePriceToNNWCPerShare":-2.649714670652799,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":270.62,"fiftyTwoWeekLow":169.57,"averageAnalystRating":"2.2 + - Buy","regularMarketChangePercent":-0.757514,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":322151400000,"priceHint":2,"postMarketChangePercent":0.7509857,"postMarketTime":1737161747,"postMarketPrice":245.51,"postMarketChange":1.8300018,"regularMarketChange":-1.86,"regularMarketTime":1737147602,"regularMarketPrice":243.68,"regularMarketDayHigh":246.83,"regularMarketDayRange":"243.63 + - 246.83","regularMarketDayLow":243.63,"regularMarketVolume":1582855,"regularMarketPreviousClose":245.54,"bid":240.55,"ask":245.5,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_33352","fullExchangeName":"NYSE","longName":"The + Progressive Corporation","financialCurrency":"USD","regularMarketOpen":245.73,"averageDailyVolume3Month":2415111,"averageDailyVolume10Day":2487550,"corporateActions":[],"fiftyTwoWeekLowChange":74.109985,"fiftyTwoWeekLowChangePercent":0.43704653,"fiftyTwoWeekRange":"169.57 + - 270.62","fiftyTwoWeekHighChange":-26.940002,"fiftyTwoWeekHighChangePercent":-0.0995492,"fiftyTwoWeekChangePercent":43.105473,"dividendDate":1736985600,"earningsTimestamp":1738148340,"earningsTimestampStart":1738148340,"earningsTimestampEnd":1738148340,"earningsCallTimestampStart":1730817000,"earningsCallTimestampEnd":1730817000,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":1.15,"trailingPE":17.69644,"dividendRate":4.9,"trailingAnnualDividendYield":0.0046835546,"dividendYield":2.01,"marketState":"CLOSED","epsTrailingTwelveMonths":13.77,"epsForward":13.8,"epsCurrentYear":13.49861,"priceEpsCurrentYear":18.052229,"sharesOutstanding":585811008,"bookValue":46.363,"fiftyDayAverage":250.8106,"fiftyDayAverageChange":-7.1306,"fiftyDayAverageChangePercent":-0.028430218,"twoHundredDayAverage":232.04265,"twoHundredDayAverageChange":11.637344,"twoHundredDayAverageChangePercent":0.050151747,"marketCap":142750416896,"forwardPE":17.65797,"priceToBook":5.255915,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Progressive + Corporation (The)","displayName":"The Progressive","symbol":"PGR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":7.138356,"lastClosePriceToNNWCPerShare":-0.4327480757281373,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":12.29,"fiftyTwoWeekLow":5.41,"regularMarketChangePercent":3.27696,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":769181400000,"priceHint":2,"postMarketChangePercent":0.102347,"postMarketTime":1737161889,"postMarketPrice":9.78,"postMarketChange":0.00999928,"regularMarketChange":0.31,"regularMarketTime":1737147602,"regularMarketPrice":9.77,"regularMarketDayHigh":9.87,"regularMarketDayRange":"9.595 + - 9.87","regularMarketDayLow":9.595,"regularMarketVolume":9412263,"regularMarketPreviousClose":9.46,"bid":9.72,"ask":9.85,"bidSize":18,"askSize":40,"market":"us_market","messageBoardId":"finmb_410154","fullExchangeName":"NYSE","longName":"Harmony + Gold Mining Company Limited","financialCurrency":"ZAR","regularMarketOpen":9.69,"averageDailyVolume3Month":5138239,"averageDailyVolume10Day":7520930,"corporateActions":[],"fiftyTwoWeekLowChange":4.3600006,"fiftyTwoWeekLowChangePercent":0.8059151,"fiftyTwoWeekRange":"5.41 + - 12.29","fiftyTwoWeekHighChange":-2.5199995,"fiftyTwoWeekHighChangePercent":-0.20504472,"fiftyTwoWeekChangePercent":74.46429,"dividendDate":1729468800,"earningsTimestamp":1732791540,"earningsTimestampStart":1740567540,"earningsTimestampEnd":1741003200,"earningsCallTimestampStart":1725533940,"earningsCallTimestampEnd":1725533940,"isEarningsDateEstimate":true,"trailingAnnualDividendRate":2.41,"trailingPE":13.569445,"dividendRate":0.17,"trailingAnnualDividendYield":0.25475687,"dividendYield":1.74,"marketState":"CLOSED","epsTrailingTwelveMonths":0.72,"epsForward":1.43,"epsCurrentYear":1.26902,"priceEpsCurrentYear":7.698855,"sharesOutstanding":622068992,"bookValue":65.771,"fiftyDayAverage":9.0534,"fiftyDayAverageChange":0.7166004,"fiftyDayAverageChangePercent":0.07915263,"twoHundredDayAverage":9.46025,"twoHundredDayAverageChange":0.30975056,"twoHundredDayAverageChangePercent":0.03274232,"marketCap":6089377792,"forwardPE":6.8321686,"priceToBook":0.14854571,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Harmony + Gold Mining Company Lim","displayName":"Harmony Gold Mining Company","symbol":"HMY"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastClosePriceToNNWCPerShare":-0.16620736256728416,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":627.0,"fiftyTwoWeekLow":374.24,"averageAnalystRating":"2.2 + - Buy","regularMarketChangePercent":2.1126,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":925824600000,"priceHint":2,"postMarketChangePercent":0.217271,"postMarketTime":1737161979,"postMarketPrice":627.3,"postMarketChange":1.35999,"regularMarketChange":12.95,"regularMarketTime":1737147602,"regularMarketPrice":625.94,"regularMarketDayHigh":626.98,"regularMarketDayRange":"613.33 + - 626.98","regularMarketDayLow":613.33,"regularMarketVolume":2972768,"regularMarketPreviousClose":612.99,"bid":627.05,"ask":628.0,"bidSize":8,"askSize":10,"market":"us_market","messageBoardId":"finmb_398625","fullExchangeName":"NYSE","longName":"The + Goldman Sachs Group, Inc.","financialCurrency":"USD","regularMarketOpen":617.8,"averageDailyVolume3Month":2147945,"averageDailyVolume10Day":2588620,"corporateActions":[],"fiftyTwoWeekLowChange":251.70001,"fiftyTwoWeekLowChangePercent":0.67256314,"fiftyTwoWeekRange":"374.24 + - 627.0","fiftyTwoWeekHighChange":-1.0599976,"fiftyTwoWeekHighChangePercent":-0.0016905862,"fiftyTwoWeekChangePercent":62.177433,"dividendDate":1743120000,"earningsTimestamp":1744633800,"earningsTimestampStart":1744633800,"earningsTimestampEnd":1744633800,"earningsCallTimestampStart":1744637400,"earningsCallTimestampEnd":1744637400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":15.432446,"dividendRate":12.0,"trailingAnnualDividendYield":0.0,"dividendYield":2.1,"marketState":"CLOSED","epsTrailingTwelveMonths":40.56,"epsForward":41.56,"epsCurrentYear":46.58986,"priceEpsCurrentYear":13.435113,"sharesOutstanding":313910016,"bookValue":327.611,"fiftyDayAverage":586.2526,"fiftyDayAverageChange":39.687378,"fiftyDayAverageChangePercent":0.06769672,"twoHundredDayAverage":501.3012,"twoHundredDayAverageChange":124.638794,"twoHundredDayAverageChangePercent":0.24863055,"marketCap":196488839168,"forwardPE":15.061116,"priceToBook":1.9106196,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Goldman + Sachs Group, Inc. (The)","displayName":"The Goldman Sachs","symbol":"GS"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":6.702809,"lastClosePriceToNNWCPerShare":-2.383695988612427,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":77.63,"fiftyTwoWeekLow":46.16,"averageAnalystRating":"2.1 + - Buy","regularMarketChangePercent":0.915209,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":531671400000,"priceHint":2,"postMarketChangePercent":0.0,"postMarketTime":1737153864,"postMarketPrice":74.98,"postMarketChange":0.0,"regularMarketChange":0.68,"regularMarketTime":1737147601,"regularMarketPrice":74.98,"regularMarketDayHigh":75.5,"regularMarketDayRange":"74.4625 + - 75.5","regularMarketDayLow":74.4625,"regularMarketVolume":910404,"regularMarketPreviousClose":74.3,"bid":73.75,"ask":76.53,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_166762","fullExchangeName":"NYSE","longName":"Unum + Group","financialCurrency":"USD","regularMarketOpen":74.53,"averageDailyVolume3Month":1342673,"averageDailyVolume10Day":1179750,"corporateActions":[{"header":"Dividend","message":"UNM + announced a cash dividend of 0.42 with an ex-date of Jan. 24, 2025","meta":{"eventType":"DIVIDEND","dateEpochMs":1737694800000,"amount":"0.42"}}],"fiftyTwoWeekLowChange":28.820004,"fiftyTwoWeekLowChangePercent":0.6243502,"fiftyTwoWeekRange":"46.16 + - 77.63","fiftyTwoWeekHighChange":-2.649994,"fiftyTwoWeekHighChangePercent":-0.03413621,"fiftyTwoWeekChangePercent":60.659958,"dividendDate":1739491200,"earningsTimestamp":1738702800,"earningsTimestampStart":1738702800,"earningsTimestampEnd":1738702800,"earningsCallTimestampStart":1738760400,"earningsCallTimestampEnd":1738760400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":1.57,"trailingPE":8.141151,"dividendRate":1.68,"trailingAnnualDividendYield":0.021130553,"dividendYield":2.24,"marketState":"CLOSED","epsTrailingTwelveMonths":9.21,"epsForward":9.04,"epsCurrentYear":8.58455,"priceEpsCurrentYear":8.734297,"sharesOutstanding":182612000,"bookValue":59.357,"fiftyDayAverage":73.1418,"fiftyDayAverageChange":1.8382034,"fiftyDayAverageChangePercent":0.02513205,"twoHundredDayAverage":59.2203,"twoHundredDayAverageChange":15.759705,"twoHundredDayAverageChangePercent":0.26612,"marketCap":13692248064,"forwardPE":8.294249,"priceToBook":1.2632041,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Unum + Group","displayName":"Unum","symbol":"UNM"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Delayed + Quote","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":9.819319,"lastClosePriceToNNWCPerShare":-3.2641730613912783,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":19.06,"fiftyTwoWeekLow":9.72,"averageAnalystRating":"2.5 + - Buy","regularMarketChangePercent":-0.411801,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1043332200000,"priceHint":2,"postMarketChangePercent":-1.8146102,"postMarketTime":1737154873,"postMarketPrice":14.2467,"postMarketChange":-0.26329994,"regularMarketChange":-0.0599995,"regularMarketTime":1737147602,"regularMarketPrice":14.51,"regularMarketDayHigh":14.665,"regularMarketDayRange":"14.26 + - 14.665","regularMarketDayLow":14.26,"regularMarketVolume":1282278,"regularMarketPreviousClose":14.57,"bid":14.14,"ask":14.51,"bidSize":29,"askSize":10,"market":"us_market","messageBoardId":"finmb_877535","fullExchangeName":"NYSE","longName":"Eldorado + Gold Corporation","financialCurrency":"USD","regularMarketOpen":14.38,"averageDailyVolume3Month":1312572,"averageDailyVolume10Day":1355220,"corporateActions":[],"fiftyTwoWeekLowChange":4.79,"fiftyTwoWeekLowChangePercent":0.49279833,"fiftyTwoWeekRange":"9.72 + - 19.06","fiftyTwoWeekHighChange":-4.549999,"fiftyTwoWeekHighChangePercent":-0.2387198,"fiftyTwoWeekChangePercent":13.982714,"dividendDate":1546214400,"earningsTimestamp":1740085200,"earningsTimestampStart":1740085200,"earningsTimestampEnd":1740085200,"earningsCallTimestampStart":1740155400,"earningsCallTimestampEnd":1740155400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":10.290781,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":1.41,"epsForward":1.78,"epsCurrentYear":1.48,"priceEpsCurrentYear":9.804054,"sharesOutstanding":204910000,"bookValue":18.443,"fiftyDayAverage":15.7382,"fiftyDayAverageChange":-1.2282,"fiftyDayAverageChangePercent":-0.078039415,"twoHundredDayAverage":16.1412,"twoHundredDayAverageChange":-1.6311989,"twoHundredDayAverageChangePercent":-0.101058096,"marketCap":2987463936,"forwardPE":8.151686,"priceToBook":0.78674835,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Eldorado + Gold Corporation","displayName":"Eldorado Gold","symbol":"EGO"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":true,"customPriceAlertConfidence":"HIGH","lastCloseTevEbitLtm":7.752711,"lastClosePriceToNNWCPerShare":-1.1985531896368646,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NMS","fiftyTwoWeekHigh":116.47,"fiftyTwoWeekLow":78.67,"averageAnalystRating":"1.9 + - Buy","regularMarketChangePercent":-0.61394,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":811085400000,"priceHint":2,"postMarketChangePercent":-1.44488,"postMarketTime":1737160744,"postMarketPrice":94.13,"postMarketChange":-1.38,"regularMarketChange":-0.58999634,"regularMarketTime":1737147601,"regularMarketPrice":95.51,"regularMarketDayHigh":96.8445,"regularMarketDayRange":"95.425 + - 96.8445","regularMarketDayLow":95.425,"regularMarketVolume":4619680,"regularMarketPreviousClose":96.1,"bid":0.0,"ask":0.0,"bidSize":0,"askSize":0,"market":"us_market","messageBoardId":"finmb_346919","fullExchangeName":"NasdaqGS","longName":"Arch + Capital Group Ltd.","financialCurrency":"USD","regularMarketOpen":96.4,"averageDailyVolume3Month":1961301,"averageDailyVolume10Day":2258300,"corporateActions":[],"fiftyTwoWeekLowChange":16.840004,"fiftyTwoWeekLowChangePercent":0.21405879,"fiftyTwoWeekRange":"78.67 + - 116.47","fiftyTwoWeekHighChange":-20.96,"fiftyTwoWeekHighChangePercent":-0.17996049,"fiftyTwoWeekChangePercent":18.690193,"dividendDate":1733270400,"earningsTimestamp":1739221200,"earningsTimestampStart":1739221200,"earningsTimestampEnd":1739221200,"earningsCallTimestampStart":1739289600,"earningsCallTimestampEnd":1739289600,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":6.4100676,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":14.9,"epsForward":9.04,"epsCurrentYear":8.83063,"priceEpsCurrentYear":10.8157625,"sharesOutstanding":376241984,"bookValue":57.234,"fiftyDayAverage":95.5778,"fiftyDayAverageChange":-0.0677948,"fiftyDayAverageChangePercent":-7.0931535E-4,"twoHundredDayAverage":100.3778,"twoHundredDayAverageChange":-4.867798,"twoHundredDayAverageChangePercent":-0.048494764,"marketCap":35934871552,"forwardPE":10.565266,"priceToBook":1.6687633,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Arch + Capital Group Ltd.","displayName":"Arch Capital","symbol":"ACGL"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastClosePriceToNNWCPerShare":-0.09460911718645816,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":12.2,"fiftyTwoWeekLow":8.65,"averageAnalystRating":"1.5 + - Strong Buy","regularMarketChangePercent":0.0,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":598199400000,"priceHint":2,"postMarketChangePercent":-0.966316,"postMarketTime":1737155851,"postMarketPrice":10.5867,"postMarketChange":-0.103299,"regularMarketChange":0.0,"regularMarketTime":1737147602,"regularMarketPrice":10.69,"regularMarketDayHigh":10.8,"regularMarketDayRange":"10.605 + - 10.8","regularMarketDayLow":10.605,"regularMarketVolume":2047993,"regularMarketPreviousClose":10.69,"bid":10.65,"ask":10.76,"bidSize":22,"askSize":30,"market":"us_market","messageBoardId":"finmb_199526","fullExchangeName":"NYSE","longName":"Banco + Bilbao Vizcaya Argentaria, S.A.","financialCurrency":"EUR","regularMarketOpen":10.67,"averageDailyVolume3Month":1673114,"averageDailyVolume10Day":2072410,"corporateActions":[],"fiftyTwoWeekLowChange":2.04,"fiftyTwoWeekLowChangePercent":0.23583816,"fiftyTwoWeekRange":"8.65 + - 12.2","fiftyTwoWeekHighChange":-1.5100002,"fiftyTwoWeekHighChangePercent":-0.12377051,"fiftyTwoWeekChangePercent":20.790958,"dividendDate":1729814400,"earningsTimestamp":1738225800,"earningsTimestampStart":1738225800,"earningsTimestampEnd":1738225800,"earningsCallTimestampStart":1730363400,"earningsCallTimestampEnd":1730363400,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.68,"trailingPE":6.478788,"dividendRate":0.75,"trailingAnnualDividendYield":0.06361085,"dividendYield":7.01,"marketState":"CLOSED","epsTrailingTwelveMonths":1.65,"epsForward":1.6,"epsCurrentYear":1.585,"priceEpsCurrentYear":6.744479,"sharesOutstanding":6820389888,"bookValue":9.177,"fiftyDayAverage":9.8794,"fiftyDayAverageChange":0.8105993,"fiftyDayAverageChangePercent":0.082049444,"twoHundredDayAverage":10.3222,"twoHundredDayAverageChange":0.36779976,"twoHundredDayAverageChangePercent":0.035631917,"marketCap":72909963264,"forwardPE":6.6812496,"priceToBook":1.1648686,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Banco + Bilbao Vizcaya Argentaria","displayName":"Banco Bilbao Vizcaya Argentaria","symbol":"BBVA"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastClosePriceToNNWCPerShare":-0.04017737786676078,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":6.06,"fiftyTwoWeekLow":3.75,"averageAnalystRating":"2.5 + - Buy","regularMarketChangePercent":-0.237535,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1254922200000,"priceHint":4,"postMarketChangePercent":-0.235705,"postMarketTime":1737156355,"postMarketPrice":4.1901,"postMarketChange":-0.00989962,"regularMarketChange":-0.0100002,"regularMarketTime":1737147602,"regularMarketPrice":4.2,"regularMarketDayHigh":4.21,"regularMarketDayRange":"4.1401 + - 4.21","regularMarketDayLow":4.1401,"regularMarketVolume":787359,"regularMarketPreviousClose":4.21,"bid":4.15,"ask":4.28,"bidSize":14,"askSize":22,"market":"us_market","messageBoardId":"finmb_34120227","fullExchangeName":"NYSE","longName":"Banco + Santander (Brasil) S.A.","financialCurrency":"BRL","regularMarketOpen":4.17,"averageDailyVolume3Month":545459,"averageDailyVolume10Day":843370,"corporateActions":[{"header":"Dividend","message":"BSBR + announced a cash dividend of 0.066 with an ex-date of Jan. 24, 2025","meta":{"eventType":"DIVIDEND","dateEpochMs":1737694800000,"amount":"0.066"}}],"fiftyTwoWeekLowChange":0.4499998,"fiftyTwoWeekLowChangePercent":0.11999995,"fiftyTwoWeekRange":"3.75 + - 6.06","fiftyTwoWeekHighChange":-1.8600001,"fiftyTwoWeekHighChangePercent":-0.30693072,"fiftyTwoWeekChangePercent":-30.116474,"dividendDate":1740355200,"earningsTimestamp":1738755000,"earningsTimestampStart":1738755000,"earningsTimestampEnd":1738755000,"earningsCallTimestampStart":1738753140,"earningsCallTimestampEnd":1738753140,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.844,"trailingPE":16.153847,"dividendRate":0.29,"trailingAnnualDividendYield":0.20047505,"dividendYield":6.83,"marketState":"CLOSED","epsTrailingTwelveMonths":0.26,"epsForward":0.78,"epsCurrentYear":0.65822,"priceEpsCurrentYear":6.380845,"sharesOutstanding":7460469760,"bookValue":11.899,"fiftyDayAverage":4.2192,"fiftyDayAverageChange":-0.019200325,"fiftyDayAverageChangePercent":-0.0045507024,"twoHundredDayAverage":5.01975,"twoHundredDayAverageChange":-0.8197503,"twoHundredDayAverageChangePercent":-0.163305,"marketCap":31333971968,"forwardPE":5.3846154,"priceToBook":0.3529708,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Banco + Santander Brasil SA","displayName":"Banco Santander (Brasil)","symbol":"BSBR"},{"language":"en-US","region":"US","quoteType":"EQUITY","typeDisp":"Equity","quoteSourceName":"Nasdaq + Real Time Price","triggerable":false,"customPriceAlertConfidence":"LOW","lastCloseTevEbitLtm":6.934437,"lastClosePriceToNNWCPerShare":-1.2739907949490132,"currency":"USD","esgPopulated":false,"tradeable":false,"cryptoTradeable":false,"exchange":"NYQ","fiftyTwoWeekHigh":81.42,"fiftyTwoWeekLow":55.03,"averageAnalystRating":"2.1 + - Buy","regularMarketChangePercent":-0.98616,"hasPrePostMarketData":true,"firstTradeDateMilliseconds":1008253800000,"priceHint":2,"postMarketChangePercent":-0.240966,"postMarketTime":1737161788,"postMarketPrice":62.1,"postMarketChange":-0.150002,"regularMarketChange":-0.619999,"regularMarketTime":1737147602,"regularMarketPrice":62.25,"regularMarketDayHigh":63.13,"regularMarketDayRange":"62.07 + - 63.13","regularMarketDayLow":62.07,"regularMarketVolume":4387651,"regularMarketPreviousClose":62.87,"bid":60.85,"ask":62.25,"bidSize":8,"askSize":8,"market":"us_market","messageBoardId":"finmb_26273","fullExchangeName":"NYSE","longName":"Centene + Corporation","financialCurrency":"USD","regularMarketOpen":62.8,"averageDailyVolume3Month":6185283,"averageDailyVolume10Day":4312290,"corporateActions":[],"fiftyTwoWeekLowChange":7.220001,"fiftyTwoWeekLowChangePercent":0.1312012,"fiftyTwoWeekRange":"55.03 + - 81.42","fiftyTwoWeekHighChange":-19.169998,"fiftyTwoWeekHighChangePercent":-0.23544581,"fiftyTwoWeekChangePercent":-17.187708,"earningsTimestamp":1738666800,"earningsTimestampStart":1738666800,"earningsTimestampEnd":1738666800,"earningsCallTimestampStart":1738675800,"earningsCallTimestampEnd":1738675800,"isEarningsDateEstimate":false,"trailingAnnualDividendRate":0.0,"trailingPE":10.751295,"trailingAnnualDividendYield":0.0,"marketState":"CLOSED","epsTrailingTwelveMonths":5.79,"epsForward":7.04,"epsCurrentYear":6.83075,"priceEpsCurrentYear":9.113201,"sharesOutstanding":504864992,"bookValue":53.535,"fiftyDayAverage":60.236,"fiftyDayAverageChange":2.014,"fiftyDayAverageChangePercent":0.033435155,"twoHundredDayAverage":69.01205,"twoHundredDayAverageChange":-6.762047,"twoHundredDayAverageChangePercent":-0.09798357,"marketCap":31427846144,"forwardPE":8.84233,"priceToBook":1.1627907,"sourceInterval":15,"exchangeDataDelayedBy":0,"exchangeTimezoneName":"America/New_York","exchangeTimezoneShortName":"EST","gmtOffSetMilliseconds":-18000000,"shortName":"Centene + Corporation","displayName":"Centene","symbol":"CNC"}],"useRecords":false,"predefinedScr":true,"versionId":0,"creationDate":1492807394884,"lastUpdated":1492807394884,"isPremium":false,"iconUrl":"https://s.yimg.com/cv/apiv2/fin/img/assets/predefined_screeners/analytics.png"}],"error":null}}' headers: Age: - '0' @@ -605,23 +240,23 @@ interactions: X-XSS-Protection: - 1; mode=block cache-control: - - private, no-cache, no-store + - public, max-age=60, stale-while-revalidate=30 content-encoding: - gzip content-type: - application/json;charset=utf-8 date: - - Thu, 14 Nov 2024 03:49:57 GMT + - Mon, 20 Jan 2025 22:34:21 GMT server: - ATS vary: - Origin,Accept-Encoding x-envoy-decorator-operation: - - finance-screeners--mtls-production-gq1.finance-k8s.svc.yahoo.local:4080/* + - finance-screeners--mtls-production-gq1.finance-k8s:4080/* x-envoy-upstream-service-time: - - '115' + - '63' y-rid: - - 7d2i0i9jjasr5 + - 66qpsc1jotjrd status: code: 200 message: OK diff --git a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_large_caps_fetcher_urllib3_v1.yaml b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_large_caps_fetcher_urllib3_v1.yaml index e213d4663a4..f44f46d102b 100644 --- a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_large_caps_fetcher_urllib3_v1.yaml +++ b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_large_caps_fetcher_urllib3_v1.yaml @@ -1,12 +1,6 @@ interactions: - request: - body: '{"offset": 0, "size": 100, "sortField": "eodvolume", "sortType": "desc", - "quoteType": "equity", "query": {"operator": "and", "operands": [{"operator": - "or", "operands": [{"operator": "BTWN", "operands": ["peratio.lasttwelvemonths", - 0, 20]}]}, {"operator": "lt", "operands": ["pegratio_5y", 1]}, {"operator": - "btwn", "operands": ["intradaymarketcap", 10000000000, 100000000000]}, {"operator": - "or", "operands": [{"operator": "eq", "operands": ["exchange", "NMS"]}, {"operator": - "eq", "operands": ["exchange", "NYQ"]}]}]}, "userId": "", "userIdType": "guid"}' + body: null headers: Accept: - '*/*' @@ -14,684 +8,13 @@ interactions: - gzip, deflate Connection: - keep-alive - Content-Length: - - '556' - Content-Type: - - application/json Cookie: - MOCK_COOKIE - method: POST - uri: https://query2.finance.yahoo.com/v1/finance/screener?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&formatted=false&lang=en-US®ion=US + method: GET + uri: https://query1.finance.yahoo.com/v1/test/getcrumb response: body: - string: !!binary | - H4sIAAAAAAAAAOy923JcR5It+CswPsz0MRP3RHjc+42kWFJZkxJbZKm7bB7aIDIlwQoEeACwqtlt - 56vmbV7Pj427R172jgiPvTMTgAjYsLrNIGQgM/ctYsXy5Wv995Nfzy5OL96vnvzzfz+5Wl1/Pr95 - 8s//938/ub45vcKf1DdP3l9+vsCftMKfby5vTs/pZ/3Nk//5+fJmdc2Dz08vfvt8+hu+x5PVxdO/ - vH3yDb7Vb2eXF/gL/i8e++7LJxrx8l//8ud3f8Vf3uB/f3t2/Yl+9z8/n9182Qx8e/n56v3qh9OP - NPyH0+sPp//z5KfV6fnJu7OPq5M3V2f4bfHPr85++211dfrLOQ779fT8eoXf9fP1zeVHHvHsfHV1 - 8+Ly4tezDys+vCevfvy3JzTk6gp/8YW/2rf5m34+P716fXr1t9XNi9/xUFZvVvj5dNBqwIP+dHl9 - I72alIrGj8fQd8QzFIx21qUYxq/lr/7PWg9a1+/Lb6gS/oPY/Frr7zN5ZfRxRnvripdHn1i88u3p - l+/Pfvs9vxbqF3/Kn/gEX1Zw8vSEh5WnC8e9uvwHv4eC4rWfL88/03czMaoQQ6q+2ervZ5efr1+c - X15vv+EvZx82P55e/217pvDXb8/+i94rWX4l/5cF882Tj/xu+EU/X//H+mf85er6Gu/H55enVx/+ - jG9JN/nHX/5DK2+Mw9d//Xx+/vI/3/NZ3dxnf337El85v7z4bf2bP11efTh5fXlzeXXy4vLjp9ML - ukHz03J2ev6iex/9+Gl1kb8+npbTv+Nt+tvq29Oz8y/5rJjXlxc3eO6d8ikYOox6jFZ4dnFIiE4l - r+ijf7358u4fl/+2Wv0Nz/rmntCDx2dTKS+MGN2u2ifvwJjpyM2VToNNdKHtEPkcjYbQnbL5vKdm - CE56efthT9UAjv9np2OLcQmHafxW3zz5cPZ3elQ/fHt6k+9oo1LwNOusTq8uzi5+u6Z7Heelj5/4 - ZaXx+Wq+/DbPXTgmBmV0c8zLiw88IgFoNx7x4vT8vPFO+GkJxHGbd9uOOrt+uR5Hh/Py+ubsIx/W - zdXnFU1deJnxxWcXF59Pz79dH/hPPEINfjfgzUt8W8ALbLwJu1PUGDl9q7+erc4/8HThLP/f6Pyu - X3OD1ZunBw+T3vDJmx/fvqP/x6u/+nT9bv3W7/6xOv/7iu/Ya3rPGPllfDz+gY8X3YB0P+Bv8iNx - 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 - +c//BziGVtiKsAMA + string: xbV0f0TLaim headers: Age: - '0' @@ -701,6 +24,266 @@ interactions: - no-referrer-when-downgrade Strict-Transport-Security: - max-age=31536000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - private, max-age=60, stale-while-revalidate=30 + content-length: + - '11' + content-type: + - text/plain;charset=utf-8 + date: + - Mon, 20 Jan 2025 22:32:06 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-external-services-api--mtls-production-gq1.finance-k8s:4080/* + x-envoy-upstream-service-time: + - '1' + y-rid: + - 5cnp2h5jotjn6 + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate + Connection: + - keep-alive + Cookie: + - MOCK_COOKIE + method: GET + uri: https://query2.finance.yahoo.com/v1/finance/screener/predefined/saved?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&defaults=offset&defaults=size&defaults=sortAsc&defaults=sortField&defaults=userId&defaults=userIdType&formatted=false&lang=en-US&offset=0®ion=US&scrIds=undervalued_large_caps&size=250 + response: + body: + string: !!binary | + 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 + 9ccf/x+N1kv+EQIBAA== + headers: + Age: + - '3' + Connection: + - keep-alive + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=31536000 Transfer-Encoding: - chunked X-Content-Type-Options: @@ -710,23 +293,23 @@ interactions: X-XSS-Protection: - 1; mode=block cache-control: - - private, no-cache, no-store + - public, max-age=60, stale-while-revalidate=30 content-encoding: - gzip content-type: - application/json;charset=utf-8 date: - - Thu, 14 Nov 2024 02:19:14 GMT + - Mon, 20 Jan 2025 22:32:06 GMT server: - ATS vary: - Origin,Accept-Encoding x-envoy-decorator-operation: - - finance-screeners--mtls-production-gq1.finance-k8s.svc.yahoo.local:4080/* + - finance-screeners--mtls-production-gq1.finance-k8s:4080/* x-envoy-upstream-service-time: - - '120' + - '129' y-rid: - - 639mubhjjanh2 + - 2t36ihljotjn6 status: code: 200 message: OK diff --git a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_large_caps_fetcher_urllib3_v2.yaml b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_large_caps_fetcher_urllib3_v2.yaml index e118e7b5a45..b525467a7e3 100644 --- a/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_large_caps_fetcher_urllib3_v2.yaml +++ b/openbb_platform/providers/yfinance/tests/record/http/test_yfinance_fetchers/test_y_finance_undervalued_large_caps_fetcher_urllib3_v2.yaml @@ -1,574 +1,20 @@ interactions: - request: - body: '{"offset": 0, "size": 100, "sortField": "eodvolume", "sortType": "desc", - "quoteType": "equity", "query": {"operator": "and", "operands": [{"operator": - "or", "operands": [{"operator": "BTWN", "operands": ["peratio.lasttwelvemonths", - 0, 20]}]}, {"operator": "lt", "operands": ["pegratio_5y", 1]}, {"operator": - "btwn", "operands": ["intradaymarketcap", 10000000000, 100000000000]}, {"operator": - "or", "operands": [{"operator": "eq", "operands": ["exchange", "NMS"]}, {"operator": - "eq", "operands": ["exchange", "NYQ"]}]}]}, "userId": "", "userIdType": "guid"}' + body: null headers: Accept: - '*/*' Accept-Encoding: - - gzip, deflate + - gzip, deflate, br, zstd Connection: - keep-alive - Content-Length: - - '556' - Content-Type: - - application/json Cookie: - MOCK_COOKIE - method: POST - uri: https://query2.finance.yahoo.com/v1/finance/screener?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&formatted=false&lang=en-US®ion=US + method: GET + uri: https://query1.finance.yahoo.com/v1/test/getcrumb response: body: - string: "{\"finance\":{\"result\":[{\"start\":0,\"count\":100,\"total\":101,\"quotes\":[{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":11.1,\"regularMarketDayHigh\":11.17,\"regularMarketDayRange\":\"11.02 - - 11.17\",\"regularMarketDayLow\":11.02,\"regularMarketVolume\":38807879,\"regularMarketPreviousClose\":11.1,\"bid\":11.1,\"ask\":11.11,\"bidSize\":394,\"askSize\":423,\"market\":\"us_market\",\"messageBoardId\":\"finmb_106335\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Ford - Motor Company\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":11.12,\"averageDailyVolume3Month\":50697323,\"averageDailyVolume10Day\":57850960,\"fiftyTwoWeekLowChange\":1.6100006,\"fiftyTwoWeekLowChangePercent\":0.16965233,\"fiftyTwoWeekRange\":\"9.49 - - 14.85\",\"fiftyTwoWeekHighChange\":-3.75,\"fiftyTwoWeekHighChangePercent\":-0.25252524,\"fiftyTwoWeekChangePercent\":9.251965,\"dividendDate\":1733097600,\"earningsTimestamp\":1730145900,\"earningsTimestampStart\":1738703100,\"earningsTimestampEnd\":1739221500,\"earningsCallTimestampStart\":1730149200,\"earningsCallTimestampEnd\":1730149200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.6,\"trailingPE\":12.613637,\"dividendRate\":0.6,\"trailingAnnualDividendYield\":0.054054055,\"dividendYield\":5.41,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.88,\"epsForward\":1.75,\"epsCurrentYear\":1.78,\"priceEpsCurrentYear\":6.235955,\"sharesOutstanding\":3903439872,\"bookValue\":11.15,\"fiftyDayAverage\":10.7726,\"fiftyDayAverageChange\":0.3274002,\"fiftyDayAverageChangePercent\":0.030391939,\"twoHundredDayAverage\":11.83045,\"twoHundredDayAverageChange\":-0.7304497,\"twoHundredDayAverageChangePercent\":-0.061743185,\"marketCap\":44114620416,\"forwardPE\":6.3428574,\"priceToBook\":0.99551576,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":76253400000,\"priceHint\":2,\"postMarketChangePercent\":0.0900836,\"postMarketTime\":1731545987,\"postMarketPrice\":11.11,\"postMarketChange\":0.00999928,\"regularMarketChange\":0.0,\"regularMarketTime\":1731531645,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.0,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":14.85,\"fiftyTwoWeekLow\":9.49,\"averageAnalystRating\":\"2.8 - - Hold\",\"shortName\":\"Ford Motor Company\",\"symbol\":\"F\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":2.32,\"regularMarketDayHigh\":2.33,\"regularMarketDayRange\":\"2.28 - - 2.33\",\"regularMarketDayLow\":2.28,\"regularMarketVolume\":20663449,\"regularMarketPreviousClose\":2.31,\"bid\":2.3,\"ask\":2.34,\"bidSize\":385,\"askSize\":3052,\"market\":\"us_market\",\"messageBoardId\":\"finmb_877263\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Banco - Bradesco S.A.\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":2.3,\"averageDailyVolume3Month\":29894462,\"averageDailyVolume10Day\":27471660,\"fiftyTwoWeekLowChange\":0.15999985,\"fiftyTwoWeekLowChangePercent\":0.074074,\"fiftyTwoWeekRange\":\"2.16 - - 3.65\",\"fiftyTwoWeekHighChange\":-1.3300002,\"fiftyTwoWeekHighChangePercent\":-0.3643836,\"fiftyTwoWeekChangePercent\":-27.499998,\"dividendDate\":1736380800,\"earningsTimestamp\":1730374200,\"earningsTimestampStart\":1738789200,\"earningsTimestampEnd\":1739221200,\"earningsCallTimestampStart\":1730381400,\"earningsCallTimestampEnd\":1730381400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.114,\"trailingPE\":10.086956,\"dividendRate\":0.04,\"trailingAnnualDividendYield\":0.48225108,\"dividendYield\":1.72,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.23,\"epsForward\":0.44,\"epsCurrentYear\":0.34,\"priceEpsCurrentYear\":6.8235292,\"sharesOutstanding\":5295830016,\"bookValue\":15.755,\"fiftyDayAverage\":2.6288,\"fiftyDayAverageChange\":-0.30879998,\"fiftyDayAverageChangePercent\":-0.117468044,\"twoHundredDayAverage\":2.6296,\"twoHundredDayAverageChange\":-0.3096001,\"twoHundredDayAverageChangePercent\":-0.11773658,\"marketCap\":23615047680,\"forwardPE\":5.272727,\"priceToBook\":0.14725484,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1028295000000,\"priceHint\":4,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731546000,\"postMarketPrice\":2.32,\"postMarketChange\":0.0,\"regularMarketChange\":0.00999999,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.4329,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":3.65,\"fiftyTwoWeekLow\":2.16,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Banco Bradesco Sa\",\"displayName\":\"Banco Bradesco\",\"symbol\":\"BBD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":5.93,\"regularMarketDayHigh\":5.98,\"regularMarketDayRange\":\"5.895 - - 5.98\",\"regularMarketDayLow\":5.895,\"regularMarketVolume\":22022517,\"regularMarketPreviousClose\":6.03,\"bid\":5.94,\"ask\":5.95,\"bidSize\":423,\"askSize\":362,\"market\":\"us_market\",\"messageBoardId\":\"finmb_873831\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Ita\xFA - Unibanco Holding S.A.\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":5.97,\"averageDailyVolume3Month\":19991075,\"averageDailyVolume10Day\":25977980,\"fiftyTwoWeekLowChange\":0.30999994,\"fiftyTwoWeekLowChangePercent\":0.055160135,\"fiftyTwoWeekRange\":\"5.62 - - 7.27\",\"fiftyTwoWeekHighChange\":-1.3400002,\"fiftyTwoWeekHighChangePercent\":-0.18431914,\"fiftyTwoWeekChangePercent\":-4.3548403,\"dividendDate\":1736380800,\"earningsTimestamp\":1730760355,\"earningsTimestampStart\":1738609200,\"earningsTimestampEnd\":1738954800,\"earningsCallTimestampStart\":1730811600,\"earningsCallTimestampEnd\":1730811600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.609,\"trailingPE\":8.594203,\"dividendRate\":0.04,\"trailingAnnualDividendYield\":0.2668325,\"dividendYield\":0.61,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.69,\"epsForward\":0.88,\"epsCurrentYear\":0.79468,\"priceEpsCurrentYear\":7.462123,\"sharesOutstanding\":4834390016,\"bookValue\":19.632,\"fiftyDayAverage\":6.3826,\"fiftyDayAverageChange\":-0.4526,\"fiftyDayAverageChangePercent\":-0.07091154,\"twoHundredDayAverage\":6.40245,\"twoHundredDayAverageChange\":-0.47245026,\"twoHundredDayAverageChangePercent\":-0.0737921,\"marketCap\":54979579904,\"forwardPE\":6.738636,\"priceToBook\":0.30205786,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1014647400000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731532036,\"postMarketPrice\":5.93,\"postMarketChange\":0.0,\"regularMarketChange\":-0.1,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.65838,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":7.27,\"fiftyTwoWeekLow\":5.62,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Itau Unibanco Banco Holding SA\",\"displayName\":\"Ita\xFA - Unibanco Holding\",\"symbol\":\"ITUB\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":13.81,\"regularMarketDayHigh\":13.86,\"regularMarketDayRange\":\"13.575 - - 13.86\",\"regularMarketDayLow\":13.575,\"regularMarketVolume\":15472905,\"regularMarketPreviousClose\":13.72,\"bid\":13.79,\"ask\":13.83,\"bidSize\":280,\"askSize\":385,\"market\":\"us_market\",\"messageBoardId\":\"finmb_409268\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Petr\xF3leo - Brasileiro S.A. - Petrobras\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":13.73,\"averageDailyVolume3Month\":15876646,\"averageDailyVolume10Day\":16841940,\"fiftyTwoWeekLowChange\":0.9100008,\"fiftyTwoWeekLowChangePercent\":0.0705427,\"fiftyTwoWeekRange\":\"12.9 - - 17.91\",\"fiftyTwoWeekHighChange\":-4.0999994,\"fiftyTwoWeekHighChangePercent\":-0.22892237,\"fiftyTwoWeekChangePercent\":-11.189711,\"dividendDate\":1732838400,\"earningsTimestamp\":1731006000,\"earningsTimestampStart\":1731006000,\"earningsTimestampEnd\":1731006000,\"earningsCallTimestampStart\":1731085200,\"earningsCallTimestampEnd\":1731085200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":6.075,\"trailingPE\":5.5685487,\"dividendRate\":1.9,\"trailingAnnualDividendYield\":0.44278422,\"dividendYield\":13.88,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.48,\"epsForward\":2.97,\"epsCurrentYear\":2.24,\"priceEpsCurrentYear\":6.165179,\"sharesOutstanding\":3721120000,\"bookValue\":30.543,\"fiftyDayAverage\":14.2988,\"fiftyDayAverageChange\":-0.48880005,\"fiftyDayAverageChangePercent\":-0.03418469,\"twoHundredDayAverage\":15.1981,\"twoHundredDayAverageChange\":-1.3880997,\"twoHundredDayAverageChangePercent\":-0.09133376,\"marketCap\":85137686528,\"forwardPE\":4.649832,\"priceToBook\":0.45214945,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":965914200000,\"priceHint\":2,\"postMarketChangePercent\":0.144819,\"postMarketTime\":1731545796,\"postMarketPrice\":13.83,\"postMarketChange\":0.0199995,\"regularMarketChange\":0.0900002,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.655978,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":17.91,\"fiftyTwoWeekLow\":12.9,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Petroleo Brasileiro S.A.- Petro\",\"symbol\":\"PBR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":89.78,\"regularMarketDayHigh\":92.28,\"regularMarketDayRange\":\"89.144 - - 92.28\",\"regularMarketDayLow\":89.144,\"regularMarketVolume\":7919293,\"regularMarketPreviousClose\":89.13,\"bid\":89.74,\"ask\":89.89,\"bidSize\":10,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_309845\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"United - Airlines Holdings, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":90.19,\"averageDailyVolume3Month\":7651490,\"averageDailyVolume10Day\":6600390,\"fiftyTwoWeekLowChange\":52.76,\"fiftyTwoWeekLowChangePercent\":1.4251755,\"fiftyTwoWeekRange\":\"37.02 - - 92.28\",\"fiftyTwoWeekHighChange\":-2.5,\"fiftyTwoWeekHighChangePercent\":-0.02709146,\"fiftyTwoWeekChangePercent\":128.56415,\"dividendDate\":1201046400,\"earningsTimestamp\":1729022465,\"earningsTimestampStart\":1737406800,\"earningsTimestampEnd\":1737752400,\"earningsCallTimestampStart\":1729089000,\"earningsCallTimestampEnd\":1729089000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":10.624852,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":8.45,\"epsForward\":12.09,\"epsCurrentYear\":10.23,\"priceEpsCurrentYear\":8.776149,\"sharesOutstanding\":328876000,\"bookValue\":34.779,\"fiftyDayAverage\":65.124,\"fiftyDayAverageChange\":24.655998,\"fiftyDayAverageChangePercent\":0.3786008,\"twoHundredDayAverage\":51.24725,\"twoHundredDayAverageChange\":38.53275,\"twoHundredDayAverageChangePercent\":0.7518989,\"marketCap\":29526487040,\"forwardPE\":7.4259715,\"priceToBook\":2.5814428,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1139236200000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731545886,\"postMarketPrice\":89.78,\"postMarketChange\":0.0,\"regularMarketChange\":0.6500015,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.72927356,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":92.28,\"fiftyTwoWeekLow\":37.02,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"United Airlines Holdings, Inc.\",\"displayName\":\"United - Airlines\",\"symbol\":\"UAL\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":9.89,\"regularMarketDayHigh\":9.99,\"regularMarketDayRange\":\"9.83 - - 9.99\",\"regularMarketDayLow\":9.83,\"regularMarketVolume\":23120443,\"regularMarketPreviousClose\":9.97,\"bid\":9.89,\"ask\":9.98,\"bidSize\":459,\"askSize\":451,\"market\":\"us_market\",\"messageBoardId\":\"finmb_874225\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Vale - S.A.\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":9.93,\"averageDailyVolume3Month\":30814707,\"averageDailyVolume10Day\":31319890,\"fiftyTwoWeekLowChange\":0.2300005,\"fiftyTwoWeekLowChangePercent\":0.023809576,\"fiftyTwoWeekRange\":\"9.66 - - 16.08\",\"fiftyTwoWeekHighChange\":-6.1899996,\"fiftyTwoWeekHighChangePercent\":-0.38495022,\"fiftyTwoWeekChangePercent\":-34.93421,\"dividendDate\":1726012800,\"earningsTimestamp\":1729796400,\"earningsTimestampStart\":1729796400,\"earningsTimestampEnd\":1729796400,\"earningsCallTimestampStart\":1729875600,\"earningsCallTimestampEnd\":1729875600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":2.739,\"trailingPE\":4.6214952,\"dividendRate\":1.78,\"trailingAnnualDividendYield\":0.2747242,\"dividendYield\":17.83,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.14,\"epsForward\":2.05,\"epsCurrentYear\":2.27,\"priceEpsCurrentYear\":4.356828,\"sharesOutstanding\":4269040128,\"bookValue\":48.853,\"fiftyDayAverage\":10.795,\"fiftyDayAverageChange\":-0.90499973,\"fiftyDayAverageChangePercent\":-0.08383508,\"twoHundredDayAverage\":11.62015,\"twoHundredDayAverageChange\":-1.7301493,\"twoHundredDayAverageChangePercent\":-0.14889216,\"marketCap\":43613716480,\"forwardPE\":4.8243904,\"priceToBook\":0.20244408,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1016721000000,\"priceHint\":2,\"postMarketChangePercent\":0.202219,\"postMarketTime\":1731545830,\"postMarketPrice\":9.91,\"postMarketChange\":0.0199995,\"regularMarketChange\":-0.0799999,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.802406,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":16.08,\"fiftyTwoWeekLow\":9.66,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"VALE S.A.\",\"displayName\":\"Vale\",\"symbol\":\"VALE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":28.62,\"regularMarketDayHigh\":28.75,\"regularMarketDayRange\":\"27.96 - - 28.75\",\"regularMarketDayLow\":27.96,\"regularMarketVolume\":4279149,\"regularMarketPreviousClose\":28.32,\"bid\":28.72,\"ask\":28.77,\"bidSize\":18,\"askSize\":32,\"market\":\"us_market\",\"messageBoardId\":\"finmb_314842\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Marathon - Oil Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":28.38,\"averageDailyVolume3Month\":5685279,\"averageDailyVolume10Day\":7346720,\"fiftyTwoWeekLowChange\":6.8100014,\"fiftyTwoWeekLowChangePercent\":0.31224215,\"fiftyTwoWeekRange\":\"21.81 - - 30.06\",\"fiftyTwoWeekHighChange\":-1.4399986,\"fiftyTwoWeekHighChangePercent\":-0.047904145,\"fiftyTwoWeekChangePercent\":15.63636,\"dividendDate\":1733788800,\"earningsTimestamp\":1730928609,\"earningsTimestampStart\":1730928609,\"earningsTimestampEnd\":1730928609,\"earningsCallTimestampStart\":1714654800,\"earningsCallTimestampEnd\":1714654800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.44,\"trailingPE\":12.336207,\"dividendRate\":0.44,\"trailingAnnualDividendYield\":0.015536724,\"dividendYield\":1.55,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.32,\"epsForward\":2.35,\"epsCurrentYear\":2.41,\"priceEpsCurrentYear\":11.875519,\"sharesOutstanding\":559409984,\"bookValue\":20.456,\"fiftyDayAverage\":27.2898,\"fiftyDayAverageChange\":1.3302002,\"fiftyDayAverageChangePercent\":0.048743494,\"twoHundredDayAverage\":27.03555,\"twoHundredDayAverageChange\":1.5844517,\"twoHundredDayAverageChangePercent\":0.058606233,\"marketCap\":16010313728,\"forwardPE\":12.178724,\"priceToBook\":1.3991005,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":-252322200000,\"priceHint\":2,\"postMarketChangePercent\":0.524108,\"postMarketTime\":1731545856,\"postMarketPrice\":28.77,\"postMarketChange\":0.15,\"regularMarketChange\":0.300001,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":1.05933,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":30.06,\"fiftyTwoWeekLow\":21.81,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Marathon Oil Corporation\",\"displayName\":\"Marathon - Oil\",\"symbol\":\"MRO\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":51.12,\"regularMarketDayHigh\":51.48,\"regularMarketDayRange\":\"48.42 - - 51.48\",\"regularMarketDayLow\":48.42,\"regularMarketVolume\":22596524,\"regularMarketPreviousClose\":50.29,\"bid\":51.27,\"ask\":51.2,\"bidSize\":13,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_293286\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Occidental - Petroleum Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":50.76,\"averageDailyVolume3Month\":12247312,\"averageDailyVolume10Day\":13517430,\"fiftyTwoWeekLowChange\":2.7000008,\"fiftyTwoWeekLowChangePercent\":0.0557621,\"fiftyTwoWeekRange\":\"48.42 - - 71.19\",\"fiftyTwoWeekHighChange\":-20.070004,\"fiftyTwoWeekHighChangePercent\":-0.28192165,\"fiftyTwoWeekChangePercent\":-15.23794,\"dividendDate\":1736899200,\"earningsTimestamp\":1731446151,\"earningsTimestampStart\":1739357940,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1731520800,\"earningsCallTimestampEnd\":1731520800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.18,\"trailingPE\":13.243524,\"dividendRate\":0.88,\"trailingAnnualDividendYield\":0.0035792405,\"dividendYield\":1.75,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.86,\"epsForward\":3.16,\"epsCurrentYear\":3.17,\"priceEpsCurrentYear\":16.126183,\"sharesOutstanding\":935176000,\"bookValue\":23.695,\"fiftyDayAverage\":51.898,\"fiftyDayAverageChange\":-0.7779999,\"fiftyDayAverageChangePercent\":-0.014990942,\"twoHundredDayAverage\":59.2252,\"twoHundredDayAverageChange\":-8.105202,\"twoHundredDayAverageChangePercent\":-0.13685393,\"marketCap\":47806197760,\"forwardPE\":16.177214,\"priceToBook\":2.157417,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":378657000000,\"priceHint\":2,\"postMarketChangePercent\":0.684668,\"postMarketTime\":1731545999,\"postMarketPrice\":51.47,\"postMarketChange\":0.3500023,\"regularMarketChange\":0.829998,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":1.65042,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":71.19,\"fiftyTwoWeekLow\":48.42,\"averageAnalystRating\":\"2.6 - - Hold\",\"shortName\":\"Occidental Petroleum Corporatio\",\"displayName\":\"Occidental - Petroleum\",\"symbol\":\"OXY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":57.71,\"regularMarketDayHigh\":58.42,\"regularMarketDayRange\":\"57.55 - - 58.42\",\"regularMarketDayLow\":57.55,\"regularMarketVolume\":10036321,\"regularMarketPreviousClose\":57.41,\"bid\":57.75,\"ask\":57.85,\"bidSize\":18,\"askSize\":18,\"market\":\"us_market\",\"messageBoardId\":\"finmb_61206100\",\"fullExchangeName\":\"NYSE\",\"longName\":\"General - Motors Company\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":57.61,\"averageDailyVolume3Month\":12503343,\"averageDailyVolume10Day\":11287260,\"fiftyTwoWeekLowChange\":30.289999,\"fiftyTwoWeekLowChangePercent\":1.1046681,\"fiftyTwoWeekRange\":\"27.42 - - 58.42\",\"fiftyTwoWeekHighChange\":-0.7099991,\"fiftyTwoWeekHighChangePercent\":-0.012153357,\"fiftyTwoWeekChangePercent\":110.007286,\"dividendDate\":1734566400,\"earningsTimestamp\":1738063800,\"earningsTimestampStart\":1738063800,\"earningsTimestampEnd\":1738063800,\"earningsCallTimestampStart\":1729600200,\"earningsCallTimestampEnd\":1729600200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.45,\"trailingPE\":6.126327,\"dividendRate\":0.48,\"trailingAnnualDividendYield\":0.007838355,\"dividendYield\":0.84,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":9.42,\"epsForward\":10.57,\"epsCurrentYear\":10.4,\"priceEpsCurrentYear\":5.5490384,\"sharesOutstanding\":1099600000,\"bookValue\":64.486,\"fiftyDayAverage\":49.3328,\"fiftyDayAverageChange\":8.377197,\"fiftyDayAverageChangePercent\":0.16980988,\"twoHundredDayAverage\":45.41855,\"twoHundredDayAverageChange\":12.2914505,\"twoHundredDayAverageChangePercent\":0.27062622,\"marketCap\":63457914880,\"forwardPE\":5.459792,\"priceToBook\":0.8949229,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1290090600000,\"priceHint\":2,\"postMarketChangePercent\":0.207941,\"postMarketTime\":1731545977,\"postMarketPrice\":57.83,\"postMarketChange\":0.120003,\"regularMarketChange\":0.299999,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.522556,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":58.42,\"fiftyTwoWeekLow\":27.42,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"General Motors Company\",\"symbol\":\"GM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":6.92,\"regularMarketDayHigh\":7.005,\"regularMarketDayRange\":\"6.9 - - 7.005\",\"regularMarketDayLow\":6.9,\"regularMarketVolume\":12162521,\"regularMarketPreviousClose\":6.99,\"bid\":6.92,\"ask\":6.93,\"bidSize\":394,\"askSize\":361,\"market\":\"us_market\",\"messageBoardId\":\"finmb_528092\",\"fullExchangeName\":\"NYSE\",\"longName\":\"United - Microelectronics Corporation\",\"financialCurrency\":\"TWD\",\"regularMarketOpen\":6.98,\"averageDailyVolume3Month\":12609062,\"averageDailyVolume10Day\":15029250,\"fiftyTwoWeekLowChange\":0.13999987,\"fiftyTwoWeekLowChangePercent\":0.020648947,\"fiftyTwoWeekRange\":\"6.78 - - 9.0\",\"fiftyTwoWeekHighChange\":-2.08,\"fiftyTwoWeekHighChangePercent\":-0.23111111,\"fiftyTwoWeekChangePercent\":-8.947367,\"dividendDate\":1722988800,\"earningsTimestamp\":1737457140,\"earningsTimestampStart\":1737457140,\"earningsTimestampEnd\":1737457140,\"earningsCallTimestampStart\":1737457140,\"earningsCallTimestampEnd\":1737457140,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":3.0,\"trailingPE\":10.8125,\"dividendRate\":0.46,\"trailingAnnualDividendYield\":0.42918456,\"dividendYield\":6.52,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.64,\"epsForward\":0.64,\"epsCurrentYear\":0.64,\"priceEpsCurrentYear\":10.8125,\"sharesOutstanding\":2505690112,\"bookValue\":29.39,\"fiftyDayAverage\":7.959,\"fiftyDayAverageChange\":-1.039,\"fiftyDayAverageChangePercent\":-0.13054404,\"twoHundredDayAverage\":8.1223,\"twoHundredDayAverageChange\":-1.2023001,\"twoHundredDayAverageChangePercent\":-0.14802457,\"marketCap\":17823361024,\"forwardPE\":10.8125,\"priceToBook\":0.23545425,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":969370200000,\"priceHint\":2,\"postMarketChangePercent\":0.8670512,\"postMarketTime\":1731545917,\"postMarketPrice\":6.98,\"postMarketChange\":0.059999943,\"regularMarketChange\":-0.0699997,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.00143,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":9.0,\"fiftyTwoWeekLow\":6.78,\"averageAnalystRating\":\"3.0 - - Hold\",\"shortName\":\"United Microelectronics Corpora\",\"displayName\":\"United - Microelectronics\",\"symbol\":\"UMC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":17.1,\"regularMarketDayHigh\":17.15,\"regularMarketDayRange\":\"16.99 - - 17.15\",\"regularMarketDayLow\":16.99,\"regularMarketVolume\":9349545,\"regularMarketPreviousClose\":17.05,\"bid\":17.1,\"ask\":17.11,\"bidSize\":29,\"askSize\":394,\"market\":\"us_market\",\"messageBoardId\":\"finmb_23812789\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Energy - Transfer LP\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":17.12,\"averageDailyVolume3Month\":12961860,\"averageDailyVolume10Day\":20991050,\"fiftyTwoWeekLowChange\":3.9800005,\"fiftyTwoWeekLowChangePercent\":0.3033537,\"fiftyTwoWeekRange\":\"13.12 - - 17.71\",\"fiftyTwoWeekHighChange\":-0.6099987,\"fiftyTwoWeekHighChangePercent\":-0.034443747,\"fiftyTwoWeekChangePercent\":29.742039,\"dividendDate\":1731974400,\"earningsTimestamp\":1730927400,\"earningsTimestampStart\":1739357940,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730928600,\"earningsCallTimestampEnd\":1730928600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.275,\"trailingPE\":12.573529,\"dividendRate\":1.29,\"trailingAnnualDividendYield\":0.07478006,\"dividendYield\":7.57,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.36,\"epsForward\":1.58,\"epsCurrentYear\":1.39,\"priceEpsCurrentYear\":12.302158,\"sharesOutstanding\":3423920128,\"bookValue\":9.157,\"fiftyDayAverage\":16.3724,\"fiftyDayAverageChange\":0.7276001,\"fiftyDayAverageChangePercent\":0.04444065,\"twoHundredDayAverage\":15.7871,\"twoHundredDayAverageChange\":1.3129005,\"twoHundredDayAverageChangePercent\":0.083162874,\"marketCap\":58549035008,\"forwardPE\":10.822784,\"priceToBook\":1.867424,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1138977000000,\"priceHint\":2,\"postMarketChangePercent\":0.0292349,\"postMarketTime\":1731545958,\"postMarketPrice\":17.105,\"postMarketChange\":0.00499916,\"regularMarketChange\":0.0500011,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.293262,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":17.71,\"fiftyTwoWeekLow\":13.12,\"averageAnalystRating\":\"1.6 - - Buy\",\"shortName\":\"Energy Transfer LP\",\"symbol\":\"ET\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":43.59,\"regularMarketDayHigh\":44.5,\"regularMarketDayRange\":\"43.225 - - 44.5\",\"regularMarketDayLow\":43.225,\"regularMarketVolume\":9884407,\"regularMarketPreviousClose\":44.33,\"bid\":43.65,\"ask\":43.86,\"bidSize\":13,\"askSize\":18,\"market\":\"us_market\",\"messageBoardId\":\"finmb_301966\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Schlumberger - Limited\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":44.47,\"averageDailyVolume3Month\":12389946,\"averageDailyVolume10Day\":13900780,\"fiftyTwoWeekLowChange\":4.9300003,\"fiftyTwoWeekLowChangePercent\":0.12752199,\"fiftyTwoWeekRange\":\"38.66 - - 55.69\",\"fiftyTwoWeekHighChange\":-12.099998,\"fiftyTwoWeekHighChangePercent\":-0.21727417,\"fiftyTwoWeekChangePercent\":-16.35003,\"dividendDate\":1736380800,\"earningsTimestamp\":1729249200,\"earningsTimestampStart\":1737115200,\"earningsTimestampEnd\":1737460800,\"earningsCallTimestampStart\":1729258200,\"earningsCallTimestampEnd\":1729258200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.075,\"trailingPE\":14.245098,\"dividendRate\":1.1,\"trailingAnnualDividendYield\":0.024249943,\"dividendYield\":2.48,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.06,\"epsForward\":3.67,\"epsCurrentYear\":3.4,\"priceEpsCurrentYear\":12.820588,\"sharesOutstanding\":1412150016,\"bookValue\":15.233,\"fiftyDayAverage\":42.3058,\"fiftyDayAverageChange\":1.2841988,\"fiftyDayAverageChangePercent\":0.030355146,\"twoHundredDayAverage\":46.64205,\"twoHundredDayAverageChange\":-3.0520515,\"twoHundredDayAverageChangePercent\":-0.06543562,\"marketCap\":62600908800,\"forwardPE\":11.877384,\"priceToBook\":2.8615506,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":378657000000,\"priceHint\":2,\"postMarketChangePercent\":0.619409,\"postMarketTime\":1731545824,\"postMarketPrice\":43.86,\"postMarketChange\":0.27,\"regularMarketChange\":-0.740002,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.6693,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":55.69,\"fiftyTwoWeekLow\":38.66,\"averageAnalystRating\":\"1.8 - - Buy\",\"shortName\":\"Schlumberger N.V.\",\"displayName\":\"Schlumberger\",\"symbol\":\"SLB\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":18.0,\"regularMarketDayHigh\":18.205,\"regularMarketDayRange\":\"17.915 - - 18.205\",\"regularMarketDayLow\":17.915,\"regularMarketVolume\":5124721,\"regularMarketPreviousClose\":17.99,\"bid\":17.28,\"ask\":18.86,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_29574\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Host - Hotels & Resorts, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":18.105,\"averageDailyVolume3Month\":7622421,\"averageDailyVolume10Day\":9310860,\"fiftyTwoWeekLowChange\":2.29,\"fiftyTwoWeekLowChangePercent\":0.14576702,\"fiftyTwoWeekRange\":\"15.71 - - 21.31\",\"fiftyTwoWeekHighChange\":-3.3099995,\"fiftyTwoWeekHighChangePercent\":-0.15532611,\"fiftyTwoWeekChangePercent\":5.4481506,\"dividendDate\":1728950400,\"earningsTimestamp\":1730928601,\"earningsTimestampStart\":1730928601,\"earningsTimestampEnd\":1730928601,\"earningsCallTimestampStart\":1730991600,\"earningsCallTimestampEnd\":1730991600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.8,\"trailingPE\":17.475729,\"dividendRate\":0.8,\"trailingAnnualDividendYield\":0.04446915,\"dividendYield\":4.45,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.03,\"epsForward\":0.97,\"epsCurrentYear\":0.99,\"priceEpsCurrentYear\":18.181818,\"sharesOutstanding\":699028992,\"bookValue\":9.602,\"fiftyDayAverage\":17.6942,\"fiftyDayAverageChange\":0.30579948,\"fiftyDayAverageChangePercent\":0.01728247,\"twoHundredDayAverage\":18.43775,\"twoHundredDayAverageChange\":-0.43774986,\"twoHundredDayAverageChangePercent\":-0.023742044,\"marketCap\":12753522688,\"forwardPE\":18.5567,\"priceToBook\":1.8746094,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":-0.277774,\"postMarketTime\":1731545608,\"postMarketPrice\":17.95,\"postMarketChange\":-0.0499992,\"regularMarketChange\":0.010000229,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.05558771,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":21.31,\"fiftyTwoWeekLow\":15.71,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"Host Hotels & Resorts, Inc.\",\"displayName\":\"Host - Hotels & Resorts\",\"symbol\":\"HST\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":15.59,\"regularMarketDayHigh\":15.82,\"regularMarketDayRange\":\"15.275 - - 15.82\",\"regularMarketDayLow\":15.275,\"regularMarketVolume\":11157517,\"regularMarketPreviousClose\":15.74,\"bid\":15.57,\"ask\":15.57,\"bidSize\":292,\"askSize\":30,\"market\":\"us_market\",\"messageBoardId\":\"finmb_44709159\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Cenovus - Energy Inc.\",\"financialCurrency\":\"CAD\",\"regularMarketOpen\":15.72,\"averageDailyVolume3Month\":7958832,\"averageDailyVolume10Day\":9167380,\"fiftyTwoWeekLowChange\":0.9000006,\"fiftyTwoWeekLowChangePercent\":0.06126621,\"fiftyTwoWeekRange\":\"14.69 - - 21.9\",\"fiftyTwoWeekHighChange\":-6.3099995,\"fiftyTwoWeekHighChangePercent\":-0.28812784,\"fiftyTwoWeekChangePercent\":-10.761303,\"dividendDate\":1735603200,\"earningsTimestamp\":1730368800,\"earningsTimestampStart\":1739453400,\"earningsTimestampEnd\":1739799000,\"earningsCallTimestampStart\":1730383200,\"earningsCallTimestampEnd\":1730383200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.775,\"trailingPE\":10.978873,\"dividendRate\":0.52,\"trailingAnnualDividendYield\":0.04923761,\"dividendYield\":3.29,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.42,\"epsForward\":1.55,\"epsCurrentYear\":1.48,\"priceEpsCurrentYear\":10.533784,\"sharesOutstanding\":1826620032,\"bookValue\":15.891,\"fiftyDayAverage\":16.7988,\"fiftyDayAverageChange\":-1.2087994,\"fiftyDayAverageChangePercent\":-0.071957484,\"twoHundredDayAverage\":18.62485,\"twoHundredDayAverageChange\":-3.0348492,\"twoHundredDayAverageChangePercent\":-0.16294624,\"marketCap\":28797380608,\"forwardPE\":10.058064,\"priceToBook\":0.9810585,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1258468200000,\"priceHint\":2,\"postMarketChangePercent\":-0.898014,\"postMarketTime\":1731545121,\"postMarketPrice\":15.45,\"postMarketChange\":-0.14,\"regularMarketChange\":-0.15,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.952984,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":21.9,\"fiftyTwoWeekLow\":14.69,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Cenovus Energy Inc\",\"displayName\":\"Cenovus Energy\",\"symbol\":\"CVE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":9.29,\"regularMarketDayHigh\":9.68,\"regularMarketDayRange\":\"9.23 - - 9.68\",\"regularMarketDayLow\":9.23,\"regularMarketVolume\":15194789,\"regularMarketPreviousClose\":9.5,\"bid\":9.24,\"ask\":9.31,\"bidSize\":30,\"askSize\":292,\"market\":\"us_market\",\"messageBoardId\":\"finmb_297179\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Kinross - Gold Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":9.59,\"averageDailyVolume3Month\":15774600,\"averageDailyVolume10Day\":19831460,\"fiftyTwoWeekLowChange\":4.54,\"fiftyTwoWeekLowChangePercent\":0.95578945,\"fiftyTwoWeekRange\":\"4.75 - - 10.82\",\"fiftyTwoWeekHighChange\":-1.5299997,\"fiftyTwoWeekHighChangePercent\":-0.1414048,\"fiftyTwoWeekChangePercent\":71.08656,\"dividendDate\":1733961600,\"earningsTimestamp\":1730844025,\"earningsTimestampStart\":1730844025,\"earningsTimestampEnd\":1730844025,\"earningsCallTimestampStart\":1730898000,\"earningsCallTimestampEnd\":1730898000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.12,\"trailingPE\":15.745764,\"dividendRate\":0.12,\"trailingAnnualDividendYield\":0.012631578,\"dividendYield\":1.26,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.59,\"epsForward\":0.88,\"epsCurrentYear\":0.69,\"priceEpsCurrentYear\":13.463768,\"sharesOutstanding\":1229049984,\"bookValue\":5.407,\"fiftyDayAverage\":9.7774,\"fiftyDayAverageChange\":-0.48740005,\"fiftyDayAverageChangePercent\":-0.04984966,\"twoHundredDayAverage\":7.8548,\"twoHundredDayAverageChange\":1.4351997,\"twoHundredDayAverageChangePercent\":0.18271627,\"marketCap\":11696481280,\"forwardPE\":10.556818,\"priceToBook\":1.7181431,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":353687400000,\"priceHint\":2,\"postMarketChangePercent\":0.538215,\"postMarketTime\":1731545837,\"postMarketPrice\":9.34,\"postMarketChange\":0.0500002,\"regularMarketChange\":-0.21,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-2.21053,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":10.82,\"fiftyTwoWeekLow\":4.75,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Kinross Gold Corporation\",\"displayName\":\"Kinross - Gold\",\"symbol\":\"KGC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":12.75,\"regularMarketDayHigh\":12.788,\"regularMarketDayRange\":\"12.61 - - 12.788\",\"regularMarketDayLow\":12.61,\"regularMarketVolume\":4849779,\"regularMarketPreviousClose\":12.76,\"bid\":12.71,\"ask\":12.75,\"bidSize\":280,\"askSize\":270,\"market\":\"us_market\",\"messageBoardId\":\"finmb_409268\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Petr\xF3leo - Brasileiro S.A. - Petrobras\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":12.71,\"averageDailyVolume3Month\":5981364,\"averageDailyVolume10Day\":5137560,\"fiftyTwoWeekLowChange\":0.8199997,\"fiftyTwoWeekLowChangePercent\":0.06873426,\"fiftyTwoWeekRange\":\"11.93 - - 17.32\",\"fiftyTwoWeekHighChange\":-4.5699997,\"fiftyTwoWeekHighChangePercent\":-0.2638568,\"fiftyTwoWeekChangePercent\":-12.969285,\"dividendDate\":1732838400,\"earningsTimestamp\":1731006000,\"earningsTimestampStart\":1731006000,\"earningsTimestampEnd\":1731006000,\"earningsCallTimestampStart\":1731085200,\"earningsCallTimestampEnd\":1731085200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":6.075,\"trailingPE\":5.141129,\"dividendRate\":1.9,\"trailingAnnualDividendYield\":0.47609717,\"dividendYield\":14.92,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.48,\"epsForward\":3.08,\"epsCurrentYear\":2.19,\"priceEpsCurrentYear\":5.8219175,\"sharesOutstanding\":2723249920,\"bookValue\":30.543,\"fiftyDayAverage\":13.075,\"fiftyDayAverageChange\":-0.3249998,\"fiftyDayAverageChangePercent\":-0.024856582,\"twoHundredDayAverage\":14.341,\"twoHundredDayAverageChange\":-1.5909996,\"twoHundredDayAverageChangePercent\":-0.110940635,\"marketCap\":85137743872,\"forwardPE\":4.1396103,\"priceToBook\":0.41744426,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1065533400000,\"priceHint\":2,\"postMarketChangePercent\":0.156866,\"postMarketTime\":1731545944,\"postMarketPrice\":12.77,\"postMarketChange\":0.0200005,\"regularMarketChange\":-0.0100002,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.0783717,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":17.32,\"fiftyTwoWeekLow\":11.93,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Petroleo Brasileiro S.A.- Petro\",\"symbol\":\"PBR-A\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":2.75,\"regularMarketDayHigh\":2.78,\"regularMarketDayRange\":\"2.74 - - 2.78\",\"regularMarketDayLow\":2.74,\"regularMarketVolume\":12573939,\"regularMarketPreviousClose\":2.74,\"bid\":2.71,\"ask\":2.8,\"bidSize\":270,\"askSize\":270,\"market\":\"us_market\",\"messageBoardId\":\"finmb_670064\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Lloyds - Banking Group plc\",\"financialCurrency\":\"GBP\",\"regularMarketOpen\":2.77,\"averageDailyVolume3Month\":10404596,\"averageDailyVolume10Day\":10184840,\"fiftyTwoWeekLowChange\":0.75,\"fiftyTwoWeekLowChangePercent\":0.375,\"fiftyTwoWeekRange\":\"2.0 - - 3.24\",\"fiftyTwoWeekHighChange\":-0.49,\"fiftyTwoWeekHighChangePercent\":-0.15123457,\"fiftyTwoWeekChangePercent\":31.578945,\"dividendDate\":1726790400,\"earningsTimestamp\":1729681140,\"earningsTimestampStart\":1729681140,\"earningsTimestampEnd\":1729681140,\"earningsCallTimestampStart\":1721896200,\"earningsCallTimestampEnd\":1721896200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.029,\"trailingPE\":7.6388884,\"dividendRate\":0.15,\"trailingAnnualDividendYield\":0.010583941,\"dividendYield\":5.4,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.36,\"epsForward\":0.36,\"sharesOutstanding\":15186700288,\"bookValue\":0.655,\"fiftyDayAverage\":3.0118,\"fiftyDayAverageChange\":-0.26180005,\"fiftyDayAverageChangePercent\":-0.08692478,\"twoHundredDayAverage\":2.75785,\"twoHundredDayAverageChange\":-0.007849932,\"twoHundredDayAverageChangePercent\":-0.0028463956,\"marketCap\":42947850240,\"forwardPE\":7.6388884,\"priceToBook\":4.1984735,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1006957800000,\"priceHint\":4,\"postMarketChangePercent\":0.727272,\"postMarketTime\":1731544979,\"postMarketPrice\":2.77,\"postMarketChange\":0.02,\"regularMarketChange\":0.00999999,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.364963,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":3.24,\"fiftyTwoWeekLow\":2.0,\"shortName\":\"Lloyds - Banking Group Plc\",\"symbol\":\"LYG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":43.07,\"regularMarketDayHigh\":43.845,\"regularMarketDayRange\":\"42.915 - - 43.845\",\"regularMarketDayLow\":42.915,\"regularMarketVolume\":7032105,\"regularMarketPreviousClose\":43.67,\"bid\":41.32,\"ask\":45.1,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_425005479\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Baker - Hughes Company\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":43.76,\"averageDailyVolume3Month\":6537851,\"averageDailyVolume10Day\":8028360,\"fiftyTwoWeekLowChange\":14.75,\"fiftyTwoWeekLowChangePercent\":0.5208333,\"fiftyTwoWeekRange\":\"28.32 - - 44.5\",\"fiftyTwoWeekHighChange\":-1.4300003,\"fiftyTwoWeekHighChangePercent\":-0.03213484,\"fiftyTwoWeekChangePercent\":29.57281,\"dividendDate\":1731542400,\"earningsTimestamp\":1729630800,\"earningsTimestampStart\":1737457140,\"earningsTimestampEnd\":1737979200,\"earningsCallTimestampStart\":1729690200,\"earningsCallTimestampEnd\":1729690200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.83,\"trailingPE\":19.577272,\"dividendRate\":0.84,\"trailingAnnualDividendYield\":0.019006183,\"dividendYield\":1.92,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.2,\"epsForward\":2.57,\"epsCurrentYear\":2.3,\"priceEpsCurrentYear\":18.726088,\"sharesOutstanding\":989526016,\"bookValue\":16.368,\"fiftyDayAverage\":37.122,\"fiftyDayAverageChange\":5.947998,\"fiftyDayAverageChangePercent\":0.16022837,\"twoHundredDayAverage\":33.9908,\"twoHundredDayAverageChange\":9.079201,\"twoHundredDayAverageChangePercent\":0.2671076,\"marketCap\":43212562432,\"forwardPE\":16.758755,\"priceToBook\":2.6313539,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-12-07\",\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":544714200000,\"priceHint\":2,\"postMarketChangePercent\":0.586252,\"postMarketTime\":1731543179,\"postMarketPrice\":43.3225,\"postMarketChange\":0.252499,\"regularMarketChange\":-0.5999985,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.3739375,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":44.5,\"fiftyTwoWeekLow\":28.32,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"Baker Hughes Company\",\"symbol\":\"BKR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":159.11,\"regularMarketDayHigh\":159.2,\"regularMarketDayRange\":\"154.1 - - 159.2\",\"regularMarketDayLow\":154.1,\"regularMarketVolume\":2216660,\"regularMarketPreviousClose\":155.21,\"bid\":158.9,\"ask\":159.04,\"bidSize\":10,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_118315802\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Marathon - Petroleum Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":154.4,\"averageDailyVolume3Month\":2690578,\"averageDailyVolume10Day\":2366200,\"fiftyTwoWeekLowChange\":18.130005,\"fiftyTwoWeekLowChangePercent\":0.12859984,\"fiftyTwoWeekRange\":\"140.98 - - 221.11\",\"fiftyTwoWeekHighChange\":-62.0,\"fiftyTwoWeekHighChangePercent\":-0.2804034,\"fiftyTwoWeekChangePercent\":9.6554165,\"dividendDate\":1733788800,\"earningsTimestamp\":1730806804,\"earningsTimestampStart\":1738071000,\"earningsTimestampEnd\":1738589400,\"earningsCallTimestampStart\":1730822400,\"earningsCallTimestampEnd\":1730822400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":3.385,\"trailingPE\":12.353261,\"dividendRate\":3.64,\"trailingAnnualDividendYield\":0.02180916,\"dividendYield\":2.35,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":12.88,\"epsForward\":10.2,\"epsCurrentYear\":9.88,\"priceEpsCurrentYear\":16.10425,\"sharesOutstanding\":321388992,\"bookValue\":58.255,\"fiftyDayAverage\":159.4464,\"fiftyDayAverageChange\":-0.33639526,\"fiftyDayAverageChangePercent\":-0.0021097702,\"twoHundredDayAverage\":174.4006,\"twoHundredDayAverageChange\":-15.290604,\"twoHundredDayAverageChangePercent\":-0.08767518,\"marketCap\":51136200704,\"forwardPE\":15.59902,\"priceToBook\":2.7312677,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1308922200000,\"priceHint\":2,\"postMarketChangePercent\":0.358238,\"postMarketTime\":1731545959,\"postMarketPrice\":159.68,\"postMarketChange\":0.569992,\"regularMarketChange\":3.89999,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":2.51272,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":221.11,\"fiftyTwoWeekLow\":140.98,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Marathon Petroleum Corporation\",\"displayName\":\"Marathon - Petroleum\",\"symbol\":\"MPC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":54.27,\"regularMarketDayHigh\":54.62,\"regularMarketDayRange\":\"53.6822 - - 54.62\",\"regularMarketDayLow\":53.6822,\"regularMarketVolume\":8035242,\"regularMarketPreviousClose\":54.03,\"bid\":54.36,\"ask\":54.4,\"bidSize\":14,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_93625\",\"fullExchangeName\":\"NYSE\",\"longName\":\"CVS - Health Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":53.89,\"averageDailyVolume3Month\":10992232,\"averageDailyVolume10Day\":14447530,\"fiftyTwoWeekLowChange\":1.5,\"fiftyTwoWeekLowChangePercent\":0.02842524,\"fiftyTwoWeekRange\":\"52.77 - - 83.25\",\"fiftyTwoWeekHighChange\":-28.98,\"fiftyTwoWeekHighChangePercent\":-0.3481081,\"fiftyTwoWeekChangePercent\":-20.483517,\"dividendDate\":1730419200,\"earningsTimestamp\":1730892608,\"earningsTimestampStart\":1738762200,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1730898000,\"earningsCallTimestampEnd\":1730898000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":2.6,\"trailingPE\":13.774112,\"dividendRate\":2.66,\"trailingAnnualDividendYield\":0.048121415,\"dividendYield\":4.92,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.94,\"epsForward\":6.48,\"epsCurrentYear\":5.56,\"priceEpsCurrentYear\":9.760792,\"sharesOutstanding\":1258409984,\"bookValue\":59.574,\"fiftyDayAverage\":59.3464,\"fiftyDayAverageChange\":-5.0764008,\"fiftyDayAverageChangePercent\":-0.08553848,\"twoHundredDayAverage\":63.5809,\"twoHundredDayAverageChange\":-9.310898,\"twoHundredDayAverageChangePercent\":-0.14644174,\"marketCap\":68293910528,\"forwardPE\":8.375,\"priceToBook\":0.9109679,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":99153000000,\"priceHint\":2,\"postMarketChangePercent\":0.22111467,\"postMarketTime\":1731545996,\"postMarketPrice\":54.39,\"postMarketChange\":0.11999893,\"regularMarketChange\":0.240002,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.444201,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":83.25,\"fiftyTwoWeekLow\":52.77,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"CVS Health Corporation\",\"displayName\":\"CVS Health\",\"symbol\":\"CVS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":76.09,\"regularMarketDayHigh\":76.22,\"regularMarketDayRange\":\"74.71 - - 76.22\",\"regularMarketDayLow\":74.71,\"regularMarketVolume\":2890949,\"regularMarketPreviousClose\":74.86,\"bid\":76.06,\"ask\":76.07,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_250388\",\"fullExchangeName\":\"NYSE\",\"longName\":\"American - International Group, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":74.82,\"averageDailyVolume3Month\":3888398,\"averageDailyVolume10Day\":5016110,\"fiftyTwoWeekLowChange\":12.519997,\"fiftyTwoWeekLowChangePercent\":0.1969482,\"fiftyTwoWeekRange\":\"63.57 - - 80.83\",\"fiftyTwoWeekHighChange\":-4.7400055,\"fiftyTwoWeekHighChangePercent\":-0.05864166,\"fiftyTwoWeekChangePercent\":18.668127,\"dividendDate\":1735516800,\"earningsTimestamp\":1730754000,\"earningsTimestampStart\":1739307600,\"earningsTimestampEnd\":1739826000,\"earningsCallTimestampStart\":1730813400,\"earningsCallTimestampEnd\":1730813400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.52,\"trailingPE\":14.890409,\"dividendRate\":1.6,\"trailingAnnualDividendYield\":0.020304568,\"dividendYield\":2.14,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":5.11,\"epsForward\":6.71,\"epsCurrentYear\":5.0,\"priceEpsCurrentYear\":15.217999,\"sharesOutstanding\":623769024,\"bookValue\":71.458,\"fiftyDayAverage\":75.0862,\"fiftyDayAverageChange\":1.0037994,\"fiftyDayAverageChangePercent\":0.013368628,\"twoHundredDayAverage\":75.03695,\"twoHundredDayAverageChange\":1.0530472,\"twoHundredDayAverageChangePercent\":0.014033715,\"marketCap\":47462584320,\"forwardPE\":11.33979,\"priceToBook\":1.0648212,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":94833000000,\"priceHint\":2,\"postMarketChangePercent\":1.19596,\"postMarketTime\":1731539415,\"postMarketPrice\":77.0,\"postMarketChange\":0.910004,\"regularMarketChange\":1.23,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":1.64306,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":80.83,\"fiftyTwoWeekLow\":63.57,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"American International Group, I\",\"displayName\":\"American\",\"symbol\":\"AIG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":139.56,\"regularMarketDayHigh\":139.99,\"regularMarketDayRange\":\"135.86 - - 139.99\",\"regularMarketDayLow\":135.86,\"regularMarketVolume\":1987556,\"regularMarketPreviousClose\":137.02,\"bid\":138.18,\"ask\":141.09,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_311679\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Valero - Energy Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":137.82,\"averageDailyVolume3Month\":2775682,\"averageDailyVolume10Day\":2295210,\"fiftyTwoWeekLowChange\":19.349998,\"fiftyTwoWeekLowChangePercent\":0.16096829,\"fiftyTwoWeekRange\":\"120.21 - - 184.79\",\"fiftyTwoWeekHighChange\":-45.229996,\"fiftyTwoWeekHighChangePercent\":-0.24476431,\"fiftyTwoWeekChangePercent\":14.468503,\"dividendDate\":1734652800,\"earningsTimestamp\":1729765800,\"earningsTimestampStart\":1737639000,\"earningsTimestampEnd\":1737984600,\"earningsCallTimestampStart\":1729778400,\"earningsCallTimestampEnd\":1729778400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":4.23,\"trailingPE\":12.051813,\"dividendRate\":4.28,\"trailingAnnualDividendYield\":0.030871404,\"dividendYield\":3.12,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":11.58,\"epsForward\":9.65,\"epsCurrentYear\":8.56,\"priceEpsCurrentYear\":16.303738,\"sharesOutstanding\":316584992,\"bookValue\":79.767,\"fiftyDayAverage\":135.6244,\"fiftyDayAverageChange\":3.9355927,\"fiftyDayAverageChangePercent\":0.029018322,\"twoHundredDayAverage\":149.67735,\"twoHundredDayAverageChange\":-10.117355,\"twoHundredDayAverageChangePercent\":-0.06759443,\"marketCap\":44182601728,\"forwardPE\":14.462176,\"priceToBook\":1.7495958,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":379002600000,\"priceHint\":2,\"postMarketChangePercent\":0.24362,\"postMarketTime\":1731545649,\"postMarketPrice\":139.9,\"postMarketChange\":0.339996,\"regularMarketChange\":2.53999,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":1.85374,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":184.79,\"fiftyTwoWeekLow\":120.21,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"Valero Energy Corporation\",\"displayName\":\"Valero - Energy\",\"symbol\":\"VLO\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":37.98,\"regularMarketDayHigh\":38.2,\"regularMarketDayRange\":\"36.665 - - 38.2\",\"regularMarketDayLow\":36.665,\"regularMarketVolume\":5438247,\"regularMarketPreviousClose\":36.75,\"bid\":38.01,\"ask\":38.14,\"bidSize\":10,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_286798\",\"fullExchangeName\":\"NYSE\",\"longName\":\"MGM - Resorts International\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":36.7,\"averageDailyVolume3Month\":4442443,\"averageDailyVolume10Day\":5573960,\"fiftyTwoWeekLowChange\":4.540001,\"fiftyTwoWeekLowChangePercent\":0.13576558,\"fiftyTwoWeekRange\":\"33.44 - - 48.25\",\"fiftyTwoWeekHighChange\":-10.27,\"fiftyTwoWeekHighChangePercent\":-0.21284975,\"fiftyTwoWeekChangePercent\":-5.545884,\"dividendDate\":1671062400,\"earningsTimestamp\":1730319304,\"earningsTimestampStart\":1739271540,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730322000,\"earningsCallTimestampEnd\":1730322000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":13.612904,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.79,\"epsForward\":2.3,\"epsCurrentYear\":2.52,\"priceEpsCurrentYear\":15.071428,\"sharesOutstanding\":297740000,\"bookValue\":10.886,\"fiftyDayAverage\":38.3574,\"fiftyDayAverageChange\":-0.37739944,\"fiftyDayAverageChangePercent\":-0.009839026,\"twoHundredDayAverage\":41.0791,\"twoHundredDayAverageChange\":-3.099102,\"twoHundredDayAverageChangePercent\":-0.0754423,\"marketCap\":11308165120,\"forwardPE\":16.513044,\"priceToBook\":3.488885,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":578583000000,\"priceHint\":2,\"postMarketChangePercent\":0.31595296,\"postMarketTime\":1731545800,\"postMarketPrice\":38.1,\"postMarketChange\":0.11999893,\"regularMarketChange\":1.23,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":3.34694,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":48.25,\"fiftyTwoWeekLow\":33.44,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"MGM Resorts International\",\"displayName\":\"MGM - Resorts\",\"symbol\":\"MGM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":77.61,\"regularMarketDayHigh\":78.75,\"regularMarketDayRange\":\"77.505 - - 78.75\",\"regularMarketDayLow\":77.505,\"regularMarketVolume\":3880221,\"regularMarketPreviousClose\":77.95,\"bid\":77.55,\"ask\":77.56,\"bidSize\":8,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_135506\",\"fullExchangeName\":\"NYSE\",\"longName\":\"The - Bank of New York Mellon Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":78.12,\"averageDailyVolume3Month\":3913245,\"averageDailyVolume10Day\":3855960,\"fiftyTwoWeekLowChange\":31.57,\"fiftyTwoWeekLowChangePercent\":0.68570805,\"fiftyTwoWeekRange\":\"46.04 - - 80.29\",\"fiftyTwoWeekHighChange\":-2.6800003,\"fiftyTwoWeekHighChangePercent\":-0.033379003,\"fiftyTwoWeekChangePercent\":66.975044,\"dividendDate\":1730419200,\"earningsTimestamp\":1728642600,\"earningsTimestampStart\":1736508600,\"earningsTimestampEnd\":1736854200,\"earningsCallTimestampStart\":1728658800,\"earningsCallTimestampEnd\":1728658800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.73,\"trailingPE\":17.362417,\"dividendRate\":1.88,\"trailingAnnualDividendYield\":0.022193715,\"dividendYield\":2.41,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.47,\"epsForward\":6.53,\"epsCurrentYear\":5.85,\"priceEpsCurrentYear\":13.266667,\"sharesOutstanding\":727078016,\"bookValue\":51.781,\"fiftyDayAverage\":73.5576,\"fiftyDayAverageChange\":4.0523987,\"fiftyDayAverageChangePercent\":0.0550915,\"twoHundredDayAverage\":62.73405,\"twoHundredDayAverageChange\":14.87595,\"twoHundredDayAverageChangePercent\":0.2371272,\"marketCap\":56428523520,\"forwardPE\":11.885145,\"priceToBook\":1.4988123,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":105283800000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731544742,\"postMarketPrice\":77.61,\"postMarketChange\":0.0,\"regularMarketChange\":-0.339996,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.436172,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":80.29,\"fiftyTwoWeekLow\":46.04,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"The Bank of New York Mellon Cor\",\"displayName\":\"The - Bank of New York Mellon\",\"symbol\":\"BK\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":65.13,\"regularMarketDayHigh\":67.19,\"regularMarketDayRange\":\"64.9701 - - 67.19\",\"regularMarketDayLow\":64.9701,\"regularMarketVolume\":5324127,\"regularMarketPreviousClose\":65.12,\"bid\":65.18,\"ask\":66.62,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_260334235\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Synchrony - Financial\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":65.39,\"averageDailyVolume3Month\":3505622,\"averageDailyVolume10Day\":5028600,\"fiftyTwoWeekLowChange\":36.289997,\"fiftyTwoWeekLowChangePercent\":1.2583216,\"fiftyTwoWeekRange\":\"28.84 - - 67.76\",\"fiftyTwoWeekHighChange\":-2.630005,\"fiftyTwoWeekHighChangePercent\":-0.03881353,\"fiftyTwoWeekChangePercent\":125.25077,\"dividendDate\":1731628800,\"earningsTimestamp\":1729072804,\"earningsTimestampStart\":1737457200,\"earningsTimestampEnd\":1737975600,\"earningsCallTimestampStart\":1729080000,\"earningsCallTimestampEnd\":1729080000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.0,\"trailingPE\":8.458442,\"dividendRate\":1.0,\"trailingAnnualDividendYield\":0.015356265,\"dividendYield\":1.54,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":7.7,\"epsForward\":6.47,\"epsCurrentYear\":8.47,\"priceEpsCurrentYear\":7.6894917,\"sharesOutstanding\":389344000,\"bookValue\":37.916,\"fiftyDayAverage\":53.0292,\"fiftyDayAverageChange\":12.100796,\"fiftyDayAverageChangePercent\":0.22819117,\"twoHundredDayAverage\":46.3677,\"twoHundredDayAverageChange\":18.762299,\"twoHundredDayAverageChangePercent\":0.40464157,\"marketCap\":25357973504,\"forwardPE\":10.066461,\"priceToBook\":1.7177444,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1406813400000,\"priceHint\":2,\"postMarketChangePercent\":0.0767742,\"postMarketTime\":1731545456,\"postMarketPrice\":65.18,\"postMarketChange\":0.0500031,\"regularMarketChange\":0.00999451,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.0153478,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":67.76,\"fiftyTwoWeekLow\":28.84,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Synchrony Financial\",\"symbol\":\"SYF\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":152.2,\"regularMarketDayHigh\":154.6899,\"regularMarketDayRange\":\"151.43 - - 154.6899\",\"regularMarketDayLow\":151.43,\"regularMarketVolume\":2465054,\"regularMarketPreviousClose\":153.89,\"bid\":152.17,\"ask\":152.34,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_184945\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Nucor - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":153.51,\"averageDailyVolume3Month\":1708821,\"averageDailyVolume10Day\":2457660,\"fiftyTwoWeekLowChange\":18.779999,\"fiftyTwoWeekLowChangePercent\":0.1407585,\"fiftyTwoWeekRange\":\"133.42 - - 203.0\",\"fiftyTwoWeekHighChange\":-50.800003,\"fiftyTwoWeekHighChangePercent\":-0.25024632,\"fiftyTwoWeekChangePercent\":-1.7684281,\"dividendDate\":1731024000,\"earningsTimestamp\":1729542605,\"earningsTimestampStart\":1737975540,\"earningsTimestampEnd\":1738324800,\"earningsCallTimestampStart\":1729605600,\"earningsCallTimestampEnd\":1729605600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":2.16,\"trailingPE\":14.6487,\"dividendRate\":2.16,\"trailingAnnualDividendYield\":0.014036001,\"dividendYield\":1.4,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":10.39,\"epsForward\":9.36,\"epsCurrentYear\":8.59,\"priceEpsCurrentYear\":17.718277,\"sharesOutstanding\":234812992,\"bookValue\":87.188,\"fiftyDayAverage\":148.5812,\"fiftyDayAverageChange\":3.6187897,\"fiftyDayAverageChangePercent\":0.024355635,\"twoHundredDayAverage\":165.53185,\"twoHundredDayAverageChange\":-13.331848,\"twoHundredDayAverageChangePercent\":-0.08053948,\"marketCap\":36135321600,\"forwardPE\":16.260685,\"priceToBook\":1.7456529,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":-0.788434,\"postMarketTime\":1731545769,\"postMarketPrice\":151.0,\"postMarketChange\":-1.2,\"regularMarketChange\":-1.69,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.09819,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":203.0,\"fiftyTwoWeekLow\":133.42,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Nucor Corporation\",\"displayName\":\"Nucor\",\"symbol\":\"NUE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":16.95,\"regularMarketDayHigh\":17.09,\"regularMarketDayRange\":\"16.795 - - 17.09\",\"regularMarketDayLow\":16.795,\"regularMarketVolume\":4377694,\"regularMarketPreviousClose\":16.9,\"bid\":16.89,\"ask\":16.96,\"bidSize\":19,\"askSize\":23,\"market\":\"us_market\",\"messageBoardId\":\"finmb_393940\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Plains - All American Pipeline, L.P.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":17.02,\"averageDailyVolume3Month\":2422798,\"averageDailyVolume10Day\":4669010,\"fiftyTwoWeekLowChange\":2.4900007,\"fiftyTwoWeekLowChangePercent\":0.17219922,\"fiftyTwoWeekRange\":\"14.46 - - 19.17\",\"fiftyTwoWeekHighChange\":-2.2199993,\"fiftyTwoWeekHighChangePercent\":-0.11580591,\"fiftyTwoWeekChangePercent\":10.929322,\"dividendDate\":1731542400,\"earningsTimestamp\":1731072600,\"earningsTimestampStart\":1738935000,\"earningsTimestampEnd\":1739280600,\"earningsCallTimestampStart\":1731078000,\"earningsCallTimestampEnd\":1731078000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.27,\"trailingPE\":15.000001,\"dividendRate\":1.27,\"trailingAnnualDividendYield\":0.07514793,\"dividendYield\":7.52,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.13,\"epsForward\":1.39,\"epsCurrentYear\":1.32,\"priceEpsCurrentYear\":12.840909,\"sharesOutstanding\":703668992,\"bookValue\":11.277,\"fiftyDayAverage\":17.3534,\"fiftyDayAverageChange\":-0.4033985,\"fiftyDayAverageChangePercent\":-0.02324608,\"twoHundredDayAverage\":17.34075,\"twoHundredDayAverageChange\":-0.39074898,\"twoHundredDayAverageChangePercent\":-0.02253357,\"marketCap\":11927189504,\"forwardPE\":12.194245,\"priceToBook\":1.5030594,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":911399400000,\"priceHint\":2,\"postMarketChangePercent\":-1.06195,\"postMarketTime\":1731545764,\"postMarketPrice\":16.77,\"postMarketChange\":-0.18,\"regularMarketChange\":0.050001144,\"regularMarketTime\":1731531600,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.29586476,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":19.17,\"fiftyTwoWeekLow\":14.46,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"Plains All American Pipeline, L\",\"displayName\":\"Plains - All American Pipeline, L.P\",\"symbol\":\"PAA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":24.12,\"regularMarketDayHigh\":24.82,\"regularMarketDayRange\":\"24.11 - - 24.82\",\"regularMarketDayLow\":24.11,\"regularMarketVolume\":1896425,\"regularMarketPreviousClose\":24.63,\"bid\":24.19,\"ask\":24.25,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_392371\",\"fullExchangeName\":\"NYSE\",\"longName\":\"AngloGold - Ashanti plc\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":24.74,\"averageDailyVolume3Month\":2217604,\"averageDailyVolume10Day\":2315830,\"fiftyTwoWeekLowChange\":8.320001,\"fiftyTwoWeekLowChangePercent\":0.5265823,\"fiftyTwoWeekRange\":\"15.8 - - 32.57\",\"fiftyTwoWeekHighChange\":-8.449999,\"fiftyTwoWeekHighChangePercent\":-0.25944117,\"fiftyTwoWeekChangePercent\":40.887844,\"dividendDate\":1726185600,\"earningsTimestamp\":1730978100,\"earningsTimestampStart\":1730978100,\"earningsTimestampEnd\":1730978100,\"earningsCallTimestampStart\":1722945600,\"earningsCallTimestampEnd\":1722945600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":18.135338,\"dividendRate\":0.44,\"trailingAnnualDividendYield\":0.0,\"dividendYield\":1.82,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.33,\"epsForward\":2.75,\"epsCurrentYear\":2.32,\"priceEpsCurrentYear\":10.396552,\"sharesOutstanding\":420559008,\"bookValue\":9.809,\"fiftyDayAverage\":27.7892,\"fiftyDayAverageChange\":-3.669199,\"fiftyDayAverageChangePercent\":-0.13203686,\"twoHundredDayAverage\":25.10985,\"twoHundredDayAverageChange\":-0.9898491,\"twoHundredDayAverageChangePercent\":-0.03942075,\"marketCap\":10143883264,\"forwardPE\":8.770909,\"priceToBook\":2.4589663,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"AngloGold - Ashanti Limited\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":902323800000,\"priceHint\":2,\"postMarketChangePercent\":-0.0563901,\"postMarketTime\":1731544192,\"postMarketPrice\":24.1064,\"postMarketChange\":-0.0136013,\"regularMarketChange\":-0.509998,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-2.07064,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":32.57,\"fiftyTwoWeekLow\":15.8,\"averageAnalystRating\":\"3.0 - - Hold\",\"shortName\":\"AngloGold Ashanti PLC\",\"displayName\":\"AngloGold - Ashanti\",\"symbol\":\"AU\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":82.02,\"regularMarketDayHigh\":82.8342,\"regularMarketDayRange\":\"81.945 - - 82.8342\",\"regularMarketDayLow\":81.945,\"regularMarketVolume\":1603748,\"regularMarketPreviousClose\":82.2,\"bid\":82.2,\"ask\":82.36,\"bidSize\":11,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_185648\",\"fullExchangeName\":\"NYSE\",\"longName\":\"MetLife, - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":82.11,\"averageDailyVolume3Month\":3241420,\"averageDailyVolume10Day\":4189800,\"fiftyTwoWeekLowChange\":20.409996,\"fiftyTwoWeekLowChangePercent\":0.3312773,\"fiftyTwoWeekRange\":\"61.61 - - 86.95\",\"fiftyTwoWeekHighChange\":-4.9300003,\"fiftyTwoWeekHighChangePercent\":-0.056699257,\"fiftyTwoWeekChangePercent\":32.22635,\"dividendDate\":1734307200,\"earningsTimestamp\":1730319300,\"earningsTimestampStart\":1738184400,\"earningsTimestampEnd\":1738616400,\"earningsCallTimestampStart\":1730379600,\"earningsCallTimestampEnd\":1730379600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":2.13,\"trailingPE\":16.636917,\"dividendRate\":2.18,\"trailingAnnualDividendYield\":0.025912412,\"dividendYield\":2.65,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.93,\"epsForward\":9.69,\"epsCurrentYear\":8.31,\"priceEpsCurrentYear\":9.870035,\"sharesOutstanding\":692419968,\"bookValue\":44.525,\"fiftyDayAverage\":81.2908,\"fiftyDayAverageChange\":0.72919464,\"fiftyDayAverageChangePercent\":0.008970198,\"twoHundredDayAverage\":74.00925,\"twoHundredDayAverageChange\":8.01075,\"twoHundredDayAverageChangePercent\":0.10823985,\"marketCap\":56792285184,\"forwardPE\":8.464396,\"priceToBook\":1.842111,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":954941400000,\"priceHint\":2,\"postMarketChangePercent\":-0.9997558,\"postMarketTime\":1731541902,\"postMarketPrice\":81.2,\"postMarketChange\":-0.8199997,\"regularMarketChange\":-0.18,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.218978,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":86.95,\"fiftyTwoWeekLow\":61.61,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"MetLife, Inc.\",\"displayName\":\"MetLife\",\"symbol\":\"MET\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":37.86,\"regularMarketDayHigh\":38.495,\"regularMarketDayRange\":\"37.82 - - 38.495\",\"regularMarketDayLow\":37.82,\"regularMarketVolume\":1806797,\"regularMarketPreviousClose\":37.96,\"bid\":37.83,\"ask\":43.67,\"bidSize\":13,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_26510\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Flex - Ltd.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":38.02,\"averageDailyVolume3Month\":3371243,\"averageDailyVolume10Day\":2905200,\"fiftyTwoWeekLowChange\":19.058191,\"fiftyTwoWeekLowChangePercent\":1.013636,\"fiftyTwoWeekRange\":\"18.80181 - - 40.3\",\"fiftyTwoWeekHighChange\":-2.4399986,\"fiftyTwoWeekHighChangePercent\":-0.060545873,\"fiftyTwoWeekChangePercent\":90.44814,\"earningsTimestamp\":1730289903,\"earningsTimestampStart\":1730289903,\"earningsTimestampEnd\":1730289903,\"earningsCallTimestampStart\":1730291400,\"earningsCallTimestampEnd\":1730291400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":18.201923,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.08,\"epsForward\":2.78,\"epsCurrentYear\":2.45,\"priceEpsCurrentYear\":15.453061,\"sharesOutstanding\":387783008,\"bookValue\":12.836,\"fiftyDayAverage\":33.8164,\"fiftyDayAverageChange\":4.043602,\"fiftyDayAverageChangePercent\":0.11957518,\"twoHundredDayAverage\":30.6017,\"twoHundredDayAverageChange\":7.258301,\"twoHundredDayAverageChangePercent\":0.2371862,\"marketCap\":14681464832,\"forwardPE\":13.618706,\"priceToBook\":2.949517,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":764001000000,\"priceHint\":2,\"postMarketChangePercent\":0.0264087,\"postMarketTime\":1731540052,\"postMarketPrice\":37.87,\"postMarketChange\":0.00999832,\"regularMarketChange\":-0.099998474,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.2634312,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":40.3,\"fiftyTwoWeekLow\":18.80181,\"averageAnalystRating\":\"1.8 - - Buy\",\"shortName\":\"Flex Ltd.\",\"displayName\":\"Flex\",\"symbol\":\"FLEX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":36.79,\"regularMarketDayHigh\":37.075,\"regularMarketDayRange\":\"36.27 - - 37.075\",\"regularMarketDayLow\":36.27,\"regularMarketVolume\":1697966,\"regularMarketPreviousClose\":36.52,\"bid\":36.51,\"ask\":37.21,\"bidSize\":18,\"askSize\":13,\"market\":\"us_market\",\"messageBoardId\":\"finmb_4005629\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Tenaris - S.A.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":36.55,\"averageDailyVolume3Month\":1900690,\"averageDailyVolume10Day\":2181720,\"fiftyTwoWeekLowChange\":9.550001,\"fiftyTwoWeekLowChangePercent\":0.35058743,\"fiftyTwoWeekRange\":\"27.24 - - 40.73\",\"fiftyTwoWeekHighChange\":-3.9399986,\"fiftyTwoWeekHighChangePercent\":-0.09673456,\"fiftyTwoWeekChangePercent\":9.657228,\"dividendDate\":1716940800,\"earningsTimestamp\":1730890740,\"earningsTimestampStart\":1730890740,\"earningsTimestampEnd\":1730890740,\"earningsCallTimestampStart\":1730984400,\"earningsCallTimestampEnd\":1730984400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.67,\"trailingPE\":7.9288797,\"dividendRate\":1.34,\"trailingAnnualDividendYield\":0.018346112,\"dividendYield\":3.67,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.64,\"epsForward\":3.21,\"epsCurrentYear\":3.09,\"priceEpsCurrentYear\":11.90615,\"sharesOutstanding\":554428992,\"bookValue\":15.512,\"fiftyDayAverage\":31.8038,\"fiftyDayAverageChange\":4.9862003,\"fiftyDayAverageChangePercent\":0.15678002,\"twoHundredDayAverage\":33.00695,\"twoHundredDayAverageChange\":3.7830505,\"twoHundredDayAverageChangePercent\":0.11461376,\"marketCap\":20850329600,\"forwardPE\":11.46106,\"priceToBook\":2.3717122,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1040049000000,\"priceHint\":2,\"postMarketChangePercent\":-0.78826,\"postMarketTime\":1731531914,\"postMarketPrice\":36.5,\"postMarketChange\":-0.290001,\"regularMarketChange\":0.27,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.739322,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":40.73,\"fiftyTwoWeekLow\":27.24,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Tenaris S.A.\",\"symbol\":\"TS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":13.12,\"regularMarketDayHigh\":13.18,\"regularMarketDayRange\":\"13.02 - - 13.18\",\"regularMarketDayLow\":13.02,\"regularMarketVolume\":6477852,\"regularMarketPreviousClose\":13.3,\"bid\":13.08,\"ask\":13.12,\"bidSize\":32,\"askSize\":31,\"market\":\"us_market\",\"messageBoardId\":\"finmb_873861\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Stellantis - N.V.\",\"financialCurrency\":\"EUR\",\"regularMarketOpen\":13.09,\"averageDailyVolume3Month\":8425795,\"averageDailyVolume10Day\":8585080,\"fiftyTwoWeekLowChange\":0.3800001,\"fiftyTwoWeekLowChangePercent\":0.029827325,\"fiftyTwoWeekRange\":\"12.74 - - 29.51\",\"fiftyTwoWeekHighChange\":-16.39,\"fiftyTwoWeekHighChangePercent\":-0.5554049,\"fiftyTwoWeekChangePercent\":-34.136547,\"dividendDate\":1714694400,\"earningsTimestamp\":1730372340,\"earningsTimestampStart\":1739428200,\"earningsTimestampEnd\":1740033000,\"earningsCallTimestampStart\":1721908800,\"earningsCallTimestampEnd\":1721908800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.55,\"trailingPE\":2.870897,\"dividendRate\":1.66,\"trailingAnnualDividendYield\":0.11654135,\"dividendYield\":12.5,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.57,\"epsForward\":2.98,\"epsCurrentYear\":2.46,\"priceEpsCurrentYear\":5.333333,\"sharesOutstanding\":2869590016,\"bookValue\":27.782,\"fiftyDayAverage\":14.0734,\"fiftyDayAverageChange\":-0.95339966,\"fiftyDayAverageChangePercent\":-0.0677448,\"twoHundredDayAverage\":20.27695,\"twoHundredDayAverageChange\":-7.156951,\"twoHundredDayAverageChangePercent\":-0.35295993,\"marketCap\":39237197824,\"forwardPE\":4.4026847,\"priceToBook\":0.47224823,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Peugeot - S.A.\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1276090200000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731545993,\"postMarketPrice\":13.12,\"postMarketChange\":0.0,\"regularMarketChange\":-0.18,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.35339,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":29.51,\"fiftyTwoWeekLow\":12.74,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Stellantis N.V.\",\"displayName\":\"Stellantis\",\"symbol\":\"STLA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":33.35,\"regularMarketDayHigh\":33.92,\"regularMarketDayRange\":\"32.615 - - 33.92\",\"regularMarketDayLow\":32.615,\"regularMarketVolume\":4907377,\"regularMarketPreviousClose\":33.76,\"bid\":33.02,\"ask\":33.71,\"bidSize\":14,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_527692\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Canadian - Natural Resources Limited\",\"financialCurrency\":\"CAD\",\"regularMarketOpen\":33.88,\"averageDailyVolume3Month\":4610262,\"averageDailyVolume10Day\":3721470,\"fiftyTwoWeekLowChange\":3.8949986,\"fiftyTwoWeekLowChangePercent\":0.13223557,\"fiftyTwoWeekRange\":\"29.455 - - 41.29\",\"fiftyTwoWeekHighChange\":-7.9400024,\"fiftyTwoWeekHighChangePercent\":-0.19229843,\"fiftyTwoWeekChangePercent\":4.3328643,\"dividendDate\":1735862400,\"earningsTimestamp\":1730365200,\"earningsTimestampStart\":1730365200,\"earningsTimestampEnd\":1730365200,\"earningsCallTimestampStart\":1730386800,\"earningsCallTimestampEnd\":1730386800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":2.075,\"trailingPE\":13.393574,\"dividendRate\":1.57,\"trailingAnnualDividendYield\":0.061463274,\"dividendYield\":4.66,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.49,\"epsForward\":2.59,\"epsCurrentYear\":2.45,\"priceEpsCurrentYear\":13.612244,\"sharesOutstanding\":2113129984,\"bookValue\":18.88,\"fiftyDayAverage\":34.4314,\"fiftyDayAverageChange\":-1.0814018,\"fiftyDayAverageChangePercent\":-0.03140743,\"twoHundredDayAverage\":35.5952,\"twoHundredDayAverageChange\":-2.245201,\"twoHundredDayAverageChangePercent\":-0.06307595,\"marketCap\":71440031744,\"forwardPE\":12.876448,\"priceToBook\":1.7664195,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":965050200000,\"priceHint\":2,\"postMarketChangePercent\":-0.05995995,\"postMarketTime\":1731539051,\"postMarketPrice\":33.33,\"postMarketChange\":-0.019996643,\"regularMarketChange\":-0.41,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.21445,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":41.29,\"fiftyTwoWeekLow\":29.455,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"Canadian Natural Resources Limi\",\"displayName\":\"Canadian - Natural Resources\",\"symbol\":\"CNQ\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":129.91,\"regularMarketDayHigh\":130.86,\"regularMarketDayRange\":\"126.8 - - 130.86\",\"regularMarketDayLow\":126.8,\"regularMarketVolume\":1543090,\"regularMarketPreviousClose\":127.7,\"bid\":128.25,\"ask\":131.5,\"bidSize\":11,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_27306532\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Phillips - 66\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":128.23,\"averageDailyVolume3Month\":2692509,\"averageDailyVolume10Day\":2548100,\"fiftyTwoWeekLowChange\":18.010002,\"fiftyTwoWeekLowChangePercent\":0.1609473,\"fiftyTwoWeekRange\":\"111.9 - - 174.08\",\"fiftyTwoWeekHighChange\":-44.17,\"fiftyTwoWeekHighChangePercent\":-0.2537339,\"fiftyTwoWeekChangePercent\":12.481284,\"dividendDate\":1733097600,\"earningsTimestamp\":1730199600,\"earningsTimestampStart\":1738157400,\"earningsTimestampEnd\":1738589400,\"earningsCallTimestampStart\":1730217600,\"earningsCallTimestampEnd\":1730217600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":4.4,\"trailingPE\":16.591316,\"dividendRate\":4.6,\"trailingAnnualDividendYield\":0.034455758,\"dividendYield\":3.6,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":7.83,\"epsForward\":9.49,\"epsCurrentYear\":7.59,\"priceEpsCurrentYear\":17.115942,\"sharesOutstanding\":412988992,\"bookValue\":69.547,\"fiftyDayAverage\":129.7242,\"fiftyDayAverageChange\":0.18580627,\"fiftyDayAverageChangePercent\":0.0014323178,\"twoHundredDayAverage\":141.31966,\"twoHundredDayAverageChange\":-11.409653,\"twoHundredDayAverageChangePercent\":-0.08073649,\"marketCap\":53651402752,\"forwardPE\":13.689147,\"priceToBook\":1.8679456,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1334237400000,\"priceHint\":2,\"postMarketChangePercent\":0.7867009,\"postMarketTime\":1731544858,\"postMarketPrice\":130.932,\"postMarketChange\":1.0220032,\"regularMarketChange\":2.21001,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":1.73062,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":174.08,\"fiftyTwoWeekLow\":111.9,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"Phillips 66\",\"symbol\":\"PSX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":4.64,\"regularMarketDayHigh\":4.68,\"regularMarketDayRange\":\"4.6 - - 4.68\",\"regularMarketDayLow\":4.6,\"regularMarketVolume\":3044007,\"regularMarketPreviousClose\":4.66,\"bid\":4.64,\"ask\":4.65,\"bidSize\":341,\"askSize\":280,\"market\":\"us_market\",\"messageBoardId\":\"finmb_323930\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Banco - Santander, S.A.\",\"financialCurrency\":\"EUR\",\"regularMarketOpen\":4.66,\"averageDailyVolume3Month\":2595428,\"averageDailyVolume10Day\":3327750,\"fiftyTwoWeekLowChange\":0.80999994,\"fiftyTwoWeekLowChangePercent\":0.21148825,\"fiftyTwoWeekRange\":\"3.83 - - 5.27\",\"fiftyTwoWeekHighChange\":-0.6300001,\"fiftyTwoWeekHighChangePercent\":-0.11954462,\"fiftyTwoWeekChangePercent\":16.290724,\"dividendDate\":1730851200,\"earningsTimestamp\":1730185203,\"earningsTimestampStart\":1738135800,\"earningsTimestampEnd\":1738567800,\"earningsCallTimestampStart\":1738753140,\"earningsCallTimestampEnd\":1738753140,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.195,\"trailingPE\":5.8734174,\"dividendRate\":0.22,\"trailingAnnualDividendYield\":0.041845493,\"dividendYield\":4.66,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.79,\"epsForward\":0.79,\"epsCurrentYear\":0.75,\"priceEpsCurrentYear\":6.1866665,\"sharesOutstanding\":15280499712,\"bookValue\":6.277,\"fiftyDayAverage\":4.9358,\"fiftyDayAverageChange\":-0.2958002,\"fiftyDayAverageChangePercent\":-0.059929535,\"twoHundredDayAverage\":4.74525,\"twoHundredDayAverageChange\":-0.10525036,\"twoHundredDayAverageChangePercent\":-0.02218015,\"marketCap\":71712129024,\"forwardPE\":5.8734174,\"priceToBook\":0.7392066,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":554650200000,\"priceHint\":4,\"postMarketChangePercent\":0.213364,\"postMarketTime\":1731544871,\"postMarketPrice\":4.6499,\"postMarketChange\":0.00990009,\"regularMarketChange\":-0.02,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.429184,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":5.27,\"fiftyTwoWeekLow\":3.83,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Banco Santander, S.A. Sponsored\",\"symbol\":\"SAN\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":185.53,\"regularMarketDayHigh\":189.18,\"regularMarketDayRange\":\"184.91 - - 189.18\",\"regularMarketDayLow\":184.91,\"regularMarketVolume\":2468924,\"regularMarketPreviousClose\":186.79,\"bid\":184.5,\"ask\":187.47,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_336241\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Capital - One Financial Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":187.18,\"averageDailyVolume3Month\":2652767,\"averageDailyVolume10Day\":4449980,\"fiftyTwoWeekLowChange\":81.32,\"fiftyTwoWeekLowChangePercent\":0.7803474,\"fiftyTwoWeekRange\":\"104.21 - - 198.3\",\"fiftyTwoWeekHighChange\":-12.770004,\"fiftyTwoWeekHighChangePercent\":-0.064397395,\"fiftyTwoWeekChangePercent\":76.678406,\"dividendDate\":1732233600,\"earningsTimestamp\":1729800301,\"earningsTimestampStart\":1737666300,\"earningsTimestampEnd\":1738011900,\"earningsCallTimestampStart\":1729803600,\"earningsCallTimestampEnd\":1729803600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":2.4,\"trailingPE\":17.519358,\"dividendRate\":2.4,\"trailingAnnualDividendYield\":0.012848655,\"dividendYield\":1.28,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":10.59,\"epsForward\":15.66,\"epsCurrentYear\":13.62,\"priceEpsCurrentYear\":13.62188,\"sharesOutstanding\":381510016,\"bookValue\":152.237,\"fiftyDayAverage\":155.9946,\"fiftyDayAverageChange\":29.5354,\"fiftyDayAverageChangePercent\":0.18933605,\"twoHundredDayAverage\":143.934,\"twoHundredDayAverageChange\":41.595993,\"twoHundredDayAverageChangePercent\":0.2889935,\"marketCap\":70781550592,\"forwardPE\":11.847382,\"priceToBook\":1.218692,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":784996200000,\"priceHint\":2,\"postMarketChangePercent\":0.7358893,\"postMarketTime\":1731546000,\"postMarketPrice\":186.8953,\"postMarketChange\":1.3652954,\"regularMarketChange\":-1.25999,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.674551,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":198.3,\"fiftyTwoWeekLow\":104.21,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"Capital One Financial Corporati\",\"displayName\":\"Capital - One Financial\",\"symbol\":\"COF\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":25.87,\"regularMarketDayHigh\":26.21,\"regularMarketDayRange\":\"25.695 - - 26.21\",\"regularMarketDayLow\":25.695,\"regularMarketVolume\":4990316,\"regularMarketPreviousClose\":27.15,\"bid\":25.88,\"ask\":25.94,\"bidSize\":32,\"askSize\":32,\"market\":\"us_market\",\"messageBoardId\":\"finmb_138644\",\"fullExchangeName\":\"NYSE\",\"longName\":\"STMicroelectronics - N.V.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":26.09,\"averageDailyVolume3Month\":4798817,\"averageDailyVolume10Day\":5750500,\"fiftyTwoWeekLowChange\":0.17500114,\"fiftyTwoWeekLowChangePercent\":0.006810708,\"fiftyTwoWeekRange\":\"25.695 - - 51.27\",\"fiftyTwoWeekHighChange\":-25.4,\"fiftyTwoWeekHighChangePercent\":-0.4954164,\"fiftyTwoWeekChangePercent\":-42.967373,\"dividendDate\":1735257600,\"earningsTimestamp\":1730354400,\"earningsTimestampStart\":1737617400,\"earningsTimestampEnd\":1737963000,\"earningsCallTimestampStart\":1730363400,\"earningsCallTimestampEnd\":1730363400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.36,\"trailingPE\":11.150863,\"dividendRate\":0.36,\"trailingAnnualDividendYield\":0.013259669,\"dividendYield\":1.33,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.32,\"epsForward\":1.39,\"epsCurrentYear\":1.66,\"priceEpsCurrentYear\":15.584338,\"sharesOutstanding\":899718976,\"bookValue\":19.482,\"fiftyDayAverage\":27.96,\"fiftyDayAverageChange\":-2.0899982,\"fiftyDayAverageChangePercent\":-0.07474958,\"twoHundredDayAverage\":37.33915,\"twoHundredDayAverageChange\":-11.469149,\"twoHundredDayAverageChangePercent\":-0.30716148,\"marketCap\":24345145344,\"forwardPE\":18.611511,\"priceToBook\":1.3278924,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":786897000000,\"priceHint\":2,\"postMarketChangePercent\":-0.07731139,\"postMarketTime\":1731545400,\"postMarketPrice\":25.85,\"postMarketChange\":-0.020000458,\"regularMarketChange\":-1.28,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-4.71454,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":51.27,\"fiftyTwoWeekLow\":25.695,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"STMicroelectronics N.V.\",\"displayName\":\"STMicroelectronics\",\"symbol\":\"STM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":131.45,\"regularMarketDayHigh\":133.07,\"regularMarketDayRange\":\"130.85 - - 133.07\",\"regularMarketDayLow\":130.85,\"regularMarketVolume\":2039700,\"regularMarketPreviousClose\":130.35,\"bid\":130.6,\"ask\":131.7,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_289194\",\"fullExchangeName\":\"NYSE\",\"longName\":\"3M - Company\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":132.01,\"averageDailyVolume3Month\":3646189,\"averageDailyVolume10Day\":3585090,\"fiftyTwoWeekLowChange\":55.79782,\"fiftyTwoWeekLowChangePercent\":0.7375574,\"fiftyTwoWeekRange\":\"75.652176 - - 141.34\",\"fiftyTwoWeekHighChange\":-9.889999,\"fiftyTwoWeekHighChangePercent\":-0.06997311,\"fiftyTwoWeekChangePercent\":64.260994,\"dividendDate\":1733961600,\"earningsTimestamp\":1729593008,\"earningsTimestampStart\":1737469800,\"earningsTimestampEnd\":1737988200,\"earningsCallTimestampStart\":1729602000,\"earningsCallTimestampEnd\":1729602000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":4.41,\"trailingPE\":13.565532,\"dividendRate\":2.8,\"trailingAnnualDividendYield\":0.033831988,\"dividendYield\":2.15,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":9.69,\"epsForward\":7.9,\"epsCurrentYear\":7.28,\"priceEpsCurrentYear\":18.056318,\"sharesOutstanding\":544558976,\"bookValue\":8.524,\"fiftyDayAverage\":132.7602,\"fiftyDayAverageChange\":-1.3101959,\"fiftyDayAverageChangePercent\":-0.009868891,\"twoHundredDayAverage\":107.596146,\"twoHundredDayAverageChange\":23.853851,\"twoHundredDayAverageChangePercent\":0.22169802,\"marketCap\":71582277632,\"forwardPE\":16.63924,\"priceToBook\":15.421164,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":-252322200000,\"priceHint\":2,\"postMarketChangePercent\":0.0228214,\"postMarketTime\":1731545635,\"postMarketPrice\":131.48,\"postMarketChange\":0.0299988,\"regularMarketChange\":1.09999,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.843875,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":141.34,\"fiftyTwoWeekLow\":75.652176,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"3M Company\",\"symbol\":\"MMM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":71.02,\"regularMarketDayHigh\":71.44,\"regularMarketDayRange\":\"70.67 - - 71.44\",\"regularMarketDayLow\":70.67,\"regularMarketVolume\":882808,\"regularMarketPreviousClose\":71.3,\"bid\":71.18,\"ask\":72.06,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_166762\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Unum - Group\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":70.9,\"averageDailyVolume3Month\":1228500,\"averageDailyVolume10Day\":1392790,\"fiftyTwoWeekLowChange\":29.159996,\"fiftyTwoWeekLowChangePercent\":0.69660765,\"fiftyTwoWeekRange\":\"41.86 - - 71.44\",\"fiftyTwoWeekHighChange\":-0.4200058,\"fiftyTwoWeekHighChangePercent\":-0.0058791405,\"fiftyTwoWeekChangePercent\":68.77376,\"dividendDate\":1731628800,\"earningsTimestamp\":1738702800,\"earningsTimestampStart\":1738702800,\"earningsTimestampEnd\":1738702800,\"earningsCallTimestampStart\":1738760400,\"earningsCallTimestampEnd\":1738760400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.57,\"trailingPE\":7.736383,\"dividendRate\":1.68,\"trailingAnnualDividendYield\":0.022019636,\"dividendYield\":2.36,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":9.18,\"epsForward\":9.04,\"epsCurrentYear\":8.55,\"priceEpsCurrentYear\":8.306432,\"sharesOutstanding\":182612000,\"bookValue\":59.357,\"fiftyDayAverage\":61.1924,\"fiftyDayAverageChange\":9.827595,\"fiftyDayAverageChangePercent\":0.16060156,\"twoHundredDayAverage\":54.1604,\"twoHundredDayAverageChange\":16.859596,\"twoHundredDayAverageChangePercent\":0.3112901,\"marketCap\":13020237824,\"forwardPE\":7.8561945,\"priceToBook\":1.196489,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":531671400000,\"priceHint\":2,\"postMarketChangePercent\":0.7744341,\"postMarketTime\":1731537010,\"postMarketPrice\":71.57,\"postMarketChange\":0.55000305,\"regularMarketChange\":-0.280006,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.392716,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":71.44,\"fiftyTwoWeekLow\":41.86,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"Unum Group\",\"displayName\":\"Unum\",\"symbol\":\"UNM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":36.58,\"regularMarketDayHigh\":37.18,\"regularMarketDayRange\":\"36.47 - - 37.18\",\"regularMarketDayLow\":36.47,\"regularMarketVolume\":2182501,\"regularMarketPreviousClose\":36.66,\"bid\":36.4,\"ask\":37.68,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_955855\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Ally - Financial Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":36.9,\"averageDailyVolume3Month\":3999852,\"averageDailyVolume10Day\":3041320,\"fiftyTwoWeekLowChange\":10.080002,\"fiftyTwoWeekLowChangePercent\":0.38037744,\"fiftyTwoWeekRange\":\"26.5 - - 45.46\",\"fiftyTwoWeekHighChange\":-8.879997,\"fiftyTwoWeekHighChangePercent\":-0.1953365,\"fiftyTwoWeekChangePercent\":34.977913,\"dividendDate\":1731628800,\"earningsTimestamp\":1729250702,\"earningsTimestampStart\":1737120600,\"earningsTimestampEnd\":1737466200,\"earningsCallTimestampStart\":1729256400,\"earningsCallTimestampEnd\":1729256400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.2,\"trailingPE\":14.632001,\"dividendRate\":1.2,\"trailingAnnualDividendYield\":0.032733224,\"dividendYield\":3.27,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.5,\"epsForward\":4.15,\"epsCurrentYear\":2.94,\"priceEpsCurrentYear\":12.442177,\"sharesOutstanding\":304715008,\"bookValue\":40.697,\"fiftyDayAverage\":35.398,\"fiftyDayAverageChange\":1.182003,\"fiftyDayAverageChangePercent\":0.033391804,\"twoHundredDayAverage\":38.4048,\"twoHundredDayAverageChange\":-1.8247986,\"twoHundredDayAverageChangePercent\":-0.047514856,\"marketCap\":11146475520,\"forwardPE\":8.814458,\"priceToBook\":0.8988378,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1390919400000,\"priceHint\":2,\"postMarketChangePercent\":1.53088,\"postMarketTime\":1731545589,\"postMarketPrice\":37.14,\"postMarketChange\":0.559998,\"regularMarketChange\":-0.079998,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.218216,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":45.46,\"fiftyTwoWeekLow\":26.5,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Ally Financial Inc.\",\"displayName\":\"Ally Financial\",\"symbol\":\"ALLY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":51.87,\"regularMarketDayHigh\":52.07,\"regularMarketDayRange\":\"50.97 - - 52.07\",\"regularMarketDayLow\":50.97,\"regularMarketVolume\":3812617,\"regularMarketPreviousClose\":51.43,\"bid\":51.8,\"ask\":52.25,\"bidSize\":9,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_251704\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Archer-Daniels-Midland - Company\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":51.37,\"averageDailyVolume3Month\":2729500,\"averageDailyVolume10Day\":4094970,\"fiftyTwoWeekLowChange\":2.9500008,\"fiftyTwoWeekLowChangePercent\":0.06030255,\"fiftyTwoWeekRange\":\"48.92 - - 77.35\",\"fiftyTwoWeekHighChange\":-25.48,\"fiftyTwoWeekHighChangePercent\":-0.32941177,\"fiftyTwoWeekChangePercent\":-29.829544,\"dividendDate\":1631059200,\"earningsTimestamp\":1730768400,\"earningsTimestampStart\":1730768400,\"earningsTimestampEnd\":1730768400,\"earningsCallTimestampStart\":1730818800,\"earningsCallTimestampEnd\":1730818800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.9,\"trailingPE\":10.332669,\"dividendRate\":2.0,\"trailingAnnualDividendYield\":0.036943417,\"dividendYield\":3.89,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":5.02,\"epsForward\":5.07,\"epsCurrentYear\":4.7,\"priceEpsCurrentYear\":11.03617,\"sharesOutstanding\":478142016,\"bookValue\":46.335,\"fiftyDayAverage\":57.5098,\"fiftyDayAverageChange\":-5.639801,\"fiftyDayAverageChangePercent\":-0.098066784,\"twoHundredDayAverage\":59.2669,\"twoHundredDayAverageChange\":-7.3969,\"twoHundredDayAverageChangePercent\":-0.1248066,\"marketCap\":24801226752,\"forwardPE\":10.230768,\"priceToBook\":1.1194562,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":0.07711764,\"postMarketTime\":1731545696,\"postMarketPrice\":51.91,\"postMarketChange\":0.040000916,\"regularMarketChange\":0.439999,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.855529,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":77.35,\"fiftyTwoWeekLow\":48.92,\"averageAnalystRating\":\"3.1 - - Hold\",\"shortName\":\"Archer-Daniels-Midland Company\",\"symbol\":\"ADM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":174.65,\"regularMarketDayHigh\":179.36,\"regularMarketDayRange\":\"174.34 - - 179.36\",\"regularMarketDayLow\":174.34,\"regularMarketVolume\":1932764,\"regularMarketPreviousClose\":177.77,\"bid\":174.65,\"ask\":176.71,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_3695566\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Discover - Financial Services\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":177.66,\"averageDailyVolume3Month\":1502123,\"averageDailyVolume10Day\":2899210,\"fiftyTwoWeekLowChange\":90.619995,\"fiftyTwoWeekLowChangePercent\":1.0784243,\"fiftyTwoWeekRange\":\"84.03 - - 188.26\",\"fiftyTwoWeekHighChange\":-13.610001,\"fiftyTwoWeekHighChangePercent\":-0.07229364,\"fiftyTwoWeekChangePercent\":107.422806,\"dividendDate\":1733356800,\"earningsTimestamp\":1729110120,\"earningsTimestampStart\":1736938740,\"earningsTimestampEnd\":1737374400,\"earningsCallTimestampStart\":1729166400,\"earningsCallTimestampEnd\":1729166400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":2.8,\"trailingPE\":14.050683,\"dividendRate\":2.8,\"trailingAnnualDividendYield\":0.015750688,\"dividendYield\":1.58,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":12.43,\"epsForward\":12.69,\"epsCurrentYear\":13.65,\"priceEpsCurrentYear\":12.794871,\"sharesOutstanding\":251072000,\"bookValue\":68.765,\"fiftyDayAverage\":146.1174,\"fiftyDayAverageChange\":28.532593,\"fiftyDayAverageChangePercent\":0.1952717,\"twoHundredDayAverage\":130.9052,\"twoHundredDayAverageChange\":43.744797,\"twoHundredDayAverageChangePercent\":0.3341716,\"marketCap\":43849723904,\"forwardPE\":13.762805,\"priceToBook\":2.5398095,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1181827800000,\"priceHint\":2,\"postMarketChangePercent\":-0.5553972,\"postMarketTime\":1731544601,\"postMarketPrice\":173.68,\"postMarketChange\":-0.9700012,\"regularMarketChange\":-3.12001,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.75508,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":188.26,\"fiftyTwoWeekLow\":84.03,\"averageAnalystRating\":\"2.6 - - Hold\",\"shortName\":\"Discover Financial Services\",\"symbol\":\"DFS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":42.21,\"regularMarketDayHigh\":42.46,\"regularMarketDayRange\":\"40.91 - - 42.46\",\"regularMarketDayLow\":40.91,\"regularMarketVolume\":2973670,\"regularMarketPreviousClose\":41.97,\"bid\":41.57,\"ask\":42.85,\"bidSize\":14,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1241057\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Ovintiv - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":42.1,\"averageDailyVolume3Month\":3125551,\"averageDailyVolume10Day\":2933960,\"fiftyTwoWeekLowChange\":5.299999,\"fiftyTwoWeekLowChangePercent\":0.1435925,\"fiftyTwoWeekRange\":\"36.91 - - 55.95\",\"fiftyTwoWeekHighChange\":-13.740002,\"fiftyTwoWeekHighChangePercent\":-0.24557644,\"fiftyTwoWeekChangePercent\":-3.7400246,\"dividendDate\":1735603200,\"earningsTimestamp\":1731016810,\"earningsTimestampStart\":1731016810,\"earningsTimestampEnd\":1731016810,\"earningsCallTimestampStart\":1731074400,\"earningsCallTimestampEnd\":1731074400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.2,\"trailingPE\":5.53937,\"dividendRate\":1.2,\"trailingAnnualDividendYield\":0.02859185,\"dividendYield\":2.86,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":7.62,\"epsForward\":6.26,\"epsCurrentYear\":7.34,\"priceEpsCurrentYear\":5.750681,\"sharesOutstanding\":260324000,\"bookValue\":40.918,\"fiftyDayAverage\":40.5598,\"fiftyDayAverageChange\":1.6501999,\"fiftyDayAverageChangePercent\":0.0406856,\"twoHundredDayAverage\":45.9508,\"twoHundredDayAverageChange\":-3.7408028,\"twoHundredDayAverageChangePercent\":-0.081408866,\"marketCap\":10988275712,\"forwardPE\":6.742811,\"priceToBook\":1.0315753,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1018272600000,\"priceHint\":2,\"postMarketChangePercent\":1.51623,\"postMarketTime\":1731545184,\"postMarketPrice\":42.85,\"postMarketChange\":0.639999,\"regularMarketChange\":0.239998,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.571832,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":55.95,\"fiftyTwoWeekLow\":36.91,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"Ovintiv Inc. (DE)\",\"symbol\":\"OVV\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":101.18,\"regularMarketDayHigh\":102.125,\"regularMarketDayRange\":\"100.76 - - 102.125\",\"regularMarketDayLow\":100.76,\"regularMarketVolume\":1736044,\"regularMarketPreviousClose\":101.12,\"bid\":101.1,\"ask\":101.27,\"bidSize\":15,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_346919\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Arch - Capital Group Ltd.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":101.12,\"averageDailyVolume3Month\":1687909,\"averageDailyVolume10Day\":2513360,\"fiftyTwoWeekLowChange\":28.330002,\"fiftyTwoWeekLowChangePercent\":0.3888813,\"fiftyTwoWeekRange\":\"72.85 - - 116.47\",\"fiftyTwoWeekHighChange\":-15.290001,\"fiftyTwoWeekHighChangePercent\":-0.13127844,\"fiftyTwoWeekChangePercent\":20.869673,\"earningsTimestamp\":1730318700,\"earningsTimestampStart\":1739357940,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730386800,\"earningsCallTimestampEnd\":1730386800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":6.790604,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":14.9,\"epsForward\":9.04,\"epsCurrentYear\":8.9,\"priceEpsCurrentYear\":11.36854,\"sharesOutstanding\":376241984,\"bookValue\":57.234,\"fiftyDayAverage\":108.4482,\"fiftyDayAverageChange\":-7.268196,\"fiftyDayAverageChangePercent\":-0.067019984,\"twoHundredDayAverage\":98.85385,\"twoHundredDayAverageChange\":2.326149,\"twoHundredDayAverageChangePercent\":0.023531193,\"marketCap\":38068162560,\"forwardPE\":11.192478,\"priceToBook\":1.7678303,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":811085400000,\"priceHint\":2,\"postMarketChangePercent\":-0.583123,\"postMarketTime\":1731541322,\"postMarketPrice\":100.59,\"postMarketChange\":-0.590004,\"regularMarketChange\":0.05999756,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.059333026,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":116.47,\"fiftyTwoWeekLow\":72.85,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Arch Capital Group Ltd.\",\"displayName\":\"Arch Capital\",\"symbol\":\"ACGL\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":85.21,\"regularMarketDayHigh\":85.815,\"regularMarketDayRange\":\"83.76 - - 85.815\",\"regularMarketDayLow\":83.76,\"regularMarketVolume\":1385065,\"regularMarketPreviousClose\":84.22,\"bid\":84.72,\"ask\":85.75,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_22357184\",\"fullExchangeName\":\"NYSE\",\"longName\":\"CF - Industries Holdings, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":84.14,\"averageDailyVolume3Month\":1625693,\"averageDailyVolume10Day\":2161980,\"fiftyTwoWeekLowChange\":16.080002,\"fiftyTwoWeekLowChangePercent\":0.23260528,\"fiftyTwoWeekRange\":\"69.13 - - 90.86\",\"fiftyTwoWeekHighChange\":-5.6500015,\"fiftyTwoWeekHighChangePercent\":-0.062183596,\"fiftyTwoWeekChangePercent\":6.366241,\"dividendDate\":1732838400,\"earningsTimestamp\":1730320200,\"earningsTimestampStart\":1739394000,\"earningsTimestampEnd\":1739826000,\"earningsCallTimestampStart\":1730383200,\"earningsCallTimestampEnd\":1730383200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.9,\"trailingPE\":13.503962,\"dividendRate\":2.0,\"trailingAnnualDividendYield\":0.022559961,\"dividendYield\":2.37,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":6.31,\"epsForward\":6.18,\"epsCurrentYear\":6.22,\"priceEpsCurrentYear\":13.699357,\"sharesOutstanding\":174020000,\"bookValue\":29.795,\"fiftyDayAverage\":83.8232,\"fiftyDayAverageChange\":1.3868027,\"fiftyDayAverageChangePercent\":0.016544377,\"twoHundredDayAverage\":79.38335,\"twoHundredDayAverageChange\":5.8266525,\"twoHundredDayAverageChangePercent\":0.073398925,\"marketCap\":14828243968,\"forwardPE\":13.788026,\"priceToBook\":2.8598757,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1123767000000,\"priceHint\":2,\"postMarketChangePercent\":-0.5515799,\"postMarketTime\":1731546000,\"postMarketPrice\":84.74,\"postMarketChange\":-0.47000122,\"regularMarketChange\":0.989998,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":1.17549,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":90.86,\"fiftyTwoWeekLow\":69.13,\"averageAnalystRating\":\"2.7 - - Hold\",\"shortName\":\"CF Industries Holdings, Inc.\",\"displayName\":\"CF - Industries\",\"symbol\":\"CF\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":9.34,\"regularMarketDayHigh\":9.425,\"regularMarketDayRange\":\"9.28 - - 9.425\",\"regularMarketDayLow\":9.28,\"regularMarketVolume\":1529694,\"regularMarketPreviousClose\":9.44,\"bid\":9.3,\"ask\":9.35,\"bidSize\":22,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_199526\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Banco - Bilbao Vizcaya Argentaria, S.A.\",\"financialCurrency\":\"EUR\",\"regularMarketOpen\":9.41,\"averageDailyVolume3Month\":1395014,\"averageDailyVolume10Day\":2020570,\"fiftyTwoWeekLowChange\":0.71000004,\"fiftyTwoWeekLowChangePercent\":0.08227115,\"fiftyTwoWeekRange\":\"8.63 - - 12.2\",\"fiftyTwoWeekHighChange\":-2.8599997,\"fiftyTwoWeekHighChangePercent\":-0.2344262,\"fiftyTwoWeekChangePercent\":5.2987576,\"dividendDate\":1729814400,\"earningsTimestamp\":1730359800,\"earningsTimestampStart\":1738049400,\"earningsTimestampEnd\":1738567800,\"earningsCallTimestampStart\":1730363400,\"earningsCallTimestampEnd\":1730363400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.68,\"trailingPE\":5.526627,\"dividendRate\":0.75,\"trailingAnnualDividendYield\":0.072033904,\"dividendYield\":7.94,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.69,\"epsForward\":1.6,\"epsCurrentYear\":1.64,\"priceEpsCurrentYear\":5.6951222,\"sharesOutstanding\":5752289792,\"bookValue\":9.177,\"fiftyDayAverage\":10.1896,\"fiftyDayAverageChange\":-0.84959984,\"fiftyDayAverageChangePercent\":-0.08337911,\"twoHundredDayAverage\":10.46295,\"twoHundredDayAverageChange\":-1.1229496,\"twoHundredDayAverageChangePercent\":-0.10732629,\"marketCap\":54659829760,\"forwardPE\":5.8375,\"priceToBook\":1.0177618,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":598199400000,\"priceHint\":2,\"postMarketChangePercent\":0.6423926,\"postMarketTime\":1731540107,\"postMarketPrice\":9.4,\"postMarketChange\":0.059999466,\"regularMarketChange\":-0.0999994,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.05932,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":12.2,\"fiftyTwoWeekLow\":8.63,\"averageAnalystRating\":\"3.0 - - Hold\",\"shortName\":\"Banco Bilbao Vizcaya Argentaria\",\"displayName\":\"Banco - Bilbao Vizcaya Argentaria\",\"symbol\":\"BBVA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":4.5,\"regularMarketDayHigh\":4.555,\"regularMarketDayRange\":\"4.5 - - 4.555\",\"regularMarketDayLow\":4.5,\"regularMarketVolume\":301953,\"regularMarketPreviousClose\":4.55,\"bid\":4.48,\"ask\":4.84,\"bidSize\":32,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_34120227\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Banco - Santander (Brasil) S.A.\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":4.55,\"averageDailyVolume3Month\":286309,\"averageDailyVolume10Day\":327380,\"fiftyTwoWeekLowChange\":0.0,\"fiftyTwoWeekLowChangePercent\":0.0,\"fiftyTwoWeekRange\":\"4.5 - - 6.66\",\"fiftyTwoWeekHighChange\":-2.1599998,\"fiftyTwoWeekHighChangePercent\":-0.3243243,\"fiftyTwoWeekChangePercent\":-30.76923,\"dividendDate\":1731888000,\"earningsTimestamp\":1738755000,\"earningsTimestampStart\":1738755000,\"earningsTimestampEnd\":1738755000,\"earningsCallTimestampStart\":1738753140,\"earningsCallTimestampEnd\":1738753140,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.844,\"trailingPE\":16.071428,\"dividendRate\":0.3,\"trailingAnnualDividendYield\":0.1854945,\"dividendYield\":6.63,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.28,\"epsForward\":0.78,\"epsCurrentYear\":0.68,\"priceEpsCurrentYear\":6.617647,\"sharesOutstanding\":7460469760,\"bookValue\":11.899,\"fiftyDayAverage\":5.1512,\"fiftyDayAverageChange\":-0.6511998,\"fiftyDayAverageChangePercent\":-0.12641712,\"twoHundredDayAverage\":5.3593,\"twoHundredDayAverageChange\":-0.85930014,\"twoHundredDayAverageChangePercent\":-0.16033812,\"marketCap\":33572114432,\"forwardPE\":5.769231,\"priceToBook\":0.37818304,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1254922200000,\"priceHint\":4,\"postMarketChangePercent\":3.9999962,\"postMarketTime\":1731544442,\"postMarketPrice\":4.68,\"postMarketChange\":0.17999983,\"regularMarketChange\":-0.0500002,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.09891,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":6.66,\"fiftyTwoWeekLow\":4.5,\"shortName\":\"Banco - Santander Brasil SA\",\"displayName\":\"Banco Santander (Brasil)\",\"symbol\":\"BSBR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":58.04,\"regularMarketDayHigh\":59.19,\"regularMarketDayRange\":\"57.585 - - 59.19\",\"regularMarketDayLow\":57.585,\"regularMarketVolume\":5625821,\"regularMarketPreviousClose\":58.6,\"bid\":58.35,\"ask\":59.0,\"bidSize\":14,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_26273\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Centene - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":58.75,\"averageDailyVolume3Month\":5104606,\"averageDailyVolume10Day\":6614810,\"fiftyTwoWeekLowChange\":0.47999954,\"fiftyTwoWeekLowChangePercent\":0.008339116,\"fiftyTwoWeekRange\":\"57.56 - - 81.42\",\"fiftyTwoWeekHighChange\":-23.379997,\"fiftyTwoWeekHighChangePercent\":-0.287153,\"fiftyTwoWeekChangePercent\":-20.721214,\"earningsTimestamp\":1729850406,\"earningsTimestampStart\":1738666800,\"earningsTimestampEnd\":1739185200,\"earningsCallTimestampStart\":1729859400,\"earningsCallTimestampEnd\":1729859400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":10.024179,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":5.79,\"epsForward\":7.04,\"epsCurrentYear\":6.69,\"priceEpsCurrentYear\":8.675635,\"sharesOutstanding\":504864992,\"bookValue\":53.535,\"fiftyDayAverage\":68.6066,\"fiftyDayAverageChange\":-10.566597,\"fiftyDayAverageChangePercent\":-0.15401721,\"twoHundredDayAverage\":72.7431,\"twoHundredDayAverageChange\":-14.703102,\"twoHundredDayAverageChangePercent\":-0.20212366,\"marketCap\":29302364160,\"forwardPE\":8.244318,\"priceToBook\":1.0841506,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1008253800000,\"priceHint\":2,\"postMarketChangePercent\":0.7925553,\"postMarketTime\":1731544978,\"postMarketPrice\":58.5,\"postMarketChange\":0.45999908,\"regularMarketChange\":-0.559998,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.955627,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":81.42,\"fiftyTwoWeekLow\":57.56,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"Centene Corporation\",\"displayName\":\"Centene\",\"symbol\":\"CNC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":117.64,\"regularMarketDayHigh\":118.3,\"regularMarketDayRange\":\"117.36 - - 118.3\",\"regularMarketDayLow\":117.36,\"regularMarketVolume\":1126711,\"regularMarketPreviousClose\":117.9,\"bid\":117.76,\"ask\":117.79,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_341546\",\"fullExchangeName\":\"NYSE\",\"longName\":\"The - Hartford Financial Services Group, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":117.56,\"averageDailyVolume3Month\":1461531,\"averageDailyVolume10Day\":1581750,\"fiftyTwoWeekLowChange\":42.28,\"fiftyTwoWeekLowChangePercent\":0.56104034,\"fiftyTwoWeekRange\":\"75.36 - - 123.23\",\"fiftyTwoWeekHighChange\":-5.590004,\"fiftyTwoWeekHighChangePercent\":-0.04536236,\"fiftyTwoWeekChangePercent\":54.07989,\"dividendDate\":1735862400,\"earningsTimestamp\":1729800900,\"earningsTimestampStart\":1738270800,\"earningsTimestampEnd\":1738616400,\"earningsCallTimestampStart\":1729861200,\"earningsCallTimestampEnd\":1729861200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.88,\"trailingPE\":11.811245,\"dividendRate\":2.08,\"trailingAnnualDividendYield\":0.015945716,\"dividendYield\":1.76,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":9.96,\"epsForward\":11.61,\"epsCurrentYear\":10.07,\"priceEpsCurrentYear\":11.682224,\"sharesOutstanding\":289891008,\"bookValue\":57.335,\"fiftyDayAverage\":116.4122,\"fiftyDayAverageChange\":1.2277985,\"fiftyDayAverageChangePercent\":0.010546992,\"twoHundredDayAverage\":104.9127,\"twoHundredDayAverageChange\":12.727303,\"twoHundredDayAverageChangePercent\":0.121313274,\"marketCap\":34102777856,\"forwardPE\":10.132645,\"priceToBook\":2.0518007,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":819037800000,\"priceHint\":2,\"postMarketChangePercent\":-0.03400282,\"postMarketTime\":1731539030,\"postMarketPrice\":117.6,\"postMarketChange\":-0.040000916,\"regularMarketChange\":-0.260002,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.220528,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":123.23,\"fiftyTwoWeekLow\":75.36,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"Hartford Financial Services Gro\",\"displayName\":\"The - Hartford Financial Services\",\"symbol\":\"HIG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":76.78,\"regularMarketDayHigh\":77.0388,\"regularMarketDayRange\":\"75.19 - - 77.0388\",\"regularMarketDayLow\":75.19,\"regularMarketVolume\":3373515,\"regularMarketPreviousClose\":75.12,\"bid\":76.85,\"ask\":77.12,\"bidSize\":9,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_266974\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Dollar - General Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":75.12,\"averageDailyVolume3Month\":5098196,\"averageDailyVolume10Day\":4414700,\"fiftyTwoWeekLowChange\":3.2699966,\"fiftyTwoWeekLowChangePercent\":0.044483695,\"fiftyTwoWeekRange\":\"73.51 - - 168.07\",\"fiftyTwoWeekHighChange\":-91.29001,\"fiftyTwoWeekHighChangePercent\":-0.5431666,\"fiftyTwoWeekChangePercent\":-34.827263,\"dividendDate\":1729555200,\"earningsTimestamp\":1733405400,\"earningsTimestampStart\":1733405400,\"earningsTimestampEnd\":1733405400,\"earningsCallTimestampStart\":1733407200,\"earningsCallTimestampEnd\":1733407200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":2.36,\"trailingPE\":11.940902,\"dividendRate\":2.36,\"trailingAnnualDividendYield\":0.031416398,\"dividendYield\":3.14,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":6.43,\"epsForward\":6.22,\"epsCurrentYear\":5.83,\"priceEpsCurrentYear\":13.169811,\"sharesOutstanding\":219915008,\"bookValue\":33.014,\"fiftyDayAverage\":82.051,\"fiftyDayAverageChange\":-5.2710037,\"fiftyDayAverageChangePercent\":-0.064240575,\"twoHundredDayAverage\":121.8935,\"twoHundredDayAverageChange\":-45.113503,\"twoHundredDayAverageChangePercent\":-0.3701059,\"marketCap\":16885073920,\"forwardPE\":12.344051,\"priceToBook\":2.32568,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1258122600000,\"priceHint\":2,\"postMarketChangePercent\":0.416775,\"postMarketTime\":1731545943,\"postMarketPrice\":77.1,\"postMarketChange\":0.32,\"regularMarketChange\":1.66,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":2.20979,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":168.07,\"fiftyTwoWeekLow\":73.51,\"averageAnalystRating\":\"2.7 - - Hold\",\"shortName\":\"Dollar General Corporation\",\"displayName\":\"Dollar - General\",\"symbol\":\"DG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":21.54,\"regularMarketDayHigh\":21.7099,\"regularMarketDayRange\":\"21.47 - - 21.7099\",\"regularMarketDayLow\":21.47,\"regularMarketVolume\":3544882,\"regularMarketPreviousClose\":21.53,\"bid\":18.47,\"ask\":24.63,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_9771238\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Ares - Capital Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":21.52,\"averageDailyVolume3Month\":3188015,\"averageDailyVolume10Day\":3717660,\"fiftyTwoWeekLowChange\":2.2200012,\"fiftyTwoWeekLowChangePercent\":0.1149069,\"fiftyTwoWeekRange\":\"19.32 - - 22.05\",\"fiftyTwoWeekHighChange\":-0.5099983,\"fiftyTwoWeekHighChangePercent\":-0.023129176,\"fiftyTwoWeekChangePercent\":9.730005,\"dividendDate\":1735516800,\"earningsTimestamp\":1730286000,\"earningsTimestampStart\":1738762200,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1730304000,\"earningsCallTimestampEnd\":1730304000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.92,\"trailingPE\":8.284616,\"dividendRate\":1.92,\"trailingAnnualDividendYield\":0.089177884,\"dividendYield\":8.92,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.6,\"epsForward\":2.2,\"epsCurrentYear\":2.36,\"priceEpsCurrentYear\":9.127119,\"sharesOutstanding\":646076032,\"bookValue\":19.772,\"fiftyDayAverage\":21.0574,\"fiftyDayAverageChange\":0.48260117,\"fiftyDayAverageChangePercent\":0.022918364,\"twoHundredDayAverage\":20.781,\"twoHundredDayAverageChange\":0.7590008,\"twoHundredDayAverageChangePercent\":0.036523785,\"marketCap\":13916478464,\"forwardPE\":9.79091,\"priceToBook\":1.0894195,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1096983000000,\"priceHint\":2,\"postMarketChangePercent\":0.232123,\"postMarketTime\":1731545915,\"postMarketPrice\":21.59,\"postMarketChange\":0.0499992,\"regularMarketChange\":0.010000229,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.04644788,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":22.05,\"fiftyTwoWeekLow\":19.32,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"Ares Capital Corporation\",\"displayName\":\"Ares - Capital\",\"symbol\":\"ARCC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":90.7,\"regularMarketDayHigh\":91.705,\"regularMarketDayRange\":\"90.23 - - 91.705\",\"regularMarketDayLow\":90.23,\"regularMarketVolume\":2401089,\"regularMarketPreviousClose\":90.2,\"bid\":90.71,\"ask\":90.49,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_255397\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Best - Buy Co., Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":90.75,\"averageDailyVolume3Month\":2691406,\"averageDailyVolume10Day\":2735370,\"fiftyTwoWeekLowChange\":27.779999,\"fiftyTwoWeekLowChangePercent\":0.44151303,\"fiftyTwoWeekRange\":\"62.92 - - 103.71\",\"fiftyTwoWeekHighChange\":-13.010002,\"fiftyTwoWeekHighChangePercent\":-0.12544598,\"fiftyTwoWeekChangePercent\":35.88015,\"dividendDate\":1728518400,\"earningsTimestamp\":1732627800,\"earningsTimestampStart\":1732627800,\"earningsTimestampEnd\":1732627800,\"earningsCallTimestampStart\":1732626000,\"earningsCallTimestampEnd\":1732626000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":3.72,\"trailingPE\":15.584191,\"dividendRate\":3.76,\"trailingAnnualDividendYield\":0.041241687,\"dividendYield\":4.17,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":5.82,\"epsForward\":6.84,\"epsCurrentYear\":6.25,\"priceEpsCurrentYear\":14.511999,\"sharesOutstanding\":214724992,\"bookValue\":14.451,\"fiftyDayAverage\":95.972,\"fiftyDayAverageChange\":-5.272003,\"fiftyDayAverageChangePercent\":-0.05493272,\"twoHundredDayAverage\":84.74155,\"twoHundredDayAverageChange\":5.9584503,\"twoHundredDayAverageChangePercent\":0.070313215,\"marketCap\":19475556352,\"forwardPE\":13.260233,\"priceToBook\":6.276382,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":482682600000,\"priceHint\":2,\"postMarketChangePercent\":0.330764,\"postMarketTime\":1731545990,\"postMarketPrice\":91.0,\"postMarketChange\":0.300003,\"regularMarketChange\":0.5,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.554324,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":103.71,\"fiftyTwoWeekLow\":62.92,\"averageAnalystRating\":\"2.6 - - Hold\",\"shortName\":\"Best Buy Co., Inc.\",\"displayName\":\"Best Buy\",\"symbol\":\"BBY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":210.0,\"regularMarketDayHigh\":215.44,\"regularMarketDayRange\":\"209.79 - - 215.44\",\"regularMarketDayLow\":209.79,\"regularMarketVolume\":2108503,\"regularMarketPreviousClose\":214.08,\"bid\":210.82,\"ask\":209.98,\"bidSize\":8,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_374377\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Cheniere - Energy, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":215.35,\"averageDailyVolume3Month\":1546362,\"averageDailyVolume10Day\":2380110,\"fiftyTwoWeekLowChange\":57.690002,\"fiftyTwoWeekLowChangePercent\":0.378767,\"fiftyTwoWeekRange\":\"152.31 - - 217.95\",\"fiftyTwoWeekHighChange\":-7.949997,\"fiftyTwoWeekHighChangePercent\":-0.036476243,\"fiftyTwoWeekChangePercent\":20.807684,\"dividendDate\":1731888000,\"earningsTimestamp\":1730374200,\"earningsTimestampStart\":1730374200,\"earningsTimestampEnd\":1730374200,\"earningsCallTimestampStart\":1730386800,\"earningsCallTimestampEnd\":1730386800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.805,\"trailingPE\":13.3502865,\"dividendRate\":2.0,\"trailingAnnualDividendYield\":0.008431427,\"dividendYield\":0.93,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":15.73,\"epsForward\":11.31,\"epsCurrentYear\":11.53,\"priceEpsCurrentYear\":18.213356,\"sharesOutstanding\":224364992,\"bookValue\":22.635,\"fiftyDayAverage\":186.4188,\"fiftyDayAverageChange\":23.581207,\"fiftyDayAverageChangePercent\":0.12649587,\"twoHundredDayAverage\":170.59454,\"twoHundredDayAverageChange\":39.405457,\"twoHundredDayAverageChangePercent\":0.23098896,\"marketCap\":47116648448,\"forwardPE\":18.567638,\"priceToBook\":9.277667,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":765466200000,\"priceHint\":2,\"postMarketChangePercent\":0.238095,\"postMarketTime\":1731545254,\"postMarketPrice\":210.5,\"postMarketChange\":0.5,\"regularMarketChange\":-4.08,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.90583,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":217.95,\"fiftyTwoWeekLow\":152.31,\"averageAnalystRating\":\"1.7 - - Buy\",\"shortName\":\"Cheniere Energy, Inc.\",\"displayName\":\"Cheniere - Energy\",\"symbol\":\"LNG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":83.18,\"regularMarketDayHigh\":86.52,\"regularMarketDayRange\":\"82.18 - - 86.52\",\"regularMarketDayLow\":82.18,\"regularMarketVolume\":5581210,\"regularMarketPreviousClose\":87.04,\"bid\":83.05,\"ask\":83.26,\"bidSize\":4,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1462309\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Skyworks - Solutions, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":84.78,\"averageDailyVolume3Month\":2059448,\"averageDailyVolume10Day\":2814430,\"fiftyTwoWeekLowChange\":1.050003,\"fiftyTwoWeekLowChangePercent\":0.012784648,\"fiftyTwoWeekRange\":\"82.13 - - 120.86\",\"fiftyTwoWeekHighChange\":-37.68,\"fiftyTwoWeekHighChangePercent\":-0.31176567,\"fiftyTwoWeekChangePercent\":-10.9135685,\"dividendDate\":1725926400,\"earningsTimestamp\":1731445260,\"earningsTimestampStart\":1738061940,\"earningsTimestampEnd\":1738584000,\"earningsCallTimestampStart\":1731447000,\"earningsCallTimestampEnd\":1731447000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":2.72,\"trailingPE\":17.18595,\"dividendRate\":2.8,\"trailingAnnualDividendYield\":0.03125,\"dividendYield\":3.22,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.84,\"epsForward\":6.4,\"epsCurrentYear\":6.25,\"priceEpsCurrentYear\":13.3088,\"sharesOutstanding\":159716000,\"bookValue\":39.677,\"fiftyDayAverage\":95.7858,\"fiftyDayAverageChange\":-12.605797,\"fiftyDayAverageChangePercent\":-0.13160403,\"twoHundredDayAverage\":101.4934,\"twoHundredDayAverageChange\":-18.3134,\"twoHundredDayAverageChangePercent\":-0.18043932,\"marketCap\":13901707264,\"forwardPE\":12.996875,\"priceToBook\":2.0964289,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":463411800000,\"priceHint\":2,\"postMarketChangePercent\":-0.204374,\"postMarketTime\":1731545934,\"postMarketPrice\":83.01,\"postMarketChange\":-0.169998,\"regularMarketChange\":-3.8600006,\"regularMarketTime\":1731531600,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-4.434743,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":120.86,\"fiftyTwoWeekLow\":82.13,\"averageAnalystRating\":\"2.8 - - Hold\",\"shortName\":\"Skyworks Solutions, Inc.\",\"displayName\":\"Skyworks\",\"symbol\":\"SWKS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":141.9,\"regularMarketDayHigh\":144.71,\"regularMarketDayRange\":\"141.67 - - 144.71\",\"regularMarketDayLow\":141.67,\"regularMarketVolume\":1119426,\"regularMarketPreviousClose\":144.35,\"bid\":141.66,\"ask\":142.19,\"bidSize\":6,\"askSize\":4,\"market\":\"us_market\",\"messageBoardId\":\"finmb_34768\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Steel - Dynamics, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":143.86,\"averageDailyVolume3Month\":1339550,\"averageDailyVolume10Day\":1402420,\"fiftyTwoWeekLowChange\":37.299995,\"fiftyTwoWeekLowChangePercent\":0.35659653,\"fiftyTwoWeekRange\":\"104.6 - - 155.56\",\"fiftyTwoWeekHighChange\":-13.660004,\"fiftyTwoWeekHighChangePercent\":-0.087811805,\"fiftyTwoWeekChangePercent\":29.140877,\"dividendDate\":1728604800,\"earningsTimestamp\":1729110605,\"earningsTimestampStart\":1737493200,\"earningsTimestampEnd\":1738011600,\"earningsCallTimestampStart\":1729177200,\"earningsCallTimestampEnd\":1729177200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.805,\"trailingPE\":12.994505,\"dividendRate\":1.84,\"trailingAnnualDividendYield\":0.012504329,\"dividendYield\":1.27,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":10.92,\"epsForward\":10.04,\"epsCurrentYear\":10.12,\"priceEpsCurrentYear\":14.021739,\"sharesOutstanding\":152244992,\"bookValue\":59.34,\"fiftyDayAverage\":127.8822,\"fiftyDayAverageChange\":14.017792,\"fiftyDayAverageChangePercent\":0.10961488,\"twoHundredDayAverage\":129.2071,\"twoHundredDayAverageChange\":12.692886,\"twoHundredDayAverageChangePercent\":0.09823675,\"marketCap\":21603563520,\"forwardPE\":14.133466,\"priceToBook\":2.3913043,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":848673000000,\"priceHint\":2,\"postMarketChangePercent\":2.76956,\"postMarketTime\":1731538353,\"postMarketPrice\":145.83,\"postMarketChange\":3.93001,\"regularMarketChange\":-2.4500122,\"regularMarketTime\":1731531600,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.6972721,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":155.56,\"fiftyTwoWeekLow\":104.6,\"averageAnalystRating\":\"2.8 - - Hold\",\"shortName\":\"Steel Dynamics, Inc.\",\"displayName\":\"Steel Dynamics\",\"symbol\":\"STLD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":197.3,\"regularMarketDayHigh\":199.745,\"regularMarketDayRange\":\"196.9917 - - 199.745\",\"regularMarketDayLow\":196.9917,\"regularMarketVolume\":1128140,\"regularMarketPreviousClose\":198.1,\"bid\":188.1,\"ask\":204.93,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_18711\",\"fullExchangeName\":\"NYSE\",\"longName\":\"The - Allstate Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":198.0,\"averageDailyVolume3Month\":1493145,\"averageDailyVolume10Day\":1758400,\"fiftyTwoWeekLowChange\":65.65001,\"fiftyTwoWeekLowChangePercent\":0.49867082,\"fiftyTwoWeekRange\":\"131.65 - - 201.0\",\"fiftyTwoWeekHighChange\":-3.699997,\"fiftyTwoWeekHighChangePercent\":-0.018407945,\"fiftyTwoWeekChangePercent\":46.4193,\"dividendDate\":1727740800,\"earningsTimestamp\":1738789200,\"earningsTimestampStart\":1738789200,\"earningsTimestampEnd\":1738789200,\"earningsCallTimestampStart\":1738850400,\"earningsCallTimestampEnd\":1738850400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":3.65,\"trailingPE\":12.753716,\"dividendRate\":3.68,\"trailingAnnualDividendYield\":0.018425038,\"dividendYield\":1.86,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":15.47,\"epsForward\":19.03,\"epsCurrentYear\":16.09,\"priceEpsCurrentYear\":12.262275,\"sharesOutstanding\":264803008,\"bookValue\":71.23,\"fiftyDayAverage\":189.5876,\"fiftyDayAverageChange\":7.7124023,\"fiftyDayAverageChangePercent\":0.040679887,\"twoHundredDayAverage\":172.69064,\"twoHundredDayAverageChange\":24.60936,\"twoHundredDayAverageChangePercent\":0.14250547,\"marketCap\":52245635072,\"forwardPE\":10.36784,\"priceToBook\":2.7699003,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":739114200000,\"priceHint\":2,\"postMarketChangePercent\":0.3547881,\"postMarketTime\":1731544632,\"postMarketPrice\":198.0,\"postMarketChange\":0.69999695,\"regularMarketChange\":-0.800003,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.403838,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":201.0,\"fiftyTwoWeekLow\":131.65,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Allstate Corporation (The)\",\"displayName\":\"The - Allstate\",\"symbol\":\"ALL\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":38.72,\"regularMarketDayHigh\":38.76,\"regularMarketDayRange\":\"37.84 - - 38.76\",\"regularMarketDayLow\":37.84,\"regularMarketVolume\":1910427,\"regularMarketPreviousClose\":38.39,\"bid\":38.72,\"ask\":38.8,\"bidSize\":7,\"askSize\":4,\"market\":\"us_market\",\"messageBoardId\":\"finmb_4303924\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"LKQ - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":38.21,\"averageDailyVolume3Month\":2277451,\"averageDailyVolume10Day\":2534220,\"fiftyTwoWeekLowChange\":3.1500015,\"fiftyTwoWeekLowChangePercent\":0.08855782,\"fiftyTwoWeekRange\":\"35.57 - - 53.68\",\"fiftyTwoWeekHighChange\":-14.959999,\"fiftyTwoWeekHighChangePercent\":-0.27868852,\"fiftyTwoWeekChangePercent\":-14.051056,\"dividendDate\":1732665600,\"earningsTimestamp\":1729764000,\"earningsTimestampStart\":1729764000,\"earningsTimestampEnd\":1729764000,\"earningsCallTimestampStart\":1729771200,\"earningsCallTimestampEnd\":1729771200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.2,\"trailingPE\":14.287823,\"dividendRate\":1.2,\"trailingAnnualDividendYield\":0.031258143,\"dividendYield\":3.13,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.71,\"epsForward\":3.62,\"epsCurrentYear\":3.42,\"priceEpsCurrentYear\":11.321637,\"sharesOutstanding\":259960000,\"bookValue\":23.867,\"fiftyDayAverage\":39.0126,\"fiftyDayAverageChange\":-0.29259872,\"fiftyDayAverageChangePercent\":-0.0075001083,\"twoHundredDayAverage\":43.81185,\"twoHundredDayAverageChange\":-5.0918503,\"twoHundredDayAverageChangePercent\":-0.11622084,\"marketCap\":10065651712,\"forwardPE\":10.696134,\"priceToBook\":1.6223238,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1065447000000,\"priceHint\":2,\"postMarketChangePercent\":0.464877,\"postMarketTime\":1731541711,\"postMarketPrice\":38.9,\"postMarketChange\":0.18,\"regularMarketChange\":0.33000183,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.85960364,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":53.68,\"fiftyTwoWeekLow\":35.57,\"averageAnalystRating\":\"1.8 - - Buy\",\"shortName\":\"LKQ Corporation\",\"displayName\":\"LKQ\",\"symbol\":\"LKQ\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":56.14,\"regularMarketDayHigh\":56.965,\"regularMarketDayRange\":\"55.6156 - - 56.965\",\"regularMarketDayLow\":55.6156,\"regularMarketVolume\":2601292,\"regularMarketPreviousClose\":56.38,\"bid\":55.85,\"ask\":56.14,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_59502420\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Aptiv - PLC\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":56.45,\"averageDailyVolume3Month\":3484860,\"averageDailyVolume10Day\":6204790,\"fiftyTwoWeekLowChange\":3.329998,\"fiftyTwoWeekLowChangePercent\":0.0630562,\"fiftyTwoWeekRange\":\"52.81 - - 91.66\",\"fiftyTwoWeekHighChange\":-35.520004,\"fiftyTwoWeekHighChangePercent\":-0.38751912,\"fiftyTwoWeekChangePercent\":-29.071384,\"dividendDate\":1582070400,\"earningsTimestamp\":1730371500,\"earningsTimestampStart\":1738234740,\"earningsTimestampEnd\":1739534400,\"earningsCallTimestampStart\":1730376000,\"earningsCallTimestampEnd\":1730376000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":6.279642,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":8.94,\"epsForward\":6.98,\"epsCurrentYear\":6.15,\"priceEpsCurrentYear\":9.128455,\"sharesOutstanding\":235036000,\"bookValue\":37.797,\"fiftyDayAverage\":67.1542,\"fiftyDayAverageChange\":-11.014198,\"fiftyDayAverageChangePercent\":-0.16401355,\"twoHundredDayAverage\":73.34755,\"twoHundredDayAverageChange\":-17.20755,\"twoHundredDayAverageChangePercent\":-0.23460293,\"marketCap\":13251341312,\"forwardPE\":8.04298,\"priceToBook\":1.485303,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1321540200000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731538247,\"postMarketPrice\":56.14,\"postMarketChange\":0.0,\"regularMarketChange\":-0.240002,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.425686,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":91.66,\"fiftyTwoWeekLow\":52.81,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"Aptiv PLC\",\"displayName\":\"Aptiv\",\"symbol\":\"APTV\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":188.74,\"regularMarketDayHigh\":189.627,\"regularMarketDayRange\":\"184.86 - - 189.627\",\"regularMarketDayLow\":184.86,\"regularMarketVolume\":1106718,\"regularMarketPreviousClose\":187.23,\"bid\":188.07,\"ask\":189.52,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_265777695\",\"fullExchangeName\":\"NYSE\",\"longName\":\"GoDaddy - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":186.17,\"averageDailyVolume3Month\":1101065,\"averageDailyVolume10Day\":1491690,\"fiftyTwoWeekLowChange\":97.060005,\"fiftyTwoWeekLowChangePercent\":1.0586824,\"fiftyTwoWeekRange\":\"91.68 - - 189.627\",\"fiftyTwoWeekHighChange\":-0.8869934,\"fiftyTwoWeekHighChangePercent\":-0.004677569,\"fiftyTwoWeekChangePercent\":103.00336,\"earningsTimestamp\":1730318723,\"earningsTimestampStart\":1739271540,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730322000,\"earningsCallTimestampEnd\":1730322000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":15.039044,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":12.55,\"epsForward\":6.71,\"epsCurrentYear\":6.51,\"priceEpsCurrentYear\":28.99232,\"sharesOutstanding\":140391008,\"bookValue\":2.542,\"fiftyDayAverage\":160.8276,\"fiftyDayAverageChange\":27.9124,\"fiftyDayAverageChangePercent\":0.17355478,\"twoHundredDayAverage\":139.9066,\"twoHundredDayAverageChange\":48.833405,\"twoHundredDayAverageChangePercent\":0.3490429,\"marketCap\":26497398784,\"forwardPE\":28.128168,\"priceToBook\":74.24863,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1427808600000,\"priceHint\":2,\"postMarketChangePercent\":0.4079628,\"postMarketTime\":1731545459,\"postMarketPrice\":189.51,\"postMarketChange\":0.769989,\"regularMarketChange\":1.51001,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.8065,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":189.627,\"fiftyTwoWeekLow\":91.68,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"GoDaddy Inc.\",\"displayName\":\"GoDaddy\",\"symbol\":\"GDDY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":86.62,\"regularMarketDayHigh\":87.96,\"regularMarketDayRange\":\"86.36 - - 87.96\",\"regularMarketDayLow\":86.36,\"regularMarketVolume\":1986652,\"regularMarketPreviousClose\":87.46,\"bid\":87.16,\"ask\":87.2,\"bidSize\":8,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_687261\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Bunge - Global SA\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":87.03,\"averageDailyVolume3Month\":1591617,\"averageDailyVolume10Day\":2642970,\"fiftyTwoWeekLowChange\":4.4400024,\"fiftyTwoWeekLowChangePercent\":0.054027773,\"fiftyTwoWeekRange\":\"82.18 - - 114.92\",\"fiftyTwoWeekHighChange\":-28.299995,\"fiftyTwoWeekHighChangePercent\":-0.24625823,\"fiftyTwoWeekChangePercent\":-18.22902,\"dividendDate\":1741046400,\"earningsTimestamp\":1730282400,\"earningsTimestampStart\":1738762200,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1730289600,\"earningsCallTimestampEnd\":1730289600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":2.685,\"trailingPE\":11.09091,\"dividendRate\":2.72,\"trailingAnnualDividendYield\":0.030699749,\"dividendYield\":3.11,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":7.81,\"epsForward\":9.3,\"epsCurrentYear\":9.41,\"priceEpsCurrentYear\":9.205101,\"sharesOutstanding\":139627008,\"bookValue\":72.587,\"fiftyDayAverage\":93.365,\"fiftyDayAverageChange\":-6.744995,\"fiftyDayAverageChangePercent\":-0.072243296,\"twoHundredDayAverage\":99.4975,\"twoHundredDayAverageChange\":-12.877495,\"twoHundredDayAverageChangePercent\":-0.12942532,\"marketCap\":12211773440,\"forwardPE\":9.313978,\"priceToBook\":1.1933267,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Bunge - Limited\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":996759000000,\"priceHint\":2,\"postMarketChangePercent\":-0.24243717,\"postMarketTime\":1731544615,\"postMarketPrice\":86.41,\"postMarketChange\":-0.20999908,\"regularMarketChange\":-0.839996,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.960435,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":114.92,\"fiftyTwoWeekLow\":82.18,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"Bunge Limited\",\"displayName\":\"Bunge\",\"symbol\":\"BG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":256.67,\"regularMarketDayHigh\":258.76,\"regularMarketDayRange\":\"256.25 - - 258.76\",\"regularMarketDayLow\":256.25,\"regularMarketVolume\":526807,\"regularMarketPreviousClose\":257.99,\"bid\":256.0,\"ask\":259.02,\"bidSize\":9,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_392856\",\"fullExchangeName\":\"NYSE\",\"longName\":\"The - Travelers Companies, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":256.62,\"averageDailyVolume3Month\":1155759,\"averageDailyVolume10Day\":1207140,\"fiftyTwoWeekLowChange\":87.49002,\"fiftyTwoWeekLowChangePercent\":0.51714164,\"fiftyTwoWeekRange\":\"169.18 - - 269.56\",\"fiftyTwoWeekHighChange\":-12.889984,\"fiftyTwoWeekHighChangePercent\":-0.04781861,\"fiftyTwoWeekChangePercent\":49.496185,\"dividendDate\":1735603200,\"earningsTimestamp\":1729162620,\"earningsTimestampStart\":1737120600,\"earningsTimestampEnd\":1737466200,\"earningsCallTimestampStart\":1729170000,\"earningsCallTimestampEnd\":1729170000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":4.1,\"trailingPE\":13.244067,\"dividendRate\":4.2,\"trailingAnnualDividendYield\":0.015892088,\"dividendYield\":1.63,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":19.38,\"epsForward\":21.25,\"epsCurrentYear\":18.94,\"priceEpsCurrentYear\":13.551743,\"sharesOutstanding\":227019008,\"bookValue\":122.009,\"fiftyDayAverage\":243.405,\"fiftyDayAverageChange\":13.265015,\"fiftyDayAverageChangePercent\":0.054497708,\"twoHundredDayAverage\":222.8075,\"twoHundredDayAverageChange\":33.86252,\"twoHundredDayAverageChangePercent\":0.15198106,\"marketCap\":58568503296,\"forwardPE\":12.0785885,\"priceToBook\":2.1036973,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":185466600000,\"priceHint\":2,\"postMarketChangePercent\":0.8927702,\"postMarketTime\":1731543962,\"postMarketPrice\":258.9615,\"postMarketChange\":2.2914734,\"regularMarketChange\":-1.31998,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.511639,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":269.56,\"fiftyTwoWeekLow\":169.18,\"averageAnalystRating\":\"2.7 - - Hold\",\"shortName\":\"The Travelers Companies, Inc.\",\"displayName\":\"The - Travelers Companies\",\"symbol\":\"TRV\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":40.53,\"regularMarketDayHigh\":40.58,\"regularMarketDayRange\":\"40.075 - - 40.58\",\"regularMarketDayLow\":40.075,\"regularMarketVolume\":2043646,\"regularMarketPreviousClose\":40.66,\"bid\":40.0,\"ask\":40.33,\"bidSize\":8,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_256839\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Brown-Forman - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":40.38,\"averageDailyVolume3Month\":2189100,\"averageDailyVolume10Day\":2514960,\"fiftyTwoWeekLowChange\":0.45499802,\"fiftyTwoWeekLowChangePercent\":0.011353662,\"fiftyTwoWeekRange\":\"40.075 - - 60.97\",\"fiftyTwoWeekHighChange\":-20.440002,\"fiftyTwoWeekHighChangePercent\":-0.3352469,\"fiftyTwoWeekChangePercent\":-29.745192,\"dividendDate\":1727740800,\"earningsTimestamp\":1733403600,\"earningsTimestampStart\":1733403600,\"earningsTimestampEnd\":1733403600,\"earningsCallTimestampStart\":1733410800,\"earningsCallTimestampEnd\":1733410800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.859,\"trailingPE\":19.57971,\"dividendRate\":0.87,\"trailingAnnualDividendYield\":0.021126416,\"dividendYield\":2.14,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.07,\"epsForward\":1.9,\"epsCurrentYear\":1.8,\"priceEpsCurrentYear\":22.516666,\"sharesOutstanding\":303536992,\"bookValue\":7.331,\"fiftyDayAverage\":46.3864,\"fiftyDayAverageChange\":-5.8563995,\"fiftyDayAverageChangePercent\":-0.12625252,\"twoHundredDayAverage\":48.0277,\"twoHundredDayAverageChange\":-7.4976997,\"twoHundredDayAverageChangePercent\":-0.156112,\"marketCap\":19028793344,\"forwardPE\":21.33158,\"priceToBook\":5.5285773,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731539408,\"postMarketPrice\":40.53,\"postMarketChange\":0.0,\"regularMarketChange\":-0.130001,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.319727,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":60.97,\"fiftyTwoWeekLow\":40.075,\"averageAnalystRating\":\"3.0 - - Hold\",\"shortName\":\"Brown Forman Inc\",\"symbol\":\"BF-B\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":7.36,\"regularMarketDayHigh\":7.44,\"regularMarketDayRange\":\"7.21 - - 7.44\",\"regularMarketDayLow\":7.21,\"regularMarketVolume\":5731816,\"regularMarketPreviousClose\":7.46,\"bid\":7.37,\"ask\":7.41,\"bidSize\":14,\"askSize\":22,\"market\":\"us_market\",\"messageBoardId\":\"finmb_8142536\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Ecopetrol - S.A.\",\"financialCurrency\":\"COP\",\"regularMarketOpen\":7.44,\"averageDailyVolume3Month\":2243498,\"averageDailyVolume10Day\":2930460,\"fiftyTwoWeekLowChange\":0.1500001,\"fiftyTwoWeekLowChangePercent\":0.020804452,\"fiftyTwoWeekRange\":\"7.21 - - 13.14\",\"fiftyTwoWeekHighChange\":-5.78,\"fiftyTwoWeekHighChangePercent\":-0.43987823,\"fiftyTwoWeekChangePercent\":-37.627117,\"dividendDate\":1719964800,\"earningsTimestamp\":1731531600,\"earningsTimestampStart\":1731531600,\"earningsTimestampEnd\":1731531600,\"earningsCallTimestampStart\":1731592800,\"earningsCallTimestampEnd\":1731592800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":278.0,\"trailingPE\":4.229885,\"dividendRate\":3.0,\"trailingAnnualDividendYield\":37.265415,\"dividendYield\":40.2,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.74,\"epsForward\":1.76,\"epsCurrentYear\":1.73,\"priceEpsCurrentYear\":4.2543354,\"sharesOutstanding\":2055830016,\"bookValue\":1793.351,\"fiftyDayAverage\":8.495,\"fiftyDayAverageChange\":-1.1349998,\"fiftyDayAverageChangePercent\":-0.13360798,\"twoHundredDayAverage\":10.6184,\"twoHundredDayAverageChange\":-3.2583995,\"twoHundredDayAverageChangePercent\":-0.30686352,\"marketCap\":15130909696,\"forwardPE\":4.1818185,\"priceToBook\":0.004104049,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1221744600000,\"priceHint\":2,\"postMarketChangePercent\":0.557064,\"postMarketTime\":1731545951,\"postMarketPrice\":7.401,\"postMarketChange\":0.0409999,\"regularMarketChange\":-0.0999999,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.34048,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":13.14,\"fiftyTwoWeekLow\":7.21,\"averageAnalystRating\":\"3.7 - - Underperform\",\"shortName\":\"Ecopetrol S.A.\",\"displayName\":\"Ecopetrol\",\"symbol\":\"EC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":43.455,\"regularMarketDayHigh\":43.64,\"regularMarketDayRange\":\"42.98 - - 43.64\",\"regularMarketDayLow\":42.98,\"regularMarketVolume\":523961,\"regularMarketPreviousClose\":43.65,\"bid\":43.38,\"ask\":43.49,\"bidSize\":8,\"askSize\":3,\"market\":\"us_market\",\"messageBoardId\":\"finmb_546623668\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Fox - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":43.64,\"averageDailyVolume3Month\":879985,\"averageDailyVolume10Day\":950750,\"fiftyTwoWeekLowChange\":17.640001,\"fiftyTwoWeekLowChangePercent\":0.6833237,\"fiftyTwoWeekRange\":\"25.815 - - 43.675\",\"fiftyTwoWeekHighChange\":-0.2199974,\"fiftyTwoWeekHighChangePercent\":-0.0050371476,\"fiftyTwoWeekChangePercent\":55.11727,\"dividendDate\":1727222400,\"earningsTimestamp\":1730725214,\"earningsTimestampStart\":1738762200,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1730727000,\"earningsCallTimestampEnd\":1730727000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.53,\"trailingPE\":10.676904,\"dividendRate\":0.54,\"trailingAnnualDividendYield\":0.012142038,\"dividendYield\":1.24,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.07,\"epsForward\":2.35,\"sharesOutstanding\":235580992,\"bookValue\":24.629,\"fiftyDayAverage\":38.6506,\"fiftyDayAverageChange\":4.8044014,\"fiftyDayAverageChangePercent\":0.12430341,\"twoHundredDayAverage\":32.94455,\"twoHundredDayAverageChange\":10.510452,\"twoHundredDayAverageChangePercent\":0.31903464,\"marketCap\":20657682432,\"forwardPE\":18.491491,\"priceToBook\":1.7643836,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1552483800000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731536591,\"postMarketPrice\":43.455,\"postMarketChange\":0.0,\"regularMarketChange\":-0.1949997,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.44673467,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":43.675,\"fiftyTwoWeekLow\":25.815,\"shortName\":\"Fox - Corporation\",\"displayName\":\"Fox\",\"symbol\":\"FOX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":83.21,\"regularMarketDayHigh\":83.59,\"regularMarketDayRange\":\"82.5 - - 83.59\",\"regularMarketDayLow\":82.5,\"regularMarketVolume\":634883,\"regularMarketPreviousClose\":82.97,\"bid\":83.44,\"ask\":84.46,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_285930\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Loews - Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":82.94,\"averageDailyVolume3Month\":674240,\"averageDailyVolume10Day\":854760,\"fiftyTwoWeekLowChange\":16.61,\"fiftyTwoWeekLowChangePercent\":0.24939941,\"fiftyTwoWeekRange\":\"66.6 - - 84.56\",\"fiftyTwoWeekHighChange\":-1.3499985,\"fiftyTwoWeekHighChangePercent\":-0.015964977,\"fiftyTwoWeekChangePercent\":24.08291,\"dividendDate\":1725321600,\"earningsTimestamp\":1730727000,\"earningsTimestampStart\":1738589400,\"earningsTimestampEnd\":1738935000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.25,\"trailingPE\":11.06516,\"dividendRate\":0.25,\"trailingAnnualDividendYield\":0.0030131373,\"dividendYield\":0.3,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":7.52,\"epsForward\":2.9,\"sharesOutstanding\":216576992,\"bookValue\":79.281,\"fiftyDayAverage\":79.7092,\"fiftyDayAverageChange\":3.500801,\"fiftyDayAverageChangePercent\":0.043919664,\"twoHundredDayAverage\":77.16545,\"twoHundredDayAverageChange\":6.044548,\"twoHundredDayAverageChangePercent\":0.07833231,\"marketCap\":18021371904,\"forwardPE\":28.693102,\"priceToBook\":1.0495579,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":0.9494062,\"postMarketTime\":1731539074,\"postMarketPrice\":84.0,\"postMarketChange\":0.7900009,\"regularMarketChange\":0.239998,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.289259,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":84.56,\"fiftyTwoWeekLow\":66.6,\"averageAnalystRating\":\"3.0 - - Hold\",\"shortName\":\"Loews Corporation\",\"displayName\":\"Loews\",\"symbol\":\"L\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":41.51,\"regularMarketDayHigh\":41.64,\"regularMarketDayRange\":\"41.14 - - 41.64\",\"regularMarketDayLow\":41.14,\"regularMarketVolume\":592862,\"regularMarketPreviousClose\":41.44,\"bid\":40.68,\"ask\":42.12,\"bidSize\":18,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_881430\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Pembina - Pipeline Corporation\",\"financialCurrency\":\"CAD\",\"regularMarketOpen\":41.48,\"averageDailyVolume3Month\":1131185,\"averageDailyVolume10Day\":906210,\"fiftyTwoWeekLowChange\":9.989998,\"fiftyTwoWeekLowChangePercent\":0.31694156,\"fiftyTwoWeekRange\":\"31.52 - - 43.44\",\"fiftyTwoWeekHighChange\":-1.9300003,\"fiftyTwoWeekHighChangePercent\":-0.044429105,\"fiftyTwoWeekChangePercent\":30.53459,\"dividendDate\":1735603200,\"earningsTimestampStart\":1723150860,\"earningsTimestampEnd\":1723150860,\"earningsCallTimestampStart\":1730905200,\"earningsCallTimestampEnd\":1730905200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":2.713,\"trailingPE\":17.514769,\"dividendRate\":1.99,\"trailingAnnualDividendYield\":0.06546815,\"dividendYield\":4.79,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.37,\"epsForward\":2.36,\"epsCurrentYear\":2.25,\"priceEpsCurrentYear\":18.448889,\"sharesOutstanding\":580531008,\"bookValue\":25.571,\"fiftyDayAverage\":41.694,\"fiftyDayAverageChange\":-0.18400192,\"fiftyDayAverageChangePercent\":-0.004413151,\"twoHundredDayAverage\":37.74085,\"twoHundredDayAverageChange\":3.7691498,\"twoHundredDayAverageChangePercent\":0.09986924,\"marketCap\":24097841152,\"forwardPE\":17.588984,\"priceToBook\":1.6233233,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1286371800000,\"priceHint\":2,\"postMarketChangePercent\":-0.6986199,\"postMarketTime\":1731544858,\"postMarketPrice\":41.22,\"postMarketChange\":-0.2899971,\"regularMarketChange\":0.0699997,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.168918,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":43.44,\"fiftyTwoWeekLow\":31.52,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"Pembina Pipeline Corp.\",\"displayName\":\"Pembina - Pipeline\",\"symbol\":\"PBA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":406.22,\"regularMarketDayHigh\":415.27,\"regularMarketDayRange\":\"396.97 - - 415.27\",\"regularMarketDayLow\":396.97,\"regularMarketVolume\":2845688,\"regularMarketPreviousClose\":392.0,\"bid\":387.68,\"ask\":431.97,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_19609\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Charter - Communications, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":409.52,\"averageDailyVolume3Month\":1255907,\"averageDailyVolume10Day\":2103620,\"fiftyTwoWeekLowChange\":170.14,\"fiftyTwoWeekLowChangePercent\":0.72068787,\"fiftyTwoWeekRange\":\"236.08 - - 421.16\",\"fiftyTwoWeekHighChange\":-14.940002,\"fiftyTwoWeekHighChangePercent\":-0.03547346,\"fiftyTwoWeekChangePercent\":-1.6059101,\"earningsTimestamp\":1730458800,\"earningsTimestampStart\":1738324800,\"earningsTimestampEnd\":1738670400,\"earningsCallTimestampStart\":1730464200,\"earningsCallTimestampEnd\":1730464200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":12.730179,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":31.91,\"epsForward\":35.78,\"epsCurrentYear\":34.09,\"priceEpsCurrentYear\":11.916104,\"sharesOutstanding\":142196000,\"bookValue\":99.152,\"fiftyDayAverage\":340.0742,\"fiftyDayAverageChange\":66.14581,\"fiftyDayAverageChangePercent\":0.19450407,\"twoHundredDayAverage\":309.67056,\"twoHundredDayAverageChange\":96.54944,\"twoHundredDayAverageChangePercent\":0.31178114,\"marketCap\":57762861056,\"forwardPE\":11.353271,\"priceToBook\":4.096942,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1262701800000,\"priceHint\":2,\"postMarketChangePercent\":0.0467733,\"postMarketTime\":1731541740,\"postMarketPrice\":406.41,\"postMarketChange\":0.190002,\"regularMarketChange\":14.220001,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":3.6275513,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":421.16,\"fiftyTwoWeekLow\":236.08,\"averageAnalystRating\":\"2.9 - - Hold\",\"shortName\":\"Charter Communications, Inc.\",\"displayName\":\"Charter - Communications\",\"symbol\":\"CHTR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":48.44,\"regularMarketDayHigh\":48.7,\"regularMarketDayRange\":\"48.17 - - 48.7\",\"regularMarketDayLow\":48.17,\"regularMarketVolume\":1100364,\"regularMarketPreviousClose\":48.35,\"bid\":48.62,\"ask\":48.82,\"bidSize\":8,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_309162\",\"fullExchangeName\":\"NYSE\",\"longName\":\"TC - Energy Corporation\",\"financialCurrency\":\"CAD\",\"regularMarketOpen\":48.5,\"averageDailyVolume3Month\":2496089,\"averageDailyVolume10Day\":1712780,\"fiftyTwoWeekLowChange\":13.489998,\"fiftyTwoWeekLowChangePercent\":0.3859799,\"fiftyTwoWeekRange\":\"34.95 - - 50.22\",\"fiftyTwoWeekHighChange\":-1.7800026,\"fiftyTwoWeekHighChangePercent\":-0.035444096,\"fiftyTwoWeekChangePercent\":34.108532,\"dividendDate\":1738281600,\"earningsTimestamp\":1730979012,\"earningsTimestampStart\":1730979012,\"earningsTimestampEnd\":1730979012,\"earningsCallTimestampStart\":1730986200,\"earningsCallTimestampEnd\":1730986200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":3.81,\"trailingPE\":13.761363,\"dividendRate\":2.38,\"trailingAnnualDividendYield\":0.07880042,\"dividendYield\":4.92,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.52,\"epsForward\":2.65,\"epsCurrentYear\":2.93,\"priceEpsCurrentYear\":16.532423,\"sharesOutstanding\":1038000000,\"bookValue\":26.934,\"fiftyDayAverage\":46.7814,\"fiftyDayAverageChange\":1.6585999,\"fiftyDayAverageChangePercent\":0.03545426,\"twoHundredDayAverage\":41.4518,\"twoHundredDayAverageChange\":6.9881973,\"twoHundredDayAverageChangePercent\":0.16858609,\"marketCap\":50357256192,\"forwardPE\":18.279243,\"priceToBook\":1.7984703,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":401376600000,\"priceHint\":2,\"postMarketChangePercent\":1.1560723,\"postMarketTime\":1731539139,\"postMarketPrice\":49.0,\"postMarketChange\":0.5600014,\"regularMarketChange\":0.0900002,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.186143,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":50.22,\"fiftyTwoWeekLow\":34.95,\"averageAnalystRating\":\"2.8 - - Hold\",\"shortName\":\"TC Energy Corporation\",\"symbol\":\"TRP\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":182.13,\"regularMarketDayHigh\":185.35,\"regularMarketDayRange\":\"178.97 - - 185.35\",\"regularMarketDayLow\":178.97,\"regularMarketVolume\":2603077,\"regularMarketPreviousClose\":182.26,\"bid\":172.42,\"ask\":189.28,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_4593731\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"First - Solar, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":181.78,\"averageDailyVolume3Month\":2545071,\"averageDailyVolume10Day\":4442670,\"fiftyTwoWeekLowChange\":46.25,\"fiftyTwoWeekLowChangePercent\":0.34037384,\"fiftyTwoWeekRange\":\"135.88 - - 306.77\",\"fiftyTwoWeekHighChange\":-124.639984,\"fiftyTwoWeekHighChangePercent\":-0.40629783,\"fiftyTwoWeekChangePercent\":17.875862,\"earningsTimestamp\":1730232120,\"earningsTimestampStart\":1730232120,\"earningsTimestampEnd\":1730232120,\"earningsCallTimestampStart\":1730233800,\"earningsCallTimestampEnd\":1730233800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":15.700862,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":11.6,\"epsForward\":20.86,\"epsCurrentYear\":13.23,\"priceEpsCurrentYear\":13.76644,\"sharesOutstanding\":107058000,\"bookValue\":70.93,\"fiftyDayAverage\":217.036,\"fiftyDayAverageChange\":-34.90599,\"fiftyDayAverageChangePercent\":-0.16083042,\"twoHundredDayAverage\":205.08165,\"twoHundredDayAverageChange\":-22.951645,\"twoHundredDayAverageChangePercent\":-0.11191467,\"marketCap\":19510130688,\"forwardPE\":8.731064,\"priceToBook\":2.5677428,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1163773800000,\"priceHint\":2,\"postMarketChangePercent\":0.0274462,\"postMarketTime\":1731545813,\"postMarketPrice\":182.18,\"postMarketChange\":0.0499878,\"regularMarketChange\":-0.12998962,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.07132099,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":306.77,\"fiftyTwoWeekLow\":135.88,\"averageAnalystRating\":\"1.9 - - Buy\",\"shortName\":\"First Solar, Inc.\",\"displayName\":\"First Solar\",\"symbol\":\"FSLR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":52.72,\"regularMarketDayHigh\":53.66,\"regularMarketDayRange\":\"52.52 - - 53.66\",\"regularMarketDayLow\":52.52,\"regularMarketVolume\":634210,\"regularMarketPreviousClose\":53.27,\"bid\":52.64,\"ask\":52.79,\"bidSize\":4,\"askSize\":6,\"market\":\"us_market\",\"messageBoardId\":\"finmb_296917\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Pilgrim's - Pride Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":53.44,\"averageDailyVolume3Month\":1425575,\"averageDailyVolume10Day\":1109990,\"fiftyTwoWeekLowChange\":27.490002,\"fiftyTwoWeekLowChangePercent\":1.089576,\"fiftyTwoWeekRange\":\"25.23 - - 55.5\",\"fiftyTwoWeekHighChange\":-2.7799988,\"fiftyTwoWeekHighChangePercent\":-0.050090067,\"fiftyTwoWeekChangePercent\":103.08166,\"dividendDate\":1463529600,\"earningsTimestamp\":1730320201,\"earningsTimestampStart\":1730320201,\"earningsTimestampEnd\":1730320201,\"earningsCallTimestampStart\":1730379600,\"earningsCallTimestampEnd\":1730379600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":12.8272505,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.11,\"epsForward\":4.5,\"epsCurrentYear\":5.07,\"priceEpsCurrentYear\":10.398422,\"sharesOutstanding\":237123008,\"bookValue\":17.732,\"fiftyDayAverage\":46.0968,\"fiftyDayAverageChange\":6.6231995,\"fiftyDayAverageChangePercent\":0.14368024,\"twoHundredDayAverage\":38.87395,\"twoHundredDayAverageChange\":13.84605,\"twoHundredDayAverageChangePercent\":0.3561781,\"marketCap\":12633926656,\"forwardPE\":11.715556,\"priceToBook\":2.973156,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":567873000000,\"priceHint\":2,\"postMarketChangePercent\":0.341427,\"postMarketTime\":1731535479,\"postMarketPrice\":52.9,\"postMarketChange\":0.18,\"regularMarketChange\":-0.54999924,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.0324746,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":55.5,\"fiftyTwoWeekLow\":25.23,\"averageAnalystRating\":\"2.7 - - Hold\",\"shortName\":\"Pilgrim's Pride Corporation\",\"displayName\":\"Pilgrim's - Pride\",\"symbol\":\"PPC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":25.86,\"regularMarketDayHigh\":25.896,\"regularMarketDayRange\":\"25.57 - - 25.896\",\"regularMarketDayLow\":25.57,\"regularMarketVolume\":1293067,\"regularMarketPreviousClose\":26.59,\"bid\":25.85,\"ask\":26.0,\"bidSize\":8,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_278933\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Honda - Motor Co., Ltd.\",\"financialCurrency\":\"JPY\",\"regularMarketOpen\":25.78,\"averageDailyVolume3Month\":764685,\"averageDailyVolume10Day\":1276480,\"fiftyTwoWeekLowChange\":0.29000092,\"fiftyTwoWeekLowChangePercent\":0.011341452,\"fiftyTwoWeekRange\":\"25.57 - - 37.9\",\"fiftyTwoWeekHighChange\":-12.040001,\"fiftyTwoWeekHighChangePercent\":-0.31767812,\"fiftyTwoWeekChangePercent\":-18.679243,\"dividendDate\":1733875200,\"earningsTimestamp\":1730865600,\"earningsTimestampStart\":1738821600,\"earningsTimestampEnd\":1739167200,\"earningsCallTimestampStart\":1730873100,\"earningsCallTimestampEnd\":1730873100,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":73.0,\"trailingPE\":6.465,\"dividendRate\":1.41,\"trailingAnnualDividendYield\":2.745393,\"dividendYield\":5.3,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.0,\"epsForward\":4.96,\"epsCurrentYear\":4.87,\"priceEpsCurrentYear\":5.310062,\"sharesOutstanding\":1560850048,\"bookValue\":2646.294,\"fiftyDayAverage\":30.9426,\"fiftyDayAverageChange\":-5.0825996,\"fiftyDayAverageChangePercent\":-0.16425897,\"twoHundredDayAverage\":32.93795,\"twoHundredDayAverageChange\":-7.0779495,\"twoHundredDayAverageChangePercent\":-0.21488737,\"marketCap\":41042665472,\"forwardPE\":5.21371,\"priceToBook\":0.009772157,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":0.5259075,\"postMarketTime\":1731545896,\"postMarketPrice\":25.996,\"postMarketChange\":0.13599968,\"regularMarketChange\":-0.73,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-2.74539,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":37.9,\"fiftyTwoWeekLow\":25.57,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Honda Motor Company, Ltd.\",\"displayName\":\"Honda - Motor\",\"symbol\":\"HMC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":162.93,\"regularMarketDayHigh\":165.57,\"regularMarketDayRange\":\"161.86 - - 165.57\",\"regularMarketDayLow\":161.86,\"regularMarketVolume\":909001,\"regularMarketPreviousClose\":164.21,\"bid\":155.93,\"ask\":168.95,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_107911\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Tenet - Healthcare Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":165.06,\"averageDailyVolume3Month\":1144829,\"averageDailyVolume10Day\":1299740,\"fiftyTwoWeekLowChange\":105.27999,\"fiftyTwoWeekLowChangePercent\":1.8261924,\"fiftyTwoWeekRange\":\"57.65 - - 171.2\",\"fiftyTwoWeekHighChange\":-8.270004,\"fiftyTwoWeekHighChangePercent\":-0.0483061,\"fiftyTwoWeekChangePercent\":180.23737,\"earningsTimestamp\":1730198700,\"earningsTimestampStart\":1738848600,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1730210400,\"earningsCallTimestampEnd\":1730210400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":5.159278,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":31.58,\"epsForward\":11.46,\"sharesOutstanding\":95097000,\"bookValue\":40.323,\"fiftyDayAverage\":159.5284,\"fiftyDayAverageChange\":3.401596,\"fiftyDayAverageChangePercent\":0.021322824,\"twoHundredDayAverage\":131.0529,\"twoHundredDayAverageChange\":31.87709,\"twoHundredDayAverageChangePercent\":0.24323834,\"marketCap\":15494153216,\"forwardPE\":14.217277,\"priceToBook\":4.0406218,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":0.104348,\"postMarketTime\":1731545044,\"postMarketPrice\":163.1,\"postMarketChange\":0.170013,\"regularMarketChange\":-1.28001,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.779498,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":171.2,\"fiftyTwoWeekLow\":57.65,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Tenet Healthcare Corporation\",\"displayName\":\"Tenet - Healthcare\",\"symbol\":\"THC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":202.75,\"regularMarketDayHigh\":206.83,\"regularMarketDayRange\":\"202.455 - - 206.83\",\"regularMarketDayLow\":202.455,\"regularMarketVolume\":414709,\"regularMarketPreviousClose\":205.24,\"bid\":203.43,\"ask\":203.61,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_36040\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Universal - Health Services, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":206.36,\"averageDailyVolume3Month\":730628,\"averageDailyVolume10Day\":797720,\"fiftyTwoWeekLowChange\":70.009995,\"fiftyTwoWeekLowChangePercent\":0.52742195,\"fiftyTwoWeekRange\":\"132.74 - - 243.25\",\"fiftyTwoWeekHighChange\":-40.5,\"fiftyTwoWeekHighChangePercent\":-0.16649537,\"fiftyTwoWeekChangePercent\":50.79955,\"dividendDate\":1726531200,\"earningsTimestamp\":1729800967,\"earningsTimestampStart\":1729800967,\"earningsTimestampEnd\":1729800967,\"earningsCallTimestampStart\":1729861200,\"earningsCallTimestampEnd\":1729861200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.8,\"trailingPE\":13.662398,\"dividendRate\":0.8,\"trailingAnnualDividendYield\":0.0038978755,\"dividendYield\":0.39,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":14.84,\"epsForward\":18.16,\"epsCurrentYear\":15.93,\"priceEpsCurrentYear\":12.727558,\"sharesOutstanding\":59461600,\"bookValue\":100.138,\"fiftyDayAverage\":222.4964,\"fiftyDayAverageChange\":-19.746399,\"fiftyDayAverageChangePercent\":-0.0887493,\"twoHundredDayAverage\":194.0384,\"twoHundredDayAverageChange\":8.711594,\"twoHundredDayAverageChangePercent\":0.044896234,\"marketCap\":13538793472,\"forwardPE\":11.164648,\"priceToBook\":2.024706,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":363533400000,\"priceHint\":2,\"postMarketChangePercent\":-0.32058886,\"postMarketTime\":1731545538,\"postMarketPrice\":202.1,\"postMarketChange\":-0.6499939,\"regularMarketChange\":-2.49001,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.21322,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":243.25,\"fiftyTwoWeekLow\":132.74,\"averageAnalystRating\":\"2.4 - - Buy\",\"shortName\":\"Universal Health Services, Inc.\",\"symbol\":\"UHS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":92.69,\"regularMarketDayHigh\":94.93,\"regularMarketDayRange\":\"90.0 - - 94.93\",\"regularMarketDayLow\":90.0,\"regularMarketVolume\":4306062,\"regularMarketPreviousClose\":97.62,\"bid\":92.56,\"ask\":100.81,\"bidSize\":6,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_263559030\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Liberty - Broadband Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":93.64,\"averageDailyVolume3Month\":1104374,\"averageDailyVolume10Day\":1566980,\"fiftyTwoWeekLowChange\":46.230003,\"fiftyTwoWeekLowChangePercent\":0.9950496,\"fiftyTwoWeekRange\":\"46.46 - - 101.5\",\"fiftyTwoWeekHighChange\":-8.809998,\"fiftyTwoWeekHighChangePercent\":-0.086798005,\"fiftyTwoWeekChangePercent\":16.672647,\"earningsTimestamp\":1730985300,\"earningsTimestampStart\":1730985300,\"earningsTimestampEnd\":1730985300,\"earningsCallTimestampStart\":1730996100,\"earningsCallTimestampEnd\":1730996100,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":17.069983,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":5.43,\"epsForward\":8.86,\"epsCurrentYear\":6.41226,\"priceEpsCurrentYear\":14.455122,\"sharesOutstanding\":122589000,\"bookValue\":66.644,\"fiftyDayAverage\":76.722,\"fiftyDayAverageChange\":15.968002,\"fiftyDayAverageChangePercent\":0.20812808,\"twoHundredDayAverage\":61.78555,\"twoHundredDayAverageChange\":30.904453,\"twoHundredDayAverageChangePercent\":0.500189,\"marketCap\":13225565184,\"forwardPE\":10.461626,\"priceToBook\":1.390823,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1415197800000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731536591,\"postMarketPrice\":92.69,\"postMarketChange\":0.0,\"regularMarketChange\":-4.9300003,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-5.0501947,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":101.5,\"fiftyTwoWeekLow\":46.46,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"Liberty Broadband Corporation\",\"symbol\":\"LBRDK\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":29.14,\"regularMarketDayHigh\":29.29,\"regularMarketDayRange\":\"28.74 - - 29.29\",\"regularMarketDayLow\":28.74,\"regularMarketVolume\":283450,\"regularMarketPreviousClose\":29.37,\"bid\":28.0,\"ask\":29.36,\"bidSize\":10,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_358534\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Eni - S.p.A.\",\"financialCurrency\":\"EUR\",\"regularMarketOpen\":29.04,\"averageDailyVolume3Month\":255634,\"averageDailyVolume10Day\":241450,\"fiftyTwoWeekLowChange\":0.39999962,\"fiftyTwoWeekLowChangePercent\":0.013917872,\"fiftyTwoWeekRange\":\"28.74 - - 34.3\",\"fiftyTwoWeekHighChange\":-5.16,\"fiftyTwoWeekHighChangePercent\":-0.15043731,\"fiftyTwoWeekChangePercent\":-9.866995,\"dividendDate\":1733443200,\"earningsTimestamp\":1729837800,\"earningsTimestampStart\":1729837800,\"earningsTimestampEnd\":1729837800,\"earningsCallTimestampStart\":1729857600,\"earningsCallTimestampEnd\":1729857600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.23,\"trailingPE\":17.8773,\"dividendRate\":2.1,\"trailingAnnualDividendYield\":0.00783112,\"dividendYield\":7.16,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.63,\"epsForward\":3.4,\"epsCurrentYear\":3.98,\"priceEpsCurrentYear\":7.321608,\"sharesOutstanding\":1562520064,\"bookValue\":16.15,\"fiftyDayAverage\":30.821,\"fiftyDayAverageChange\":-1.6809998,\"fiftyDayAverageChangePercent\":-0.054540727,\"twoHundredDayAverage\":31.33505,\"twoHundredDayAverageChange\":-2.1950512,\"twoHundredDayAverageChangePercent\":-0.070050985,\"marketCap\":46908694528,\"forwardPE\":8.570588,\"priceToBook\":1.8043344,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":817569000000,\"priceHint\":2,\"postMarketChangePercent\":0.65202653,\"postMarketTime\":1731539872,\"postMarketPrice\":29.33,\"postMarketChange\":0.19000053,\"regularMarketChange\":-0.230001,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.783117,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":34.3,\"fiftyTwoWeekLow\":28.74,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"ENI S.p.A.\",\"displayName\":\"Eni S.p.A\",\"symbol\":\"E\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":361.26,\"regularMarketDayHigh\":365.345,\"regularMarketDayRange\":\"361.26 - - 365.345\",\"regularMarketDayLow\":361.26,\"regularMarketVolume\":295784,\"regularMarketPreviousClose\":360.35,\"bid\":360.45,\"ask\":362.27,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_303646\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Snap-on - Incorporated\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":361.85,\"averageDailyVolume3Month\":334560,\"averageDailyVolume10Day\":366400,\"fiftyTwoWeekLowChange\":108.280014,\"fiftyTwoWeekLowChangePercent\":0.4280181,\"fiftyTwoWeekRange\":\"252.98 - - 365.35\",\"fiftyTwoWeekHighChange\":-4.0899963,\"fiftyTwoWeekHighChangePercent\":-0.011194735,\"fiftyTwoWeekChangePercent\":31.501162,\"dividendDate\":1733788800,\"earningsTimestamp\":1729161000,\"earningsTimestampStart\":1738848600,\"earningsTimestampEnd\":1739194200,\"earningsCallTimestampStart\":1729173600,\"earningsCallTimestampEnd\":1729173600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":7.44,\"trailingPE\":18.564236,\"dividendRate\":8.56,\"trailingAnnualDividendYield\":0.020646593,\"dividendYield\":2.38,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":19.46,\"epsForward\":20.12,\"epsCurrentYear\":19.42,\"priceEpsCurrentYear\":18.602472,\"sharesOutstanding\":52507400,\"bookValue\":104.274,\"fiftyDayAverage\":305.993,\"fiftyDayAverageChange\":55.267,\"fiftyDayAverageChangePercent\":0.18061523,\"twoHundredDayAverage\":283.85306,\"twoHundredDayAverageChange\":77.40695,\"twoHundredDayAverageChangePercent\":0.2727008,\"marketCap\":18968823808,\"forwardPE\":17.955269,\"priceToBook\":3.4645262,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":99153000000,\"priceHint\":2,\"postMarketChangePercent\":-0.071973026,\"postMarketTime\":1731540359,\"postMarketPrice\":361.0,\"postMarketChange\":-0.26000977,\"regularMarketChange\":0.910004,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.252533,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":365.35,\"fiftyTwoWeekLow\":252.98,\"averageAnalystRating\":\"2.7 - - Hold\",\"shortName\":\"Snap-On Incorporated\",\"symbol\":\"SNA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":157.28,\"regularMarketDayHigh\":159.71,\"regularMarketDayRange\":\"156.5341 - - 159.71\",\"regularMarketDayLow\":156.5341,\"regularMarketVolume\":794805,\"regularMarketPreviousClose\":158.04,\"bid\":156.74,\"ask\":157.91,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_35644\",\"fullExchangeName\":\"NYSE\",\"longName\":\"DaVita - Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":158.62,\"averageDailyVolume3Month\":771909,\"averageDailyVolume10Day\":869590,\"fiftyTwoWeekLowChange\":64.6,\"fiftyTwoWeekLowChangePercent\":0.697022,\"fiftyTwoWeekRange\":\"92.68 - - 168.5\",\"fiftyTwoWeekHighChange\":-11.220001,\"fiftyTwoWeekHighChangePercent\":-0.066587545,\"fiftyTwoWeekChangePercent\":66.02976,\"earningsTimestamp\":1730232308,\"earningsTimestampStart\":1739271540,\"earningsTimestampEnd\":1739793600,\"earningsCallTimestampStart\":1730235600,\"earningsCallTimestampEnd\":1730235600,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":16.948277,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":9.28,\"epsForward\":11.27,\"epsCurrentYear\":9.74,\"priceEpsCurrentYear\":16.147844,\"sharesOutstanding\":82024000,\"bookValue\":4.68,\"fiftyDayAverage\":157.4614,\"fiftyDayAverageChange\":-0.18139648,\"fiftyDayAverageChangePercent\":-0.0011520061,\"twoHundredDayAverage\":141.5996,\"twoHundredDayAverageChange\":15.680405,\"twoHundredDayAverageChangePercent\":0.11073764,\"marketCap\":12900734976,\"forwardPE\":13.955634,\"priceToBook\":33.60684,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":815149800000,\"priceHint\":2,\"postMarketChangePercent\":-0.3051855,\"postMarketTime\":1731541209,\"postMarketPrice\":156.8,\"postMarketChange\":-0.47999573,\"regularMarketChange\":-0.759995,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.480887,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":168.5,\"fiftyTwoWeekLow\":92.68,\"averageAnalystRating\":\"2.9 - - Hold\",\"shortName\":\"DaVita Inc.\",\"displayName\":\"DaVita\",\"symbol\":\"DVA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":59.84,\"regularMarketDayHigh\":61.0375,\"regularMarketDayRange\":\"59.505 - - 61.0375\",\"regularMarketDayLow\":59.505,\"regularMarketVolume\":1428361,\"regularMarketPreviousClose\":60.08,\"bid\":58.45,\"ask\":61.23,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_108443\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Webster - Financial Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":60.28,\"averageDailyVolume3Month\":1251731,\"averageDailyVolume10Day\":1619790,\"fiftyTwoWeekLowChange\":20.5,\"fiftyTwoWeekLowChangePercent\":0.52109814,\"fiftyTwoWeekRange\":\"39.34 - - 61.12\",\"fiftyTwoWeekHighChange\":-1.2799988,\"fiftyTwoWeekHighChangePercent\":-0.020942388,\"fiftyTwoWeekChangePercent\":40.502464,\"dividendDate\":1731369600,\"earningsTimestamp\":1729164600,\"earningsTimestampStart\":1737462600,\"earningsTimestampEnd\":1737981000,\"earningsCallTimestampStart\":1729170000,\"earningsCallTimestampEnd\":1729170000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.6,\"trailingPE\":13.538462,\"dividendRate\":1.6,\"trailingAnnualDividendYield\":0.026631158,\"dividendYield\":2.66,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.42,\"epsForward\":5.73,\"epsCurrentYear\":5.31,\"priceEpsCurrentYear\":11.269303,\"sharesOutstanding\":171428000,\"bookValue\":51.999,\"fiftyDayAverage\":49.161,\"fiftyDayAverageChange\":10.679001,\"fiftyDayAverageChangePercent\":0.21722506,\"twoHundredDayAverage\":46.7351,\"twoHundredDayAverageChange\":13.1049,\"twoHundredDayAverageChangePercent\":0.28040808,\"marketCap\":10258251776,\"forwardPE\":10.443281,\"priceToBook\":1.1507914,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":534781800000,\"priceHint\":2,\"postMarketChangePercent\":-0.0451007,\"postMarketTime\":1731532025,\"postMarketPrice\":59.84,\"postMarketChange\":-0.0270004,\"regularMarketChange\":-0.240002,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.39947,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":61.12,\"fiftyTwoWeekLow\":39.34,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Webster Financial Corporation\",\"displayName\":\"Webster - Financial\",\"symbol\":\"WBS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":5.75,\"regularMarketDayHigh\":5.86,\"regularMarketDayRange\":\"5.7443 - - 5.86\",\"regularMarketDayLow\":5.7443,\"regularMarketVolume\":534755,\"regularMarketPreviousClose\":5.88,\"bid\":5.81,\"ask\":5.8,\"bidSize\":40,\"askSize\":31,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1288232\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Nomura - Holdings, Inc.\",\"financialCurrency\":\"JPY\",\"regularMarketOpen\":5.8,\"averageDailyVolume3Month\":847742,\"averageDailyVolume10Day\":996610,\"fiftyTwoWeekLowChange\":1.7199998,\"fiftyTwoWeekLowChangePercent\":0.42679894,\"fiftyTwoWeekRange\":\"4.03 - - 6.62\",\"fiftyTwoWeekHighChange\":-0.8699999,\"fiftyTwoWeekHighChangePercent\":-0.13141993,\"fiftyTwoWeekChangePercent\":41.27765,\"dividendDate\":1718236800,\"earningsTimestamp\":1730440800,\"earningsTimestampStart\":1738132200,\"earningsTimestampEnd\":1738564200,\"earningsCallTimestampStart\":1730453400,\"earningsCallTimestampEnd\":1730453400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":38.0,\"trailingPE\":9.913794,\"dividendRate\":0.1,\"trailingAnnualDividendYield\":6.462585,\"dividendYield\":1.62,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.58,\"epsForward\":0.56,\"epsCurrentYear\":0.61481,\"priceEpsCurrentYear\":9.352483,\"sharesOutstanding\":2955020032,\"bookValue\":1117.0,\"fiftyDayAverage\":5.4144,\"fiftyDayAverageChange\":0.3355999,\"fiftyDayAverageChangePercent\":0.06198284,\"twoHundredDayAverage\":5.7528,\"twoHundredDayAverageChange\":-0.0027999878,\"twoHundredDayAverageChangePercent\":-4.8671738E-4,\"marketCap\":17314342912,\"forwardPE\":10.267858,\"priceToBook\":0.005147717,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1008599400000,\"priceHint\":2,\"postMarketChangePercent\":1.7165226,\"postMarketTime\":1731545538,\"postMarketPrice\":5.8487,\"postMarketChange\":0.09870005,\"regularMarketChange\":-0.13,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-2.21089,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":6.62,\"fiftyTwoWeekLow\":4.03,\"averageAnalystRating\":\"3.0 - - Hold\",\"shortName\":\"Nomura Holdings Inc\",\"displayName\":\"Nomura\",\"symbol\":\"NMR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":382.74,\"regularMarketDayHigh\":385.45,\"regularMarketDayRange\":\"378.9798 - - 385.45\",\"regularMarketDayLow\":378.9798,\"regularMarketVolume\":612140,\"regularMarketPreviousClose\":379.79,\"bid\":382.36,\"ask\":383.21,\"bidSize\":6,\"askSize\":3,\"market\":\"us_market\",\"messageBoardId\":\"finmb_35929\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Ulta - Beauty, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":381.38,\"averageDailyVolume3Month\":1297400,\"averageDailyVolume10Day\":786340,\"fiftyTwoWeekLowChange\":64.56998,\"fiftyTwoWeekLowChangePercent\":0.20294175,\"fiftyTwoWeekRange\":\"318.17 - - 574.76\",\"fiftyTwoWeekHighChange\":-192.02002,\"fiftyTwoWeekHighChangePercent\":-0.3340873,\"fiftyTwoWeekChangePercent\":-5.624461,\"dividendDate\":1337040000,\"earningsTimestamp\":1733432400,\"earningsTimestampStart\":1733432400,\"earningsTimestampEnd\":1733432400,\"earningsCallTimestampStart\":1733434200,\"earningsCallTimestampEnd\":1733434200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":15.242532,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":25.11,\"epsForward\":22.87,\"epsCurrentYear\":23.14,\"priceEpsCurrentYear\":16.54019,\"sharesOutstanding\":47114700,\"bookValue\":49.644,\"fiftyDayAverage\":379.7334,\"fiftyDayAverageChange\":3.0065918,\"fiftyDayAverageChangePercent\":0.007917639,\"twoHundredDayAverage\":417.26526,\"twoHundredDayAverageChange\":-34.52527,\"twoHundredDayAverageChangePercent\":-0.082741775,\"marketCap\":18032678912,\"forwardPE\":16.73546,\"priceToBook\":7.7096925,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1193319000000,\"priceHint\":2,\"postMarketChangePercent\":-0.0548653,\"postMarketTime\":1731541919,\"postMarketPrice\":382.53,\"postMarketChange\":-0.209991,\"regularMarketChange\":2.9499817,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.7767402,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":574.76,\"fiftyTwoWeekLow\":318.17,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"Ulta Beauty, Inc.\",\"displayName\":\"Ulta Beauty\",\"symbol\":\"ULTA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":51.94,\"regularMarketDayHigh\":52.2199,\"regularMarketDayRange\":\"50.45 - - 52.2199\",\"regularMarketDayLow\":50.45,\"regularMarketVolume\":249442,\"regularMarketPreviousClose\":49.8,\"bid\":51.82,\"ask\":51.8,\"bidSize\":8,\"askSize\":11,\"market\":\"us_market\",\"messageBoardId\":\"finmb_30834687\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Cheniere - Energy Partners, L.P.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":50.37,\"averageDailyVolume3Month\":123809,\"averageDailyVolume10Day\":204350,\"fiftyTwoWeekLowChange\":6.4300003,\"fiftyTwoWeekLowChangePercent\":0.14128764,\"fiftyTwoWeekRange\":\"45.51 - - 62.34\",\"fiftyTwoWeekHighChange\":-10.400002,\"fiftyTwoWeekHighChangePercent\":-0.1668271,\"fiftyTwoWeekChangePercent\":-9.904599,\"dividendDate\":1731542400,\"earningsTimestamp\":1730374200,\"earningsTimestampStart\":1730374200,\"earningsTimestampEnd\":1730374200,\"earningsCallTimestampStart\":1730386800,\"earningsCallTimestampEnd\":1730386800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":3.69,\"trailingPE\":10.753623,\"dividendRate\":3.47,\"trailingAnnualDividendYield\":0.07409639,\"dividendYield\":6.96,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":4.83,\"epsForward\":4.3,\"epsCurrentYear\":4.51,\"priceEpsCurrentYear\":11.516629,\"sharesOutstanding\":484047008,\"bookValue\":3.31,\"fiftyDayAverage\":49.1436,\"fiftyDayAverageChange\":2.7963982,\"fiftyDayAverageChangePercent\":0.05690259,\"twoHundredDayAverage\":49.3817,\"twoHundredDayAverageChange\":2.5583,\"twoHundredDayAverageChangePercent\":0.051806644,\"marketCap\":25141401600,\"forwardPE\":12.079069,\"priceToBook\":15.691843,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1174483800000,\"priceHint\":2,\"postMarketChangePercent\":0.7893721,\"postMarketTime\":1731546000,\"postMarketPrice\":52.35,\"postMarketChange\":0.40999985,\"regularMarketChange\":2.14,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":4.29719,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":62.34,\"fiftyTwoWeekLow\":45.51,\"averageAnalystRating\":\"3.6 - - Underperform\",\"shortName\":\"Cheniere Energy Partners, LP\",\"displayName\":\"Cheniere - Energy Partners, L.P\",\"symbol\":\"CQP\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":36.77,\"regularMarketDayHigh\":37.165,\"regularMarketDayRange\":\"36.25 - - 37.165\",\"regularMarketDayLow\":36.25,\"regularMarketVolume\":1420385,\"regularMarketPreviousClose\":36.2,\"bid\":36.2,\"ask\":36.76,\"bidSize\":9,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_223971217\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Western - Midstream Partners, LP\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":36.3,\"averageDailyVolume3Month\":1106676,\"averageDailyVolume10Day\":1802680,\"fiftyTwoWeekLowChange\":9.960001,\"fiftyTwoWeekLowChangePercent\":0.3715032,\"fiftyTwoWeekRange\":\"26.81 - - 42.8\",\"fiftyTwoWeekHighChange\":-6.029999,\"fiftyTwoWeekHighChangePercent\":-0.14088783,\"fiftyTwoWeekChangePercent\":30.30957,\"dividendDate\":1731542400,\"earningsTimestamp\":1730927106,\"earningsTimestampStart\":1730927106,\"earningsTimestampEnd\":1730927106,\"earningsCallTimestampStart\":1731412800,\"earningsCallTimestampEnd\":1731412800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":3.2,\"trailingPE\":9.404092,\"dividendRate\":3.5,\"trailingAnnualDividendYield\":0.088397786,\"dividendYield\":9.67,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":3.91,\"epsForward\":3.7,\"epsCurrentYear\":4.09,\"priceEpsCurrentYear\":8.99022,\"sharesOutstanding\":380555008,\"bookValue\":8.477,\"fiftyDayAverage\":38.388,\"fiftyDayAverageChange\":-1.618,\"fiftyDayAverageChangePercent\":-0.04214859,\"twoHundredDayAverage\":36.88345,\"twoHundredDayAverageChange\":-0.1134491,\"twoHundredDayAverageChangePercent\":-0.003075881,\"marketCap\":13993008128,\"forwardPE\":9.937838,\"priceToBook\":4.3376193,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1355149800000,\"priceHint\":2,\"postMarketChangePercent\":0.89746535,\"postMarketTime\":1731545416,\"postMarketPrice\":37.1,\"postMarketChange\":0.32999802,\"regularMarketChange\":0.57,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":1.57458,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":42.8,\"fiftyTwoWeekLow\":26.81,\"averageAnalystRating\":\"2.9 - - Hold\",\"shortName\":\"Western Midstream Partners, LP\",\"symbol\":\"WES\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":400.45,\"regularMarketDayHigh\":405.0,\"regularMarketDayRange\":\"398.97 - - 405.0\",\"regularMarketDayLow\":398.97,\"regularMarketVolume\":299332,\"regularMarketPreviousClose\":400.87,\"bid\":399.95,\"ask\":401.32,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_36018\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"United - Therapeutics Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":400.02,\"averageDailyVolume3Month\":392354,\"averageDailyVolume10Day\":407020,\"fiftyTwoWeekLowChange\":191.83002,\"fiftyTwoWeekLowChangePercent\":0.9195188,\"fiftyTwoWeekRange\":\"208.62 - - 417.82\",\"fiftyTwoWeekHighChange\":-17.369995,\"fiftyTwoWeekHighChangePercent\":-0.041572914,\"fiftyTwoWeekChangePercent\":76.69769,\"earningsTimestamp\":1730284200,\"earningsTimestampStart\":1730284200,\"earningsTimestampEnd\":1730284200,\"earningsCallTimestampStart\":1730293200,\"earningsCallTimestampEnd\":1730293200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":17.602198,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":22.75,\"epsForward\":27.88,\"epsCurrentYear\":24.5,\"priceEpsCurrentYear\":16.344898,\"sharesOutstanding\":44644500,\"bookValue\":136.743,\"fiftyDayAverage\":361.8492,\"fiftyDayAverageChange\":38.6008,\"fiftyDayAverageChangePercent\":0.10667648,\"twoHundredDayAverage\":297.107,\"twoHundredDayAverageChange\":103.34302,\"twoHundredDayAverageChangePercent\":0.34783098,\"marketCap\":17889984512,\"forwardPE\":14.363344,\"priceToBook\":2.9284863,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":929626200000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731532800,\"postMarketPrice\":400.45,\"postMarketChange\":0.0,\"regularMarketChange\":-0.4199829,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.10476787,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":417.82,\"fiftyTwoWeekLow\":208.62,\"averageAnalystRating\":\"2.2 - - Buy\",\"shortName\":\"United Therapeutics Corporation\",\"displayName\":\"United - Therapeutics\",\"symbol\":\"UTHR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":4.52,\"regularMarketDayHigh\":4.545,\"regularMarketDayRange\":\"4.5 - - 4.545\",\"regularMarketDayLow\":4.5,\"regularMarketVolume\":1064563,\"regularMarketPreviousClose\":4.51,\"bid\":4.53,\"ask\":4.55,\"bidSize\":40,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1050268\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Mizuho - Financial Group, Inc.\",\"financialCurrency\":\"JPY\",\"regularMarketOpen\":4.54,\"averageDailyVolume3Month\":2131089,\"averageDailyVolume10Day\":1665490,\"fiftyTwoWeekLowChange\":1.25,\"fiftyTwoWeekLowChangePercent\":0.382263,\"fiftyTwoWeekRange\":\"3.27 - - 4.63\",\"fiftyTwoWeekHighChange\":-0.11000013,\"fiftyTwoWeekHighChangePercent\":-0.023758128,\"fiftyTwoWeekChangePercent\":35.735737,\"dividendDate\":1718582400,\"earningsTimestamp\":1731565800,\"earningsTimestampStart\":1731565800,\"earningsTimestampEnd\":1731565800,\"earningsCallTimestampStart\":1731668340,\"earningsCallTimestampEnd\":1731668340,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":105.0,\"trailingPE\":12.216216,\"dividendRate\":0.14,\"trailingAnnualDividendYield\":23.281595,\"dividendYield\":3.06,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":0.37,\"epsForward\":1.39,\"epsCurrentYear\":1.28206,\"priceEpsCurrentYear\":3.5255759,\"sharesOutstanding\":12674599936,\"bookValue\":4072.228,\"fiftyDayAverage\":4.1884,\"fiftyDayAverageChange\":0.3316002,\"fiftyDayAverageChangePercent\":0.07917109,\"twoHundredDayAverage\":4.05305,\"twoHundredDayAverageChange\":0.46694994,\"twoHundredDayAverageChangePercent\":0.11520952,\"marketCap\":57289191424,\"forwardPE\":3.2517986,\"priceToBook\":0.0011099575,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1162996200000,\"priceHint\":4,\"postMarketChangePercent\":1.98894,\"postMarketTime\":1731545788,\"postMarketPrice\":4.6099,\"postMarketChange\":0.0899,\"regularMarketChange\":0.00999975,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.221724,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":4.63,\"fiftyTwoWeekLow\":3.27,\"shortName\":\"Mizuho - Financial Group, Inc. Sp\",\"displayName\":\"Mizuho Financial\",\"symbol\":\"MFG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":16.19,\"regularMarketDayHigh\":16.3349,\"regularMarketDayRange\":\"16.185 - - 16.3349\",\"regularMarketDayLow\":16.185,\"regularMarketVolume\":256317,\"regularMarketPreviousClose\":16.26,\"bid\":16.01,\"ask\":16.44,\"bidSize\":8,\"askSize\":12,\"market\":\"us_market\",\"messageBoardId\":\"finmb_400368\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Perusahaan - Perseroan (Persero) PT Telekomunikasi Indonesia Tbk\",\"financialCurrency\":\"IDR\",\"regularMarketOpen\":16.35,\"averageDailyVolume3Month\":409015,\"averageDailyVolume10Day\":351560,\"fiftyTwoWeekLowChange\":0.19000053,\"fiftyTwoWeekLowChangePercent\":0.011875033,\"fiftyTwoWeekRange\":\"16.0 - - 26.85\",\"fiftyTwoWeekHighChange\":-10.66,\"fiftyTwoWeekHighChangePercent\":-0.39702046,\"fiftyTwoWeekChangePercent\":-29.39381,\"dividendDate\":1717977600,\"earningsTimestamp\":1730285940,\"earningsTimestampStart\":1730285940,\"earningsTimestampEnd\":1730285940,\"earningsCallTimestampStart\":1730358000,\"earningsCallTimestampEnd\":1730358000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":178.504,\"trailingPE\":11.243055,\"dividendRate\":1.1,\"trailingAnnualDividendYield\":10.978106,\"dividendYield\":6.74,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.44,\"epsForward\":1.8,\"epsCurrentYear\":1.65,\"priceEpsCurrentYear\":9.812121,\"sharesOutstanding\":990622016,\"bookValue\":1369.866,\"fiftyDayAverage\":19.0144,\"fiftyDayAverageChange\":-2.8244,\"fiftyDayAverageChangePercent\":-0.14854005,\"twoHundredDayAverage\":20.26295,\"twoHundredDayAverageChange\":-4.0729504,\"twoHundredDayAverageChangePercent\":-0.2010048,\"marketCap\":16322920448,\"forwardPE\":8.994445,\"priceToBook\":0.011818675,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":816359400000,\"priceHint\":2,\"postMarketChangePercent\":0.24705996,\"postMarketTime\":1731540354,\"postMarketPrice\":16.23,\"postMarketChange\":0.03999901,\"regularMarketChange\":-0.0699997,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.430502,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":26.85,\"fiftyTwoWeekLow\":16.0,\"averageAnalystRating\":\"1.0 - - Strong Buy\",\"shortName\":\"PT Telekomunikasi Indonesia, Tb\",\"symbol\":\"TLK\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":7.96,\"regularMarketDayHigh\":8.0174,\"regularMarketDayRange\":\"7.915 - - 8.0174\",\"regularMarketDayLow\":7.915,\"regularMarketVolume\":109981,\"regularMarketPreviousClose\":7.64,\"bid\":7.95,\"ask\":7.96,\"bidSize\":8,\"askSize\":18,\"market\":\"us_market\",\"messageBoardId\":\"finmb_380884\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Korea - Electric Power Corporation\",\"financialCurrency\":\"KRW\",\"regularMarketOpen\":8.06,\"averageDailyVolume3Month\":102982,\"averageDailyVolume10Day\":78350,\"fiftyTwoWeekLowChange\":1.27,\"fiftyTwoWeekLowChangePercent\":0.18983558,\"fiftyTwoWeekRange\":\"6.69 - - 9.55\",\"fiftyTwoWeekHighChange\":-1.5900002,\"fiftyTwoWeekHighChangePercent\":-0.16649216,\"fiftyTwoWeekChangePercent\":16.374266,\"dividendDate\":1430438400,\"earningsTimestamp\":1731495540,\"earningsTimestampStart\":1731495540,\"earningsTimestampEnd\":1731495540,\"earningsCallTimestampStart\":1731477600,\"earningsCallTimestampEnd\":1731477600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":5.1688313,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.54,\"epsForward\":4.64,\"sharesOutstanding\":1283929984,\"bookValue\":57353.367,\"fiftyDayAverage\":7.9146,\"fiftyDayAverageChange\":0.045400143,\"fiftyDayAverageChangePercent\":0.0057362523,\"twoHundredDayAverage\":7.80825,\"twoHundredDayAverageChange\":0.15175009,\"twoHundredDayAverageChangePercent\":0.019434584,\"marketCap\":10220083200,\"forwardPE\":1.7155173,\"priceToBook\":1.3878872E-4,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":783264600000,\"priceHint\":2,\"postMarketChangePercent\":1.2562861,\"postMarketTime\":1731542601,\"postMarketPrice\":8.06,\"postMarketChange\":0.10000038,\"regularMarketChange\":0.32,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":4.18848,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":9.55,\"fiftyTwoWeekLow\":6.69,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"Korea Electric Power Corporatio\",\"displayName\":\"Korea - Electric Power\",\"symbol\":\"KEP\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":51.58,\"regularMarketDayHigh\":52.36,\"regularMarketDayRange\":\"51.565 - - 52.36\",\"regularMarketDayLow\":51.565,\"regularMarketVolume\":246007,\"regularMarketPreviousClose\":53.83,\"bid\":51.0,\"ask\":53.23,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_381388\",\"fullExchangeName\":\"NYSE\",\"longName\":\"POSCO - Holdings Inc.\",\"financialCurrency\":\"KRW\",\"regularMarketOpen\":52.35,\"averageDailyVolume3Month\":221681,\"averageDailyVolume10Day\":237720,\"fiftyTwoWeekLowChange\":0.020000458,\"fiftyTwoWeekLowChangePercent\":3.8790648E-4,\"fiftyTwoWeekRange\":\"51.56 - - 96.98\",\"fiftyTwoWeekHighChange\":-45.4,\"fiftyTwoWeekHighChangePercent\":-0.46813777,\"fiftyTwoWeekChangePercent\":-42.73343,\"dividendDate\":1725580800,\"earningsTimestamp\":1730285940,\"earningsTimestampStart\":1737457140,\"earningsTimestampEnd\":1737979200,\"earningsCallTimestampStart\":1730268000,\"earningsCallTimestampEnd\":1730268000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":10000.0,\"trailingPE\":19.390978,\"dividendRate\":1.87,\"trailingAnnualDividendYield\":185.77,\"dividendYield\":3.47,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.66,\"epsForward\":5.93,\"epsCurrentYear\":4.25,\"priceEpsCurrentYear\":12.136471,\"sharesOutstanding\":302817984,\"bookValue\":669333.4,\"fiftyDayAverage\":64.6446,\"fiftyDayAverageChange\":-13.064598,\"fiftyDayAverageChangePercent\":-0.20209883,\"twoHundredDayAverage\":70.1591,\"twoHundredDayAverageChange\":-18.579102,\"twoHundredDayAverageChangePercent\":-0.26481384,\"marketCap\":15619352576,\"forwardPE\":8.698146,\"priceToBook\":7.706175E-5,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"POSCO\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":782141400000,\"priceHint\":2,\"postMarketChangePercent\":4.963159,\"postMarketTime\":1731542162,\"postMarketPrice\":54.14,\"postMarketChange\":2.5599976,\"regularMarketChange\":-2.25,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-4.17983,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":96.98,\"fiftyTwoWeekLow\":51.56,\"averageAnalystRating\":\"2.0 - - Buy\",\"shortName\":\"POSCO Holdings Inc.\",\"symbol\":\"PKX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":20.33,\"regularMarketDayHigh\":21.7999,\"regularMarketDayRange\":\"20.28 - - 21.7999\",\"regularMarketDayLow\":20.28,\"regularMarketVolume\":50676456,\"regularMarketPreviousClose\":21.7,\"bid\":20.28,\"ask\":20.39,\"bidSize\":38,\"askSize\":57,\"market\":\"us_market\",\"messageBoardId\":\"finmb_6479558\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Super - Micro Computer, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":21.0149,\"averageDailyVolume3Month\":75080181,\"averageDailyVolume10Day\":87236540,\"fiftyTwoWeekLowChange\":0.12999916,\"fiftyTwoWeekLowChangePercent\":0.006435602,\"fiftyTwoWeekRange\":\"20.2 - - 122.9\",\"fiftyTwoWeekHighChange\":-102.57,\"fiftyTwoWeekHighChangePercent\":-0.83458096,\"fiftyTwoWeekChangePercent\":-28.332216,\"earningsTimestamp\":1730841300,\"earningsTimestampStart\":1737975540,\"earningsTimestampEnd\":1738324800,\"earningsCallTimestampStart\":1730844000,\"earningsCallTimestampEnd\":1730844000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":10.813829,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.88,\"epsForward\":4.24,\"epsCurrentYear\":3.34,\"priceEpsCurrentYear\":6.0868263,\"sharesOutstanding\":585564992,\"bookValue\":9.32,\"fiftyDayAverage\":40.59122,\"fiftyDayAverageChange\":-20.26122,\"fiftyDayAverageChangePercent\":-0.49915278,\"twoHundredDayAverage\":71.22115,\"twoHundredDayAverageChange\":-50.89115,\"twoHundredDayAverageChangePercent\":-0.7145511,\"marketCap\":12706758656,\"forwardPE\":4.7948117,\"priceToBook\":2.1813304,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1175175000000,\"priceHint\":2,\"postMarketChangePercent\":-6.24742,\"postMarketTime\":1731545996,\"postMarketPrice\":19.0599,\"postMarketChange\":-1.2701,\"regularMarketChange\":-1.3700008,\"regularMarketTime\":1731531600,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-6.313368,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":122.9,\"fiftyTwoWeekLow\":20.2,\"averageAnalystRating\":\"2.9 - - Hold\",\"shortName\":\"Super Micro Computer, Inc.\",\"displayName\":\"Super - Micro Computer\",\"symbol\":\"SMCI\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":64.47,\"regularMarketDayHigh\":64.725,\"regularMarketDayRange\":\"64.1 - - 64.725\",\"regularMarketDayLow\":64.1,\"regularMarketVolume\":101087,\"regularMarketPreviousClose\":65.05,\"bid\":62.0,\"ask\":66.88,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_109098769\",\"fullExchangeName\":\"NYSE\",\"longName\":\"KB - Financial Group Inc.\",\"financialCurrency\":\"KRW\",\"regularMarketOpen\":64.58,\"averageDailyVolume3Month\":166310,\"averageDailyVolume10Day\":108630,\"fiftyTwoWeekLowChange\":27.900002,\"fiftyTwoWeekLowChangePercent\":0.7629205,\"fiftyTwoWeekRange\":\"36.57 - - 72.89\",\"fiftyTwoWeekHighChange\":-8.419998,\"fiftyTwoWeekHighChangePercent\":-0.115516506,\"fiftyTwoWeekChangePercent\":55.349396,\"dividendDate\":1723680000,\"earningsTimestamp\":1729767540,\"earningsTimestampStart\":1738753140,\"earningsTimestampEnd\":1739188800,\"earningsCallTimestampStart\":1729753200,\"earningsCallTimestampEnd\":1729753200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":3615.0,\"trailingPE\":8.394531,\"dividendRate\":2.29,\"trailingAnnualDividendYield\":55.572636,\"dividendYield\":3.53,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":7.68,\"epsForward\":11.35,\"epsCurrentYear\":9.4,\"priceEpsCurrentYear\":6.858511,\"sharesOutstanding\":379265984,\"bookValue\":137292.38,\"fiftyDayAverage\":64.6864,\"fiftyDayAverageChange\":-0.21640015,\"fiftyDayAverageChangePercent\":-0.003345373,\"twoHundredDayAverage\":58.11535,\"twoHundredDayAverageChange\":6.3546524,\"twoHundredDayAverageChangePercent\":0.10934551,\"marketCap\":24477775872,\"forwardPE\":5.6801763,\"priceToBook\":4.695818E-4,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1005661800000,\"priceHint\":2,\"postMarketChangePercent\":-3.8312411,\"postMarketTime\":1731539978,\"postMarketPrice\":62.0,\"postMarketChange\":-2.4700012,\"regularMarketChange\":-0.580002,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.891625,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":72.89,\"fiftyTwoWeekLow\":36.57,\"averageAnalystRating\":\"1.0 - - Strong Buy\",\"shortName\":\"KB Financial Group Inc\",\"displayName\":\"KB - Financial\",\"symbol\":\"KB\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":92.23,\"regularMarketDayHigh\":94.35,\"regularMarketDayRange\":\"89.34 - - 94.35\",\"regularMarketDayLow\":89.34,\"regularMarketVolume\":566312,\"regularMarketPreviousClose\":96.75,\"bid\":92.07,\"ask\":93.28,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_263559030\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Liberty - Broadband Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":92.95,\"averageDailyVolume3Month\":148687,\"averageDailyVolume10Day\":171320,\"fiftyTwoWeekLowChange\":45.060005,\"fiftyTwoWeekLowChangePercent\":0.9552683,\"fiftyTwoWeekRange\":\"47.17 - - 100.44\",\"fiftyTwoWeekHighChange\":-8.209999,\"fiftyTwoWeekHighChangePercent\":-0.081740335,\"fiftyTwoWeekChangePercent\":15.854395,\"dividendDate\":1610668800,\"earningsTimestamp\":1730985300,\"earningsTimestampStart\":1730985300,\"earningsTimestampEnd\":1730985300,\"earningsCallTimestampStart\":1730996100,\"earningsCallTimestampEnd\":1730996100,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":16.985268,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":5.43,\"epsForward\":5.92,\"epsCurrentYear\":5.8,\"priceEpsCurrentYear\":15.901724,\"sharesOutstanding\":18236200,\"bookValue\":66.644,\"fiftyDayAverage\":76.019,\"fiftyDayAverageChange\":16.211006,\"fiftyDayAverageChangePercent\":0.21324942,\"twoHundredDayAverage\":61.4355,\"twoHundredDayAverageChange\":30.794502,\"twoHundredDayAverageChangePercent\":0.5012493,\"marketCap\":13283793920,\"forwardPE\":15.579392,\"priceToBook\":1.3839207,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1415111400000,\"priceHint\":2,\"postMarketChangePercent\":-0.24938,\"postMarketTime\":1731535974,\"postMarketPrice\":92.0,\"postMarketChange\":-0.230003,\"regularMarketChange\":-4.5199966,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-4.671831,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":100.44,\"fiftyTwoWeekLow\":47.17,\"shortName\":\"Liberty - Broadband Corporation\",\"displayName\":\"Liberty Broadband\",\"symbol\":\"LBRDA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":2163.07,\"regularMarketDayHigh\":2224.33,\"regularMarketDayRange\":\"2160.845 - - 2224.33\",\"regularMarketDayLow\":2160.845,\"regularMarketVolume\":60237,\"regularMarketPreviousClose\":2175.45,\"bid\":2156.77,\"ask\":2356.56,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_343779\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"First - Citizens BancShares, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":2196.45,\"averageDailyVolume3Month\":90935,\"averageDailyVolume10Day\":104530,\"fiftyTwoWeekLowChange\":799.1001,\"fiftyTwoWeekLowChangePercent\":0.5858634,\"fiftyTwoWeekRange\":\"1363.97 - - 2275.9\",\"fiftyTwoWeekHighChange\":-112.829834,\"fiftyTwoWeekHighChangePercent\":-0.04957592,\"fiftyTwoWeekChangePercent\":49.094986,\"dividendDate\":1734307200,\"earningsTimestamp\":1729765923,\"earningsTimestampStart\":1737725400,\"earningsTimestampEnd\":1738071000,\"earningsCallTimestampStart\":1729774800,\"earningsCallTimestampEnd\":1729774800,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":6.56,\"trailingPE\":12.391557,\"dividendRate\":7.8,\"trailingAnnualDividendYield\":0.0030154681,\"dividendYield\":0.36,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":174.56,\"epsForward\":162.32,\"epsCurrentYear\":186.31,\"priceEpsCurrentYear\":11.610059,\"sharesOutstanding\":12984300,\"bookValue\":1547.83,\"fiftyDayAverage\":1963.2441,\"fiftyDayAverageChange\":199.82593,\"fiftyDayAverageChangePercent\":0.10178354,\"twoHundredDayAverage\":1775.7599,\"twoHundredDayAverageChange\":387.31018,\"twoHundredDayAverageChangePercent\":0.21810955,\"marketCap\":29972363264,\"forwardPE\":13.325961,\"priceToBook\":1.3974856,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":530371800000,\"priceHint\":2,\"postMarketChangePercent\":0.239009,\"postMarketTime\":1731534868,\"postMarketPrice\":2168.24,\"postMarketChange\":5.16992,\"regularMarketChange\":-12.379883,\"regularMarketTime\":1731531601,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.56907225,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":2275.9,\"fiftyTwoWeekLow\":1363.97,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"First Citizens BancShares, Inc.\",\"displayName\":\"First - Citizens BancShares\",\"symbol\":\"FCNCA\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":1655.36,\"regularMarketDayHigh\":1665.06,\"regularMarketDayRange\":\"1650.03 - - 1665.06\",\"regularMarketDayLow\":1650.03,\"regularMarketVolume\":74408,\"regularMarketPreviousClose\":1654.51,\"bid\":1665.0,\"ask\":1792.7,\"bidSize\":10,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_286393\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Markel - Group Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":1660.0,\"averageDailyVolume3Month\":38145,\"averageDailyVolume10Day\":57140,\"fiftyTwoWeekLowChange\":312.69995,\"fiftyTwoWeekLowChangePercent\":0.23289585,\"fiftyTwoWeekRange\":\"1342.66 - - 1676.56\",\"fiftyTwoWeekHighChange\":-21.200073,\"fiftyTwoWeekHighChangePercent\":-0.012644983,\"fiftyTwoWeekChangePercent\":19.866764,\"earningsTimestamp\":1730321850,\"earningsTimestampStart\":1738184400,\"earningsTimestampEnd\":1738616400,\"earningsCallTimestampStart\":1730381400,\"earningsCallTimestampEnd\":1730381400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":7.637538,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":216.74,\"epsForward\":98.43,\"epsCurrentYear\":89.6,\"priceEpsCurrentYear\":18.475,\"sharesOutstanding\":12862300,\"bookValue\":1274.337,\"fiftyDayAverage\":1574.6432,\"fiftyDayAverageChange\":80.7168,\"fiftyDayAverageChangePercent\":0.051260374,\"twoHundredDayAverage\":1546.0111,\"twoHundredDayAverageChange\":109.34888,\"twoHundredDayAverageChangePercent\":0.07072968,\"marketCap\":21291737088,\"forwardPE\":16.817636,\"priceToBook\":1.298997,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Markel - Corporation\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":534781800000,\"priceHint\":2,\"postMarketChangePercent\":1.4884989,\"postMarketTime\":1731538116,\"postMarketPrice\":1680.0,\"postMarketChange\":24.640015,\"regularMarketChange\":0.849976,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.0513733,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":1676.56,\"fiftyTwoWeekLow\":1342.66,\"averageAnalystRating\":\"2.5 - - Buy\",\"shortName\":\"Markel Group Inc.\",\"displayName\":\"Markel\",\"symbol\":\"MKL\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":39.58,\"regularMarketDayHigh\":40.055,\"regularMarketDayRange\":\"39.57 - - 40.055\",\"regularMarketDayLow\":39.57,\"regularMarketVolume\":95236,\"regularMarketPreviousClose\":39.38,\"bid\":39.16,\"ask\":40.48,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1933724\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Shinhan - Financial Group Co., Ltd.\",\"financialCurrency\":\"KRW\",\"regularMarketOpen\":40.1,\"averageDailyVolume3Month\":137226,\"averageDailyVolume10Day\":140650,\"fiftyTwoWeekLowChange\":12.490002,\"fiftyTwoWeekLowChangePercent\":0.4610558,\"fiftyTwoWeekRange\":\"27.09 - - 46.05\",\"fiftyTwoWeekHighChange\":-6.4699974,\"fiftyTwoWeekHighChangePercent\":-0.1404994,\"fiftyTwoWeekChangePercent\":42.067482,\"dividendDate\":1723766400,\"earningsTimestamp\":1729853940,\"earningsTimestampStart\":1738839540,\"earningsTimestampEnd\":1739188800,\"earningsCallTimestampStart\":1729832400,\"earningsCallTimestampEnd\":1729832400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":3195.0,\"trailingPE\":6.467321,\"dividendRate\":1.56,\"trailingAnnualDividendYield\":81.13255,\"dividendYield\":3.97,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":6.12,\"epsForward\":7.1,\"epsCurrentYear\":6.32,\"priceEpsCurrentYear\":6.262658,\"sharesOutstanding\":503444992,\"bookValue\":100028.38,\"fiftyDayAverage\":41.3862,\"fiftyDayAverageChange\":-1.8061981,\"fiftyDayAverageChangePercent\":-0.04364252,\"twoHundredDayAverage\":37.21775,\"twoHundredDayAverageChange\":2.3622513,\"twoHundredDayAverageChangePercent\":0.063471094,\"marketCap\":19995262976,\"forwardPE\":5.5746484,\"priceToBook\":3.956877E-4,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1063805400000,\"priceHint\":2,\"postMarketChangePercent\":-1.3390666,\"postMarketTime\":1731538803,\"postMarketPrice\":39.05,\"postMarketChange\":-0.5300026,\"regularMarketChange\":0.200001,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.507874,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":46.05,\"fiftyTwoWeekLow\":27.09,\"averageAnalystRating\":\"1.0 - - Strong Buy\",\"shortName\":\"Shinhan Financial Group Co Ltd\",\"displayName\":\"Shinhan - Financial\",\"symbol\":\"SHG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":22.96,\"regularMarketDayHigh\":23.13,\"regularMarketDayRange\":\"22.96 - - 23.13\",\"regularMarketDayLow\":22.96,\"regularMarketVolume\":263412,\"regularMarketPreviousClose\":23.12,\"bid\":23.03,\"ask\":23.18,\"bidSize\":9,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_689995\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Banco - de Chile\",\"financialCurrency\":\"CLP\",\"regularMarketOpen\":23.11,\"averageDailyVolume3Month\":163650,\"averageDailyVolume10Day\":204120,\"fiftyTwoWeekLowChange\":2.0299988,\"fiftyTwoWeekLowChangePercent\":0.09698991,\"fiftyTwoWeekRange\":\"20.93 - - 25.97\",\"fiftyTwoWeekHighChange\":-3.0100002,\"fiftyTwoWeekHighChangePercent\":-0.115902975,\"fiftyTwoWeekChangePercent\":6.7906976,\"dividendDate\":1712534400,\"earningsTimestamp\":1738323000,\"earningsTimestampStart\":1738323000,\"earningsTimestampEnd\":1738323000,\"earningsCallTimestampStart\":1738942200,\"earningsCallTimestampEnd\":1738942200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":8.077,\"trailingPE\":8.027972,\"dividendRate\":1.64,\"trailingAnnualDividendYield\":0.3493512,\"dividendYield\":7.08,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":2.86,\"epsForward\":2.52,\"epsCurrentYear\":2.55,\"priceEpsCurrentYear\":9.0039215,\"sharesOutstanding\":505084992,\"bookValue\":54.195,\"fiftyDayAverage\":24.306,\"fiftyDayAverageChange\":-1.3460007,\"fiftyDayAverageChangePercent\":-0.0553773,\"twoHundredDayAverage\":23.5361,\"twoHundredDayAverageChange\":-0.5761013,\"twoHundredDayAverageChangePercent\":-0.024477348,\"marketCap\":11653531648,\"forwardPE\":9.111111,\"priceToBook\":0.4236553,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1028295000000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731531666,\"postMarketPrice\":22.96,\"postMarketChange\":0.0,\"regularMarketChange\":-0.160002,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.692049,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":25.97,\"fiftyTwoWeekLow\":20.93,\"averageAnalystRating\":\"2.9 - - Hold\",\"shortName\":\"Banco De Chile\",\"symbol\":\"BCH\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":107.74,\"regularMarketDayHigh\":108.62,\"regularMarketDayRange\":\"107.54 - - 108.62\",\"regularMarketDayLow\":107.54,\"regularMarketVolume\":39253,\"regularMarketPreviousClose\":111.5,\"bid\":105.48,\"ask\":118.1,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_398058\",\"fullExchangeName\":\"NYSE\",\"longName\":\"ORIX - Corporation\",\"financialCurrency\":\"JPY\",\"regularMarketOpen\":108.36,\"averageDailyVolume3Month\":21985,\"averageDailyVolume10Day\":32230,\"fiftyTwoWeekLowChange\":19.46,\"fiftyTwoWeekLowChangePercent\":0.22043498,\"fiftyTwoWeekRange\":\"88.28 - - 125.84\",\"fiftyTwoWeekHighChange\":-18.099998,\"fiftyTwoWeekHighChangePercent\":-0.14383343,\"fiftyTwoWeekChangePercent\":21.083391,\"dividendDate\":1718064000,\"earningsTimestamp\":1731045600,\"earningsTimestampStart\":1738735200,\"earningsTimestampEnd\":1739167200,\"earningsCallTimestampStart\":1731051000,\"earningsCallTimestampEnd\":1731051000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":104.97,\"trailingPE\":9.517668,\"dividendRate\":3.28,\"trailingAnnualDividendYield\":0.941435,\"dividendYield\":2.94,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":11.32,\"epsForward\":11.74,\"epsCurrentYear\":11.12292,\"priceEpsCurrentYear\":9.686305,\"sharesOutstanding\":227956000,\"bookValue\":3418.59,\"fiftyDayAverage\":113.5076,\"fiftyDayAverageChange\":-5.767601,\"fiftyDayAverageChangePercent\":-0.050812464,\"twoHundredDayAverage\":110.2811,\"twoHundredDayAverageChange\":-2.5410995,\"twoHundredDayAverageChangePercent\":-0.023042023,\"marketCap\":24672675840,\"forwardPE\":9.177172,\"priceToBook\":0.031515915,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":905952600000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731531907,\"postMarketPrice\":107.74,\"postMarketChange\":0.0,\"regularMarketChange\":-3.76,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-3.3722,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":125.84,\"fiftyTwoWeekLow\":88.28,\"averageAnalystRating\":\"3.0 - - Hold\",\"shortName\":\"Orix Corp\",\"displayName\":\"ORIX\",\"symbol\":\"IX\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":112.52,\"regularMarketDayHigh\":114.98,\"regularMarketDayRange\":\"112.0 - - 114.98\",\"regularMarketDayLow\":112.0,\"regularMarketVolume\":239089,\"regularMarketPreviousClose\":113.85,\"bid\":112.22,\"ask\":112.94,\"bidSize\":1,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_610185344\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Joint - Stock Company Kaspi.kz\",\"financialCurrency\":\"KZT\",\"regularMarketOpen\":113.4601,\"averageDailyVolume3Month\":361161,\"averageDailyVolume10Day\":200420,\"fiftyTwoWeekLowChange\":27.5,\"fiftyTwoWeekLowChangePercent\":0.3234533,\"fiftyTwoWeekRange\":\"85.02 - - 143.72\",\"fiftyTwoWeekHighChange\":-31.200005,\"fiftyTwoWeekHighChangePercent\":-0.21708882,\"fiftyTwoWeekChangePercent\":18.630827,\"dividendDate\":1724803200,\"earningsTimestamp\":1729249055,\"earningsTimestampStart\":1729249055,\"earningsTimestampEnd\":1729249055,\"earningsCallTimestampStart\":1729512000,\"earningsCallTimestampEnd\":1729512000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":3400.0,\"trailingPE\":11.053044,\"dividendRate\":7.35,\"trailingAnnualDividendYield\":29.863857,\"dividendYield\":6.45,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":10.18,\"epsForward\":6803.44,\"epsCurrentYear\":5578.937,\"priceEpsCurrentYear\":0.020168716,\"sharesOutstanding\":190016000,\"bookValue\":7052.616,\"fiftyDayAverage\":111.3195,\"fiftyDayAverageChange\":1.2004929,\"fiftyDayAverageChangePercent\":0.01078421,\"twoHundredDayAverage\":117.14235,\"twoHundredDayAverageChange\":-4.6223526,\"twoHundredDayAverageChangePercent\":-0.039459277,\"marketCap\":21449912320,\"forwardPE\":0.016538693,\"priceToBook\":0.015954362,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2024-01-19\",\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1705674600000,\"priceHint\":2,\"postMarketChangePercent\":-0.462049,\"postMarketTime\":1731535087,\"postMarketPrice\":112.0,\"postMarketChange\":-0.519897,\"regularMarketChange\":-1.3300018,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.1682054,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":143.72,\"fiftyTwoWeekLow\":85.02,\"averageAnalystRating\":\"1.4 - - Strong Buy\",\"shortName\":\"Joint Stock Company Kaspi.kz - \",\"symbol\":\"KSPI\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":370.68,\"regularMarketDayHigh\":373.085,\"regularMarketDayRange\":\"366.15 - - 373.085\",\"regularMarketDayLow\":366.15,\"regularMarketVolume\":340985,\"regularMarketPreviousClose\":368.71,\"bid\":361.67,\"ask\":391.76,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_340813\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Everest - Group, Ltd.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":367.7,\"averageDailyVolume3Month\":383020,\"averageDailyVolume10Day\":500220,\"fiftyTwoWeekLowChange\":26.919983,\"fiftyTwoWeekLowChangePercent\":0.0783104,\"fiftyTwoWeekRange\":\"343.76 - - 417.92\",\"fiftyTwoWeekHighChange\":-47.24002,\"fiftyTwoWeekHighChangePercent\":-0.11303604,\"fiftyTwoWeekChangePercent\":-7.1698666,\"dividendDate\":1734048000,\"earningsTimestamp\":1730319300,\"earningsTimestampStart\":1738753140,\"earningsTimestampEnd\":1739188800,\"earningsCallTimestampStart\":1730376000,\"earningsCallTimestampEnd\":1730376000,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":7.5,\"trailingPE\":5.7541137,\"dividendRate\":8.0,\"trailingAnnualDividendYield\":0.02034119,\"dividendYield\":2.17,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":64.42,\"epsForward\":66.47,\"epsCurrentYear\":59.24,\"priceEpsCurrentYear\":6.2572584,\"sharesOutstanding\":42978600,\"bookValue\":356.628,\"fiftyDayAverage\":381.6952,\"fiftyDayAverageChange\":-11.015198,\"fiftyDayAverageChangePercent\":-0.028858623,\"twoHundredDayAverage\":378.84695,\"twoHundredDayAverageChange\":-8.166962,\"twoHundredDayAverageChangePercent\":-0.021557417,\"marketCap\":15931307008,\"forwardPE\":5.576651,\"priceToBook\":1.0394024,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Everest - Re Group, Ltd.\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":812727000000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731539425,\"postMarketPrice\":370.68,\"postMarketChange\":0.0,\"regularMarketChange\":1.97,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":0.534296,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":417.92,\"fiftyTwoWeekLow\":343.76,\"averageAnalystRating\":\"2.1 - - Buy\",\"shortName\":\"Everest Group, Ltd.\",\"displayName\":\"Everest\",\"symbol\":\"EG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":15.13,\"regularMarketDayHigh\":15.35,\"regularMarketDayRange\":\"14.91 - - 15.35\",\"regularMarketDayLow\":14.91,\"regularMarketVolume\":6465369,\"regularMarketPreviousClose\":15.19,\"bid\":15.13,\"ask\":15.17,\"bidSize\":30,\"askSize\":40,\"market\":\"us_market\",\"messageBoardId\":\"finmb_323581924\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Permian - Resources Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":15.35,\"averageDailyVolume3Month\":9805507,\"averageDailyVolume10Day\":9637550,\"fiftyTwoWeekLowChange\":2.79,\"fiftyTwoWeekLowChangePercent\":0.226094,\"fiftyTwoWeekRange\":\"12.34 - - 18.28\",\"fiftyTwoWeekHighChange\":-3.1500006,\"fiftyTwoWeekHighChangePercent\":-0.1723195,\"fiftyTwoWeekChangePercent\":17.751932,\"dividendDate\":1732233600,\"earningsTimestamp\":1730928120,\"earningsTimestampStart\":1730928120,\"earningsTimestampEnd\":1730928120,\"earningsCallTimestampStart\":1730991600,\"earningsCallTimestampEnd\":1730991600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.68,\"trailingPE\":8.596591,\"dividendRate\":0.6,\"trailingAnnualDividendYield\":0.044766296,\"dividendYield\":3.95,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.76,\"epsForward\":1.52,\"epsCurrentYear\":1.4,\"priceEpsCurrentYear\":10.807143,\"sharesOutstanding\":702955008,\"bookValue\":12.801,\"fiftyDayAverage\":13.937,\"fiftyDayAverageChange\":1.1929998,\"fiftyDayAverageChangePercent\":0.08559947,\"twoHundredDayAverage\":15.32515,\"twoHundredDayAverageChange\":-0.19514942,\"twoHundredDayAverageChangePercent\":-0.012733933,\"marketCap\":12154897408,\"forwardPE\":9.953948,\"priceToBook\":1.181939,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"prevName\":\"Centennial - Resource Development, Inc.\",\"nameChangeDate\":\"2024-11-08\",\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1460727000000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1731545573,\"postMarketPrice\":15.13,\"postMarketChange\":0.0,\"regularMarketChange\":-0.0599995,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-0.394993,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":18.28,\"fiftyTwoWeekLow\":12.34,\"averageAnalystRating\":\"1.8 - - Buy\",\"shortName\":\"Permian Resources Corporation\",\"displayName\":\"Permian - Resources\",\"symbol\":\"PR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed - Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"regularMarketPrice\":10.05,\"regularMarketDayHigh\":10.31,\"regularMarketDayRange\":\"10.0112 - - 10.31\",\"regularMarketDayLow\":10.0112,\"regularMarketVolume\":7339612,\"regularMarketPreviousClose\":10.26,\"bid\":10.89,\"ask\":10.8,\"bidSize\":22,\"askSize\":292,\"market\":\"us_market\",\"messageBoardId\":\"finmb_102326862\",\"fullExchangeName\":\"NYSE\",\"longName\":\"CNH - Industrial N.V.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":10.29,\"averageDailyVolume3Month\":11565339,\"averageDailyVolume10Day\":12323590,\"fiftyTwoWeekLowChange\":0.77000046,\"fiftyTwoWeekLowChangePercent\":0.08297419,\"fiftyTwoWeekRange\":\"9.28 - - 13.3\",\"fiftyTwoWeekHighChange\":-3.25,\"fiftyTwoWeekHighChangePercent\":-0.2443609,\"fiftyTwoWeekChangePercent\":2.3952127,\"dividendDate\":1716940800,\"earningsTimestamp\":1731063540,\"earningsTimestampStart\":1731063540,\"earningsTimestampEnd\":1731063540,\"earningsCallTimestampStart\":1731083400,\"earningsCallTimestampEnd\":1731083400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":7.851563,\"dividendRate\":0.47,\"trailingAnnualDividendYield\":0.0,\"dividendYield\":4.58,\"marketState\":\"POSTPOST\",\"epsTrailingTwelveMonths\":1.28,\"epsForward\":1.17,\"epsCurrentYear\":1.3,\"priceEpsCurrentYear\":7.7307696,\"sharesOutstanding\":1253779968,\"bookValue\":6.165,\"fiftyDayAverage\":10.9148,\"fiftyDayAverageChange\":-0.8647995,\"fiftyDayAverageChangePercent\":-0.07923183,\"twoHundredDayAverage\":11.1132,\"twoHundredDayAverageChange\":-1.0632,\"twoHundredDayAverageChangePercent\":-0.095670015,\"marketCap\":12863698944,\"forwardPE\":8.589744,\"priceToBook\":1.6301703,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1380547800000,\"priceHint\":2,\"postMarketChangePercent\":8.358211,\"postMarketTime\":1731546000,\"postMarketPrice\":10.89,\"postMarketChange\":0.84000015,\"regularMarketChange\":-0.21,\"regularMarketTime\":1731531602,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-2.04678,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":13.3,\"fiftyTwoWeekLow\":9.28,\"averageAnalystRating\":\"2.3 - - Buy\",\"shortName\":\"CNH Industrial N.V.\",\"displayName\":\"CNH Industrial\",\"symbol\":\"CNH\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq - Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"regularMarketPrice\":206.52,\"regularMarketDayHigh\":217.58,\"regularMarketDayRange\":\"204.34 - - 217.58\",\"regularMarketDayLow\":204.34,\"regularMarketVolume\":1172000,\"regularMarketPreviousClose\":208.79,\"bid\":204.58,\"ask\":213.0,\"bidSize\":4,\"askSize\":1,\"market\":\"us_market\",\"messageBoardId\":\"finmb_276190901\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Talen - Energy Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":212.0,\"averageDailyVolume3Month\":1146044,\"averageDailyVolume10Day\":1490130,\"fiftyTwoWeekLowChange\":153.49,\"fiftyTwoWeekLowChangePercent\":2.8943996,\"fiftyTwoWeekRange\":\"53.03 - - 217.58\",\"fiftyTwoWeekHighChange\":-11.059998,\"fiftyTwoWeekHighChangePercent\":-0.050831866,\"fiftyTwoWeekChangePercent\":290.2617,\"trailingAnnualDividendRate\":0.0,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"POSTPOST\",\"epsForward\":6.99,\"epsCurrentYear\":13.73,\"priceEpsCurrentYear\":15.041515,\"sharesOutstanding\":51001400,\"bookValue\":47.151,\"fiftyDayAverage\":175.3515,\"fiftyDayAverageChange\":31.168503,\"fiftyDayAverageChangePercent\":0.17774871,\"twoHundredDayAverage\":121.90095,\"twoHundredDayAverageChange\":84.61906,\"twoHundredDayAverageChangePercent\":0.6941624,\"marketCap\":10532809728,\"forwardPE\":29.545067,\"priceToBook\":4.3799706,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2024-07-10\",\"esgPopulated\":false,\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1685712600000,\"priceHint\":2,\"postMarketChangePercent\":2.51791,\"postMarketTime\":1731545761,\"postMarketPrice\":211.72,\"postMarketChange\":5.2,\"regularMarketChange\":-2.269989,\"regularMarketTime\":1731531600,\"tradeable\":false,\"cryptoTradeable\":false,\"currency\":\"USD\",\"regularMarketChangePercent\":-1.0872116,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":217.58,\"fiftyTwoWeekLow\":53.03,\"averageAnalystRating\":\"1.6 - - Buy\",\"shortName\":\"Talen Energy Corporation\",\"displayName\":\"Talen - Energy\",\"symbol\":\"TLN\"}],\"useRecords\":false}],\"error\":null}}" + string: xbV0f0TLaim headers: Age: - '0' @@ -578,6 +24,200 @@ interactions: - no-referrer-when-downgrade Strict-Transport-Security: - max-age=31536000 + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - SAMEORIGIN + X-XSS-Protection: + - 1; mode=block + cache-control: + - private, max-age=60, stale-while-revalidate=30 + content-length: + - '11' + content-type: + - text/plain;charset=utf-8 + date: + - Mon, 20 Jan 2025 22:31:57 GMT + server: + - ATS + vary: + - Origin,Accept-Encoding + x-envoy-decorator-operation: + - finance-external-services-api--mtls-production-gq1.finance-k8s:4080/* + x-envoy-upstream-service-time: + - '2' + y-rid: + - 2boq2otjotjmt + status: + code: 200 + message: OK +- request: + body: null + headers: + Accept: + - '*/*' + Accept-Encoding: + - gzip, deflate, br, zstd + Connection: + - keep-alive + Cookie: + - MOCK_COOKIE + method: GET + uri: https://query2.finance.yahoo.com/v1/finance/screener/predefined/saved?corsDomain=finance.yahoo.com&crumb=MOCK_CRUMB&defaults=offset&defaults=size&defaults=sortAsc&defaults=sortField&defaults=userId&defaults=userIdType&formatted=false&lang=en-US&offset=0®ion=US&scrIds=undervalued_large_caps&size=250 + response: + body: + string: "{\"finance\":{\"result\":[{\"id\":\"e31b19b8-efe0-4ed1-8856-7715c2ef858d\",\"title\":\"Undervalued + Large Caps\",\"description\":\"Large cap stocks that are potentially undervalued, + ordered descending by volume\",\"canonicalName\":\"UNDERVALUED_LARGE_CAPS\",\"criteriaMeta\":{\"size\":25,\"offset\":0,\"sortField\":\"eodvolume\",\"sortType\":\"DESC\",\"quoteType\":\"EQUITY\",\"criteria\":[{\"field\":\"peratio.lasttwelvemonths\",\"subField\":null,\"operators\":[\"EQ\"],\"values\":[],\"labelsSelected\":[1],\"dependentValues\":[]},{\"field\":\"pegratio_5y\",\"subField\":null,\"operators\":[\"EQ\"],\"values\":[],\"labelsSelected\":[0],\"dependentValues\":[]},{\"field\":\"intradaymarketcap\",\"subField\":null,\"operators\":[\"EQ\"],\"values\":[],\"labelsSelected\":[2],\"dependentValues\":[]},{\"field\":\"exchange\",\"subField\":null,\"operators\":[\"EQ\"],\"values\":[],\"labelsSelected\":[0,1],\"dependentValues\":[]}],\"topOperator\":\"AND\"},\"rawCriteria\":\"{\\\"offset\\\":0,\\\"size\\\":25,\\\"sortField\\\":\\\"eodvolume\\\",\\\"sortType\\\":\\\"desc\\\",\\\"quoteType\\\":\\\"equity\\\",\\\"query\\\":{\\\"operator\\\":\\\"and\\\",\\\"operands\\\":[{\\\"operator\\\":\\\"btwn\\\",\\\"operands\\\":[\\\"peratio.lasttwelvemonths\\\",0,20]},{\\\"operator\\\":\\\"lt\\\",\\\"operands\\\":[\\\"pegratio_5y\\\",1]},{\\\"operator\\\":\\\"btwn\\\",\\\"operands\\\":[\\\"intradaymarketcap\\\",10000000000,100000000000]},{\\\"operator\\\":\\\"or\\\",\\\"operands\\\":[{\\\"operator\\\":\\\"eq\\\",\\\"operands\\\":[\\\"exchange\\\",\\\"NMS\\\"]},{\\\"operator\\\":\\\"eq\\\",\\\"operands\\\":[\\\"exchange\\\",\\\"NYQ\\\"]}]}]}}\",\"start\":0,\"count\":25,\"total\":90,\"quotes\":[{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":44.352158,\"lastClosePriceToNNWCPerShare\":-0.266329600608146,\"regularMarketChangePercent\":1.6983,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":76253400000,\"priceHint\":2,\"postMarketChangePercent\":0.0982247,\"postMarketTime\":1737161997,\"postMarketPrice\":10.19,\"postMarketChange\":0.00999928,\"regularMarketChange\":0.17,\"regularMarketTime\":1737147602,\"regularMarketPrice\":10.18,\"regularMarketDayHigh\":10.21,\"regularMarketDayRange\":\"10.04 + - 10.21\",\"regularMarketDayLow\":10.04,\"regularMarketVolume\":54352902,\"regularMarketPreviousClose\":10.01,\"bid\":10.18,\"ask\":10.19,\"bidSize\":400,\"askSize\":423,\"market\":\"us_market\",\"messageBoardId\":\"finmb_106335\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Ford + Motor Company\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":10.08,\"averageDailyVolume3Month\":58951967,\"averageDailyVolume10Day\":62514470,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":0.69000053,\"fiftyTwoWeekLowChangePercent\":0.072708175,\"fiftyTwoWeekRange\":\"9.49 + - 14.85\",\"fiftyTwoWeekHighChange\":-4.67,\"fiftyTwoWeekHighChangePercent\":-0.3144781,\"fiftyTwoWeekChangePercent\":-9.107142,\"dividendDate\":1733097600,\"earningsTimestamp\":1738789200,\"earningsTimestampStart\":1738789200,\"earningsTimestampEnd\":1738789200,\"earningsCallTimestampStart\":1738792800,\"earningsCallTimestampEnd\":1738792800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.6,\"trailingPE\":11.568182,\"dividendRate\":0.6,\"trailingAnnualDividendYield\":0.059940062,\"dividendYield\":5.89,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":0.88,\"epsForward\":1.75,\"epsCurrentYear\":1.81783,\"priceEpsCurrentYear\":5.600084,\"sharesOutstanding\":3903439872,\"bookValue\":11.15,\"fiftyDayAverage\":10.4414,\"fiftyDayAverageChange\":-0.26139927,\"fiftyDayAverageChangePercent\":-0.025034888,\"twoHundredDayAverage\":11.37885,\"twoHundredDayAverageChange\":-1.1988497,\"twoHundredDayAverageChangePercent\":-0.10535772,\"marketCap\":40458272768,\"forwardPE\":5.817143,\"priceToBook\":0.9130045,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":14.85,\"fiftyTwoWeekLow\":9.49,\"averageAnalystRating\":\"2.9 + - Hold\",\"shortName\":\"Ford Motor Company\",\"symbol\":\"F\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastClosePriceToNNWCPerShare\":-0.01548087786532448,\"regularMarketChangePercent\":-1.0101,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1028295000000,\"priceHint\":4,\"postMarketChangePercent\":0.510204,\"postMarketTime\":1737161911,\"postMarketPrice\":1.97,\"postMarketChange\":0.00999999,\"regularMarketChange\":-0.02,\"regularMarketTime\":1737147602,\"regularMarketPrice\":1.96,\"regularMarketDayHigh\":1.99,\"regularMarketDayRange\":\"1.93 + - 1.99\",\"regularMarketDayLow\":1.93,\"regularMarketVolume\":59915266,\"regularMarketPreviousClose\":1.98,\"bid\":1.9,\"ask\":1.97,\"bidSize\":270,\"askSize\":13,\"market\":\"us_market\",\"messageBoardId\":\"finmb_877263\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Banco + Bradesco S.A.\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":1.95,\"averageDailyVolume3Month\":35435742,\"averageDailyVolume10Day\":53730390,\"corporateActions\":[{\"header\":\"Dividend\",\"message\":\"BBD + announced a cash dividend of 0.003 with an ex-date of Feb. 5, 2025\",\"meta\":{\"eventType\":\"DIVIDEND\",\"dateEpochMs\":1738731600000,\"amount\":\"0.003\"}}],\"fiftyTwoWeekLowChange\":0.120000005,\"fiftyTwoWeekLowChangePercent\":0.06521739,\"fiftyTwoWeekRange\":\"1.84 + - 3.36\",\"fiftyTwoWeekHighChange\":-1.3999999,\"fiftyTwoWeekHighChangePercent\":-0.41666663,\"fiftyTwoWeekChangePercent\":-36.774193,\"dividendDate\":1741737600,\"earningsTimestamp\":1730374200,\"earningsTimestampStart\":1738789200,\"earningsTimestampEnd\":1739221200,\"earningsCallTimestampStart\":1730381400,\"earningsCallTimestampEnd\":1730381400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.114,\"trailingPE\":9.333334,\"dividendRate\":0.04,\"trailingAnnualDividendYield\":0.56262624,\"dividendYield\":1.9,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":0.21,\"epsForward\":0.44,\"epsCurrentYear\":0.32545,\"priceEpsCurrentYear\":6.0224304,\"sharesOutstanding\":5290520064,\"bookValue\":15.755,\"fiftyDayAverage\":2.1062,\"fiftyDayAverageChange\":-0.14619994,\"fiftyDayAverageChangePercent\":-0.06941409,\"twoHundredDayAverage\":2.46185,\"twoHundredDayAverageChange\":-0.5018499,\"twoHundredDayAverageChangePercent\":-0.20385073,\"marketCap\":19835592704,\"forwardPE\":4.4545455,\"priceToBook\":0.12440495,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":3.36,\"fiftyTwoWeekLow\":1.84,\"averageAnalystRating\":\"2.2 + - Buy\",\"shortName\":\"Banco Bradesco Sa\",\"displayName\":\"Banco Bradesco\",\"symbol\":\"BBD\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed + Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastClosePriceToNNWCPerShare\":-0.02727135222775099,\"regularMarketChangePercent\":0.188328,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1014647400000,\"priceHint\":2,\"postMarketChangePercent\":-0.18797421,\"postMarketTime\":1737157200,\"postMarketPrice\":5.31,\"postMarketChange\":-0.010000229,\"regularMarketChange\":0.0100002,\"regularMarketTime\":1737147602,\"regularMarketPrice\":5.32,\"regularMarketDayHigh\":5.4,\"regularMarketDayRange\":\"5.31 + - 5.4\",\"regularMarketDayLow\":5.31,\"regularMarketVolume\":19934882,\"regularMarketPreviousClose\":5.31,\"bid\":5.25,\"ask\":5.44,\"bidSize\":40,\"askSize\":292,\"market\":\"us_market\",\"messageBoardId\":\"finmb_873831\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Ita\xFA + Unibanco Holding S.A.\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":5.33,\"averageDailyVolume3Month\":25677083,\"averageDailyVolume10Day\":23972920,\"corporateActions\":[{\"header\":\"Dividend\",\"message\":\"ITUB + announced a cash dividend of 0.003 with an ex-date of Feb. 4, 2025\",\"meta\":{\"eventType\":\"DIVIDEND\",\"dateEpochMs\":1738645200000,\"amount\":\"0.003\"}}],\"fiftyTwoWeekLowChange\":0.46000004,\"fiftyTwoWeekLowChangePercent\":0.09465021,\"fiftyTwoWeekRange\":\"4.86 + - 7.27\",\"fiftyTwoWeekHighChange\":-1.9499998,\"fiftyTwoWeekHighChangePercent\":-0.26822555,\"fiftyTwoWeekChangePercent\":-17.647058,\"dividendDate\":1754611200,\"earningsTimestamp\":1738782000,\"earningsTimestampStart\":1738782000,\"earningsTimestampEnd\":1738782000,\"earningsCallTimestampStart\":1738839540,\"earningsCallTimestampEnd\":1738839540,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.609,\"trailingPE\":8.184616,\"dividendRate\":0.13,\"trailingAnnualDividendYield\":0.30301318,\"dividendYield\":2.42,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":0.65,\"epsForward\":0.88,\"epsCurrentYear\":0.75142,\"priceEpsCurrentYear\":7.079929,\"sharesOutstanding\":4817809920,\"bookValue\":19.632,\"fiftyDayAverage\":5.4652,\"fiftyDayAverageChange\":-0.14519978,\"fiftyDayAverageChangePercent\":-0.026568063,\"twoHundredDayAverage\":6.076,\"twoHundredDayAverageChange\":-0.75600004,\"twoHundredDayAverageChangePercent\":-0.124423966,\"marketCap\":48946556928,\"forwardPE\":6.045455,\"priceToBook\":0.27098614,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":7.27,\"fiftyTwoWeekLow\":4.86,\"averageAnalystRating\":\"1.7 + - Buy\",\"shortName\":\"Itau Unibanco Banco Holding SA\",\"displayName\":\"Ita\xFA + Unibanco Holding\",\"symbol\":\"ITUB\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":4.097357,\"lastClosePriceToNNWCPerShare\":-0.8535810067101469,\"regularMarketChangePercent\":-0.43541,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":965914200000,\"priceHint\":2,\"postMarketChangePercent\":0.109325,\"postMarketTime\":1737161866,\"postMarketPrice\":13.735,\"postMarketChange\":0.0149994,\"regularMarketChange\":-0.0599995,\"regularMarketTime\":1737147602,\"regularMarketPrice\":13.72,\"regularMarketDayHigh\":13.92,\"regularMarketDayRange\":\"13.66 + - 13.92\",\"regularMarketDayLow\":13.66,\"regularMarketVolume\":8865944,\"regularMarketPreviousClose\":13.78,\"bid\":13.72,\"ask\":13.85,\"bidSize\":40,\"askSize\":29,\"market\":\"us_market\",\"messageBoardId\":\"finmb_409268\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Petr\xF3leo + Brasileiro S.A. - Petrobras\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":13.78,\"averageDailyVolume3Month\":14598134,\"averageDailyVolume10Day\":11165260,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":1.1700001,\"fiftyTwoWeekLowChangePercent\":0.093227096,\"fiftyTwoWeekRange\":\"12.55 + - 17.91\",\"fiftyTwoWeekHighChange\":-4.1899996,\"fiftyTwoWeekHighChangePercent\":-0.2339475,\"fiftyTwoWeekChangePercent\":-12.388253,\"dividendDate\":1743033600,\"earningsTimestamp\":1740596400,\"earningsTimestampStart\":1740596400,\"earningsTimestampEnd\":1740596400,\"earningsCallTimestampStart\":1740653940,\"earningsCallTimestampEnd\":1740653940,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":6.075,\"trailingPE\":5.359375,\"dividendRate\":2.83,\"trailingAnnualDividendYield\":0.4408563,\"dividendYield\":20.63,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":2.56,\"epsForward\":2.97,\"epsCurrentYear\":2.04552,\"priceEpsCurrentYear\":6.7073407,\"sharesOutstanding\":3721120000,\"bookValue\":30.543,\"fiftyDayAverage\":13.7132,\"fiftyDayAverageChange\":0.0068006516,\"fiftyDayAverageChangePercent\":4.9592013E-4,\"twoHundredDayAverage\":14.6613,\"twoHundredDayAverageChange\":-0.94129944,\"twoHundredDayAverageChangePercent\":-0.064203,\"marketCap\":85053300736,\"forwardPE\":4.619529,\"priceToBook\":0.44920278,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":17.91,\"fiftyTwoWeekLow\":12.55,\"averageAnalystRating\":\"1.9 + - Buy\",\"shortName\":\"Petroleo Brasileiro S.A.- Petro\",\"symbol\":\"PBR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"lastCloseTevEbitLtm\":10.154539,\"lastClosePriceToNNWCPerShare\":-0.7379984526168135,\"regularMarketChangePercent\":1.196868,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1139236200000,\"priceHint\":2,\"postMarketChangePercent\":0.577299,\"postMarketTime\":1737161999,\"postMarketPrice\":108.0,\"postMarketChange\":0.619904,\"regularMarketChange\":1.2699966,\"regularMarketTime\":1737147601,\"regularMarketPrice\":107.38,\"regularMarketDayHigh\":108.467,\"regularMarketDayRange\":\"106.0 + - 108.467\",\"regularMarketDayLow\":106.0,\"regularMarketVolume\":5177955,\"regularMarketPreviousClose\":106.11,\"bid\":0.0,\"ask\":0.0,\"bidSize\":0,\"askSize\":0,\"market\":\"us_market\",\"messageBoardId\":\"finmb_309845\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"United + Airlines Holdings, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":107.07,\"averageDailyVolume3Month\":5590211,\"averageDailyVolume10Day\":6208810,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":70.36,\"fiftyTwoWeekLowChangePercent\":1.9005942,\"fiftyTwoWeekRange\":\"37.02 + - 110.92\",\"fiftyTwoWeekHighChange\":-3.540001,\"fiftyTwoWeekHighChangePercent\":-0.0319149,\"fiftyTwoWeekChangePercent\":179.27179,\"dividendDate\":1201046400,\"earningsTimestamp\":1737493200,\"earningsTimestampStart\":1737493200,\"earningsTimestampEnd\":1737493200,\"earningsCallTimestampStart\":1737559800,\"earningsCallTimestampEnd\":1737559800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":12.798569,\"trailingAnnualDividendYield\":0.0,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":8.39,\"epsForward\":12.09,\"epsCurrentYear\":10.37404,\"priceEpsCurrentYear\":10.350838,\"sharesOutstanding\":328876000,\"bookValue\":34.779,\"fiftyDayAverage\":96.567,\"fiftyDayAverageChange\":10.812996,\"fiftyDayAverageChangePercent\":0.11197402,\"twoHundredDayAverage\":62.91875,\"twoHundredDayAverageChange\":44.461246,\"twoHundredDayAverageChangePercent\":0.7066454,\"marketCap\":35314704384,\"forwardPE\":8.881721,\"priceToBook\":3.0874953,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":110.92,\"fiftyTwoWeekLow\":37.02,\"averageAnalystRating\":\"1.5 + - Strong Buy\",\"shortName\":\"United Airlines Holdings, Inc.\",\"displayName\":\"United + Airlines\",\"symbol\":\"UAL\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed + Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":5.164054,\"lastClosePriceToNNWCPerShare\":-0.9405904706026806,\"regularMarketChangePercent\":1.93842,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1016721000000,\"priceHint\":2,\"postMarketChangePercent\":0.33557817,\"postMarketTime\":1737161992,\"postMarketPrice\":8.97,\"postMarketChange\":0.030000687,\"regularMarketChange\":0.169999,\"regularMarketTime\":1737147602,\"regularMarketPrice\":8.94,\"regularMarketDayHigh\":9.07,\"regularMarketDayRange\":\"8.86 + - 9.07\",\"regularMarketDayLow\":8.86,\"regularMarketVolume\":59291760,\"regularMarketPreviousClose\":8.77,\"bid\":8.95,\"ask\":8.99,\"bidSize\":400,\"askSize\":407,\"market\":\"us_market\",\"messageBoardId\":\"finmb_874225\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Vale + S.A.\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":8.86,\"averageDailyVolume3Month\":31060014,\"averageDailyVolume10Day\":42067230,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":0.55999947,\"fiftyTwoWeekLowChangePercent\":0.06682571,\"fiftyTwoWeekRange\":\"8.38 + - 14.47\",\"fiftyTwoWeekHighChange\":-5.5300007,\"fiftyTwoWeekHighChangePercent\":-0.38217005,\"fiftyTwoWeekChangePercent\":-34.361233,\"dividendDate\":1726012800,\"earningsTimestamp\":1739991600,\"earningsTimestampStart\":1739991600,\"earningsTimestampEnd\":1739991600,\"earningsCallTimestampStart\":1740060000,\"earningsCallTimestampEnd\":1740060000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":2.739,\"trailingPE\":4.1388884,\"dividendRate\":1.48,\"trailingAnnualDividendYield\":0.3123147,\"dividendYield\":16.51,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":2.16,\"epsForward\":2.05,\"epsCurrentYear\":2.01031,\"priceEpsCurrentYear\":4.4470754,\"sharesOutstanding\":4268720128,\"bookValue\":48.853,\"fiftyDayAverage\":9.4524,\"fiftyDayAverageChange\":-0.5124006,\"fiftyDayAverageChangePercent\":-0.05420852,\"twoHundredDayAverage\":10.82975,\"twoHundredDayAverageChange\":-1.8897505,\"twoHundredDayAverageChangePercent\":-0.17449622,\"marketCap\":38162354176,\"forwardPE\":4.3609757,\"priceToBook\":0.18299796,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":14.47,\"fiftyTwoWeekLow\":8.38,\"averageAnalystRating\":\"2.2 + - Buy\",\"shortName\":\"VALE S.A.\",\"displayName\":\"Vale\",\"symbol\":\"VALE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":12.401067,\"lastClosePriceToNNWCPerShare\":-1.0119130660597624,\"regularMarketChangePercent\":-0.630971,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":378657000000,\"priceHint\":2,\"postMarketChangePercent\":-0.019246,\"postMarketTime\":1737161953,\"postMarketPrice\":51.96,\"postMarketChange\":-0.0100021,\"regularMarketChange\":-0.329998,\"regularMarketTime\":1737147602,\"regularMarketPrice\":51.97,\"regularMarketDayHigh\":52.35,\"regularMarketDayRange\":\"51.77 + - 52.35\",\"regularMarketDayLow\":51.77,\"regularMarketVolume\":7780160,\"regularMarketPreviousClose\":52.3,\"bid\":51.92,\"ask\":52.0,\"bidSize\":14,\"askSize\":18,\"market\":\"us_market\",\"messageBoardId\":\"finmb_293286\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Occidental + Petroleum Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":52.15,\"averageDailyVolume3Month\":11278927,\"averageDailyVolume10Day\":9603080,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":6.800003,\"fiftyTwoWeekLowChangePercent\":0.15054247,\"fiftyTwoWeekRange\":\"45.17 + - 71.19\",\"fiftyTwoWeekHighChange\":-19.220001,\"fiftyTwoWeekHighChangePercent\":-0.26998174,\"fiftyTwoWeekChangePercent\":-8.406771,\"dividendDate\":1736899200,\"earningsTimestamp\":1739912400,\"earningsTimestampStart\":1739912400,\"earningsTimestampEnd\":1739912400,\"earningsCallTimestampStart\":1739988000,\"earningsCallTimestampEnd\":1739988000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.84,\"trailingPE\":14.238357,\"dividendRate\":0.88,\"trailingAnnualDividendYield\":0.016061185,\"dividendYield\":1.69,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":3.65,\"epsForward\":3.16,\"epsCurrentYear\":3.43038,\"priceEpsCurrentYear\":15.149925,\"sharesOutstanding\":938342976,\"bookValue\":28.126,\"fiftyDayAverage\":49.786,\"fiftyDayAverageChange\":2.184002,\"fiftyDayAverageChangePercent\":0.043867793,\"twoHundredDayAverage\":56.7894,\"twoHundredDayAverageChange\":-4.819397,\"twoHundredDayAverageChangePercent\":-0.08486438,\"marketCap\":48765685760,\"forwardPE\":16.446203,\"priceToBook\":1.8477566,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":71.19,\"fiftyTwoWeekLow\":45.17,\"averageAnalystRating\":\"2.6 + - Hold\",\"shortName\":\"Occidental Petroleum Corporatio\",\"displayName\":\"Occidental + Petroleum\",\"symbol\":\"OXY\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":13.999724,\"lastClosePriceToNNWCPerShare\":-0.44390684279319614,\"regularMarketChangePercent\":-1.67824,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1290090600000,\"priceHint\":2,\"postMarketChangePercent\":0.0980954,\"postMarketTime\":1737161943,\"postMarketPrice\":51.02,\"postMarketChange\":0.0499992,\"regularMarketChange\":-0.869999,\"regularMarketTime\":1737147602,\"regularMarketPrice\":50.97,\"regularMarketDayHigh\":52.1892,\"regularMarketDayRange\":\"50.73 + - 52.1892\",\"regularMarketDayLow\":50.73,\"regularMarketVolume\":7030290,\"regularMarketPreviousClose\":51.84,\"bid\":51.02,\"ask\":51.2,\"bidSize\":10,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_61206100\",\"fullExchangeName\":\"NYSE\",\"longName\":\"General + Motors Company\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":51.93,\"averageDailyVolume3Month\":11563518,\"averageDailyVolume10Day\":8151560,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":16.41,\"fiftyTwoWeekLowChangePercent\":0.47482637,\"fiftyTwoWeekRange\":\"34.56 + - 61.24\",\"fiftyTwoWeekHighChange\":-10.27,\"fiftyTwoWeekHighChangePercent\":-0.16770086,\"fiftyTwoWeekChangePercent\":44.309174,\"dividendDate\":1734566400,\"earningsTimestamp\":1738063800,\"earningsTimestampStart\":1738063800,\"earningsTimestampEnd\":1738063800,\"earningsCallTimestampStart\":1729600200,\"earningsCallTimestampEnd\":1729600200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.45,\"trailingPE\":5.4397016,\"dividendRate\":0.48,\"trailingAnnualDividendYield\":0.008680555,\"dividendYield\":0.94,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":9.37,\"epsForward\":10.57,\"epsCurrentYear\":10.26779,\"priceEpsCurrentYear\":4.9640675,\"sharesOutstanding\":1099600000,\"bookValue\":64.486,\"fiftyDayAverage\":53.7346,\"fiftyDayAverageChange\":-2.7645988,\"fiftyDayAverageChangePercent\":-0.05144914,\"twoHundredDayAverage\":48.18415,\"twoHundredDayAverageChange\":2.7858505,\"twoHundredDayAverageChangePercent\":0.05781674,\"marketCap\":56046612480,\"forwardPE\":4.8221383,\"priceToBook\":0.79040414,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":61.24,\"fiftyTwoWeekLow\":34.56,\"averageAnalystRating\":\"2.2 + - Buy\",\"shortName\":\"General Motors Company\",\"symbol\":\"GM\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed + Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":10.378529,\"lastClosePriceToNNWCPerShare\":-0.32810161268885474,\"regularMarketChangePercent\":1.12722,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":969370200000,\"priceHint\":2,\"postMarketChangePercent\":0.15923172,\"postMarketTime\":1737161983,\"postMarketPrice\":6.29,\"postMarketChange\":0.009999752,\"regularMarketChange\":0.0700002,\"regularMarketTime\":1737147602,\"regularMarketPrice\":6.28,\"regularMarketDayHigh\":6.29,\"regularMarketDayRange\":\"6.21 + - 6.29\",\"regularMarketDayLow\":6.21,\"regularMarketVolume\":10860966,\"regularMarketPreviousClose\":6.21,\"bid\":6.19,\"ask\":6.3,\"bidSize\":394,\"askSize\":435,\"market\":\"us_market\",\"messageBoardId\":\"finmb_528092\",\"fullExchangeName\":\"NYSE\",\"longName\":\"United + Microelectronics Corporation\",\"financialCurrency\":\"TWD\",\"regularMarketOpen\":6.23,\"averageDailyVolume3Month\":11584716,\"averageDailyVolume10Day\":10265450,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":0.19000006,\"fiftyTwoWeekLowChangePercent\":0.031198695,\"fiftyTwoWeekRange\":\"6.09 + - 9.0\",\"fiftyTwoWeekHighChange\":-2.7199998,\"fiftyTwoWeekHighChangePercent\":-0.3022222,\"fiftyTwoWeekChangePercent\":-22.469133,\"dividendDate\":1722988800,\"earningsTimestamp\":1737457140,\"earningsTimestampStart\":1737457140,\"earningsTimestampEnd\":1737457140,\"earningsCallTimestampStart\":1737450000,\"earningsCallTimestampEnd\":1737450000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":3.0,\"trailingPE\":10.129032,\"dividendRate\":0.46,\"trailingAnnualDividendYield\":0.48309177,\"dividendYield\":7.26,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":0.62,\"epsForward\":0.64,\"epsCurrentYear\":0.63942,\"priceEpsCurrentYear\":9.821402,\"sharesOutstanding\":2512140032,\"bookValue\":29.39,\"fiftyDayAverage\":6.6604,\"fiftyDayAverageChange\":-0.3803997,\"fiftyDayAverageChangePercent\":-0.057113644,\"twoHundredDayAverage\":7.83485,\"twoHundredDayAverageChange\":-1.5548496,\"twoHundredDayAverageChangePercent\":-0.19845302,\"marketCap\":15776239616,\"forwardPE\":9.812501,\"priceToBook\":0.21367814,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":9.0,\"fiftyTwoWeekLow\":6.09,\"averageAnalystRating\":\"2.4 + - Buy\",\"shortName\":\"United Microelectronics Corpora\",\"displayName\":\"United + Microelectronics\",\"symbol\":\"UMC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed + Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":14.124679,\"lastClosePriceToNNWCPerShare\":-0.972402163657841,\"regularMarketChangePercent\":0.197535,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1138977000000,\"priceHint\":2,\"postMarketChangePercent\":0.29570952,\"postMarketTime\":1737161969,\"postMarketPrice\":20.35,\"postMarketChange\":0.059999466,\"regularMarketChange\":0.0400009,\"regularMarketTime\":1737147602,\"regularMarketPrice\":20.29,\"regularMarketDayHigh\":20.4,\"regularMarketDayRange\":\"20.1114 + - 20.4\",\"regularMarketDayLow\":20.1114,\"regularMarketVolume\":14179260,\"regularMarketPreviousClose\":20.25,\"bid\":20.31,\"ask\":20.36,\"bidSize\":30,\"askSize\":18,\"market\":\"us_market\",\"messageBoardId\":\"finmb_23812789\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Energy + Transfer LP\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":20.31,\"averageDailyVolume3Month\":15662870,\"averageDailyVolume10Day\":14385380,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":6.500001,\"fiftyTwoWeekLowChangePercent\":0.47135612,\"fiftyTwoWeekRange\":\"13.79 + - 20.4\",\"fiftyTwoWeekHighChange\":-0.1099987,\"fiftyTwoWeekHighChangePercent\":-0.005392093,\"fiftyTwoWeekChangePercent\":46.18156,\"dividendDate\":1731974400,\"earningsTimestamp\":1739307600,\"earningsTimestampStart\":1739307600,\"earningsTimestampEnd\":1739307600,\"earningsCallTimestampStart\":1739309400,\"earningsCallTimestampEnd\":1739309400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.275,\"trailingPE\":14.919118,\"dividendRate\":1.29,\"trailingAnnualDividendYield\":0.062962964,\"dividendYield\":6.36,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":1.36,\"epsForward\":1.58,\"epsCurrentYear\":1.32088,\"priceEpsCurrentYear\":15.360971,\"sharesOutstanding\":3423920128,\"bookValue\":9.157,\"fiftyDayAverage\":18.8354,\"fiftyDayAverageChange\":1.4546013,\"fiftyDayAverageChangePercent\":0.077227,\"twoHundredDayAverage\":16.6964,\"twoHundredDayAverageChange\":3.5936012,\"twoHundredDayAverageChangePercent\":0.2152321,\"marketCap\":69471338496,\"forwardPE\":12.841772,\"priceToBook\":2.2157915,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":20.4,\"fiftyTwoWeekLow\":13.79,\"averageAnalystRating\":\"1.5 + - Strong Buy\",\"shortName\":\"Energy Transfer LP\",\"symbol\":\"ET\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":11.149015,\"lastClosePriceToNNWCPerShare\":-4.371585523820495,\"regularMarketChangePercent\":6.05987,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":378657000000,\"priceHint\":2,\"postMarketChangePercent\":0.22946,\"postMarketTime\":1737161972,\"postMarketPrice\":43.68,\"postMarketChange\":0.0999985,\"regularMarketChange\":2.49,\"regularMarketTime\":1737147602,\"regularMarketPrice\":43.58,\"regularMarketDayHigh\":44.49,\"regularMarketDayRange\":\"41.61 + - 44.49\",\"regularMarketDayLow\":41.61,\"regularMarketVolume\":30711447,\"regularMarketPreviousClose\":41.09,\"bid\":43.59,\"ask\":43.69,\"bidSize\":8,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_301966\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Schlumberger + Limited\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":42.15,\"averageDailyVolume3Month\":12306581,\"averageDailyVolume10Day\":14145140,\"corporateActions\":[{\"header\":\"Dividend\",\"message\":\"SLB + announced a cash dividend of 0.285 with an ex-date of Feb. 5, 2025\",\"meta\":{\"eventType\":\"DIVIDEND\",\"dateEpochMs\":1738731600000,\"amount\":\"0.285\"}}],\"fiftyTwoWeekLowChange\":7.0600014,\"fiftyTwoWeekLowChangePercent\":0.19331877,\"fiftyTwoWeekRange\":\"36.52 + - 55.69\",\"fiftyTwoWeekHighChange\":-12.109997,\"fiftyTwoWeekHighChangePercent\":-0.2174537,\"fiftyTwoWeekChangePercent\":-14.00947,\"dividendDate\":1743638400,\"earningsTimestamp\":1737115200,\"earningsTimestampStart\":1744887600,\"earningsTimestampEnd\":1745233200,\"earningsCallTimestampStart\":1737124200,\"earningsCallTimestampEnd\":1737124200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":14.012863,\"dividendRate\":1.1,\"trailingAnnualDividendYield\":0.0,\"dividendYield\":2.68,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":3.11,\"epsForward\":3.67,\"epsCurrentYear\":3.56085,\"priceEpsCurrentYear\":12.238651,\"sharesOutstanding\":1412150016,\"bookValue\":15.233,\"fiftyDayAverage\":41.0974,\"fiftyDayAverageChange\":2.4826012,\"fiftyDayAverageChangePercent\":0.060407743,\"twoHundredDayAverage\":44.52335,\"twoHundredDayAverageChange\":-0.94334793,\"twoHundredDayAverageChangePercent\":-0.021187712,\"marketCap\":61541498880,\"forwardPE\":11.87466,\"priceToBook\":2.8608942,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":55.69,\"fiftyTwoWeekLow\":36.52,\"averageAnalystRating\":\"1.6 + - Buy\",\"shortName\":\"Schlumberger N.V.\",\"displayName\":\"Schlumberger\",\"symbol\":\"SLB\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"lastCloseTevEbitLtm\":23.335768,\"lastClosePriceToNNWCPerShare\":-2.1439876348429734,\"regularMarketChangePercent\":-0.058583647,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":0.697546,\"postMarketTime\":1737157356,\"postMarketPrice\":17.179,\"postMarketChange\":0.119001,\"regularMarketChange\":-0.010000229,\"regularMarketTime\":1737147601,\"regularMarketPrice\":17.06,\"regularMarketDayHigh\":17.2888,\"regularMarketDayRange\":\"17.03 + - 17.2888\",\"regularMarketDayLow\":17.03,\"regularMarketVolume\":5648055,\"regularMarketPreviousClose\":17.07,\"bid\":0.0,\"ask\":0.0,\"bidSize\":0,\"askSize\":0,\"market\":\"us_market\",\"messageBoardId\":\"finmb_29574\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Host + Hotels & Resorts, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":17.15,\"averageDailyVolume3Month\":6850709,\"averageDailyVolume10Day\":5695440,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":1.3499994,\"fiftyTwoWeekLowChangePercent\":0.08593249,\"fiftyTwoWeekRange\":\"15.71 + - 21.31\",\"fiftyTwoWeekHighChange\":-4.25,\"fiftyTwoWeekHighChangePercent\":-0.19943689,\"fiftyTwoWeekChangePercent\":-14.3574295,\"dividendDate\":1736899200,\"earningsTimestamp\":1739998800,\"earningsTimestampStart\":1739998800,\"earningsTimestampEnd\":1739998800,\"earningsCallTimestampStart\":1740063600,\"earningsCallTimestampEnd\":1740063600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.8,\"trailingPE\":16.563107,\"dividendRate\":0.8,\"trailingAnnualDividendYield\":0.046865847,\"dividendYield\":4.69,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":1.03,\"epsForward\":0.97,\"epsCurrentYear\":0.963,\"priceEpsCurrentYear\":17.715471,\"sharesOutstanding\":699028992,\"bookValue\":9.602,\"fiftyDayAverage\":17.944,\"fiftyDayAverageChange\":-0.8840008,\"fiftyDayAverageChangePercent\":-0.04926442,\"twoHundredDayAverage\":17.9353,\"twoHundredDayAverageChange\":-0.87530136,\"twoHundredDayAverageChangePercent\":-0.048803274,\"marketCap\":12087504896,\"forwardPE\":17.587627,\"priceToBook\":1.7767131,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":21.31,\"fiftyTwoWeekLow\":15.71,\"averageAnalystRating\":\"1.8 + - Buy\",\"shortName\":\"Host Hotels & Resorts, Inc.\",\"displayName\":\"Host + Hotels & Resorts\",\"symbol\":\"HST\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed + Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":9.25267,\"lastClosePriceToNNWCPerShare\":-1.497318443015192,\"regularMarketChangePercent\":1.48248,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1258468200000,\"priceHint\":2,\"postMarketChangePercent\":-0.46481174,\"postMarketTime\":1737161962,\"postMarketPrice\":14.99,\"postMarketChange\":-0.07000065,\"regularMarketChange\":0.22,\"regularMarketTime\":1737147602,\"regularMarketPrice\":15.06,\"regularMarketDayHigh\":15.115,\"regularMarketDayRange\":\"14.715 + - 15.115\",\"regularMarketDayLow\":14.715,\"regularMarketVolume\":8954659,\"regularMarketPreviousClose\":14.84,\"bid\":14.91,\"ask\":15.09,\"bidSize\":30,\"askSize\":30,\"market\":\"us_market\",\"messageBoardId\":\"finmb_44709159\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Cenovus + Energy Inc.\",\"financialCurrency\":\"CAD\",\"regularMarketOpen\":14.77,\"averageDailyVolume3Month\":8125488,\"averageDailyVolume10Day\":10359510,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":0.8600006,\"fiftyTwoWeekLowChangePercent\":0.060563423,\"fiftyTwoWeekRange\":\"14.2 + - 21.9\",\"fiftyTwoWeekHighChange\":-6.839999,\"fiftyTwoWeekHighChangePercent\":-0.31232873,\"fiftyTwoWeekChangePercent\":0.33310652,\"dividendDate\":1735603200,\"earningsTimestamp\":1730368800,\"earningsTimestampStart\":1739453400,\"earningsTimestampEnd\":1739799000,\"earningsCallTimestampStart\":1730383200,\"earningsCallTimestampEnd\":1730383200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.775,\"trailingPE\":10.913044,\"dividendRate\":0.5,\"trailingAnnualDividendYield\":0.052223716,\"dividendYield\":3.33,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":1.38,\"epsForward\":1.55,\"epsCurrentYear\":1.5814,\"priceEpsCurrentYear\":9.523208,\"sharesOutstanding\":1826620032,\"bookValue\":15.891,\"fiftyDayAverage\":15.399,\"fiftyDayAverageChange\":-0.33899975,\"fiftyDayAverageChangePercent\":-0.0220144,\"twoHundredDayAverage\":18.08695,\"twoHundredDayAverageChange\":-3.02695,\"twoHundredDayAverageChangePercent\":-0.16735546,\"marketCap\":27620644864,\"forwardPE\":9.716129,\"priceToBook\":0.9477063,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":21.9,\"fiftyTwoWeekLow\":14.2,\"averageAnalystRating\":\"1.5 + - Buy\",\"shortName\":\"Cenovus Energy Inc\",\"displayName\":\"Cenovus Energy\",\"symbol\":\"CVE\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":11.463369,\"lastClosePriceToNNWCPerShare\":-4.186975526270498,\"regularMarketChangePercent\":0.782022,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":353687400000,\"priceHint\":2,\"postMarketChangePercent\":-0.00291375,\"postMarketTime\":1737161963,\"postMarketPrice\":10.3097,\"postMarketChange\":-3.00407E-4,\"regularMarketChange\":0.0800009,\"regularMarketTime\":1737147602,\"regularMarketPrice\":10.31,\"regularMarketDayHigh\":10.41,\"regularMarketDayRange\":\"10.0601 + - 10.41\",\"regularMarketDayLow\":10.0601,\"regularMarketVolume\":21213410,\"regularMarketPreviousClose\":10.23,\"bid\":10.06,\"ask\":10.31,\"bidSize\":215,\"askSize\":369,\"market\":\"us_market\",\"messageBoardId\":\"finmb_297179\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Kinross + Gold Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":10.16,\"averageDailyVolume3Month\":17535945,\"averageDailyVolume10Day\":21970440,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":5.5600004,\"fiftyTwoWeekLowChangePercent\":1.1705264,\"fiftyTwoWeekRange\":\"4.75 + - 10.82\",\"fiftyTwoWeekHighChange\":-0.5099993,\"fiftyTwoWeekHighChangePercent\":-0.04713487,\"fiftyTwoWeekChangePercent\":89.522064,\"dividendDate\":1733961600,\"earningsTimestamp\":1739394000,\"earningsTimestampStart\":1739394000,\"earningsTimestampEnd\":1739394000,\"earningsCallTimestampStart\":1739451600,\"earningsCallTimestampEnd\":1739451600,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.12,\"trailingPE\":17.183332,\"dividendRate\":0.12,\"trailingAnnualDividendYield\":0.011730205,\"dividendYield\":1.16,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":0.6,\"epsForward\":0.88,\"epsCurrentYear\":0.72872,\"priceEpsCurrentYear\":14.148096,\"sharesOutstanding\":1229049984,\"bookValue\":5.407,\"fiftyDayAverage\":9.8232,\"fiftyDayAverageChange\":0.4868002,\"fiftyDayAverageChangePercent\":0.04955617,\"twoHundredDayAverage\":8.8031,\"twoHundredDayAverageChange\":1.5069008,\"twoHundredDayAverageChangePercent\":0.17117843,\"marketCap\":12728417280,\"forwardPE\":11.71591,\"priceToBook\":1.9067875,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":10.82,\"fiftyTwoWeekLow\":4.75,\"averageAnalystRating\":\"2.2 + - Buy\",\"shortName\":\"Kinross Gold Corporation\",\"displayName\":\"Kinross + Gold\",\"symbol\":\"KGC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":4.097357,\"lastClosePriceToNNWCPerShare\":-0.7588075134123924,\"regularMarketChangePercent\":0.0,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1065533400000,\"priceHint\":2,\"postMarketChangePercent\":0.0816345,\"postMarketTime\":1737161951,\"postMarketPrice\":12.26,\"postMarketChange\":0.0100002,\"regularMarketChange\":0.0,\"regularMarketTime\":1737147602,\"regularMarketPrice\":12.25,\"regularMarketDayHigh\":12.41,\"regularMarketDayRange\":\"12.24 + - 12.41\",\"regularMarketDayLow\":12.24,\"regularMarketVolume\":3115724,\"regularMarketPreviousClose\":12.25,\"bid\":12.2,\"ask\":12.46,\"bidSize\":280,\"askSize\":292,\"market\":\"us_market\",\"messageBoardId\":\"finmb_409268\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Petr\xF3leo + Brasileiro S.A. - Petrobras\",\"financialCurrency\":\"BRL\",\"regularMarketOpen\":12.25,\"averageDailyVolume3Month\":5642768,\"averageDailyVolume10Day\":4380100,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":0.72999954,\"fiftyTwoWeekLowChangePercent\":0.063368015,\"fiftyTwoWeekRange\":\"11.52 + - 17.32\",\"fiftyTwoWeekHighChange\":-5.0699997,\"fiftyTwoWeekHighChangePercent\":-0.29272518,\"fiftyTwoWeekChangePercent\":-18.874174,\"dividendDate\":1740614400,\"earningsTimestamp\":1740596400,\"earningsTimestampStart\":1740596400,\"earningsTimestampEnd\":1740596400,\"earningsCallTimestampStart\":1740653940,\"earningsCallTimestampEnd\":1740653940,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":6.075,\"trailingPE\":4.7851562,\"dividendRate\":2.81,\"trailingAnnualDividendYield\":0.49591836,\"dividendYield\":22.94,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":2.56,\"epsForward\":3.08,\"epsCurrentYear\":1.78103,\"priceEpsCurrentYear\":6.878042,\"sharesOutstanding\":2723249920,\"bookValue\":30.543,\"fiftyDayAverage\":12.5924,\"fiftyDayAverageChange\":-0.3423996,\"fiftyDayAverageChangePercent\":-0.027190972,\"twoHundredDayAverage\":13.6415,\"twoHundredDayAverageChange\":-1.3915005,\"twoHundredDayAverageChangePercent\":-0.102004945,\"marketCap\":85053341696,\"forwardPE\":3.9772727,\"priceToBook\":0.4010739,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":17.32,\"fiftyTwoWeekLow\":11.52,\"averageAnalystRating\":\"1.9 + - Buy\",\"shortName\":\"Petroleo Brasileiro S.A.- Petro\",\"symbol\":\"PBR-A\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastClosePriceToNNWCPerShare\":-0.05340796912914575,\"regularMarketChangePercent\":0.706713,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1006957800000,\"priceHint\":4,\"postMarketChangePercent\":0.0,\"postMarketTime\":1737161820,\"postMarketPrice\":2.85,\"postMarketChange\":0.0,\"regularMarketChange\":0.02,\"regularMarketTime\":1737147602,\"regularMarketPrice\":2.85,\"regularMarketDayHigh\":2.89,\"regularMarketDayRange\":\"2.84 + - 2.89\",\"regularMarketDayLow\":2.84,\"regularMarketVolume\":23812150,\"regularMarketPreviousClose\":2.83,\"bid\":2.78,\"ask\":2.89,\"bidSize\":435,\"askSize\":451,\"market\":\"us_market\",\"messageBoardId\":\"finmb_670064\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Lloyds + Banking Group plc\",\"financialCurrency\":\"GBP\",\"regularMarketOpen\":2.84,\"averageDailyVolume3Month\":11387875,\"averageDailyVolume10Day\":17628340,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":0.8499999,\"fiftyTwoWeekLowChangePercent\":0.42499995,\"fiftyTwoWeekRange\":\"2.0 + - 3.24\",\"fiftyTwoWeekHighChange\":-0.3900001,\"fiftyTwoWeekHighChangePercent\":-0.1203704,\"fiftyTwoWeekChangePercent\":30.13699,\"dividendDate\":1726790400,\"earningsTimestamp\":1729681140,\"earningsTimestampStart\":1740034800,\"earningsTimestampEnd\":1740380400,\"earningsCallTimestampStart\":1721896200,\"earningsCallTimestampEnd\":1721896200,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.029,\"trailingPE\":8.382353,\"dividendRate\":0.15,\"trailingAnnualDividendYield\":0.01024735,\"dividendYield\":5.19,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":0.34,\"epsForward\":0.36,\"epsCurrentYear\":0.34423,\"priceEpsCurrentYear\":8.279348,\"sharesOutstanding\":15010199552,\"bookValue\":0.655,\"fiftyDayAverage\":2.7354,\"fiftyDayAverageChange\":0.11459994,\"fiftyDayAverageChangePercent\":0.041895133,\"twoHundredDayAverage\":2.8426,\"twoHundredDayAverageChange\":0.0073997974,\"twoHundredDayAverageChangePercent\":0.002603179,\"marketCap\":42779066368,\"forwardPE\":7.916666,\"priceToBook\":4.3511453,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":3.24,\"fiftyTwoWeekLow\":2.0,\"averageAnalystRating\":\"2.0 + - Buy\",\"shortName\":\"Lloyds Banking Group Plc\",\"symbol\":\"LYG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":true,\"customPriceAlertConfidence\":\"HIGH\",\"lastCloseTevEbitLtm\":14.335158,\"lastClosePriceToNNWCPerShare\":-3.6508076880435687,\"regularMarketChangePercent\":0.45326805,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":544714200000,\"priceHint\":2,\"postMarketChangePercent\":0.709063,\"postMarketTime\":1737161465,\"postMarketPrice\":46.87,\"postMarketChange\":0.329998,\"regularMarketChange\":0.20999908,\"regularMarketTime\":1737147601,\"regularMarketPrice\":46.54,\"regularMarketDayHigh\":47.47,\"regularMarketDayRange\":\"46.395 + - 47.47\",\"regularMarketDayLow\":46.395,\"regularMarketVolume\":8479649,\"regularMarketPreviousClose\":46.33,\"bid\":0.0,\"ask\":0.0,\"bidSize\":0,\"askSize\":0,\"market\":\"us_market\",\"messageBoardId\":\"finmb_425005479\",\"fullExchangeName\":\"NasdaqGS\",\"longName\":\"Baker + Hughes Company\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":46.84,\"averageDailyVolume3Month\":6494026,\"averageDailyVolume10Day\":6700060,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":18.220001,\"fiftyTwoWeekLowChangePercent\":0.6433616,\"fiftyTwoWeekRange\":\"28.32 + - 47.47\",\"fiftyTwoWeekHighChange\":-0.9300003,\"fiftyTwoWeekHighChangePercent\":-0.019591326,\"fiftyTwoWeekChangePercent\":50.22595,\"dividendDate\":1731542400,\"earningsTimestamp\":1738270800,\"earningsTimestampStart\":1738270800,\"earningsTimestampEnd\":1738270800,\"earningsCallTimestampStart\":1738333800,\"earningsCallTimestampEnd\":1738333800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.83,\"trailingPE\":20.869955,\"dividendRate\":0.84,\"trailingAnnualDividendYield\":0.017914956,\"dividendYield\":1.8,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":2.23,\"epsForward\":2.57,\"epsCurrentYear\":2.29322,\"priceEpsCurrentYear\":20.294607,\"sharesOutstanding\":989526016,\"bookValue\":16.368,\"fiftyDayAverage\":42.7068,\"fiftyDayAverageChange\":3.8332024,\"fiftyDayAverageChangePercent\":0.08975626,\"twoHundredDayAverage\":36.57645,\"twoHundredDayAverageChange\":9.963551,\"twoHundredDayAverageChangePercent\":0.27240342,\"marketCap\":46052540416,\"forwardPE\":18.10895,\"priceToBook\":2.843353,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"ipoExpectedDate\":\"2021-12-07\",\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NMS\",\"fiftyTwoWeekHigh\":47.47,\"fiftyTwoWeekLow\":28.32,\"averageAnalystRating\":\"1.7 + - Buy\",\"shortName\":\"Baker Hughes Company\",\"symbol\":\"BKR\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":10.280019,\"lastClosePriceToNNWCPerShare\":-1.1978801793780014,\"regularMarketChangePercent\":0.659196,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1308922200000,\"priceHint\":2,\"postMarketChangePercent\":0.0196456,\"postMarketTime\":1737161744,\"postMarketPrice\":152.73,\"postMarketChange\":0.0299988,\"regularMarketChange\":1.0,\"regularMarketTime\":1737147602,\"regularMarketPrice\":152.7,\"regularMarketDayHigh\":153.54,\"regularMarketDayRange\":\"149.9501 + - 153.54\",\"regularMarketDayLow\":149.9501,\"regularMarketVolume\":1918172,\"regularMarketPreviousClose\":151.7,\"bid\":152.25,\"ask\":154.07,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_118315802\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Marathon + Petroleum Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":151.5,\"averageDailyVolume3Month\":2606590,\"averageDailyVolume10Day\":2862120,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":22.160004,\"fiftyTwoWeekLowChangePercent\":0.16975643,\"fiftyTwoWeekRange\":\"130.54 + - 221.11\",\"fiftyTwoWeekHighChange\":-68.41,\"fiftyTwoWeekHighChangePercent\":-0.30939353,\"fiftyTwoWeekChangePercent\":-1.126653,\"dividendDate\":1733788800,\"earningsTimestamp\":1738675800,\"earningsTimestampStart\":1738675800,\"earningsTimestampEnd\":1738675800,\"earningsCallTimestampStart\":1738684800,\"earningsCallTimestampEnd\":1738684800,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":3.385,\"trailingPE\":11.846392,\"dividendRate\":3.64,\"trailingAnnualDividendYield\":0.022313777,\"dividendYield\":2.38,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":12.89,\"epsForward\":10.2,\"epsCurrentYear\":8.91881,\"priceEpsCurrentYear\":17.121119,\"sharesOutstanding\":321388992,\"bookValue\":58.255,\"fiftyDayAverage\":148.5422,\"fiftyDayAverageChange\":4.157791,\"fiftyDayAverageChangePercent\":0.027990637,\"twoHundredDayAverage\":167.45724,\"twoHundredDayAverageChange\":-14.757248,\"twoHundredDayAverageChangePercent\":-0.08812547,\"marketCap\":49076097024,\"forwardPE\":14.970589,\"priceToBook\":2.6212342,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":221.11,\"fiftyTwoWeekLow\":130.54,\"averageAnalystRating\":\"2.2 + - Buy\",\"shortName\":\"Marathon Petroleum Corporation\",\"displayName\":\"Marathon + Petroleum\",\"symbol\":\"MPC\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":14.844169,\"lastClosePriceToNNWCPerShare\":-0.3807936105760762,\"regularMarketChangePercent\":1.27021,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":99153000000,\"priceHint\":2,\"postMarketChangePercent\":0.0570175,\"postMarketTime\":1737161969,\"postMarketPrice\":52.65,\"postMarketChange\":0.0300026,\"regularMarketChange\":0.66,\"regularMarketTime\":1737147602,\"regularMarketPrice\":52.62,\"regularMarketDayHigh\":52.89,\"regularMarketDayRange\":\"51.795 + - 52.89\",\"regularMarketDayLow\":51.795,\"regularMarketVolume\":10963406,\"regularMarketPreviousClose\":51.96,\"bid\":52.62,\"ask\":52.78,\"bidSize\":8,\"askSize\":10,\"market\":\"us_market\",\"messageBoardId\":\"finmb_93625\",\"fullExchangeName\":\"NYSE\",\"longName\":\"CVS + Health Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":52.23,\"averageDailyVolume3Month\":13583432,\"averageDailyVolume10Day\":15090990,\"corporateActions\":[{\"header\":\"Dividend\",\"message\":\"CVS + announced a cash dividend of 0.665 with an ex-date of Jan. 23, 2025\",\"meta\":{\"eventType\":\"DIVIDEND\",\"dateEpochMs\":1737608400000,\"amount\":\"0.665\"}}],\"fiftyTwoWeekLowChange\":9.059998,\"fiftyTwoWeekLowChangePercent\":0.20798892,\"fiftyTwoWeekRange\":\"43.56 + - 80.75\",\"fiftyTwoWeekHighChange\":-28.130001,\"fiftyTwoWeekHighChangePercent\":-0.34835914,\"fiftyTwoWeekChangePercent\":-28.824562,\"dividendDate\":1738540800,\"earningsTimestamp\":1739367000,\"earningsTimestampStart\":1739367000,\"earningsTimestampEnd\":1739367000,\"earningsCallTimestampStart\":1739365200,\"earningsCallTimestampEnd\":1739365200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":2.6,\"trailingPE\":13.3553295,\"dividendRate\":2.66,\"trailingAnnualDividendYield\":0.05003849,\"dividendYield\":5.06,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":3.94,\"epsForward\":6.48,\"epsCurrentYear\":5.8673,\"priceEpsCurrentYear\":8.968349,\"sharesOutstanding\":1258409984,\"bookValue\":59.574,\"fiftyDayAverage\":52.0224,\"fiftyDayAverageChange\":0.597599,\"fiftyDayAverageChangePercent\":0.011487341,\"twoHundredDayAverage\":58.2358,\"twoHundredDayAverageChange\":-5.615803,\"twoHundredDayAverageChangePercent\":-0.096432135,\"marketCap\":66217533440,\"forwardPE\":8.12037,\"priceToBook\":0.8832712,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":80.75,\"fiftyTwoWeekLow\":43.56,\"averageAnalystRating\":\"1.9 + - Buy\",\"shortName\":\"CVS Health Corporation\",\"displayName\":\"CVS Health\",\"symbol\":\"CVS\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":13.327772,\"lastClosePriceToNNWCPerShare\":-3.0229723231669015,\"regularMarketChangePercent\":0.0307074,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":992611800000,\"priceHint\":2,\"postMarketChangePercent\":0.399144,\"postMarketTime\":1737161990,\"postMarketPrice\":32.7,\"postMarketChange\":0.130001,\"regularMarketChange\":0.00999832,\"regularMarketTime\":1737147602,\"regularMarketPrice\":32.57,\"regularMarketDayHigh\":33.27,\"regularMarketDayRange\":\"32.49 + - 33.27\",\"regularMarketDayLow\":32.49,\"regularMarketVolume\":2201621,\"regularMarketPreviousClose\":32.56,\"bid\":32.31,\"ask\":33.17,\"bidSize\":10,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_1342651\",\"fullExchangeName\":\"NYSE\",\"longName\":\"TechnipFMC + plc\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":32.65,\"averageDailyVolume3Month\":3635626,\"averageDailyVolume10Day\":3865280,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":14.029999,\"fiftyTwoWeekLowChangePercent\":0.75674206,\"fiftyTwoWeekRange\":\"18.54 + - 33.45\",\"fiftyTwoWeekHighChange\":-0.88000107,\"fiftyTwoWeekHighChangePercent\":-0.026307954,\"fiftyTwoWeekChangePercent\":65.83504,\"dividendDate\":1733270400,\"earningsTimestamp\":1740656700,\"earningsTimestampStart\":1740656700,\"earningsTimestampEnd\":1740656700,\"earningsCallTimestampStart\":1740663000,\"earningsCallTimestampEnd\":1740663000,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":0.2,\"trailingPE\":21.569536,\"dividendRate\":0.2,\"trailingAnnualDividendYield\":0.006142506,\"dividendYield\":0.61,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":1.51,\"epsForward\":1.97,\"epsCurrentYear\":1.66323,\"priceEpsCurrentYear\":19.58238,\"sharesOutstanding\":425415008,\"bookValue\":7.661,\"fiftyDayAverage\":30.1798,\"fiftyDayAverageChange\":2.3901997,\"fiftyDayAverageChangePercent\":0.07919866,\"twoHundredDayAverage\":27.20065,\"twoHundredDayAverageChange\":5.3693504,\"twoHundredDayAverageChangePercent\":0.19739787,\"marketCap\":13855766528,\"forwardPE\":16.532995,\"priceToBook\":4.2514033,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":33.45,\"fiftyTwoWeekLow\":18.54,\"averageAnalystRating\":\"1.6 + - Buy\",\"shortName\":\"TechnipFMC plc\",\"displayName\":\"TechnipFMC\",\"symbol\":\"FTI\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":12.26298,\"lastClosePriceToNNWCPerShare\":-0.551151689435181,\"regularMarketChangePercent\":0.64334,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":94833000000,\"priceHint\":2,\"postMarketChangePercent\":0.0,\"postMarketTime\":1737158121,\"postMarketPrice\":75.09,\"postMarketChange\":0.0,\"regularMarketChange\":0.479996,\"regularMarketTime\":1737147602,\"regularMarketPrice\":75.09,\"regularMarketDayHigh\":75.695,\"regularMarketDayRange\":\"74.66 + - 75.695\",\"regularMarketDayLow\":74.66,\"regularMarketVolume\":4827123,\"regularMarketPreviousClose\":74.61,\"bid\":74.3,\"ask\":75.69,\"bidSize\":11,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_250388\",\"fullExchangeName\":\"NYSE\",\"longName\":\"American + International Group, Inc.\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":74.82,\"averageDailyVolume3Month\":4128186,\"averageDailyVolume10Day\":4631310,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":7.5599976,\"fiftyTwoWeekLowChangePercent\":0.11195021,\"fiftyTwoWeekRange\":\"67.53 + - 80.83\",\"fiftyTwoWeekHighChange\":-5.7400055,\"fiftyTwoWeekHighChangePercent\":-0.0710133,\"fiftyTwoWeekChangePercent\":8.417559,\"dividendDate\":1735516800,\"earningsTimestamp\":1730754960,\"earningsTimestampStart\":1739307600,\"earningsTimestampEnd\":1739826000,\"earningsCallTimestampStart\":1730813400,\"earningsCallTimestampEnd\":1730813400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":1.52,\"trailingPE\":14.928428,\"dividendRate\":1.6,\"trailingAnnualDividendYield\":0.020372603,\"dividendYield\":2.13,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":5.03,\"epsForward\":6.71,\"epsCurrentYear\":5.07442,\"priceEpsCurrentYear\":14.7977495,\"sharesOutstanding\":623769024,\"bookValue\":71.458,\"fiftyDayAverage\":74.098,\"fiftyDayAverageChange\":0.99199677,\"fiftyDayAverageChangePercent\":0.013387633,\"twoHundredDayAverage\":75.2081,\"twoHundredDayAverageChange\":-0.11810303,\"twoHundredDayAverageChangePercent\":-0.0015703498,\"marketCap\":46838812672,\"forwardPE\":11.19076,\"priceToBook\":1.050827,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":80.83,\"fiftyTwoWeekLow\":67.53,\"averageAnalystRating\":\"2.3 + - Buy\",\"shortName\":\"American International Group, I\",\"displayName\":\"American\",\"symbol\":\"AIG\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":10.298184,\"lastClosePriceToNNWCPerShare\":-2.444025426437251,\"regularMarketChangePercent\":1.20543,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":379002600000,\"priceHint\":2,\"postMarketChangePercent\":-0.0354506,\"postMarketTime\":1737161873,\"postMarketPrice\":141.0,\"postMarketChange\":-0.0500031,\"regularMarketChange\":1.68001,\"regularMarketTime\":1737147601,\"regularMarketPrice\":141.05,\"regularMarketDayHigh\":141.585,\"regularMarketDayRange\":\"138.28 + - 141.585\",\"regularMarketDayLow\":138.28,\"regularMarketVolume\":2513146,\"regularMarketPreviousClose\":139.37,\"bid\":139.08,\"ask\":141.5,\"bidSize\":10,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_311679\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Valero + Energy Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":139.35,\"averageDailyVolume3Month\":2713945,\"averageDailyVolume10Day\":3040420,\"corporateActions\":[{\"header\":\"Dividend\",\"message\":\"VLO + announced a cash dividend of 1.13 with an ex-date of Jan. 30, 2025\",\"meta\":{\"eventType\":\"DIVIDEND\",\"dateEpochMs\":1738213200000,\"amount\":\"1.13\"}}],\"fiftyTwoWeekLowChange\":24.210007,\"fiftyTwoWeekLowChangePercent\":0.2072065,\"fiftyTwoWeekRange\":\"116.84 + - 184.79\",\"fiftyTwoWeekHighChange\":-43.73999,\"fiftyTwoWeekHighChangePercent\":-0.23670107,\"fiftyTwoWeekChangePercent\":9.239471,\"dividendDate\":1740960000,\"earningsTimestamp\":1738243800,\"earningsTimestampStart\":1738243800,\"earningsTimestampEnd\":1738243800,\"earningsCallTimestampStart\":1738249200,\"earningsCallTimestampEnd\":1738249200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":4.23,\"trailingPE\":12.405454,\"dividendRate\":4.52,\"trailingAnnualDividendYield\":0.030350866,\"dividendYield\":3.2,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":11.37,\"epsForward\":9.65,\"epsCurrentYear\":7.99828,\"priceEpsCurrentYear\":17.635042,\"sharesOutstanding\":316584992,\"bookValue\":79.767,\"fiftyDayAverage\":131.9966,\"fiftyDayAverageChange\":9.053406,\"fiftyDayAverageChangePercent\":0.068588175,\"twoHundredDayAverage\":145.51305,\"twoHundredDayAverageChange\":-4.463043,\"twoHundredDayAverageChangePercent\":-0.030671086,\"marketCap\":44654313472,\"forwardPE\":14.616581,\"priceToBook\":1.7682751,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":184.79,\"fiftyTwoWeekLow\":116.84,\"averageAnalystRating\":\"2.0 + - Buy\",\"shortName\":\"Valero Energy Corporation\",\"displayName\":\"Valero + Energy\",\"symbol\":\"VLO\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed + Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastClosePriceToNNWCPerShare\":-0.3344140520436619,\"regularMarketChangePercent\":1.26444,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":105283800000,\"priceHint\":2,\"postMarketChangePercent\":1.2486504,\"postMarketTime\":1737162000,\"postMarketPrice\":84.33,\"postMarketChange\":1.0400009,\"regularMarketChange\":1.04,\"regularMarketTime\":1737147602,\"regularMarketPrice\":83.29,\"regularMarketDayHigh\":83.67,\"regularMarketDayRange\":\"81.36 + - 83.67\",\"regularMarketDayLow\":81.36,\"regularMarketVolume\":4695462,\"regularMarketPreviousClose\":82.25,\"bid\":83.25,\"ask\":84.33,\"bidSize\":8,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_135506\",\"fullExchangeName\":\"NYSE\",\"longName\":\"The + Bank of New York Mellon Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":82.34,\"averageDailyVolume3Month\":3757308,\"averageDailyVolume10Day\":4572950,\"corporateActions\":[{\"header\":\"Dividend\",\"message\":\"BK + announced a cash dividend of 0.47 with an ex-date of Jan. 27, 2025\",\"meta\":{\"eventType\":\"DIVIDEND\",\"dateEpochMs\":1737954000000,\"amount\":\"0.47\"}}],\"fiftyTwoWeekLowChange\":30.650002,\"fiftyTwoWeekLowChangePercent\":0.58225685,\"fiftyTwoWeekRange\":\"52.64 + - 83.67\",\"fiftyTwoWeekHighChange\":-0.37999725,\"fiftyTwoWeekHighChangePercent\":-0.004541619,\"fiftyTwoWeekChangePercent\":51.905895,\"dividendDate\":1738886400,\"earningsTimestamp\":1736940600,\"earningsTimestampStart\":1744626600,\"earningsTimestampEnd\":1744972200,\"earningsCallTimestampStart\":1736960400,\"earningsCallTimestampEnd\":1736960400,\"isEarningsDateEstimate\":true,\"trailingAnnualDividendRate\":0.0,\"trailingPE\":14.360345,\"dividendRate\":1.88,\"trailingAnnualDividendYield\":0.0,\"dividendYield\":2.48,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":5.8,\"epsForward\":6.53,\"epsCurrentYear\":6.87295,\"priceEpsCurrentYear\":12.118523,\"sharesOutstanding\":717680000,\"bookValue\":51.781,\"fiftyDayAverage\":78.7568,\"fiftyDayAverageChange\":4.533203,\"fiftyDayAverageChangePercent\":0.057559516,\"twoHundredDayAverage\":67.7535,\"twoHundredDayAverageChange\":15.536499,\"twoHundredDayAverageChangePercent\":0.22930917,\"marketCap\":59775565824,\"forwardPE\":12.754977,\"priceToBook\":1.6085051,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":83.67,\"fiftyTwoWeekLow\":52.64,\"averageAnalystRating\":\"2.1 + - Buy\",\"shortName\":\"The Bank of New York Mellon Cor\",\"displayName\":\"The + Bank of New York Mellon\",\"symbol\":\"BK\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Delayed + Quote\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastClosePriceToNNWCPerShare\":-0.3216772163774227,\"regularMarketChangePercent\":1.38623,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":1406813400000,\"priceHint\":2,\"postMarketChangePercent\":-1.4254594,\"postMarketTime\":1737160499,\"postMarketPrice\":67.77,\"postMarketChange\":-0.98000336,\"regularMarketChange\":0.940002,\"regularMarketTime\":1737147602,\"regularMarketPrice\":68.75,\"regularMarketDayHigh\":69.0,\"regularMarketDayRange\":\"67.45 + - 69.0\",\"regularMarketDayLow\":67.45,\"regularMarketVolume\":2326362,\"regularMarketPreviousClose\":67.81,\"bid\":68.75,\"ask\":69.8,\"bidSize\":9,\"askSize\":9,\"market\":\"us_market\",\"messageBoardId\":\"finmb_260334235\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Synchrony + Financial\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":68.2,\"averageDailyVolume3Month\":3456213,\"averageDailyVolume10Day\":2519140,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":31.900002,\"fiftyTwoWeekLowChangePercent\":0.8656717,\"fiftyTwoWeekRange\":\"36.85 + - 69.386\",\"fiftyTwoWeekHighChange\":-0.6360016,\"fiftyTwoWeekHighChangePercent\":-0.009166137,\"fiftyTwoWeekChangePercent\":82.02277,\"dividendDate\":1731628800,\"earningsTimestamp\":1738062000,\"earningsTimestampStart\":1738062000,\"earningsTimestampEnd\":1738062000,\"earningsCallTimestampStart\":1738069200,\"earningsCallTimestampEnd\":1738069200,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":1.0,\"trailingPE\":8.928572,\"dividendRate\":1.0,\"trailingAnnualDividendYield\":0.014747088,\"dividendYield\":1.45,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":7.7,\"epsForward\":6.47,\"epsCurrentYear\":6.59823,\"priceEpsCurrentYear\":10.419461,\"sharesOutstanding\":389344000,\"bookValue\":37.916,\"fiftyDayAverage\":66.037,\"fiftyDayAverageChange\":2.7129974,\"fiftyDayAverageChangePercent\":0.04108299,\"twoHundredDayAverage\":51.9896,\"twoHundredDayAverageChange\":16.760399,\"twoHundredDayAverageChangePercent\":0.32237983,\"marketCap\":26767400960,\"forwardPE\":10.625966,\"priceToBook\":1.8132187,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":69.386,\"fiftyTwoWeekLow\":36.85,\"averageAnalystRating\":\"1.9 + - Buy\",\"shortName\":\"Synchrony Financial\",\"symbol\":\"SYF\"},{\"language\":\"en-US\",\"region\":\"US\",\"quoteType\":\"EQUITY\",\"typeDisp\":\"Equity\",\"quoteSourceName\":\"Nasdaq + Real Time Price\",\"triggerable\":false,\"customPriceAlertConfidence\":\"LOW\",\"lastCloseTevEbitLtm\":10.659555,\"lastClosePriceToNNWCPerShare\":-11.45769286661669,\"regularMarketChangePercent\":0.948442,\"currency\":\"USD\",\"hasPrePostMarketData\":true,\"firstTradeDateMilliseconds\":322151400000,\"priceHint\":2,\"postMarketChangePercent\":0.248934,\"postMarketTime\":1737161950,\"postMarketPrice\":124.84,\"postMarketChange\":0.309998,\"regularMarketChange\":1.17,\"regularMarketTime\":1737147602,\"regularMarketPrice\":124.53,\"regularMarketDayHigh\":126.1399,\"regularMarketDayRange\":\"123.81 + - 126.1399\",\"regularMarketDayLow\":123.81,\"regularMarketVolume\":1841595,\"regularMarketPreviousClose\":123.36,\"bid\":124.05,\"ask\":124.85,\"bidSize\":10,\"askSize\":8,\"market\":\"us_market\",\"messageBoardId\":\"finmb_184945\",\"fullExchangeName\":\"NYSE\",\"longName\":\"Nucor + Corporation\",\"financialCurrency\":\"USD\",\"regularMarketOpen\":124.27,\"averageDailyVolume3Month\":2270878,\"averageDailyVolume10Day\":2342270,\"corporateActions\":[],\"fiftyTwoWeekLowChange\":12.279999,\"fiftyTwoWeekLowChangePercent\":0.109398656,\"fiftyTwoWeekRange\":\"112.25 + - 203.0\",\"fiftyTwoWeekHighChange\":-78.47,\"fiftyTwoWeekHighChangePercent\":-0.38655174,\"fiftyTwoWeekChangePercent\":-26.936167,\"dividendDate\":1739232000,\"earningsTimestamp\":1738011600,\"earningsTimestampStart\":1738011600,\"earningsTimestampEnd\":1738011600,\"earningsCallTimestampStart\":1738076400,\"earningsCallTimestampEnd\":1738076400,\"isEarningsDateEstimate\":false,\"trailingAnnualDividendRate\":2.16,\"trailingPE\":11.985562,\"dividendRate\":2.2,\"trailingAnnualDividendYield\":0.017509729,\"dividendYield\":1.77,\"marketState\":\"CLOSED\",\"epsTrailingTwelveMonths\":10.39,\"epsForward\":9.36,\"epsCurrentYear\":8.03141,\"priceEpsCurrentYear\":15.505371,\"sharesOutstanding\":234812992,\"bookValue\":87.188,\"fiftyDayAverage\":136.0136,\"fiftyDayAverageChange\":-11.483597,\"fiftyDayAverageChangePercent\":-0.08442977,\"twoHundredDayAverage\":153.53384,\"twoHundredDayAverageChange\":-29.003845,\"twoHundredDayAverageChangePercent\":-0.18890849,\"marketCap\":29241262080,\"forwardPE\":13.304487,\"priceToBook\":1.4282929,\"sourceInterval\":15,\"exchangeDataDelayedBy\":0,\"exchangeTimezoneName\":\"America/New_York\",\"exchangeTimezoneShortName\":\"EST\",\"gmtOffSetMilliseconds\":-18000000,\"esgPopulated\":false,\"tradeable\":false,\"cryptoTradeable\":false,\"exchange\":\"NYQ\",\"fiftyTwoWeekHigh\":203.0,\"fiftyTwoWeekLow\":112.25,\"averageAnalystRating\":\"2.2 + - Buy\",\"shortName\":\"Nucor Corporation\",\"displayName\":\"Nucor\",\"symbol\":\"NUE\"}],\"useRecords\":false,\"predefinedScr\":true,\"versionId\":1,\"creationDate\":1473801923309,\"lastUpdated\":1674679460381,\"isPremium\":false,\"iconUrl\":\"https://s.yimg.com/cv/apiv2/fin/img/assets/predefined_screeners/analytics.png\"}],\"error\":null}}" + headers: + Age: + - '1' + Connection: + - keep-alive + Referrer-Policy: + - no-referrer-when-downgrade + Strict-Transport-Security: + - max-age=31536000 Transfer-Encoding: - chunked X-Content-Type-Options: @@ -587,23 +227,23 @@ interactions: X-XSS-Protection: - 1; mode=block cache-control: - - private, no-cache, no-store + - public, max-age=60, stale-while-revalidate=30 content-encoding: - gzip content-type: - application/json;charset=utf-8 date: - - Thu, 14 Nov 2024 03:49:56 GMT + - Mon, 20 Jan 2025 22:31:57 GMT server: - ATS vary: - Origin,Accept-Encoding x-envoy-decorator-operation: - - finance-screeners--mtls-production-gq1.finance-k8s.svc.yahoo.local:4080/* + - finance-screeners--mtls-production-gq1.finance-k8s:4080/* x-envoy-upstream-service-time: - - '115' + - '67' y-rid: - - 1q6f715jjasr4 + - 3c7rrvhjotjmu status: code: 200 message: OK