diff --git a/jest-puppeteer.config.cjs b/jest-puppeteer.config.cjs index 5c47797..94ccc9c 100644 --- a/jest-puppeteer.config.cjs +++ b/jest-puppeteer.config.cjs @@ -1,6 +1,7 @@ module.exports = { server: { - command: 'webpack-dev-server --port 4444', - port: 4444 + command: 'webpack-dev-server --port 4444 --host 127.0.0.1', + port: 4444, + launchTimeout: 60000 } } diff --git a/package-lock.json b/package-lock.json index 08e1e2d..9902e78 100644 --- a/package-lock.json +++ b/package-lock.json @@ -72,7 +72,7 @@ "web-worker": "^1.5.0", "webpack": "^5.86.0", "webpack-cli": "^5.1.4", - "webpack-dev-server": "^4.11.0" + "webpack-dev-server": "^5.2.3" }, "engines": { "node": ">=12" @@ -2594,11 +2594,456 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@jsonjoy.com/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/buffers": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-17.67.0.tgz", + "integrity": "sha512-tfExRpYxBvi32vPs9ZHaTjSP4fHAfzSmcahOfNxtvGHcyJel+aibkPlGeBB+7AoC6hL7lXIE++8okecBxx7lcw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/codegen": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-1.0.0.tgz", + "integrity": "sha512-E8Oy+08cmCf0EK/NMxpaJZmOxPqM+6iSe2S4nlSBrPZOORoDJILxtbSUEDKQyTamm/BVAhIGllOBNU79/dwf0g==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-core": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-core/-/fs-core-4.57.2.tgz", + "integrity": "sha512-SVjwklkpIV5wrynpYtuYnfYH1QF4/nDuLBX7VXdb+3miglcAgBVZb/5y0cOsehRV/9Vb+3UqhkMq3/NR3ztdkQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "thingies": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-fsa": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-fsa/-/fs-fsa-4.57.2.tgz", + "integrity": "sha512-fhO8+iR2I+OCw668ISDJdn1aArc9zx033sWejIyzQ8RBeXa9bDSaUeA3ix0poYOfrj1KdOzytmYNv2/uLDfV6g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-core": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "thingies": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-node": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node/-/fs-node-4.57.2.tgz", + "integrity": "sha512-nX2AdL6cOFwLdju9G4/nbRnYevmCJbh7N7hvR3gGm97Cs60uEjyd0rpR+YBS7cTg175zzl22pGKXR5USaQMvKg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-core": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "@jsonjoy.com/fs-print": "4.57.2", + "@jsonjoy.com/fs-snapshot": "4.57.2", + "glob-to-regex.js": "^1.0.0", + "thingies": "^2.5.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-node-builtins": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-builtins/-/fs-node-builtins-4.57.2.tgz", + "integrity": "sha512-xhiegylRmhw43Ki2HO1ZBL7DQ5ja/qpRsL29VtQ2xuUHiuDGbgf2uD4p9Qd8hJI5P6RCtGYD50IXHXVq/Ocjcg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-node-to-fsa": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-to-fsa/-/fs-node-to-fsa-4.57.2.tgz", + "integrity": "sha512-18LmWTSONhoAPW+IWRuf8w/+zRolPFGPeGwMxlAhhfY11EKzX+5XHDBPAw67dBF5dxDErHJbl40U+3IXSDRXSQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-fsa": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-node-utils": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-node-utils/-/fs-node-utils-4.57.2.tgz", + "integrity": "sha512-rsPSJgekz43IlNbLyAM/Ab+ouYLWGp5DDBfYBNNEqDaSpsbXfthBn29Q4muFA9L0F+Z3mKo+CWlgSCXrf+mOyQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-node-builtins": "4.57.2" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-print": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-print/-/fs-print-4.57.2.tgz", + "integrity": "sha512-wK9NSow48i4DbDl9F1CQE5TqnyZOJ04elU3WFG5aJ76p+YxO/ulyBBQvKsessPxdo381Bc2pcEoyPujMOhcRqQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/fs-node-utils": "4.57.2", + "tree-dump": "^1.1.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot": { + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/fs-snapshot/-/fs-snapshot-4.57.2.tgz", + "integrity": "sha512-GdduDZuoP5V/QCgJkx9+BZ6SC0EZ/smXAdTS7PfMqgMTGXLlt/bH/FqMYaqB9JmLf05sJPtO0XRbAwwkEEPbVw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/buffers": "^17.65.0", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "@jsonjoy.com/json-pack": "^17.65.0", + "@jsonjoy.com/util": "^17.65.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/base64": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-17.67.0.tgz", + "integrity": "sha512-5SEsJGsm15aP8TQGkDfJvz9axgPwAEm98S5DxOuYe8e1EbfajcDmgeXXzccEjh+mLnjqEKrkBdjHWS5vFNwDdw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/codegen": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/codegen/-/codegen-17.67.0.tgz", + "integrity": "sha512-idnkUplROpdBOV0HMcwhsCUS5TRUi9poagdGs70A6S4ux9+/aPuKbh8+UYRTLYQHtXvAdNfQWXDqZEx5k4Dj2Q==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pack": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-17.67.0.tgz", + "integrity": "sha512-t0ejURcGaZsn1ClbJ/3kFqSOjlryd92eQY465IYrezsXmPcfHPE/av4twRSxf6WE+TkZgLY+71vCZbiIiFKA/w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/base64": "17.67.0", + "@jsonjoy.com/buffers": "17.67.0", + "@jsonjoy.com/codegen": "17.67.0", + "@jsonjoy.com/json-pointer": "17.67.0", + "@jsonjoy.com/util": "17.67.0", + "hyperdyperid": "^1.2.0", + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/json-pointer": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-17.67.0.tgz", + "integrity": "sha512-+iqOFInH+QZGmSuaybBUNdh7yvNrXvqR+h3wjXm0N/3JK1EyyFAeGJvqnmQL61d1ARLlk/wJdFKSL+LHJ1eaUA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/util": "17.67.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/fs-snapshot/node_modules/@jsonjoy.com/util": { + "version": "17.67.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-17.67.0.tgz", + "integrity": "sha512-6+8xBaz1rLSohlGh68D1pdw3AwDi9xydm8QNlAFkvnavCJYSze+pxoW2VKP8p308jtlMRLs5NTHfPlZLd4w7ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/buffers": "17.67.0", + "@jsonjoy.com/codegen": "17.67.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.21.0.tgz", + "integrity": "sha512-+AKG+R2cfZMShzrF2uQw34v3zbeDYUqnQ+jg7ORic3BGtfw9p/+N6RJbq/kkV8JmYZaINknaEQ2m0/f693ZPpg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/base64": "^1.1.2", + "@jsonjoy.com/buffers": "^1.2.0", + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/json-pointer": "^1.0.2", + "@jsonjoy.com/util": "^1.9.0", + "hyperdyperid": "^1.2.0", + "thingies": "^2.5.0", + "tree-dump": "^1.1.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pack/node_modules/@jsonjoy.com/buffers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", + "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/json-pointer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pointer/-/json-pointer-1.0.2.tgz", + "integrity": "sha512-Fsn6wM2zlDzY1U+v4Nc8bo3bVqgfNTGcn6dMgs6FjrEnt4ZCe60o6ByKRjOGlI2gow0aE/Q41QOigdTqkyK5fg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/codegen": "^1.0.0", + "@jsonjoy.com/util": "^1.9.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/util": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.9.0.tgz", + "integrity": "sha512-pLuQo+VPRnN8hfPqUTLTHk126wuYdXVxE6aDmjSeV4NCAgyxWbiOIeNJVtID3h1Vzpoi9m4jXezf73I6LgabgQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jsonjoy.com/buffers": "^1.0.0", + "@jsonjoy.com/codegen": "^1.0.0" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, + "node_modules/@jsonjoy.com/util/node_modules/@jsonjoy.com/buffers": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jsonjoy.com/buffers/-/buffers-1.2.1.tgz", + "integrity": "sha512-12cdlDwX4RUM3QxmUbVJWqZ/mrK6dFQH4Zxq6+r1YXKXYBNgZXndx2qbCJwh3+WWkCSn67IjnlG3XYTvmvYtgA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", "dev": true, "license": "MIT" }, + "node_modules/@noble/hashes": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", + "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "dev": true, @@ -2631,6 +3076,175 @@ "node": ">= 8" } }, + "node_modules/@peculiar/asn1-cms": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.7.0.tgz", + "integrity": "sha512-hew63shtzzvBcSHbhm+cyAmKe6AIfinT9hzEqSPjDC6opTTMKmTkQ0gHuN2KsWlvqiKw1S/fS94fhag/FJkioQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.7.0", + "@peculiar/asn1-x509": "^2.7.0", + "@peculiar/asn1-x509-attr": "^2.7.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-csr": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.7.0.tgz", + "integrity": "sha512-VVsAyGqErT9D1SY4aEqozThXMVI+ssVRiv2DDeYuvpBKLIgZ3hYs3Ay3u/VSoKq6ESFi9cf6rf3IOOzfwh7oMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.7.0", + "@peculiar/asn1-x509": "^2.7.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-ecc": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.7.0.tgz", + "integrity": "sha512-n7KEs/Q/wrB415cxy4fHOBhegp4NdJ15fkJPwcB/3/8iNBQC2L/N7SChJPKDJPZGYH0jD4Tg4/0vnHmwghnbKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.7.0", + "@peculiar/asn1-x509": "^2.7.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-pfx": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.7.0.tgz", + "integrity": "sha512-V/nrlQVmhg7lYAsM7E13UDL5erAwFv6kCIVFqNaMIHSVi7dngcT839JkRTkQBqznMG98l2XjxYk74ZztAohZzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-cms": "^2.7.0", + "@peculiar/asn1-pkcs8": "^2.7.0", + "@peculiar/asn1-rsa": "^2.7.0", + "@peculiar/asn1-schema": "^2.7.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-pkcs8": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.7.0.tgz", + "integrity": "sha512-9GTl1nE8Mx1kTZ+7QyYatDyKsm34QcWRBFkY1iPvWC3X4Dona5s/tlLiQsx5WzVdZqiMBZNYT0buyw4/vbhnjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.7.0", + "@peculiar/asn1-x509": "^2.7.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-pkcs9": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.7.0.tgz", + "integrity": "sha512-Bh7m+OuIaSEllPQcSd9OSp93F4ROWH7sbITWV8MI+8dwsjE5111/87VxiWVvYFKyww3vp39geLv9ENqhwWHcew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-cms": "^2.7.0", + "@peculiar/asn1-pfx": "^2.7.0", + "@peculiar/asn1-pkcs8": "^2.7.0", + "@peculiar/asn1-schema": "^2.7.0", + "@peculiar/asn1-x509": "^2.7.0", + "@peculiar/asn1-x509-attr": "^2.7.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-rsa": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.7.0.tgz", + "integrity": "sha512-/qvENQrXyTZURjMqSeofHul0JJt2sNSzSwk36pl2olkHbaioMQgrASDZAlHXl0xUlnVbHj0uGgOrBMTb5x2aJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.7.0", + "@peculiar/asn1-x509": "^2.7.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-schema": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.7.0.tgz", + "integrity": "sha512-W8ZfWzLmQnrcky+eh3tni4IozMdqBDiHWU0N+vve/UGjMaUs8c0L7A2oEdkBXS8rTpWDpK/aoI3DG/L/hxmxPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/utils": "^2.0.2", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-x509": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.7.0.tgz", + "integrity": "sha512-mUn9RRrkGDnG4ALfunDmzyRW5dg+sWCj/pfnCCqEHYbkGxEpvUt6iVJv8Yw1cyp6SWZ26ZE5oSmI5SqEaen15g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.7.0", + "@peculiar/utils": "^2.0.2", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/asn1-x509-attr": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.7.0.tgz", + "integrity": "sha512-NS8e7SOgXipkzUPLF/sce7ukpMpWjhxYsH0n6Y+bHYo4TTxOb95Zv7hqwSuL212mj5YxovjdOKQOgH1As3E94w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-schema": "^2.7.0", + "@peculiar/asn1-x509": "^2.7.0", + "asn1js": "^3.0.6", + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@peculiar/utils/-/utils-2.0.3.tgz", + "integrity": "sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + } + }, + "node_modules/@peculiar/x509": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.14.3.tgz", + "integrity": "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@peculiar/asn1-cms": "^2.6.0", + "@peculiar/asn1-csr": "^2.6.0", + "@peculiar/asn1-ecc": "^2.6.0", + "@peculiar/asn1-pkcs9": "^2.6.0", + "@peculiar/asn1-rsa": "^2.6.0", + "@peculiar/asn1-schema": "^2.6.0", + "@peculiar/asn1-x509": "^2.6.0", + "pvtsutils": "^1.3.6", + "reflect-metadata": "^0.2.2", + "tslib": "^2.8.1", + "tsyringe": "^4.10.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, "node_modules/@puppeteer/browsers": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.7.1.tgz", @@ -2874,7 +3488,9 @@ } }, "node_modules/@types/bonjour": { - "version": "3.5.10", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2890,7 +3506,9 @@ } }, "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.0", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", "dev": true, "license": "MIT", "dependencies": { @@ -3157,14 +3775,16 @@ "license": "MIT" }, "node_modules/@types/express": { - "version": "4.17.17", + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", "dev": true, "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", "@types/qs": "*", - "@types/serve-static": "*" + "@types/serve-static": "^1" } }, "node_modules/@types/express-serve-static-core": { @@ -3206,6 +3826,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/http-proxy": { "version": "1.17.11", "dev": true, @@ -3278,7 +3905,9 @@ "license": "MIT" }, "node_modules/@types/retry": { - "version": "0.12.0", + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", + "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", "dev": true, "license": "MIT" }, @@ -3297,7 +3926,9 @@ } }, "node_modules/@types/serve-index": { - "version": "1.9.1", + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", "dev": true, "license": "MIT", "dependencies": { @@ -3305,16 +3936,21 @@ } }, "node_modules/@types/serve-static": { - "version": "1.15.1", + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", "dev": true, "license": "MIT", "dependencies": { - "@types/mime": "*", - "@types/node": "*" + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "<1" } }, "node_modules/@types/sockjs": { - "version": "0.3.33", + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", "dev": true, "license": "MIT", "dependencies": { @@ -4178,6 +4814,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/asn1js": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.10.tgz", + "integrity": "sha512-S2s3aOytiKdFRdulw2qPE51MzjzVOisppcVv7jVFR+Kw0kxwvFrDcYA0h7Ndqbmj0HkMIXYWaoj7fli8kgx1eg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.5", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/assert-never": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz", @@ -4580,11 +5231,16 @@ "license": "MIT" }, "node_modules/binary-extensions": { - "version": "2.2.0", + "version": "2.3.0", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/body-parser": { @@ -4661,21 +5317,16 @@ } }, "node_modules/bonjour-service": { - "version": "1.1.1", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", "dev": true, "license": "MIT", "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" } }, - "node_modules/bonjour-service/node_modules/array-flatten": { - "version": "2.1.2", - "dev": true, - "license": "MIT" - }, "node_modules/boolbase": { "version": "1.0.0", "dev": true, @@ -4813,14 +5464,30 @@ "semver": "bin/semver.js" }, "engines": { - "node": ">=10" + "node": ">=10" + } + }, + "node_modules/builtins/node_modules/yallist": { + "version": "4.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/bundle-name": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", + "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "run-applescript": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/builtins/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -4831,6 +5498,16 @@ "node": ">= 0.8" } }, + "node_modules/bytestreamjs": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bytestreamjs/-/bytestreamjs-2.0.1.tgz", + "integrity": "sha512-U1Z/ob71V/bXfVABvNr/Kumf5VyeQRBEm6Txb0PQ6S7V5GpBM3w4Cbqz/xPDicR5tN0uvDifng8C+5qECeGwyQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/call-bind": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", @@ -4959,14 +5636,10 @@ } }, "node_modules/chokidar": { - "version": "3.5.3", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "license": "MIT", "dependencies": { "anymatch": "~3.1.2", @@ -4980,12 +5653,17 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "node_modules/chokidar/node_modules/glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "license": "ISC", "dependencies": { @@ -5636,15 +6314,34 @@ "node": ">=0.10.0" } }, - "node_modules/default-gateway": { - "version": "6.0.3", + "node_modules/default-browser": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.5.0.tgz", + "integrity": "sha512-H9LMLr5zwIbSxrmvikGuI/5KGhZ8E2zH3stkMgM5LpOWDutGM2JZaj460Udnf1a+946zc7YBgrqEWwbk7zHvGw==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "execa": "^5.0.0" + "bundle-name": "^4.1.0", + "default-browser-id": "^5.0.0" }, "engines": { - "node": ">= 10" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser-id": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz", + "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/define-data-property": { @@ -5662,11 +6359,16 @@ } }, "node_modules/define-lazy-prop": { - "version": "2.0.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/define-properties": { @@ -5792,13 +6494,10 @@ "node": ">=8" } }, - "node_modules/dns-equal": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, "node_modules/dns-packet": { - "version": "5.6.0", + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", "dev": true, "license": "MIT", "dependencies": { @@ -7544,11 +8243,6 @@ "node": ">=14.14" } }, - "node_modules/fs-monkey": { - "version": "1.0.4", - "dev": true, - "license": "Unlicense" - }, "node_modules/fs.realpath": { "version": "1.0.0", "dev": true, @@ -7779,6 +8473,23 @@ "node": ">=10.13.0" } }, + "node_modules/glob-to-regex.js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/glob-to-regex.js/-/glob-to-regex.js-1.2.0.tgz", + "integrity": "sha512-QMwlOQKU/IzqMUOAZWubUOT8Qft+Y0KQWnX9nK3ch0CJg0tTp4TvGZsTfudYKv2NzoQSyPcnA6TYeIQ3jGichQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", @@ -8070,11 +8781,6 @@ "safe-buffer": "~5.1.0" } }, - "node_modules/html-entities": { - "version": "2.3.5", - "dev": true, - "license": "MIT" - }, "node_modules/html-escaper": { "version": "2.0.2", "dev": true, @@ -8255,6 +8961,16 @@ "node": ">=10.17.0" } }, + "node_modules/hyperdyperid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", + "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.18" + } + }, "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", @@ -8530,6 +9246,8 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", + "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": { @@ -8591,14 +9309,16 @@ } }, "node_modules/is-docker": { - "version": "2.2.1", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "dev": true, "license": "MIT", "bin": { "is-docker": "cli.js" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -8676,6 +9396,25 @@ "node": ">=0.10.0" } }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-map": { "version": "2.0.2", "dev": true, @@ -8695,6 +9434,19 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-network-error": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.3.1.tgz", + "integrity": "sha512-6QCxa49rQbmUWLfk0nuGqzql9U8uaV2H6279bRErPBHe/109hCzsLUBUHfbEtvLIHBd6hyXbgedBSHevm43Edw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", @@ -8872,14 +9624,19 @@ } }, "node_modules/is-wsl": { - "version": "2.2.0", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.1.tgz", + "integrity": "sha512-e6rvdUCiQCAuumZslxRJWR/Doq4VpPR82kqclvcS0efgt430SlGIk05vdCN58+VrzgtIcfNODjozVielycD4Sw==", "dev": true, "license": "MIT", "dependencies": { - "is-docker": "^2.0.0" + "is-inside-container": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/isarray": { @@ -9845,12 +10602,14 @@ } }, "node_modules/launch-editor": { - "version": "2.6.0", + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.13.2.tgz", + "integrity": "sha512-4VVDnbOpLXy/s8rdRCSXb+zfMeFR0WlJWpET1iA9CQdlZDfwyLjUuGQzXU4VeOoey6AicSAluWan7Etga6Kcmg==", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.7.3" + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" } }, "node_modules/leven": { @@ -10116,14 +10875,33 @@ } }, "node_modules/memfs": { - "version": "3.5.3", + "version": "4.57.2", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.57.2.tgz", + "integrity": "sha512-2nWzSsJzrukurSDna4Z0WywuScK4Id3tSKejgu74u8KCdW4uNrseKRSIDg75C6Yw5ZRqBe0F0EtMNlTbUq8bAQ==", "dev": true, - "license": "Unlicense", + "license": "Apache-2.0", "dependencies": { - "fs-monkey": "^1.0.4" + "@jsonjoy.com/fs-core": "4.57.2", + "@jsonjoy.com/fs-fsa": "4.57.2", + "@jsonjoy.com/fs-node": "4.57.2", + "@jsonjoy.com/fs-node-builtins": "4.57.2", + "@jsonjoy.com/fs-node-to-fsa": "4.57.2", + "@jsonjoy.com/fs-node-utils": "4.57.2", + "@jsonjoy.com/fs-print": "4.57.2", + "@jsonjoy.com/fs-snapshot": "4.57.2", + "@jsonjoy.com/json-pack": "^1.11.0", + "@jsonjoy.com/util": "^1.9.0", + "glob-to-regex.js": "^1.0.1", + "thingies": "^2.5.0", + "tree-dump": "^1.0.3", + "tslib": "^2.0.0" }, - "engines": { - "node": ">= 4.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" } }, "node_modules/merge-descriptors": { @@ -10244,6 +11022,8 @@ }, "node_modules/multicast-dns": { "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, "license": "MIT", "dependencies": { @@ -10302,16 +11082,6 @@ "tslib": "^2.0.3" } }, - "node_modules/node-forge": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.4.0.tgz", - "integrity": "sha512-LarFH0+6VfriEhqMMcLX2F7SwSXeWwnEAJEsYm5QKWchiVYVvJyV9v7UDvUv+w5HO23ZpQTXDv/GxdDdMyOuoQ==", - "dev": true, - "license": "(BSD-3-Clause OR GPL-2.0)", - "engines": { - "node": ">= 6.13.0" - } - }, "node_modules/node-int64": { "version": "0.4.0", "dev": true, @@ -10543,16 +11313,19 @@ } }, "node_modules/open": { - "version": "8.4.2", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", + "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==", "dev": true, "license": "MIT", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "default-browser": "^5.2.1", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "wsl-utils": "^0.1.0" }, "engines": { - "node": ">=12" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -10597,15 +11370,21 @@ } }, "node_modules/p-retry": { - "version": "4.6.2", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", + "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/retry": "0.12.0", + "@types/retry": "0.12.2", + "is-network-error": "^1.0.0", "retry": "^0.13.1" }, "engines": { - "node": ">=8" + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-try": { @@ -10959,6 +11738,24 @@ "node": ">=4" } }, + "node_modules/pkijs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pkijs/-/pkijs-3.4.0.tgz", + "integrity": "sha512-emEcLuomt2j03vxD54giVB4SxTjnsqkU692xZOZXHDVoYyypEm+b3jpiTcc+Cf+myooc+/Ly0z01jqeNHVgJGw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@noble/hashes": "1.4.0", + "asn1js": "^3.0.6", + "bytestreamjs": "^2.0.1", + "pvtsutils": "^1.3.6", + "pvutils": "^1.1.3", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/pngjs": { "version": "3.4.0", "dev": true, @@ -11403,6 +12200,26 @@ ], "license": "MIT" }, + "node_modules/pvtsutils": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/pvtsutils/-/pvtsutils-1.3.6.tgz", + "integrity": "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.8.1" + } + }, + "node_modules/pvutils": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/pvutils/-/pvutils-1.1.5.tgz", + "integrity": "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.0.0" + } + }, "node_modules/qs": { "version": "6.15.1", "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", @@ -11515,6 +12332,8 @@ }, "node_modules/readdirp": { "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, "license": "MIT", "dependencies": { @@ -11524,6 +12343,13 @@ "node": ">=8.10.0" } }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/reflect.getprototypeof": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", @@ -11741,6 +12567,8 @@ }, "node_modules/retry": { "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, "license": "MIT", "engines": { @@ -11789,6 +12617,19 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/run-applescript": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz", + "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "dev": true, @@ -11942,14 +12783,17 @@ "license": "MIT" }, "node_modules/selfsigned": { - "version": "2.1.1", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-5.5.0.tgz", + "integrity": "sha512-ftnu3TW4+3eBfLRFnDEkzGxSF/10BJBkaLJuBHZX0kiPS7bRdlpZGu6YGt4KngMkdTwJE6MbjavFpqHvqVt+Ew==", "dev": true, "license": "MIT", "dependencies": { - "node-forge": "^1" + "@peculiar/x509": "^1.14.2", + "pkijs": "^3.3.3" }, "engines": { - "node": ">=10" + "node": ">=18" } }, "node_modules/semver": { @@ -12179,9 +13023,14 @@ } }, "node_modules/shell-quote": { - "version": "1.8.1", + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", "dev": true, "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -13653,8 +14502,27 @@ "dev": true, "license": "MIT" }, + "node_modules/thingies": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/thingies/-/thingies-2.6.0.tgz", + "integrity": "sha512-rMHRjmlFLM1R96UYPvpmnc3LYtdFrT33JIB7L9hetGue1qAPfn1N2LJeEjxUSidu1Iku+haLZXDuEXUHNGO/lg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "^2" + } + }, "node_modules/thunky": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true, "license": "MIT" }, @@ -13697,6 +14565,23 @@ "integrity": "sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==", "dev": true }, + "node_modules/tree-dump": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.1.0.tgz", + "integrity": "sha512-rMuvhU4MCDbcbnleZTFezWsaZXRFemSqAM+7jPnzUl1fo9w3YEKOxAeui0fz3OI4EU4hf23iyA7uQRVko+UaBA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/streamich" + }, + "peerDependencies": { + "tslib": "2" + } + }, "node_modules/tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -13949,9 +14834,12 @@ } }, "node_modules/tslib": { - "version": "2.5.3", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "dev": true, - "license": "0BSD" + "license": "0BSD", + "peer": true }, "node_modules/tsutils": { "version": "3.21.0", @@ -14407,6 +15295,26 @@ "@esbuild/win32-x64": "0.25.4" } }, + "node_modules/tsyringe": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.10.0.tgz", + "integrity": "sha512-axr3IdNuVIxnaK5XGEUFTu3YmAQ6lllgrvqfEoR16g/HGnYY/6We4oWENtAnzK6/LpJ2ur9PAb80RBt7/U4ugw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.9.3" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/tsyringe/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, "node_modules/type-check": { "version": "0.4.0", "dev": true, @@ -15024,78 +15932,110 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "5.3.4", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", - "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.5.tgz", + "integrity": "sha512-uxQ6YqGdE4hgDKNf7hUiPXOdtkXvBJXrfEGYSx7P7LC8hnUYGK70X6xQXUvXeNyBDDcsiQXpG2m3G9vxowaEuA==", "dev": true, + "license": "MIT", "dependencies": { "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", + "memfs": "^4.43.1", + "mime-types": "^3.0.1", + "on-finished": "^2.4.1", "range-parser": "^1.2.1", "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/webpack-dev-server": { - "version": "4.15.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", - "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.3.tgz", + "integrity": "sha512-9Gyu2F7+bg4Vv+pjbovuYDhHX+mqdqITykfzdM9UyKqKHlsE5aAjRhR+oOEfXW5vBeu8tarzlJFIZva4ZjAdrQ==", "dev": true, "license": "MIT", "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", + "@types/bonjour": "^3.5.13", + "@types/connect-history-api-fallback": "^1.5.4", + "@types/express": "^4.17.25", + "@types/express-serve-static-core": "^4.17.21", + "@types/serve-index": "^1.9.4", + "@types/serve-static": "^1.15.5", + "@types/sockjs": "^0.3.36", + "@types/ws": "^8.5.10", "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", + "bonjour-service": "^1.2.1", + "chokidar": "^3.6.0", "colorette": "^2.0.10", - "compression": "^1.7.4", + "compression": "^1.8.1", "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", + "express": "^4.22.1", "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", + "http-proxy-middleware": "^2.0.9", + "ipaddr.js": "^2.1.0", + "launch-editor": "^2.6.1", + "open": "^10.0.3", + "p-retry": "^6.2.0", + "schema-utils": "^4.2.0", + "selfsigned": "^5.5.0", "serve-index": "^1.9.1", "sockjs": "^0.3.24", "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.4", - "ws": "^8.13.0" + "webpack-dev-middleware": "^7.4.2", + "ws": "^8.18.0" }, "bin": { "webpack-dev-server": "bin/webpack-dev-server.js" }, "engines": { - "node": ">= 12.13.0" + "node": ">= 18.12.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" + "webpack": "^5.0.0" }, "peerDependenciesMeta": { "webpack": { @@ -15364,6 +16304,22 @@ } } }, + "node_modules/wsl-utils": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz", + "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-wsl": "^3.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/xdg-basedir": { "version": "4.0.0", "dev": true, diff --git a/package.json b/package.json index 536ce6b..9b74f15 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "perf:pipeline": "tsx ./src/perf/interval-pipeline.ts" }, "engines": { - "node": ">=12" + "node": ">=18.12.0" }, "files": [ "/dist" @@ -118,7 +118,7 @@ "web-worker": "^1.5.0", "webpack": "^5.86.0", "webpack-cli": "^5.1.4", - "webpack-dev-server": "^4.11.0" + "webpack-dev-server": "^5.2.3" }, "standardx": { "parser": "@typescript-eslint/parser", diff --git a/site/js/function-plot.js b/site/js/function-plot.js new file mode 100644 index 0000000..fd72abf --- /dev/null +++ b/site/js/function-plot.js @@ -0,0 +1,11375 @@ +!(function (t, n) { + 'object' == typeof exports && 'object' == typeof module + ? (module.exports = n()) + : 'function' == typeof define && define.amd + ? define([], n) + : 'object' == typeof exports + ? (exports.functionPlot = n()) + : (t.functionPlot = n()) +})(self, () => + (() => { + var t = { + 5248: (t, n, e) => { + 'use strict' + t.exports = e(9976) + }, + 517: (t) => { + 'use strict' + t.exports = function () { + const t = Object.create(Math) + return ( + (t.factory = function (t) { + if ('number' != typeof t) throw new TypeError('built-in math factory only accepts numbers') + return Number(t) + }), + (t.add = function (t, n) { + return t + n + }), + (t.sub = function (t, n) { + return t - n + }), + (t.mul = function (t, n) { + return t * n + }), + (t.div = function (t, n) { + return t / n + }), + (t.mod = function (t, n) { + return t % n + }), + (t.factorial = function (t) { + let n = 1 + for (let e = 2; e <= t; e += 1) n *= e + return n + }), + (t.nthRoot = function (t, n) { + const e = n < 0 + if ((e && (n = -n), 0 === n)) throw new Error('Root must be non-zero') + if (t < 0 && Math.abs(n) % 2 != 1) throw new Error('Root must be odd when a is negative.') + if (0 === t) return 0 + if (!isFinite(t)) return e ? 0 : t + let r = Math.pow(Math.abs(t), 1 / n) + return (r = t < 0 ? -r : r), e ? 1 / r : r + }), + (t.logicalOR = function (t, n) { + return t || n + }), + (t.logicalXOR = function (t, n) { + return t != n + }), + (t.logicalAND = function (t, n) { + return t && n + }), + (t.bitwiseOR = function (t, n) { + return t | n + }), + (t.bitwiseXOR = function (t, n) { + return t ^ n + }), + (t.bitwiseAND = function (t, n) { + return t & n + }), + (t.lessThan = function (t, n) { + return t < n + }), + (t.lessEqualThan = function (t, n) { + return t <= n + }), + (t.greaterThan = function (t, n) { + return t > n + }), + (t.greaterEqualThan = function (t, n) { + return t >= n + }), + (t.equal = function (t, n) { + return t == n + }), + (t.strictlyEqual = function (t, n) { + return t === n + }), + (t.notEqual = function (t, n) { + return t != n + }), + (t.strictlyNotEqual = function (t, n) { + return t !== n + }), + (t.shiftRight = function (t, n) { + return t >> n + }), + (t.shiftLeft = function (t, n) { + return t << n + }), + (t.unsignedRightShift = function (t, n) { + return t >>> n + }), + (t.negative = function (t) { + return -t + }), + (t.positive = function (t) { + return t + }), + t + ) + } + }, + 9976: (t, n, e) => { + 'use strict' + const r = e(2223), + i = e(517)() + function o(t) { + Object.keys(t).forEach(function (n) { + const e = t[n] + t[n] = i.factory(e) + }) + } + ;(t.exports = function (t) { + return new r().setDefs({ $$processScope: o }).parse(t).compile(i) + }), + (t.exports.math = i) + }, + 4822: (t) => { + var n = !1 + if ('undefined' != typeof Float64Array) { + var e = new Float64Array(1), + r = new Uint32Array(e.buffer) + ;(e[0] = 1), + (n = !0), + 1072693248 === r[1] + ? ((t.exports = function (t) { + return (e[0] = t), [r[0], r[1]] + }), + (t.exports.pack = function (t, n) { + return (r[0] = t), (r[1] = n), e[0] + }), + (t.exports.lo = function (t) { + return (e[0] = t), r[0] + }), + (t.exports.hi = function (t) { + return (e[0] = t), r[1] + })) + : 1072693248 === r[0] + ? ((t.exports = function (t) { + return (e[0] = t), [r[1], r[0]] + }), + (t.exports.pack = function (t, n) { + return (r[1] = t), (r[0] = n), e[0] + }), + (t.exports.lo = function (t) { + return (e[0] = t), r[1] + }), + (t.exports.hi = function (t) { + return (e[0] = t), r[0] + })) + : (n = !1) + } + if (!n) { + 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, n) { + return i.writeUInt32LE(t, 0, !0), i.writeUInt32LE(n, 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 (n) { + return t.exports.hi(n) >>> 31 + }), + (t.exports.exponent = function (n) { + return ((t.exports.hi(n) << 1) >>> 21) - 1023 + }), + (t.exports.fraction = function (n) { + var e = t.exports.lo(n), + r = t.exports.hi(n), + i = 1048575 & r + return 2146435072 & r && (i += 1 << 20), [e, i] + }), + (t.exports.denormalized = function (n) { + return !(2146435072 & t.exports.hi(n)) + }) + }, + 7187: (t) => { + 'use strict' + var n, + e = 'object' == typeof Reflect ? Reflect : null, + r = + e && 'function' == typeof e.apply + ? e.apply + : function (t, n, e) { + return Function.prototype.apply.call(t, n, e) + } + n = + e && 'function' == typeof e.ownKeys + ? e.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 o() { + o.init.call(this) + } + ;(t.exports = o), + (t.exports.once = function (t, n) { + return new Promise(function (e, r) { + function i(e) { + t.removeListener(n, o), r(e) + } + function o() { + 'function' == typeof t.removeListener && t.removeListener('error', i), e([].slice.call(arguments)) + } + y(t, n, o, { once: !0 }), + 'error' !== n && + (function (t, n, e) { + 'function' == typeof t.on && y(t, 'error', n, { once: !0 }) + })(t, i) + }) + }), + (o.EventEmitter = o), + (o.prototype._events = void 0), + (o.prototype._eventsCount = 0), + (o.prototype._maxListeners = void 0) + var s = 10 + function a(t) { + if ('function' != typeof t) + throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof t) + } + function u(t) { + return void 0 === t._maxListeners ? o.defaultMaxListeners : t._maxListeners + } + function c(t, n, e, r) { + var i, o, s, c + if ( + (a(e), + void 0 === (o = t._events) + ? ((o = t._events = Object.create(null)), (t._eventsCount = 0)) + : (void 0 !== o.newListener && (t.emit('newListener', n, e.listener ? e.listener : e), (o = t._events)), + (s = o[n])), + void 0 === s) + ) + (s = o[n] = e), ++t._eventsCount + else if ( + ('function' == typeof s ? (s = o[n] = r ? [e, s] : [s, e]) : r ? s.unshift(e) : s.push(e), + (i = u(t)) > 0 && s.length > i && !s.warned) + ) { + s.warned = !0 + var l = new Error( + 'Possible EventEmitter memory leak detected. ' + + s.length + + ' ' + + String(n) + + ' listeners added. Use emitter.setMaxListeners() to increase limit' + ) + ;(l.name = 'MaxListenersExceededWarning'), + (l.emitter = t), + (l.type = n), + (l.count = s.length), + (c = l), + console && console.warn && console.warn(c) + } + return t + } + function l() { + 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, n, e) { + var r = { fired: !1, wrapFn: void 0, target: t, type: n, listener: e }, + i = l.bind(r) + return (i.listener = e), (r.wrapFn = i), i + } + function f(t, n, e) { + var r = t._events + if (void 0 === r) return [] + var i = r[n] + return void 0 === i + ? [] + : 'function' == typeof i + ? e + ? [i.listener || i] + : [i] + : e + ? (function (t) { + for (var n = new Array(t.length), e = 0; e < n.length; ++e) n[e] = t[e].listener || t[e] + return n + })(i) + : d(i, i.length) + } + function p(t) { + var n = this._events + if (void 0 !== n) { + var e = n[t] + if ('function' == typeof e) return 1 + if (void 0 !== e) return e.length + } + return 0 + } + function d(t, n) { + for (var e = new Array(n), r = 0; r < n; ++r) e[r] = t[r] + return e + } + function y(t, n, e, r) { + if ('function' == typeof t.on) r.once ? t.once(n, e) : t.on(n, e) + else { + if ('function' != typeof t.addEventListener) + throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type ' + typeof t) + t.addEventListener(n, function i(o) { + r.once && t.removeEventListener(n, i), e(o) + }) + } + } + Object.defineProperty(o, 'defaultMaxListeners', { + enumerable: !0, + get: function () { + return s + }, + set: function (t) { + if ('number' != typeof t || t < 0 || i(t)) + throw new RangeError( + 'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + + t + + '.' + ) + s = t + } + }), + (o.init = function () { + ;(void 0 !== this._events && this._events !== Object.getPrototypeOf(this)._events) || + ((this._events = Object.create(null)), (this._eventsCount = 0)), + (this._maxListeners = this._maxListeners || void 0) + }), + (o.prototype.setMaxListeners = function (t) { + if ('number' != typeof t || t < 0 || i(t)) + throw new RangeError( + 'The value of "n" is out of range. It must be a non-negative number. Received ' + t + '.' + ) + return (this._maxListeners = t), this + }), + (o.prototype.getMaxListeners = function () { + return u(this) + }), + (o.prototype.emit = function (t) { + for (var n = [], e = 1; e < arguments.length; e++) n.push(arguments[e]) + var i = 'error' === t, + o = this._events + if (void 0 !== o) i = i && void 0 === o.error + else if (!i) return !1 + if (i) { + var s + if ((n.length > 0 && (s = n[0]), s instanceof Error)) throw s + var a = new Error('Unhandled error.' + (s ? ' (' + s.message + ')' : '')) + throw ((a.context = s), a) + } + var u = o[t] + if (void 0 === u) return !1 + if ('function' == typeof u) r(u, this, n) + else { + var c = u.length, + l = d(u, c) + for (e = 0; e < c; ++e) r(l[e], this, n) + } + return !0 + }), + (o.prototype.addListener = function (t, n) { + return c(this, t, n, !1) + }), + (o.prototype.on = o.prototype.addListener), + (o.prototype.prependListener = function (t, n) { + return c(this, t, n, !0) + }), + (o.prototype.once = function (t, n) { + return a(n), this.on(t, h(this, t, n)), this + }), + (o.prototype.prependOnceListener = function (t, n) { + return a(n), this.prependListener(t, h(this, t, n)), this + }), + (o.prototype.removeListener = function (t, n) { + var e, r, i, o, s + if ((a(n), void 0 === (r = this._events))) return this + if (void 0 === (e = r[t])) return this + if (e === n || e.listener === n) + 0 == --this._eventsCount + ? (this._events = Object.create(null)) + : (delete r[t], r.removeListener && this.emit('removeListener', t, e.listener || n)) + else if ('function' != typeof e) { + for (i = -1, o = e.length - 1; o >= 0; o--) + if (e[o] === n || e[o].listener === n) { + ;(s = e[o].listener), (i = o) + break + } + if (i < 0) return this + 0 === i + ? e.shift() + : (function (t, n) { + for (; n + 1 < t.length; n++) t[n] = t[n + 1] + t.pop() + })(e, i), + 1 === e.length && (r[t] = e[0]), + void 0 !== r.removeListener && this.emit('removeListener', t, s || n) + } + return this + }), + (o.prototype.off = o.prototype.removeListener), + (o.prototype.removeAllListeners = function (t) { + var n, e, r + if (void 0 === (e = this._events)) return this + if (void 0 === e.removeListener) + return ( + 0 === arguments.length + ? ((this._events = Object.create(null)), (this._eventsCount = 0)) + : void 0 !== e[t] && + (0 == --this._eventsCount ? (this._events = Object.create(null)) : delete e[t]), + this + ) + if (0 === arguments.length) { + var i, + o = Object.keys(e) + for (r = 0; r < o.length; ++r) 'removeListener' !== (i = o[r]) && this.removeAllListeners(i) + return ( + this.removeAllListeners('removeListener'), + (this._events = Object.create(null)), + (this._eventsCount = 0), + this + ) + } + if ('function' == typeof (n = e[t])) this.removeListener(t, n) + else if (void 0 !== n) for (r = n.length - 1; r >= 0; r--) this.removeListener(t, n[r]) + return this + }), + (o.prototype.listeners = function (t) { + return f(this, t, !0) + }), + (o.prototype.rawListeners = function (t) { + return f(this, t, !1) + }), + (o.listenerCount = function (t, n) { + return 'function' == typeof t.listenerCount ? t.listenerCount(n) : p.call(t, n) + }), + (o.prototype.listenerCount = p), + (o.prototype.eventNames = function () { + return this._eventsCount > 0 ? n(this._events) : [] + }) + }, + 4470: (t) => { + 'use strict' + var n = Object.prototype.hasOwnProperty, + e = Object.prototype.toString, + r = Object.defineProperty, + i = Object.getOwnPropertyDescriptor, + o = function (t) { + return 'function' == typeof Array.isArray ? Array.isArray(t) : '[object Array]' === e.call(t) + }, + s = function (t) { + if (!t || '[object Object]' !== e.call(t)) return !1 + var r, + i = n.call(t, 'constructor'), + o = t.constructor && t.constructor.prototype && n.call(t.constructor.prototype, 'isPrototypeOf') + if (t.constructor && !i && !o) return !1 + for (r in t); + return void 0 === r || n.call(t, r) + }, + a = function (t, n) { + r && '__proto__' === n.name + ? r(t, n.name, { enumerable: !0, configurable: !0, value: n.newValue, writable: !0 }) + : (t[n.name] = n.newValue) + }, + u = function (t, e) { + if ('__proto__' === e) { + if (!n.call(t, e)) return + if (i) return i(t, e).value + } + return t[e] + } + t.exports = function t() { + var n, + e, + r, + i, + c, + l, + h = arguments[0], + f = 1, + p = arguments.length, + d = !1 + for ( + 'boolean' == typeof h && ((d = h), (h = arguments[1] || {}), (f = 2)), + (null == h || ('object' != typeof h && 'function' != typeof h)) && (h = {}); + f < p; + ++f + ) + if (null != (n = arguments[f])) + for (e in n) + (r = u(h, e)), + h !== (i = u(n, e)) && + (d && i && (s(i) || (c = o(i))) + ? (c ? ((c = !1), (l = r && o(r) ? r : [])) : (l = r && s(r) ? r : {}), + a(h, { name: e, newValue: t(d, l, i) })) + : void 0 !== i && a(h, { name: e, newValue: i })) + return h + } + }, + 8867: (t, n, e) => { + 'use strict' + t.exports = e(2320) + }, + 3380: (t) => { + 'use strict' + t.exports = function (t) { + ;(t.mod = t.fmod), + (t.lessThan = t.lt), + (t.lessEqualThan = t.leq), + (t.greaterThan = t.gt), + (t.greaterEqualThan = t.geq), + (t.strictlyEqual = t.equal), + (t.strictlyNotEqual = t.notEqual), + (t.logicalAND = function (t, n) { + return t && n + }), + (t.logicalXOR = function (t, n) { + return t ^ n + }), + (t.logicalOR = function (t, n) { + return t || n + }) + } + }, + 2320: (t, n, e) => { + 'use strict' + const r = e(2223), + i = e(9851).ZP + function o(t) { + Object.keys(t).forEach(function (n) { + const e = t[n] + 'number' == typeof e || Array.isArray(e) + ? (t[n] = i.factory(e)) + : 'object' == typeof e && 'lo' in e && 'hi' in e && (t[n] = i.factory(e.lo, e.hi)) + }) + } + e(3380)(i), + (t.exports = function (t) { + return new r().setDefs({ $$processScope: o }).parse(t).compile(i) + }), + (t.exports.policies = e(4186)(i)), + (t.exports.Interval = i) + }, + 4186: (t) => { + 'use strict' + t.exports = function (t) { + return { + disableRounding: function () { + t.round.disable() + }, + enableRounding: function () { + t.round.enable() + } + } + } + }, + 9851: (t, n, e) => { + 'use strict' + e.d(n, { ZP: () => Ct }) + var r = {} + e.r(r), + e.d(r, { + hasInterval: () => y, + hasValue: () => d, + intervalsOverlap: () => _, + isEmpty: () => l, + isInterval: () => c, + isSingleton: () => f, + isWhole: () => h, + zeroIn: () => p + }) + var i = {} + e.r(i), + e.d(i, { + almostEqual: () => H, + assertIncludes: () => D, + equal: () => L, + geq: () => X, + greaterEqualThan: () => q, + greaterThan: () => z, + gt: () => F, + leq: () => R, + lessEqualThan: () => U, + lessThan: () => j, + lt: () => Y, + notEqual: () => $ + }) + var o = {} + e.r(o), + e.d(o, { + add: () => B, + div: () => K, + divide: () => Q, + mul: () => J, + multiply: () => G, + negative: () => nt, + positive: () => tt, + sub: () => W, + subtract: () => V + }) + var s = {} + e.r(s), + e.d(s, { + fmod: () => et, + multiplicativeInverse: () => rt, + nthRoot: () => st, + pow: () => it, + sqrt: () => ot + }) + var a = {} + e.r(a), + e.d(a, { + LOG_EXP_10: () => lt, + LOG_EXP_2: () => ft, + abs: () => xt, + clone: () => Mt, + difference: () => mt, + exp: () => at, + hull: () => dt, + intersection: () => yt, + ln: () => ct, + log: () => ut, + log10: () => ht, + log2: () => pt, + max: () => wt, + min: () => bt, + union: () => _t, + wid: () => vt, + width: () => gt + }) + var u = {} + function c(t) { + return 'object' == typeof t && 'number' == typeof t.lo && 'number' == typeof t.hi + } + function l(t) { + return t.lo > t.hi + } + function h(t) { + return t.lo === -1 / 0 && t.hi === 1 / 0 + } + function f(t) { + return t.lo === t.hi + } + function p(t) { + return d(t, 0) + } + function d(t, n) { + return !l(t) && t.lo <= n && n <= t.hi + } + function y(t, n) { + return !!l(t) || (!l(n) && n.lo <= t.lo && t.hi <= n.hi) + } + function _(t, n) { + return !l(t) && !l(n) && ((t.lo <= n.lo && n.lo <= t.hi) || (n.lo <= t.lo && t.lo <= n.hi)) + } + e.r(u), + e.d(u, { + acos: () => Pt, + asin: () => St, + atan: () => Ot, + cos: () => kt, + cosh: () => It, + sin: () => At, + sinh: () => Lt, + tan: () => Nt, + tanh: () => Zt + }) + var m = e(3093), + g = e.n(m) + function v(t) { + return t + } + function x(t) { + return t === 1 / 0 ? t : g()(t, -1 / 0) + } + function w(t) { + return t === -1 / 0 ? t : g()(t, 1 / 0) + } + function b(t) { + return t < 0 ? Math.ceil(t) : Math.floor(t) + } + const M = { prev: x, next: w }, + T = { + safePrev: x, + safeNext: w, + prev: (t) => M.prev(t), + next: (t) => M.next(t), + addLo: (t, n) => T.prev(t + n), + addHi: (t, n) => T.next(t + n), + subLo: (t, n) => T.prev(t - n), + subHi: (t, n) => T.next(t - n), + mulLo: (t, n) => T.prev(t * n), + mulHi: (t, n) => T.next(t * n), + divLo: (t, n) => T.prev(t / n), + divHi: (t, n) => T.next(t / n), + intLo: (t) => b(T.prev(t)), + intHi: (t) => b(T.next(t)), + logLo: (t) => T.prev(Math.log(t)), + logHi: (t) => T.next(Math.log(t)), + expLo: (t) => T.prev(Math.exp(t)), + expHi: (t) => T.next(Math.exp(t)), + sinLo: (t) => T.prev(Math.sin(t)), + sinHi: (t) => T.next(Math.sin(t)), + cosLo: (t) => T.prev(Math.cos(t)), + cosHi: (t) => T.next(Math.cos(t)), + tanLo: (t) => T.prev(Math.tan(t)), + tanHi: (t) => T.next(Math.tan(t)), + asinLo: (t) => T.prev(Math.asin(t)), + asinHi: (t) => T.next(Math.asin(t)), + acosLo: (t) => T.prev(Math.acos(t)), + acosHi: (t) => T.next(Math.acos(t)), + atanLo: (t) => T.prev(Math.atan(t)), + atanHi: (t) => T.next(Math.atan(t)), + sinhLo: (t) => T.prev(Math.sinh(t)), + sinhHi: (t) => T.next(Math.sinh(t)), + coshLo: (t) => T.prev(Math.cosh(t)), + coshHi: (t) => T.next(Math.cosh(t)), + tanhLo: (t) => T.prev(Math.tanh(t)), + tanhHi: (t) => T.next(Math.tanh(t)), + powLo(t, n) { + if (n % 1 != 0) return T.prev(Math.pow(t, n)) + let e = 1 == (1 & n) ? t : 1 + for (n >>= 1; n > 0; ) (t = T.mulLo(t, t)), 1 == (1 & n) && (e = T.mulLo(t, e)), (n >>= 1) + return e + }, + powHi(t, n) { + if (n % 1 != 0) return T.next(Math.pow(t, n)) + let e = 1 == (1 & n) ? t : 1 + for (n >>= 1; n > 0; ) (t = T.mulHi(t, t)), 1 == (1 & n) && (e = T.mulHi(t, e)), (n >>= 1) + return e + }, + sqrtLo: (t) => T.prev(Math.sqrt(t)), + sqrtHi: (t) => T.next(Math.sqrt(t)), + disable() { + M.next = M.prev = v + }, + enable() { + ;(M.next = w), (M.prev = x) + } + }, + E = T + class k { + constructor(t, n) { + if (((this.lo = 0), (this.hi = 0), !(this instanceof k))) + return console.log('calling with new'), console.log(t, n), new k(t, n) + if (void 0 !== t && void 0 !== n) { + if (c(t)) { + if (!f(t)) throw new TypeError('Interval: interval `lo` must be a singleton') + t = t.lo + } + if (c(n)) { + if (!f(n)) throw TypeError('Interval: interval `hi` must be a singleton') + n = n.hi + } + } else { + if (void 0 !== t) return Array.isArray(t) ? new A(t[0], t[1]) : new A(t, t) + t = n = 0 + } + this.assign(t, n) + } + singleton(t) { + return this.set(t, t) + } + bounded(t, n) { + return this.set(E.prev(t), E.next(n)) + } + boundedSingleton(t) { + return this.bounded(t, t) + } + set(t, n) { + return (this.lo = t), (this.hi = n), this + } + assign(t, n) { + if ('number' != typeof t || 'number' != typeof n) + throw TypeError('Interval#assign: arguments must be numbers') + return isNaN(t) || isNaN(n) || t > n ? this.setEmpty() : this.set(t, n) + } + setEmpty() { + return this.set(Number.POSITIVE_INFINITY, Number.NEGATIVE_INFINITY) + } + setWhole() { + return this.set(Number.NEGATIVE_INFINITY, Number.POSITIVE_INFINITY) + } + open(t, n) { + return this.assign(E.safeNext(t), E.safePrev(n)) + } + halfOpenLeft(t, n) { + return this.assign(E.safeNext(t), n) + } + halfOpenRight(t, n) { + return this.assign(t, E.safePrev(n)) + } + toArray() { + return [this.lo, this.hi] + } + clone() { + return new A().set(this.lo, this.hi) + } + } + const A = (function (t) { + function n() { + for (var n = arguments.length, e = Array(n), r = 0; r < n; r++) e[r] = arguments[r] + return new (Function.prototype.bind.apply(t, [null].concat(e)))() + } + return (n.prototype = t.prototype), n + })(k) + A.factory = A + const N = 3.141592653589793, + S = 3.1415926535897936, + P = { + PI_LOW: N, + PI_HIGH: S, + PI_HALF_LOW: N / 2, + PI_HALF_HIGH: S / 2, + PI_TWICE_LOW: 2 * N, + PI_TWICE_HIGH: 2 * S, + get E() { + return new A(E.prev(Math.E), E.next(Math.E)) + }, + get PI() { + return new A(N, S) + }, + get PI_HALF() { + return new A(P.PI_HALF_LOW, P.PI_HALF_HIGH) + }, + get PI_TWICE() { + return new A(P.PI_TWICE_LOW, P.PI_TWICE_HIGH) + }, + get ZERO() { + return new A(0) + }, + get ONE() { + return new A(1) + }, + get WHOLE() { + return new A().setWhole() + }, + get EMPTY() { + return new A().setEmpty() + } + }, + O = P + function L(t, n) { + return l(t) ? l(n) : !l(n) && t.lo === n.lo && t.hi === n.hi + } + const I = 1e-7 + function Z(t, n) { + if (!t) throw new Error(n || 'assertion failed') + } + function C(t, n) { + if (!isFinite(t)) return Z(t === n, `[Infinity] expected ${t} to be ${n}`) + Z(Math.abs(t - n) < I, `expected ${t} to be close to ${n}`) + } + function H(t, n) { + ;(t = Array.isArray(t) ? t : t.toArray()), + (n = Array.isArray(n) ? n : n.toArray()), + C(t[0], n[0]), + C(t[1], n[1]) + } + function D(t, n) { + H(t, n), + (t = Array.isArray(t) ? t : t.toArray()), + (n = Array.isArray(n) ? n : n.toArray()), + Z(t[0] <= n[0], `${t[0]} should be less/equal than ${n[0]}`), + Z(n[1] <= t[1], `${n[1]} should be less/equal than ${t[1]}`) + } + function $(t, n) { + return l(t) ? !l(n) : l(n) || t.hi < n.lo || t.lo > n.hi + } + function j(t, n) { + return !l(t) && !l(n) && t.hi < n.lo + } + const Y = j + function z(t, n) { + return !l(t) && !l(n) && t.lo > n.hi + } + const F = z + function U(t, n) { + return !l(t) && !l(n) && t.hi <= n.lo + } + const R = U + function q(t, n) { + return !l(t) && !l(n) && t.lo >= n.hi + } + const X = q + function B(t, n) { + return new A(E.addLo(t.lo, n.lo), E.addHi(t.hi, n.hi)) + } + function V(t, n) { + return new A(E.subLo(t.lo, n.hi), E.subHi(t.hi, n.lo)) + } + const W = V + function G(t, n) { + if (l(t) || l(n)) return O.EMPTY + const e = t.lo, + r = t.hi, + i = n.lo, + o = n.hi, + s = new A() + return ( + e < 0 + ? r > 0 + ? i < 0 + ? o > 0 + ? ((s.lo = Math.min(E.mulLo(e, o), E.mulLo(r, i))), + (s.hi = Math.max(E.mulHi(e, i), E.mulHi(r, o)))) + : ((s.lo = E.mulLo(r, i)), (s.hi = E.mulHi(e, i))) + : o > 0 + ? ((s.lo = E.mulLo(e, o)), (s.hi = E.mulHi(r, o))) + : ((s.lo = 0), (s.hi = 0)) + : i < 0 + ? o > 0 + ? ((s.lo = E.mulLo(e, o)), (s.hi = E.mulHi(e, i))) + : ((s.lo = E.mulLo(r, o)), (s.hi = E.mulHi(e, i))) + : o > 0 + ? ((s.lo = E.mulLo(e, o)), (s.hi = E.mulHi(r, i))) + : ((s.lo = 0), (s.hi = 0)) + : r > 0 + ? i < 0 + ? o > 0 + ? ((s.lo = E.mulLo(r, i)), (s.hi = E.mulHi(r, o))) + : ((s.lo = E.mulLo(r, i)), (s.hi = E.mulHi(e, o))) + : o > 0 + ? ((s.lo = E.mulLo(e, i)), (s.hi = E.mulHi(r, o))) + : ((s.lo = 0), (s.hi = 0)) + : ((s.lo = 0), (s.hi = 0)), + s + ) + } + const J = G + function Q(t, n) { + return l(t) || l(n) + ? O.EMPTY + : p(n) + ? 0 !== n.lo + ? 0 !== n.hi + ? (function (t) { + return 0 === t.lo && 0 === t.hi ? t : O.WHOLE + })(t) + : (function (t, n) { + return 0 === t.lo && 0 === t.hi + ? t + : p(t) + ? O.WHOLE + : t.hi < 0 + ? new A(E.divLo(t.hi, n), Number.POSITIVE_INFINITY) + : new A(Number.NEGATIVE_INFINITY, E.divHi(t.lo, n)) + })(t, n.lo) + : 0 !== n.hi + ? (function (t, n) { + return 0 === t.lo && 0 === t.hi + ? t + : p(t) + ? O.WHOLE + : t.hi < 0 + ? new A(Number.NEGATIVE_INFINITY, E.divHi(t.hi, n)) + : new A(E.divLo(t.lo, n), Number.POSITIVE_INFINITY) + })(t, n.hi) + : O.EMPTY + : (function (t, n) { + const e = t.lo, + r = t.hi, + i = n.lo, + o = n.hi, + s = new A() + return ( + r < 0 + ? o < 0 + ? ((s.lo = E.divLo(r, i)), (s.hi = E.divHi(e, o))) + : ((s.lo = E.divLo(e, i)), (s.hi = E.divHi(r, o))) + : e < 0 + ? o < 0 + ? ((s.lo = E.divLo(r, o)), (s.hi = E.divHi(e, o))) + : ((s.lo = E.divLo(e, i)), (s.hi = E.divHi(r, i))) + : o < 0 + ? ((s.lo = E.divLo(r, o)), (s.hi = E.divHi(e, i))) + : ((s.lo = E.divLo(e, o)), (s.hi = E.divHi(r, i))), + s + ) + })(t, n) + } + const K = Q + function tt(t) { + return new A(t.lo, t.hi) + } + function nt(t) { + return new A(-t.hi, -t.lo) + } + function et(t, n) { + if (l(t) || l(n)) return O.EMPTY + const e = t.lo < 0 ? n.lo : n.hi + let r = t.lo / e + return (r = r < 0 ? Math.ceil(r) : Math.floor(r)), W(t, J(n, new A(r))) + } + function rt(t) { + return l(t) + ? O.EMPTY + : p(t) + ? 0 !== t.lo + ? 0 !== t.hi + ? O.WHOLE + : new A(Number.NEGATIVE_INFINITY, E.divHi(1, t.lo)) + : 0 !== t.hi + ? new A(E.divLo(1, t.hi), Number.POSITIVE_INFINITY) + : O.EMPTY + : new A(E.divLo(1, t.hi), E.divHi(1, t.lo)) + } + function it(t, n) { + if (l(t)) return O.EMPTY + if ('object' == typeof n) { + if (!f(n)) return O.EMPTY + n = n.lo + } + if (0 === n) return 0 === t.lo && 0 === t.hi ? O.EMPTY : O.ONE + if (n < 0) return it(rt(t), -n) + if (Number.isSafeInteger(n)) { + if (t.hi < 0) { + const e = E.powLo(-t.hi, n), + r = E.powHi(-t.lo, n) + return 1 == (1 & n) ? new A(-r, -e) : new A(e, r) + } + return t.lo < 0 + ? 1 == (1 & n) + ? new A(-E.powLo(-t.lo, n), E.powHi(t.hi, n)) + : new A(0, E.powHi(Math.max(-t.lo, t.hi), n)) + : new A(E.powLo(t.lo, n), E.powHi(t.hi, n)) + } + return ( + console.warn('power is not an integer, you should use nth-root instead, returning an empty interval'), + O.EMPTY + ) + } + function ot(t) { + return st(t, 2) + } + function st(t, n) { + if (l(t) || n < 0) return O.EMPTY + if ('object' == typeof n) { + if (!f(n)) return O.EMPTY + n = n.lo + } + const e = 1 / n + if (t.hi < 0) { + if (Number.isSafeInteger(n) && 1 == (1 & n)) { + const n = E.powHi(-t.lo, e), + r = E.powLo(-t.hi, e) + return new A(-n, -r) + } + return O.EMPTY + } + if (t.lo < 0) { + const r = E.powHi(t.hi, e) + if (Number.isSafeInteger(n) && 1 == (1 & n)) { + const n = -E.powHi(-t.lo, e) + return new A(n, r) + } + return new A(0, r) + } + return new A(E.powLo(t.lo, e), E.powHi(t.hi, e)) + } + function at(t) { + return l(t) ? O.EMPTY : new A(E.expLo(t.lo), E.expHi(t.hi)) + } + function ut(t) { + if (l(t)) return O.EMPTY + const n = t.lo <= 0 ? Number.NEGATIVE_INFINITY : E.logLo(t.lo) + return new A(n, E.logHi(t.hi)) + } + const ct = ut, + lt = ut(new A(10, 10)) + function ht(t) { + return l(t) ? O.EMPTY : K(ut(t), lt) + } + const ft = ut(new A(2, 2)) + function pt(t) { + return l(t) ? O.EMPTY : K(ut(t), ft) + } + function dt(t, n) { + const e = l(t), + r = l(n) + return e && r ? O.EMPTY : e ? n.clone() : r ? t.clone() : new A(Math.min(t.lo, n.lo), Math.max(t.hi, n.hi)) + } + function yt(t, n) { + if (l(t) || l(n)) return O.EMPTY + const e = Math.max(t.lo, n.lo), + r = Math.min(t.hi, n.hi) + return e <= r ? new A(e, r) : O.EMPTY + } + function _t(t, n) { + if (!_(t, n)) throw Error('Interval#union: intervals do not overlap') + return new A(Math.min(t.lo, n.lo), Math.max(t.hi, n.hi)) + } + function mt(t, n) { + if (l(t) || h(n)) return O.EMPTY + if (_(t, n)) { + if (t.lo < n.lo && n.hi < t.hi) throw Error('Interval.difference: difference creates multiple intervals') + return (n.lo <= t.lo && n.hi === 1 / 0) || (n.hi >= t.hi && n.lo === -1 / 0) + ? O.EMPTY + : n.lo <= t.lo + ? new A().halfOpenLeft(n.hi, t.hi) + : new A().halfOpenRight(t.lo, n.lo) + } + return t.clone() + } + function gt(t) { + return l(t) ? 0 : E.subHi(t.hi, t.lo) + } + const vt = gt + function xt(t) { + return l(t) || h(t) ? O.EMPTY : t.lo >= 0 ? t.clone() : t.hi <= 0 ? nt(t) : new A(0, Math.max(-t.lo, t.hi)) + } + function wt(t, n) { + const e = l(t), + r = l(n) + return e && r ? O.EMPTY : e ? n.clone() : r ? t.clone() : new A(Math.max(t.lo, n.lo), Math.max(t.hi, n.hi)) + } + function bt(t, n) { + const e = l(t), + r = l(n) + return e && r ? O.EMPTY : e ? n.clone() : r ? t.clone() : new A(Math.min(t.lo, n.lo), Math.min(t.hi, n.hi)) + } + function Mt(t) { + return new A().set(t.lo, t.hi) + } + function Tt(t) { + return !isFinite(t.lo) && t.lo === t.hi + } + function Et(t) { + if (t.lo < 0) + if (t.lo === -1 / 0) (t.lo = 0), (t.hi = 1 / 0) + else { + const n = Math.ceil(-t.lo / O.PI_TWICE_LOW) + ;(t.lo += O.PI_TWICE_LOW * n), (t.hi += O.PI_TWICE_LOW * n) + } + return t + } + function kt(t) { + if (l(t) || Tt(t)) return O.EMPTY + const n = new A().set(t.lo, t.hi) + Et(n) + const e = O.PI_TWICE, + r = et(n, e) + if (gt(r) >= e.lo) return new A(-1, 1) + if (r.lo >= O.PI_HIGH) return nt(kt(W(r, O.PI))) + const i = r.lo, + o = r.hi, + s = E.cosLo(o), + a = E.cosHi(i) + return o <= O.PI_LOW ? new A(s, a) : o <= e.lo ? new A(-1, Math.max(s, a)) : new A(-1, 1) + } + function At(t) { + return l(t) || Tt(t) ? O.EMPTY : kt(W(t, O.PI_HALF)) + } + function Nt(t) { + if (l(t) || Tt(t)) return O.EMPTY + const n = new A().set(t.lo, t.hi) + Et(n) + const e = O.PI + let r = et(n, e) + return ( + r.lo >= O.PI_HALF_LOW && (r = W(r, e)), + r.lo <= -O.PI_HALF_LOW || r.hi >= O.PI_HALF_LOW ? O.WHOLE : new A(E.tanLo(r.lo), E.tanHi(r.hi)) + ) + } + function St(t) { + if (l(t) || t.hi < -1 || t.lo > 1) return O.EMPTY + const n = t.lo <= -1 ? -O.PI_HALF_HIGH : E.asinLo(t.lo), + e = t.hi >= 1 ? O.PI_HALF_HIGH : E.asinHi(t.hi) + return new A(n, e) + } + function Pt(t) { + if (l(t) || t.hi < -1 || t.lo > 1) return O.EMPTY + const n = t.hi >= 1 ? 0 : E.acosLo(t.hi), + e = t.lo <= -1 ? O.PI_HIGH : E.acosHi(t.lo) + return new A(n, e) + } + function Ot(t) { + return l(t) ? O.EMPTY : new A(E.atanLo(t.lo), E.atanHi(t.hi)) + } + function Lt(t) { + return l(t) ? O.EMPTY : new A(E.sinhLo(t.lo), E.sinhHi(t.hi)) + } + function It(t) { + return l(t) + ? O.EMPTY + : t.hi < 0 + ? new A(E.coshLo(t.hi), E.coshHi(t.lo)) + : t.lo >= 0 + ? new A(E.coshLo(t.lo), E.coshHi(t.hi)) + : new A(1, E.coshHi(-t.lo > t.hi ? t.lo : t.hi)) + } + function Zt(t) { + return l(t) ? O.EMPTY : new A(E.tanhLo(t.lo), E.tanhHi(t.hi)) + } + const Ct = Object.assign(A, O, E, a, r, i, o, s, u, { round: E }) + }, + 2223: (t, n, e) => { + 'use strict' + t.exports = e(3829) + }, + 3829: (t, n, e) => { + 'use strict' + const r = e(9213).Parser, + i = e(6009), + o = e(4470) + function s(t, n) { + ;(this.statements = []), (this.defs = n || {}), (this.interpreter = new i(this, t)) + } + ;(s.prototype.setDefs = function (t) { + return (this.defs = o(this.defs, t)), this + }), + (s.prototype.compile = function (t) { + const n = this + if (!t || ('object' != typeof t && 'function' != typeof t)) throw TypeError('namespace must be an object') + if ('function' != typeof t.factory) throw TypeError('namespace.factory must be a function') + ;(this.defs.ns = t), + (this.defs.$$mathCodegen = { + getProperty: function (t, e, r) { + function i(t) { + return n.interpreter.options.applyFactoryToScope && 'function' != typeof t ? r.factory(t) : t + } + if (t in e) return i(e[t]) + if (t in r) return i(r[t]) + throw SyntaxError('symbol "' + t + '" is undefined') + }, + functionProxy: function (t, n) { + if ('function' != typeof t) throw SyntaxError('symbol "' + n + '" must be a function') + return t + } + }), + (this.defs.$$processScope = this.defs.$$processScope || function () {}) + const e = Object.keys(this.defs).map(function (t) { + return 'var ' + t + ' = defs["' + t + '"]' + }) + if (!this.statements.length) + throw Error( + 'there are no statements saved in this generator, make sure you parse an expression before compiling it' + ) + this.statements[this.statements.length - 1] = 'return ' + this.statements[this.statements.length - 1] + const r = this.statements.join(';'), + i = + e.join('\n') + + '\n' + + [ + 'return {', + ' eval: function (scope) {', + ' scope = scope || {}', + ' $$processScope(scope)', + ' ' + r, + ' },', + ' code: ' + JSON.stringify(r), + '}' + ].join('\n') + return new Function('defs', i)(this.defs) + }), + (s.prototype.parse = function (t) { + const n = this, + e = new r().parse(t) + return ( + (this.statements = e.blocks.map(function (t) { + return n.interpreter.next(t) + })), + this + ) + }), + (t.exports = s) + }, + 6009: (t, n, e) => { + 'use strict' + const r = e(4470), + i = { + ArrayNode: e(5476), + AssignmentNode: e(6408), + ConditionalNode: e(9907), + ConstantNode: e(2341), + FunctionNode: e(7850), + OperatorNode: e(305), + SymbolNode: e(6656), + UnaryNode: e(2386) + }, + o = function (t, n) { + ;(this.owner = t), + (this.options = r( + { + factory: 'ns.factory', + raw: !1, + rawArrayExpressionElements: !0, + rawCallExpressionElements: !1, + applyFactoryToScope: !1 + }, + n + )) + const e = this.options.factory + if ('string' != typeof e || !/^[a-zA-Z_$][a-zA-Z0-9_$]*(\.[a-zA-Z_$][a-zA-Z0-9_$]*)*$/.test(e)) + throw new Error('factory must be a valid JS property access path (e.g. "ns.factory")') + } + r(o.prototype, i), + (o.prototype.next = function (t) { + if (!(t.type in this)) throw new TypeError('the node type ' + t.type + ' is not implemented') + return this[t.type](t) + }), + (o.prototype.rawify = function (t, n) { + const e = this.options.raw + t && (this.options.raw = !0), n(), t && (this.options.raw = e) + }), + (t.exports = o) + }, + 2576: (t) => { + 'use strict' + t.exports = { + '+': 'add', + '-': 'sub', + '*': 'mul', + '/': 'div', + '^': 'pow', + '%': 'mod', + '!': 'factorial', + '|': 'bitwiseOR', + '^|': 'bitwiseXOR', + '&': 'bitwiseAND', + '||': 'logicalOR', + xor: 'logicalXOR', + '&&': 'logicalAND', + '<': 'lessThan', + '>': 'greaterThan', + '<=': 'lessEqualThan', + '>=': 'greaterEqualThan', + '===': 'strictlyEqual', + '==': 'equal', + '!==': 'strictlyNotEqual', + '!=': 'notEqual', + '>>': 'shiftRight', + '<<': 'shiftLeft', + '>>>': 'unsignedRightShift' + } + }, + 6104: (t) => { + 'use strict' + t.exports = { '+': 'positive', '-': 'negative', '~': 'oneComplement' } + }, + 5476: (t) => { + 'use strict' + t.exports = function (t) { + const n = this + let e = [] + this.rawify(this.options.rawArrayExpressionElements, function () { + e = t.nodes.map(function (t) { + return n.next(t) + }) + }) + const r = '[' + e.join(',') + ']' + return this.options.raw ? r : this.options.factory + '(' + r + ')' + } + }, + 6408: (t) => { + 'use strict' + t.exports = function (t) { + return 'scope[' + JSON.stringify(t.name) + '] = ' + this.next(t.expr) + } + }, + 9907: (t) => { + 'use strict' + t.exports = function (t) { + return ( + '(!!(' + + this.next(t.condition) + + ') ? (' + + this.next(t.trueExpr) + + ') : (' + + this.next(t.falseExpr) + + ') )' + ) + } + }, + 2341: (t) => { + 'use strict' + t.exports = function (t) { + if (this.options.raw) return t.value + const n = 'string' === t.valueType ? JSON.stringify(t.value) : t.value + return this.options.factory + '(' + n + ')' + } + }, + 7850: (t, n, e) => { + 'use strict' + const r = e(9213).nodeTypes.SymbolNode, + i = function (t) { + return '$$mathCodegen.functionProxy(' + this.next(new r(t.name)) + ', ' + JSON.stringify(t.name) + ')' + } + ;(t.exports = function (t) { + const n = this, + e = i.call(this, t) + let r = [] + return ( + this.rawify(this.options.rawCallExpressionElements, function () { + r = t.args.map(function (t) { + return n.next(t) + }) + }), + e + '(' + r.join(', ') + ')' + ) + }), + (t.exports.functionProxy = i) + }, + 305: (t, n, e) => { + 'use strict' + const r = e(2576) + t.exports = function (t) { + if (this.options.raw) return ['(' + this.next(t.args[0]), t.op, this.next(t.args[1]) + ')'].join(' ') + const n = r[t.op] + if (!n) throw TypeError('unidentified operator') + return this.FunctionNode({ name: n, args: t.args }) + } + }, + 6656: (t) => { + 'use strict' + t.exports = function (t) { + const n = t.name + return '$$mathCodegen.getProperty(' + JSON.stringify(n) + ', scope, ns)' + } + }, + 2386: (t, n, e) => { + 'use strict' + const r = e(6104) + t.exports = function (t) { + if (this.options.raw) return t.op + this.next(t.argument) + if (!(t.op in r)) throw new SyntaxError(t.op + ' not implemented') + const n = r[t.op] + return this.FunctionNode({ name: n, args: [t.argument] }) + } + }, + 9213: (t, n, e) => { + 'use strict' + e(1668), (t.exports.Parser = e(5438)), (t.exports.nodeTypes = e(3450)) + }, + 1668: (t, n, e) => { + var r = e(5054), + i = { n: '\n', f: '\f', r: '\r', t: '\t', v: '\v', "'": "'", '"': '"' }, + o = { + ',': !0, + '(': !0, + ')': !0, + '[': !0, + ']': !0, + ';': !0, + '~': !0, + '!': !0, + '+': !0, + '-': !0, + '*': !0, + '/': !0, + '%': !0, + '^': !0, + '**': !0, + '|': !0, + '&': !0, + '^|': !0, + '=': !0, + ':': !0, + '?': !0, + '||': !0, + '&&': !0, + xor: !0, + '==': !0, + '!=': !0, + '===': !0, + '!==': !0, + '<': !0, + '>': !0, + '>=': !0, + '<=': !0, + '>>>': !0, + '<<': !0, + '>>': !0 + } + function s(t) { + return t >= '0' && t <= '9' + } + function a(t) { + return (t >= 'a' && t <= 'z') || (t >= 'A' && t <= 'Z') || '$' === t || '_' === t + } + function u(t) { + return ' ' === t || '\r' === t || '\t' === t || '\n' === t || '\v' === t || ' ' === t + } + function c(t) { + return o[t] + } + function l(t) { + return "'" === t || '"' === t + } + function h() {} + ;(h.prototype.throwError = function (t, n) { + n = void 0 === n ? this.index : n + var e = new Error(t + ' at index ' + n) + throw ((e.index = n), (e.description = t), e) + }), + (h.prototype.lex = function (t) { + for (this.text = t, this.index = 0, this.tokens = []; this.index < this.text.length; ) { + for (; u(this.peek()); ) this.consume() + var n = this.peek(), + e = n + this.peek(1), + i = e + this.peek(2) + c(i) + ? (this.tokens.push({ type: r.DELIMITER, value: i }), this.consume(), this.consume(), this.consume()) + : c(e) + ? (this.tokens.push({ type: r.DELIMITER, value: e }), this.consume(), this.consume()) + : c(n) + ? (this.tokens.push({ type: r.DELIMITER, value: n }), this.consume()) + : s(n) || ('.' === n && s(this.peek(1))) + ? this.tokens.push({ type: r.NUMBER, value: this.readNumber() }) + : l(n) + ? this.tokens.push({ type: r.STRING, value: this.readString() }) + : a(n) + ? this.tokens.push({ type: r.SYMBOL, value: this.readIdentifier() }) + : this.throwError('unexpected character ' + n) + } + return this.tokens.push({ type: r.EOF }), this.tokens + }), + (h.prototype.peek = function (t) { + if (((t = t || 0), !(this.index + t >= this.text.length))) return this.text.charAt(this.index + t) + }), + (h.prototype.consume = function () { + var t = this.peek() + return (this.index += 1), t + }), + (h.prototype.readNumber = function () { + var t = '' + if ('.' === this.peek()) (t += this.consume()), s(this.peek()) || this.throwError('number expected') + else { + for (; s(this.peek()); ) t += this.consume() + '.' === this.peek() && (t += this.consume()) + } + for (; s(this.peek()); ) t += this.consume() + if ('e' === this.peek() || 'E' === this.peek()) + for ( + t += this.consume(), + s(this.peek()) || '+' === this.peek() || '-' === this.peek() || this.throwError(), + ('+' !== this.peek() && '-' !== this.peek()) || (t += this.consume()), + s(this.peek()) || this.throwError('number expected'); + s(this.peek()); + + ) + t += this.consume() + return t + }), + (h.prototype.readIdentifier = function () { + for (var t = ''; a(this.peek()) || s(this.peek()); ) t += this.consume() + return t + }), + (h.prototype.readString = function () { + for (var t, n = this.consume(), e = ''; ; ) { + var r = this.consume() + if ((r || this.throwError('string is not closed'), t)) { + if ('u' === r) { + var o = this.text.substring(this.index + 1, this.index + 5) + o.match(/[\da-f]{4}/i) || this.throwError('invalid unicode escape'), + (this.index += 4), + (e += String.fromCharCode(parseInt(o, 16))) + } else { + e += i[r] || r + } + t = !1 + } else { + if (r === n) break + '\\' === r ? (t = !0) : (e += r) + } + } + return e + }), + (t.exports = h) + }, + 5438: (t, n, e) => { + var r = e(5054), + i = e(1668), + o = e(6311), + s = e(6565), + a = e(5543), + u = e(2514), + c = e(8935), + l = e(3862), + h = e(9322), + f = e(3262), + p = e(2962) + function d() { + ;(this.lexer = new i()), (this.tokens = null) + } + ;(d.prototype.current = function () { + return this.tokens[0] + }), + (d.prototype.next = function () { + return this.tokens[1] + }), + (d.prototype.peek = function () { + if (this.tokens.length) + for (var t = this.tokens[0], n = 0; n < arguments.length; n += 1) + if (t.value === arguments[n]) return !0 + }), + (d.prototype.consume = function (t) { + return this.tokens.shift() + }), + (d.prototype.expect = function (t) { + if (!this.peek(t)) throw Error('expected ' + t) + return this.consume() + }), + (d.prototype.isEOF = function () { + return this.current().type === r.EOF + }), + (d.prototype.parse = function (t) { + return (this.tokens = this.lexer.lex(t)), this.program() + }), + (d.prototype.program = function () { + for (var t = []; !this.isEOF(); ) t.push(this.assignment()), this.peek(';') && this.consume() + return this.end(), new p(t) + }), + (d.prototype.assignment = function () { + var t = this.ternary() + return t instanceof u && this.peek('=') ? (this.consume(), new f(t.name, this.assignment())) : t + }), + (d.prototype.ternary = function () { + var t = this.logicalOR() + if (this.peek('?')) { + this.consume() + var n = this.ternary() + this.expect(':') + var e = this.ternary() + return new h(t, n, e) + } + return t + }), + (d.prototype.logicalOR = function () { + var t = this.logicalXOR() + if (this.peek('||')) { + var n = this.consume(), + e = this.logicalOR() + return new s(n.value, [t, e]) + } + return t + }), + (d.prototype.logicalXOR = function () { + var t = this.logicalAND() + if ('xor' === this.current().value) { + var n = this.consume(), + e = this.logicalXOR() + return new s(n.value, [t, e]) + } + return t + }), + (d.prototype.logicalAND = function () { + var t = this.bitwiseOR() + if (this.peek('&&')) { + var n = this.consume(), + e = this.logicalAND() + return new s(n.value, [t, e]) + } + return t + }), + (d.prototype.bitwiseOR = function () { + var t = this.bitwiseXOR() + if (this.peek('|')) { + var n = this.consume(), + e = this.bitwiseOR() + return new s(n.value, [t, e]) + } + return t + }), + (d.prototype.bitwiseXOR = function () { + var t = this.bitwiseAND() + if (this.peek('^|')) { + var n = this.consume(), + e = this.bitwiseXOR() + return new s(n.value, [t, e]) + } + return t + }), + (d.prototype.bitwiseAND = function () { + var t = this.relational() + if (this.peek('&')) { + var n = this.consume(), + e = this.bitwiseAND() + return new s(n.value, [t, e]) + } + return t + }), + (d.prototype.relational = function () { + var t = this.shift() + if (this.peek('==', '===', '!=', '!==', '>=', '<=', '>', '<')) { + var n = this.consume(), + e = this.shift() + return new s(n.value, [t, e]) + } + return t + }), + (d.prototype.shift = function () { + var t = this.additive() + if (this.peek('>>', '<<', '>>>')) { + var n = this.consume(), + e = this.shift() + return new s(n.value, [t, e]) + } + return t + }), + (d.prototype.additive = function () { + for (var t = this.multiplicative(); this.peek('+', '-'); ) { + var n = this.consume() + t = new s(n.value, [t, this.multiplicative()]) + } + return t + }), + (d.prototype.multiplicative = function () { + for (var t, n, e = this.unary(); this.peek('*', '/', '%'); ) + (t = this.consume()), (e = new s(t.value, [e, this.unary()])) + return this.current().type === r.SYMBOL || + this.peek('(') || + (!(e.type instanceof o) && this.current().type === r.NUMBER) + ? ((n = this.multiplicative()), new s('*', [e, n])) + : e + }), + (d.prototype.unary = function () { + if (this.peek('-', '+', '~')) { + var t = this.consume(), + n = this.unary() + return new a(t.value, n) + } + return this.pow() + }), + (d.prototype.pow = function () { + var t = this.factorial() + if (this.peek('^', '**')) { + var n = this.consume(), + e = this.unary() + return new s(n.value, [t, e]) + } + return t + }), + (d.prototype.factorial = function () { + var t = this.symbol() + if (this.peek('!')) { + var n = this.consume() + return new s(n.value, [t]) + } + return t + }), + (d.prototype.symbol = function () { + if (this.current().type === r.SYMBOL) { + var t = this.consume() + return this.functionCall(t) + } + return this.string() + }), + (d.prototype.functionCall = function (t) { + var n = t.value + if (this.peek('(')) { + this.consume() + for (var e = []; !this.peek(')') && !this.isEOF(); ) + e.push(this.assignment()), this.peek(',') && this.consume() + return this.expect(')'), new c(n, e) + } + return new u(n) + }), + (d.prototype.string = function () { + return this.current().type === r.STRING ? new o(this.consume().value, 'string') : this.array() + }), + (d.prototype.array = function () { + if (this.peek('[')) { + this.consume() + for (var t = []; !this.peek(']') && !this.isEOF(); ) + t.push(this.assignment()), this.peek(',') && this.consume() + return this.expect(']'), new l(t) + } + return this.number() + }), + (d.prototype.number = function () { + return this.current().type === r.NUMBER ? new o(this.consume().value, 'number') : this.parentheses() + }), + (d.prototype.parentheses = function () { + if ('(' === this.current().value) { + this.consume() + var t = this.assignment() + return this.expect(')'), t + } + return this.end() + }), + (d.prototype.end = function () { + if (this.current().type !== r.EOF) throw Error('unexpected end of expression') + }), + (t.exports = d) + }, + 3862: (t, n, e) => { + var r = e(7111) + function i(t) { + this.nodes = t + } + ;(i.prototype = Object.create(r.prototype)), (i.prototype.type = 'ArrayNode'), (t.exports = i) + }, + 3262: (t, n, e) => { + var r = e(7111) + function i(t, n) { + ;(this.name = t), (this.expr = n) + } + ;(i.prototype = Object.create(r.prototype)), (i.prototype.type = 'AssignmentNode'), (t.exports = i) + }, + 2962: (t, n, e) => { + var r = e(7111) + function i(t) { + this.blocks = t + } + ;(i.prototype = Object.create(r.prototype)), (i.prototype.type = 'BlockNode'), (t.exports = i) + }, + 9322: (t, n, e) => { + var r = e(7111) + function i(t, n, e) { + ;(this.condition = t), (this.trueExpr = n), (this.falseExpr = e) + } + ;(i.prototype = Object.create(r.prototype)), (i.prototype.type = 'ConditionalNode'), (t.exports = i) + }, + 6311: (t, n, e) => { + var r = e(7111), + i = { number: !0, string: !0, boolean: !0, undefined: !0, null: !0 } + function o(t, n) { + if (!i[n]) throw Error("unsupported type '" + n + "'") + ;(this.value = t), (this.valueType = n) + } + ;(o.prototype = Object.create(r.prototype)), (o.prototype.type = 'ConstantNode'), (t.exports = o) + }, + 8935: (t, n, e) => { + var r = e(7111) + function i(t, n) { + ;(this.name = t), (this.args = n) + } + ;(i.prototype = Object.create(r.prototype)), (i.prototype.type = 'FunctionNode'), (t.exports = i) + }, + 7111: (t) => { + function n() {} + ;(n.prototype.type = 'Node'), (t.exports = n) + }, + 6565: (t, n, e) => { + var r = e(7111) + function i(t, n) { + ;(this.op = t), (this.args = n || []) + } + ;(i.prototype = Object.create(r.prototype)), (i.prototype.type = 'OperatorNode'), (t.exports = i) + }, + 2514: (t, n, e) => { + var r = e(7111) + function i(t) { + this.name = t + } + ;(i.prototype = Object.create(r.prototype)), (i.prototype.type = 'SymbolNode'), (t.exports = i) + }, + 5543: (t, n, e) => { + var r = e(7111) + function i(t, n) { + ;(this.op = t), (this.argument = n) + } + ;(i.prototype = Object.create(r.prototype)), (i.prototype.type = 'UnaryNode'), (t.exports = i) + }, + 3450: (t, n, e) => { + t.exports = { + ArrayNode: e(3862), + AssignmentNode: e(3262), + BlockNode: e(2962), + ConditionalNode: e(9322), + ConstantNode: e(6311), + FunctionNode: e(8935), + Node: e(7111), + OperatorNode: e(6565), + SymbolNode: e(2514), + UnaryNode: e(5543) + } + }, + 5054: (t) => { + t.exports = { EOF: 0, DELIMITER: 1, NUMBER: 2, STRING: 3, SYMBOL: 4 } + }, + 3093: (t, n, e) => { + 'use strict' + var r = e(4822), + i = Math.pow(2, -1074), + o = -1 >>> 0 + t.exports = function (t, n) { + if (isNaN(t) || isNaN(n)) return NaN + if (t === n) return t + if (0 === t) return n < 0 ? -i : i + var e = r.hi(t), + s = r.lo(t) + return ( + n > t == t > 0 ? (s === o ? ((e += 1), (s = 0)) : (s += 1)) : 0 === s ? ((s = o), (e -= 1)) : (s -= 1), + r.pack(s, e) + ) + } + }, + 405: function (t, n, e) { + 'use strict' + var r = + (this && this.__importDefault) || + function (t) { + return t && t.__esModule ? t : { default: t } + } + Object.defineProperty(n, '__esModule', { value: !0 }), (n.Chart = void 0) + const i = e(6660), + o = e(103), + s = e(8066), + a = e(8873), + u = e(9065), + c = e(3905), + l = e(9928), + h = r(e(7187)), + f = r(e(3559)), + p = r(e(953)), + d = r(e(9489)), + y = r(e(917)), + _ = r(e(5888)) + function m(t) { + return 'linear' === t ? s.scaleLinear : s.scaleLog + } + class g extends h.default.EventEmitter { + constructor(t) { + super() + const n = Math.random(), + e = String.fromCharCode(Math.floor(26 * n) + 97) + ;(this.options = t), + (this.id = e + n.toString(16).substr(2)), + (this.options.id = this.id), + (this.markerId = this.id + '-marker'), + (g.cache[this.id] = this), + (this.linkedGraphs = [this]), + (this.meta = {}), + this.setUpEventListeners() + } + build() { + return this.internalVars(), this.drawGraphWrapper(), this + } + getDraggableNode() { + return (0, c.select)(this.options.target).select('.zoom-and-drag').node() + } + getEmitInstance() { + let t = this + const n = this.getDraggableNode() + return n && (t = n.instance), t + } + internalVars() { + const t = (this.meta.margin = { left: 40, right: 20, top: 20, bottom: 20 }) + this.options.title && (this.meta.margin.top = 40), + (this.meta.width = (this.options.width || _.default.DEFAULT_WIDTH) - t.left - t.right), + (this.meta.height = (this.options.height || _.default.DEFAULT_HEIGHT) - t.top - t.bottom), + this.initializeAxes() + } + initializeAxes() { + const t = this, + n = (0, o.format)('~s') + function e(t) { + return Math.abs(t) - Math.floor(Math.abs(t)) > 0 ? t.toString() : n(t) + } + ;(this.options.xAxis = this.options.xAxis || {}), + (this.options.xAxis.type = this.options.xAxis.type || 'linear'), + (this.options.yAxis = this.options.yAxis || {}), + (this.options.yAxis.type = this.options.yAxis.type || 'linear') + const r = (this.meta.xDomain = (function (t) { + if (t.domain) return t.domain + if ('linear' === t.type) { + const t = 12 + return [-t / 2, t / 2] + } + if ('log' === t.type) return [1, 10] + throw Error('axis type ' + t.type + ' unsupported') + })(this.options.xAxis)), + s = (this.meta.yDomain = (function (n) { + if (n.domain) return n.domain + const e = (function (n) { + const e = n[1] - n[0] + return (t.meta.height * e) / t.meta.width + })(r) + if ('linear' === n.type) return [-e / 2, e / 2] + if ('log' === n.type) return [1, 10] + throw Error('axis type ' + n.type + ' unsupported') + })(this.options.yAxis)) + this.meta.xScale || (this.meta.xScale = m(this.options.xAxis.type)()), + this.meta.xScale + .domain(r) + .range(this.options.xAxis.invert ? [this.meta.width, 0] : [0, this.meta.width]), + this.meta.yScale || (this.meta.yScale = m(this.options.yAxis.type)()), + this.meta.yScale + .domain(s) + .range(this.options.yAxis.invert ? [0, this.meta.height] : [this.meta.height, 0]), + this.meta.xAxis || (this.meta.xAxis = (0, a.axisBottom)(this.meta.xScale)), + this.meta.xAxis.tickSize(this.options.grid ? -this.meta.height : 0).tickFormat(e), + this.meta.yAxis || (this.meta.yAxis = (0, a.axisLeft)(this.meta.yScale)), + this.meta.yAxis.tickSize(this.options.grid ? -this.meta.width : 0).tickFormat(e), + (this.line = (0, i.line)() + .x(function (n) { + return t.meta.xScale(n[0]) + }) + .y(function (n) { + return t.meta.yScale(n[1]) + })) + } + drawGraphWrapper() { + const t = (this.root = (0, c.select)(this.options.target).selectAll('svg').data([this.options])) + ;(this.root.enter = t + .enter() + .append('svg') + .attr('class', 'function-plot') + .attr('font-size', this.getFontSize())), + t + .merge(this.root.enter) + .attr('width', this.meta.width + this.meta.margin.left + this.meta.margin.right) + .attr('height', this.meta.height + this.meta.margin.top + this.meta.margin.bottom), + this.buildTitle(), + this.buildLegend(), + this.buildCanvas(), + this.buildClip(), + this.buildAxis(), + this.buildAxisLabel() + const n = (this.tip = (0, p.default)(Object.assign(this.options.tip || {}, { owner: this }))) + this.canvas.merge(this.canvas.enter).call(n), this.setUpPlugins(), this.draw(), this.buildZoomHelper() + } + buildTitle() { + const t = this.root + .merge(this.root.enter) + .selectAll('text.title') + .data(function (t) { + return [t.title].filter(Boolean) + }) + t + .enter() + .append('text') + .merge(t) + .attr('class', 'title') + .attr('y', this.meta.margin.top / 2) + .attr('x', this.meta.margin.left + this.meta.width / 2) + .attr('font-size', 25) + .attr('text-anchor', 'middle') + .attr('alignment-baseline', 'middle') + .text(this.options.title), + t.exit().remove() + } + buildLegend() { + this.root.enter.append('text').attr('class', 'top-right-legend').attr('text-anchor', 'end'), + this.root + .merge(this.root.enter) + .select('.top-right-legend') + .attr('y', this.meta.margin.top / 2) + .attr('x', this.meta.width + this.meta.margin.left) + } + buildCanvas() { + const t = (this.canvas = this.root + .merge(this.root.enter) + .selectAll('.canvas') + .data(function (t) { + return [t] + })) + this.canvas.enter = t.enter().append('g').attr('class', 'canvas') + } + buildClip() { + const t = this.id, + n = this.canvas.enter.append('defs') + n + .append('clipPath') + .attr('id', 'function-plot-clip-' + t) + .append('rect') + .attr('class', 'clip static-clip'), + this.canvas + .merge(this.canvas.enter) + .selectAll('.clip') + .attr('width', this.meta.width) + .attr('height', this.meta.height), + n + .append('clipPath') + .append('marker') + .attr('id', this.markerId) + .attr('viewBox', '0 -5 10 10') + .attr('refX', 10) + .attr('markerWidth', 5) + .attr('markerHeight', 5) + .attr('orient', 'auto') + .append('svg:path') + .attr('d', 'M0,-5L10,0L0,5L0,0') + .attr('stroke-width', '0px') + .attr('fill-opacity', 1) + .attr('fill', '#777') + } + buildAxis() { + const t = this.canvas.enter + t.append('g').attr('class', 'x axis'), + t.append('g').attr('class', 'y axis'), + this.canvas + .merge(this.canvas.enter) + .select('.x.axis') + .attr('transform', 'translate(0,' + this.meta.height + ')') + .call(this.meta.xAxis), + this.canvas.merge(this.canvas.enter).select('.y.axis').call(this.meta.yAxis) + } + buildAxisLabel() { + const t = this.canvas, + n = t + .merge(t.enter) + .selectAll('text.x.axis-label') + .data(function (t) { + return [t.xAxis.label].filter(Boolean) + }), + e = n.enter().append('text').attr('class', 'x axis-label').attr('text-anchor', 'end') + n + .merge(e) + .attr('x', this.meta.width) + .attr('y', this.meta.height - 6) + .text(function (t) { + return t + }), + n.exit().remove() + const r = t + .merge(t.enter) + .selectAll('text.y.axis-label') + .data(function (t) { + return [t.yAxis.label].filter(Boolean) + }), + i = r + .enter() + .append('text') + .attr('class', 'y axis-label') + .attr('y', 6) + .attr('dy', '.75em') + .attr('text-anchor', 'end') + .attr('transform', 'rotate(-90)') + r.merge(i).text(function (t) { + return t + }), + r.exit().remove() + } + buildContent() { + const t = this, + n = this.canvas + n.merge(n.enter).attr( + 'transform', + 'translate(' + this.meta.margin.left + ',' + this.meta.margin.top + ')' + ) + const e = (this.content = n + .merge(n.enter) + .selectAll(':scope > g.content') + .data(function (t) { + return [t] + })), + r = e + .enter() + .append('g') + .attr('clip-path', 'url(#function-plot-clip-' + this.id + ')') + .attr('class', 'content') + if ('linear' === this.options.xAxis.type) { + const t = e + .merge(r) + .selectAll(':scope > path.y.origin') + .data([ + [ + [0, this.meta.yScale.domain()[0]], + [0, this.meta.yScale.domain()[1]] + ] + ]), + n = t.enter().append('path').attr('class', 'y origin').attr('stroke', 'black').attr('opacity', 0.2) + t.merge(n).attr('d', this.line) + } + if ('linear' === this.options.yAxis.type) { + const t = e + .merge(r) + .selectAll(':scope > path.x.origin') + .data([ + [ + [this.meta.xScale.domain()[0], 0], + [this.meta.xScale.domain()[1], 0] + ] + ]), + n = t.enter().append('path').attr('class', 'x origin').attr('stroke', 'black').attr('opacity', 0.2) + t.merge(n).attr('d', this.line) + } + e.merge(r).call((0, f.default)({ owner: t })) + const i = e + .merge(r) + .selectAll(':scope > g.graph') + .data( + (t) => t.data.map(y.default), + (t) => t.fn || t.r || t.x || t.text + ) + i.exit().remove() + const o = i.enter().append('g').attr('class', 'graph') + i.merge(o).each(function (n, e) { + n.index = e + const r = (0, c.select)(this) + r.call(_.default.graphTypes[n.graphType](t)), r.call((0, d.default)(t)) + }) + } + buildZoomHelper() { + const t = this + this.meta.zoomBehavior || + ((this.meta.zoomBehavior = (0, u.zoom)().on('zoom', function (n) { + t.getEmitInstance().emit('all:zoom', n) + })), + (t.meta.zoomBehavior.xScale = t.meta.xScale.copy()), + (t.meta.zoomBehavior.yScale = t.meta.yScale.copy())), + t.meta.zoomBehavior.xScale.range(t.meta.xScale.range()), + t.meta.zoomBehavior.yScale.range(t.meta.yScale.range()), + this.canvas.enter + .append('rect') + .call(this.meta.zoomBehavior) + .attr('class', 'zoom-and-drag') + .style('fill', 'none') + .style('pointer-events', 'all') + .on('mouseover', function (n) { + t.getEmitInstance().emit('all:mouseover', n) + }) + .on('mouseout', function (n) { + t.getEmitInstance().emit('all:mouseout', n) + }) + .on('mousemove', function (n) { + t.getEmitInstance().emit('all:mousemove', n) + }), + (this.draggable = this.canvas + .merge(this.canvas.enter) + .select('.zoom-and-drag') + .call((n) => { + n.node() && (n.node().instance = t) + }) + .attr('width', this.meta.width) + .attr('height', this.meta.height)) + } + setUpPlugins() { + const t = this.options.plugins || [], + n = this + t.forEach(function (t) { + t(n) + }) + } + addLink() { + for (let t = 0; t < arguments.length; t += 1) this.linkedGraphs.push(arguments[t]) + } + updateAxes() { + const t = this, + n = t.canvas.merge(t.canvas.enter) + if ((n.select('.x.axis').call(t.meta.xAxis), 'sticky' === this.options.xAxis.position)) { + const t = this.meta.yScale.domain()[0], + e = this.meta.yScale.domain()[1], + r = (e + t) / 2 + let i = (this.meta.height / (e - t)) * r + this.meta.height / 2 + ;(i = i < 0 ? 0 : i), + (i = i > this.meta.height ? this.meta.height : i), + n.select('.x.axis').attr('transform', 'translate(0,' + i + ')'), + n + .selectAll('.x.axis path, .x.axis line') + .attr('transform', 'translate(0,' + (this.meta.height / 2 - i + this.meta.height / 2) + ')') + } + if ((n.select('.y.axis').call(t.meta.yAxis), 'sticky' === this.options.yAxis.position)) { + const t = this.meta.xScale.domain()[0], + e = this.meta.xScale.domain()[1], + r = (e + t) / 2 + let i = (this.meta.width / (t - e)) * r + this.meta.width / 2 + ;(i = i < 0 ? 0 : i), + (i = i > this.meta.width ? this.meta.width : i), + n.select('.y.axis').attr('transform', 'translate(' + i + ',0)'), + n.selectAll('.y.axis path, .y.axis line').attr('transform', 'translate(' + -i + ',0)') + } + n.selectAll('.axis path, .axis line') + .attr('fill', 'none') + .attr('stroke', 'black') + .attr('shape-rendering', 'crispedges') + .attr('opacity', 0.1) + } + syncOptions() { + ;(this.options.xAxis.domain = this.meta.xScale.domain()), + (this.options.yAxis.domain = this.meta.yScale.domain()) + } + getFontSize() { + return Math.max(Math.max(this.meta.width, this.meta.height) / 50, 8) + } + draw() { + const t = this + t.emit('before:draw'), t.syncOptions(), t.updateAxes(), t.buildContent(), t.emit('after:draw') + } + setUpEventListeners() { + const t = this, + n = this.getEmitInstance() + n && n.removeAllListeners() + const e = { + mousemove: function (n) { + t.tip.move(n) + }, + mouseover: function () { + t.tip.show() + }, + mouseout: function () { + t.tip.hide() + }, + zoom: function ({ transform: n }) { + if (t.options.disableZoom) return + const e = n.rescaleX(t.meta.zoomBehavior.xScale).interpolate(l.interpolateRound), + r = n.rescaleY(t.meta.zoomBehavior.yScale).interpolate(l.interpolateRound) + t.meta.xScale.domain(e.domain()).range(e.range()), t.meta.yScale.domain(r.domain()).range(r.range()) + }, + 'tip:update': function ({ x: n, y: e, index: r }) { + const i = t.root.merge(t.root.enter).datum().data[r], + o = i.title || '', + s = + i.renderer || + function (t, n) { + return t.toFixed(3) + ', ' + n.toFixed(3) + }, + a = [] + o && a.push(o), + a.push(s(n, e)), + t.root.select('.top-right-legend').attr('fill', _.default.COLORS[r]).text(a.join(' ')) + } + }, + r = { + mousemove: function (n) { + const e = (0, c.pointer)(n, t.draggable.node()), + r = { x: t.meta.xScale.invert(e[0]), y: t.meta.yScale.invert(e[1]) } + t.linkedGraphs.forEach(function (t) { + t.emit('before:mousemove', r), t.emit('mousemove', r) + }) + }, + zoom: function (n) { + t.linkedGraphs.forEach(function (e) { + ;(e.draggable.node().__zoom = t.draggable.node().__zoom), e.emit('zoom', n), e.draw() + }), + t.emit('all:mousemove', n) + } + } + Object.keys(e).forEach(function (n) { + !r[n] && + t.on('all:' + n, function () { + const e = Array.prototype.slice.call(arguments) + t.linkedGraphs.forEach(function (t) { + const r = e.slice() + r.unshift(n), t.emit.apply(t, r) + }) + }), + t.on(n, e[n]) + }), + Object.keys(r).forEach(function (n) { + t.on('all:' + n, r[n]) + }) + } + } + ;(n.Chart = g), (g.cache = {}) + }, + 917: (t, n) => { + 'use strict' + Object.defineProperty(n, '__esModule', { value: !0 }), + (n.default = function (t) { + return ( + 'graphType' in t || (t.graphType = 'interval'), + 'sampler' in t || (t.sampler = 'interval' !== t.graphType ? 'builtIn' : 'interval'), + 'fnType' in t || (t.fnType = 'linear'), + t + ) + }) + }, + 6025: function (t, n, e) { + 'use strict' + var r = + (this && this.__importDefault) || + function (t) { + return t && t.__esModule ? t : { default: t } + } + Object.defineProperty(n, '__esModule', { value: !0 }) + const i = r(e(5888)), + o = r(e(8458)), + s = r(e(7777)) + n.default = function (t, n) { + const e = (function (t, n) { + const e = n.range || [-1 / 0, 1 / 0] + return [Math.max(t.domain()[0], e[0]), Math.min(t.domain()[1], e[1])] + })(t.meta.xScale, n) + let r + if ('builtIn' === n.sampler) r = s.default + else { + if ('interval' !== n.sampler) throw new Error(`Invalid sampler function ${n.sampler}`) + r = o.default + } + const a = + n.nSamples || Math.min(i.default.MAX_ITERATIONS, i.default.DEFAULT_ITERATIONS || 2 * t.meta.width), + u = r({ + d: n, + range: e, + xScale: t.meta.xScale, + yScale: t.meta.yScale, + xAxis: t.options.xAxis, + yAxis: t.options.yAxis, + nSamples: a + }) + return t.emit('eval', u, n.index, n.isHelper), u + } + }, + 5888: (t, n, e) => { + 'use strict' + Object.defineProperty(n, '__esModule', { value: !0 }), (n.registerGraphType = void 0) + const r = e(6618), + i = { + COLORS: ['steelblue', 'red', '#05b378', 'orange', '#4040e8', 'yellow', 'brown', 'magenta', 'cyan'].map( + function (t) { + return (0, r.hsl)(t) + } + ), + DEFAULT_WIDTH: 550, + DEFAULT_HEIGHT: 350, + DEFAULT_ITERATIONS: null, + TIP_X_EPS: 1, + MAX_ITERATIONS: 0, + graphTypes: {} + } + ;(i.MAX_ITERATIONS = 10 * i.DEFAULT_WIDTH), + (n.registerGraphType = function (t, n) { + if (Object.hasOwn(i.graphTypes, t)) + throw new Error(`registerGraphType: graphType ${t} is already registered.`) + i.graphTypes[t] = n + }), + (n.default = i) + }, + 3321: function (t, n, e) { + 'use strict' + var r = + (this && this.__importDefault) || + function (t) { + return t && t.__esModule ? t : { default: t } + } + Object.defineProperty(n, '__esModule', { value: !0 }), (n.text = n.scatter = n.interval = n.polyline = void 0) + const i = r(e(2210)) + n.polyline = i.default + const o = r(e(2266)) + n.interval = o.default + const s = r(e(648)) + n.scatter = s.default + const a = r(e(8607)) + n.text = a.default + }, + 2266: function (t, n, e) { + 'use strict' + var r = + (this && this.__importDefault) || + function (t) { + return t && t.__esModule ? t : { default: t } + } + Object.defineProperty(n, '__esModule', { value: !0 }) + const i = e(3905), + o = r(e(6025)), + s = r(e(8593)) + n.default = function (t) { + let n + const e = t.meta.xScale, + r = t.meta.yScale + function a(t, e, r, i) { + if (r > i) { + const t = r + ;(r = i), (i = t) + } + const o = Math.min(e, i), + s = Math.max(t, r) + return s > o ? [-n, 0] : [s, o] + } + return function u(c) { + c.each(function (c) { + const l = (u.el = (0, i.select)(this)), + h = c.index, + f = c.closed, + p = (0, o.default)(t, c), + d = l.selectAll(':scope > path.line').data(p) + n = Math.max(p[0].scaledDx, 1) + const y = `line line-${h}`, + _ = d.enter().append('path').attr('class', y).attr('fill', 'none'), + m = d + .merge(_) + .attr('stroke-width', n) + .attr('stroke', s.default.color(c, h)) + .attr('opacity', f ? 0.5 : 1) + .attr('d', function (t) { + return (function (t, i) { + let o = '' + const s = r.range(), + u = Math.min.apply(Math, s), + c = Math.max.apply(Math, s) + for (let s = 0, l = t.length; s < l; s += 1) + if (t[s]) { + const l = t[s][0], + h = t[s][1] + let f = h.lo, + p = h.hi + i && ((f = Math.min(f, 0)), (p = Math.max(p, 0))) + const d = e(l.lo) + t.scaledDx / 2, + y = a(u, c, isFinite(p) ? r(p) : -1 / 0, isFinite(f) ? r(f) : 1 / 0), + _ = y[0], + m = y[1] + ;(o += ' M ' + d + ' ' + _), (o += ' v ' + Math.max(m - _, n)) + } + return o + })(t, f) + }) + if (c.attr) + for (const t in c.attr) { + let n = c.attr[t] + 'class' === t && (n = `${y} ${c.attr[t]}`), m.attr(t, n) + } + d.exit().remove() + }) + } + } + }, + 2210: function (t, n, e) { + 'use strict' + var r = + (this && this.__importDefault) || + function (t) { + return t && t.__esModule ? t : { default: t } + } + Object.defineProperty(n, '__esModule', { value: !0 }) + const i = e(3905), + o = e(6660), + s = r(e(8593)), + a = r(e(6025)) + n.default = function (t) { + return function n(e) { + e.each(function (e) { + const r = (n.el = (0, i.select)(this)), + u = e.index, + c = (0, a.default)(t, e), + l = s.default.color(e, u), + h = r.selectAll(':scope > path.line').data(c), + f = t.meta.yScale.range() + let p = f[0], + d = f[1] + const y = p - d + function _(n) { + return s.default.clamp(t.meta.yScale(n[1]), d, p) + } + ;(p += 1e6 * y), + (d -= 1e6 * y), + e.skipBoundsCheck && ((p = s.default.infinity()), (d = -s.default.infinity())) + const m = (0, o.line)() + .curve(o.curveLinear) + .x(function (n) { + return t.meta.xScale(n[0]) + }) + .y(_), + g = (0, o.area)() + .x(function (n) { + return t.meta.xScale(n[0]) + }) + .y0(t.meta.yScale(0)) + .y1(_), + v = `line line-${u}`, + x = h.enter().append('path').attr('class', v).attr('stroke-width', 1).attr('stroke-linecap', 'round') + h.merge(x).each(function () { + const n = (0, i.select)(this) + let r + if ( + (e.closed + ? (n.attr('fill', l), n.attr('fill-opacity', 0.3), (r = g)) + : (n.attr('fill', 'none'), (r = m)), + n + .attr('stroke', l) + .attr('marker-end', function () { + return 'vector' === e.fnType ? 'url(#' + t.markerId + ')' : null + }) + .attr('d', r), + e.attr) + ) + for (const t in e.attr) { + let r = e.attr[t] + 'class' === t && (r = `${v} ${e.attr[t]}`), n.attr(t, r) + } + }), + h.exit().remove() + }) + } + } + }, + 648: function (t, n, e) { + 'use strict' + var r = + (this && this.__importDefault) || + function (t) { + return t && t.__esModule ? t : { default: t } + } + Object.defineProperty(n, '__esModule', { value: !0 }) + const i = e(3905), + o = e(6618), + s = r(e(8593)), + a = r(e(6025)) + n.default = function (t) { + const n = t.meta.xScale, + e = t.meta.yScale + return function (r) { + r.each(function (r) { + let u, c + const l = r.index, + h = s.default.color(r, l), + f = (0, a.default)(t, r), + p = [] + for (u = 0; u < f.length; u += 1) for (c = 0; c < f[u].length; c += 1) p.push(f[u][c]) + const d = (0, i.select)(this).selectAll(':scope > circle.scatter').data(p), + y = `scatter scatter-${l}`, + _ = d.enter().append('circle').attr('class', y), + m = d + .merge(_) + .attr('fill', (0, o.hsl)(h.toString()).brighter(1.5).formatHex()) + .attr('stroke', h) + .attr('opacity', 0.7) + .attr('r', 1) + .attr('cx', function (t) { + return n(t[0]) + }) + .attr('cy', function (t) { + return e(t[1]) + }) + if (r.attr) + for (const t in r.attr) { + let n = r.attr[t] + 'class' === t && (n = `${y} ${r.attr[t]}`), m.attr(t, n) + } + d.exit().remove() + }) + } + } + }, + 8607: function (t, n, e) { + 'use strict' + var r = + (this && this.__importDefault) || + function (t) { + return t && t.__esModule ? t : { default: t } + } + Object.defineProperty(n, '__esModule', { value: !0 }) + const i = e(3905), + o = e(6618), + s = r(e(8593)) + n.default = function (t) { + const n = t.meta.xScale, + e = t.meta.yScale + return function (t) { + t.each(function (t) { + ;(t.sampler = 'builtIn'), (t.fnType = 'vector') + const r = (0, i.select)(this).selectAll(':scope > text.fn-text').data([t.location]), + a = r.enter().append('text').attr('class', `fn-text fn-text-${t.index}`), + u = s.default.color(t, t.index), + c = r + .merge(a) + .attr('fill', (0, o.hsl)(u.toString()).brighter(1.5).formatHex()) + .attr('x', (t) => n(t[0])) + .attr('y', (t) => e(t[1])) + .text(() => t.text) + if (t.attr) for (const n in t.attr) c.attr(n, t.attr[n]) + r.exit().remove() + }) + } + } + }, + 3559: (t, n, e) => { + 'use strict' + Object.defineProperty(n, '__esModule', { value: !0 }) + const r = e(6660), + i = e(3905) + n.default = function (t) { + const n = t.owner.meta.xScale, + e = t.owner.meta.yScale, + o = (0, r.line)() + .x(function (t) { + return t[0] + }) + .y(function (t) { + return t[1] + }) + return function (t) { + t.each(function () { + const t = (0, i.select)(this) + .selectAll('g.annotations') + .data(function (t) { + return t.annotations || [] + }), + r = t.enter().append('g').attr('class', 'annotations'), + s = e.range(), + a = n.range(), + u = t + .merge(r) + .selectAll('path') + .data(function (t) { + return 'x' in t + ? [ + [ + [0, s[0]], + [0, s[1]] + ] + ] + : [ + [ + [a[0], 0], + [a[1], 0] + ] + ] + }), + c = u.enter().append('path') + u.merge(c).attr('stroke', '#eee').attr('d', o), u.exit().remove() + const l = t + .merge(r) + .selectAll('text') + .data(function (t) { + return [{ text: t.text || '', hasX: 'x' in t }] + }), + h = l.enter().append('text') + l + .merge(h) + .text(function (t) { + return t.text + }) + .attr('y', function (t) { + return t.hasX ? 3 : 0 + }) + .attr('x', function (t) { + return t.hasX ? 0 : 3 + }) + .attr('dy', function (t) { + return t.hasX ? 5 : -5 + }) + .attr('text-anchor', function (t) { + return t.hasX ? 'end' : '' + }) + .attr('transform', function (t) { + return t.hasX ? 'rotate(-90)' : '' + }), + l.exit().remove(), + t.merge(r).attr('transform', function (t) { + return 'x' in t ? 'translate(' + n(t.x) + ', 0)' : 'translate(0, ' + e(t.y) + ')' + }), + t.exit().remove() + }) + } + } + }, + 8016: function (t, n, e) { + 'use strict' + var r = + (this && this.__importDefault) || + function (t) { + return t && t.__esModule ? t : { default: t } + } + Object.defineProperty(n, '__esModule', { value: !0 }) + const i = e(3905), + o = e(3321), + s = e(1669), + a = r(e(917)), + u = r(e(8593)) + n.default = function (t) { + const n = (0, a.default)({ + isHelper: !0, + skipTip: !0, + skipBoundsCheck: !0, + nSamples: 2, + graphType: 'polyline' + }) + function e(t) { + if (!t.derivative) return [] + const e = 'number' == typeof t.derivative.x0 ? t.derivative.x0 : u.default.infinity() + return ( + (n.index = t.index), + (n.scope = { + m: (0, s.builtIn)(t.derivative, 'fn', { x: e }), + x0: e, + y0: (0, s.builtIn)(t, 'fn', { x: e }) + }), + (n.fn = 'm * (x - x0) + y0'), + [n] + ) + } + function r(n) { + const e = this + n.derivative && + n.derivative.updateOnMouseMove && + !n.derivative.$$mouseListener && + ((n.derivative.$$mouseListener = function ({ x: t }) { + n.derivative && (n.derivative.x0 = t), c(e) + }), + t.on('tip:update', n.derivative.$$mouseListener)) + } + const c = function (n) { + n.each(function (s) { + const a = (0, i.select)(this), + u = e.call(n, s) + r.call(n, s) + const c = a.selectAll('g.derivative').data(u), + l = c.enter().append('g').attr('class', 'derivative') + c.merge(l).call((0, o.polyline)(t)), + c.merge(l).selectAll('path').attr('opacity', 0.5), + c.exit().remove() + }) + } + return c + } + }, + 1669: function (t, n, e) { + 'use strict' + var r = + (this && this.__importDefault) || + function (t) { + return t && t.__esModule ? t : { default: t } + } + Object.defineProperty(n, '__esModule', { value: !0 }), (n.interval = n.builtIn = void 0) + const i = r(e(5248)), + o = { interval: r(e(8867)).default, builtIn: i.default }, + s = + 'object' == typeof e.g && 'math' in e.g + ? e.g.math + : 'object' == typeof window && 'math' in window + ? window.math + : null + function a(t) { + return function (n, e, r) { + return ( + (function (n, e) { + const r = n[e], + i = t + '_Expression_' + e, + a = t + '_Compiled_' + e + r !== n[i] && + ((n[i] = r), + (n[a] = (function (n) { + if ('string' == typeof n) { + const e = o[t](n) + return s && 'builtIn' === t ? { eval: e.evaluate || e.eval } : e + } + if ('function' == typeof n) return { eval: n } + throw Error('expression must be a string or a function') + })(r))) + })(n, e), + (function (n, e) { + return n[t + '_Compiled_' + e] + })(n, e).eval(Object.assign({}, n.scope || {}, r)) + ) + } + } + s && (o.builtIn = s.compile) + const u = a('builtIn') + n.builtIn = u + const c = a('interval') + n.interval = c + }, + 9489: function (t, n, e) { + 'use strict' + var r = + (this && this.__importDefault) || + function (t) { + return t && t.__esModule ? t : { default: t } + } + Object.defineProperty(n, '__esModule', { value: !0 }) + const i = e(3905), + o = r(e(8016)), + s = r(e(9793)) + n.default = function (t) { + return function (n) { + n.each(function () { + const n = (0, i.select)(this) + n.call((0, o.default)(t)), n.call((0, s.default)(t)) + }) + } + } + }, + 9793: function (t, n, e) { + 'use strict' + var r = + (this && this.__importDefault) || + function (t) { + return t && t.__esModule ? t : { default: t } + } + Object.defineProperty(n, '__esModule', { value: !0 }) + const i = e(3905), + o = e(1669), + s = r(e(917)), + a = e(3321), + u = r(e(8593)) + n.default = function (t) { + const n = (0, s.default)({ + isHelper: !0, + skipTip: !0, + skipBoundsCheck: !0, + nSamples: 2, + graphType: 'polyline' + }) + function e(t, n) { + if (!('x0' in n)) throw Error('secant must have the property `x0` defined') + n.scope = n.scope || {} + const e = n.x0, + r = 'number' == typeof n.x1 ? n.x1 : u.default.infinity() + var i + Object.assign(n.scope, { + x0: e, + x1: r, + y0: (0, o.builtIn)(t, 'fn', { x: e }), + y1: (0, o.builtIn)(t, 'fn', { x: r }) + }), + ((i = n.scope).m = (i.y1 - i.y0) / (i.x1 - i.x0)) + } + function r(t, n) { + e(t, n), (n.fn = 'm * (x - x0) + y0') + } + function c(n, r) { + const i = this + r.updateOnMouseMove && + !r.$$mouseListener && + ((r.$$mouseListener = function ({ x: t }) { + ;(r.x1 = t), e(n, r), h(i) + }), + t.on('tip:update', r.$$mouseListener)) + } + function l(t) { + const e = this, + i = [] + t.secants = t.secants || [] + for (let o = 0; o < t.secants.length; o += 1) { + const s = (t.secants[o] = Object.assign({}, n, t.secants[o])) + ;(s.index = t.index), s.fn || (r.call(e, t, s), c.call(e, t, s)), i.push(s) + } + return i + } + function h(n) { + n.each(function (e) { + const r = (0, i.select)(this), + o = l.call(n, e), + s = r.selectAll('g.secant').data(o), + u = s.enter().append('g').attr('class', 'secant') + s.merge(u).call((0, a.polyline)(t)), + s.merge(u).selectAll('path').attr('opacity', 0.5), + s.exit().remove() + }) + } + return h + } + }, + 3607: function (t, n, e) { + 'use strict' + var r = + (this && this.__createBinding) || + (Object.create + ? function (t, n, e, r) { + void 0 === r && (r = e) + var i = Object.getOwnPropertyDescriptor(n, e) + ;(i && !('get' in i ? !n.__esModule : i.writable || i.configurable)) || + (i = { + enumerable: !0, + get: function () { + return n[e] + } + }), + Object.defineProperty(t, r, i) + } + : function (t, n, e, r) { + void 0 === r && (r = e), (t[r] = n[e]) + }), + i = + (this && this.__setModuleDefault) || + (Object.create + ? function (t, n) { + Object.defineProperty(t, 'default', { enumerable: !0, value: n }) + } + : function (t, n) { + t.default = n + }), + o = + (this && this.__importStar) || + function (t) { + if (t && t.__esModule) return t + var n = {} + if (null != t) + for (var e in t) 'default' !== e && Object.prototype.hasOwnProperty.call(t, e) && r(n, t, e) + return i(n, t), n + }, + s = + (this && this.__exportStar) || + function (t, n) { + for (var e in t) 'default' === e || Object.prototype.hasOwnProperty.call(n, e) || r(n, t, e) + } + Object.defineProperty(n, '__esModule', { value: !0 }), + (n.GraphTypeScatter = + n.GraphTypePolyline = + n.GraphTypeInterval = + n.EvalInterval = + n.EvalBuiltIn = + n.registerGraphType = + n.Chart = + void 0), + e(360) + const a = e(405) + Object.defineProperty(n, 'Chart', { + enumerable: !0, + get: function () { + return a.Chart + } + }) + const u = o(e(5888)) + Object.defineProperty(n, 'registerGraphType', { + enumerable: !0, + get: function () { + return u.registerGraphType + } + }) + const c = e(3321), + l = o(e(1669)) + function h(t) { + t.data = t.data || [] + let n = a.Chart.cache[t.id] + return n || (n = new a.Chart(t)), n.build() + } + ;(0, u.registerGraphType)('polyline', c.polyline), + (0, u.registerGraphType)('interval', c.interval), + (0, u.registerGraphType)('scatter', c.scatter), + (0, u.registerGraphType)('text', c.text), + (n.default = h), + (h.globals = u.default), + (h.$eval = l), + (h.graphTypes = { interval: c.interval, polyline: c.polyline, scatter: c.scatter }), + s(e(9699), n) + var f = e(1669) + Object.defineProperty(n, 'EvalBuiltIn', { + enumerable: !0, + get: function () { + return f.builtIn + } + }), + Object.defineProperty(n, 'EvalInterval', { + enumerable: !0, + get: function () { + return f.interval + } + }) + var p = e(3321) + Object.defineProperty(n, 'GraphTypeInterval', { + enumerable: !0, + get: function () { + return p.interval + } + }), + Object.defineProperty(n, 'GraphTypePolyline', { + enumerable: !0, + get: function () { + return p.polyline + } + }), + Object.defineProperty(n, 'GraphTypeScatter', { + enumerable: !0, + get: function () { + return p.scatter + } + }), + s(e(9489), n) + }, + 360: () => { + 'undefined' != typeof window && + (function (t, n) { + try { + t.querySelector(':scope body') + } catch (e) { + ;['querySelector', 'querySelectorAll'].forEach(function (e) { + const r = n[e] + n[e] = function (n) { + if (/(^|,)\s*:scope/.test(n)) { + const r = this.id + ;(this.id = 'ID_' + Date.now()), (n = n.replace(/((^|,)\s*):scope/g, '$1#' + this.id)) + const i = t[e](n) + return (this.id = r), i + } + return r.call(this, n) + } + }) + } + })(window.document, Element.prototype) + }, + 7777: function (t, n, e) { + 'use strict' + var r = + (this && this.__importDefault) || + function (t) { + return t && t.__esModule ? t : { default: t } + } + Object.defineProperty(n, '__esModule', { value: !0 }) + const i = r(e(8593)), + o = e(1669) + function s(t, n, e, r, a) { + if (!a) return { asymptote: !0, d0: t, d1: n } + const u = t[0], + c = n[0], + l = i.default.linspace(u, c, 10) + let h, f + for (let t = 0; t < 10; t += 1) { + const n = l[t], + u = (0, o.builtIn)(e, 'fn', { x: n }) + if (h) { + const t = u - h + if (i.default.sgn(t) === r) return s([f, h], [n, u], e, r, a - 1) + } + ;(h = u), (f = n) + } + return { asymptote: !1, d0: t, d1: n } + } + function a(t) { + const n = i.default.space(t.xAxis, t.range, t.nSamples), + e = t.yScale.domain(), + r = e[0] - i.default.infinity(), + a = e[1] + i.default.infinity(), + u = [] + for (let e = 0; e < n.length; e += 1) { + const s = n[e] + let c = (0, o.builtIn)(t.d, 'fn', { x: s }) + i.default.isValidNumber(s) && + i.default.isValidNumber(c) && + ((c = i.default.clamp(c, r, a)), u.push([s, c])) + } + const c = (function (t, n, e) { + let r + const o = [], + a = e.domain()[0] - i.default.infinity(), + u = e.domain()[1] + i.default.infinity() + let c = [n[0]], + l = 1, + h = i.default.infinity() + for (; l < n.length; ) { + const e = n[l - 1][1], + f = n[l][1] - e, + p = i.default.sgn(f) + if (c.length >= 2 && r !== p && Math.abs(f / h) > 1) { + const e = s(n[l - 1], n[l], t, p, 3) + e.asymptote + ? ((n[l - 1][0] = e.d0[0]), + (n[l - 1][1] = i.default.clamp(e.d0[1], a, u)), + o.push(c), + (n[l][0] = e.d1[0]), + (n[l][1] = i.default.clamp(e.d1[1], a, u)), + (c = [n[l]])) + : c.push(n[l]) + } else c.push(n[l]) + c.length > 1 && ((h = c[c.length - 1][0] - c[c.length - 2][0]), (r = p)), ++l + } + return c.length && o.push(c), o + })(t.d, u, t.yScale) + return c + } + function u(t) { + const n = t.d.range || [0, 2 * Math.PI], + e = i.default.space(t.xAxis, n, t.nSamples), + r = [] + for (let n = 0; n < e.length; n += 1) { + const i = e[n], + s = (0, o.builtIn)(t.d, 'x', { t: i }), + a = (0, o.builtIn)(t.d, 'y', { t: i }) + r.push([s, a]) + } + return [r] + } + function c(t) { + const n = t.d.range || [-Math.PI, Math.PI], + e = i.default.space(t.xAxis, n, t.nSamples), + r = [] + for (let n = 0; n < e.length; n += 1) { + const i = e[n], + s = (0, o.builtIn)(t.d, 'r', { theta: i }), + a = s * Math.cos(i), + u = s * Math.sin(i) + r.push([a, u]) + } + return [r] + } + function l(t) { + return [t.d.points] + } + function h(t) { + const n = t.d + return (n.offset = n.offset || [0, 0]), [[n.offset, [n.vector[0] + n.offset[0], n.vector[1] + n.offset[1]]]] + } + n.default = function (t) { + const n = { parametric: u, polar: c, points: l, vector: h, linear: a } + if (!(t.d.fnType in n)) throw Error(t.d.fnType + ' is not supported in the `builtIn` sampler') + return n[t.d.fnType].apply(null, arguments) + } + }, + 8458: function (t, n, e) { + 'use strict' + var r = + (this && this.__createBinding) || + (Object.create + ? function (t, n, e, r) { + void 0 === r && (r = e) + var i = Object.getOwnPropertyDescriptor(n, e) + ;(i && !('get' in i ? !n.__esModule : i.writable || i.configurable)) || + (i = { + enumerable: !0, + get: function () { + return n[e] + } + }), + Object.defineProperty(t, r, i) + } + : function (t, n, e, r) { + void 0 === r && (r = e), (t[r] = n[e]) + }), + i = + (this && this.__setModuleDefault) || + (Object.create + ? function (t, n) { + Object.defineProperty(t, 'default', { enumerable: !0, value: n }) + } + : function (t, n) { + t.default = n + }), + o = + (this && this.__importStar) || + function (t) { + if (t && t.__esModule) return t + var n = {} + if (null != t) + for (var e in t) 'default' !== e && Object.prototype.hasOwnProperty.call(t, e) && r(n, t, e) + return i(n, t), n + }, + s = + (this && this.__importDefault) || + function (t) { + return t && t.__esModule ? t : { default: t } + } + Object.defineProperty(n, '__esModule', { value: !0 }) + const a = o(e(8867)), + u = e(1669), + c = s(e(8593)) + function l(t) { + const n = c.default.space(t.xAxis, t.range, t.nSamples), + e = t.xScale, + r = t.yScale, + i = r.domain()[0], + o = r.domain()[1], + s = [] + let l + for (l = 0; l < n.length - 1; l += 1) { + const e = { lo: n[l], hi: n[l + 1] }, + r = (0, u.interval)(t.d, 'fn', { x: e }) + a.Interval.isEmpty(r) || a.Interval.isWhole(r) || s.push([e, r]), a.Interval.isWhole(r) && s.push(null) + } + for (l = 1; l < s.length - 1; l += 1) + if (!s[l]) { + const t = s[l - 1], + n = s[l + 1] + t && + n && + !a.Interval.intervalsOverlap(t[1], n[1]) && + (t[1].lo > n[1].hi && ((t[1].hi = Math.max(o, t[1].hi)), (n[1].lo = Math.min(i, n[1].lo))), + t[1].hi < n[1].lo && ((t[1].lo = Math.min(i, t[1].lo)), (n[1].hi = Math.max(o, n[1].hi)))) + } + return (s.scaledDx = e(n[1]) - e(n[0])), [s] + } + let h + function f(t, n, e) { + const r = (0, u.interval)(e, 'fn', { x: t, y: n }) + if (!a.Interval.zeroIn(r)) return this + if ( + (function (t, n) { + return a.Interval.width(t) < h + })(t) + ) + return this.push([t, n]), this + const i = t.lo + (t.hi - t.lo) / 2, + o = n.lo + (n.hi - n.lo) / 2, + s = { lo: i, hi: t.hi }, + c = { lo: t.lo, hi: i }, + l = { lo: o, hi: n.hi }, + p = { lo: n.lo, hi: o } + f.call(this, s, l, e), f.call(this, s, p, e), f.call(this, c, l, e), f.call(this, c, p, e) + } + function p(t) { + const n = t.xScale, + e = t.xScale.domain(), + r = t.yScale.domain(), + i = { lo: e[0], hi: e[1] }, + o = { lo: r[0], hi: r[1] }, + s = [] + return (h = n.invert(1) - n.invert(0)), f.call(s, i, o, t.d), (s.scaledDx = 1), [s] + } + a.default.policies.disableRounding(), + (n.default = function (t) { + const n = { implicit: p, linear: l } + if (!Object.hasOwn(n, t.d.fnType)) throw Error(t.d.fnType + ' is not supported in the `interval` sampler') + return n[t.d.fnType].apply(null, arguments) + }) + }, + 953: function (t, n, e) { + 'use strict' + var r = + (this && this.__importDefault) || + function (t) { + return t && t.__esModule ? t : { default: t } + } + Object.defineProperty(n, '__esModule', { value: !0 }) + const i = e(6660), + o = e(3905), + s = r(e(8593)), + a = r(e(5888)), + u = e(1669) + n.default = function (t) { + t = Object.assign( + { + xLine: !1, + yLine: !1, + renderer: function (t, n) { + return '(' + t.toFixed(3) + ', ' + n.toFixed(3) + ')' + }, + owner: null + }, + t + ) + const n = 20, + e = (0, i.line)() + .x(function (t) { + return t[0] + }) + .y(function (t) { + return t[1] + }) + function r(t, n) { + return t + .append('path') + .datum(n) + .attr('stroke', 'grey') + .attr('stroke-dasharray', '5,5') + .attr('opacity', 0.5) + .attr('d', e) + } + let c, l + function h(e) { + const i = e.selectAll('g.tip').data(function (t) { + return [t] + }), + s = i + .enter() + .append('g') + .attr('class', 'tip') + .attr('clip-path', 'url(#function-plot-clip-' + t.owner.id + ')') + ;(c = i + .merge(s) + .selectAll('g.inner-tip') + .data(function (t) { + return [t] + })), + (l = c + .enter() + .append('g') + .attr('class', 'inner-tip') + .style('display', 'none') + .each(function () { + const e = (0, o.select)(this) + r(e, [ + [0, -t.owner.meta.height - n], + [0, t.owner.meta.height + n] + ]) + .attr('class', 'tip-x-line') + .style('display', 'none'), + r(e, [ + [-t.owner.meta.width - n, 0], + [t.owner.meta.width + n, 0] + ]) + .attr('class', 'tip-y-line') + .style('display', 'none'), + e.append('circle').attr('r', 3), + e.append('text').attr('transform', 'translate(5,-5)') + })), + c + .merge(l) + .selectAll('.tip-x-line') + .style('display', t.xLine ? null : 'none'), + c + .merge(l) + .selectAll('.tip-y-line') + .style('display', t.yLine ? null : 'none') + } + return ( + (h.move = function (e) { + let r, + i, + o, + f = 1 / 0, + p = -1 + const d = c.merge(l), + y = t.owner.meta, + _ = d.datum().data, + m = y.xScale, + g = y.yScale, + v = y.width, + x = y.height, + w = e.x, + b = e.y + for (r = 0; r < _.length; r += 1) { + if (_[r].skipTip || 'linear' !== _[r].fnType) continue + const t = _[r].range || [-s.default.infinity(), s.default.infinity()] + let n + if (w > t[0] - a.default.TIP_X_EPS && w < t[1] + a.default.TIP_X_EPS) { + try { + n = (0, u.builtIn)(_[r], 'fn', { x: w }) + } catch (t) {} + if (s.default.isValidNumber(n)) { + const t = Math.abs(n - b) + t < f && ((f = t), (p = r)) + } + } + } + if (-1 !== p) { + ;(i = w), + _[p].range && ((i = Math.max(i, _[p].range[0])), (i = Math.min(i, _[p].range[1]))), + (o = (0, u.builtIn)(_[p], 'fn', { x: i })), + h.show(), + t.owner.emit('tip:update', { x: i, y: o, index: p }) + const e = s.default.clamp(i, m.invert(-20), m.invert(v + n)), + r = s.default.clamp(o, g.invert(x + n), g.invert(-20)), + a = s.default.color(_[p], p) + d.style('color', 'red'), + d.attr('transform', 'translate(' + m(e) + ',' + g(r) + ')'), + d.select('circle').attr('fill', a), + d + .select('text') + .attr('fill', a) + .text(t.renderer(i, o, p)) + } else h.hide() + }), + (h.show = function () { + c.merge(l).style('display', null) + }), + (h.hide = function () { + c.merge(l).style('display', 'none') + }), + Object.keys(t).forEach(function (n) { + s.default.getterSetter.call(h, t, n) + }), + h + ) + } + }, + 9699: (t, n) => { + 'use strict' + Object.defineProperty(n, '__esModule', { value: !0 }) + }, + 8593: function (t, n, e) { + 'use strict' + var r = + (this && this.__importDefault) || + function (t) { + return t && t.__esModule ? t : { default: t } + } + Object.defineProperty(n, '__esModule', { value: !0 }) + const i = r(e(5888)), + o = { + linspace: function (t, n, e) { + const r = (n - t) / (e - 1) + return Array.from({ length: e }, (n, e) => t + r * e) + }, + logspace: function (t, n, e) { + return this.linspace(t, n, e).map((t) => Math.pow(10, t)) + }, + isValidNumber: function (t) { + return 'number' == typeof t && !isNaN(t) + }, + space: function (t, n, e) { + const r = n[0], + i = n[1] + return 'log' === t.type ? this.logspace(Math.log10(r), Math.log10(i), e) : this.linspace(r, i, e) + }, + getterSetter: function (t, n) { + const e = this + this[n] = function (r) { + return arguments.length ? ((t[n] = r), e) : t[n] + } + }, + sgn: function (t) { + return t < 0 ? -1 : t > 0 ? 1 : 0 + }, + clamp: function (t, n, e) { + return t < n ? n : t > e ? e : t + }, + color: function (t, n) { + const e = n % i.default.COLORS.length + return t.color || i.default.COLORS[e].hex() + }, + infinity: function () { + return 9007199254740991 + } + } + n.default = o + }, + 8873: (t, n, e) => { + 'use strict' + function r(t) { + return t + } + e.r(n), e.d(n, { axisBottom: () => m, axisLeft: () => g, axisRight: () => _, axisTop: () => y }) + var i = 1, + o = 2, + s = 3, + a = 4, + u = 1e-6 + function c(t) { + return 'translate(' + t + ',0)' + } + function l(t) { + return 'translate(0,' + t + ')' + } + function h(t) { + return (n) => +t(n) + } + function f(t, n) { + return (n = Math.max(0, t.bandwidth() - 2 * n) / 2), t.round() && (n = Math.round(n)), (e) => +t(e) + n + } + function p() { + return !this.__axis + } + function d(t, n) { + var e = [], + d = null, + y = null, + _ = 6, + m = 6, + g = 3, + v = 'undefined' != typeof window && window.devicePixelRatio > 1 ? 0 : 0.5, + x = t === i || t === a ? -1 : 1, + w = t === a || t === o ? 'x' : 'y', + b = t === i || t === s ? c : l + function M(c) { + var l = null == d ? (n.ticks ? n.ticks.apply(n, e) : n.domain()) : d, + M = null == y ? (n.tickFormat ? n.tickFormat.apply(n, e) : r) : y, + T = Math.max(_, 0) + g, + E = n.range(), + k = +E[0] + v, + A = +E[E.length - 1] + v, + N = (n.bandwidth ? f : h)(n.copy(), v), + S = c.selection ? c.selection() : c, + P = S.selectAll('.domain').data([null]), + O = S.selectAll('.tick').data(l, n).order(), + L = O.exit(), + I = O.enter().append('g').attr('class', 'tick'), + Z = O.select('line'), + C = O.select('text') + ;(P = P.merge(P.enter().insert('path', '.tick').attr('class', 'domain').attr('stroke', 'currentColor'))), + (O = O.merge(I)), + (Z = Z.merge( + I.append('line') + .attr('stroke', 'currentColor') + .attr(w + '2', x * _) + )), + (C = C.merge( + I.append('text') + .attr('fill', 'currentColor') + .attr(w, x * T) + .attr('dy', t === i ? '0em' : t === s ? '0.71em' : '0.32em') + )), + c !== S && + ((P = P.transition(c)), + (O = O.transition(c)), + (Z = Z.transition(c)), + (C = C.transition(c)), + (L = L.transition(c) + .attr('opacity', u) + .attr('transform', function (t) { + return isFinite((t = N(t))) ? b(t + v) : this.getAttribute('transform') + })), + I.attr('opacity', u).attr('transform', function (t) { + var n = this.parentNode.__axis + return b((n && isFinite((n = n(t))) ? n : N(t)) + v) + })), + L.remove(), + P.attr( + 'd', + t === a || t === o + ? m + ? 'M' + x * m + ',' + k + 'H' + v + 'V' + A + 'H' + x * m + : 'M' + v + ',' + k + 'V' + A + : m + ? 'M' + k + ',' + x * m + 'V' + v + 'H' + A + 'V' + x * m + : 'M' + k + ',' + v + 'H' + A + ), + O.attr('opacity', 1).attr('transform', function (t) { + return b(N(t) + v) + }), + Z.attr(w + '2', x * _), + C.attr(w, x * T).text(M), + S.filter(p) + .attr('fill', 'none') + .attr('font-size', 10) + .attr('font-family', 'sans-serif') + .attr('text-anchor', t === o ? 'start' : t === a ? 'end' : 'middle'), + S.each(function () { + this.__axis = N + }) + } + return ( + (M.scale = function (t) { + return arguments.length ? ((n = t), M) : n + }), + (M.ticks = function () { + return (e = Array.from(arguments)), M + }), + (M.tickArguments = function (t) { + return arguments.length ? ((e = null == t ? [] : Array.from(t)), M) : e.slice() + }), + (M.tickValues = function (t) { + return arguments.length ? ((d = null == t ? null : Array.from(t)), M) : d && d.slice() + }), + (M.tickFormat = function (t) { + return arguments.length ? ((y = t), M) : y + }), + (M.tickSize = function (t) { + return arguments.length ? ((_ = m = +t), M) : _ + }), + (M.tickSizeInner = function (t) { + return arguments.length ? ((_ = +t), M) : _ + }), + (M.tickSizeOuter = function (t) { + return arguments.length ? ((m = +t), M) : m + }), + (M.tickPadding = function (t) { + return arguments.length ? ((g = +t), M) : g + }), + (M.offset = function (t) { + return arguments.length ? ((v = +t), M) : v + }), + M + ) + } + function y(t) { + return d(i, t) + } + function _(t) { + return d(o, t) + } + function m(t) { + return d(s, t) + } + function g(t) { + return d(a, t) + } + }, + 4447: (t, n, e) => { + 'use strict' + e.d(n, { + B8: () => T, + Il: () => i, + J5: () => s, + SU: () => M, + Ss: () => E, + Ym: () => I, + ZP: () => x, + xV: () => o + }) + var r = e(9531) + function i() {} + var o = 0.7, + s = 1 / o, + a = '\\s*([+-]?\\d+)\\s*', + u = '\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*', + c = '\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*', + l = /^#([0-9a-f]{3,8})$/, + h = new RegExp(`^rgb\\(${a},${a},${a}\\)$`), + f = new RegExp(`^rgb\\(${c},${c},${c}\\)$`), + p = new RegExp(`^rgba\\(${a},${a},${a},${u}\\)$`), + d = new RegExp(`^rgba\\(${c},${c},${c},${u}\\)$`), + y = new RegExp(`^hsl\\(${u},${c},${c}\\)$`), + _ = new RegExp(`^hsla\\(${u},${c},${c},${u}\\)$`), + m = { + aliceblue: 15792383, + antiquewhite: 16444375, + aqua: 65535, + aquamarine: 8388564, + azure: 15794175, + beige: 16119260, + bisque: 16770244, + black: 0, + blanchedalmond: 16772045, + blue: 255, + blueviolet: 9055202, + brown: 10824234, + burlywood: 14596231, + cadetblue: 6266528, + chartreuse: 8388352, + chocolate: 13789470, + coral: 16744272, + cornflowerblue: 6591981, + cornsilk: 16775388, + crimson: 14423100, + cyan: 65535, + darkblue: 139, + darkcyan: 35723, + darkgoldenrod: 12092939, + darkgray: 11119017, + darkgreen: 25600, + darkgrey: 11119017, + darkkhaki: 12433259, + darkmagenta: 9109643, + darkolivegreen: 5597999, + darkorange: 16747520, + darkorchid: 10040012, + darkred: 9109504, + darksalmon: 15308410, + darkseagreen: 9419919, + darkslateblue: 4734347, + darkslategray: 3100495, + darkslategrey: 3100495, + darkturquoise: 52945, + darkviolet: 9699539, + deeppink: 16716947, + deepskyblue: 49151, + dimgray: 6908265, + dimgrey: 6908265, + dodgerblue: 2003199, + firebrick: 11674146, + floralwhite: 16775920, + forestgreen: 2263842, + fuchsia: 16711935, + gainsboro: 14474460, + ghostwhite: 16316671, + gold: 16766720, + goldenrod: 14329120, + gray: 8421504, + green: 32768, + greenyellow: 11403055, + grey: 8421504, + honeydew: 15794160, + hotpink: 16738740, + indianred: 13458524, + indigo: 4915330, + ivory: 16777200, + khaki: 15787660, + lavender: 15132410, + lavenderblush: 16773365, + lawngreen: 8190976, + lemonchiffon: 16775885, + lightblue: 11393254, + lightcoral: 15761536, + lightcyan: 14745599, + lightgoldenrodyellow: 16448210, + lightgray: 13882323, + lightgreen: 9498256, + lightgrey: 13882323, + lightpink: 16758465, + lightsalmon: 16752762, + lightseagreen: 2142890, + lightskyblue: 8900346, + lightslategray: 7833753, + lightslategrey: 7833753, + lightsteelblue: 11584734, + lightyellow: 16777184, + lime: 65280, + limegreen: 3329330, + linen: 16445670, + magenta: 16711935, + maroon: 8388608, + mediumaquamarine: 6737322, + mediumblue: 205, + mediumorchid: 12211667, + mediumpurple: 9662683, + mediumseagreen: 3978097, + mediumslateblue: 8087790, + mediumspringgreen: 64154, + mediumturquoise: 4772300, + mediumvioletred: 13047173, + midnightblue: 1644912, + mintcream: 16121850, + mistyrose: 16770273, + moccasin: 16770229, + navajowhite: 16768685, + navy: 128, + oldlace: 16643558, + olive: 8421376, + olivedrab: 7048739, + orange: 16753920, + orangered: 16729344, + orchid: 14315734, + palegoldenrod: 15657130, + palegreen: 10025880, + paleturquoise: 11529966, + palevioletred: 14381203, + papayawhip: 16773077, + peachpuff: 16767673, + peru: 13468991, + pink: 16761035, + plum: 14524637, + powderblue: 11591910, + purple: 8388736, + rebeccapurple: 6697881, + red: 16711680, + rosybrown: 12357519, + royalblue: 4286945, + saddlebrown: 9127187, + salmon: 16416882, + sandybrown: 16032864, + seagreen: 3050327, + seashell: 16774638, + sienna: 10506797, + silver: 12632256, + skyblue: 8900331, + slateblue: 6970061, + slategray: 7372944, + slategrey: 7372944, + snow: 16775930, + springgreen: 65407, + steelblue: 4620980, + tan: 13808780, + teal: 32896, + thistle: 14204888, + tomato: 16737095, + turquoise: 4251856, + violet: 15631086, + wheat: 16113331, + white: 16777215, + whitesmoke: 16119285, + yellow: 16776960, + yellowgreen: 10145074 + } + function g() { + return this.rgb().formatHex() + } + function v() { + return this.rgb().formatRgb() + } + function x(t) { + var n, e + return ( + (t = (t + '').trim().toLowerCase()), + (n = l.exec(t)) + ? ((e = n[1].length), + (n = parseInt(n[1], 16)), + 6 === e + ? w(n) + : 3 === e + ? new E( + ((n >> 8) & 15) | ((n >> 4) & 240), + ((n >> 4) & 15) | (240 & n), + ((15 & n) << 4) | (15 & n), + 1 + ) + : 8 === e + ? b((n >> 24) & 255, (n >> 16) & 255, (n >> 8) & 255, (255 & n) / 255) + : 4 === e + ? b( + ((n >> 12) & 15) | ((n >> 8) & 240), + ((n >> 8) & 15) | ((n >> 4) & 240), + ((n >> 4) & 15) | (240 & n), + (((15 & n) << 4) | (15 & n)) / 255 + ) + : null) + : (n = h.exec(t)) + ? new E(n[1], n[2], n[3], 1) + : (n = f.exec(t)) + ? new E((255 * n[1]) / 100, (255 * n[2]) / 100, (255 * n[3]) / 100, 1) + : (n = p.exec(t)) + ? b(n[1], n[2], n[3], n[4]) + : (n = d.exec(t)) + ? b((255 * n[1]) / 100, (255 * n[2]) / 100, (255 * n[3]) / 100, n[4]) + : (n = y.exec(t)) + ? O(n[1], n[2] / 100, n[3] / 100, 1) + : (n = _.exec(t)) + ? O(n[1], n[2] / 100, n[3] / 100, n[4]) + : m.hasOwnProperty(t) + ? w(m[t]) + : 'transparent' === t + ? new E(NaN, NaN, NaN, 0) + : null + ) + } + function w(t) { + return new E((t >> 16) & 255, (t >> 8) & 255, 255 & t, 1) + } + function b(t, n, e, r) { + return r <= 0 && (t = n = e = NaN), new E(t, n, e, r) + } + function M(t) { + return t instanceof i || (t = x(t)), t ? new E((t = t.rgb()).r, t.g, t.b, t.opacity) : new E() + } + function T(t, n, e, r) { + return 1 === arguments.length ? M(t) : new E(t, n, e, null == r ? 1 : r) + } + function E(t, n, e, r) { + ;(this.r = +t), (this.g = +n), (this.b = +e), (this.opacity = +r) + } + function k() { + return `#${P(this.r)}${P(this.g)}${P(this.b)}` + } + function A() { + const t = N(this.opacity) + return `${1 === t ? 'rgb(' : 'rgba('}${S(this.r)}, ${S(this.g)}, ${S(this.b)}${1 === t ? ')' : `, ${t})`}` + } + function N(t) { + return isNaN(t) ? 1 : Math.max(0, Math.min(1, t)) + } + function S(t) { + return Math.max(0, Math.min(255, Math.round(t) || 0)) + } + function P(t) { + return ((t = S(t)) < 16 ? '0' : '') + t.toString(16) + } + function O(t, n, e, r) { + return ( + r <= 0 ? (t = n = e = NaN) : e <= 0 || e >= 1 ? (t = n = NaN) : n <= 0 && (t = NaN), new Z(t, n, e, r) + ) + } + function L(t) { + if (t instanceof Z) return new Z(t.h, t.s, t.l, t.opacity) + if ((t instanceof i || (t = x(t)), !t)) return new Z() + if (t instanceof Z) return t + var n = (t = t.rgb()).r / 255, + e = t.g / 255, + r = t.b / 255, + o = Math.min(n, e, r), + s = Math.max(n, e, r), + a = NaN, + u = s - o, + c = (s + o) / 2 + return ( + u + ? ((a = n === s ? (e - r) / u + 6 * (e < r) : e === s ? (r - n) / u + 2 : (n - e) / u + 4), + (u /= c < 0.5 ? s + o : 2 - s - o), + (a *= 60)) + : (u = c > 0 && c < 1 ? 0 : a), + new Z(a, u, c, t.opacity) + ) + } + function I(t, n, e, r) { + return 1 === arguments.length ? L(t) : new Z(t, n, e, null == r ? 1 : r) + } + function Z(t, n, e, r) { + ;(this.h = +t), (this.s = +n), (this.l = +e), (this.opacity = +r) + } + function C(t) { + return (t = (t || 0) % 360) < 0 ? t + 360 : t + } + function H(t) { + return Math.max(0, Math.min(1, t || 0)) + } + function D(t, n, e) { + return 255 * (t < 60 ? n + ((e - n) * t) / 60 : t < 180 ? e : t < 240 ? n + ((e - n) * (240 - t)) / 60 : n) + } + ;(0, r.Z)(i, x, { + copy(t) { + return Object.assign(new this.constructor(), this, t) + }, + displayable() { + return this.rgb().displayable() + }, + hex: g, + formatHex: g, + formatHex8: function () { + return this.rgb().formatHex8() + }, + formatHsl: function () { + return L(this).formatHsl() + }, + formatRgb: v, + toString: v + }), + (0, r.Z)( + E, + T, + (0, r.l)(i, { + brighter(t) { + return (t = null == t ? s : Math.pow(s, t)), new E(this.r * t, this.g * t, this.b * t, this.opacity) + }, + darker(t) { + return (t = null == t ? o : Math.pow(o, t)), new E(this.r * t, this.g * t, this.b * t, this.opacity) + }, + rgb() { + return this + }, + clamp() { + return new E(S(this.r), S(this.g), S(this.b), N(this.opacity)) + }, + displayable() { + return ( + -0.5 <= this.r && + this.r < 255.5 && + -0.5 <= this.g && + this.g < 255.5 && + -0.5 <= this.b && + this.b < 255.5 && + 0 <= this.opacity && + this.opacity <= 1 + ) + }, + hex: k, + formatHex: k, + formatHex8: function () { + return `#${P(this.r)}${P(this.g)}${P(this.b)}${P(255 * (isNaN(this.opacity) ? 1 : this.opacity))}` + }, + formatRgb: A, + toString: A + }) + ), + (0, r.Z)( + Z, + I, + (0, r.l)(i, { + brighter(t) { + return (t = null == t ? s : Math.pow(s, t)), new Z(this.h, this.s, this.l * t, this.opacity) + }, + darker(t) { + return (t = null == t ? o : Math.pow(o, t)), new Z(this.h, this.s, this.l * t, this.opacity) + }, + rgb() { + var t = (this.h % 360) + 360 * (this.h < 0), + n = isNaN(t) || isNaN(this.s) ? 0 : this.s, + e = this.l, + r = e + (e < 0.5 ? e : 1 - e) * n, + i = 2 * e - r + return new E( + D(t >= 240 ? t - 240 : t + 120, i, r), + D(t, i, r), + D(t < 120 ? t + 240 : t - 120, i, r), + this.opacity + ) + }, + clamp() { + return new Z(C(this.h), H(this.s), H(this.l), N(this.opacity)) + }, + displayable() { + return ( + ((0 <= this.s && this.s <= 1) || isNaN(this.s)) && + 0 <= this.l && + this.l <= 1 && + 0 <= this.opacity && + this.opacity <= 1 + ) + }, + formatHsl() { + const t = N(this.opacity) + return `${1 === t ? 'hsl(' : 'hsla('}${C(this.h)}, ${100 * H(this.s)}%, ${100 * H(this.l)}%${1 === t ? ')' : `, ${t})`}` + } + }) + ) + }, + 5159: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => d }) + var r = e(9531), + i = e(4447), + o = e(5782), + s = -0.14861, + a = 1.78277, + u = -0.29227, + c = -0.90649, + l = 1.97294, + h = l * c, + f = l * a, + p = a * u - c * s + function d(t, n, e, r) { + return 1 === arguments.length + ? (function (t) { + if (t instanceof y) return new y(t.h, t.s, t.l, t.opacity) + t instanceof i.Ss || (t = (0, i.SU)(t)) + var n = t.r / 255, + e = t.g / 255, + r = t.b / 255, + s = (p * r + h * n - f * e) / (p + h - f), + a = r - s, + d = (l * (e - s) - u * a) / c, + _ = Math.sqrt(d * d + a * a) / (l * s * (1 - s)), + m = _ ? Math.atan2(d, a) * o.R - 120 : NaN + return new y(m < 0 ? m + 360 : m, _, s, t.opacity) + })(t) + : new y(t, n, e, null == r ? 1 : r) + } + function y(t, n, e, r) { + ;(this.h = +t), (this.s = +n), (this.l = +e), (this.opacity = +r) + } + ;(0, r.Z)( + y, + d, + (0, r.l)(i.Il, { + brighter(t) { + return (t = null == t ? i.J5 : Math.pow(i.J5, t)), new y(this.h, this.s, this.l * t, this.opacity) + }, + darker(t) { + return (t = null == t ? i.xV : Math.pow(i.xV, t)), new y(this.h, this.s, this.l * t, this.opacity) + }, + rgb() { + var t = isNaN(this.h) ? 0 : (this.h + 120) * o.u, + n = +this.l, + e = isNaN(this.s) ? 0 : this.s * n * (1 - n), + r = Math.cos(t), + h = Math.sin(t) + return new i.Ss( + 255 * (n + e * (s * r + a * h)), + 255 * (n + e * (u * r + c * h)), + 255 * (n + e * (l * r)), + this.opacity + ) + } + }) + ) + }, + 9531: (t, n, e) => { + 'use strict' + function r(t, n, e) { + ;(t.prototype = n.prototype = e), (e.constructor = t) + } + function i(t, n) { + var e = Object.create(t.prototype) + for (var r in n) e[r] = n[r] + return e + } + e.d(n, { Z: () => r, l: () => i }) + }, + 6618: (t, n, e) => { + 'use strict' + e.r(n), + e.d(n, { + color: () => r.ZP, + cubehelix: () => o.Z, + gray: () => i.MA, + hcl: () => i.Uc, + hsl: () => r.Ym, + lab: () => i.ZP, + lch: () => i.tW, + rgb: () => r.B8 + }) + var r = e(4447), + i = e(8990), + o = e(5159) + }, + 8990: (t, n, e) => { + 'use strict' + e.d(n, { MA: () => d, Uc: () => M, ZP: () => y, tW: () => b }) + var r = e(9531), + i = e(4447), + o = e(5782) + const s = 0.96422, + a = 1, + u = 0.82521, + c = 4 / 29, + l = 6 / 29, + h = 3 * l * l, + f = l * l * l + function p(t) { + if (t instanceof _) return new _(t.l, t.a, t.b, t.opacity) + if (t instanceof T) return E(t) + t instanceof i.Ss || (t = (0, i.SU)(t)) + var n, + e, + r = x(t.r), + o = x(t.g), + c = x(t.b), + l = m((0.2225045 * r + 0.7168786 * o + 0.0606169 * c) / a) + return ( + r === o && o === c + ? (n = e = l) + : ((n = m((0.4360747 * r + 0.3850649 * o + 0.1430804 * c) / s)), + (e = m((0.0139322 * r + 0.0971045 * o + 0.7141733 * c) / u))), + new _(116 * l - 16, 500 * (n - l), 200 * (l - e), t.opacity) + ) + } + function d(t, n) { + return new _(t, 0, 0, null == n ? 1 : n) + } + function y(t, n, e, r) { + return 1 === arguments.length ? p(t) : new _(t, n, e, null == r ? 1 : r) + } + function _(t, n, e, r) { + ;(this.l = +t), (this.a = +n), (this.b = +e), (this.opacity = +r) + } + function m(t) { + return t > f ? Math.pow(t, 1 / 3) : t / h + c + } + function g(t) { + return t > l ? t * t * t : h * (t - c) + } + function v(t) { + return 255 * (t <= 0.0031308 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - 0.055) + } + function x(t) { + return (t /= 255) <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4) + } + function w(t) { + if (t instanceof T) return new T(t.h, t.c, t.l, t.opacity) + if ((t instanceof _ || (t = p(t)), 0 === t.a && 0 === t.b)) + return new T(NaN, 0 < t.l && t.l < 100 ? 0 : NaN, t.l, t.opacity) + var n = Math.atan2(t.b, t.a) * o.R + return new T(n < 0 ? n + 360 : n, Math.sqrt(t.a * t.a + t.b * t.b), t.l, t.opacity) + } + function b(t, n, e, r) { + return 1 === arguments.length ? w(t) : new T(e, n, t, null == r ? 1 : r) + } + function M(t, n, e, r) { + return 1 === arguments.length ? w(t) : new T(t, n, e, null == r ? 1 : r) + } + function T(t, n, e, r) { + ;(this.h = +t), (this.c = +n), (this.l = +e), (this.opacity = +r) + } + function E(t) { + if (isNaN(t.h)) return new _(t.l, 0, 0, t.opacity) + var n = t.h * o.u + return new _(t.l, Math.cos(n) * t.c, Math.sin(n) * t.c, t.opacity) + } + ;(0, r.Z)( + _, + y, + (0, r.l)(i.Il, { + brighter(t) { + return new _(this.l + 18 * (null == t ? 1 : t), this.a, this.b, this.opacity) + }, + darker(t) { + return new _(this.l - 18 * (null == t ? 1 : t), this.a, this.b, this.opacity) + }, + rgb() { + var t = (this.l + 16) / 116, + n = isNaN(this.a) ? t : t + this.a / 500, + e = isNaN(this.b) ? t : t - this.b / 200 + return ( + (n = s * g(n)), + (t = a * g(t)), + (e = u * g(e)), + new i.Ss( + v(3.1338561 * n - 1.6168667 * t - 0.4906146 * e), + v(-0.9787684 * n + 1.9161415 * t + 0.033454 * e), + v(0.0719453 * n - 0.2289914 * t + 1.4052427 * e), + this.opacity + ) + ) + } + }) + ), + (0, r.Z)( + T, + M, + (0, r.l)(i.Il, { + brighter(t) { + return new T(this.h, this.c, this.l + 18 * (null == t ? 1 : t), this.opacity) + }, + darker(t) { + return new T(this.h, this.c, this.l - 18 * (null == t ? 1 : t), this.opacity) + }, + rgb() { + return E(this).rgb() + } + }) + ) + }, + 5782: (t, n, e) => { + 'use strict' + e.d(n, { R: () => i, u: () => r }) + const r = Math.PI / 180, + i = 180 / Math.PI + }, + 5386: (t, n, e) => { + 'use strict' + e.d(n, { WU: () => i, ZP: () => a, jH: () => o }) + var r, + i, + o, + s = e(28) + function a(t) { + return (r = (0, s.Z)(t)), (i = r.format), (o = r.formatPrefix), r + } + a({ thousands: ',', grouping: [3], currency: ['$', ''] }) + }, + 5368: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => i }) + var r = e(8613) + function i(t) { + return (t = (0, r.V)(Math.abs(t))) ? t[1] : NaN + } + }, + 8613: (t, n, e) => { + 'use strict' + function r(t) { + return Math.abs((t = Math.round(t))) >= 1e21 ? t.toLocaleString('en').replace(/,/g, '') : t.toString(10) + } + function i(t, n) { + if ((e = (t = n ? t.toExponential(n - 1) : t.toExponential()).indexOf('e')) < 0) return null + var e, + r = t.slice(0, e) + return [r.length > 1 ? r[0] + r.slice(2) : r, +t.slice(e + 1)] + } + e.d(n, { V: () => i, Z: () => r }) + }, + 2035: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => i, v: () => o }) + var r = /^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i + function i(t) { + if (!(n = r.exec(t))) throw new Error('invalid format: ' + t) + var n + return new o({ + fill: n[1], + align: n[2], + sign: n[3], + symbol: n[4], + zero: n[5], + width: n[6], + comma: n[7], + precision: n[8] && n[8].slice(1), + trim: n[9], + type: n[10] + }) + } + function o(t) { + ;(this.fill = void 0 === t.fill ? ' ' : t.fill + ''), + (this.align = void 0 === t.align ? '>' : t.align + ''), + (this.sign = void 0 === t.sign ? '-' : t.sign + ''), + (this.symbol = void 0 === t.symbol ? '' : t.symbol + ''), + (this.zero = !!t.zero), + (this.width = void 0 === t.width ? void 0 : +t.width), + (this.comma = !!t.comma), + (this.precision = void 0 === t.precision ? void 0 : +t.precision), + (this.trim = !!t.trim), + (this.type = void 0 === t.type ? '' : t.type + '') + } + ;(i.prototype = o.prototype), + (o.prototype.toString = function () { + return ( + this.fill + + this.align + + this.sign + + this.symbol + + (this.zero ? '0' : '') + + (void 0 === this.width ? '' : Math.max(1, 0 | this.width)) + + (this.comma ? ',' : '') + + (void 0 === this.precision ? '' : '.' + Math.max(0, 0 | this.precision)) + + (this.trim ? '~' : '') + + this.type + ) + }) + }, + 103: (t, n, e) => { + 'use strict' + e.r(n), + e.d(n, { + FormatSpecifier: () => o.v, + format: () => r.WU, + formatDefaultLocale: () => r.ZP, + formatLocale: () => i.Z, + formatPrefix: () => r.jH, + formatSpecifier: () => o.Z, + precisionFixed: () => s.Z, + precisionPrefix: () => a.Z, + precisionRound: () => u.Z + }) + var r = e(5386), + i = e(28), + o = e(2035), + s = e(6909), + a = e(7017), + u = e(3482) + }, + 28: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => f }) + var r, + i = e(5368), + o = e(2035), + s = e(8613) + function a(t, n) { + var e = (0, s.V)(t, n) + if (!e) return t + '' + var r = e[0], + i = e[1] + return i < 0 + ? '0.' + new Array(-i).join('0') + r + : r.length > i + 1 + ? r.slice(0, i + 1) + '.' + r.slice(i + 1) + : r + new Array(i - r.length + 2).join('0') + } + const u = { + '%': (t, n) => (100 * t).toFixed(n), + b: (t) => Math.round(t).toString(2), + c: (t) => t + '', + d: s.Z, + e: (t, n) => t.toExponential(n), + f: (t, n) => t.toFixed(n), + g: (t, n) => t.toPrecision(n), + o: (t) => Math.round(t).toString(8), + p: (t, n) => a(100 * t, n), + r: a, + s: function (t, n) { + var e = (0, s.V)(t, n) + if (!e) return t + '' + var i = e[0], + o = e[1], + a = o - (r = 3 * Math.max(-8, Math.min(8, Math.floor(o / 3)))) + 1, + u = i.length + return a === u + ? i + : a > u + ? i + new Array(a - u + 1).join('0') + : a > 0 + ? i.slice(0, a) + '.' + i.slice(a) + : '0.' + new Array(1 - a).join('0') + (0, s.V)(t, Math.max(0, n + a - 1))[0] + }, + X: (t) => Math.round(t).toString(16).toUpperCase(), + x: (t) => Math.round(t).toString(16) + } + function c(t) { + return t + } + var l = Array.prototype.map, + h = ['y', 'z', 'a', 'f', 'p', 'n', 'µ', 'm', '', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'] + function f(t) { + var n, + e, + s = + void 0 === t.grouping || void 0 === t.thousands + ? c + : ((n = l.call(t.grouping, Number)), + (e = t.thousands + ''), + function (t, r) { + for ( + var i = t.length, o = [], s = 0, a = n[0], u = 0; + i > 0 && + a > 0 && + (u + a + 1 > r && (a = Math.max(1, r - u)), + o.push(t.substring((i -= a), i + a)), + !((u += a + 1) > r)); + + ) + a = n[(s = (s + 1) % n.length)] + return o.reverse().join(e) + }), + a = void 0 === t.currency ? '' : t.currency[0] + '', + f = void 0 === t.currency ? '' : t.currency[1] + '', + p = void 0 === t.decimal ? '.' : t.decimal + '', + d = + void 0 === t.numerals + ? c + : (function (t) { + return function (n) { + return n.replace(/[0-9]/g, function (n) { + return t[+n] + }) + } + })(l.call(t.numerals, String)), + y = void 0 === t.percent ? '%' : t.percent + '', + _ = void 0 === t.minus ? '−' : t.minus + '', + m = void 0 === t.nan ? 'NaN' : t.nan + '' + function g(t) { + var n = (t = (0, o.Z)(t)).fill, + e = t.align, + i = t.sign, + c = t.symbol, + l = t.zero, + g = t.width, + v = t.comma, + x = t.precision, + w = t.trim, + b = t.type + 'n' === b ? ((v = !0), (b = 'g')) : u[b] || (void 0 === x && (x = 12), (w = !0), (b = 'g')), + (l || ('0' === n && '=' === e)) && ((l = !0), (n = '0'), (e = '=')) + var M = '$' === c ? a : '#' === c && /[boxX]/.test(b) ? '0' + b.toLowerCase() : '', + T = '$' === c ? f : /[%p]/.test(b) ? y : '', + E = u[b], + k = /[defgprs%]/.test(b) + function A(t) { + var o, + a, + u, + c = M, + f = T + if ('c' === b) (f = E(t) + f), (t = '') + else { + var y = (t = +t) < 0 || 1 / t < 0 + if ( + ((t = isNaN(t) ? m : E(Math.abs(t), x)), + w && + (t = (function (t) { + t: for (var n, e = t.length, r = 1, i = -1; r < e; ++r) + switch (t[r]) { + case '.': + i = n = r + break + case '0': + 0 === i && (i = r), (n = r) + break + default: + if (!+t[r]) break t + i > 0 && (i = 0) + } + return i > 0 ? t.slice(0, i) + t.slice(n + 1) : t + })(t)), + y && 0 == +t && '+' !== i && (y = !1), + (c = (y ? ('(' === i ? i : _) : '-' === i || '(' === i ? '' : i) + c), + (f = ('s' === b ? h[8 + r / 3] : '') + f + (y && '(' === i ? ')' : '')), + k) + ) + for (o = -1, a = t.length; ++o < a; ) + if (48 > (u = t.charCodeAt(o)) || u > 57) { + ;(f = (46 === u ? p + t.slice(o + 1) : t.slice(o)) + f), (t = t.slice(0, o)) + break + } + } + v && !l && (t = s(t, 1 / 0)) + var A = c.length + t.length + f.length, + N = A < g ? new Array(g - A + 1).join(n) : '' + switch ((v && l && ((t = s(N + t, N.length ? g - f.length : 1 / 0)), (N = '')), e)) { + case '<': + t = c + t + f + N + break + case '=': + t = c + N + t + f + break + case '^': + t = N.slice(0, (A = N.length >> 1)) + c + t + f + N.slice(A) + break + default: + t = N + c + t + f + } + return d(t) + } + return ( + (x = void 0 === x ? 6 : /[gprs]/.test(b) ? Math.max(1, Math.min(21, x)) : Math.max(0, Math.min(20, x))), + (A.toString = function () { + return t + '' + }), + A + ) + } + return { + format: g, + formatPrefix: function (t, n) { + var e = g((((t = (0, o.Z)(t)).type = 'f'), t)), + r = 3 * Math.max(-8, Math.min(8, Math.floor((0, i.Z)(n) / 3))), + s = Math.pow(10, -r), + a = h[8 + r / 3] + return function (t) { + return e(s * t) + a + } + } + } + } + }, + 6909: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => i }) + var r = e(5368) + function i(t) { + return Math.max(0, -(0, r.Z)(Math.abs(t))) + } + }, + 7017: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => i }) + var r = e(5368) + function i(t, n) { + return Math.max(0, 3 * Math.max(-8, Math.min(8, Math.floor((0, r.Z)(n) / 3))) - (0, r.Z)(Math.abs(t))) + } + }, + 3482: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => i }) + var r = e(5368) + function i(t, n) { + return (t = Math.abs(t)), (n = Math.abs(n) - t), Math.max(0, (0, r.Z)(n) - (0, r.Z)(t)) + 1 + } + }, + 1606: (t, n, e) => { + 'use strict' + e.d(n, { M: () => s, Z: () => o }) + var r = e(5326), + i = e(5401) + function o(t, n) { + return ((0, i.v)(n) ? i.Z : s)(t, n) + } + function s(t, n) { + var e, + i = n ? n.length : 0, + o = t ? Math.min(i, t.length) : 0, + s = new Array(o), + a = new Array(i) + for (e = 0; e < o; ++e) s[e] = (0, r.Z)(t[e], n[e]) + for (; e < i; ++e) a[e] = n[e] + return function (t) { + for (e = 0; e < o; ++e) a[e] = s[e](t) + return a + } + } + }, + 7265: (t, n, e) => { + 'use strict' + function r(t, n, e, r, i) { + var o = t * t, + s = o * t + return ((1 - 3 * t + 3 * o - s) * n + (4 - 6 * o + 3 * s) * e + (1 + 3 * t + 3 * o - 3 * s) * r + s * i) / 6 + } + function i(t) { + var n = t.length - 1 + return function (e) { + var i = e <= 0 ? (e = 0) : e >= 1 ? ((e = 1), n - 1) : Math.floor(e * n), + o = t[i], + s = t[i + 1], + a = i > 0 ? t[i - 1] : 2 * o - s, + u = i < n - 1 ? t[i + 2] : 2 * s - o + return r((e - i / n) * n, a, o, s, u) + } + } + e.d(n, { Z: () => i, t: () => r }) + }, + 6068: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => i }) + var r = e(7265) + function i(t) { + var n = t.length + return function (e) { + var i = Math.floor(((e %= 1) < 0 ? ++e : e) * n), + o = t[(i + n - 1) % n], + s = t[i % n], + a = t[(i + 1) % n], + u = t[(i + 2) % n] + return (0, r.t)((e - i / n) * n, o, s, a, u) + } + } + }, + 8280: (t, n, e) => { + 'use strict' + e.d(n, { ZP: () => a, wx: () => o, yi: () => s }) + var r = e(2954) + function i(t, n) { + return function (e) { + return t + e * n + } + } + function o(t, n) { + var e = n - t + return e ? i(t, e > 180 || e < -180 ? e - 360 * Math.round(e / 360) : e) : (0, r.Z)(isNaN(t) ? n : t) + } + function s(t) { + return 1 == (t = +t) + ? a + : function (n, e) { + return e - n + ? (function (t, n, e) { + return ( + (t = Math.pow(t, e)), + (n = Math.pow(n, e) - t), + (e = 1 / e), + function (r) { + return Math.pow(t + r * n, e) + } + ) + })(n, e, t) + : (0, r.Z)(isNaN(n) ? e : n) + } + } + function a(t, n) { + var e = n - t + return e ? i(t, e) : (0, r.Z)(isNaN(t) ? n : t) + } + }, + 2954: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => r }) + const r = (t) => () => t + }, + 6246: (t, n, e) => { + 'use strict' + function r(t, n) { + var e = new Date() + return ( + (t = +t), + (n = +n), + function (r) { + return e.setTime(t * (1 - r) + n * r), e + } + ) + } + e.d(n, { Z: () => r }) + }, + 9928: (t, n, e) => { + 'use strict' + e.r(n), + e.d(n, { + interpolate: () => r.Z, + interpolateArray: () => i.Z, + interpolateBasis: () => o.Z, + interpolateBasisClosed: () => s.Z, + interpolateCubehelix: () => P, + interpolateCubehelixLong: () => O, + interpolateDate: () => a.Z, + interpolateDiscrete: () => u, + interpolateHcl: () => k, + interpolateHclLong: () => A, + interpolateHsl: () => w, + interpolateHslLong: () => b, + interpolateHue: () => l, + interpolateLab: () => T, + interpolateNumber: () => h.Z, + interpolateNumberArray: () => f.Z, + interpolateObject: () => p.Z, + interpolateRgb: () => g.ZP, + interpolateRgbBasis: () => g.hD, + interpolateRgbBasisClosed: () => g.YD, + interpolateRound: () => d.Z, + interpolateString: () => y.Z, + interpolateTransformCss: () => _.Y, + interpolateTransformSvg: () => _.w, + interpolateZoom: () => m.Z, + piecewise: () => L.Z, + quantize: () => I + }) + var r = e(5326), + i = e(1606), + o = e(7265), + s = e(6068), + a = e(6246) + function u(t) { + var n = t.length + return function (e) { + return t[Math.max(0, Math.min(n - 1, Math.floor(e * n)))] + } + } + var c = e(8280) + function l(t, n) { + var e = (0, c.wx)(+t, +n) + return function (t) { + var n = e(t) + return n - 360 * Math.floor(n / 360) + } + } + var h = e(8063), + f = e(5401), + p = e(8296), + d = e(4635), + y = e(6773), + _ = e(6556), + m = e(8167), + g = e(6354), + v = e(4447) + function x(t) { + return function (n, e) { + var r = t((n = (0, v.Ym)(n)).h, (e = (0, v.Ym)(e)).h), + i = (0, c.ZP)(n.s, e.s), + o = (0, c.ZP)(n.l, e.l), + s = (0, c.ZP)(n.opacity, e.opacity) + return function (t) { + return (n.h = r(t)), (n.s = i(t)), (n.l = o(t)), (n.opacity = s(t)), n + '' + } + } + } + const w = x(c.wx) + var b = x(c.ZP), + M = e(8990) + function T(t, n) { + var e = (0, c.ZP)((t = (0, M.ZP)(t)).l, (n = (0, M.ZP)(n)).l), + r = (0, c.ZP)(t.a, n.a), + i = (0, c.ZP)(t.b, n.b), + o = (0, c.ZP)(t.opacity, n.opacity) + return function (n) { + return (t.l = e(n)), (t.a = r(n)), (t.b = i(n)), (t.opacity = o(n)), t + '' + } + } + function E(t) { + return function (n, e) { + var r = t((n = (0, M.Uc)(n)).h, (e = (0, M.Uc)(e)).h), + i = (0, c.ZP)(n.c, e.c), + o = (0, c.ZP)(n.l, e.l), + s = (0, c.ZP)(n.opacity, e.opacity) + return function (t) { + return (n.h = r(t)), (n.c = i(t)), (n.l = o(t)), (n.opacity = s(t)), n + '' + } + } + } + const k = E(c.wx) + var A = E(c.ZP), + N = e(5159) + function S(t) { + return (function n(e) { + function r(n, r) { + var i = t((n = (0, N.Z)(n)).h, (r = (0, N.Z)(r)).h), + o = (0, c.ZP)(n.s, r.s), + s = (0, c.ZP)(n.l, r.l), + a = (0, c.ZP)(n.opacity, r.opacity) + return function (t) { + return (n.h = i(t)), (n.s = o(t)), (n.l = s(Math.pow(t, e))), (n.opacity = a(t)), n + '' + } + } + return (e = +e), (r.gamma = n), r + })(1) + } + const P = S(c.wx) + var O = S(c.ZP), + L = e(9640) + function I(t, n) { + for (var e = new Array(n), r = 0; r < n; ++r) e[r] = t(r / (n - 1)) + return e + } + }, + 8063: (t, n, e) => { + 'use strict' + function r(t, n) { + return ( + (t = +t), + (n = +n), + function (e) { + return t * (1 - e) + n * e + } + ) + } + e.d(n, { Z: () => r }) + }, + 5401: (t, n, e) => { + 'use strict' + function r(t, n) { + n || (n = []) + var e, + r = t ? Math.min(n.length, t.length) : 0, + i = n.slice() + return function (o) { + for (e = 0; e < r; ++e) i[e] = t[e] * (1 - o) + n[e] * o + return i + } + } + function i(t) { + return ArrayBuffer.isView(t) && !(t instanceof DataView) + } + e.d(n, { Z: () => r, v: () => i }) + }, + 8296: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => i }) + var r = e(5326) + function i(t, n) { + var e, + i = {}, + o = {} + for (e in ((null !== t && 'object' == typeof t) || (t = {}), + (null !== n && 'object' == typeof n) || (n = {}), + n)) + e in t ? (i[e] = (0, r.Z)(t[e], n[e])) : (o[e] = n[e]) + return function (t) { + for (e in i) o[e] = i[e](t) + return o + } + } + }, + 9640: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => i }) + var r = e(5326) + function i(t, n) { + void 0 === n && ((n = t), (t = r.Z)) + for (var e = 0, i = n.length - 1, o = n[0], s = new Array(i < 0 ? 0 : i); e < i; ) s[e] = t(o, (o = n[++e])) + return function (t) { + var n = Math.max(0, Math.min(i - 1, Math.floor((t *= i)))) + return s[n](t - n) + } + } + }, + 6354: (t, n, e) => { + 'use strict' + e.d(n, { YD: () => l, ZP: () => a, hD: () => c }) + var r = e(4447), + i = e(7265), + o = e(6068), + s = e(8280) + const a = (function t(n) { + var e = (0, s.yi)(n) + function i(t, n) { + var i = e((t = (0, r.B8)(t)).r, (n = (0, r.B8)(n)).r), + o = e(t.g, n.g), + a = e(t.b, n.b), + u = (0, s.ZP)(t.opacity, n.opacity) + return function (n) { + return (t.r = i(n)), (t.g = o(n)), (t.b = a(n)), (t.opacity = u(n)), t + '' + } + } + return (i.gamma = t), i + })(1) + function u(t) { + return function (n) { + var e, + i, + o = n.length, + s = new Array(o), + a = new Array(o), + u = new Array(o) + for (e = 0; e < o; ++e) (i = (0, r.B8)(n[e])), (s[e] = i.r || 0), (a[e] = i.g || 0), (u[e] = i.b || 0) + return ( + (s = t(s)), + (a = t(a)), + (u = t(u)), + (i.opacity = 1), + function (t) { + return (i.r = s(t)), (i.g = a(t)), (i.b = u(t)), i + '' + } + ) + } + } + var c = u(i.Z), + l = u(o.Z) + }, + 4635: (t, n, e) => { + 'use strict' + function r(t, n) { + return ( + (t = +t), + (n = +n), + function (e) { + return Math.round(t * (1 - e) + n * e) + } + ) + } + e.d(n, { Z: () => r }) + }, + 6773: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => s }) + var r = e(8063), + i = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, + o = new RegExp(i.source, 'g') + function s(t, n) { + var e, + s, + a, + u = (i.lastIndex = o.lastIndex = 0), + c = -1, + l = [], + h = [] + for (t += '', n += ''; (e = i.exec(t)) && (s = o.exec(n)); ) + (a = s.index) > u && ((a = n.slice(u, a)), l[c] ? (l[c] += a) : (l[++c] = a)), + (e = e[0]) === (s = s[0]) + ? l[c] + ? (l[c] += s) + : (l[++c] = s) + : ((l[++c] = null), h.push({ i: c, x: (0, r.Z)(e, s) })), + (u = o.lastIndex) + return ( + u < n.length && ((a = n.slice(u)), l[c] ? (l[c] += a) : (l[++c] = a)), + l.length < 2 + ? h[0] + ? (function (t) { + return function (n) { + return t(n) + '' + } + })(h[0].x) + : (function (t) { + return function () { + return t + } + })(n) + : ((n = h.length), + function (t) { + for (var e, r = 0; r < n; ++r) l[(e = h[r]).i] = e.x(t) + return l.join('') + }) + ) + } + }, + 6556: (t, n, e) => { + 'use strict' + e.d(n, { Y: () => c, w: () => l }) + var r, + i = e(8063), + o = 180 / Math.PI, + s = { translateX: 0, translateY: 0, rotate: 0, skewX: 0, scaleX: 1, scaleY: 1 } + function a(t, n, e, r, i, s) { + var a, u, c + return ( + (a = Math.sqrt(t * t + n * n)) && ((t /= a), (n /= a)), + (c = t * e + n * r) && ((e -= t * c), (r -= n * c)), + (u = Math.sqrt(e * e + r * r)) && ((e /= u), (r /= u), (c /= u)), + t * r < n * e && ((t = -t), (n = -n), (c = -c), (a = -a)), + { + translateX: i, + translateY: s, + rotate: Math.atan2(n, t) * o, + skewX: Math.atan(c) * o, + scaleX: a, + scaleY: u + } + ) + } + function u(t, n, e, r) { + function o(t) { + return t.length ? t.pop() + ' ' : '' + } + return function (s, a) { + var u = [], + c = [] + return ( + (s = t(s)), + (a = t(a)), + (function (t, r, o, s, a, u) { + if (t !== o || r !== s) { + var c = a.push('translate(', null, n, null, e) + u.push({ i: c - 4, x: (0, i.Z)(t, o) }, { i: c - 2, x: (0, i.Z)(r, s) }) + } else (o || s) && a.push('translate(' + o + n + s + e) + })(s.translateX, s.translateY, a.translateX, a.translateY, u, c), + (function (t, n, e, s) { + t !== n + ? (t - n > 180 ? (n += 360) : n - t > 180 && (t += 360), + s.push({ i: e.push(o(e) + 'rotate(', null, r) - 2, x: (0, i.Z)(t, n) })) + : n && e.push(o(e) + 'rotate(' + n + r) + })(s.rotate, a.rotate, u, c), + (function (t, n, e, s) { + t !== n + ? s.push({ i: e.push(o(e) + 'skewX(', null, r) - 2, x: (0, i.Z)(t, n) }) + : n && e.push(o(e) + 'skewX(' + n + r) + })(s.skewX, a.skewX, u, c), + (function (t, n, e, r, s, a) { + if (t !== e || n !== r) { + var u = s.push(o(s) + 'scale(', null, ',', null, ')') + a.push({ i: u - 4, x: (0, i.Z)(t, e) }, { i: u - 2, x: (0, i.Z)(n, r) }) + } else (1 === e && 1 === r) || s.push(o(s) + 'scale(' + e + ',' + r + ')') + })(s.scaleX, s.scaleY, a.scaleX, a.scaleY, u, c), + (s = a = null), + function (t) { + for (var n, e = -1, r = c.length; ++e < r; ) u[(n = c[e]).i] = n.x(t) + return u.join('') + } + ) + } + } + var c = u( + function (t) { + const n = new ('function' == typeof DOMMatrix ? DOMMatrix : WebKitCSSMatrix)(t + '') + return n.isIdentity ? s : a(n.a, n.b, n.c, n.d, n.e, n.f) + }, + 'px, ', + 'px)', + 'deg)' + ), + l = u( + function (t) { + return null == t + ? s + : (r || (r = document.createElementNS('http://www.w3.org/2000/svg', 'g')), + r.setAttribute('transform', t), + (t = r.transform.baseVal.consolidate()) ? a((t = t.matrix).a, t.b, t.c, t.d, t.e, t.f) : s) + }, + ', ', + ')', + ')' + ) + }, + 5326: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => f }) + var r = e(4447), + i = e(6354), + o = e(1606), + s = e(6246), + a = e(8063), + u = e(8296), + c = e(6773), + l = e(2954), + h = e(5401) + function f(t, n) { + var e, + f = typeof n + return null == n || 'boolean' === f + ? (0, l.Z)(n) + : ('number' === f + ? a.Z + : 'string' === f + ? (e = (0, r.ZP)(n)) + ? ((n = e), i.ZP) + : c.Z + : n instanceof r.ZP + ? i.ZP + : n instanceof Date + ? s.Z + : (0, h.v)(n) + ? h.Z + : Array.isArray(n) + ? o.M + : ('function' != typeof n.valueOf && 'function' != typeof n.toString) || isNaN(n) + ? u.Z + : a.Z)(t, n) + } + }, + 8167: (t, n, e) => { + 'use strict' + function r(t) { + return ((t = Math.exp(t)) + 1 / t) / 2 + } + e.d(n, { Z: () => i }) + const i = (function t(n, e, i) { + function o(t, o) { + var s, + a, + u = t[0], + c = t[1], + l = t[2], + h = o[0], + f = o[1], + p = o[2], + d = h - u, + y = f - c, + _ = d * d + y * y + if (_ < 1e-12) + (a = Math.log(p / l) / n), + (s = function (t) { + return [u + t * d, c + t * y, l * Math.exp(n * t * a)] + }) + else { + var m = Math.sqrt(_), + g = (p * p - l * l + i * _) / (2 * l * e * m), + v = (p * p - l * l - i * _) / (2 * p * e * m), + x = Math.log(Math.sqrt(g * g + 1) - g), + w = Math.log(Math.sqrt(v * v + 1) - v) + ;(a = (w - x) / n), + (s = function (t) { + var i, + o = t * a, + s = r(x), + h = + (l / (e * m)) * + (s * ((i = n * o + x), ((i = Math.exp(2 * i)) - 1) / (i + 1)) - + (function (t) { + return ((t = Math.exp(t)) - 1 / t) / 2 + })(x)) + return [u + h * d, c + h * y, (l * s) / r(n * o + x)] + }) + } + return (s.duration = (1e3 * a * n) / Math.SQRT2), s + } + return ( + (o.rho = function (n) { + var e = Math.max(0.001, +n), + r = e * e + return t(e, r, r * r) + }), + o + ) + })(Math.SQRT2, 2, 4) + }, + 8066: (t, n, e) => { + 'use strict' + function r(t, n) { + switch (arguments.length) { + case 0: + break + case 1: + this.range(t) + break + default: + this.range(n).domain(t) + } + return this + } + function i(t, n) { + switch (arguments.length) { + case 0: + break + case 1: + 'function' == typeof t ? this.interpolator(t) : this.range(t) + break + default: + this.domain(t), 'function' == typeof n ? this.interpolator(n) : this.range(n) + } + return this + } + e.r(n), + e.d(n, { + scaleBand: () => l, + scaleDiverging: () => Ke, + scaleDivergingLog: () => tr, + scaleDivergingPow: () => er, + scaleDivergingSqrt: () => rr, + scaleDivergingSymlog: () => nr, + scaleIdentity: () => V, + scaleImplicit: () => u, + scaleLinear: () => B, + scaleLog: () => rt, + scaleOrdinal: () => c, + scalePoint: () => f, + scalePow: () => ft, + scaleQuantile: () => bt, + scaleQuantize: () => Mt, + scaleRadial: () => yt, + scaleSequential: () => qe, + scaleSequentialLog: () => Xe, + scaleSequentialPow: () => Ve, + scaleSequentialQuantile: () => Ge, + scaleSequentialSqrt: () => We, + scaleSequentialSymlog: () => Be, + scaleSqrt: () => pt, + scaleSymlog: () => at, + scaleThreshold: () => Tt, + scaleTime: () => ze, + scaleUtc: () => Fe, + tickFormat: () => q + }) + class o extends Map { + constructor(t, n = a) { + if ( + (super(), + Object.defineProperties(this, { _intern: { value: new Map() }, _key: { value: n } }), + null != t) + ) + for (const [n, e] of t) this.set(n, e) + } + get(t) { + return super.get(s(this, t)) + } + has(t) { + return super.has(s(this, t)) + } + set(t, n) { + return super.set( + (function ({ _intern: t, _key: n }, e) { + const r = n(e) + return t.has(r) ? t.get(r) : (t.set(r, e), e) + })(this, t), + n + ) + } + delete(t) { + return super.delete( + (function ({ _intern: t, _key: n }, e) { + const r = n(e) + return t.has(r) && ((e = t.get(r)), t.delete(r)), e + })(this, t) + ) + } + } + function s({ _intern: t, _key: n }, e) { + const r = n(e) + return t.has(r) ? t.get(r) : e + } + function a(t) { + return null !== t && 'object' == typeof t ? t.valueOf() : t + } + const u = Symbol('implicit') + function c() { + var t = new o(), + n = [], + e = [], + i = u + function s(r) { + let o = t.get(r) + if (void 0 === o) { + if (i !== u) return i + t.set(r, (o = n.push(r) - 1)) + } + return e[o % e.length] + } + return ( + (s.domain = function (e) { + if (!arguments.length) return n.slice() + ;(n = []), (t = new o()) + for (const r of e) t.has(r) || t.set(r, n.push(r) - 1) + return s + }), + (s.range = function (t) { + return arguments.length ? ((e = Array.from(t)), s) : e.slice() + }), + (s.unknown = function (t) { + return arguments.length ? ((i = t), s) : i + }), + (s.copy = function () { + return c(n, e).unknown(i) + }), + r.apply(s, arguments), + s + ) + } + function l() { + var t, + n, + e = c().unknown(void 0), + i = e.domain, + o = e.range, + s = 0, + a = 1, + u = !1, + h = 0, + f = 0, + p = 0.5 + function d() { + var e = i().length, + r = a < s, + c = r ? a : s, + l = r ? s : a + ;(t = (l - c) / Math.max(1, e - h + 2 * f)), + u && (t = Math.floor(t)), + (c += (l - c - t * (e - h)) * p), + (n = t * (1 - h)), + u && ((c = Math.round(c)), (n = Math.round(n))) + var d = (function (t, n, e) { + ;(t = +t), (n = +n), (e = (i = arguments.length) < 2 ? ((n = t), (t = 0), 1) : i < 3 ? 1 : +e) + for (var r = -1, i = 0 | Math.max(0, Math.ceil((n - t) / e)), o = new Array(i); ++r < i; ) + o[r] = t + r * e + return o + })(e).map(function (n) { + return c + t * n + }) + return o(r ? d.reverse() : d) + } + return ( + delete e.unknown, + (e.domain = function (t) { + return arguments.length ? (i(t), d()) : i() + }), + (e.range = function (t) { + return arguments.length ? (([s, a] = t), (s = +s), (a = +a), d()) : [s, a] + }), + (e.rangeRound = function (t) { + return ([s, a] = t), (s = +s), (a = +a), (u = !0), d() + }), + (e.bandwidth = function () { + return n + }), + (e.step = function () { + return t + }), + (e.round = function (t) { + return arguments.length ? ((u = !!t), d()) : u + }), + (e.padding = function (t) { + return arguments.length ? ((h = Math.min(1, (f = +t))), d()) : h + }), + (e.paddingInner = function (t) { + return arguments.length ? ((h = Math.min(1, t)), d()) : h + }), + (e.paddingOuter = function (t) { + return arguments.length ? ((f = +t), d()) : f + }), + (e.align = function (t) { + return arguments.length ? ((p = Math.max(0, Math.min(1, t))), d()) : p + }), + (e.copy = function () { + return l(i(), [s, a]).round(u).paddingInner(h).paddingOuter(f).align(p) + }), + r.apply(d(), arguments) + ) + } + function h(t) { + var n = t.copy + return ( + (t.padding = t.paddingOuter), + delete t.paddingInner, + delete t.paddingOuter, + (t.copy = function () { + return h(n()) + }), + t + ) + } + function f() { + return h(l.apply(null, arguments).paddingInner(1)) + } + const p = Math.sqrt(50), + d = Math.sqrt(10), + y = Math.sqrt(2) + function _(t, n, e) { + const r = (n - t) / Math.max(0, e), + i = Math.floor(Math.log10(r)), + o = r / Math.pow(10, i), + s = o >= p ? 10 : o >= d ? 5 : o >= y ? 2 : 1 + let a, u, c + return ( + i < 0 + ? ((c = Math.pow(10, -i) / s), + (a = Math.round(t * c)), + (u = Math.round(n * c)), + a / c < t && ++a, + u / c > n && --u, + (c = -c)) + : ((c = Math.pow(10, i) * s), + (a = Math.round(t / c)), + (u = Math.round(n / c)), + a * c < t && ++a, + u * c > n && --u), + u < a && 0.5 <= e && e < 2 ? _(t, n, 2 * e) : [a, u, c] + ) + } + function m(t, n, e) { + if (!((e = +e) > 0)) return [] + if ((t = +t) == (n = +n)) return [t] + const r = n < t, + [i, o, s] = r ? _(n, t, e) : _(t, n, e) + if (!(o >= i)) return [] + const a = o - i + 1, + u = new Array(a) + if (r) + if (s < 0) for (let t = 0; t < a; ++t) u[t] = (o - t) / -s + else for (let t = 0; t < a; ++t) u[t] = (o - t) * s + else if (s < 0) for (let t = 0; t < a; ++t) u[t] = (i + t) / -s + else for (let t = 0; t < a; ++t) u[t] = (i + t) * s + return u + } + function g(t, n, e) { + return _((t = +t), (n = +n), (e = +e))[2] + } + function v(t, n, e) { + e = +e + const r = (n = +n) < (t = +t), + i = r ? g(n, t, e) : g(t, n, e) + return (r ? -1 : 1) * (i < 0 ? 1 / -i : i) + } + function x(t, n) { + return null == t || null == n ? NaN : t < n ? -1 : t > n ? 1 : t >= n ? 0 : NaN + } + function w(t, n) { + return null == t || null == n ? NaN : n < t ? -1 : n > t ? 1 : n >= t ? 0 : NaN + } + function b(t) { + let n, e, r + function i(t, r, i = 0, o = t.length) { + if (i < o) { + if (0 !== n(r, r)) return o + do { + const n = (i + o) >>> 1 + e(t[n], r) < 0 ? (i = n + 1) : (o = n) + } while (i < o) + } + return i + } + return ( + 2 !== t.length + ? ((n = x), (e = (n, e) => x(t(n), e)), (r = (n, e) => t(n) - e)) + : ((n = t === x || t === w ? t : M), (e = t), (r = t)), + { + left: i, + center: function (t, n, e = 0, o = t.length) { + const s = i(t, n, e, o - 1) + return s > e && r(t[s - 1], n) > -r(t[s], n) ? s - 1 : s + }, + right: function (t, r, i = 0, o = t.length) { + if (i < o) { + if (0 !== n(r, r)) return o + do { + const n = (i + o) >>> 1 + e(t[n], r) <= 0 ? (i = n + 1) : (o = n) + } while (i < o) + } + return i + } + } + ) + } + function M() { + return 0 + } + function T(t) { + return null === t ? NaN : +t + } + const E = b(x), + k = E.right, + A = (E.left, b(T).center, k) + var N = e(5326), + S = e(8063), + P = e(4635) + function O(t) { + return +t + } + var L = [0, 1] + function I(t) { + return t + } + function Z(t, n) { + return (n -= t = +t) + ? function (e) { + return (e - t) / n + } + : ((e = isNaN(n) ? NaN : 0.5), + function () { + return e + }) + var e + } + function C(t, n, e) { + var r = t[0], + i = t[1], + o = n[0], + s = n[1] + return ( + i < r ? ((r = Z(i, r)), (o = e(s, o))) : ((r = Z(r, i)), (o = e(o, s))), + function (t) { + return o(r(t)) + } + ) + } + function H(t, n, e) { + var r = Math.min(t.length, n.length) - 1, + i = new Array(r), + o = new Array(r), + s = -1 + for (t[r] < t[0] && ((t = t.slice().reverse()), (n = n.slice().reverse())); ++s < r; ) + (i[s] = Z(t[s], t[s + 1])), (o[s] = e(n[s], n[s + 1])) + return function (n) { + var e = A(t, n, 1, r) - 1 + return o[e](i[e](n)) + } + } + function D(t, n) { + return n + .domain(t.domain()) + .range(t.range()) + .interpolate(t.interpolate()) + .clamp(t.clamp()) + .unknown(t.unknown()) + } + function $() { + var t, + n, + e, + r, + i, + o, + s = L, + a = L, + u = N.Z, + c = I + function l() { + var t, + n, + e, + u = Math.min(s.length, a.length) + return ( + c !== I && + ((t = s[0]), + (n = s[u - 1]), + t > n && ((e = t), (t = n), (n = e)), + (c = function (e) { + return Math.max(t, Math.min(n, e)) + })), + (r = u > 2 ? H : C), + (i = o = null), + h + ) + } + function h(n) { + return null == n || isNaN((n = +n)) ? e : (i || (i = r(s.map(t), a, u)))(t(c(n))) + } + return ( + (h.invert = function (e) { + return c(n((o || (o = r(a, s.map(t), S.Z)))(e))) + }), + (h.domain = function (t) { + return arguments.length ? ((s = Array.from(t, O)), l()) : s.slice() + }), + (h.range = function (t) { + return arguments.length ? ((a = Array.from(t)), l()) : a.slice() + }), + (h.rangeRound = function (t) { + return (a = Array.from(t)), (u = P.Z), l() + }), + (h.clamp = function (t) { + return arguments.length ? ((c = !!t || I), l()) : c !== I + }), + (h.interpolate = function (t) { + return arguments.length ? ((u = t), l()) : u + }), + (h.unknown = function (t) { + return arguments.length ? ((e = t), h) : e + }), + function (e, r) { + return (t = e), (n = r), l() + } + ) + } + function j() { + return $()(I, I) + } + var Y = e(2035), + z = e(7017), + F = e(5386), + U = e(3482), + R = e(6909) + function q(t, n, e, r) { + var i, + o = v(t, n, e) + switch ((r = (0, Y.Z)(null == r ? ',f' : r)).type) { + case 's': + var s = Math.max(Math.abs(t), Math.abs(n)) + return null != r.precision || isNaN((i = (0, z.Z)(o, s))) || (r.precision = i), (0, F.jH)(r, s) + case '': + case 'e': + case 'g': + case 'p': + case 'r': + null != r.precision || + isNaN((i = (0, U.Z)(o, Math.max(Math.abs(t), Math.abs(n))))) || + (r.precision = i - ('e' === r.type)) + break + case 'f': + case '%': + null != r.precision || isNaN((i = (0, R.Z)(o))) || (r.precision = i - 2 * ('%' === r.type)) + } + return (0, F.WU)(r) + } + function X(t) { + var n = t.domain + return ( + (t.ticks = function (t) { + var e = n() + return m(e[0], e[e.length - 1], null == t ? 10 : t) + }), + (t.tickFormat = function (t, e) { + var r = n() + return q(r[0], r[r.length - 1], null == t ? 10 : t, e) + }), + (t.nice = function (e) { + null == e && (e = 10) + var r, + i, + o = n(), + s = 0, + a = o.length - 1, + u = o[s], + c = o[a], + l = 10 + for (c < u && ((i = u), (u = c), (c = i), (i = s), (s = a), (a = i)); l-- > 0; ) { + if ((i = g(u, c, e)) === r) return (o[s] = u), (o[a] = c), n(o) + if (i > 0) (u = Math.floor(u / i) * i), (c = Math.ceil(c / i) * i) + else { + if (!(i < 0)) break + ;(u = Math.ceil(u * i) / i), (c = Math.floor(c * i) / i) + } + r = i + } + return t + }), + t + ) + } + function B() { + var t = j() + return ( + (t.copy = function () { + return D(t, B()) + }), + r.apply(t, arguments), + X(t) + ) + } + function V(t) { + var n + function e(t) { + return null == t || isNaN((t = +t)) ? n : t + } + return ( + (e.invert = e), + (e.domain = e.range = + function (n) { + return arguments.length ? ((t = Array.from(n, O)), e) : t.slice() + }), + (e.unknown = function (t) { + return arguments.length ? ((n = t), e) : n + }), + (e.copy = function () { + return V(t).unknown(n) + }), + (t = arguments.length ? Array.from(t, O) : [0, 1]), + X(e) + ) + } + function W(t, n) { + var e, + r = 0, + i = (t = t.slice()).length - 1, + o = t[r], + s = t[i] + return ( + s < o && ((e = r), (r = i), (i = e), (e = o), (o = s), (s = e)), + (t[r] = n.floor(o)), + (t[i] = n.ceil(s)), + t + ) + } + function G(t) { + return Math.log(t) + } + function J(t) { + return Math.exp(t) + } + function Q(t) { + return -Math.log(-t) + } + function K(t) { + return -Math.exp(-t) + } + function tt(t) { + return isFinite(t) ? +('1e' + t) : t < 0 ? 0 : t + } + function nt(t) { + return (n, e) => -t(-n, e) + } + function et(t) { + const n = t(G, J), + e = n.domain + let r, + i, + o = 10 + function s() { + return ( + (r = (function (t) { + return t === Math.E + ? Math.log + : (10 === t && Math.log10) || (2 === t && Math.log2) || ((t = Math.log(t)), (n) => Math.log(n) / t) + })(o)), + (i = (function (t) { + return 10 === t ? tt : t === Math.E ? Math.exp : (n) => Math.pow(t, n) + })(o)), + e()[0] < 0 ? ((r = nt(r)), (i = nt(i)), t(Q, K)) : t(G, J), + n + ) + } + return ( + (n.base = function (t) { + return arguments.length ? ((o = +t), s()) : o + }), + (n.domain = function (t) { + return arguments.length ? (e(t), s()) : e() + }), + (n.ticks = (t) => { + const n = e() + let s = n[0], + a = n[n.length - 1] + const u = a < s + u && ([s, a] = [a, s]) + let c, + l, + h = r(s), + f = r(a) + const p = null == t ? 10 : +t + let d = [] + if (!(o % 1) && f - h < p) { + if (((h = Math.floor(h)), (f = Math.ceil(f)), s > 0)) { + for (; h <= f; ++h) + for (c = 1; c < o; ++c) + if (((l = h < 0 ? c / i(-h) : c * i(h)), !(l < s))) { + if (l > a) break + d.push(l) + } + } else + for (; h <= f; ++h) + for (c = o - 1; c >= 1; --c) + if (((l = h > 0 ? c / i(-h) : c * i(h)), !(l < s))) { + if (l > a) break + d.push(l) + } + 2 * d.length < p && (d = m(s, a, p)) + } else d = m(h, f, Math.min(f - h, p)).map(i) + return u ? d.reverse() : d + }), + (n.tickFormat = (t, e) => { + if ( + (null == t && (t = 10), + null == e && (e = 10 === o ? 's' : ','), + 'function' != typeof e && + (o % 1 || null != (e = (0, Y.Z)(e)).precision || (e.trim = !0), (e = (0, F.WU)(e))), + t === 1 / 0) + ) + return e + const s = Math.max(1, (o * t) / n.ticks().length) + return (t) => { + let n = t / i(Math.round(r(t))) + return n * o < o - 0.5 && (n *= o), n <= s ? e(t) : '' + } + }), + (n.nice = () => e(W(e(), { floor: (t) => i(Math.floor(r(t))), ceil: (t) => i(Math.ceil(r(t))) }))), + n + ) + } + function rt() { + const t = et($()).domain([1, 10]) + return (t.copy = () => D(t, rt()).base(t.base())), r.apply(t, arguments), t + } + function it(t) { + return function (n) { + return Math.sign(n) * Math.log1p(Math.abs(n / t)) + } + } + function ot(t) { + return function (n) { + return Math.sign(n) * Math.expm1(Math.abs(n)) * t + } + } + function st(t) { + var n = 1, + e = t(it(n), ot(n)) + return ( + (e.constant = function (e) { + return arguments.length ? t(it((n = +e)), ot(n)) : n + }), + X(e) + ) + } + function at() { + var t = st($()) + return ( + (t.copy = function () { + return D(t, at()).constant(t.constant()) + }), + r.apply(t, arguments) + ) + } + function ut(t) { + return function (n) { + return n < 0 ? -Math.pow(-n, t) : Math.pow(n, t) + } + } + function ct(t) { + return t < 0 ? -Math.sqrt(-t) : Math.sqrt(t) + } + function lt(t) { + return t < 0 ? -t * t : t * t + } + function ht(t) { + var n = t(I, I), + e = 1 + return ( + (n.exponent = function (n) { + return arguments.length ? (1 == (e = +n) ? t(I, I) : 0.5 === e ? t(ct, lt) : t(ut(e), ut(1 / e))) : e + }), + X(n) + ) + } + function ft() { + var t = ht($()) + return ( + (t.copy = function () { + return D(t, ft()).exponent(t.exponent()) + }), + r.apply(t, arguments), + t + ) + } + function pt() { + return ft.apply(null, arguments).exponent(0.5) + } + function dt(t) { + return Math.sign(t) * t * t + } + function yt() { + var t, + n = j(), + e = [0, 1], + i = !1 + function o(e) { + var r = (function (t) { + return Math.sign(t) * Math.sqrt(Math.abs(t)) + })(n(e)) + return isNaN(r) ? t : i ? Math.round(r) : r + } + return ( + (o.invert = function (t) { + return n.invert(dt(t)) + }), + (o.domain = function (t) { + return arguments.length ? (n.domain(t), o) : n.domain() + }), + (o.range = function (t) { + return arguments.length ? (n.range((e = Array.from(t, O)).map(dt)), o) : e.slice() + }), + (o.rangeRound = function (t) { + return o.range(t).round(!0) + }), + (o.round = function (t) { + return arguments.length ? ((i = !!t), o) : i + }), + (o.clamp = function (t) { + return arguments.length ? (n.clamp(t), o) : n.clamp() + }), + (o.unknown = function (n) { + return arguments.length ? ((t = n), o) : t + }), + (o.copy = function () { + return yt(n.domain(), e).round(i).clamp(n.clamp()).unknown(t) + }), + r.apply(o, arguments), + X(o) + ) + } + function _t(t, n) { + let e + if (void 0 === n) for (const n of t) null != n && (e < n || (void 0 === e && n >= n)) && (e = n) + else { + let r = -1 + for (let i of t) null != (i = n(i, ++r, t)) && (e < i || (void 0 === e && i >= i)) && (e = i) + } + return e + } + function mt(t, n) { + let e + if (void 0 === n) for (const n of t) null != n && (e > n || (void 0 === e && n >= n)) && (e = n) + else { + let r = -1 + for (let i of t) null != (i = n(i, ++r, t)) && (e > i || (void 0 === e && i >= i)) && (e = i) + } + return e + } + function gt(t, n) { + return (null == t || !(t >= t)) - (null == n || !(n >= n)) || (t < n ? -1 : t > n ? 1 : 0) + } + function vt(t, n, e = 0, r = 1 / 0, i) { + if ( + ((n = Math.floor(n)), + (e = Math.floor(Math.max(0, e))), + (r = Math.floor(Math.min(t.length - 1, r))), + !(e <= n && n <= r)) + ) + return t + for ( + i = + void 0 === i + ? gt + : (function (t = x) { + if (t === x) return gt + if ('function' != typeof t) throw new TypeError('compare is not a function') + return (n, e) => { + const r = t(n, e) + return r || 0 === r ? r : (0 === t(e, e)) - (0 === t(n, n)) + } + })(i); + r > e; + + ) { + if (r - e > 600) { + const o = r - e + 1, + s = n - e + 1, + a = Math.log(o), + u = 0.5 * Math.exp((2 * a) / 3), + c = 0.5 * Math.sqrt((a * u * (o - u)) / o) * (s - o / 2 < 0 ? -1 : 1) + vt( + t, + n, + Math.max(e, Math.floor(n - (s * u) / o + c)), + Math.min(r, Math.floor(n + ((o - s) * u) / o + c)), + i + ) + } + const o = t[n] + let s = e, + a = r + for (xt(t, e, n), i(t[r], o) > 0 && xt(t, e, r); s < a; ) { + for (xt(t, s, a), ++s, --a; i(t[s], o) < 0; ) ++s + for (; i(t[a], o) > 0; ) --a + } + 0 === i(t[e], o) ? xt(t, e, a) : (++a, xt(t, a, r)), a <= n && (e = a + 1), n <= a && (r = a - 1) + } + return t + } + function xt(t, n, e) { + const r = t[n] + ;(t[n] = t[e]), (t[e] = r) + } + function wt(t, n, e = T) { + if ((r = t.length) && !isNaN((n = +n))) { + if (n <= 0 || r < 2) return +e(t[0], 0, t) + if (n >= 1) return +e(t[r - 1], r - 1, t) + var r, + i = (r - 1) * n, + o = Math.floor(i), + s = +e(t[o], o, t) + return s + (+e(t[o + 1], o + 1, t) - s) * (i - o) + } + } + function bt() { + var t, + n = [], + e = [], + i = [] + function o() { + var t = 0, + r = Math.max(1, e.length) + for (i = new Array(r - 1); ++t < r; ) i[t - 1] = wt(n, t / r) + return s + } + function s(n) { + return null == n || isNaN((n = +n)) ? t : e[A(i, n)] + } + return ( + (s.invertExtent = function (t) { + var r = e.indexOf(t) + return r < 0 ? [NaN, NaN] : [r > 0 ? i[r - 1] : n[0], r < i.length ? i[r] : n[n.length - 1]] + }), + (s.domain = function (t) { + if (!arguments.length) return n.slice() + n = [] + for (let e of t) null == e || isNaN((e = +e)) || n.push(e) + return n.sort(x), o() + }), + (s.range = function (t) { + return arguments.length ? ((e = Array.from(t)), o()) : e.slice() + }), + (s.unknown = function (n) { + return arguments.length ? ((t = n), s) : t + }), + (s.quantiles = function () { + return i.slice() + }), + (s.copy = function () { + return bt().domain(n).range(e).unknown(t) + }), + r.apply(s, arguments) + ) + } + function Mt() { + var t, + n = 0, + e = 1, + i = 1, + o = [0.5], + s = [0, 1] + function a(n) { + return null != n && n <= n ? s[A(o, n, 0, i)] : t + } + function u() { + var t = -1 + for (o = new Array(i); ++t < i; ) o[t] = ((t + 1) * e - (t - i) * n) / (i + 1) + return a + } + return ( + (a.domain = function (t) { + return arguments.length ? (([n, e] = t), (n = +n), (e = +e), u()) : [n, e] + }), + (a.range = function (t) { + return arguments.length ? ((i = (s = Array.from(t)).length - 1), u()) : s.slice() + }), + (a.invertExtent = function (t) { + var r = s.indexOf(t) + return r < 0 ? [NaN, NaN] : r < 1 ? [n, o[0]] : r >= i ? [o[i - 1], e] : [o[r - 1], o[r]] + }), + (a.unknown = function (n) { + return arguments.length ? ((t = n), a) : a + }), + (a.thresholds = function () { + return o.slice() + }), + (a.copy = function () { + return Mt().domain([n, e]).range(s).unknown(t) + }), + r.apply(X(a), arguments) + ) + } + function Tt() { + var t, + n = [0.5], + e = [0, 1], + i = 1 + function o(r) { + return null != r && r <= r ? e[A(n, r, 0, i)] : t + } + return ( + (o.domain = function (t) { + return arguments.length ? ((n = Array.from(t)), (i = Math.min(n.length, e.length - 1)), o) : n.slice() + }), + (o.range = function (t) { + return arguments.length ? ((e = Array.from(t)), (i = Math.min(n.length, e.length - 1)), o) : e.slice() + }), + (o.invertExtent = function (t) { + var r = e.indexOf(t) + return [n[r - 1], n[r]] + }), + (o.unknown = function (n) { + return arguments.length ? ((t = n), o) : t + }), + (o.copy = function () { + return Tt().domain(n).range(e).unknown(t) + }), + r.apply(o, arguments) + ) + } + const Et = 1e3, + kt = 6e4, + At = 36e5, + Nt = 864e5, + St = 6048e5, + Pt = 31536e6, + Ot = new Date(), + Lt = new Date() + function It(t, n, e, r) { + function i(n) { + return t((n = 0 === arguments.length ? new Date() : new Date(+n))), n + } + return ( + (i.floor = (n) => (t((n = new Date(+n))), n)), + (i.ceil = (e) => (t((e = new Date(e - 1))), n(e, 1), t(e), e)), + (i.round = (t) => { + const n = i(t), + e = i.ceil(t) + return t - n < e - t ? n : e + }), + (i.offset = (t, e) => (n((t = new Date(+t)), null == e ? 1 : Math.floor(e)), t)), + (i.range = (e, r, o) => { + const s = [] + if (((e = i.ceil(e)), (o = null == o ? 1 : Math.floor(o)), !(e < r && o > 0))) return s + let a + do { + s.push((a = new Date(+e))), n(e, o), t(e) + } while (a < e && e < r) + return s + }), + (i.filter = (e) => + It( + (n) => { + if (n >= n) for (; t(n), !e(n); ) n.setTime(n - 1) + }, + (t, r) => { + if (t >= t) + if (r < 0) for (; ++r <= 0; ) for (; n(t, -1), !e(t); ); + else for (; --r >= 0; ) for (; n(t, 1), !e(t); ); + } + )), + e && + ((i.count = (n, r) => (Ot.setTime(+n), Lt.setTime(+r), t(Ot), t(Lt), Math.floor(e(Ot, Lt)))), + (i.every = (t) => ( + (t = Math.floor(t)), + isFinite(t) && t > 0 + ? t > 1 + ? i.filter(r ? (n) => r(n) % t == 0 : (n) => i.count(0, n) % t == 0) + : i + : null + ))), + i + ) + } + const Zt = It( + () => {}, + (t, n) => { + t.setTime(+t + n) + }, + (t, n) => n - t + ) + ;(Zt.every = (t) => ( + (t = Math.floor(t)), + isFinite(t) && t > 0 + ? t > 1 + ? It( + (n) => { + n.setTime(Math.floor(n / t) * t) + }, + (n, e) => { + n.setTime(+n + e * t) + }, + (n, e) => (e - n) / t + ) + : Zt + : null + )), + Zt.range + const Ct = It( + (t) => { + t.setTime(t - t.getMilliseconds()) + }, + (t, n) => { + t.setTime(+t + n * Et) + }, + (t, n) => (n - t) / Et, + (t) => t.getUTCSeconds() + ), + Ht = + (Ct.range, + It( + (t) => { + t.setTime(t - t.getMilliseconds() - t.getSeconds() * Et) + }, + (t, n) => { + t.setTime(+t + n * kt) + }, + (t, n) => (n - t) / kt, + (t) => t.getMinutes() + )), + Dt = + (Ht.range, + It( + (t) => { + t.setUTCSeconds(0, 0) + }, + (t, n) => { + t.setTime(+t + n * kt) + }, + (t, n) => (n - t) / kt, + (t) => t.getUTCMinutes() + )), + $t = + (Dt.range, + It( + (t) => { + t.setTime(t - t.getMilliseconds() - t.getSeconds() * Et - t.getMinutes() * kt) + }, + (t, n) => { + t.setTime(+t + n * At) + }, + (t, n) => (n - t) / At, + (t) => t.getHours() + )), + jt = + ($t.range, + It( + (t) => { + t.setUTCMinutes(0, 0, 0) + }, + (t, n) => { + t.setTime(+t + n * At) + }, + (t, n) => (n - t) / At, + (t) => t.getUTCHours() + )), + Yt = + (jt.range, + It( + (t) => t.setHours(0, 0, 0, 0), + (t, n) => t.setDate(t.getDate() + n), + (t, n) => (n - t - (n.getTimezoneOffset() - t.getTimezoneOffset()) * kt) / Nt, + (t) => t.getDate() - 1 + )), + zt = + (Yt.range, + It( + (t) => { + t.setUTCHours(0, 0, 0, 0) + }, + (t, n) => { + t.setUTCDate(t.getUTCDate() + n) + }, + (t, n) => (n - t) / Nt, + (t) => t.getUTCDate() - 1 + )), + Ft = + (zt.range, + It( + (t) => { + t.setUTCHours(0, 0, 0, 0) + }, + (t, n) => { + t.setUTCDate(t.getUTCDate() + n) + }, + (t, n) => (n - t) / Nt, + (t) => Math.floor(t / Nt) + )) + function Ut(t) { + return It( + (n) => { + n.setDate(n.getDate() - ((n.getDay() + 7 - t) % 7)), n.setHours(0, 0, 0, 0) + }, + (t, n) => { + t.setDate(t.getDate() + 7 * n) + }, + (t, n) => (n - t - (n.getTimezoneOffset() - t.getTimezoneOffset()) * kt) / St + ) + } + Ft.range + const Rt = Ut(0), + qt = Ut(1), + Xt = Ut(2), + Bt = Ut(3), + Vt = Ut(4), + Wt = Ut(5), + Gt = Ut(6) + function Jt(t) { + return It( + (n) => { + n.setUTCDate(n.getUTCDate() - ((n.getUTCDay() + 7 - t) % 7)), n.setUTCHours(0, 0, 0, 0) + }, + (t, n) => { + t.setUTCDate(t.getUTCDate() + 7 * n) + }, + (t, n) => (n - t) / St + ) + } + Rt.range, qt.range, Xt.range, Bt.range, Vt.range, Wt.range, Gt.range + const Qt = Jt(0), + Kt = Jt(1), + tn = Jt(2), + nn = Jt(3), + en = Jt(4), + rn = Jt(5), + on = Jt(6), + sn = + (Qt.range, + Kt.range, + tn.range, + nn.range, + en.range, + rn.range, + on.range, + It( + (t) => { + t.setDate(1), t.setHours(0, 0, 0, 0) + }, + (t, n) => { + t.setMonth(t.getMonth() + n) + }, + (t, n) => n.getMonth() - t.getMonth() + 12 * (n.getFullYear() - t.getFullYear()), + (t) => t.getMonth() + )), + an = + (sn.range, + It( + (t) => { + t.setUTCDate(1), t.setUTCHours(0, 0, 0, 0) + }, + (t, n) => { + t.setUTCMonth(t.getUTCMonth() + n) + }, + (t, n) => n.getUTCMonth() - t.getUTCMonth() + 12 * (n.getUTCFullYear() - t.getUTCFullYear()), + (t) => t.getUTCMonth() + )), + un = + (an.range, + It( + (t) => { + t.setMonth(0, 1), t.setHours(0, 0, 0, 0) + }, + (t, n) => { + t.setFullYear(t.getFullYear() + n) + }, + (t, n) => n.getFullYear() - t.getFullYear(), + (t) => t.getFullYear() + )) + ;(un.every = (t) => + isFinite((t = Math.floor(t))) && t > 0 + ? It( + (n) => { + n.setFullYear(Math.floor(n.getFullYear() / t) * t), n.setMonth(0, 1), n.setHours(0, 0, 0, 0) + }, + (n, e) => { + n.setFullYear(n.getFullYear() + e * t) + } + ) + : null), + un.range + const cn = It( + (t) => { + t.setUTCMonth(0, 1), t.setUTCHours(0, 0, 0, 0) + }, + (t, n) => { + t.setUTCFullYear(t.getUTCFullYear() + n) + }, + (t, n) => n.getUTCFullYear() - t.getUTCFullYear(), + (t) => t.getUTCFullYear() + ) + function ln(t, n, e, r, i, o) { + const s = [ + [Ct, 1, Et], + [Ct, 5, 5e3], + [Ct, 15, 15e3], + [Ct, 30, 3e4], + [o, 1, kt], + [o, 5, 3e5], + [o, 15, 9e5], + [o, 30, 18e5], + [i, 1, At], + [i, 3, 108e5], + [i, 6, 216e5], + [i, 12, 432e5], + [r, 1, Nt], + [r, 2, 1728e5], + [e, 1, St], + [n, 1, 2592e6], + [n, 3, 7776e6], + [t, 1, Pt] + ] + function a(n, e, r) { + const i = Math.abs(e - n) / r, + o = b(([, , t]) => t).right(s, i) + if (o === s.length) return t.every(v(n / Pt, e / Pt, r)) + if (0 === o) return Zt.every(Math.max(v(n, e, r), 1)) + const [a, u] = s[i / s[o - 1][2] < s[o][2] / i ? o - 1 : o] + return a.every(u) + } + return [ + function (t, n, e) { + const r = n < t + r && ([t, n] = [n, t]) + const i = e && 'function' == typeof e.range ? e : a(t, n, e), + o = i ? i.range(t, +n + 1) : [] + return r ? o.reverse() : o + }, + a + ] + } + ;(cn.every = (t) => + isFinite((t = Math.floor(t))) && t > 0 + ? It( + (n) => { + n.setUTCFullYear(Math.floor(n.getUTCFullYear() / t) * t), + n.setUTCMonth(0, 1), + n.setUTCHours(0, 0, 0, 0) + }, + (n, e) => { + n.setUTCFullYear(n.getUTCFullYear() + e * t) + } + ) + : null), + cn.range + const [hn, fn] = ln(cn, an, Qt, Ft, jt, Dt), + [pn, dn] = ln(un, sn, Rt, Yt, $t, Ht) + function yn(t) { + if (0 <= t.y && t.y < 100) { + var n = new Date(-1, t.m, t.d, t.H, t.M, t.S, t.L) + return n.setFullYear(t.y), n + } + return new Date(t.y, t.m, t.d, t.H, t.M, t.S, t.L) + } + function _n(t) { + if (0 <= t.y && t.y < 100) { + var n = new Date(Date.UTC(-1, t.m, t.d, t.H, t.M, t.S, t.L)) + return n.setUTCFullYear(t.y), n + } + return new Date(Date.UTC(t.y, t.m, t.d, t.H, t.M, t.S, t.L)) + } + function mn(t, n, e) { + return { y: t, m: n, d: e, H: 0, M: 0, S: 0, L: 0 } + } + var gn, + vn, + xn, + wn = { '-': '', _: ' ', 0: '0' }, + bn = /^\s*\d+/, + Mn = /^%/, + Tn = /[\\^$*+?|[\]().{}]/g + function En(t, n, e) { + var r = t < 0 ? '-' : '', + i = (r ? -t : t) + '', + o = i.length + return r + (o < e ? new Array(e - o + 1).join(n) + i : i) + } + function kn(t) { + return t.replace(Tn, '\\$&') + } + function An(t) { + return new RegExp('^(?:' + t.map(kn).join('|') + ')', 'i') + } + function Nn(t) { + return new Map(t.map((t, n) => [t.toLowerCase(), n])) + } + function Sn(t, n, e) { + var r = bn.exec(n.slice(e, e + 1)) + return r ? ((t.w = +r[0]), e + r[0].length) : -1 + } + function Pn(t, n, e) { + var r = bn.exec(n.slice(e, e + 1)) + return r ? ((t.u = +r[0]), e + r[0].length) : -1 + } + function On(t, n, e) { + var r = bn.exec(n.slice(e, e + 2)) + return r ? ((t.U = +r[0]), e + r[0].length) : -1 + } + function Ln(t, n, e) { + var r = bn.exec(n.slice(e, e + 2)) + return r ? ((t.V = +r[0]), e + r[0].length) : -1 + } + function In(t, n, e) { + var r = bn.exec(n.slice(e, e + 2)) + return r ? ((t.W = +r[0]), e + r[0].length) : -1 + } + function Zn(t, n, e) { + var r = bn.exec(n.slice(e, e + 4)) + return r ? ((t.y = +r[0]), e + r[0].length) : -1 + } + function Cn(t, n, e) { + var r = bn.exec(n.slice(e, e + 2)) + return r ? ((t.y = +r[0] + (+r[0] > 68 ? 1900 : 2e3)), e + r[0].length) : -1 + } + function Hn(t, n, e) { + var r = /^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(n.slice(e, e + 6)) + return r ? ((t.Z = r[1] ? 0 : -(r[2] + (r[3] || '00'))), e + r[0].length) : -1 + } + function Dn(t, n, e) { + var r = bn.exec(n.slice(e, e + 1)) + return r ? ((t.q = 3 * r[0] - 3), e + r[0].length) : -1 + } + function $n(t, n, e) { + var r = bn.exec(n.slice(e, e + 2)) + return r ? ((t.m = r[0] - 1), e + r[0].length) : -1 + } + function jn(t, n, e) { + var r = bn.exec(n.slice(e, e + 2)) + return r ? ((t.d = +r[0]), e + r[0].length) : -1 + } + function Yn(t, n, e) { + var r = bn.exec(n.slice(e, e + 3)) + return r ? ((t.m = 0), (t.d = +r[0]), e + r[0].length) : -1 + } + function zn(t, n, e) { + var r = bn.exec(n.slice(e, e + 2)) + return r ? ((t.H = +r[0]), e + r[0].length) : -1 + } + function Fn(t, n, e) { + var r = bn.exec(n.slice(e, e + 2)) + return r ? ((t.M = +r[0]), e + r[0].length) : -1 + } + function Un(t, n, e) { + var r = bn.exec(n.slice(e, e + 2)) + return r ? ((t.S = +r[0]), e + r[0].length) : -1 + } + function Rn(t, n, e) { + var r = bn.exec(n.slice(e, e + 3)) + return r ? ((t.L = +r[0]), e + r[0].length) : -1 + } + function qn(t, n, e) { + var r = bn.exec(n.slice(e, e + 6)) + return r ? ((t.L = Math.floor(r[0] / 1e3)), e + r[0].length) : -1 + } + function Xn(t, n, e) { + var r = Mn.exec(n.slice(e, e + 1)) + return r ? e + r[0].length : -1 + } + function Bn(t, n, e) { + var r = bn.exec(n.slice(e)) + return r ? ((t.Q = +r[0]), e + r[0].length) : -1 + } + function Vn(t, n, e) { + var r = bn.exec(n.slice(e)) + return r ? ((t.s = +r[0]), e + r[0].length) : -1 + } + function Wn(t, n) { + return En(t.getDate(), n, 2) + } + function Gn(t, n) { + return En(t.getHours(), n, 2) + } + function Jn(t, n) { + return En(t.getHours() % 12 || 12, n, 2) + } + function Qn(t, n) { + return En(1 + Yt.count(un(t), t), n, 3) + } + function Kn(t, n) { + return En(t.getMilliseconds(), n, 3) + } + function te(t, n) { + return Kn(t, n) + '000' + } + function ne(t, n) { + return En(t.getMonth() + 1, n, 2) + } + function ee(t, n) { + return En(t.getMinutes(), n, 2) + } + function re(t, n) { + return En(t.getSeconds(), n, 2) + } + function ie(t) { + var n = t.getDay() + return 0 === n ? 7 : n + } + function oe(t, n) { + return En(Rt.count(un(t) - 1, t), n, 2) + } + function se(t) { + var n = t.getDay() + return n >= 4 || 0 === n ? Vt(t) : Vt.ceil(t) + } + function ae(t, n) { + return (t = se(t)), En(Vt.count(un(t), t) + (4 === un(t).getDay()), n, 2) + } + function ue(t) { + return t.getDay() + } + function ce(t, n) { + return En(qt.count(un(t) - 1, t), n, 2) + } + function le(t, n) { + return En(t.getFullYear() % 100, n, 2) + } + function he(t, n) { + return En((t = se(t)).getFullYear() % 100, n, 2) + } + function fe(t, n) { + return En(t.getFullYear() % 1e4, n, 4) + } + function pe(t, n) { + var e = t.getDay() + return En((t = e >= 4 || 0 === e ? Vt(t) : Vt.ceil(t)).getFullYear() % 1e4, n, 4) + } + function de(t) { + var n = t.getTimezoneOffset() + return (n > 0 ? '-' : ((n *= -1), '+')) + En((n / 60) | 0, '0', 2) + En(n % 60, '0', 2) + } + function ye(t, n) { + return En(t.getUTCDate(), n, 2) + } + function _e(t, n) { + return En(t.getUTCHours(), n, 2) + } + function me(t, n) { + return En(t.getUTCHours() % 12 || 12, n, 2) + } + function ge(t, n) { + return En(1 + zt.count(cn(t), t), n, 3) + } + function ve(t, n) { + return En(t.getUTCMilliseconds(), n, 3) + } + function xe(t, n) { + return ve(t, n) + '000' + } + function we(t, n) { + return En(t.getUTCMonth() + 1, n, 2) + } + function be(t, n) { + return En(t.getUTCMinutes(), n, 2) + } + function Me(t, n) { + return En(t.getUTCSeconds(), n, 2) + } + function Te(t) { + var n = t.getUTCDay() + return 0 === n ? 7 : n + } + function Ee(t, n) { + return En(Qt.count(cn(t) - 1, t), n, 2) + } + function ke(t) { + var n = t.getUTCDay() + return n >= 4 || 0 === n ? en(t) : en.ceil(t) + } + function Ae(t, n) { + return (t = ke(t)), En(en.count(cn(t), t) + (4 === cn(t).getUTCDay()), n, 2) + } + function Ne(t) { + return t.getUTCDay() + } + function Se(t, n) { + return En(Kt.count(cn(t) - 1, t), n, 2) + } + function Pe(t, n) { + return En(t.getUTCFullYear() % 100, n, 2) + } + function Oe(t, n) { + return En((t = ke(t)).getUTCFullYear() % 100, n, 2) + } + function Le(t, n) { + return En(t.getUTCFullYear() % 1e4, n, 4) + } + function Ie(t, n) { + var e = t.getUTCDay() + return En((t = e >= 4 || 0 === e ? en(t) : en.ceil(t)).getUTCFullYear() % 1e4, n, 4) + } + function Ze() { + return '+0000' + } + function Ce() { + return '%' + } + function He(t) { + return +t + } + function De(t) { + return Math.floor(+t / 1e3) + } + function $e(t) { + return new Date(t) + } + function je(t) { + return t instanceof Date ? +t : +new Date(+t) + } + function Ye(t, n, e, r, i, o, s, a, u, c) { + var l = j(), + h = l.invert, + f = l.domain, + p = c('.%L'), + d = c(':%S'), + y = c('%I:%M'), + _ = c('%I %p'), + m = c('%a %d'), + g = c('%b %d'), + v = c('%B'), + x = c('%Y') + function w(t) { + return ( + u(t) < t + ? p + : a(t) < t + ? d + : s(t) < t + ? y + : o(t) < t + ? _ + : r(t) < t + ? i(t) < t + ? m + : g + : e(t) < t + ? v + : x + )(t) + } + return ( + (l.invert = function (t) { + return new Date(h(t)) + }), + (l.domain = function (t) { + return arguments.length ? f(Array.from(t, je)) : f().map($e) + }), + (l.ticks = function (n) { + var e = f() + return t(e[0], e[e.length - 1], null == n ? 10 : n) + }), + (l.tickFormat = function (t, n) { + return null == n ? w : c(n) + }), + (l.nice = function (t) { + var e = f() + return ( + (t && 'function' == typeof t.range) || (t = n(e[0], e[e.length - 1], null == t ? 10 : t)), + t ? f(W(e, t)) : l + ) + }), + (l.copy = function () { + return D(l, Ye(t, n, e, r, i, o, s, a, u, c)) + }), + l + ) + } + function ze() { + return r.apply( + Ye(pn, dn, un, sn, Rt, Yt, $t, Ht, Ct, vn).domain([new Date(2e3, 0, 1), new Date(2e3, 0, 2)]), + arguments + ) + } + function Fe() { + return r.apply( + Ye(hn, fn, cn, an, Qt, zt, jt, Dt, Ct, xn).domain([Date.UTC(2e3, 0, 1), Date.UTC(2e3, 0, 2)]), + arguments + ) + } + function Ue() { + var t, + n, + e, + r, + i, + o = 0, + s = 1, + a = I, + u = !1 + function c(n) { + return null == n || isNaN((n = +n)) + ? i + : a(0 === e ? 0.5 : ((n = (r(n) - t) * e), u ? Math.max(0, Math.min(1, n)) : n)) + } + function l(t) { + return function (n) { + var e, r + return arguments.length ? (([e, r] = n), (a = t(e, r)), c) : [a(0), a(1)] + } + } + return ( + (c.domain = function (i) { + return arguments.length + ? (([o, s] = i), (t = r((o = +o))), (n = r((s = +s))), (e = t === n ? 0 : 1 / (n - t)), c) + : [o, s] + }), + (c.clamp = function (t) { + return arguments.length ? ((u = !!t), c) : u + }), + (c.interpolator = function (t) { + return arguments.length ? ((a = t), c) : a + }), + (c.range = l(N.Z)), + (c.rangeRound = l(P.Z)), + (c.unknown = function (t) { + return arguments.length ? ((i = t), c) : i + }), + function (i) { + return (r = i), (t = i(o)), (n = i(s)), (e = t === n ? 0 : 1 / (n - t)), c + } + ) + } + function Re(t, n) { + return n.domain(t.domain()).interpolator(t.interpolator()).clamp(t.clamp()).unknown(t.unknown()) + } + function qe() { + var t = X(Ue()(I)) + return ( + (t.copy = function () { + return Re(t, qe()) + }), + i.apply(t, arguments) + ) + } + function Xe() { + var t = et(Ue()).domain([1, 10]) + return ( + (t.copy = function () { + return Re(t, Xe()).base(t.base()) + }), + i.apply(t, arguments) + ) + } + function Be() { + var t = st(Ue()) + return ( + (t.copy = function () { + return Re(t, Be()).constant(t.constant()) + }), + i.apply(t, arguments) + ) + } + function Ve() { + var t = ht(Ue()) + return ( + (t.copy = function () { + return Re(t, Ve()).exponent(t.exponent()) + }), + i.apply(t, arguments) + ) + } + function We() { + return Ve.apply(null, arguments).exponent(0.5) + } + function Ge() { + var t = [], + n = I + function e(e) { + if (null != e && !isNaN((e = +e))) return n((A(t, e, 1) - 1) / (t.length - 1)) + } + return ( + (e.domain = function (n) { + if (!arguments.length) return t.slice() + t = [] + for (let e of n) null == e || isNaN((e = +e)) || t.push(e) + return t.sort(x), e + }), + (e.interpolator = function (t) { + return arguments.length ? ((n = t), e) : n + }), + (e.range = function () { + return t.map((e, r) => n(r / (t.length - 1))) + }), + (e.quantiles = function (n) { + return Array.from({ length: n + 1 }, (e, r) => + (function (t, n, e) { + if ( + ((t = Float64Array.from( + (function* (t, n) { + if (void 0 === n) for (let n of t) null != n && (n = +n) >= n && (yield n) + else { + let e = -1 + for (let r of t) null != (r = n(r, ++e, t)) && (r = +r) >= r && (yield r) + } + })(t, e) + )), + (r = t.length) && !isNaN((n = +n))) + ) { + if (n <= 0 || r < 2) return mt(t) + if (n >= 1) return _t(t) + var r, + i = (r - 1) * n, + o = Math.floor(i), + s = _t(vt(t, o).subarray(0, o + 1)) + return s + (mt(t.subarray(o + 1)) - s) * (i - o) + } + })(t, r / n) + ) + }), + (e.copy = function () { + return Ge(n).domain(t) + }), + i.apply(e, arguments) + ) + } + ;(gn = (function (t) { + var n = t.dateTime, + e = t.date, + r = t.time, + i = t.periods, + o = t.days, + s = t.shortDays, + a = t.months, + u = t.shortMonths, + c = An(i), + l = Nn(i), + h = An(o), + f = Nn(o), + p = An(s), + d = Nn(s), + y = An(a), + _ = Nn(a), + m = An(u), + g = Nn(u), + v = { + a: function (t) { + return s[t.getDay()] + }, + A: function (t) { + return o[t.getDay()] + }, + b: function (t) { + return u[t.getMonth()] + }, + B: function (t) { + return a[t.getMonth()] + }, + c: null, + d: Wn, + e: Wn, + f: te, + g: he, + G: pe, + H: Gn, + I: Jn, + j: Qn, + L: Kn, + m: ne, + M: ee, + p: function (t) { + return i[+(t.getHours() >= 12)] + }, + q: function (t) { + return 1 + ~~(t.getMonth() / 3) + }, + Q: He, + s: De, + S: re, + u: ie, + U: oe, + V: ae, + w: ue, + W: ce, + x: null, + X: null, + y: le, + Y: fe, + Z: de, + '%': Ce + }, + x = { + a: function (t) { + return s[t.getUTCDay()] + }, + A: function (t) { + return o[t.getUTCDay()] + }, + b: function (t) { + return u[t.getUTCMonth()] + }, + B: function (t) { + return a[t.getUTCMonth()] + }, + c: null, + d: ye, + e: ye, + f: xe, + g: Oe, + G: Ie, + H: _e, + I: me, + j: ge, + L: ve, + m: we, + M: be, + p: function (t) { + return i[+(t.getUTCHours() >= 12)] + }, + q: function (t) { + return 1 + ~~(t.getUTCMonth() / 3) + }, + Q: He, + s: De, + S: Me, + u: Te, + U: Ee, + V: Ae, + w: Ne, + W: Se, + x: null, + X: null, + y: Pe, + Y: Le, + Z: Ze, + '%': Ce + }, + w = { + a: function (t, n, e) { + var r = p.exec(n.slice(e)) + return r ? ((t.w = d.get(r[0].toLowerCase())), e + r[0].length) : -1 + }, + A: function (t, n, e) { + var r = h.exec(n.slice(e)) + return r ? ((t.w = f.get(r[0].toLowerCase())), e + r[0].length) : -1 + }, + b: function (t, n, e) { + var r = m.exec(n.slice(e)) + return r ? ((t.m = g.get(r[0].toLowerCase())), e + r[0].length) : -1 + }, + B: function (t, n, e) { + var r = y.exec(n.slice(e)) + return r ? ((t.m = _.get(r[0].toLowerCase())), e + r[0].length) : -1 + }, + c: function (t, e, r) { + return T(t, n, e, r) + }, + d: jn, + e: jn, + f: qn, + g: Cn, + G: Zn, + H: zn, + I: zn, + j: Yn, + L: Rn, + m: $n, + M: Fn, + p: function (t, n, e) { + var r = c.exec(n.slice(e)) + return r ? ((t.p = l.get(r[0].toLowerCase())), e + r[0].length) : -1 + }, + q: Dn, + Q: Bn, + s: Vn, + S: Un, + u: Pn, + U: On, + V: Ln, + w: Sn, + W: In, + x: function (t, n, r) { + return T(t, e, n, r) + }, + X: function (t, n, e) { + return T(t, r, n, e) + }, + y: Cn, + Y: Zn, + Z: Hn, + '%': Xn + } + function b(t, n) { + return function (e) { + var r, + i, + o, + s = [], + a = -1, + u = 0, + c = t.length + for (e instanceof Date || (e = new Date(+e)); ++a < c; ) + 37 === t.charCodeAt(a) && + (s.push(t.slice(u, a)), + null != (i = wn[(r = t.charAt(++a))]) ? (r = t.charAt(++a)) : (i = 'e' === r ? ' ' : '0'), + (o = n[r]) && (r = o(e, i)), + s.push(r), + (u = a + 1)) + return s.push(t.slice(u, a)), s.join('') + } + } + function M(t, n) { + return function (e) { + var r, + i, + o = mn(1900, void 0, 1) + if (T(o, t, (e += ''), 0) != e.length) return null + if ('Q' in o) return new Date(o.Q) + if ('s' in o) return new Date(1e3 * o.s + ('L' in o ? o.L : 0)) + if ( + (n && !('Z' in o) && (o.Z = 0), + 'p' in o && (o.H = (o.H % 12) + 12 * o.p), + void 0 === o.m && (o.m = 'q' in o ? o.q : 0), + 'V' in o) + ) { + if (o.V < 1 || o.V > 53) return null + 'w' in o || (o.w = 1), + 'Z' in o + ? ((i = (r = _n(mn(o.y, 0, 1))).getUTCDay()), + (r = i > 4 || 0 === i ? Kt.ceil(r) : Kt(r)), + (r = zt.offset(r, 7 * (o.V - 1))), + (o.y = r.getUTCFullYear()), + (o.m = r.getUTCMonth()), + (o.d = r.getUTCDate() + ((o.w + 6) % 7))) + : ((i = (r = yn(mn(o.y, 0, 1))).getDay()), + (r = i > 4 || 0 === i ? qt.ceil(r) : qt(r)), + (r = Yt.offset(r, 7 * (o.V - 1))), + (o.y = r.getFullYear()), + (o.m = r.getMonth()), + (o.d = r.getDate() + ((o.w + 6) % 7))) + } else + ('W' in o || 'U' in o) && + ('w' in o || (o.w = 'u' in o ? o.u % 7 : 'W' in o ? 1 : 0), + (i = 'Z' in o ? _n(mn(o.y, 0, 1)).getUTCDay() : yn(mn(o.y, 0, 1)).getDay()), + (o.m = 0), + (o.d = 'W' in o ? ((o.w + 6) % 7) + 7 * o.W - ((i + 5) % 7) : o.w + 7 * o.U - ((i + 6) % 7))) + return 'Z' in o ? ((o.H += (o.Z / 100) | 0), (o.M += o.Z % 100), _n(o)) : yn(o) + } + } + function T(t, n, e, r) { + for (var i, o, s = 0, a = n.length, u = e.length; s < a; ) { + if (r >= u) return -1 + if (37 === (i = n.charCodeAt(s++))) { + if (((i = n.charAt(s++)), !(o = w[i in wn ? n.charAt(s++) : i]) || (r = o(t, e, r)) < 0)) return -1 + } else if (i != e.charCodeAt(r++)) return -1 + } + return r + } + return ( + (v.x = b(e, v)), + (v.X = b(r, v)), + (v.c = b(n, v)), + (x.x = b(e, x)), + (x.X = b(r, x)), + (x.c = b(n, x)), + { + format: function (t) { + var n = b((t += ''), v) + return ( + (n.toString = function () { + return t + }), + n + ) + }, + parse: function (t) { + var n = M((t += ''), !1) + return ( + (n.toString = function () { + return t + }), + n + ) + }, + utcFormat: function (t) { + var n = b((t += ''), x) + return ( + (n.toString = function () { + return t + }), + n + ) + }, + utcParse: function (t) { + var n = M((t += ''), !0) + return ( + (n.toString = function () { + return t + }), + n + ) + } + } + ) + })({ + 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'] + })), + (vn = gn.format), + gn.parse, + (xn = gn.utcFormat), + gn.utcParse + var Je = e(9640) + function Qe() { + var t, + n, + e, + r, + i, + o, + s, + a = 0, + u = 0.5, + c = 1, + l = 1, + h = I, + f = !1 + function p(t) { + return isNaN((t = +t)) + ? s + : ((t = 0.5 + ((t = +o(t)) - n) * (l * t < l * n ? r : i)), h(f ? Math.max(0, Math.min(1, t)) : t)) + } + function d(t) { + return function (n) { + var e, r, i + return arguments.length ? (([e, r, i] = n), (h = (0, Je.Z)(t, [e, r, i])), p) : [h(0), h(0.5), h(1)] + } + } + return ( + (p.domain = function (s) { + return arguments.length + ? (([a, u, c] = s), + (t = o((a = +a))), + (n = o((u = +u))), + (e = o((c = +c))), + (r = t === n ? 0 : 0.5 / (n - t)), + (i = n === e ? 0 : 0.5 / (e - n)), + (l = n < t ? -1 : 1), + p) + : [a, u, c] + }), + (p.clamp = function (t) { + return arguments.length ? ((f = !!t), p) : f + }), + (p.interpolator = function (t) { + return arguments.length ? ((h = t), p) : h + }), + (p.range = d(N.Z)), + (p.rangeRound = d(P.Z)), + (p.unknown = function (t) { + return arguments.length ? ((s = t), p) : s + }), + function (s) { + return ( + (o = s), + (t = s(a)), + (n = s(u)), + (e = s(c)), + (r = t === n ? 0 : 0.5 / (n - t)), + (i = n === e ? 0 : 0.5 / (e - n)), + (l = n < t ? -1 : 1), + p + ) + } + ) + } + function Ke() { + var t = X(Qe()(I)) + return ( + (t.copy = function () { + return Re(t, Ke()) + }), + i.apply(t, arguments) + ) + } + function tr() { + var t = et(Qe()).domain([0.1, 1, 10]) + return ( + (t.copy = function () { + return Re(t, tr()).base(t.base()) + }), + i.apply(t, arguments) + ) + } + function nr() { + var t = st(Qe()) + return ( + (t.copy = function () { + return Re(t, nr()).constant(t.constant()) + }), + i.apply(t, arguments) + ) + } + function er() { + var t = ht(Qe()) + return ( + (t.copy = function () { + return Re(t, er()).exponent(t.exponent()) + }), + i.apply(t, arguments) + ) + } + function rr() { + return er.apply(null, arguments).exponent(0.5) + } + }, + 9898: (t, n, e) => { + 'use strict' + function r(t) { + return null == t ? [] : Array.isArray(t) ? t : Array.from(t) + } + e.d(n, { Z: () => r }) + }, + 4708: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => a }) + var r = e(1663), + i = e(1226) + function o(t) { + return function () { + var n = this.ownerDocument, + e = this.namespaceURI + return e === i.P && n.documentElement.namespaceURI === i.P ? n.createElement(t) : n.createElementNS(e, t) + } + } + function s(t) { + return function () { + return this.ownerDocument.createElementNS(t.space, t.local) + } + } + function a(t) { + var n = (0, r.Z)(t) + return (n.local ? s : o)(n) + } + }, + 3905: (t, n, e) => { + 'use strict' + e.r(n), + e.d(n, { + create: () => o, + creator: () => r.Z, + local: () => a, + matcher: () => c.Z, + namespace: () => l.Z, + namespaces: () => h.Z, + pointer: () => f.Z, + pointers: () => d, + select: () => i.Z, + selectAll: () => m, + selection: () => _.ZP, + selector: () => g.Z, + selectorAll: () => v.Z, + style: () => x.S, + window: () => w.Z + }) + var r = e(4708), + i = e(3838) + function o(t) { + return (0, i.Z)((0, r.Z)(t).call(document.documentElement)) + } + var s = 0 + function a() { + return new u() + } + function u() { + this._ = '@' + (++s).toString(36) + } + u.prototype = a.prototype = { + constructor: u, + get: function (t) { + for (var n = this._; !(n in t); ) if (!(t = t.parentNode)) return + return t[n] + }, + set: function (t, n) { + return (t[this._] = n) + }, + remove: function (t) { + return this._ in t && delete t[this._] + }, + toString: function () { + return this._ + } + } + var c = e(4421), + l = e(1663), + h = e(1226), + f = e(3109), + p = e(9439) + function d(t, n) { + return ( + t.target && ((t = (0, p.Z)(t)), void 0 === n && (n = t.currentTarget), (t = t.touches || [t])), + Array.from(t, (t) => (0, f.Z)(t, n)) + ) + } + var y = e(9898), + _ = e(6740) + function m(t) { + return 'string' == typeof t + ? new _.Y1([document.querySelectorAll(t)], [document.documentElement]) + : new _.Y1([(0, y.Z)(t)], _.Jz) + } + var g = e(3010), + v = e(9701), + x = e(2627), + w = e(9920) + }, + 4421: (t, n, e) => { + 'use strict' + function r(t) { + return function () { + return this.matches(t) + } + } + function i(t) { + return function (n) { + return n.matches(t) + } + } + e.d(n, { P: () => i, Z: () => r }) + }, + 1663: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => i }) + var r = e(1226) + function i(t) { + var n = (t += ''), + e = n.indexOf(':') + return ( + e >= 0 && 'xmlns' !== (n = t.slice(0, e)) && (t = t.slice(e + 1)), + r.Z.hasOwnProperty(n) ? { space: r.Z[n], local: t } : t + ) + } + }, + 1226: (t, n, e) => { + 'use strict' + e.d(n, { P: () => r, Z: () => i }) + var r = 'http://www.w3.org/1999/xhtml' + const i = { + svg: 'http://www.w3.org/2000/svg', + xhtml: r, + xlink: 'http://www.w3.org/1999/xlink', + xml: 'http://www.w3.org/XML/1998/namespace', + xmlns: 'http://www.w3.org/2000/xmlns/' + } + }, + 3109: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => i }) + var r = e(9439) + function i(t, n) { + if (((t = (0, r.Z)(t)), void 0 === n && (n = t.currentTarget), n)) { + var e = n.ownerSVGElement || n + if (e.createSVGPoint) { + var i = e.createSVGPoint() + return ( + (i.x = t.clientX), (i.y = t.clientY), [(i = i.matrixTransform(n.getScreenCTM().inverse())).x, i.y] + ) + } + if (n.getBoundingClientRect) { + var o = n.getBoundingClientRect() + return [t.clientX - o.left - n.clientLeft, t.clientY - o.top - n.clientTop] + } + } + return [t.pageX, t.pageY] + } + }, + 3838: (t, n, e) => { + 'use strict' + e.d(n, { Z: () => i }) + var r = e(6740) + function i(t) { + return 'string' == typeof t + ? new r.Y1([[document.querySelector(t)]], [document.documentElement]) + : new r.Y1([[t]], r.Jz) + } + }, + 6740: (t, n, e) => { + 'use strict' + e.d(n, { Y1: () => rt, ZP: () => ot, Jz: () => et }) + var r = e(3010), + i = e(9898), + o = e(9701), + s = e(4421), + a = Array.prototype.find + function u() { + return this.firstElementChild + } + var c = Array.prototype.filter + function l() { + return Array.from(this.children) + } + function h(t) { + return new Array(t.length) + } + function f(t, n) { + ;(this.ownerDocument = t.ownerDocument), + (this.namespaceURI = t.namespaceURI), + (this._next = null), + (this._parent = t), + (this.__data__ = n) + } + function p(t, n, e, r, i, o) { + for (var s, a = 0, u = n.length, c = o.length; a < c; ++a) + (s = n[a]) ? ((s.__data__ = o[a]), (r[a] = s)) : (e[a] = new f(t, o[a])) + for (; a < u; ++a) (s = n[a]) && (i[a] = s) + } + function d(t, n, e, r, i, o, s) { + var a, + u, + c, + l = new Map(), + h = n.length, + p = o.length, + d = new Array(h) + for (a = 0; a < h; ++a) + (u = n[a]) && ((d[a] = c = s.call(u, u.__data__, a, n) + ''), l.has(c) ? (i[a] = u) : l.set(c, u)) + for (a = 0; a < p; ++a) + (c = s.call(t, o[a], a, o) + ''), + (u = l.get(c)) ? ((r[a] = u), (u.__data__ = o[a]), l.delete(c)) : (e[a] = new f(t, o[a])) + for (a = 0; a < h; ++a) (u = n[a]) && l.get(d[a]) === u && (i[a] = u) + } + function y(t) { + return t.__data__ + } + function _(t) { + return 'object' == typeof t && 'length' in t ? t : Array.from(t) + } + function m(t, n) { + return t < n ? -1 : t > n ? 1 : t >= n ? 0 : NaN + } + f.prototype = { + constructor: f, + appendChild: function (t) { + return this._parent.insertBefore(t, this._next) + }, + insertBefore: function (t, n) { + return this._parent.insertBefore(t, n) + }, + querySelector: function (t) { + return this._parent.querySelector(t) + }, + querySelectorAll: function (t) { + return this._parent.querySelectorAll(t) + } + } + var g = e(1663) + function v(t) { + return function () { + this.removeAttribute(t) + } + } + function x(t) { + return function () { + this.removeAttributeNS(t.space, t.local) + } + } + function w(t, n) { + return function () { + this.setAttribute(t, n) + } + } + function b(t, n) { + return function () { + this.setAttributeNS(t.space, t.local, n) + } + } + function M(t, n) { + return function () { + var e = n.apply(this, arguments) + null == e ? this.removeAttribute(t) : this.setAttribute(t, e) + } + } + function T(t, n) { + return function () { + var e = n.apply(this, arguments) + null == e ? this.removeAttributeNS(t.space, t.local) : this.setAttributeNS(t.space, t.local, e) + } + } + var E = e(2627) + function k(t) { + return function () { + delete this[t] + } + } + function A(t, n) { + return function () { + this[t] = n + } + } + function N(t, n) { + return function () { + var e = n.apply(this, arguments) + null == e ? delete this[t] : (this[t] = e) + } + } + function S(t) { + return t.trim().split(/^|\s+/) + } + function P(t) { + return t.classList || new O(t) + } + function O(t) { + ;(this._node = t), (this._names = S(t.getAttribute('class') || '')) + } + function L(t, n) { + for (var e = P(t), r = -1, i = n.length; ++r < i; ) e.add(n[r]) + } + function I(t, n) { + for (var e = P(t), r = -1, i = n.length; ++r < i; ) e.remove(n[r]) + } + function Z(t) { + return function () { + L(this, t) + } + } + function C(t) { + return function () { + I(this, t) + } + } + function H(t, n) { + return function () { + ;(n.apply(this, arguments) ? L : I)(this, t) + } + } + function D() { + this.textContent = '' + } + function $(t) { + return function () { + this.textContent = t + } + } + function j(t) { + return function () { + var n = t.apply(this, arguments) + this.textContent = null == n ? '' : n + } + } + function Y() { + this.innerHTML = '' + } + function z(t) { + return function () { + this.innerHTML = t + } + } + function F(t) { + return function () { + var n = t.apply(this, arguments) + this.innerHTML = null == n ? '' : n + } + } + function U() { + this.nextSibling && this.parentNode.appendChild(this) + } + function R() { + this.previousSibling && this.parentNode.insertBefore(this, this.parentNode.firstChild) + } + O.prototype = { + add: function (t) { + this._names.indexOf(t) < 0 && + (this._names.push(t), this._node.setAttribute('class', this._names.join(' '))) + }, + remove: function (t) { + var n = this._names.indexOf(t) + n >= 0 && (this._names.splice(n, 1), this._node.setAttribute('class', this._names.join(' '))) + }, + contains: function (t) { + return this._names.indexOf(t) >= 0 + } + } + var q = e(4708) + function X() { + return null + } + function B() { + var t = this.parentNode + t && t.removeChild(this) + } + function V() { + var t = this.cloneNode(!1), + n = this.parentNode + return n ? n.insertBefore(t, this.nextSibling) : t + } + function W() { + var t = this.cloneNode(!0), + n = this.parentNode + return n ? n.insertBefore(t, this.nextSibling) : t + } + function G(t) { + return function () { + var n = this.__on + if (n) { + for (var e, r = 0, i = -1, o = n.length; r < o; ++r) + (e = n[r]), + (t.type && e.type !== t.type) || e.name !== t.name + ? (n[++i] = e) + : this.removeEventListener(e.type, e.listener, e.options) + ++i ? (n.length = i) : delete this.__on + } + } + } + function J(t, n, e) { + return function () { + var r, + i = this.__on, + o = (function (t) { + return function (n) { + t.call(this, n, this.__data__) + } + })(n) + if (i) + for (var s = 0, a = i.length; s < a; ++s) + if ((r = i[s]).type === t.type && r.name === t.name) + return ( + this.removeEventListener(r.type, r.listener, r.options), + this.addEventListener(r.type, (r.listener = o), (r.options = e)), + void (r.value = n) + ) + this.addEventListener(t.type, o, e), + (r = { type: t.type, name: t.name, value: n, listener: o, options: e }), + i ? i.push(r) : (this.__on = [r]) + } + } + var Q = e(9920) + function K(t, n, e) { + var r = (0, Q.Z)(t), + i = r.CustomEvent + 'function' == typeof i + ? (i = new i(n, e)) + : ((i = r.document.createEvent('Event')), + e ? (i.initEvent(n, e.bubbles, e.cancelable), (i.detail = e.detail)) : i.initEvent(n, !1, !1)), + t.dispatchEvent(i) + } + function tt(t, n) { + return function () { + return K(this, t, n) + } + } + function nt(t, n) { + return function () { + return K(this, t, n.apply(this, arguments)) + } + } + var et = [null] + function rt(t, n) { + ;(this._groups = t), (this._parents = n) + } + function it() { + return new rt([[document.documentElement]], et) + } + rt.prototype = it.prototype = { + constructor: rt, + select: function (t) { + 'function' != typeof t && (t = (0, r.Z)(t)) + for (var n = this._groups, e = n.length, i = new Array(e), o = 0; o < e; ++o) + for (var s, a, u = n[o], c = u.length, l = (i[o] = new Array(c)), h = 0; h < c; ++h) + (s = u[h]) && + (a = t.call(s, s.__data__, h, u)) && + ('__data__' in s && (a.__data__ = s.__data__), (l[h] = a)) + return new rt(i, this._parents) + }, + selectAll: function (t) { + t = + 'function' == typeof t + ? (function (t) { + return function () { + return (0, i.Z)(t.apply(this, arguments)) + } + })(t) + : (0, o.Z)(t) + for (var n = this._groups, e = n.length, r = [], s = [], a = 0; a < e; ++a) + for (var u, c = n[a], l = c.length, h = 0; h < l; ++h) + (u = c[h]) && (r.push(t.call(u, u.__data__, h, c)), s.push(u)) + return new rt(r, s) + }, + selectChild: function (t) { + return this.select( + null == t + ? u + : (function (t) { + return function () { + return a.call(this.children, t) + } + })('function' == typeof t ? t : (0, s.P)(t)) + ) + }, + selectChildren: function (t) { + return this.selectAll( + null == t + ? l + : (function (t) { + return function () { + return c.call(this.children, t) + } + })('function' == typeof t ? t : (0, s.P)(t)) + ) + }, + filter: function (t) { + 'function' != typeof t && (t = (0, s.Z)(t)) + for (var n = this._groups, e = n.length, r = new Array(e), i = 0; i < e; ++i) + for (var o, a = n[i], u = a.length, c = (r[i] = []), l = 0; l < u; ++l) + (o = a[l]) && t.call(o, o.__data__, l, a) && c.push(o) + return new rt(r, this._parents) + }, + data: function (t, n) { + if (!arguments.length) return Array.from(this, y) + var e, + r = n ? d : p, + i = this._parents, + o = this._groups + 'function' != typeof t && + ((e = t), + (t = function () { + return e + })) + for (var s = o.length, a = new Array(s), u = new Array(s), c = new Array(s), l = 0; l < s; ++l) { + var h = i[l], + f = o[l], + m = f.length, + g = _(t.call(h, h && h.__data__, l, i)), + v = g.length, + x = (u[l] = new Array(v)), + w = (a[l] = new Array(v)) + r(h, f, x, w, (c[l] = new Array(m)), g, n) + for (var b, M, T = 0, E = 0; T < v; ++T) + if ((b = x[T])) { + for (T >= E && (E = T + 1); !(M = w[E]) && ++E < v; ); + b._next = M || null + } + } + return ((a = new rt(a, i))._enter = u), (a._exit = c), a + }, + enter: function () { + return new rt(this._enter || this._groups.map(h), this._parents) + }, + exit: function () { + return new rt(this._exit || this._groups.map(h), this._parents) + }, + join: function (t, n, e) { + var r = this.enter(), + i = this, + o = this.exit() + return ( + 'function' == typeof t ? (r = t(r)) && (r = r.selection()) : (r = r.append(t + '')), + null != n && (i = n(i)) && (i = i.selection()), + null == e ? o.remove() : e(o), + r && i ? r.merge(i).order() : i + ) + }, + merge: function (t) { + for ( + var n = t.selection ? t.selection() : t, + e = this._groups, + r = n._groups, + i = e.length, + o = r.length, + s = Math.min(i, o), + a = new Array(i), + u = 0; + u < s; + ++u + ) + for (var c, l = e[u], h = r[u], f = l.length, p = (a[u] = new Array(f)), d = 0; d < f; ++d) + (c = l[d] || h[d]) && (p[d] = c) + for (; u < i; ++u) a[u] = e[u] + return new rt(a, this._parents) + }, + selection: function () { + return this + }, + order: function () { + for (var t = this._groups, n = -1, e = t.length; ++n < e; ) + for (var r, i = t[n], o = i.length - 1, s = i[o]; --o >= 0; ) + (r = i[o]) && (s && 4 ^ r.compareDocumentPosition(s) && s.parentNode.insertBefore(r, s), (s = r)) + return this + }, + sort: function (t) { + function n(n, e) { + return n && e ? t(n.__data__, e.__data__) : !n - !e + } + t || (t = m) + for (var e = this._groups, r = e.length, i = new Array(r), o = 0; o < r; ++o) { + for (var s, a = e[o], u = a.length, c = (i[o] = new Array(u)), l = 0; l < u; ++l) + (s = a[l]) && (c[l] = s) + c.sort(n) + } + return new rt(i, this._parents).order() + }, + call: function () { + var t = arguments[0] + return (arguments[0] = this), t.apply(null, arguments), this + }, + nodes: function () { + return Array.from(this) + }, + node: function () { + for (var t = this._groups, n = 0, e = t.length; n < e; ++n) + for (var r = t[n], i = 0, o = r.length; i < o; ++i) { + var s = r[i] + if (s) return s + } + return null + }, + size: function () { + let t = 0 + for (const n of this) ++t + return t + }, + empty: function () { + return !this.node() + }, + each: function (t) { + for (var n = this._groups, e = 0, r = n.length; e < r; ++e) + for (var i, o = n[e], s = 0, a = o.length; s < a; ++s) (i = o[s]) && t.call(i, i.__data__, s, o) + return this + }, + attr: function (t, n) { + var e = (0, g.Z)(t) + if (arguments.length < 2) { + var r = this.node() + return e.local ? r.getAttributeNS(e.space, e.local) : r.getAttribute(e) + } + return this.each( + (null == n ? (e.local ? x : v) : 'function' == typeof n ? (e.local ? T : M) : e.local ? b : w)(e, n) + ) + }, + style: E.Z, + property: function (t, n) { + return arguments.length > 1 + ? this.each((null == n ? k : 'function' == typeof n ? N : A)(t, n)) + : this.node()[t] + }, + classed: function (t, n) { + var e = S(t + '') + if (arguments.length < 2) { + for (var r = P(this.node()), i = -1, o = e.length; ++i < o; ) if (!r.contains(e[i])) return !1 + return !0 + } + return this.each(('function' == typeof n ? H : n ? Z : C)(e, n)) + }, + text: function (t) { + return arguments.length + ? this.each(null == t ? D : ('function' == typeof t ? j : $)(t)) + : this.node().textContent + }, + html: function (t) { + return arguments.length + ? this.each(null == t ? Y : ('function' == typeof t ? F : z)(t)) + : this.node().innerHTML + }, + raise: function () { + return this.each(U) + }, + lower: function () { + return this.each(R) + }, + append: function (t) { + var n = 'function' == typeof t ? t : (0, q.Z)(t) + return this.select(function () { + return this.appendChild(n.apply(this, arguments)) + }) + }, + insert: function (t, n) { + var e = 'function' == typeof t ? t : (0, q.Z)(t), + i = null == n ? X : 'function' == typeof n ? n : (0, r.Z)(n) + return this.select(function () { + return this.insertBefore(e.apply(this, arguments), i.apply(this, arguments) || null) + }) + }, + remove: function () { + return this.each(B) + }, + clone: function (t) { + return this.select(t ? W : V) + }, + datum: function (t) { + return arguments.length ? this.property('__data__', t) : this.node().__data__ + }, + on: function (t, n, e) { + var r, + i, + o = (function (t) { + return t + .trim() + .split(/^|\s+/) + .map(function (t) { + var n = '', + e = t.indexOf('.') + return e >= 0 && ((n = t.slice(e + 1)), (t = t.slice(0, e))), { type: t, name: n } + }) + })(t + ''), + s = o.length + if (!(arguments.length < 2)) { + for (a = n ? J : G, r = 0; r < s; ++r) this.each(a(o[r], n, e)) + return this + } + var a = this.node().__on + if (a) + for (var u, c = 0, l = a.length; c < l; ++c) + for (r = 0, u = a[c]; r < s; ++r) if ((i = o[r]).type === u.type && i.name === u.name) return u.value + }, + dispatch: function (t, n) { + return this.each(('function' == typeof n ? nt : tt)(t, n)) + }, + [Symbol.iterator]: function* () { + for (var t = this._groups, n = 0, e = t.length; n < e; ++n) + for (var r, i = t[n], o = 0, s = i.length; o < s; ++o) (r = i[o]) && (yield r) + } + } + const ot = it + }, + 2627: (t, n, e) => { + 'use strict' + e.d(n, { S: () => u, Z: () => a }) + var r = e(9920) + function i(t) { + return function () { + this.style.removeProperty(t) + } + } + function o(t, n, e) { + return function () { + this.style.setProperty(t, n, e) + } + } + function s(t, n, e) { + return function () { + var r = n.apply(this, arguments) + null == r ? this.style.removeProperty(t) : this.style.setProperty(t, r, e) + } + } + function a(t, n, e) { + return arguments.length > 1 + ? this.each((null == n ? i : 'function' == typeof n ? s : o)(t, n, null == e ? '' : e)) + : u(this.node(), t) + } + function u(t, n) { + return t.style.getPropertyValue(n) || (0, r.Z)(t).getComputedStyle(t, null).getPropertyValue(n) + } + }, + 3010: (t, n, e) => { + 'use strict' + function r() {} + function i(t) { + return null == t + ? r + : function () { + return this.querySelector(t) + } + } + e.d(n, { Z: () => i }) + }, + 9701: (t, n, e) => { + 'use strict' + function r() { + return [] + } + function i(t) { + return null == t + ? r + : function () { + return this.querySelectorAll(t) + } + } + e.d(n, { Z: () => i }) + }, + 9439: (t, n, e) => { + 'use strict' + function r(t) { + let n + for (; (n = t.sourceEvent); ) t = n + return t + } + e.d(n, { Z: () => r }) + }, + 9920: (t, n, e) => { + 'use strict' + function r(t) { + return (t.ownerDocument && t.ownerDocument.defaultView) || (t.document && t) || t.defaultView + } + e.d(n, { Z: () => r }) + }, + 6660: (t, n, e) => { + 'use strict' + function r(t) { + return function () { + return t + } + } + e.r(n), + e.d(n, { + arc: () => S, + area: () => D, + areaRadial: () => X, + curveBasis: () => Ht, + curveBasisClosed: () => $t, + curveBasisOpen: () => Yt, + curveBumpX: () => G, + curveBumpY: () => J, + curveBundle: () => Ft, + curveCardinal: () => qt, + curveCardinalClosed: () => Bt, + curveCardinalOpen: () => Wt, + curveCatmullRom: () => Qt, + curveCatmullRomClosed: () => tn, + curveCatmullRomOpen: () => en, + curveLinear: () => I, + curveLinearClosed: () => on, + curveMonotoneX: () => pn, + curveMonotoneY: () => dn, + curveNatural: () => mn, + curveStep: () => vn, + curveStepAfter: () => wn, + curveStepBefore: () => xn, + line: () => H, + lineRadial: () => q, + link: () => nt, + linkHorizontal: () => et, + linkRadial: () => it, + linkVertical: () => rt, + pie: () => Y, + pointRadial: () => B, + radialArea: () => X, + radialLine: () => q, + stack: () => kn, + stackOffsetDiverging: () => Nn, + stackOffsetExpand: () => An, + stackOffsetNone: () => bn, + stackOffsetSilhouette: () => Sn, + stackOffsetWiggle: () => Pn, + stackOrderAppearance: () => On, + stackOrderAscending: () => In, + stackOrderDescending: () => Cn, + stackOrderInsideOut: () => Hn, + stackOrderNone: () => Mn, + stackOrderReverse: () => Dn, + symbol: () => Lt, + symbolAsterisk: () => st, + symbolCircle: () => at, + symbolCross: () => ut, + symbolDiamond: () => ht, + symbolDiamond2: () => ft, + symbolPlus: () => pt, + symbolSquare: () => dt, + symbolSquare2: () => yt, + symbolStar: () => vt, + symbolTimes: () => St, + symbolTriangle: () => wt, + symbolTriangle2: () => Mt, + symbolWye: () => Nt, + symbolX: () => St, + symbols: () => Pt, + symbolsFill: () => Pt, + symbolsStroke: () => Ot + }) + const i = Math.abs, + o = Math.atan2, + s = Math.cos, + a = Math.max, + u = Math.min, + c = Math.sin, + l = Math.sqrt, + h = 1e-12, + f = Math.PI, + p = f / 2, + d = 2 * f + function y(t) { + return t >= 1 ? p : t <= -1 ? -p : Math.asin(t) + } + const _ = Math.PI, + m = 2 * _, + g = 1e-6, + v = m - g + function x(t) { + this._ += t[0] + for (let n = 1, e = t.length; n < e; ++n) this._ += arguments[n] + t[n] + } + class w { + constructor(t) { + ;(this._x0 = this._y0 = this._x1 = this._y1 = null), + (this._ = ''), + (this._append = + null == t + ? x + : (function (t) { + let n = Math.floor(t) + if (!(n >= 0)) throw new Error(`invalid digits: ${t}`) + if (n > 15) return x + const e = 10 ** n + return function (t) { + this._ += t[0] + for (let n = 1, r = t.length; n < r; ++n) this._ += Math.round(arguments[n] * e) / e + t[n] + } + })(t)) + } + moveTo(t, n) { + this._append`M${(this._x0 = this._x1 = +t)},${(this._y0 = this._y1 = +n)}` + } + closePath() { + null !== this._x1 && ((this._x1 = this._x0), (this._y1 = this._y0), this._append`Z`) + } + lineTo(t, n) { + this._append`L${(this._x1 = +t)},${(this._y1 = +n)}` + } + quadraticCurveTo(t, n, e, r) { + this._append`Q${+t},${+n},${(this._x1 = +e)},${(this._y1 = +r)}` + } + bezierCurveTo(t, n, e, r, i, o) { + this._append`C${+t},${+n},${+e},${+r},${(this._x1 = +i)},${(this._y1 = +o)}` + } + arcTo(t, n, e, r, i) { + if (((t = +t), (n = +n), (e = +e), (r = +r), (i = +i) < 0)) throw new Error(`negative radius: ${i}`) + let o = this._x1, + s = this._y1, + a = e - t, + u = r - n, + c = o - t, + l = s - n, + h = c * c + l * l + if (null === this._x1) this._append`M${(this._x1 = t)},${(this._y1 = n)}` + else if (h > g) + if (Math.abs(l * a - u * c) > g && i) { + let f = e - o, + p = r - s, + d = a * a + u * u, + y = f * f + p * p, + m = Math.sqrt(d), + v = Math.sqrt(h), + x = i * Math.tan((_ - Math.acos((d + h - y) / (2 * m * v))) / 2), + w = x / v, + b = x / m + Math.abs(w - 1) > g && this._append`L${t + w * c},${n + w * l}`, + this._append`A${i},${i},0,0,${+(l * f > c * p)},${(this._x1 = t + b * a)},${(this._y1 = n + b * u)}` + } else this._append`L${(this._x1 = t)},${(this._y1 = n)}` + } + arc(t, n, e, r, i, o) { + if (((t = +t), (n = +n), (o = !!o), (e = +e) < 0)) throw new Error(`negative radius: ${e}`) + let s = e * Math.cos(r), + a = e * Math.sin(r), + u = t + s, + c = n + a, + l = 1 ^ o, + h = o ? r - i : i - r + null === this._x1 + ? this._append`M${u},${c}` + : (Math.abs(this._x1 - u) > g || Math.abs(this._y1 - c) > g) && this._append`L${u},${c}`, + e && + (h < 0 && (h = (h % m) + m), + h > v + ? this + ._append`A${e},${e},0,1,${l},${t - s},${n - a}A${e},${e},0,1,${l},${(this._x1 = u)},${(this._y1 = c)}` + : h > g && + this + ._append`A${e},${e},0,${+(h >= _)},${l},${(this._x1 = t + e * Math.cos(i))},${(this._y1 = n + e * Math.sin(i))}`) + } + rect(t, n, e, r) { + this._append`M${(this._x0 = this._x1 = +t)},${(this._y0 = this._y1 = +n)}h${(e = +e)}v${+r}h${-e}Z` + } + toString() { + return this._ + } + } + function b(t) { + let n = 3 + return ( + (t.digits = function (e) { + if (!arguments.length) return n + if (null == e) n = null + else { + const t = Math.floor(e) + if (!(t >= 0)) throw new RangeError(`invalid digits: ${e}`) + n = t + } + return t + }), + () => new w(n) + ) + } + function M(t) { + return t.innerRadius + } + function T(t) { + return t.outerRadius + } + function E(t) { + return t.startAngle + } + function k(t) { + return t.endAngle + } + function A(t) { + return t && t.padAngle + } + function N(t, n, e, r, i, o, s) { + var u = t - e, + c = n - r, + h = (s ? o : -o) / l(u * u + c * c), + f = h * c, + p = -h * u, + d = t + f, + y = n + p, + _ = e + f, + m = r + p, + g = (d + _) / 2, + v = (y + m) / 2, + x = _ - d, + w = m - y, + b = x * x + w * w, + M = i - o, + T = d * m - _ * y, + E = (w < 0 ? -1 : 1) * l(a(0, M * M * b - T * T)), + k = (T * w - x * E) / b, + A = (-T * x - w * E) / b, + N = (T * w + x * E) / b, + S = (-T * x + w * E) / b, + P = k - g, + O = A - v, + L = N - g, + I = S - v + return ( + P * P + O * O > L * L + I * I && ((k = N), (A = S)), + { cx: k, cy: A, x01: -f, y01: -p, x11: k * (i / M - 1), y11: A * (i / M - 1) } + ) + } + function S() { + var t = M, + n = T, + e = r(0), + a = null, + _ = E, + m = k, + g = A, + v = null, + x = b(w) + function w() { + var r, + w, + b, + M = +t.apply(this, arguments), + T = +n.apply(this, arguments), + E = _.apply(this, arguments) - p, + k = m.apply(this, arguments) - p, + A = i(k - E), + S = k > E + if ((v || (v = r = x()), T < M && ((w = T), (T = M), (M = w)), T > h)) + if (A > d - h) + v.moveTo(T * s(E), T * c(E)), + v.arc(0, 0, T, E, k, !S), + M > h && (v.moveTo(M * s(k), M * c(k)), v.arc(0, 0, M, k, E, S)) + else { + var P, + O, + L = E, + I = k, + Z = E, + C = k, + H = A, + D = A, + $ = g.apply(this, arguments) / 2, + j = $ > h && (a ? +a.apply(this, arguments) : l(M * M + T * T)), + Y = u(i(T - M) / 2, +e.apply(this, arguments)), + z = Y, + F = Y + if (j > h) { + var U = y((j / M) * c($)), + R = y((j / T) * c($)) + ;(H -= 2 * U) > h ? ((Z += U *= S ? 1 : -1), (C -= U)) : ((H = 0), (Z = C = (E + k) / 2)), + (D -= 2 * R) > h ? ((L += R *= S ? 1 : -1), (I -= R)) : ((D = 0), (L = I = (E + k) / 2)) + } + var q = T * s(L), + X = T * c(L), + B = M * s(C), + V = M * c(C) + if (Y > h) { + var W, + G = T * s(I), + J = T * c(I), + Q = M * s(Z), + K = M * c(Z) + if (A < f) + if ( + (W = (function (t, n, e, r, i, o, s, a) { + var u = e - t, + c = r - n, + l = s - i, + f = a - o, + p = f * u - l * c + if (!(p * p < h)) return [t + (p = (l * (n - o) - f * (t - i)) / p) * u, n + p * c] + })(q, X, Q, K, G, J, B, V)) + ) { + var tt = q - W[0], + nt = X - W[1], + et = G - W[0], + rt = J - W[1], + it = + 1 / + c( + ((b = (tt * et + nt * rt) / (l(tt * tt + nt * nt) * l(et * et + rt * rt))) > 1 + ? 0 + : b < -1 + ? f + : Math.acos(b)) / 2 + ), + ot = l(W[0] * W[0] + W[1] * W[1]) + ;(z = u(Y, (M - ot) / (it - 1))), (F = u(Y, (T - ot) / (it + 1))) + } else z = F = 0 + } + D > h + ? F > h + ? ((P = N(Q, K, q, X, T, F, S)), + (O = N(G, J, B, V, T, F, S)), + v.moveTo(P.cx + P.x01, P.cy + P.y01), + F < Y + ? v.arc(P.cx, P.cy, F, o(P.y01, P.x01), o(O.y01, O.x01), !S) + : (v.arc(P.cx, P.cy, F, o(P.y01, P.x01), o(P.y11, P.x11), !S), + v.arc(0, 0, T, o(P.cy + P.y11, P.cx + P.x11), o(O.cy + O.y11, O.cx + O.x11), !S), + v.arc(O.cx, O.cy, F, o(O.y11, O.x11), o(O.y01, O.x01), !S))) + : (v.moveTo(q, X), v.arc(0, 0, T, L, I, !S)) + : v.moveTo(q, X), + M > h && H > h + ? z > h + ? ((P = N(B, V, G, J, M, -z, S)), + (O = N(q, X, Q, K, M, -z, S)), + v.lineTo(P.cx + P.x01, P.cy + P.y01), + z < Y + ? v.arc(P.cx, P.cy, z, o(P.y01, P.x01), o(O.y01, O.x01), !S) + : (v.arc(P.cx, P.cy, z, o(P.y01, P.x01), o(P.y11, P.x11), !S), + v.arc(0, 0, M, o(P.cy + P.y11, P.cx + P.x11), o(O.cy + O.y11, O.cx + O.x11), S), + v.arc(O.cx, O.cy, z, o(O.y11, O.x11), o(O.y01, O.x01), !S))) + : v.arc(0, 0, M, C, Z, S) + : v.lineTo(B, V) + } + else v.moveTo(0, 0) + if ((v.closePath(), r)) return (v = null), r + '' || null + } + return ( + (w.centroid = function () { + var e = (+t.apply(this, arguments) + +n.apply(this, arguments)) / 2, + r = (+_.apply(this, arguments) + +m.apply(this, arguments)) / 2 - f / 2 + return [s(r) * e, c(r) * e] + }), + (w.innerRadius = function (n) { + return arguments.length ? ((t = 'function' == typeof n ? n : r(+n)), w) : t + }), + (w.outerRadius = function (t) { + return arguments.length ? ((n = 'function' == typeof t ? t : r(+t)), w) : n + }), + (w.cornerRadius = function (t) { + return arguments.length ? ((e = 'function' == typeof t ? t : r(+t)), w) : e + }), + (w.padRadius = function (t) { + return arguments.length ? ((a = null == t ? null : 'function' == typeof t ? t : r(+t)), w) : a + }), + (w.startAngle = function (t) { + return arguments.length ? ((_ = 'function' == typeof t ? t : r(+t)), w) : _ + }), + (w.endAngle = function (t) { + return arguments.length ? ((m = 'function' == typeof t ? t : r(+t)), w) : m + }), + (w.padAngle = function (t) { + return arguments.length ? ((g = 'function' == typeof t ? t : r(+t)), w) : g + }), + (w.context = function (t) { + return arguments.length ? ((v = null == t ? null : t), w) : v + }), + w + ) + } + w.prototype + var P = Array.prototype.slice + function O(t) { + return 'object' == typeof t && 'length' in t ? t : Array.from(t) + } + function L(t) { + this._context = t + } + function I(t) { + return new L(t) + } + function Z(t) { + return t[0] + } + function C(t) { + return t[1] + } + function H(t, n) { + var e = r(!0), + i = null, + o = I, + s = null, + a = b(u) + function u(r) { + var u, + c, + l, + h = (r = O(r)).length, + f = !1 + for (null == i && (s = o((l = a()))), u = 0; u <= h; ++u) + !(u < h && e((c = r[u]), u, r)) === f && ((f = !f) ? s.lineStart() : s.lineEnd()), + f && s.point(+t(c, u, r), +n(c, u, r)) + if (l) return (s = null), l + '' || null + } + return ( + (t = 'function' == typeof t ? t : void 0 === t ? Z : r(t)), + (n = 'function' == typeof n ? n : void 0 === n ? C : r(n)), + (u.x = function (n) { + return arguments.length ? ((t = 'function' == typeof n ? n : r(+n)), u) : t + }), + (u.y = function (t) { + return arguments.length ? ((n = 'function' == typeof t ? t : r(+t)), u) : n + }), + (u.defined = function (t) { + return arguments.length ? ((e = 'function' == typeof t ? t : r(!!t)), u) : e + }), + (u.curve = function (t) { + return arguments.length ? ((o = t), null != i && (s = o(i)), u) : o + }), + (u.context = function (t) { + return arguments.length ? (null == t ? (i = s = null) : (s = o((i = t))), u) : i + }), + u + ) + } + function D(t, n, e) { + var i = null, + o = r(!0), + s = null, + a = I, + u = null, + c = b(l) + function l(r) { + var l, + h, + f, + p, + d, + y = (r = O(r)).length, + _ = !1, + m = new Array(y), + g = new Array(y) + for (null == s && (u = a((d = c()))), l = 0; l <= y; ++l) { + if (!(l < y && o((p = r[l]), l, r)) === _) + if ((_ = !_)) (h = l), u.areaStart(), u.lineStart() + else { + for (u.lineEnd(), u.lineStart(), f = l - 1; f >= h; --f) u.point(m[f], g[f]) + u.lineEnd(), u.areaEnd() + } + _ && + ((m[l] = +t(p, l, r)), (g[l] = +n(p, l, r)), u.point(i ? +i(p, l, r) : m[l], e ? +e(p, l, r) : g[l])) + } + if (d) return (u = null), d + '' || null + } + function h() { + return H().defined(o).curve(a).context(s) + } + return ( + (t = 'function' == typeof t ? t : void 0 === t ? Z : r(+t)), + (n = 'function' == typeof n ? n : r(void 0 === n ? 0 : +n)), + (e = 'function' == typeof e ? e : void 0 === e ? C : r(+e)), + (l.x = function (n) { + return arguments.length ? ((t = 'function' == typeof n ? n : r(+n)), (i = null), l) : t + }), + (l.x0 = function (n) { + return arguments.length ? ((t = 'function' == typeof n ? n : r(+n)), l) : t + }), + (l.x1 = function (t) { + return arguments.length ? ((i = null == t ? null : 'function' == typeof t ? t : r(+t)), l) : i + }), + (l.y = function (t) { + return arguments.length ? ((n = 'function' == typeof t ? t : r(+t)), (e = null), l) : n + }), + (l.y0 = function (t) { + return arguments.length ? ((n = 'function' == typeof t ? t : r(+t)), l) : n + }), + (l.y1 = function (t) { + return arguments.length ? ((e = null == t ? null : 'function' == typeof t ? t : r(+t)), l) : e + }), + (l.lineX0 = l.lineY0 = + function () { + return h().x(t).y(n) + }), + (l.lineY1 = function () { + return h().x(t).y(e) + }), + (l.lineX1 = function () { + return h().x(i).y(n) + }), + (l.defined = function (t) { + return arguments.length ? ((o = 'function' == typeof t ? t : r(!!t)), l) : o + }), + (l.curve = function (t) { + return arguments.length ? ((a = t), null != s && (u = a(s)), l) : a + }), + (l.context = function (t) { + return arguments.length ? (null == t ? (s = u = null) : (u = a((s = t))), l) : s + }), + l + ) + } + function $(t, n) { + return n < t ? -1 : n > t ? 1 : n >= t ? 0 : NaN + } + function j(t) { + return t + } + function Y() { + var t = j, + n = $, + e = null, + i = r(0), + o = r(d), + s = r(0) + function a(r) { + var a, + u, + c, + l, + h, + f = (r = O(r)).length, + p = 0, + y = new Array(f), + _ = new Array(f), + m = +i.apply(this, arguments), + g = Math.min(d, Math.max(-d, o.apply(this, arguments) - m)), + v = Math.min(Math.abs(g) / f, s.apply(this, arguments)), + x = v * (g < 0 ? -1 : 1) + for (a = 0; a < f; ++a) (h = _[(y[a] = a)] = +t(r[a], a, r)) > 0 && (p += h) + for ( + null != n + ? y.sort(function (t, e) { + return n(_[t], _[e]) + }) + : null != e && + y.sort(function (t, n) { + return e(r[t], r[n]) + }), + a = 0, + c = p ? (g - f * x) / p : 0; + a < f; + ++a, m = l + ) + (u = y[a]), + (l = m + ((h = _[u]) > 0 ? h * c : 0) + x), + (_[u] = { data: r[u], index: a, value: h, startAngle: m, endAngle: l, padAngle: v }) + return _ + } + return ( + (a.value = function (n) { + return arguments.length ? ((t = 'function' == typeof n ? n : r(+n)), a) : t + }), + (a.sortValues = function (t) { + return arguments.length ? ((n = t), (e = null), a) : n + }), + (a.sort = function (t) { + return arguments.length ? ((e = t), (n = null), a) : e + }), + (a.startAngle = function (t) { + return arguments.length ? ((i = 'function' == typeof t ? t : r(+t)), a) : i + }), + (a.endAngle = function (t) { + return arguments.length ? ((o = 'function' == typeof t ? t : r(+t)), a) : o + }), + (a.padAngle = function (t) { + return arguments.length ? ((s = 'function' == typeof t ? t : r(+t)), a) : s + }), + a + ) + } + L.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + this._point = 0 + }, + lineEnd: function () { + ;(this._line || (0 !== this._line && 1 === this._point)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, n) { + switch (((t = +t), (n = +n), this._point)) { + case 0: + ;(this._point = 1), this._line ? this._context.lineTo(t, n) : this._context.moveTo(t, n) + break + case 1: + this._point = 2 + default: + this._context.lineTo(t, n) + } + } + } + var z = U(I) + function F(t) { + this._curve = t + } + function U(t) { + function n(n) { + return new F(t(n)) + } + return (n._curve = t), n + } + function R(t) { + var n = t.curve + return ( + (t.angle = t.x), + delete t.x, + (t.radius = t.y), + delete t.y, + (t.curve = function (t) { + return arguments.length ? n(U(t)) : n()._curve + }), + t + ) + } + function q() { + return R(H().curve(z)) + } + function X() { + var t = D().curve(z), + n = t.curve, + e = t.lineX0, + r = t.lineX1, + i = t.lineY0, + o = t.lineY1 + return ( + (t.angle = t.x), + delete t.x, + (t.startAngle = t.x0), + delete t.x0, + (t.endAngle = t.x1), + delete t.x1, + (t.radius = t.y), + delete t.y, + (t.innerRadius = t.y0), + delete t.y0, + (t.outerRadius = t.y1), + delete t.y1, + (t.lineStartAngle = function () { + return R(e()) + }), + delete t.lineX0, + (t.lineEndAngle = function () { + return R(r()) + }), + delete t.lineX1, + (t.lineInnerRadius = function () { + return R(i()) + }), + delete t.lineY0, + (t.lineOuterRadius = function () { + return R(o()) + }), + delete t.lineY1, + (t.curve = function (t) { + return arguments.length ? n(U(t)) : n()._curve + }), + t + ) + } + function B(t, n) { + return [(n = +n) * Math.cos((t -= Math.PI / 2)), n * Math.sin(t)] + } + F.prototype = { + areaStart: function () { + this._curve.areaStart() + }, + areaEnd: function () { + this._curve.areaEnd() + }, + lineStart: function () { + this._curve.lineStart() + }, + lineEnd: function () { + this._curve.lineEnd() + }, + point: function (t, n) { + this._curve.point(n * Math.sin(t), n * -Math.cos(t)) + } + } + class V { + constructor(t, n) { + ;(this._context = t), (this._x = n) + } + areaStart() { + this._line = 0 + } + areaEnd() { + this._line = NaN + } + lineStart() { + this._point = 0 + } + lineEnd() { + ;(this._line || (0 !== this._line && 1 === this._point)) && this._context.closePath(), + (this._line = 1 - this._line) + } + point(t, n) { + switch (((t = +t), (n = +n), this._point)) { + case 0: + ;(this._point = 1), this._line ? this._context.lineTo(t, n) : this._context.moveTo(t, n) + break + case 1: + this._point = 2 + default: + this._x + ? this._context.bezierCurveTo((this._x0 = (this._x0 + t) / 2), this._y0, this._x0, n, t, n) + : this._context.bezierCurveTo(this._x0, (this._y0 = (this._y0 + n) / 2), t, this._y0, t, n) + } + ;(this._x0 = t), (this._y0 = n) + } + } + class W { + constructor(t) { + this._context = t + } + lineStart() { + this._point = 0 + } + lineEnd() {} + point(t, n) { + if (((t = +t), (n = +n), 0 === this._point)) this._point = 1 + else { + const e = B(this._x0, this._y0), + r = B(this._x0, (this._y0 = (this._y0 + n) / 2)), + i = B(t, this._y0), + o = B(t, n) + this._context.moveTo(...e), this._context.bezierCurveTo(...r, ...i, ...o) + } + ;(this._x0 = t), (this._y0 = n) + } + } + function G(t) { + return new V(t, !0) + } + function J(t) { + return new V(t, !1) + } + function Q(t) { + return new W(t) + } + function K(t) { + return t.source + } + function tt(t) { + return t.target + } + function nt(t) { + let n = K, + e = tt, + i = Z, + o = C, + s = null, + a = null, + u = b(c) + function c() { + let r + const c = P.call(arguments), + l = n.apply(this, c), + h = e.apply(this, c) + if ( + (null == s && (a = t((r = u()))), + a.lineStart(), + (c[0] = l), + a.point(+i.apply(this, c), +o.apply(this, c)), + (c[0] = h), + a.point(+i.apply(this, c), +o.apply(this, c)), + a.lineEnd(), + r) + ) + return (a = null), r + '' || null + } + return ( + (c.source = function (t) { + return arguments.length ? ((n = t), c) : n + }), + (c.target = function (t) { + return arguments.length ? ((e = t), c) : e + }), + (c.x = function (t) { + return arguments.length ? ((i = 'function' == typeof t ? t : r(+t)), c) : i + }), + (c.y = function (t) { + return arguments.length ? ((o = 'function' == typeof t ? t : r(+t)), c) : o + }), + (c.context = function (n) { + return arguments.length ? (null == n ? (s = a = null) : (a = t((s = n))), c) : s + }), + c + ) + } + function et() { + return nt(G) + } + function rt() { + return nt(J) + } + function it() { + const t = nt(Q) + return (t.angle = t.x), delete t.x, (t.radius = t.y), delete t.y, t + } + const ot = l(3), + st = { + draw(t, n) { + const e = 0.59436 * l(n + u(n / 28, 0.75)), + r = e / 2, + i = r * ot + t.moveTo(0, e), t.lineTo(0, -e), t.moveTo(-i, -r), t.lineTo(i, r), t.moveTo(-i, r), t.lineTo(i, -r) + } + }, + at = { + draw(t, n) { + const e = l(n / f) + t.moveTo(e, 0), t.arc(0, 0, e, 0, d) + } + }, + ut = { + draw(t, n) { + const e = l(n / 5) / 2 + t.moveTo(-3 * e, -e), + t.lineTo(-e, -e), + t.lineTo(-e, -3 * e), + t.lineTo(e, -3 * e), + t.lineTo(e, -e), + t.lineTo(3 * e, -e), + t.lineTo(3 * e, e), + t.lineTo(e, e), + t.lineTo(e, 3 * e), + t.lineTo(-e, 3 * e), + t.lineTo(-e, e), + t.lineTo(-3 * e, e), + t.closePath() + } + }, + ct = l(1 / 3), + lt = 2 * ct, + ht = { + draw(t, n) { + const e = l(n / lt), + r = e * ct + t.moveTo(0, -e), t.lineTo(r, 0), t.lineTo(0, e), t.lineTo(-r, 0), t.closePath() + } + }, + ft = { + draw(t, n) { + const e = 0.62625 * l(n) + t.moveTo(0, -e), t.lineTo(e, 0), t.lineTo(0, e), t.lineTo(-e, 0), t.closePath() + } + }, + pt = { + draw(t, n) { + const e = 0.87559 * l(n - u(n / 7, 2)) + t.moveTo(-e, 0), t.lineTo(e, 0), t.moveTo(0, e), t.lineTo(0, -e) + } + }, + dt = { + draw(t, n) { + const e = l(n), + r = -e / 2 + t.rect(r, r, e, e) + } + }, + yt = { + draw(t, n) { + const e = 0.4431 * l(n) + t.moveTo(e, e), t.lineTo(e, -e), t.lineTo(-e, -e), t.lineTo(-e, e), t.closePath() + } + }, + _t = c(f / 10) / c((7 * f) / 10), + mt = c(d / 10) * _t, + gt = -s(d / 10) * _t, + vt = { + draw(t, n) { + const e = l(0.8908130915292852 * n), + r = mt * e, + i = gt * e + t.moveTo(0, -e), t.lineTo(r, i) + for (let n = 1; n < 5; ++n) { + const o = (d * n) / 5, + a = s(o), + u = c(o) + t.lineTo(u * e, -a * e), t.lineTo(a * r - u * i, u * r + a * i) + } + t.closePath() + } + }, + xt = l(3), + wt = { + draw(t, n) { + const e = -l(n / (3 * xt)) + t.moveTo(0, 2 * e), t.lineTo(-xt * e, -e), t.lineTo(xt * e, -e), t.closePath() + } + }, + bt = l(3), + Mt = { + draw(t, n) { + const e = 0.6824 * l(n), + r = e / 2, + i = (e * bt) / 2 + t.moveTo(0, -e), t.lineTo(i, r), t.lineTo(-i, r), t.closePath() + } + }, + Tt = -0.5, + Et = l(3) / 2, + kt = 1 / l(12), + At = 3 * (kt / 2 + 1), + Nt = { + draw(t, n) { + const e = l(n / At), + r = e / 2, + i = e * kt, + o = r, + s = e * kt + e, + a = -o, + u = s + t.moveTo(r, i), + t.lineTo(o, s), + t.lineTo(a, u), + t.lineTo(Tt * r - Et * i, Et * r + Tt * i), + t.lineTo(Tt * o - Et * s, Et * o + Tt * s), + t.lineTo(Tt * a - Et * u, Et * a + Tt * u), + t.lineTo(Tt * r + Et * i, Tt * i - Et * r), + t.lineTo(Tt * o + Et * s, Tt * s - Et * o), + t.lineTo(Tt * a + Et * u, Tt * u - Et * a), + t.closePath() + } + }, + St = { + draw(t, n) { + const e = 0.6189 * l(n - u(n / 6, 1.7)) + t.moveTo(-e, -e), t.lineTo(e, e), t.moveTo(-e, e), t.lineTo(e, -e) + } + }, + Pt = [at, ut, ht, dt, vt, wt, Nt], + Ot = [at, pt, St, Mt, st, yt, ft] + function Lt(t, n) { + let e = null, + i = b(o) + function o() { + let r + if ((e || (e = r = i()), t.apply(this, arguments).draw(e, +n.apply(this, arguments)), r)) + return (e = null), r + '' || null + } + return ( + (t = 'function' == typeof t ? t : r(t || at)), + (n = 'function' == typeof n ? n : r(void 0 === n ? 64 : +n)), + (o.type = function (n) { + return arguments.length ? ((t = 'function' == typeof n ? n : r(n)), o) : t + }), + (o.size = function (t) { + return arguments.length ? ((n = 'function' == typeof t ? t : r(+t)), o) : n + }), + (o.context = function (t) { + return arguments.length ? ((e = null == t ? null : t), o) : e + }), + o + ) + } + function It() {} + function Zt(t, n, e) { + t._context.bezierCurveTo( + (2 * t._x0 + t._x1) / 3, + (2 * t._y0 + t._y1) / 3, + (t._x0 + 2 * t._x1) / 3, + (t._y0 + 2 * t._y1) / 3, + (t._x0 + 4 * t._x1 + n) / 6, + (t._y0 + 4 * t._y1 + e) / 6 + ) + } + function Ct(t) { + this._context = t + } + function Ht(t) { + return new Ct(t) + } + function Dt(t) { + this._context = t + } + function $t(t) { + return new Dt(t) + } + function jt(t) { + this._context = t + } + function Yt(t) { + return new jt(t) + } + function zt(t, n) { + ;(this._basis = new Ct(t)), (this._beta = n) + } + ;(Ct.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0) + }, + lineEnd: function () { + switch (this._point) { + case 3: + Zt(this, this._x1, this._y1) + case 2: + this._context.lineTo(this._x1, this._y1) + } + ;(this._line || (0 !== this._line && 1 === this._point)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, n) { + switch (((t = +t), (n = +n), this._point)) { + case 0: + ;(this._point = 1), this._line ? this._context.lineTo(t, n) : this._context.moveTo(t, n) + break + case 1: + this._point = 2 + break + case 2: + ;(this._point = 3), this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6) + default: + Zt(this, t, n) + } + ;(this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = n) + } + }), + (Dt.prototype = { + areaStart: It, + areaEnd: It, + lineStart: function () { + ;(this._x0 = + this._x1 = + this._x2 = + this._x3 = + this._x4 = + this._y0 = + this._y1 = + this._y2 = + this._y3 = + this._y4 = + NaN), + (this._point = 0) + }, + lineEnd: function () { + switch (this._point) { + case 1: + this._context.moveTo(this._x2, this._y2), this._context.closePath() + break + case 2: + this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3), + this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3), + this._context.closePath() + break + case 3: + this.point(this._x2, this._y2), this.point(this._x3, this._y3), this.point(this._x4, this._y4) + } + }, + point: function (t, n) { + switch (((t = +t), (n = +n), this._point)) { + case 0: + ;(this._point = 1), (this._x2 = t), (this._y2 = n) + break + case 1: + ;(this._point = 2), (this._x3 = t), (this._y3 = n) + break + case 2: + ;(this._point = 3), + (this._x4 = t), + (this._y4 = n), + this._context.moveTo((this._x0 + 4 * this._x1 + t) / 6, (this._y0 + 4 * this._y1 + n) / 6) + break + default: + Zt(this, t, n) + } + ;(this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = n) + } + }), + (jt.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x0 = this._x1 = this._y0 = this._y1 = NaN), (this._point = 0) + }, + lineEnd: function () { + ;(this._line || (0 !== this._line && 3 === this._point)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, n) { + switch (((t = +t), (n = +n), this._point)) { + case 0: + this._point = 1 + break + case 1: + this._point = 2 + break + case 2: + this._point = 3 + var e = (this._x0 + 4 * this._x1 + t) / 6, + r = (this._y0 + 4 * this._y1 + n) / 6 + this._line ? this._context.lineTo(e, r) : this._context.moveTo(e, r) + break + case 3: + this._point = 4 + default: + Zt(this, t, n) + } + ;(this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = n) + } + }), + (zt.prototype = { + lineStart: function () { + ;(this._x = []), (this._y = []), this._basis.lineStart() + }, + lineEnd: function () { + var t = this._x, + n = this._y, + e = t.length - 1 + if (e > 0) + for (var r, i = t[0], o = n[0], s = t[e] - i, a = n[e] - o, u = -1; ++u <= e; ) + (r = u / e), + this._basis.point( + this._beta * t[u] + (1 - this._beta) * (i + r * s), + this._beta * n[u] + (1 - this._beta) * (o + r * a) + ) + ;(this._x = this._y = null), this._basis.lineEnd() + }, + point: function (t, n) { + this._x.push(+t), this._y.push(+n) + } + }) + const Ft = (function t(n) { + function e(t) { + return 1 === n ? new Ct(t) : new zt(t, n) + } + return ( + (e.beta = function (n) { + return t(+n) + }), + e + ) + })(0.85) + function Ut(t, n, e) { + t._context.bezierCurveTo( + t._x1 + t._k * (t._x2 - t._x0), + t._y1 + t._k * (t._y2 - t._y0), + t._x2 + t._k * (t._x1 - n), + t._y2 + t._k * (t._y1 - e), + t._x2, + t._y2 + ) + } + function Rt(t, n) { + ;(this._context = t), (this._k = (1 - n) / 6) + } + Rt.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0) + }, + lineEnd: function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2) + break + case 3: + Ut(this, this._x1, this._y1) + } + ;(this._line || (0 !== this._line && 1 === this._point)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, n) { + switch (((t = +t), (n = +n), this._point)) { + case 0: + ;(this._point = 1), this._line ? this._context.lineTo(t, n) : this._context.moveTo(t, n) + break + case 1: + ;(this._point = 2), (this._x1 = t), (this._y1 = n) + break + case 2: + this._point = 3 + default: + Ut(this, t, n) + } + ;(this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = n) + } + } + const qt = (function t(n) { + function e(t) { + return new Rt(t, n) + } + return ( + (e.tension = function (n) { + return t(+n) + }), + e + ) + })(0) + function Xt(t, n) { + ;(this._context = t), (this._k = (1 - n) / 6) + } + Xt.prototype = { + areaStart: It, + areaEnd: It, + lineStart: function () { + ;(this._x0 = + this._x1 = + this._x2 = + this._x3 = + this._x4 = + this._x5 = + this._y0 = + this._y1 = + this._y2 = + this._y3 = + this._y4 = + this._y5 = + NaN), + (this._point = 0) + }, + lineEnd: function () { + switch (this._point) { + case 1: + this._context.moveTo(this._x3, this._y3), this._context.closePath() + break + case 2: + this._context.lineTo(this._x3, this._y3), this._context.closePath() + break + case 3: + this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5) + } + }, + point: function (t, n) { + switch (((t = +t), (n = +n), this._point)) { + case 0: + ;(this._point = 1), (this._x3 = t), (this._y3 = n) + break + case 1: + ;(this._point = 2), this._context.moveTo((this._x4 = t), (this._y4 = n)) + break + case 2: + ;(this._point = 3), (this._x5 = t), (this._y5 = n) + break + default: + Ut(this, t, n) + } + ;(this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = n) + } + } + const Bt = (function t(n) { + function e(t) { + return new Xt(t, n) + } + return ( + (e.tension = function (n) { + return t(+n) + }), + e + ) + })(0) + function Vt(t, n) { + ;(this._context = t), (this._k = (1 - n) / 6) + } + Vt.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), (this._point = 0) + }, + lineEnd: function () { + ;(this._line || (0 !== this._line && 3 === this._point)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, n) { + switch (((t = +t), (n = +n), this._point)) { + case 0: + this._point = 1 + break + case 1: + this._point = 2 + break + case 2: + ;(this._point = 3), + this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2) + break + case 3: + this._point = 4 + default: + Ut(this, t, n) + } + ;(this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = n) + } + } + const Wt = (function t(n) { + function e(t) { + return new Vt(t, n) + } + return ( + (e.tension = function (n) { + return t(+n) + }), + e + ) + })(0) + function Gt(t, n, e) { + var r = t._x1, + i = t._y1, + o = t._x2, + s = t._y2 + if (t._l01_a > h) { + var a = 2 * t._l01_2a + 3 * t._l01_a * t._l12_a + t._l12_2a, + u = 3 * t._l01_a * (t._l01_a + t._l12_a) + ;(r = (r * a - t._x0 * t._l12_2a + t._x2 * t._l01_2a) / u), + (i = (i * a - t._y0 * t._l12_2a + t._y2 * t._l01_2a) / u) + } + if (t._l23_a > h) { + var c = 2 * t._l23_2a + 3 * t._l23_a * t._l12_a + t._l12_2a, + l = 3 * t._l23_a * (t._l23_a + t._l12_a) + ;(o = (o * c + t._x1 * t._l23_2a - n * t._l12_2a) / l), + (s = (s * c + t._y1 * t._l23_2a - e * t._l12_2a) / l) + } + t._context.bezierCurveTo(r, i, o, s, t._x2, t._y2) + } + function Jt(t, n) { + ;(this._context = t), (this._alpha = n) + } + Jt.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), + (this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0) + }, + lineEnd: function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x2, this._y2) + break + case 3: + this.point(this._x2, this._y2) + } + ;(this._line || (0 !== this._line && 1 === this._point)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, n) { + if (((t = +t), (n = +n), this._point)) { + var e = this._x2 - t, + r = this._y2 - n + this._l23_a = Math.sqrt((this._l23_2a = Math.pow(e * e + r * r, this._alpha))) + } + switch (this._point) { + case 0: + ;(this._point = 1), this._line ? this._context.lineTo(t, n) : this._context.moveTo(t, n) + break + case 1: + this._point = 2 + break + case 2: + this._point = 3 + default: + Gt(this, t, n) + } + ;(this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = n) + } + } + const Qt = (function t(n) { + function e(t) { + return n ? new Jt(t, n) : new Rt(t, 0) + } + return ( + (e.alpha = function (n) { + return t(+n) + }), + e + ) + })(0.5) + function Kt(t, n) { + ;(this._context = t), (this._alpha = n) + } + Kt.prototype = { + areaStart: It, + areaEnd: It, + lineStart: function () { + ;(this._x0 = + this._x1 = + this._x2 = + this._x3 = + this._x4 = + this._x5 = + this._y0 = + this._y1 = + this._y2 = + this._y3 = + this._y4 = + this._y5 = + NaN), + (this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0) + }, + lineEnd: function () { + switch (this._point) { + case 1: + this._context.moveTo(this._x3, this._y3), this._context.closePath() + break + case 2: + this._context.lineTo(this._x3, this._y3), this._context.closePath() + break + case 3: + this.point(this._x3, this._y3), this.point(this._x4, this._y4), this.point(this._x5, this._y5) + } + }, + point: function (t, n) { + if (((t = +t), (n = +n), this._point)) { + var e = this._x2 - t, + r = this._y2 - n + this._l23_a = Math.sqrt((this._l23_2a = Math.pow(e * e + r * r, this._alpha))) + } + switch (this._point) { + case 0: + ;(this._point = 1), (this._x3 = t), (this._y3 = n) + break + case 1: + ;(this._point = 2), this._context.moveTo((this._x4 = t), (this._y4 = n)) + break + case 2: + ;(this._point = 3), (this._x5 = t), (this._y5 = n) + break + default: + Gt(this, t, n) + } + ;(this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = n) + } + } + const tn = (function t(n) { + function e(t) { + return n ? new Kt(t, n) : new Xt(t, 0) + } + return ( + (e.alpha = function (n) { + return t(+n) + }), + e + ) + })(0.5) + function nn(t, n) { + ;(this._context = t), (this._alpha = n) + } + nn.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN), + (this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0) + }, + lineEnd: function () { + ;(this._line || (0 !== this._line && 3 === this._point)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, n) { + if (((t = +t), (n = +n), this._point)) { + var e = this._x2 - t, + r = this._y2 - n + this._l23_a = Math.sqrt((this._l23_2a = Math.pow(e * e + r * r, this._alpha))) + } + switch (this._point) { + case 0: + this._point = 1 + break + case 1: + this._point = 2 + break + case 2: + ;(this._point = 3), + this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2) + break + case 3: + this._point = 4 + default: + Gt(this, t, n) + } + ;(this._l01_a = this._l12_a), + (this._l12_a = this._l23_a), + (this._l01_2a = this._l12_2a), + (this._l12_2a = this._l23_2a), + (this._x0 = this._x1), + (this._x1 = this._x2), + (this._x2 = t), + (this._y0 = this._y1), + (this._y1 = this._y2), + (this._y2 = n) + } + } + const en = (function t(n) { + function e(t) { + return n ? new nn(t, n) : new Vt(t, 0) + } + return ( + (e.alpha = function (n) { + return t(+n) + }), + e + ) + })(0.5) + function rn(t) { + this._context = t + } + function on(t) { + return new rn(t) + } + function sn(t) { + return t < 0 ? -1 : 1 + } + function an(t, n, e) { + var r = t._x1 - t._x0, + i = n - t._x1, + o = (t._y1 - t._y0) / (r || (i < 0 && -0)), + s = (e - t._y1) / (i || (r < 0 && -0)), + a = (o * i + s * r) / (r + i) + return (sn(o) + sn(s)) * Math.min(Math.abs(o), Math.abs(s), 0.5 * Math.abs(a)) || 0 + } + function un(t, n) { + var e = t._x1 - t._x0 + return e ? ((3 * (t._y1 - t._y0)) / e - n) / 2 : n + } + function cn(t, n, e) { + var r = t._x0, + i = t._y0, + o = t._x1, + s = t._y1, + a = (o - r) / 3 + t._context.bezierCurveTo(r + a, i + a * n, o - a, s - a * e, o, s) + } + function ln(t) { + this._context = t + } + function hn(t) { + this._context = new fn(t) + } + function fn(t) { + this._context = t + } + function pn(t) { + return new ln(t) + } + function dn(t) { + return new hn(t) + } + function yn(t) { + this._context = t + } + function _n(t) { + var n, + e, + r = t.length - 1, + i = new Array(r), + o = new Array(r), + s = new Array(r) + for (i[0] = 0, o[0] = 2, s[0] = t[0] + 2 * t[1], n = 1; n < r - 1; ++n) + (i[n] = 1), (o[n] = 4), (s[n] = 4 * t[n] + 2 * t[n + 1]) + for (i[r - 1] = 2, o[r - 1] = 7, s[r - 1] = 8 * t[r - 1] + t[r], n = 1; n < r; ++n) + (e = i[n] / o[n - 1]), (o[n] -= e), (s[n] -= e * s[n - 1]) + for (i[r - 1] = s[r - 1] / o[r - 1], n = r - 2; n >= 0; --n) i[n] = (s[n] - i[n + 1]) / o[n] + for (o[r - 1] = (t[r] + i[r - 1]) / 2, n = 0; n < r - 1; ++n) o[n] = 2 * t[n + 1] - i[n + 1] + return [i, o] + } + function mn(t) { + return new yn(t) + } + function gn(t, n) { + ;(this._context = t), (this._t = n) + } + function vn(t) { + return new gn(t, 0.5) + } + function xn(t) { + return new gn(t, 0) + } + function wn(t) { + return new gn(t, 1) + } + function bn(t, n) { + if ((i = t.length) > 1) + for (var e, r, i, o = 1, s = t[n[0]], a = s.length; o < i; ++o) + for (r = s, s = t[n[o]], e = 0; e < a; ++e) s[e][1] += s[e][0] = isNaN(r[e][1]) ? r[e][0] : r[e][1] + } + function Mn(t) { + for (var n = t.length, e = new Array(n); --n >= 0; ) e[n] = n + return e + } + function Tn(t, n) { + return t[n] + } + function En(t) { + const n = [] + return (n.key = t), n + } + function kn() { + var t = r([]), + n = Mn, + e = bn, + i = Tn + function o(r) { + var o, + s, + a = Array.from(t.apply(this, arguments), En), + u = a.length, + c = -1 + for (const t of r) for (o = 0, ++c; o < u; ++o) (a[o][c] = [0, +i(t, a[o].key, c, r)]).data = t + for (o = 0, s = O(n(a)); o < u; ++o) a[s[o]].index = o + return e(a, s), a + } + return ( + (o.keys = function (n) { + return arguments.length ? ((t = 'function' == typeof n ? n : r(Array.from(n))), o) : t + }), + (o.value = function (t) { + return arguments.length ? ((i = 'function' == typeof t ? t : r(+t)), o) : i + }), + (o.order = function (t) { + return arguments.length ? ((n = null == t ? Mn : 'function' == typeof t ? t : r(Array.from(t))), o) : n + }), + (o.offset = function (t) { + return arguments.length ? ((e = null == t ? bn : t), o) : e + }), + o + ) + } + function An(t, n) { + if ((r = t.length) > 0) { + for (var e, r, i, o = 0, s = t[0].length; o < s; ++o) { + for (i = e = 0; e < r; ++e) i += t[e][o][1] || 0 + if (i) for (e = 0; e < r; ++e) t[e][o][1] /= i + } + bn(t, n) + } + } + function Nn(t, n) { + if ((a = t.length) > 0) + for (var e, r, i, o, s, a, u = 0, c = t[n[0]].length; u < c; ++u) + for (o = s = 0, e = 0; e < a; ++e) + (i = (r = t[n[e]][u])[1] - r[0]) > 0 + ? ((r[0] = o), (r[1] = o += i)) + : i < 0 + ? ((r[1] = s), (r[0] = s += i)) + : ((r[0] = 0), (r[1] = i)) + } + function Sn(t, n) { + if ((e = t.length) > 0) { + for (var e, r = 0, i = t[n[0]], o = i.length; r < o; ++r) { + for (var s = 0, a = 0; s < e; ++s) a += t[s][r][1] || 0 + i[r][1] += i[r][0] = -a / 2 + } + bn(t, n) + } + } + function Pn(t, n) { + if ((i = t.length) > 0 && (r = (e = t[n[0]]).length) > 0) { + for (var e, r, i, o = 0, s = 1; s < r; ++s) { + for (var a = 0, u = 0, c = 0; a < i; ++a) { + for (var l = t[n[a]], h = l[s][1] || 0, f = (h - (l[s - 1][1] || 0)) / 2, p = 0; p < a; ++p) { + var d = t[n[p]] + f += (d[s][1] || 0) - (d[s - 1][1] || 0) + } + ;(u += h), (c += f * h) + } + ;(e[s - 1][1] += e[s - 1][0] = o), u && (o -= c / u) + } + ;(e[s - 1][1] += e[s - 1][0] = o), bn(t, n) + } + } + function On(t) { + var n = t.map(Ln) + return Mn(t).sort(function (t, e) { + return n[t] - n[e] + }) + } + function Ln(t) { + for (var n, e = -1, r = 0, i = t.length, o = -1 / 0; ++e < i; ) (n = +t[e][1]) > o && ((o = n), (r = e)) + return r + } + function In(t) { + var n = t.map(Zn) + return Mn(t).sort(function (t, e) { + return n[t] - n[e] + }) + } + function Zn(t) { + for (var n, e = 0, r = -1, i = t.length; ++r < i; ) (n = +t[r][1]) && (e += n) + return e + } + function Cn(t) { + return In(t).reverse() + } + function Hn(t) { + var n, + e, + r = t.length, + i = t.map(Zn), + o = On(t), + s = 0, + a = 0, + u = [], + c = [] + for (n = 0; n < r; ++n) (e = o[n]), s < a ? ((s += i[e]), u.push(e)) : ((a += i[e]), c.push(e)) + return c.reverse().concat(u) + } + function Dn(t) { + return Mn(t).reverse() + } + ;(rn.prototype = { + areaStart: It, + areaEnd: It, + lineStart: function () { + this._point = 0 + }, + lineEnd: function () { + this._point && this._context.closePath() + }, + point: function (t, n) { + ;(t = +t), + (n = +n), + this._point ? this._context.lineTo(t, n) : ((this._point = 1), this._context.moveTo(t, n)) + } + }), + (ln.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN), (this._point = 0) + }, + lineEnd: function () { + switch (this._point) { + case 2: + this._context.lineTo(this._x1, this._y1) + break + case 3: + cn(this, this._t0, un(this, this._t0)) + } + ;(this._line || (0 !== this._line && 1 === this._point)) && this._context.closePath(), + (this._line = 1 - this._line) + }, + point: function (t, n) { + var e = NaN + if (((n = +n), (t = +t) !== this._x1 || n !== this._y1)) { + switch (this._point) { + case 0: + ;(this._point = 1), this._line ? this._context.lineTo(t, n) : this._context.moveTo(t, n) + break + case 1: + this._point = 2 + break + case 2: + ;(this._point = 3), cn(this, un(this, (e = an(this, t, n))), e) + break + default: + cn(this, this._t0, (e = an(this, t, n))) + } + ;(this._x0 = this._x1), (this._x1 = t), (this._y0 = this._y1), (this._y1 = n), (this._t0 = e) + } + } + }), + ((hn.prototype = Object.create(ln.prototype)).point = function (t, n) { + ln.prototype.point.call(this, n, t) + }), + (fn.prototype = { + moveTo: function (t, n) { + this._context.moveTo(n, t) + }, + closePath: function () { + this._context.closePath() + }, + lineTo: function (t, n) { + this._context.lineTo(n, t) + }, + bezierCurveTo: function (t, n, e, r, i, o) { + this._context.bezierCurveTo(n, t, r, e, o, i) + } + }), + (yn.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x = []), (this._y = []) + }, + lineEnd: function () { + var t = this._x, + n = this._y, + e = t.length + if (e) + if ((this._line ? this._context.lineTo(t[0], n[0]) : this._context.moveTo(t[0], n[0]), 2 === e)) + this._context.lineTo(t[1], n[1]) + else + for (var r = _n(t), i = _n(n), o = 0, s = 1; s < e; ++o, ++s) + this._context.bezierCurveTo(r[0][o], i[0][o], r[1][o], i[1][o], t[s], n[s]) + ;(this._line || (0 !== this._line && 1 === e)) && this._context.closePath(), + (this._line = 1 - this._line), + (this._x = this._y = null) + }, + point: function (t, n) { + this._x.push(+t), this._y.push(+n) + } + }), + (gn.prototype = { + areaStart: function () { + this._line = 0 + }, + areaEnd: function () { + this._line = NaN + }, + lineStart: function () { + ;(this._x = this._y = NaN), (this._point = 0) + }, + lineEnd: function () { + 0 < this._t && this._t < 1 && 2 === this._point && this._context.lineTo(this._x, this._y), + (this._line || (0 !== this._line && 1 === this._point)) && this._context.closePath(), + this._line >= 0 && ((this._t = 1 - this._t), (this._line = 1 - this._line)) + }, + point: function (t, n) { + switch (((t = +t), (n = +n), this._point)) { + case 0: + ;(this._point = 1), this._line ? this._context.lineTo(t, n) : this._context.moveTo(t, n) + break + case 1: + this._point = 2 + default: + if (this._t <= 0) this._context.lineTo(this._x, n), this._context.lineTo(t, n) + else { + var e = this._x * (1 - this._t) + t * this._t + this._context.lineTo(e, this._y), this._context.lineTo(e, n) + } + } + ;(this._x = t), (this._y = n) + } + }) + }, + 9065: (t, n, e) => { + 'use strict' + e.r(n), e.d(n, { ZoomTransform: () => Nt, zoom: () => jt, zoomIdentity: () => St, zoomTransform: () => Pt }) + var r = { value: () => {} } + function i() { + for (var t, n = 0, e = arguments.length, r = {}; n < e; ++n) { + if (!(t = arguments[n] + '') || t in r || /[\s.]/.test(t)) throw new Error('illegal type: ' + t) + r[t] = [] + } + return new o(r) + } + function o(t) { + this._ = t + } + function s(t, n) { + for (var e, r = 0, i = t.length; r < i; ++r) if ((e = t[r]).name === n) return e.value + } + function a(t, n, e) { + for (var i = 0, o = t.length; i < o; ++i) + if (t[i].name === n) { + ;(t[i] = r), (t = t.slice(0, i).concat(t.slice(i + 1))) + break + } + return null != e && t.push({ name: n, value: e }), t + } + o.prototype = i.prototype = { + constructor: o, + on: function (t, n) { + var e, + r, + i = this._, + o = + ((r = i), + (t + '') + .trim() + .split(/^|\s+/) + .map(function (t) { + var n = '', + e = t.indexOf('.') + if ((e >= 0 && ((n = t.slice(e + 1)), (t = t.slice(0, e))), t && !r.hasOwnProperty(t))) + throw new Error('unknown type: ' + t) + return { type: t, name: n } + })), + u = -1, + c = o.length + if (!(arguments.length < 2)) { + if (null != n && 'function' != typeof n) throw new Error('invalid callback: ' + n) + for (; ++u < c; ) + if ((e = (t = o[u]).type)) i[e] = a(i[e], t.name, n) + else if (null == n) for (e in i) i[e] = a(i[e], t.name, null) + return this + } + for (; ++u < c; ) if ((e = (t = o[u]).type) && (e = s(i[e], t.name))) return e + }, + copy: function () { + var t = {}, + n = this._ + for (var e in n) t[e] = n[e].slice() + return new o(t) + }, + call: function (t, n) { + if ((e = arguments.length - 2) > 0) + for (var e, r, i = new Array(e), o = 0; o < e; ++o) i[o] = arguments[o + 2] + if (!this._.hasOwnProperty(t)) throw new Error('unknown type: ' + t) + for (o = 0, e = (r = this._[t]).length; o < e; ++o) r[o].value.apply(n, i) + }, + apply: function (t, n, e) { + if (!this._.hasOwnProperty(t)) throw new Error('unknown type: ' + t) + for (var r = this._[t], i = 0, o = r.length; i < o; ++i) r[i].value.apply(n, e) + } + } + const u = i + var c = e(3838) + const l = { capture: !0, passive: !1 } + function h(t) { + t.preventDefault(), t.stopImmediatePropagation() + } + var f, + p, + d = e(8167), + y = e(3109), + _ = e(6740), + m = 0, + g = 0, + v = 0, + x = 1e3, + w = 0, + b = 0, + M = 0, + T = 'object' == typeof performance && performance.now ? performance : Date, + E = + 'object' == typeof window && window.requestAnimationFrame + ? window.requestAnimationFrame.bind(window) + : function (t) { + setTimeout(t, 17) + } + function k() { + return b || (E(A), (b = T.now() + M)) + } + function A() { + b = 0 + } + function N() { + this._call = this._time = this._next = null + } + function S(t, n, e) { + var r = new N() + return r.restart(t, n, e), r + } + function P() { + ;(b = (w = T.now()) + M), (m = g = 0) + try { + !(function () { + k(), ++m + for (var t, n = f; n; ) (t = b - n._time) >= 0 && n._call.call(void 0, t), (n = n._next) + --m + })() + } finally { + ;(m = 0), + (function () { + for (var t, n, e = f, r = 1 / 0; e; ) + e._call + ? (r > e._time && (r = e._time), (t = e), (e = e._next)) + : ((n = e._next), (e._next = null), (e = t ? (t._next = n) : (f = n))) + ;(p = t), L(r) + })(), + (b = 0) + } + } + function O() { + var t = T.now(), + n = t - w + n > x && ((M -= n), (w = t)) + } + function L(t) { + m || + (g && (g = clearTimeout(g)), + t - b > 24 + ? (t < 1 / 0 && (g = setTimeout(P, t - T.now() - M)), v && (v = clearInterval(v))) + : (v || ((w = T.now()), (v = setInterval(O, x))), (m = 1), E(P))) + } + function I(t, n, e) { + var r = new N() + return ( + (n = null == n ? 0 : +n), + r.restart( + (e) => { + r.stop(), t(e + n) + }, + n, + e + ), + r + ) + } + N.prototype = S.prototype = { + constructor: N, + restart: function (t, n, e) { + if ('function' != typeof t) throw new TypeError('callback is not a function') + ;(e = (null == e ? k() : +e) + (null == n ? 0 : +n)), + this._next || p === this || (p ? (p._next = this) : (f = this), (p = this)), + (this._call = t), + (this._time = e), + L() + }, + stop: function () { + this._call && ((this._call = null), (this._time = 1 / 0), L()) + } + } + var Z = u('start', 'end', 'cancel', 'interrupt'), + C = [], + H = 0, + D = 2, + $ = 3, + j = 5, + Y = 6 + function z(t, n, e, r, i, o) { + var s = t.__transition + if (s) { + if (e in s) return + } else t.__transition = {} + !(function (t, n, e) { + var r, + i = t.__transition + function o(u) { + var c, l, h, f + if (1 !== e.state) return a() + for (c in i) + if ((f = i[c]).name === e.name) { + if (f.state === $) return I(o) + 4 === f.state + ? ((f.state = Y), + f.timer.stop(), + f.on.call('interrupt', t, t.__data__, f.index, f.group), + delete i[c]) + : +c < n && + ((f.state = Y), + f.timer.stop(), + f.on.call('cancel', t, t.__data__, f.index, f.group), + delete i[c]) + } + if ( + (I(function () { + e.state === $ && ((e.state = 4), e.timer.restart(s, e.delay, e.time), s(u)) + }), + (e.state = D), + e.on.call('start', t, t.__data__, e.index, e.group), + e.state === D) + ) { + for (e.state = $, r = new Array((h = e.tween.length)), c = 0, l = -1; c < h; ++c) + (f = e.tween[c].value.call(t, t.__data__, e.index, e.group)) && (r[++l] = f) + r.length = l + 1 + } + } + function s(n) { + for ( + var i = n < e.duration ? e.ease.call(null, n / e.duration) : (e.timer.restart(a), (e.state = j), 1), + o = -1, + s = r.length; + ++o < s; + + ) + r[o].call(t, i) + e.state === j && (e.on.call('end', t, t.__data__, e.index, e.group), a()) + } + function a() { + for (var r in ((e.state = Y), e.timer.stop(), delete i[n], i)) return + delete t.__transition + } + ;(i[n] = e), + (e.timer = S( + function (t) { + ;(e.state = 1), e.timer.restart(o, e.delay, e.time), e.delay <= t && o(t - e.delay) + }, + 0, + e.time + )) + })(t, e, { + name: n, + index: r, + group: i, + on: Z, + tween: C, + time: o.time, + delay: o.delay, + duration: o.duration, + ease: o.ease, + timer: null, + state: H + }) + } + function F(t, n) { + var e = R(t, n) + if (e.state > H) throw new Error('too late; already scheduled') + return e + } + function U(t, n) { + var e = R(t, n) + if (e.state > $) throw new Error('too late; already running') + return e + } + function R(t, n) { + var e = t.__transition + if (!e || !(e = e[n])) throw new Error('transition not found') + return e + } + function q(t, n) { + var e, + r, + i, + o = t.__transition, + s = !0 + if (o) { + for (i in ((n = null == n ? null : n + ''), o)) + (e = o[i]).name === n + ? ((r = e.state > D && e.state < j), + (e.state = Y), + e.timer.stop(), + e.on.call(r ? 'interrupt' : 'cancel', t, t.__data__, e.index, e.group), + delete o[i]) + : (s = !1) + s && delete t.__transition + } + } + var X = e(6556), + B = e(1663) + function V(t, n) { + var e, r + return function () { + var i = U(this, t), + o = i.tween + if (o !== e) + for (var s = 0, a = (r = e = o).length; s < a; ++s) + if (r[s].name === n) { + ;(r = r.slice()).splice(s, 1) + break + } + i.tween = r + } + } + function W(t, n, e) { + var r, i + if ('function' != typeof e) throw new Error() + return function () { + var o = U(this, t), + s = o.tween + if (s !== r) { + i = (r = s).slice() + for (var a = { name: n, value: e }, u = 0, c = i.length; u < c; ++u) + if (i[u].name === n) { + i[u] = a + break + } + u === c && i.push(a) + } + o.tween = i + } + } + function G(t, n, e) { + var r = t._id + return ( + t.each(function () { + var t = U(this, r) + ;(t.value || (t.value = {}))[n] = e.apply(this, arguments) + }), + function (t) { + return R(t, r).value[n] + } + ) + } + var J = e(4447), + Q = e(8063), + K = e(6354), + tt = e(6773) + function nt(t, n) { + var e + return ( + 'number' == typeof n ? Q.Z : n instanceof J.ZP ? K.ZP : (e = (0, J.ZP)(n)) ? ((n = e), K.ZP) : tt.Z + )(t, n) + } + function et(t) { + return function () { + this.removeAttribute(t) + } + } + function rt(t) { + return function () { + this.removeAttributeNS(t.space, t.local) + } + } + function it(t, n, e) { + var r, + i, + o = e + '' + return function () { + var s = this.getAttribute(t) + return s === o ? null : s === r ? i : (i = n((r = s), e)) + } + } + function ot(t, n, e) { + var r, + i, + o = e + '' + return function () { + var s = this.getAttributeNS(t.space, t.local) + return s === o ? null : s === r ? i : (i = n((r = s), e)) + } + } + function st(t, n, e) { + var r, i, o + return function () { + var s, + a, + u = e(this) + if (null != u) + return (s = this.getAttribute(t)) === (a = u + '') + ? null + : s === r && a === i + ? o + : ((i = a), (o = n((r = s), u))) + this.removeAttribute(t) + } + } + function at(t, n, e) { + var r, i, o + return function () { + var s, + a, + u = e(this) + if (null != u) + return (s = this.getAttributeNS(t.space, t.local)) === (a = u + '') + ? null + : s === r && a === i + ? o + : ((i = a), (o = n((r = s), u))) + this.removeAttributeNS(t.space, t.local) + } + } + function ut(t, n) { + var e, r + function i() { + var i = n.apply(this, arguments) + return ( + i !== r && + (e = + (r = i) && + (function (t, n) { + return function (e) { + this.setAttributeNS(t.space, t.local, n.call(this, e)) + } + })(t, i)), + e + ) + } + return (i._value = n), i + } + function ct(t, n) { + var e, r + function i() { + var i = n.apply(this, arguments) + return ( + i !== r && + (e = + (r = i) && + (function (t, n) { + return function (e) { + this.setAttribute(t, n.call(this, e)) + } + })(t, i)), + e + ) + } + return (i._value = n), i + } + function lt(t, n) { + return function () { + F(this, t).delay = +n.apply(this, arguments) + } + } + function ht(t, n) { + return ( + (n = +n), + function () { + F(this, t).delay = n + } + ) + } + function ft(t, n) { + return function () { + U(this, t).duration = +n.apply(this, arguments) + } + } + function pt(t, n) { + return ( + (n = +n), + function () { + U(this, t).duration = n + } + ) + } + var dt = e(4421), + yt = e(3010), + _t = e(9701), + mt = _.ZP.prototype.constructor, + gt = e(2627) + function vt(t) { + return function () { + this.style.removeProperty(t) + } + } + var xt = 0 + function wt(t, n, e, r) { + ;(this._groups = t), (this._parents = n), (this._name = e), (this._id = r) + } + function bt() { + return ++xt + } + var Mt = _.ZP.prototype + wt.prototype = function (t) { + return (0, _.ZP)().transition(t) + }.prototype = { + constructor: wt, + select: function (t) { + var n = this._name, + e = this._id + 'function' != typeof t && (t = (0, yt.Z)(t)) + for (var r = this._groups, i = r.length, o = new Array(i), s = 0; s < i; ++s) + for (var a, u, c = r[s], l = c.length, h = (o[s] = new Array(l)), f = 0; f < l; ++f) + (a = c[f]) && + (u = t.call(a, a.__data__, f, c)) && + ('__data__' in a && (u.__data__ = a.__data__), (h[f] = u), z(h[f], n, e, f, h, R(a, e))) + return new wt(o, this._parents, n, e) + }, + selectAll: function (t) { + var n = this._name, + e = this._id + 'function' != typeof t && (t = (0, _t.Z)(t)) + for (var r = this._groups, i = r.length, o = [], s = [], a = 0; a < i; ++a) + for (var u, c = r[a], l = c.length, h = 0; h < l; ++h) + if ((u = c[h])) { + for (var f, p = t.call(u, u.__data__, h, c), d = R(u, e), y = 0, _ = p.length; y < _; ++y) + (f = p[y]) && z(f, n, e, y, p, d) + o.push(p), s.push(u) + } + return new wt(o, s, n, e) + }, + selectChild: Mt.selectChild, + selectChildren: Mt.selectChildren, + filter: function (t) { + 'function' != typeof t && (t = (0, dt.Z)(t)) + for (var n = this._groups, e = n.length, r = new Array(e), i = 0; i < e; ++i) + for (var o, s = n[i], a = s.length, u = (r[i] = []), c = 0; c < a; ++c) + (o = s[c]) && t.call(o, o.__data__, c, s) && u.push(o) + return new wt(r, this._parents, this._name, this._id) + }, + merge: function (t) { + if (t._id !== this._id) throw new Error() + for ( + var n = this._groups, + e = t._groups, + r = n.length, + i = e.length, + o = Math.min(r, i), + s = new Array(r), + a = 0; + a < o; + ++a + ) + for (var u, c = n[a], l = e[a], h = c.length, f = (s[a] = new Array(h)), p = 0; p < h; ++p) + (u = c[p] || l[p]) && (f[p] = u) + for (; a < r; ++a) s[a] = n[a] + return new wt(s, this._parents, this._name, this._id) + }, + selection: function () { + return new mt(this._groups, this._parents) + }, + transition: function () { + for (var t = this._name, n = this._id, e = bt(), r = this._groups, i = r.length, o = 0; o < i; ++o) + for (var s, a = r[o], u = a.length, c = 0; c < u; ++c) + if ((s = a[c])) { + var l = R(s, n) + z(s, t, e, c, a, { + time: l.time + l.delay + l.duration, + delay: 0, + duration: l.duration, + ease: l.ease + }) + } + return new wt(r, this._parents, t, e) + }, + call: Mt.call, + nodes: Mt.nodes, + node: Mt.node, + size: Mt.size, + empty: Mt.empty, + each: Mt.each, + on: function (t, n) { + var e = this._id + return arguments.length < 2 + ? R(this.node(), e).on.on(t) + : this.each( + (function (t, n, e) { + var r, + i, + o = (function (t) { + return (t + '') + .trim() + .split(/^|\s+/) + .every(function (t) { + var n = t.indexOf('.') + return n >= 0 && (t = t.slice(0, n)), !t || 'start' === t + }) + })(n) + ? F + : U + return function () { + var s = o(this, t), + a = s.on + a !== r && (i = (r = a).copy()).on(n, e), (s.on = i) + } + })(e, t, n) + ) + }, + attr: function (t, n) { + var e = (0, B.Z)(t), + r = 'transform' === e ? X.w : nt + return this.attrTween( + t, + 'function' == typeof n + ? (e.local ? at : st)(e, r, G(this, 'attr.' + t, n)) + : null == n + ? (e.local ? rt : et)(e) + : (e.local ? ot : it)(e, r, n) + ) + }, + attrTween: function (t, n) { + var e = 'attr.' + t + if (arguments.length < 2) return (e = this.tween(e)) && e._value + if (null == n) return this.tween(e, null) + if ('function' != typeof n) throw new Error() + var r = (0, B.Z)(t) + return this.tween(e, (r.local ? ut : ct)(r, n)) + }, + style: function (t, n, e) { + var r = 'transform' == (t += '') ? X.Y : nt + return null == n + ? this.styleTween( + t, + (function (t, n) { + var e, r, i + return function () { + var o = (0, gt.S)(this, t), + s = (this.style.removeProperty(t), (0, gt.S)(this, t)) + return o === s ? null : o === e && s === r ? i : (i = n((e = o), (r = s))) + } + })(t, r) + ).on('end.style.' + t, vt(t)) + : 'function' == typeof n + ? this.styleTween( + t, + (function (t, n, e) { + var r, i, o + return function () { + var s = (0, gt.S)(this, t), + a = e(this), + u = a + '' + return ( + null == a && (this.style.removeProperty(t), (u = a = (0, gt.S)(this, t))), + s === u ? null : s === r && u === i ? o : ((i = u), (o = n((r = s), a))) + ) + } + })(t, r, G(this, 'style.' + t, n)) + ).each( + (function (t, n) { + var e, + r, + i, + o, + s = 'style.' + n, + a = 'end.' + s + return function () { + var u = U(this, t), + c = u.on, + l = null == u.value[s] ? o || (o = vt(n)) : void 0 + ;(c === e && i === l) || (r = (e = c).copy()).on(a, (i = l)), (u.on = r) + } + })(this._id, t) + ) + : this.styleTween( + t, + (function (t, n, e) { + var r, + i, + o = e + '' + return function () { + var s = (0, gt.S)(this, t) + return s === o ? null : s === r ? i : (i = n((r = s), e)) + } + })(t, r, n), + e + ).on('end.style.' + t, null) + }, + styleTween: function (t, n, e) { + var r = 'style.' + (t += '') + if (arguments.length < 2) return (r = this.tween(r)) && r._value + if (null == n) return this.tween(r, null) + if ('function' != typeof n) throw new Error() + return this.tween( + r, + (function (t, n, e) { + var r, i + function o() { + var o = n.apply(this, arguments) + return ( + o !== i && + (r = + (i = o) && + (function (t, n, e) { + return function (r) { + this.style.setProperty(t, n.call(this, r), e) + } + })(t, o, e)), + r + ) + } + return (o._value = n), o + })(t, n, null == e ? '' : e) + ) + }, + text: function (t) { + return this.tween( + 'text', + 'function' == typeof t + ? (function (t) { + return function () { + var n = t(this) + this.textContent = null == n ? '' : n + } + })(G(this, 'text', t)) + : (function (t) { + return function () { + this.textContent = t + } + })(null == t ? '' : t + '') + ) + }, + textTween: function (t) { + var n = 'text' + if (arguments.length < 1) return (n = this.tween(n)) && n._value + if (null == t) return this.tween(n, null) + if ('function' != typeof t) throw new Error() + return this.tween( + n, + (function (t) { + var n, e + function r() { + var r = t.apply(this, arguments) + return ( + r !== e && + (n = + (e = r) && + (function (t) { + return function (n) { + this.textContent = t.call(this, n) + } + })(r)), + n + ) + } + return (r._value = t), r + })(t) + ) + }, + remove: function () { + return this.on( + 'end.remove', + (function (t) { + return function () { + var n = this.parentNode + for (var e in this.__transition) if (+e !== t) return + n && n.removeChild(this) + } + })(this._id) + ) + }, + tween: function (t, n) { + var e = this._id + if (((t += ''), arguments.length < 2)) { + for (var r, i = R(this.node(), e).tween, o = 0, s = i.length; o < s; ++o) + if ((r = i[o]).name === t) return r.value + return null + } + return this.each((null == n ? V : W)(e, t, n)) + }, + delay: function (t) { + var n = this._id + return arguments.length ? this.each(('function' == typeof t ? lt : ht)(n, t)) : R(this.node(), n).delay + }, + duration: function (t) { + var n = this._id + return arguments.length ? this.each(('function' == typeof t ? ft : pt)(n, t)) : R(this.node(), n).duration + }, + ease: function (t) { + var n = this._id + return arguments.length + ? this.each( + (function (t, n) { + if ('function' != typeof n) throw new Error() + return function () { + U(this, t).ease = n + } + })(n, t) + ) + : R(this.node(), n).ease + }, + easeVarying: function (t) { + if ('function' != typeof t) throw new Error() + return this.each( + (function (t, n) { + return function () { + var e = n.apply(this, arguments) + if ('function' != typeof e) throw new Error() + U(this, t).ease = e + } + })(this._id, t) + ) + }, + end: function () { + var t, + n, + e = this, + r = e._id, + i = e.size() + return new Promise(function (o, s) { + var a = { value: s }, + u = { + value: function () { + 0 == --i && o() + } + } + e.each(function () { + var e = U(this, r), + i = e.on + i !== t && ((n = (t = i).copy())._.cancel.push(a), n._.interrupt.push(a), n._.end.push(u)), (e.on = n) + }), + 0 === i && o() + }) + }, + [Symbol.iterator]: Mt[Symbol.iterator] + } + var Tt = { + time: null, + delay: 0, + duration: 250, + ease: function (t) { + return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2 + } + } + function Et(t, n) { + for (var e; !(e = t.__transition) || !(e = e[n]); ) + if (!(t = t.parentNode)) throw new Error(`transition ${n} not found`) + return e + } + ;(_.ZP.prototype.interrupt = function (t) { + return this.each(function () { + q(this, t) + }) + }), + (_.ZP.prototype.transition = function (t) { + var n, e + t instanceof wt + ? ((n = t._id), (t = t._name)) + : ((n = bt()), ((e = Tt).time = k()), (t = null == t ? null : t + '')) + for (var r = this._groups, i = r.length, o = 0; o < i; ++o) + for (var s, a = r[o], u = a.length, c = 0; c < u; ++c) (s = a[c]) && z(s, t, n, c, a, e || Et(s, n)) + return new wt(r, this._parents, t, n) + }) + const kt = (t) => () => t + function At(t, { sourceEvent: n, target: e, transform: r, dispatch: i }) { + Object.defineProperties(this, { + type: { value: t, enumerable: !0, configurable: !0 }, + sourceEvent: { value: n, enumerable: !0, configurable: !0 }, + target: { value: e, enumerable: !0, configurable: !0 }, + transform: { value: r, enumerable: !0, configurable: !0 }, + _: { value: i } + }) + } + function Nt(t, n, e) { + ;(this.k = t), (this.x = n), (this.y = e) + } + Nt.prototype = { + constructor: Nt, + scale: function (t) { + return 1 === t ? this : new Nt(this.k * t, this.x, this.y) + }, + translate: function (t, n) { + return (0 === t) & (0 === n) ? this : new Nt(this.k, this.x + this.k * t, this.y + this.k * n) + }, + apply: function (t) { + return [t[0] * this.k + this.x, t[1] * this.k + this.y] + }, + applyX: function (t) { + return t * this.k + this.x + }, + applyY: function (t) { + return t * this.k + this.y + }, + invert: function (t) { + return [(t[0] - this.x) / this.k, (t[1] - this.y) / this.k] + }, + invertX: function (t) { + return (t - this.x) / this.k + }, + invertY: function (t) { + return (t - this.y) / this.k + }, + rescaleX: function (t) { + return t.copy().domain(t.range().map(this.invertX, this).map(t.invert, t)) + }, + rescaleY: function (t) { + return t.copy().domain(t.range().map(this.invertY, this).map(t.invert, t)) + }, + toString: function () { + return 'translate(' + this.x + ',' + this.y + ') scale(' + this.k + ')' + } + } + var St = new Nt(1, 0, 0) + function Pt(t) { + for (; !t.__zoom; ) if (!(t = t.parentNode)) return St + return t.__zoom + } + function Ot(t) { + t.stopImmediatePropagation() + } + function Lt(t) { + t.preventDefault(), t.stopImmediatePropagation() + } + function It(t) { + return !((t.ctrlKey && 'wheel' !== t.type) || t.button) + } + function Zt() { + var t = this + return t instanceof SVGElement + ? (t = t.ownerSVGElement || t).hasAttribute('viewBox') + ? [ + [(t = t.viewBox.baseVal).x, t.y], + [t.x + t.width, t.y + t.height] + ] + : [ + [0, 0], + [t.width.baseVal.value, t.height.baseVal.value] + ] + : [ + [0, 0], + [t.clientWidth, t.clientHeight] + ] + } + function Ct() { + return this.__zoom || St + } + function Ht(t) { + return -t.deltaY * (1 === t.deltaMode ? 0.05 : t.deltaMode ? 1 : 0.002) * (t.ctrlKey ? 10 : 1) + } + function Dt() { + return navigator.maxTouchPoints || 'ontouchstart' in this + } + function $t(t, n, e) { + var r = t.invertX(n[0][0]) - e[0][0], + i = t.invertX(n[1][0]) - e[1][0], + o = t.invertY(n[0][1]) - e[0][1], + s = t.invertY(n[1][1]) - e[1][1] + return t.translate( + i > r ? (r + i) / 2 : Math.min(0, r) || Math.max(0, i), + s > o ? (o + s) / 2 : Math.min(0, o) || Math.max(0, s) + ) + } + function jt() { + var t, + n, + e, + r = It, + i = Zt, + o = $t, + s = Ht, + a = Dt, + f = [0, 1 / 0], + p = [ + [-1 / 0, -1 / 0], + [1 / 0, 1 / 0] + ], + _ = 250, + m = d.Z, + g = u('start', 'zoom', 'end'), + v = 500, + x = 150, + w = 0, + b = 10 + function M(t) { + t.property('__zoom', Ct) + .on('wheel.zoom', P, { passive: !1 }) + .on('mousedown.zoom', O) + .on('dblclick.zoom', L) + .filter(a) + .on('touchstart.zoom', I) + .on('touchmove.zoom', Z) + .on('touchend.zoom touchcancel.zoom', C) + .style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)') + } + function T(t, n) { + return (n = Math.max(f[0], Math.min(f[1], n))) === t.k ? t : new Nt(n, t.x, t.y) + } + function E(t, n, e) { + var r = n[0] - e[0] * t.k, + i = n[1] - e[1] * t.k + return r === t.x && i === t.y ? t : new Nt(t.k, r, i) + } + function k(t) { + return [(+t[0][0] + +t[1][0]) / 2, (+t[0][1] + +t[1][1]) / 2] + } + function A(t, n, e, r) { + t.on('start.zoom', function () { + N(this, arguments).event(r).start() + }) + .on('interrupt.zoom end.zoom', function () { + N(this, arguments).event(r).end() + }) + .tween('zoom', function () { + var t = this, + o = arguments, + s = N(t, o).event(r), + a = i.apply(t, o), + u = null == e ? k(a) : 'function' == typeof e ? e.apply(t, o) : e, + c = Math.max(a[1][0] - a[0][0], a[1][1] - a[0][1]), + l = t.__zoom, + h = 'function' == typeof n ? n.apply(t, o) : n, + f = m(l.invert(u).concat(c / l.k), h.invert(u).concat(c / h.k)) + return function (t) { + if (1 === t) t = h + else { + var n = f(t), + e = c / n[2] + t = new Nt(e, u[0] - n[0] * e, u[1] - n[1] * e) + } + s.zoom(null, t) + } + }) + } + function N(t, n, e) { + return (!e && t.__zooming) || new S(t, n) + } + function S(t, n) { + ;(this.that = t), + (this.args = n), + (this.active = 0), + (this.sourceEvent = null), + (this.extent = i.apply(t, n)), + (this.taps = 0) + } + function P(t, ...n) { + if (r.apply(this, arguments)) { + var e = N(this, n).event(t), + i = this.__zoom, + a = Math.max(f[0], Math.min(f[1], i.k * Math.pow(2, s.apply(this, arguments)))), + u = (0, y.Z)(t) + if (e.wheel) + (e.mouse[0][0] === u[0] && e.mouse[0][1] === u[1]) || (e.mouse[1] = i.invert((e.mouse[0] = u))), + clearTimeout(e.wheel) + else { + if (i.k === a) return + ;(e.mouse = [u, i.invert(u)]), q(this), e.start() + } + Lt(t), + (e.wheel = setTimeout(function () { + ;(e.wheel = null), e.end() + }, x)), + e.zoom('mouse', o(E(T(i, a), e.mouse[0], e.mouse[1]), e.extent, p)) + } + } + function O(t, ...n) { + if (!e && r.apply(this, arguments)) { + var i = t.currentTarget, + s = N(this, n, !0).event(t), + a = (0, c.Z)(t.view) + .on( + 'mousemove.zoom', + function (t) { + if ((Lt(t), !s.moved)) { + var n = t.clientX - f, + e = t.clientY - d + s.moved = n * n + e * e > w + } + s.event(t).zoom( + 'mouse', + o(E(s.that.__zoom, (s.mouse[0] = (0, y.Z)(t, i)), s.mouse[1]), s.extent, p) + ) + }, + !0 + ) + .on( + 'mouseup.zoom', + function (t) { + a.on('mousemove.zoom mouseup.zoom', null), + (function (t, n) { + var e = t.document.documentElement, + r = (0, c.Z)(t).on('dragstart.drag', null) + n && + (r.on('click.drag', h, l), + setTimeout(function () { + r.on('click.drag', null) + }, 0)), + 'onselectstart' in e + ? r.on('selectstart.drag', null) + : ((e.style.MozUserSelect = e.__noselect), delete e.__noselect) + })(t.view, s.moved), + Lt(t), + s.event(t).end() + }, + !0 + ), + u = (0, y.Z)(t, i), + f = t.clientX, + d = t.clientY + !(function (t) { + var n = t.document.documentElement, + e = (0, c.Z)(t).on('dragstart.drag', h, l) + 'onselectstart' in n + ? e.on('selectstart.drag', h, l) + : ((n.__noselect = n.style.MozUserSelect), (n.style.MozUserSelect = 'none')) + })(t.view), + Ot(t), + (s.mouse = [u, this.__zoom.invert(u)]), + q(this), + s.start() + } + } + function L(t, ...n) { + if (r.apply(this, arguments)) { + var e = this.__zoom, + s = (0, y.Z)(t.changedTouches ? t.changedTouches[0] : t, this), + a = e.invert(s), + u = e.k * (t.shiftKey ? 0.5 : 2), + l = o(E(T(e, u), s, a), i.apply(this, n), p) + Lt(t), + _ > 0 + ? (0, c.Z)(this).transition().duration(_).call(A, l, s, t) + : (0, c.Z)(this).call(M.transform, l, s, t) + } + } + function I(e, ...i) { + if (r.apply(this, arguments)) { + var o, + s, + a, + u, + c = e.touches, + l = c.length, + h = N(this, i, e.changedTouches.length === l).event(e) + for (Ot(e), s = 0; s < l; ++s) + (a = c[s]), + (u = [(u = (0, y.Z)(a, this)), this.__zoom.invert(u), a.identifier]), + h.touch0 + ? h.touch1 || h.touch0[2] === u[2] || ((h.touch1 = u), (h.taps = 0)) + : ((h.touch0 = u), (o = !0), (h.taps = 1 + !!t)) + t && (t = clearTimeout(t)), + o && + (h.taps < 2 && + ((n = u[0]), + (t = setTimeout(function () { + t = null + }, v))), + q(this), + h.start()) + } + } + function Z(t, ...n) { + if (this.__zooming) { + var e, + r, + i, + s, + a = N(this, n).event(t), + u = t.changedTouches, + c = u.length + for (Lt(t), e = 0; e < c; ++e) + (r = u[e]), + (i = (0, y.Z)(r, this)), + a.touch0 && a.touch0[2] === r.identifier + ? (a.touch0[0] = i) + : a.touch1 && a.touch1[2] === r.identifier && (a.touch1[0] = i) + if (((r = a.that.__zoom), a.touch1)) { + var l = a.touch0[0], + h = a.touch0[1], + f = a.touch1[0], + d = a.touch1[1], + _ = (_ = f[0] - l[0]) * _ + (_ = f[1] - l[1]) * _, + m = (m = d[0] - h[0]) * m + (m = d[1] - h[1]) * m + ;(r = T(r, Math.sqrt(_ / m))), + (i = [(l[0] + f[0]) / 2, (l[1] + f[1]) / 2]), + (s = [(h[0] + d[0]) / 2, (h[1] + d[1]) / 2]) + } else { + if (!a.touch0) return + ;(i = a.touch0[0]), (s = a.touch0[1]) + } + a.zoom('touch', o(E(r, i, s), a.extent, p)) + } + } + function C(t, ...r) { + if (this.__zooming) { + var i, + o, + s = N(this, r).event(t), + a = t.changedTouches, + u = a.length + for ( + Ot(t), + e && clearTimeout(e), + e = setTimeout(function () { + e = null + }, v), + i = 0; + i < u; + ++i + ) + (o = a[i]), + s.touch0 && s.touch0[2] === o.identifier + ? delete s.touch0 + : s.touch1 && s.touch1[2] === o.identifier && delete s.touch1 + if ((s.touch1 && !s.touch0 && ((s.touch0 = s.touch1), delete s.touch1), s.touch0)) + s.touch0[1] = this.__zoom.invert(s.touch0[0]) + else if ( + (s.end(), 2 === s.taps && ((o = (0, y.Z)(o, this)), Math.hypot(n[0] - o[0], n[1] - o[1]) < b)) + ) { + var l = (0, c.Z)(this).on('dblclick.zoom') + l && l.apply(this, arguments) + } + } + } + return ( + (M.transform = function (t, n, e, r) { + var i = t.selection ? t.selection() : t + i.property('__zoom', Ct), + t !== i + ? A(t, n, e, r) + : i.interrupt().each(function () { + N(this, arguments) + .event(r) + .start() + .zoom(null, 'function' == typeof n ? n.apply(this, arguments) : n) + .end() + }) + }), + (M.scaleBy = function (t, n, e, r) { + M.scaleTo( + t, + function () { + return this.__zoom.k * ('function' == typeof n ? n.apply(this, arguments) : n) + }, + e, + r + ) + }), + (M.scaleTo = function (t, n, e, r) { + M.transform( + t, + function () { + var t = i.apply(this, arguments), + r = this.__zoom, + s = null == e ? k(t) : 'function' == typeof e ? e.apply(this, arguments) : e, + a = r.invert(s), + u = 'function' == typeof n ? n.apply(this, arguments) : n + return o(E(T(r, u), s, a), t, p) + }, + e, + r + ) + }), + (M.translateBy = function (t, n, e, r) { + M.transform( + t, + function () { + return o( + this.__zoom.translate( + 'function' == typeof n ? n.apply(this, arguments) : n, + 'function' == typeof e ? e.apply(this, arguments) : e + ), + i.apply(this, arguments), + p + ) + }, + null, + r + ) + }), + (M.translateTo = function (t, n, e, r, s) { + M.transform( + t, + function () { + var t = i.apply(this, arguments), + s = this.__zoom, + a = null == r ? k(t) : 'function' == typeof r ? r.apply(this, arguments) : r + return o( + St.translate(a[0], a[1]) + .scale(s.k) + .translate( + 'function' == typeof n ? -n.apply(this, arguments) : -n, + 'function' == typeof e ? -e.apply(this, arguments) : -e + ), + t, + p + ) + }, + r, + s + ) + }), + (S.prototype = { + event: function (t) { + return t && (this.sourceEvent = t), this + }, + start: function () { + return 1 == ++this.active && ((this.that.__zooming = this), this.emit('start')), this + }, + zoom: function (t, n) { + return ( + this.mouse && 'mouse' !== t && (this.mouse[1] = n.invert(this.mouse[0])), + this.touch0 && 'touch' !== t && (this.touch0[1] = n.invert(this.touch0[0])), + this.touch1 && 'touch' !== t && (this.touch1[1] = n.invert(this.touch1[0])), + (this.that.__zoom = n), + this.emit('zoom'), + this + ) + }, + end: function () { + return 0 == --this.active && (delete this.that.__zooming, this.emit('end')), this + }, + emit: function (t) { + var n = (0, c.Z)(this.that).datum() + g.call( + t, + this.that, + new At(t, { + sourceEvent: this.sourceEvent, + target: M, + type: t, + transform: this.that.__zoom, + dispatch: g + }), + n + ) + } + }), + (M.wheelDelta = function (t) { + return arguments.length ? ((s = 'function' == typeof t ? t : kt(+t)), M) : s + }), + (M.filter = function (t) { + return arguments.length ? ((r = 'function' == typeof t ? t : kt(!!t)), M) : r + }), + (M.touchable = function (t) { + return arguments.length ? ((a = 'function' == typeof t ? t : kt(!!t)), M) : a + }), + (M.extent = function (t) { + return arguments.length + ? ((i = + 'function' == typeof t + ? t + : kt([ + [+t[0][0], +t[0][1]], + [+t[1][0], +t[1][1]] + ])), + M) + : i + }), + (M.scaleExtent = function (t) { + return arguments.length ? ((f[0] = +t[0]), (f[1] = +t[1]), M) : [f[0], f[1]] + }), + (M.translateExtent = function (t) { + return arguments.length + ? ((p[0][0] = +t[0][0]), (p[1][0] = +t[1][0]), (p[0][1] = +t[0][1]), (p[1][1] = +t[1][1]), M) + : [ + [p[0][0], p[0][1]], + [p[1][0], p[1][1]] + ] + }), + (M.constrain = function (t) { + return arguments.length ? ((o = t), M) : o + }), + (M.duration = function (t) { + return arguments.length ? ((_ = +t), M) : _ + }), + (M.interpolate = function (t) { + return arguments.length ? ((m = t), M) : m + }), + (M.on = function () { + var t = g.on.apply(g, arguments) + return t === g ? M : t + }), + (M.clickDistance = function (t) { + return arguments.length ? ((w = (t = +t) * t), M) : Math.sqrt(w) + }), + (M.tapDistance = function (t) { + return arguments.length ? ((b = +t), M) : b + }), + M + ) + } + Pt.prototype = Nt.prototype + } + }, + n = {} + function e(r) { + var i = n[r] + if (void 0 !== i) return i.exports + var o = (n[r] = { exports: {} }) + return t[r].call(o.exports, o, o.exports, e), o.exports + } + ;(e.n = (t) => { + var n = t && t.__esModule ? () => t.default : () => t + return e.d(n, { a: n }), n + }), + (e.d = (t, n) => { + for (var r in n) e.o(n, r) && !e.o(t, r) && Object.defineProperty(t, r, { enumerable: !0, get: n[r] }) + }), + (e.g = (function () { + if ('object' == typeof globalThis) return globalThis + try { + return this || new Function('return this')() + } catch (t) { + if ('object' == typeof window) return window + } + })()), + (e.o = (t, n) => Object.prototype.hasOwnProperty.call(t, n)), + (e.r = (t) => { + 'undefined' != typeof Symbol && + Symbol.toStringTag && + Object.defineProperty(t, Symbol.toStringTag, { value: 'Module' }), + Object.defineProperty(t, '__esModule', { value: !0 }) + }) + var r = e(3607) + return r.default + })() +) +//# sourceMappingURL=function-plot.js.map